`}t.lastGlyphId=e.glyphID,a+=this.paintSVG(e.children[0],t);break;case 3:{let{scale:r,skew:s,translate:n,rotate:i,center:o,matrix:l}=e,u="";n?u=`translate(${n[0]} ${n[1]})`:l?u=`matrix(${l.join(" ")})`:i?u+=`rotate(${-i}`+(o?` ${o[0]} ${o[1]}`:"")+")":(o&&(u+=`translate(${o[0]} ${o[1]})`),r?u+=`scale(${r.join(" ")})`:s&&(u+=`skewX(${-s[0]})skewY(${-s[1]})`),o&&(u+=`translate(${-o[0]} ${-o[1]})`)),null===t.lastGlyphId?a=``:t.gradientTransform+=u,a+=this.paintSVG(e.children[0],t);break}case 4:if(32==e.format){t.paintComposites&&t.paintComposites.add(this.id);let r=e.compositeMode,[n,a]=p[r];this.paintSVG(e.children[0],t),this.paintSVG(e.children[1],t);let i="",o="src",l="dest";switch(r>=1&&r<=10&&r%2==0&&([o,l]=[l,o]),n){case"F":s[`filter-${r}`]=`
`,i+=``;break;case"M":i+=`
`;break;case"-":0!==r&&(i+=``)}}else{let i=e.format-e.format%2;if(2==i){let s=e.paletteIndex,i=65535==s?t.color:n.colors[s],o={href:`#p${t.lastGlyphId}`,fill:r.hexColorFromU32(i)};1!==e.alpha&&(o["fill-opacity"]=e.alpha),a+=``}else{let o="g"+e.offset;if(!s[o]||t.gradientTransform){let a;t.gradientTransform&&(o+="-"+t.gradientTransformId);let l={id:o,gradientUnits:"userSpaceOnUse",spreadMethod:e.colorLine.extend?c[e.colorLine.extend]:void 0};t.gradientTransform&&(l.gradientTransform=t.gradientTransform);let u="";switch(e.colorLine.colorStops.forEach(e=>{let s=65535==e.paletteIndex?t.color:n.colors[e.paletteIndex],a={offset:`${100*e.stopOffset}%`,"stop-color":r.hexColorFromU32(s)};1!=e.alpha&&(a["stop-opacity"]=e.alpha),u+=``}),i){case 4:[l.x1,l.y1]=e.points[0],[l.x2,l.y2]=r.linearGradientFromThreePoints(e.points),a="linearGradient";break;case 6:[l.fx,l.fy]=e.points[0],[l.cx,l.cy]=e.points[1],[l.fr,l.r]=e.radii,a="radialGradient";break;case 8:console.error("PaintSweepGradient is not implemented yet"),a="sweepGradient"}s[o]=`<${a}${y(l)}>${u}${a}>`,t.gradientTransformId++,t.gradientTransform=""}a+=``}}t.lastGlyphId=null;break;default:console.error("Should not get here",e)}return a+=""},C.prototype.svgGlyphCOLRv1=function(e={}){let t=this.findCOLR(1);if(t){let t=this.paint(e);if(!t)return!1;{let r=this.paintSVG(t,e);return r}}},C.prototype.svgGlyphCOLRv0=function(e={}){let t=this.findCOLR(0);if(!t)return!1;{let[r,s]=t,n=this.font,a=n.bufferFromTable("COLR"),i=n.COLR,o=n.CPAL,l=void 0===e.color?255:e.color,u=o.palettes[e.paletteId||0],h="";for(let t=0;t0){let e=65535==o?l:u.colors[o];h+=`
`}}return h}},C.prototype.svgGlyphMonochrome=function(e=1){let t=new k(O[I]);return(this.exportPath(t),e)?``:t.path.join("")},C.prototype.canvasGlyphMonochrome=function(e){let t=new k(O[A]);this.exportPath(t),e.beginPath(),t.path.forEach(t=>{let r=t.pop();switch(r){case"M":e.moveTo(...t);break;case"L":e.lineTo(...t);break;case"C":e.bezierCurveTo(...t);break;case"Q":e.quadraticCurveTo(...t);break;case"Z":e.closePath()}}),e.fill()},C.prototype.maxCOLR=function(){return this.findCOLR(1)?1:this.findCOLR(0)?0:void 0},C.prototype.findCOLR=function(e){let t=this.font,r=t.COLR;if(r){if(1==e&&r.version>=1)return r.baseGlyphPaintRecords[this.id];if(0==e&&r.version>=0)return r.baseGlyphRecords[this.id]}return!1},C.prototype.svg=function(e={}){let t=this.font;return`<\!-- glyph ${this.id} -->`+(t.COLR&&(this.svgGlyphCOLRv1(e)||this.svgGlyphCOLRv0(e))||this.svgGlyphMonochrome())+""};const S=[];S[1]=[],S[2]=[];const I=1,A=2,O=[];O[I]={beginpath:function(){},moveto:function(e,t){this.path.push(`M${e} ${t}`)},lineto:function(e,t){this.path.push(`L${e} ${t}`)},quadto:function(e,t,r,s){this.path.push(`Q${e} ${t} ${r} ${s}`)},cubicto:function(e,t,r,s,n,a){this.path.push(`C${e} ${t} ${r} ${s} ${n} ${a}`)},closepath:function(){this.path.push("Z")}},O[A]={beginpath:function(){this.path.push(["B"])},moveto:function(e,t){this.path.push([e,t,"M"])},lineto:function(e,t){this.path.push([e,t,"L"])},quadto:function(e,t,r,s){this.path.push([e,t,r,s,"Q"])},cubicto:function(e,t,r,s,n,a){this.path.push([e,t,r,s,n,a,"C"])},closepath:function(){this.path.push(["F"])}};var P={};try{P=function(e){"use strict";var t=e.exports,r=new Uint8Array(t.memory.buffer),s=new Uint32Array(t.memory.buffer),n=new Int32Array(t.memory.buffer),a=new Float32Array(t.memory.buffer),i=new TextDecoder("utf8");function o(e){return(255&e.charCodeAt(0))<<24|(255&e.charCodeAt(1))<<16|(255&e.charCodeAt(2))<<8|(255&e.charCodeAt(3))<<0}var l=t.malloc(65536),u=t.malloc(256),h=new TextEncoder("utf8");function f(e){var s=h.encode(e),n=t.malloc(s.byteLength);return r.set(s,n),{ptr:n,length:s.byteLength,free:function(){t.free(n)}}}return{createBlob:function(e){var s=t.malloc(e.byteLength);r.set(new Uint8Array(e),s);var n=t.hb_blob_create(s,e.byteLength,2,s,t.free_ptr());return{ptr:n,destroy:function(){t.hb_blob_destroy(n)}}},createFace:function(e,i){var l=t.hb_face_create(e.ptr,i);let u=t.hb_face_get_upem(l);return{ptr:l,upem:u,reference_table:function(e){var s=t.hb_face_reference_table(l,o(e)),n=t.hb_blob_get_length(s);if(n){var a=t.hb_blob_get_data(s,null);return r.subarray(a,a+n)}},getAxisInfos:function(){var e=t.malloc(2048),r=t.malloc(4);s[r/4]=64,t.hb_ot_var_get_axis_infos(l,0,r,e);var n={};return Array.from({length:s[r/4]}).forEach(function(t,r){var i;n[[String.fromCharCode((i=s[e/4+8*r+1])>>24&255),String.fromCharCode(i>>16&255),String.fromCharCode(i>>8&255),String.fromCharCode(i>>0&255)].join("")]={min:a[e/4+8*r+4],default:a[e/4+8*r+5],max:a[e/4+8*r+6]}}),t.free(r),t.free(e),n},collectUnicodes:function(){var e=t.hb_set_create();t.hb_face_collect_unicodes(l,e);var i=function(e,i){let o=r;i===Uint32Array?o=s:i===Int32Array?o=n:i===Float32Array&&(o=a);let l=i.BYTES_PER_ELEMENT,u=t.hb_set_get_population(e),h=t.malloc(u*l),f=h/l,c=o.subarray(f,f+u);return o.set(c,f),t.hb_set_next_many(e,-1,h,u),c}(e,Uint32Array);return t.hb_set_destroy(e),i},destroy:function(){t.hb_face_destroy(l)}}},createFont:function(e){var n=t.hb_font_create(e.ptr);function h(e){var s=t.hbjs_glyph_svg(n,e,l,65536);return s>0?i.decode(r.subarray(l,l+s)):""}return{ptr:n,glyphName:function(e){t.hb_font_glyph_to_string(n,e,u,256);var s=r.subarray(u,u+256);return i.decode(s.slice(0,s.indexOf(0)))},glyphToPath:h,glyphToJson:function(e){return h(e).replace(/([MLQCZ])/g,"|$1 ").split("|").filter(function(e){return e.length}).map(function(e){var t=e.split(/[ ,]/g);return{type:t[0],values:t.slice(1).filter(function(e){return e.length}).map(function(e){return+e})}})},setScale:function(e,r){t.hb_font_set_scale(n,e,r)},setVariations:function(e){var r=Object.entries(e),i=t.malloc(8*r.length);r.forEach(function(e,t){s[i/4+2*t+0]=o(e[0]),a[i/4+2*t+1]=e[1]}),t.hb_font_set_variations(n,i,r.length),t.free(i)},destroy:function(){t.hb_font_destroy(n)}}},createBuffer:function(){var e=t.hb_buffer_create();return{ptr:e,addText:function(r){let s=function(e){let r=t.malloc(2*e.length),s=new Uint16Array(t.memory.buffer,r,e.length);for(let t=0;t>18&63]+E[s>>12&63]+E[s>>6&63]+E[63&s]);return n.join("")}(e,a,a+16383>i?i:a+16383));return 1===s?n.push(E[(t=e[r-1])>>2]+E[t<<4&63]+"=="):2===s&&n.push(E[(t=(e[r-2]<<8)+e[r-1])>>10]+E[t>>4&63]+E[t<<2&63]+"="),n.join("")};for(var E=[],T=[],L="undefined"!=typeof Uint8Array?Uint8Array:Array,F="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M=0,R=F.length;M>1,h=-7,f=r?n-1:0,c=r?-1:1,p=e[t+f];for(f+=c,a=p&(1<<-h)-1,p>>=-h,h+=o;h>0;a=256*a+e[t+f],f+=c,h-=8);for(i=a&(1<<-h)-1,a>>=-h,h+=s;h>0;i=256*i+e[t+f],f+=c,h-=8);if(0===a)a=1-u;else{if(a===l)return i?NaN:(p?-1:1)*(1/0);i+=Math.pow(2,s),a-=u}return(p?-1:1)*i*Math.pow(2,a-s)},n=function(e,t,r,s,n,a){var i,o,l,u=8*a-n-1,h=(1<>1,c=23===n?5960464477539062e-23:0,p=s?0:a-1,d=s?1:-1,g=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(o=isNaN(t)?1:0,i=h):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),i+f>=1?t+=c/l:t+=c*Math.pow(2,1-f),t*l>=2&&(i++,l/=2),i+f>=h?(o=0,i=h):i+f>=1?(o=(t*l-1)*Math.pow(2,n),i+=f):(o=t*Math.pow(2,f-1)*Math.pow(2,n),i=0));n>=8;e[r+p]=255&o,p+=d,o/=256,n-=8);for(i=i<0;e[r+p]=255&i,p+=d,i/=256,u-=8);e[r+p-d]|=128*g};const B="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function D(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,U.prototype),t}function U(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return z(e)}return G(e,t,r)}function G(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!U.isEncoding(t))throw TypeError("Unknown encoding: "+t);let r=0|H(e,t),s=D(r),n=s.write(e,t);return n!==r&&(s=s.slice(0,n)),s}(e,t);if(ArrayBuffer.isView(e))return function(e){if(ep(e,Uint8Array)){let t=new Uint8Array(e);return q(t.buffer,t.byteOffset,t.byteLength)}return N(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(ep(e,ArrayBuffer)||e&&ep(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(ep(e,SharedArrayBuffer)||e&&ep(e.buffer,SharedArrayBuffer)))return q(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');let s=e.valueOf&&e.valueOf();if(null!=s&&s!==e)return U.from(s,t,r);let n=function(e){var t;if(U.isBuffer(e)){let t=0|W(e.length),r=D(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||(t=e.length)!=t?D(0):N(e):"Buffer"===e.type&&Array.isArray(e.data)?N(e.data):void 0}(e);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return U.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function V(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function z(e){return V(e),D(e<0?0:0|W(e))}function N(e){let t=e.length<0?0:0|W(e.length),r=D(t);for(let s=0;s=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function H(e,t){if(U.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||ep(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,s=arguments.length>2&&!0===arguments[2];if(!s&&0===r)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return eh(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return ef(e).length;default:if(n)return s?-1:eh(e).length;t=(""+t).toLowerCase(),n=!0}}function X(e,t,s){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===s||s>this.length)&&(s=this.length),s<=0||(s>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){let s=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>s)&&(r=s);let n="";for(let s=t;s2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(a=r=+r)!=a&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return -1;r=e.length-1}else if(r<0){if(!n)return -1;r=0}if("string"==typeof t&&(t=U.from(t,s)),U.isBuffer(t))return 0===t.length?-1:_(e,t,r,s,n);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,s,n);throw TypeError("val must be string, number or Buffer")}function _(e,t,r,s,n){let a,i=1,o=e.length,l=t.length;if(void 0!==s&&("ucs2"===(s=String(s).toLowerCase())||"ucs-2"===s||"utf16le"===s||"utf-16le"===s)){if(e.length<2||t.length<2)return -1;i=2,o/=2,l/=2,r/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(n){let s=-1;for(a=r;ao&&(r=o-l),a=r;a>=0;a--){let r=!0;for(let s=0;s239?4:t>223?3:t>191?2:1;if(n+i<=r){let r,s,o,l;switch(i){case 1:t<128&&(a=t);break;case 2:(192&(r=e[n+1]))==128&&(l=(31&t)<<6|63&r)>127&&(a=l);break;case 3:r=e[n+1],s=e[n+2],(192&r)==128&&(192&s)==128&&(l=(15&t)<<12|(63&r)<<6|63&s)>2047&&(l<55296||l>57343)&&(a=l);break;case 4:r=e[n+1],s=e[n+2],o=e[n+3],(192&r)==128&&(192&s)==128&&(192&o)==128&&(l=(15&t)<<18|(63&r)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(a=l)}}null===a?(a=65533,i=1):a>65535&&(a-=65536,s.push(a>>>10&1023|55296),a=56320|1023&a),s.push(a),n+=i}return function(e){let t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);let r="",s=0;for(;sr)throw RangeError("Trying to access beyond buffer length")}function J(e,t,r,s,n,a){if(!U.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>n||te.length)throw RangeError("Index out of range")}function Q(e,t,r,s,n){ei(t,s,n,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i,r}function $(e,t,r,s,n){ei(t,s,n,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=i,i>>=8,e[r+2]=i,i>>=8,e[r+1]=i,i>>=8,e[r]=i,r+8}function ee(e,t,r,s,n,a){if(r+s>e.length||r<0)throw RangeError("Index out of range")}function et(e,t,r,s,a){return t=+t,r>>>=0,a||ee(e,t,r,4,34028234663852886e22,-34028234663852886e22),n(e,t,r,s,23,4),r+4}function er(e,t,r,s,a){return t=+t,r>>>=0,a||ee(e,t,r,8,17976931348623157e292,-17976931348623157e292),n(e,t,r,s,52,8),r+8}U.TYPED_ARRAY_SUPPORT=function(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),U.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(U.prototype,"parent",{enumerable:!0,get:function(){if(U.isBuffer(this))return this.buffer}}),Object.defineProperty(U.prototype,"offset",{enumerable:!0,get:function(){if(U.isBuffer(this))return this.byteOffset}}),U.poolSize=8192,U.from=function(e,t,r){return G(e,t,r)},Object.setPrototypeOf(U.prototype,Uint8Array.prototype),Object.setPrototypeOf(U,Uint8Array),U.alloc=function(e,t,r){return(V(e),e<=0)?D(e):void 0!==t?"string"==typeof r?D(e).fill(t,r):D(e).fill(t):D(e)},U.allocUnsafe=function(e){return z(e)},U.allocUnsafeSlow=function(e){return z(e)},U.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==U.prototype},U.compare=function(e,t){if(ep(e,Uint8Array)&&(e=U.from(e,e.offset,e.byteLength)),ep(t,Uint8Array)&&(t=U.from(t,t.offset,t.byteLength)),!U.isBuffer(e)||!U.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,s=t.length;for(let n=0,a=Math.min(r,s);ns.length?(U.isBuffer(t)||(t=U.from(t)),t.copy(s,n)):Uint8Array.prototype.set.call(s,t,n);else if(U.isBuffer(t))t.copy(s,n);else throw TypeError('"list" argument must be an Array of Buffers');n+=t.length}return s},U.byteLength=H,U.prototype._isBuffer=!0,U.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t50&&(e+=" ... "),""},B&&(U.prototype[B]=U.prototype.inspect),U.prototype.compare=function(e,t,r,s,n){if(ep(e,Uint8Array)&&(e=U.from(e,e.offset,e.byteLength)),!U.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===s&&(s=0),void 0===n&&(n=this.length),t<0||r>e.length||s<0||n>this.length)throw RangeError("out of range index");if(s>=n&&t>=r)return 0;if(s>=n)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,s>>>=0,n>>>=0,this===e)return 0;let a=n-s,i=r-t,o=Math.min(a,i),l=this.slice(s,n),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===s&&(s="utf8")):(s=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let c=this.length-t;if((void 0===r||r>c)&&(r=c),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");s||(s="utf8");let p=!1;for(;;)switch(s){case"hex":return function(e,t,r,s){let n;r=Number(r)||0;let a=e.length-r;s?(s=Number(s))>a&&(s=a):s=a;let i=t.length;for(s>i/2&&(s=i/2),n=0;n>8,n.push(r%256),n.push(s);return n}(e,this.length-h),this,h,f);default:if(p)throw TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),p=!0}},U.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},U.prototype.slice=function(e,t){let r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||K(e,t,this.length);let s=this[e],n=1,a=0;for(;++a>>=0,t>>>=0,r||K(e,t,this.length);let s=this[e+--t],n=1;for(;t>0&&(n*=256);)s+=this[e+--t]*n;return s},U.prototype.readUint8=U.prototype.readUInt8=function(e,t){return e>>>=0,t||K(e,1,this.length),this[e]},U.prototype.readUint16LE=U.prototype.readUInt16LE=function(e,t){return e>>>=0,t||K(e,2,this.length),this[e]|this[e+1]<<8},U.prototype.readUint16BE=U.prototype.readUInt16BE=function(e,t){return e>>>=0,t||K(e,2,this.length),this[e]<<8|this[e+1]},U.prototype.readUint32LE=U.prototype.readUInt32LE=function(e,t){return e>>>=0,t||K(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},U.prototype.readUint32BE=U.prototype.readUInt32BE=function(e,t){return e>>>=0,t||K(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},U.prototype.readBigUInt64LE=eg(function(e){eo(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&el(e,this.length-8);let s=t+256*this[++e]+65536*this[++e]+16777216*this[++e],n=this[++e]+256*this[++e]+65536*this[++e]+16777216*r;return BigInt(s)+(BigInt(n)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&el(e,this.length-8);let s=16777216*t+65536*this[++e]+256*this[++e]+this[++e],n=16777216*this[++e]+65536*this[++e]+256*this[++e]+r;return(BigInt(s)<>>=0,t>>>=0,r||K(e,t,this.length);let s=this[e],n=1,a=0;for(;++a=(n*=128)&&(s-=Math.pow(2,8*t)),s},U.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||K(e,t,this.length);let s=t,n=1,a=this[e+--s];for(;s>0&&(n*=256);)a+=this[e+--s]*n;return a>=(n*=128)&&(a-=Math.pow(2,8*t)),a},U.prototype.readInt8=function(e,t){return(e>>>=0,t||K(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},U.prototype.readInt16LE=function(e,t){e>>>=0,t||K(e,2,this.length);let r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},U.prototype.readInt16BE=function(e,t){e>>>=0,t||K(e,2,this.length);let r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},U.prototype.readInt32LE=function(e,t){return e>>>=0,t||K(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},U.prototype.readInt32BE=function(e,t){return e>>>=0,t||K(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},U.prototype.readBigInt64LE=eg(function(e){eo(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&el(e,this.length-8);let s=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(s)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&el(e,this.length-8);let s=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(s)<>>=0,t||K(e,4,this.length),s(this,e,!0,23,4)},U.prototype.readFloatBE=function(e,t){return e>>>=0,t||K(e,4,this.length),s(this,e,!1,23,4)},U.prototype.readDoubleLE=function(e,t){return e>>>=0,t||K(e,8,this.length),s(this,e,!0,52,8)},U.prototype.readDoubleBE=function(e,t){return e>>>=0,t||K(e,8,this.length),s(this,e,!1,52,8)},U.prototype.writeUintLE=U.prototype.writeUIntLE=function(e,t,r,s){if(e=+e,t>>>=0,r>>>=0,!s){let s=Math.pow(2,8*r)-1;J(this,e,t,r,s,0)}let n=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,!s){let s=Math.pow(2,8*r)-1;J(this,e,t,r,s,0)}let n=r-1,a=1;for(this[t+n]=255&e;--n>=0&&(a*=256);)this[t+n]=e/a&255;return t+r},U.prototype.writeUint8=U.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,1,255,0),this[t]=255&e,t+1},U.prototype.writeUint16LE=U.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},U.prototype.writeUint16BE=U.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},U.prototype.writeUint32LE=U.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},U.prototype.writeUint32BE=U.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},U.prototype.writeBigUInt64LE=eg(function(e,t=0){return Q(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),U.prototype.writeBigUInt64BE=eg(function(e,t=0){return $(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),U.prototype.writeIntLE=function(e,t,r,s){if(e=+e,t>>>=0,!s){let s=Math.pow(2,8*r-1);J(this,e,t,r,s-1,-s)}let n=0,a=1,i=0;for(this[t]=255&e;++n>0)-i&255;return t+r},U.prototype.writeIntBE=function(e,t,r,s){if(e=+e,t>>>=0,!s){let s=Math.pow(2,8*r-1);J(this,e,t,r,s-1,-s)}let n=r-1,a=1,i=0;for(this[t+n]=255&e;--n>=0&&(a*=256);)e<0&&0===i&&0!==this[t+n+1]&&(i=1),this[t+n]=(e/a>>0)-i&255;return t+r},U.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},U.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},U.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},U.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},U.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||J(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},U.prototype.writeBigInt64LE=eg(function(e,t=0){return Q(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),U.prototype.writeBigInt64BE=eg(function(e,t=0){return $(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),U.prototype.writeFloatLE=function(e,t,r){return et(this,e,t,!0,r)},U.prototype.writeFloatBE=function(e,t,r){return et(this,e,t,!1,r)},U.prototype.writeDoubleLE=function(e,t,r){return er(this,e,t,!0,r)},U.prototype.writeDoubleBE=function(e,t,r){return er(this,e,t,!1,r)},U.prototype.copy=function(e,t,r,s){if(!U.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),s||0===s||(s=this.length),t>=e.length&&(t=e.length),t||(t=0),s>0&&s=this.length)throw RangeError("Index out of range");if(s<0)throw RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(n=t;n=s+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function ei(e,t,r,s,n,a){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${(a+1)*8}${n}`:`>= -(2${n} ** ${(a+1)*8-1}${n}) and < 2 ** ${(a+1)*8-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new es.ERR_OUT_OF_RANGE("value",s,e)}eo(n,"offset"),(void 0===s[n]||void 0===s[n+a])&&el(n,s.length-(a+1))}function eo(e,t){if("number"!=typeof e)throw new es.ERR_INVALID_ARG_TYPE(t,"number",e)}function el(e,t,r){if(Math.floor(e)!==e)throw eo(e,r),new es.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new es.ERR_BUFFER_OUT_OF_BOUNDS;throw new es.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}en("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),en("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),en("ERR_OUT_OF_RANGE",function(e,t,r){let s=`The value of "${e}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>4294967296?n=ea(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=ea(n)),n+="n"),s+=` It must be ${t}. Received ${n}`},RangeError);const eu=/[^+/0-9A-Za-z-_]/g;function eh(e,t){let r;t=t||1/0;let s=e.length,n=null,a=[];for(let i=0;i55295&&r<57344){if(!n){if(r>56319||i+1===s){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function ef(e){return function(e){var t,r,s=function(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var s=r===t?0:4-r%4;return[r,s]}(e),n=s[0],a=s[1],i=new L((n+a)*3/4-a),o=0,l=a>0?n-4:n;for(r=0;r>16&255,i[o++]=t>>8&255,i[o++]=255&t;return 2===a&&(t=T[e.charCodeAt(r)]<<2|T[e.charCodeAt(r+1)]>>4,i[o++]=255&t),1===a&&(t=T[e.charCodeAt(r)]<<10|T[e.charCodeAt(r+1)]<<4|T[e.charCodeAt(r+2)]>>2,i[o++]=t>>8&255,i[o++]=255&t),i}(function(e){if((e=(e=e.split("=")[0]).trim().replace(eu,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function ec(e,t,r,s){let n;for(n=0;n=t.length)&&!(n>=e.length);++n)t[n+r]=e[n];return n}function ep(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}const ed=function(){let e="0123456789abcdef",t=Array(256);for(let r=0;r<16;++r){let s=16*r;for(let n=0;n<16;++n)t[s+n]=e[r]+e[n]}return t}();function eg(e){return"undefined"==typeof BigInt?em:e}function em(){throw Error("BigInt not supported")}var ey={};const eb={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"};class ew{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=eb[t]||t;let r=this.readBuffer(e);try{return new TextDecoder(t).decode(r)}catch(e){return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}}for(let e of(ew.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8},Object.getOwnPropertyNames(DataView.prototype)))if("get"===e.slice(0,3)){let t=e.slice(3).replace("Ui","UI");"Float32"===t?t="Float":"Float64"===t&&(t="Double");let r=ew.TYPES[t];ew.prototype["read"+t+(1===r?"":"BE")]=function(){let t=this.view[e](this.pos,!1);return this.pos+=r,t},1!==r&&(ew.prototype["read"+t+"LE"]=function(){let t=this.view[e](this.pos,!0);return this.pos+=r,t})}const ev=new TextEncoder,ex=18==new Uint8Array(new Uint16Array([4660]).buffer)[0];class eC{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let r;switch(t){case"utf16le":case"utf16-le":case"ucs2":r=ek(e,ex);break;case"utf16be":case"utf16-be":r=ek(e,!ex);break;case"utf8":r=ev.encode(e);break;case"ascii":r=function(e){let t=new Uint8Array(e.length);for(let r=0;r>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=255&e}writeUInt24LE(e){this.buffer[this.pos++]=255&e,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t>8|(255&n)<<8),r[s]=n}return new Uint8Array(r.buffer)}for(let e of Object.getOwnPropertyNames(DataView.prototype))if("set"===e.slice(0,3)){let t=e.slice(3).replace("Ui","UI");"Float32"===t?t="Float":"Float64"===t&&(t="Double");let r=ew.TYPES[t];eC.prototype["write"+t+(1===r?"":"BE")]=function(t){this.view[e](this.pos,t,!1),this.pos+=r},1!==r&&(eC.prototype["write"+t+"LE"]=function(t){this.view[e](this.pos,t,!0),this.pos+=r})}class eS{fromBuffer(e){let t=new ew(e);return this.decode(t)}toBuffer(e){let t=this.size(e),r=new Uint8Array(t),s=new eC(r);return this.encode(s,e),r}}class eI extends eS{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,"8"!==this.type[this.type.length-1]&&(this.fn+=this.endian)}size(){return ew.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}}const eA=new eI("UInt8"),eO=new eI("UInt16","BE");new eI("UInt16","LE");const eP=new eI("UInt24","BE");new eI("UInt24","LE");const eE=new eI("UInt32","BE");new eI("UInt32","LE");const eT=new eI("Int8"),eL=new eI("Int16","BE");new eI("Int16","LE"),new eI("Int24","BE"),new eI("Int24","LE");const eF=new eI("Int32","BE");new eI("Int32","LE"),new eI("Float","BE"),new eI("Float","LE"),new eI("Double","BE"),new eI("Double","LE");class eM extends eI{constructor(e,t,r=e>>1){super(`Int${e}`,t),this._point=1<=this.length)){if(null==this.items[e]){let{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){let e=[];for(let t=0,r=this.length;t=55296&&s<=56319&&tt.reduce((e,t)=>e&&e[t],e);class eZ extends eY{constructor(e,t={}){super(),this.type=e,this.versions=t,"string"==typeof e&&(this.versionPath=e.split("."))}decode(e,t,r=0){let s=this._setup(e,t,r);"string"==typeof this.type?s.version=e_(t,this.versionPath):s.version=this.type.decode(e),this.versions.header&&this._parseFields(e,s,this.versions.header);let n=this.versions[s.version];if(null==n)throw Error(`Unknown version ${s.version}`);return n instanceof eZ?n.decode(e,t):(this._parseFields(e,s,n),null!=this.process&&this.process.call(s,e),s)}size(e,t,r=!0){let s,n;if(!e)throw Error("Not a fixed size");null!=this.preEncode&&this.preEncode.call(e);let a={parent:t,val:e,pointerSize:0},i=0;if("string"!=typeof this.type&&(i+=this.type.size(e.version,a)),this.versions.header)for(s in this.versions.header)null!=(n=this.versions.header[s]).size&&(i+=n.size(e[s],a));let o=this.versions[e.version];if(null==o)throw Error(`Unknown version ${e.version}`);for(s in o)null!=(n=o[s]).size&&(i+=n.size(e[s],a));return r&&(i+=a.pointerSize),i}encode(e,t,r){let s,n;null!=this.preEncode&&this.preEncode.call(t,e);let a={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};if(a.pointerOffset=e.pos+this.size(t,a,!1),"string"!=typeof this.type&&this.type.encode(e,t.version),this.versions.header)for(s in this.versions.header)null!=(n=this.versions.header[s]).encode&&n.encode(e,t[s],a);let i=this.versions[t.version];for(s in i)null!=(n=i[s]).encode&&n.encode(e,t[s],a);let o=0;for(;o{if(null!=r)return r;let{pos:s}=e;return e.pos=a,r=this.type.decode(e,t),e.pos=s,r};return this.options.lazy?new eU({get:s}):s()}}size(e,t){let r=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:s}=this;if(null==s){if(!(e instanceof eJ))throw Error("Must be a VoidPointer");({type:s}=e),e=e.value}if(e&&t){let n=s.size(e,r);t.pointerSize+=n}return this.offsetType.size()}encode(e,t,r){let s;let n=r;if(null==t){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":s=r.startOffset;break;case"immediate":s=e.pos+this.offsetType.size(t,n);break;case"parent":s=(r=r.parent).startOffset;break;default:for(s=0;r.parent;)r=r.parent}this.options.relativeTo&&(s+=this.relativeToGetter(n.val)),this.offsetType.encode(e,r.pointerOffset-s);let{type:a}=this;if(null==a){if(!(t instanceof eJ))throw Error("Must be a VoidPointer");({type:a}=t),t=t.value}return r.pointers.push({type:a,val:t,parent:n}),r.pointerOffset+=a.size(t,n)}}class eJ{constructor(e,t){this.type=e,this.value=t}}"use strict";var eQ={};function e$(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}"use strict";Object.defineProperty(eQ,"__esModule",{value:!0}),Object.defineProperty(eQ,"default",{enumerable:!0,get:function(){return e$}});var e0={};Object.defineProperty(e0,"__esModule",{value:!0}),Object.defineProperty(e0,"default",{enumerable:!0,get:function(){return e1}});function e1(e,t,r,s){var n,a=arguments.length,i=a<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,s);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(i=(a<3?n(i):a>3?n(t,r,i):n(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}"use strict";"function"==typeof SuppressedError&&SuppressedError;var e2={};e2=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;if(Array.isArray(t)){if((s=t.length)!=r.length)return!1;for(n=s;0!=n--;)if(!e(t[n],r[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((s=(a=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(n=s;0!=n--;)if(!Object.prototype.hasOwnProperty.call(r,a[n]))return!1;for(n=s;0!=n--;){var s,n,a,i=a[n];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};var e3=l("kuxul"),e4={},e5={};function e6(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function e8(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new e6,this.dtree=new e6}var e7=new e6,e9=new e6,te=new Uint8Array(30),tt=new Uint16Array(30),tr=new Uint8Array(30),ts=new Uint16Array(30),tn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ta=new e6,ti=new Uint8Array(320);function to(e,t,r,s){var n,a;for(n=0;n>>16-t;return e.tag>>>=t,e.bitcount-=t,s+r}function tf(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++n,r+=t.table[n],s-=t.table[n];while(s>=0)return e.tag=a,e.bitcount-=n,t.trans[r+s]}function tc(e,t,r){for(;;){var s,n,a,i,o=tf(e,t);if(256===o)return 0;if(o<256)e.dest[e.destLen++]=o;else for(o-=257,s=th(e,te[o],tt[o]),n=tf(e,r),i=a=e.destLen-th(e,tr[n],ts[n]);i>>=1,t}(n),th(n,2,0)){case 0:s=function(e){for(var t,r;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return -3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}(n);break;case 1:s=tc(n,e7,e9);break;case 2:(function(e,t,r){for(i=0,s=th(e,5,257),n=th(e,5,1),a=th(e,4,4);i<19;++i)ti[i]=0;for(i=0;i{let s=e[t];e[t]=e[r],e[r]=s},tg=e=>{let t=e.length;for(let r=0;r{tp&&tg(e)};function ty(e){return e&&e.__esModule?e.default:e}e4=class{constructor(e){let t="function"==typeof e.readUInt32BE&&"function"==typeof e.slice;if(t||e instanceof Uint8Array){let r;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),r=t.getUint32(8,!0),e=e.subarray(12)}e=e5(e,new Uint8Array(r)),tm(e=e5(e,new Uint8Array(r))),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}};var tb={};tb=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const tw=new(t(e4))(t(e3).toByteArray("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")),tv=Math.log2||(e=>Math.log(e)/Math.LN2),tx=e=>tv(e)+1|0,tC=tx(ty(tb).categories.length-1),tk=tx(ty(tb).combiningClasses.length-1),tS=tx(ty(tb).scripts.length-1),tI=tx(ty(tb).eaw.length-1),tA=tk+tS+tI+10,tO=tS+tI+10,tP=tI+10,tE=(1<>tA&tE]}function tM(e){let t=tw.get(e);return ty(tb).scripts[t>>tP&tL]}function tR(e){let t=tF(e);return"Mn"===t||"Me"===t||"Mc"===t}"use strict";var tB={};tB=class{constructor(e){this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}match(e){var t=this;return{*[Symbol.iterator](){for(var r=1,s=null,n=null,a=null,i=0;i=s&&(yield[s,n,t.tags[a]]),r=t.stateTable[1][o],s=null),0!==r&&null==s&&(s=i),t.accepting[r]&&(n=i),0===r&&(r=1)}null!=s&&null!=n&&n>=s&&(yield[s,n,t.tags[r]])}}}apply(e,t){for(var[r,s,n]of this.match(e))for(var a of n)"function"==typeof t[a]&&t[a](r,s,e.slice(r,s+1))}};var tD={},tU=function(){"use strict";var e,t,r;function s(e,t){return null!=t&&e instanceof t}try{e=Map}catch(t){e=function(){}}try{t=Set}catch(e){t=function(){}}try{r=Promise}catch(e){r=function(){}}function n(a,o,l,u,h){"object"==typeof o&&(l=o.depth,u=o.prototype,h=o.includeNonEnumerable,o=o.circular);var f=[],c=[];return void 0===o&&(o=!0),void 0===l&&(l=1/0),function a(l,p){if(null===l)return null;if(0===p||"object"!=typeof l)return l;if(s(l,e))d=new e;else if(s(l,t))d=new t;else if(s(l,r))d=new r(function(e,t){l.then(function(t){e(a(t,p-1))},function(e){t(a(e,p-1))})});else if(n.__isArray(l))d=[];else if(n.__isRegExp(l))d=new RegExp(l.source,i(l)),l.lastIndex&&(d.lastIndex=l.lastIndex);else if(n.__isDate(l))d=new Date(l.getTime());else{if(U.isBuffer(l))return d=U.allocUnsafe?U.allocUnsafe(l.length):new U(l.length),l.copy(d),d;s(l,Error)?d=Object.create(l):void 0===u?d=Object.create(g=Object.getPrototypeOf(l)):(d=Object.create(u),g=u)}if(o){var d,g,m,y=f.indexOf(l);if(-1!=y)return c[y];f.push(l),c.push(d)}for(var b in s(l,e)&&l.forEach(function(e,t){var r=a(t,p-1),s=a(e,p-1);d.set(r,s)}),s(l,t)&&l.forEach(function(e){var t=a(e,p-1);d.add(t)}),l)g&&(m=Object.getOwnPropertyDescriptor(g,b)),m&&null==m.set||(d[b]=a(l[b],p-1));if(Object.getOwnPropertySymbols)for(var w=Object.getOwnPropertySymbols(l),b=0;btq),tV(tN,"registerFormat",()=>tH),tV(tN,"create",()=>tX),tV(tN,"defaultLanguage",()=>tj),tV(tN,"setDefaultLanguage",()=>tY);let tq=!1,tW=[];function tH(e){tW.push(e)}function tX(e,t){for(let r=0;r0?t[0]:"value";if(r.has(n))return r.get(n);let a=e.apply(this,t);return r.set(n,a),a}return Object.defineProperty(this,t,{value:s}),s}}}}let tZ=new eY({firstCode:eO,entryCount:eO,idDelta:eL,idRangeOffset:eO}),tK=new eY({startCharCode:eE,endCharCode:eE,glyphID:eE}),tJ=new eY({startUnicodeValue:eP,additionalCount:eA}),tQ=new eY({unicodeValue:eP,glyphID:eO}),t$=new eG(tJ,eE),t0=new eG(tQ,eE),t1=new eY({varSelector:eP,defaultUVS:new eK(eE,t$,{type:"parent"}),nonDefaultUVS:new eK(eE,t0,{type:"parent"})}),t2=new eZ(eO,{0:{length:eO,language:eO,codeMap:new eV(eA,256)},2:{length:eO,language:eO,subHeaderKeys:new eG(eO,256),subHeaderCount:e=>Math.max.apply(Math,e.subHeaderKeys),subHeaders:new eV(tZ,"subHeaderCount"),glyphIndexArray:new eV(eO,"subHeaderCount")},4:{length:eO,language:eO,segCountX2:eO,segCount:e=>e.segCountX2>>1,searchRange:eO,entrySelector:eO,rangeShift:eO,endCode:new eV(eO,"segCount"),reservedPad:new eH(eO),startCode:new eV(eO,"segCount"),idDelta:new eV(eL,"segCount"),idRangeOffset:new eV(eO,"segCount"),glyphIndexArray:new eV(eO,e=>(e.length-e._currentOffset)/2)},6:{length:eO,language:eO,firstCode:eO,entryCount:eO,glyphIndices:new eV(eO,"entryCount")},8:{reserved:new eH(eO),length:eE,language:eO,is32:new eV(eA,8192),nGroups:eE,groups:new eV(tK,"nGroups")},10:{reserved:new eH(eO),length:eE,language:eE,firstCode:eE,entryCount:eE,glyphIndices:new eV(eO,"numChars")},12:{reserved:new eH(eO),length:eE,language:eE,nGroups:eE,groups:new eV(tK,"nGroups")},13:{reserved:new eH(eO),length:eE,language:eE,nGroups:eE,groups:new eV(tK,"nGroups")},14:{length:eE,numRecords:eE,varSelectors:new eV(t1,"numRecords")}}),t3=new eY({platformID:eO,encodingID:eO,table:new eK(eE,t2,{type:"parent",lazy:!0})});var t4=new eY({version:eO,numSubtables:eO,tables:new eG(t3,"numSubtables")}),t5=new eY({version:eF,revision:eF,checkSumAdjustment:eE,magicNumber:eE,flags:eO,unitsPerEm:eO,created:new eG(eF,2),modified:new eG(eF,2),xMin:eL,yMin:eL,xMax:eL,yMax:eL,macStyle:new eN(eO,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:eO,fontDirectionHint:eL,indexToLocFormat:eL,glyphDataFormat:eL}),t6=new eY({version:eF,ascent:eL,descent:eL,lineGap:eL,advanceWidthMax:eO,minLeftSideBearing:eL,minRightSideBearing:eL,xMaxExtent:eL,caretSlopeRise:eL,caretSlopeRun:eL,caretOffset:eL,reserved:new eH(eL,4),metricDataFormat:eL,numberOfMetrics:eO});let t8=new eY({advance:eO,bearing:eL});var t7=new eY({metrics:new eV(t8,e=>e.parent.hhea.numberOfMetrics),bearings:new eV(eL,e=>e.parent.maxp.numGlyphs-e.parent.hhea.numberOfMetrics)}),t9=new eY({version:eF,numGlyphs:eO,maxPoints:eO,maxContours:eO,maxComponentPoints:eO,maxComponentContours:eO,maxZones:eO,maxTwilightPoints:eO,maxStorage:eO,maxFunctionDefs:eO,maxInstructionDefs:eO,maxStackElements:eO,maxSizeOfInstructions:eO,maxComponentElements:eO,maxComponentDepth:eO});function re(e,t,r=0){return 1===e&&ra[r]?ra[r]:rn[e][t]}const rt=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),rr={"x-mac-croatian":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xaeŠ™\xb4\xa8≠Ž\xd8∞\xb1≤≥∆\xb5∂∑∏š∫\xaa\xbaΩž\xf8\xbf\xa1\xac√ƒ≈Ć\xabČ… \xc0\xc3\xd5ŒœĐ—“”‘’\xf7◊\xa9⁄€‹›\xc6\xbb–\xb7‚„‰\xc2ć\xc1č\xc8\xcd\xce\xcf\xcc\xd3\xd4đ\xd2\xda\xdb\xd9ıˆ˜\xafπ\xcb˚\xb8\xca\xe6ˇ","x-mac-gaelic":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8Ḃ\xb1≤≥ḃĊċḊḋḞḟĠġṀ\xe6\xf8ṁṖṗɼƒſṠ\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’ṡẛ\xffŸṪ€‹›Ŷŷṫ\xb7Ỳỳ⁊\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4♣\xd2\xda\xdb\xd9ı\xdd\xfdŴŵẄẅẀẁẂẃ","x-mac-greek":"\xc4\xb9\xb2\xc9\xb3\xd6\xdc΅\xe0\xe2\xe4΄\xa8\xe7\xe9\xe8\xea\xeb\xa3™\xee\xef•\xbd‰\xf4\xf6\xa6€\xf9\xfb\xfc†ΓΔΘΛΞΠ\xdf\xae\xa9ΣΪ\xa7≠\xb0\xb7Α\xb1≤≥\xa5ΒΕΖΗΙΚΜΦΫΨΩάΝ\xacΟΡ≈Τ\xab\xbb… ΥΧΆΈœ–―“”‘’\xf7ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ\xad","x-mac-icelandic":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\xdd\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩ\xe6\xf8\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸ⁄€\xd0\xf0\xde\xfe\xfd\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıˆ˜\xaf˘˙˚\xb8˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ\xb0ᒡᒥᒦ•\xb6ᒧ\xae\xa9™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"\xc4Āā\xc9Ą\xd6\xdc\xe1ąČ\xe4čĆć\xe9ŹźĎ\xedďĒēĖ\xf3ė\xf4\xf6\xf5\xfaĚě\xfc†\xb0Ę\xa3\xa7•\xb6\xdf\xae\xa9™ę\xa8≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ\xac√ńŇ∆\xab\xbb… ňŐ\xd5őŌ–—“”‘’\xf7◊ōŔŕŘ‹›řŖŗŠ‚„šŚś\xc1Ťť\xcdŽžŪ\xd3\xd4ūŮ\xdaůŰűŲų\xdd\xfdķŻŁżĢˇ","x-mac-romanian":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠ĂȘ∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩăș\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸ⁄€‹›Țț‡\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıˆ˜\xaf˘˙˚\xb8˝˛ˇ","x-mac-turkish":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩ\xe6\xf8\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸĞğİıŞş‡\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ˆ˜\xaf˘˙˚\xb8˝˛ˇ"},rs=new Map,rn=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","hz-gb-2312","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","x-cp20949","johab",null,null,null,"utf16be"]],ra={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},ri=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}];let ro=new eY({platformID:eO,encodingID:eO,languageID:eO,nameID:eO,length:eO,string:new eK(eO,new eX("length",e=>re(e.platformID,e.encodingID,e.languageID)),{type:"parent",relativeTo:e=>e.parent.stringOffset,allowNull:!1})}),rl=new eY({length:eO,tag:new eK(eO,new eX("length","utf16be"),{type:"parent",relativeTo:e=>e.stringOffset})});var ru=new eZ(eO,{0:{count:eO,stringOffset:eO,records:new eG(ro,"count")},1:{count:eO,stringOffset:eO,records:new eG(ro,"count"),langTagCount:eO,langTags:new eG(rl,"langTagCount")}});const rh=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];ru.process=function(e){var t={};for(let e of this.records){let r=ri[e.platformID][e.languageID];null==r&&null!=this.langTags&&e.languageID>=32768&&(r=this.langTags[e.languageID-32768].tag),null==r&&(r=e.platformID+"-"+e.languageID);let s=e.nameID>=256?"fontFeatures":rh[e.nameID]||e.nameID;null==t[s]&&(t[s]={});let n=t[s];e.nameID>=256&&(n=n[e.nameID]||(n[e.nameID]={})),("string"==typeof e.string||"string"!=typeof n[r])&&(n[r]=e.string)}this.records=t},ru.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let e=[];for(let t in this.records){let r=this.records[t];"fontFeatures"!==t&&(e.push({platformID:3,encodingID:1,languageID:1033,nameID:rh.indexOf(t),length:2*r.en.length,string:r.en}),"postscriptName"===t&&e.push({platformID:1,encodingID:0,languageID:0,nameID:rh.indexOf(t),length:r.en.length,string:r.en}))}this.records=e,this.count=e.length,this.stringOffset=ru.size(this,null,!1)};var rf=new eZ(eO,{header:{xAvgCharWidth:eL,usWeightClass:eO,usWidthClass:eO,fsType:new eN(eO,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:eL,ySubscriptYSize:eL,ySubscriptXOffset:eL,ySubscriptYOffset:eL,ySuperscriptXSize:eL,ySuperscriptYSize:eL,ySuperscriptXOffset:eL,ySuperscriptYOffset:eL,yStrikeoutSize:eL,yStrikeoutPosition:eL,sFamilyClass:eL,panose:new eG(eA,10),ulCharRange:new eG(eE,4),vendorID:new eX(4),fsSelection:new eN(eO,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:eO,usLastCharIndex:eO},0:{},1:{typoAscender:eL,typoDescender:eL,typoLineGap:eL,winAscent:eO,winDescent:eO,codePageRange:new eG(eE,2)},2:{typoAscender:eL,typoDescender:eL,typoLineGap:eL,winAscent:eO,winDescent:eO,codePageRange:new eG(eE,2),xHeight:eL,capHeight:eL,defaultChar:eO,breakChar:eO,maxContent:eO},5:{typoAscender:eL,typoDescender:eL,typoLineGap:eL,winAscent:eO,winDescent:eO,codePageRange:new eG(eE,2),xHeight:eL,capHeight:eL,defaultChar:eO,breakChar:eO,maxContent:eO,usLowerOpticalPointSize:eO,usUpperOpticalPointSize:eO}});let rc=rf.versions;rc[3]=rc[4]=rc[2];var rp=new eZ(eB,{header:{italicAngle:eB,underlinePosition:eL,underlineThickness:eL,isFixedPitch:eE,minMemType42:eE,maxMemType42:eE,minMemType1:eE,maxMemType1:eE},1:{},2:{numberOfGlyphs:eO,glyphNameIndex:new eG(eO,"numberOfGlyphs"),names:new eG(new eX(eA))},2.5:{numberOfGlyphs:eO,offsets:new eG(eA,"numberOfGlyphs")},3:{},4:{map:new eG(eE,e=>e.parent.maxp.numGlyphs)}}),rd=new eY({controlValues:new eG(eL)}),rg=new eY({instructions:new eG(eA)});let rm=new eZ("head.indexToLocFormat",{0:{offsets:new eG(eO)},1:{offsets:new eG(eE)}});rm.process=function(){if(0===this.version&&!this._processed){for(let e=0;e>>=1;this._processed=!1}};var ry=new eY({controlValueProgram:new eG(eA)}),rb=new eG(new eq);class rw{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let r;let s=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(0===s)return[];let n=e.readUInt8();if(1===n)r=eA;else if(2===n)r=eO;else if(3===n)r=eP;else if(4===n)r=eE;else throw Error(`Bad offset size in CFFIndex: ${n} ${e.pos}`);let a=[],i=e.pos+(s+1)*n-1,o=r.decode(e);for(let n=0;n>4;if(15===s)break;t+=rv[s];let n=15&r;if(15===n)break;t+=rv[n]}return parseFloat(t)}return null}static size(e){return(e.forceLarge&&(e=32768),(0|e)!==e)?1+Math.ceil(((""+e).length+1)/2):-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let r=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((0|r)!==r){e.writeUInt8(30);let t=""+r;for(let r=0;r>8)+247),e.writeUInt8(255&r);else if(-1131<=r&&r<=-108)return r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(255&r);else if(-32768<=r&&r<=32767)return e.writeUInt8(28),e.writeInt16BE(r);else return e.writeUInt8(29),e.writeInt32BE(r)}}class rk{decodeOperands(e,t,r,s){if(Array.isArray(e))return s.map((s,n)=>this.decodeOperands(e[n],t,r,[s]));if(null!=e.decode)return e.decode(t,r,s);switch(e){case"number":case"offset":case"sid":return s[0];case"boolean":return!!s[0];default:return s}}encodeOperands(e,t,r,s){return Array.isArray(e)?s.map((s,n)=>this.encodeOperands(e[n],t,r,s)[0]):null!=e.encode?e.encode(t,s,r):"number"==typeof s?[s]:"boolean"==typeof s?[+s]:Array.isArray(s)?s:[s]}decode(e,t){let r=e.pos+t.length,s={},n=[];for(let r in Object.defineProperties(s,{parent:{value:t},_startOffset:{value:e.pos}}),this.fields){let e=this.fields[r];s[e[1]]=e[3]}for(;e.posr[0]},super.decode(e,t,r)}encode(e,t,r){if(!e)return this.offsetType={size:()=>0},this.size(t,r),[new rI(0)];let s=null;return this.offsetType={encode:(e,t)=>s=t},super.encode(e,t,r),[new rI(s)]}constructor(e,t={}){null==t.type&&(t.type="global"),super(null,e,t)}}class rI{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}}var rA=new rk([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",class{static decode(e,t,r){let s=r.pop();for(;r.length>s;)r.pop()}},null],[19,"Subrs",new rS(new rw,{type:"local"}),null]]),rO=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let rP=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],rE=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],rT=new eY({reserved:new eH(eO),reqFeatureIndex:eO,featureCount:eO,featureIndexes:new eG(eO,"featureCount")}),rL=new eY({tag:new eX(4),langSys:new eK(eO,rT,{type:"parent"})}),rF=new eY({defaultLangSys:new eK(eO,rT),count:eO,langSysRecords:new eG(rL,"count")}),rM=new eY({tag:new eX(4),script:new eK(eO,rF,{type:"parent"})}),rR=new eG(rM,eO),rB=new eY({version:eO,nameID:eO}),rD=new eY({featureParams:new eK(eO,rB),lookupCount:eO,lookupListIndexes:new eG(eO,"lookupCount")}),rU=new eY({tag:new eX(4),feature:new eK(eO,rD,{type:"parent"})}),rG=new eG(rU,eO),rV=new eY({markAttachmentType:eA,flags:new eN(eA,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function rz(e){let t=new eY({lookupType:eO,flags:rV,subTableCount:eO,subTables:new eG(new eK(eO,e),"subTableCount"),markFilteringSet:new eW(eO,e=>e.flags.flags.useMarkFilteringSet)});return new eV(new eK(eO,t),eO)}let rN=new eY({start:eO,end:eO,startCoverageIndex:eO}),rq=new eZ(eO,{1:{glyphCount:eO,glyphs:new eG(eO,"glyphCount")},2:{rangeCount:eO,rangeRecords:new eG(rN,"rangeCount")}}),rW=new eY({start:eO,end:eO,class:eO}),rH=new eZ(eO,{1:{startGlyph:eO,glyphCount:eO,classValueArray:new eG(eO,"glyphCount")},2:{classRangeCount:eO,classRangeRecord:new eG(rW,"classRangeCount")}}),rX=new eY({a:eO,b:eO,deltaFormat:eO}),rj=new eY({sequenceIndex:eO,lookupListIndex:eO}),rY=new eY({glyphCount:eO,lookupCount:eO,input:new eG(eO,e=>e.glyphCount-1),lookupRecords:new eG(rj,"lookupCount")}),r_=new eG(new eK(eO,rY),eO),rZ=new eY({glyphCount:eO,lookupCount:eO,classes:new eG(eO,e=>e.glyphCount-1),lookupRecords:new eG(rj,"lookupCount")}),rK=new eG(new eK(eO,rZ),eO),rJ=new eZ(eO,{1:{coverage:new eK(eO,rq),ruleSetCount:eO,ruleSets:new eG(new eK(eO,r_),"ruleSetCount")},2:{coverage:new eK(eO,rq),classDef:new eK(eO,rH),classSetCnt:eO,classSet:new eG(new eK(eO,rK),"classSetCnt")},3:{glyphCount:eO,lookupCount:eO,coverages:new eG(new eK(eO,rq),"glyphCount"),lookupRecords:new eG(rj,"lookupCount")}}),rQ=new eY({backtrackGlyphCount:eO,backtrack:new eG(eO,"backtrackGlyphCount"),inputGlyphCount:eO,input:new eG(eO,e=>e.inputGlyphCount-1),lookaheadGlyphCount:eO,lookahead:new eG(eO,"lookaheadGlyphCount"),lookupCount:eO,lookupRecords:new eG(rj,"lookupCount")}),r$=new eG(new eK(eO,rQ),eO),r0=new eZ(eO,{1:{coverage:new eK(eO,rq),chainCount:eO,chainRuleSets:new eG(new eK(eO,r$),"chainCount")},2:{coverage:new eK(eO,rq),backtrackClassDef:new eK(eO,rH),inputClassDef:new eK(eO,rH),lookaheadClassDef:new eK(eO,rH),chainCount:eO,chainClassSet:new eG(new eK(eO,r$),"chainCount")},3:{backtrackGlyphCount:eO,backtrackCoverage:new eG(new eK(eO,rq),"backtrackGlyphCount"),inputGlyphCount:eO,inputCoverage:new eG(new eK(eO,rq),"inputGlyphCount"),lookaheadGlyphCount:eO,lookaheadCoverage:new eG(new eK(eO,rq),"lookaheadGlyphCount"),lookupCount:eO,lookupRecords:new eG(rj,"lookupCount")}}),r1=new eM(16,"BE",14),r2=new eY({startCoord:r1,peakCoord:r1,endCoord:r1}),r3=new eY({axisCount:eO,regionCount:eO,variationRegions:new eG(new eG(r2,"axisCount"),"regionCount")}),r4=new eY({shortDeltas:new eG(eL,e=>e.parent.shortDeltaCount),regionDeltas:new eG(eT,e=>e.parent.regionIndexCount-e.parent.shortDeltaCount),deltas:e=>e.shortDeltas.concat(e.regionDeltas)}),r5=new eY({itemCount:eO,shortDeltaCount:eO,regionIndexCount:eO,regionIndexes:new eG(eO,"regionIndexCount"),deltaSets:new eG(r4,"itemCount")}),r6=new eY({format:eO,variationRegionList:new eK(eE,r3),variationDataCount:eO,itemVariationData:new eG(new eK(eE,r5),"variationDataCount")}),r8=new eZ(eO,{1:{axisIndex:eO,axisIndex:eO,filterRangeMinValue:r1,filterRangeMaxValue:r1}}),r7=new eY({conditionCount:eO,conditionTable:new eG(new eK(eE,r8),"conditionCount")}),r9=new eY({featureIndex:eO,alternateFeatureTable:new eK(eE,rD,{type:"parent"})}),se=new eY({version:eB,substitutionCount:eO,substitutions:new eG(r9,"substitutionCount")}),st=new eY({conditionSet:new eK(eE,r7,{type:"parent"}),featureTableSubstitution:new eK(eE,se,{type:"parent"})}),sr=new eY({majorVersion:eO,minorVersion:eO,featureVariationRecordCount:eE,featureVariationRecords:new eG(st,"featureVariationRecordCount")});class ss{decode(e,t,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,t,r)}size(e,t){return this.type.size(e,t)}encode(e,t,r){let s=this.predefinedOps.indexOf(t);return -1!==s?s:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}}let sn=new eY({first:eO,nLeft:eA}),sa=new eY({first:eO,nLeft:eO}),si=new eZ(new class extends eI{decode(e){return 127&eA.decode(e)}constructor(){super("UInt8")}},{0:{nCodes:eA,codes:new eG(eA,"nCodes")},1:{nRanges:eA,ranges:new eG(sn,"nRanges")}}),so=new ss([rP,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new rS(si,{lazy:!0}));class sl extends eG{decode(e,t){let r=eD(this.length,e,t),s=0,n=[];for(;se.parent.CharStrings.length-1)},1:{ranges:new sl(sn,e=>e.parent.CharStrings.length-1)},2:{ranges:new sl(sa,e=>e.parent.CharStrings.length-1)}}),sh=new ss([rE,[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]],new rS(su,{lazy:!0})),sf=new eY({first:eO,fd:eA}),sc=new eY({first:eE,fd:eO}),sp=new eZ(eA,{0:{fds:new eG(eA,e=>e.parent.CharStrings.length)},3:{nRanges:eO,ranges:new eG(sf,"nRanges"),sentinel:eO},4:{nRanges:eE,ranges:new eG(sc,"nRanges"),sentinel:eE}}),sd=new rS(rA);class sg{decode(e,t,r){return t.length=r[0],sd.decode(e,t,[r[1]])}size(e,t){return[rA.size(e,t,!1),sd.size(e,t)[0]]}encode(e,t,r){return[rA.size(t,r,!1),sd.encode(e,t,r)[0]]}}let sm=new rk([[18,"Private",new sg,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),sy=new rk([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",sh,rE],[16,"Encoding",so,rP],[17,"CharStrings",new rS(new rw),null],[18,"Private",new sg,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new rS(sp),null],[[12,36],"FDArray",new rS(new rw(sm)),null],[[12,38],"FontName","sid",null]]),sb=new eY({length:eO,itemVariationStore:r6}),sw=new rk([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new rS(new rw),null],[[12,37],"FDSelect",new rS(sp),null],[[12,36],"FDArray",new rS(new rw(sm)),null],[24,"vstore",new rS(sb),null],[25,"maxstack","number",193]]),sv=new eZ(eR,{1:{hdrSize:eA,offSize:eA,nameIndex:new rw(new eX("length")),topDictIndex:new rw(sy),stringIndex:new rw(new eX("length")),globalSubrIndex:new rw},2:{hdrSize:eA,length:eO,topDict:sw,globalSubrIndex:new rw}});class sx{static decode(e){return new sx(e)}decode(){this.stream.pos;let e=sv.decode(this.stream);for(let t in e){let r=e[t];this[t]=r}if(this.version<2){if(1!==this.topDictIndex.length)throw Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this}string(e){return this.version>=2?null:e=2||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(0===e)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let r=0;r>1;if(e=t[n+1].first))return t[n].fd;r=n+1}}default:throw Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}}let sC=new eY({glyphIndex:eO,vertOriginY:eL});var sk=new eY({majorVersion:eO,minorVersion:eO,defaultVertOriginY:eL,numVertOriginYMetrics:eO,metrics:new eG(sC,"numVertOriginYMetrics")});let sS=new eY({height:eA,width:eA,horiBearingX:eT,horiBearingY:eT,horiAdvance:eA,vertBearingX:eT,vertBearingY:eT,vertAdvance:eA}),sI=new eY({height:eA,width:eA,bearingX:eT,bearingY:eT,advance:eA}),sA=new eY({glyph:eO,xOffset:eT,yOffset:eT});class sO{}class sP{}new eZ("version",{1:{metrics:sI,data:sO},2:{metrics:sI,data:sP},5:{data:sP},6:{metrics:sS,data:sO},7:{metrics:sS,data:sP},8:{metrics:sI,pad:new eH(eA),numComponents:eO,components:new eG(sA,"numComponents")},9:{metrics:sS,pad:new eH(eA),numComponents:eO,components:new eG(sA,"numComponents")},17:{metrics:sI,dataLen:eE,data:new eq("dataLen")},18:{metrics:sS,dataLen:eE,data:new eq("dataLen")},19:{dataLen:eE,data:new eq("dataLen")}});let sE=new eY({ascender:eT,descender:eT,widthMax:eA,caretSlopeNumerator:eT,caretSlopeDenominator:eT,caretOffset:eT,minOriginSB:eT,minAdvanceSB:eT,maxBeforeBL:eT,minAfterBL:eT,pad:new eH(eT,2)}),sT=new eY({glyphCode:eO,offset:eO}),sL=new eZ(eO,{header:{imageFormat:eO,imageDataOffset:eE},1:{offsetArray:new eG(eE,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},2:{imageSize:eE,bigMetrics:sS},3:{offsetArray:new eG(eO,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},4:{numGlyphs:eE,glyphArray:new eG(sT,e=>e.numGlyphs+1)},5:{imageSize:eE,bigMetrics:sS,numGlyphs:eE,glyphCodeArray:new eG(eO,"numGlyphs")}}),sF=new eY({firstGlyphIndex:eO,lastGlyphIndex:eO,subtable:new eK(eE,sL)}),sM=new eY({indexSubTableArray:new eK(eE,new eG(sF,1),{type:"parent"}),indexTablesSize:eE,numberOfIndexSubTables:eE,colorRef:eE,hori:sE,vert:sE,startGlyphIndex:eO,endGlyphIndex:eO,ppemX:eA,ppemY:eA,bitDepth:eA,flags:new eN(eA,["horizontal","vertical"])});var sR=new eY({version:eE,numSizes:eE,sizes:new eG(sM,"numSizes")});let sB=new eY({ppem:eO,resolution:eO,imageOffsets:new eG(new eK(eE,"void"),e=>e.parent.parent.maxp.numGlyphs+1)});var sD=new eY({version:eO,flags:new eN(eO,["renderOutlines"]),numImgTables:eE,imageTables:new eG(new eK(eE,sB),"numImgTables")});let sU=new eY({gid:eO,paletteIndex:eO}),sG=new eY({gid:eO,firstLayerIndex:eO,numLayers:eO});var sV=new eY({version:eO,numBaseGlyphRecords:eO,baseGlyphRecord:new eK(eE,new eG(sG,"numBaseGlyphRecords")),layerRecords:new eK(eE,new eG(sU,"numLayerRecords"),{lazy:!0}),numLayerRecords:eO});let sz=new eY({blue:eA,green:eA,red:eA,alpha:eA});var sN=new eZ(eO,{header:{numPaletteEntries:eO,numPalettes:eO,numColorRecords:eO,colorRecords:new eK(eE,new eG(sz,"numColorRecords")),colorRecordIndices:new eG(eO,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new eK(eE,new eG(eE,"numPalettes")),offsetPaletteLabelArray:new eK(eE,new eG(eO,"numPalettes")),offsetPaletteEntryLabelArray:new eK(eE,new eG(eO,"numPaletteEntries"))}});let sq=new eZ(eO,{1:{coordinate:eL},2:{coordinate:eL,referenceGlyph:eO,baseCoordPoint:eO},3:{coordinate:eL,deviceTable:new eK(eO,rX)}}),sW=new eY({defaultIndex:eO,baseCoordCount:eO,baseCoords:new eG(new eK(eO,sq),"baseCoordCount")}),sH=new eY({tag:new eX(4),minCoord:new eK(eO,sq,{type:"parent"}),maxCoord:new eK(eO,sq,{type:"parent"})}),sX=new eY({minCoord:new eK(eO,sq),maxCoord:new eK(eO,sq),featMinMaxCount:eO,featMinMaxRecords:new eG(sH,"featMinMaxCount")}),sj=new eY({tag:new eX(4),minMax:new eK(eO,sX,{type:"parent"})}),sY=new eY({baseValues:new eK(eO,sW),defaultMinMax:new eK(eO,sX),baseLangSysCount:eO,baseLangSysRecords:new eG(sj,"baseLangSysCount")}),s_=new eY({tag:new eX(4),script:new eK(eO,sY,{type:"parent"})}),sZ=new eG(s_,eO),sK=new eG(new eX(4),eO),sJ=new eY({baseTagList:new eK(eO,sK),baseScriptList:new eK(eO,sZ)});var sQ=new eZ(eE,{header:{horizAxis:new eK(eO,sJ),vertAxis:new eK(eO,sJ)},65536:{},65537:{itemVariationStore:new eK(eE,r6)}});let s$=new eG(eO,eO),s0=new eY({coverage:new eK(eO,rq),glyphCount:eO,attachPoints:new eG(new eK(eO,s$),"glyphCount")}),s1=new eZ(eO,{1:{coordinate:eL},2:{caretValuePoint:eO},3:{coordinate:eL,deviceTable:new eK(eO,rX)}}),s2=new eG(new eK(eO,s1),eO),s3=new eY({coverage:new eK(eO,rq),ligGlyphCount:eO,ligGlyphs:new eG(new eK(eO,s2),"ligGlyphCount")}),s4=new eY({markSetTableFormat:eO,markSetCount:eO,coverage:new eG(new eK(eE,rq),"markSetCount")});var s5=new eZ(eE,{header:{glyphClassDef:new eK(eO,rH),attachList:new eK(eO,s0),ligCaretList:new eK(eO,s3),markAttachClassDef:new eK(eO,rH)},65536:{},65538:{markGlyphSetsDef:new eK(eO,s4)},65539:{markGlyphSetsDef:new eK(eO,s4),itemVariationStore:new eK(eE,r6)}});let s6=new eN(eO,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),s8={xPlacement:eL,yPlacement:eL,xAdvance:eL,yAdvance:eL,xPlaDevice:new eK(eO,rX,{type:"global",relativeTo:e=>e.rel}),yPlaDevice:new eK(eO,rX,{type:"global",relativeTo:e=>e.rel}),xAdvDevice:new eK(eO,rX,{type:"global",relativeTo:e=>e.rel}),yAdvDevice:new eK(eO,rX,{type:"global",relativeTo:e=>e.rel})};class s7{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let s=t[this.key];for(let e in s)s[e]&&(r[e]=s8[e]);return new eY(r)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let r=this.buildStruct(t).decode(e,t);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}}let s9=new eY({secondGlyph:eO,value1:new s7("valueFormat1"),value2:new s7("valueFormat2")}),ne=new eG(s9,eO),nt=new eY({value1:new s7("valueFormat1"),value2:new s7("valueFormat2")}),nr=new eZ(eO,{1:{xCoordinate:eL,yCoordinate:eL},2:{xCoordinate:eL,yCoordinate:eL,anchorPoint:eO},3:{xCoordinate:eL,yCoordinate:eL,xDeviceTable:new eK(eO,rX),yDeviceTable:new eK(eO,rX)}}),ns=new eY({entryAnchor:new eK(eO,nr,{type:"parent"}),exitAnchor:new eK(eO,nr,{type:"parent"})}),nn=new eY({class:eO,markAnchor:new eK(eO,nr,{type:"parent"})}),na=new eG(nn,eO),ni=new eG(new eK(eO,nr),e=>e.parent.classCount),no=new eG(ni,eO),nl=new eG(new eK(eO,nr),e=>e.parent.parent.classCount),nu=new eG(nl,eO),nh=new eG(new eK(eO,nu),eO),nf=new eZ("lookupType",{1:new eZ(eO,{1:{coverage:new eK(eO,rq),valueFormat:s6,value:new s7},2:{coverage:new eK(eO,rq),valueFormat:s6,valueCount:eO,values:new eV(new s7,"valueCount")}}),2:new eZ(eO,{1:{coverage:new eK(eO,rq),valueFormat1:s6,valueFormat2:s6,pairSetCount:eO,pairSets:new eV(new eK(eO,ne),"pairSetCount")},2:{coverage:new eK(eO,rq),valueFormat1:s6,valueFormat2:s6,classDef1:new eK(eO,rH),classDef2:new eK(eO,rH),class1Count:eO,class2Count:eO,classRecords:new eV(new eV(nt,"class2Count"),"class1Count")}}),3:{format:eO,coverage:new eK(eO,rq),entryExitCount:eO,entryExitRecords:new eG(ns,"entryExitCount")},4:{format:eO,markCoverage:new eK(eO,rq),baseCoverage:new eK(eO,rq),classCount:eO,markArray:new eK(eO,na),baseArray:new eK(eO,no)},5:{format:eO,markCoverage:new eK(eO,rq),ligatureCoverage:new eK(eO,rq),classCount:eO,markArray:new eK(eO,na),ligatureArray:new eK(eO,nh)},6:{format:eO,mark1Coverage:new eK(eO,rq),mark2Coverage:new eK(eO,rq),classCount:eO,mark1Array:new eK(eO,na),mark2Array:new eK(eO,no)},7:rJ,8:r0,9:{posFormat:eO,lookupType:eO,extension:new eK(eE,null)}});nf.versions[9].extension.type=nf;var nc=new eZ(eE,{header:{scriptList:new eK(eO,rR),featureList:new eK(eO,rG),lookupList:new eK(eO,new rz(nf))},65536:{},65537:{featureVariations:new eK(eE,sr)}});let np=new eG(eO,eO),nd=new eY({glyph:eO,compCount:eO,components:new eG(eO,e=>e.compCount-1)}),ng=new eG(new eK(eO,nd),eO),nm=new eZ("lookupType",{1:new eZ(eO,{1:{coverage:new eK(eO,rq),deltaGlyphID:eL},2:{coverage:new eK(eO,rq),glyphCount:eO,substitute:new eV(eO,"glyphCount")}}),2:{substFormat:eO,coverage:new eK(eO,rq),count:eO,sequences:new eV(new eK(eO,np),"count")},3:{substFormat:eO,coverage:new eK(eO,rq),count:eO,alternateSet:new eV(new eK(eO,np),"count")},4:{substFormat:eO,coverage:new eK(eO,rq),count:eO,ligatureSets:new eV(new eK(eO,ng),"count")},5:rJ,6:r0,7:{substFormat:eO,lookupType:eO,extension:new eK(eE,null)},8:{substFormat:eO,coverage:new eK(eO,rq),backtrackCoverage:new eG(new eK(eO,rq),"backtrackGlyphCount"),lookaheadGlyphCount:eO,lookaheadCoverage:new eG(new eK(eO,rq),"lookaheadGlyphCount"),glyphCount:eO,substitutes:new eG(eO,"glyphCount")}});nm.versions[7].extension.type=nm;var ny=new eZ(eE,{header:{scriptList:new eK(eO,rR),featureList:new eK(eO,rG),lookupList:new eK(eO,new rz(nm))},65536:{},65537:{featureVariations:new eK(eE,sr)}});let nb=new eG(eO,eO),nw=new eY({shrinkageEnableGSUB:new eK(eO,nb),shrinkageDisableGSUB:new eK(eO,nb),shrinkageEnableGPOS:new eK(eO,nb),shrinkageDisableGPOS:new eK(eO,nb),shrinkageJstfMax:new eK(eO,new rz(nf)),extensionEnableGSUB:new eK(eO,nb),extensionDisableGSUB:new eK(eO,nb),extensionEnableGPOS:new eK(eO,nb),extensionDisableGPOS:new eK(eO,nb),extensionJstfMax:new eK(eO,new rz(nf))}),nv=new eG(new eK(eO,nw),eO),nx=new eY({tag:new eX(4),jstfLangSys:new eK(eO,nv)}),nC=new eY({extenderGlyphs:new eK(eO,new eG(eO,eO)),defaultLangSys:new eK(eO,nv),langSysCount:eO,langSysRecords:new eG(nx,"langSysCount")}),nk=new eY({tag:new eX(4),script:new eK(eO,nC,{type:"parent"})});var nS=new eY({version:eE,scriptCount:eO,scriptList:new eG(nk,"scriptCount")});let nI=new eY({entry:new class{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return eD(this._size,null,t)}constructor(e){this._size=e}}(e=>((48&e.parent.entryFormat)>>4)+1),outerIndex:e=>e.entry>>(15&e.parent.entryFormat)+1,innerIndex:e=>e.entry&(1<<(15&e.parent.entryFormat)+1)-1}),nA=new eY({entryFormat:eO,mapCount:eO,mapData:new eG(nI,"mapCount")});var nO=new eY({majorVersion:eO,minorVersion:eO,itemVariationStore:new eK(eE,r6),advanceWidthMapping:new eK(eE,nA),LSBMapping:new eK(eE,nA),RSBMapping:new eK(eE,nA)});let nP=new eY({format:eE,length:eE,offset:eE}),nE=new eY({reserved:new eH(eO,2),cbSignature:eE,signature:new eq("cbSignature")});var nT=new eY({ulVersion:eE,usNumSigs:eO,usFlag:eO,signatures:new eG(nP,"usNumSigs"),signatureBlocks:new eG(nE,"usNumSigs")});let nL=new eY({rangeMaxPPEM:eO,rangeGaspBehavior:new eN(eO,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var nF=new eY({version:eO,numRanges:eO,gaspRanges:new eG(nL,"numRanges")});let nM=new eY({pixelSize:eA,maximumWidth:eA,widths:new eG(eA,e=>e.parent.parent.maxp.numGlyphs)});var nR=new eY({version:eO,numRecords:eL,sizeDeviceRecord:eF,records:new eG(nM,"numRecords")});let nB=new eY({left:eO,right:eO,value:eL}),nD=new eY({firstGlyph:eO,nGlyphs:eO,offsets:new eG(eO,"nGlyphs"),max:e=>e.offsets.length&&Math.max.apply(Math,e.offsets)}),nU=new eY({off:e=>e._startOffset-e.parent.parent._startOffset,len:e=>((e.parent.leftTable.max-e.off)/e.parent.rowWidth+1)*(e.parent.rowWidth/2),values:new eV(eL,"len")}),nG=new eZ("format",{0:{nPairs:eO,searchRange:eO,entrySelector:eO,rangeShift:eO,pairs:new eG(nB,"nPairs")},2:{rowWidth:eO,leftTable:new eK(eO,nD,{type:"parent"}),rightTable:new eK(eO,nD,{type:"parent"}),array:new eK(eO,nU,{type:"parent"})},3:{glyphCount:eO,kernValueCount:eA,leftClassCount:eA,rightClassCount:eA,flags:eA,kernValue:new eG(eL,"kernValueCount"),leftClass:new eG(eA,"glyphCount"),rightClass:new eG(eA,"glyphCount"),kernIndex:new eG(eA,e=>e.leftClassCount*e.rightClassCount)}}),nV=new eZ("version",{0:{subVersion:eO,length:eO,format:eA,coverage:new eN(eA,["horizontal","minimum","crossStream","override"]),subtable:nG,padding:new eH(eA,e=>e.length-e._currentOffset)},1:{length:eE,coverage:new eN(eA,[null,null,null,null,null,"variation","crossStream","vertical"]),format:eA,tupleIndex:eO,subtable:nG,padding:new eH(eA,e=>e.length-e._currentOffset)}});var nz=new eZ(eO,{0:{nTables:eO,tables:new eG(nV,"nTables")},1:{reserved:new eH(eO),nTables:eE,tables:new eG(nV,"nTables")}}),nN=new eY({version:eO,numGlyphs:eO,yPels:new eG(eA,"numGlyphs")}),nq=new eY({version:eO,fontNumber:eE,pitch:eO,xHeight:eO,style:eO,typeFamily:eO,capHeight:eO,symbolSet:eO,typeface:new eX(16),characterComplement:new eX(8),fileName:new eX(6),strokeWeight:new eX(1),widthType:new eX(1),serifStyle:eA,reserved:new eH(eA)});let nW=new eY({bCharSet:eA,xRatio:eA,yStartRatio:eA,yEndRatio:eA}),nH=new eY({yPelHeight:eO,yMax:eL,yMin:eL}),nX=new eY({recs:eO,startsz:eA,endsz:eA,entries:new eG(nH,"recs")});var nj=new eY({version:eO,numRecs:eO,numRatios:eO,ratioRanges:new eG(nW,"numRatios"),offsets:new eG(eO,"numRatios"),groups:new eG(nX,"numRecs")}),nY=new eY({version:eO,ascent:eL,descent:eL,lineGap:eL,advanceHeightMax:eL,minTopSideBearing:eL,minBottomSideBearing:eL,yMaxExtent:eL,caretSlopeRise:eL,caretSlopeRun:eL,caretOffset:eL,reserved:new eH(eL,4),metricDataFormat:eL,numberOfMetrics:eO});let n_=new eY({advance:eO,bearing:eL});var nZ=new eY({metrics:new eV(n_,e=>e.parent.vhea.numberOfMetrics),bearings:new eV(eL,e=>e.parent.maxp.numGlyphs-e.parent.vhea.numberOfMetrics)});let nK=new eM(16,"BE",14),nJ=new eY({fromCoord:nK,toCoord:nK}),nQ=new eY({pairCount:eO,correspondence:new eG(nJ,"pairCount")});var n$=new eY({version:eB,axisCount:eE,segment:new eG(nQ,"axisCount")});class n0{getItem(e){if(null==this._items[e]){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,r){this.type=e,this.stream=t,this.parent=r,this.base=this.stream.pos,this._items=[]}}class n1 extends eG{decode(e,t){return new n0(this.type,e,t)}constructor(e){super(e,0)}}let n2=function(e=eO){e=new class{decode(e,t){return t=t.parent.parent,this.type.decode(e,t)}size(e,t){return t=t.parent.parent,this.type.size(e,t)}encode(e,t,r){return r=r.parent.parent,this.type.encode(e,t,r)}constructor(e){this.type=e}}(e);let t=new eY({unitSize:eO,nUnits:eO,searchRange:eO,entrySelector:eO,rangeShift:eO}),r=new eY({lastGlyph:eO,firstGlyph:eO,value:e}),s=new eY({lastGlyph:eO,firstGlyph:eO,values:new eK(eO,new eG(e,e=>e.lastGlyph-e.firstGlyph+1),{type:"parent"})}),n=new eY({glyph:eO,value:e});return new eZ(eO,{0:{values:new n1(e)},2:{binarySearchHeader:t,segments:new eG(r,e=>e.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new eG(s,e=>e.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new eG(n,e=>e.binarySearchHeader.nUnits)},8:{firstGlyph:eO,count:eO,values:new eG(e,"count")}})};function n3(e={},t=eO){let r=Object.assign({newState:eO,flags:eO},e),s=new eY(r),n=new n1(new eG(eO,e=>e.nClasses));return new eY({nClasses:eE,classTable:new eK(eE,new n2(t)),stateArray:new eK(eE,n),entryTable:new eK(eE,new n1(s))})}let n4=new eZ("format",{0:{deltas:new eG(eL,32)},1:{deltas:new eG(eL,32),mappingData:new n2(eO)},2:{standardGlyph:eO,controlPoints:new eG(eO,32)},3:{standardGlyph:eO,controlPoints:new eG(eO,32),mappingData:new n2(eO)}});var n5=new eY({version:eB,format:eO,defaultBaseline:eO,subtable:n4});let n6=new eY({setting:eO,nameIndex:eL,name:e=>e.parent.parent.parent.name.records.fontFeatures[e.nameIndex]}),n8=new eY({feature:eO,nSettings:eO,settingTable:new eK(eE,new eG(n6,"nSettings"),{type:"parent"}),featureFlags:new eN(eA,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:eA,nameIndex:eL,name:e=>e.parent.parent.name.records.fontFeatures[e.nameIndex]});var n7=new eY({version:eB,featureNameCount:eO,reserved1:new eH(eO),reserved2:new eH(eE),featureNames:new eG(n8,"featureNameCount")});let n9=new eY({axisTag:new eX(4),minValue:eB,defaultValue:eB,maxValue:eB,flags:eO,nameID:eO,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID]}),ae=new eY({nameID:eO,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID],flags:eO,coord:new eG(eB,e=>e.parent.axisCount),postscriptNameID:new eW(eO,e=>e.parent.instanceSize-e._currentOffset>0)});var at=new eY({version:eB,offsetToData:eO,countSizePairs:eO,axisCount:eO,axisSize:eO,instanceCount:eO,instanceSize:eO,axis:new eG(n9,"axisCount"),instance:new eG(ae,"instanceCount")});let ar=new eM(16,"BE",14),as=new eY({version:eO,reserved:new eH(eO),axisCount:eO,globalCoordCount:eO,globalCoords:new eK(eE,new eG(new eG(ar,"axisCount"),"globalCoordCount")),glyphCount:eO,flags:eO,offsetToData:eE,offsets:new eG(new eK(class{static decode(e,t){return t.flags?e.readUInt32BE():2*e.readUInt16BE()}},"void",{relativeTo:e=>e.offsetToData,allowNull:!1}),e=>e.glyphCount+1)}),an=new eY({length:eO,coverage:eO,subFeatureFlags:eE,stateTable:new function(e={},t=eO){let r=new eY({version:()=>8,firstGlyph:eO,values:new eG(eA,eO)}),s=Object.assign({newStateOffset:eO,newState:e=>(e.newStateOffset-(e.parent.stateArray.base-e.parent._startOffset))/e.parent.nClasses,flags:eO},e),n=new eY(s),a=new n1(new eG(eA,e=>e.nClasses));return new eY({nClasses:eO,classTable:new eK(eO,r),stateArray:new eK(eO,a),entryTable:new eK(eO,new n1(n))})}}),aa=new eY({justClass:eE,beforeGrowLimit:eB,beforeShrinkLimit:eB,afterGrowLimit:eB,afterShrinkLimit:eB,growFlags:eO,shrinkFlags:eO}),ai=new eG(aa,eE),ao=new eZ("actionType",{0:{lowerLimit:eB,upperLimit:eB,order:eO,glyphs:new eG(eO,eO)},1:{addGlyph:eO},2:{substThreshold:eB,addGlyph:eO,substGlyph:eO},3:{},4:{variationAxis:eE,minimumLimit:eB,noStretchValue:eB,maximumLimit:eB},5:{flags:eO,glyph:eO}}),al=new eY({actionClass:eO,actionType:eO,actionLength:eE,actionData:ao,padding:new eH(eA,e=>e.actionLength-e._currentOffset)}),au=new eG(al,eE),ah=new eY({lookupTable:new n2(new eK(eO,au))}),af=new eY({classTable:new eK(eO,an,{type:"parent"}),wdcOffset:eO,postCompensationTable:new eK(eO,ah,{type:"parent"}),widthDeltaClusters:new n2(new eK(eO,ai,{type:"parent",relativeTo:e=>e.wdcOffset}))});var ac=new eY({version:eE,format:eO,horizontal:new eK(eO,af),vertical:new eK(eO,af)});let ap=new eY({items:new n1(new eK(eE,new n2))}),ad=new eZ("type",{0:{stateTable:new n3},1:{stateTable:new n3({markIndex:eO,currentIndex:eO}),substitutionTable:new eK(eE,ap)},2:{stateTable:new n3({action:eO}),ligatureActions:new eK(eE,new n1(eE)),components:new eK(eE,new n1(eO)),ligatureList:new eK(eE,new n1(eO))},4:{lookupTable:new n2},5:{stateTable:new n3({currentInsertIndex:eO,markedInsertIndex:eO}),insertionActions:new eK(eE,new n1(eO))}}),ag=new eY({length:eE,coverage:eP,type:eA,subFeatureFlags:eE,table:ad,padding:new eH(eA,e=>e.length-e._currentOffset)}),am=new eY({featureType:eO,featureSetting:eO,enableFlags:eE,disableFlags:eE}),ay=new eY({defaultFlags:eE,chainLength:eE,nFeatureEntries:eE,nSubtables:eE,features:new eG(am,"nFeatureEntries"),subtables:new eG(ag,"nSubtables")});var ab=new eY({version:eO,unused:new eH(eO),nChains:eE,chains:new eG(ay,"nChains")});let aw=new eY({left:eL,top:eL,right:eL,bottom:eL});var av=new eY({version:eB,format:eO,lookupTable:new n2(aw)});let ax={};ax.cmap=t4,ax.head=t5,ax.hhea=t6,ax.hmtx=t7,ax.maxp=t9,ax.name=ru,ax["OS/2"]=rf,ax.post=rp,ax.fpgm=rg,ax.loca=rm,ax.prep=ry,ax["cvt "]=rd,ax.glyf=rb,ax["CFF "]=sx,ax.CFF2=sx,ax.VORG=sk,ax.EBLC=sR,ax.CBLC=ax.EBLC,ax.sbix=sD,ax.COLR=sV,ax.CPAL=sN,ax.BASE=sQ,ax.GDEF=s5,ax.GPOS=nc,ax.GSUB=ny,ax.JSTF=nS,ax.HVAR=nO,ax.DSIG=nT,ax.gasp=nF,ax.hdmx=nR,ax.kern=nz,ax.LTSH=nN,ax.PCLT=nq,ax.VDMX=nj,ax.vhea=nY,ax.vmtx=nZ,ax.avar=n$,ax.bsln=n5,ax.feat=n7,ax.fvar=at,ax.gvar=as,ax.just=ac,ax.morx=ab,ax.opbd=av;let aC=new eY({tag:new eX(4),checkSum:eE,offset:new eK(eE,"void",{type:"global"}),length:eE}),ak=new eY({tag:new eX(4),numTables:eO,searchRange:eO,entrySelector:eO,rangeShift:eO,tables:new eG(aC,"numTables")});function aS(e,t){let r=0,s=e.length-1;for(;r<=s;){let n=r+s>>1,a=t(e[n]);if(a<0)s=n-1;else{if(!(a>0))return n;r=n+1}}return -1}function aI(e,t){let r=[];for(;e>4,r[s++]=(15&a)<<4|i>>2,r[s++]=(3&i)<<6|63&o}return r}class aT{findSubtable(e,t){for(let[r,s]of t)for(let t of e.tables)if(t.platformID===r&&t.encodingID===s)return t.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let r=this.getVariationSelector(e,t);if(r)return r}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let t=0,s=r.segCount-1;for(;t<=s;){let n=t+s>>1;if(er.endCode.get(n))t=n+1;else{let t,s=r.idRangeOffset.get(n);if(0===s)t=e+r.idDelta.get(n);else{let a=s/2+(e-r.startCode.get(n))-(r.segCount-n);0!==(t=r.glyphIndexArray.get(a)||0)&&(t+=r.idDelta.get(n))}return 65535&t}}return 0}case 8:throw Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let t=0,s=r.nGroups-1;for(;t<=s;){let n=t+s>>1,a=r.groups.get(n);if(ea.endCharCode)t=n+1;else{if(12===r.version)return a.glyphID+(e-a.startCharCode);return a.glyphID}}return 0}case 14:throw Error("TODO: cmap format 14");default:throw Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),s=aS(r,e=>t-e.varSelector),n=r[s];return(-1!==s&&n.defaultUVS&&(s=aS(n.defaultUVS,t=>et.startUnicodeValue+t.additionalCount?1:0)),-1!==s&&n.nonDefaultUVS&&-1!==(s=aS(n.nonDefaultUVS,t=>e-t.unicodeValue)))?n.nonDefaultUVS[s].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return aI(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let s=0;s=s.glyphID&&e<=s.glyphID+(s.endCharCode-s.startCharCode)&&r.push(s.startCharCode+(e-s.glyphID));return r}case 13:{let r=[];for(let s of t.groups.toArray())e===s.glyphID&&r.push(...aI(s.startCharCode,s.endCharCode+1));return r}default:throw Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let e=function(e){let t=rs.get(e);if(t)return t;let r=rr[e];if(r){let t=new Map;for(let e=0;e=0&&(n=a.pairs[i].value);break;case 2:let o=0,l=0;o=e>=a.leftTable.firstGlyph&&e=a.rightTable.firstGlyph&&t=a.glyphCount||t>=a.glyphCount)return 0;n=a.kernValue[a.kernIndex[a.leftClass[e]*a.rightClassCount+a.rightClass[t]]];break;default:throw Error(`Unsupported kerning sub-table format ${s.format}`)}s.coverage.override?r=n:r+=n}return r}constructor(e){this.kern=e.kern}}class aF{positionGlyphs(e,t){let r=0,s=0;for(let n=0;n1&&(a.minX+=(n.codePoints.length-1)*a.width/n.codePoints.length);let i=-t[r].xAdvance,o=0,l=this.font.unitsPerEm/16;for(let n=r+1;n<=s;n++){let r=e[n],s=r.cbox,u=t[n],h=this.getCombiningClass(r.codePoints[0]);if("Not_Reordered"!==h){switch(u.xOffset=u.yOffset=0,h){case"Double_Above":case"Double_Below":u.xOffset+=a.minX-s.width/2-s.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":u.xOffset+=a.minX-s.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":u.xOffset+=a.maxX-s.width-s.minX;break;default:u.xOffset+=a.minX+(a.width-s.width)/2-s.minX}switch(h){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":("Attached_Below_Left"===h||"Attached_Below"===h)&&(a.minY+=l),u.yOffset=-a.minY-s.maxY,a.minY+=s.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":("Attached_Above"===h||"Attached_Above_Right"===h)&&(a.maxY+=l),u.yOffset=a.maxY-s.minY,a.maxY+=s.height}u.xAdvance=u.yAdvance=0,u.xOffset+=i,u.yOffset+=o}else i-=u.xAdvance,o-=u.yAdvance}}getCombiningClass(e){let t=function(e){let t=tw.get(e);return ty(tb).combiningClasses[t>>tO&tT]}(e);if((-256&e)==3584){if("Not_Reordered"===t)switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===e)return"Below_Right"}switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return t}constructor(e){this.font=e}}class aM{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(ethis.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(tthis.maxY&&(this.maxY=t))}copy(){return new aM(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,r=-1/0,s=-1/0){this.minX=e,this.minY=t,this.maxX=r,this.maxY=s}}const aR={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},aB={};for(let e in aR){let t=aR[e];if(Array.isArray(t))for(let r of t)aB[r]=e;else aB[t]=e}const aD={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function aU(e){return aD[e]?"rtl":"ltr"}class aG{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new aM,t=0,r=0;for(let s=0;s[az[e].code,az[e][t]],aq={rlig:aN("ligatures","requiredLigatures"),clig:aN("ligatures","contextualLigatures"),dlig:aN("ligatures","rareLigatures"),hlig:aN("ligatures","historicalLigatures"),liga:aN("ligatures","commonLigatures"),hist:aN("ligatures","historicalLigatures"),smcp:aN("lowerCase","lowerCaseSmallCaps"),pcap:aN("lowerCase","lowerCasePetiteCaps"),frac:aN("fractions","diagonalFractions"),dnom:aN("fractions","diagonalFractions"),numr:aN("fractions","diagonalFractions"),afrc:aN("fractions","verticalFractions"),case:aN("caseSensitiveLayout","caseSensitiveLayout"),ccmp:aN("unicodeDecomposition","canonicalComposition"),cpct:aN("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:aN("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:aN("contextualAlternates","swashAlternates"),cswh:aN("contextualAlternates","contextualSwashAlternates"),curs:aN("cursiveConnection","cursive"),c2pc:aN("upperCase","upperCasePetiteCaps"),c2sc:aN("upperCase","upperCaseSmallCaps"),init:aN("smartSwash","wordInitialSwashes"),fin2:aN("smartSwash","wordFinalSwashes"),medi:aN("smartSwash","nonFinalSwashes"),med2:aN("smartSwash","nonFinalSwashes"),fin3:aN("smartSwash","wordFinalSwashes"),fina:aN("smartSwash","wordFinalSwashes"),pkna:aN("kanaSpacing","proportionalKana"),half:aN("textSpacing","halfWidthText"),halt:aN("textSpacing","altHalfWidthText"),hkna:aN("alternateKana","alternateHorizKana"),vkna:aN("alternateKana","alternateVertKana"),ital:aN("italicCJKRoman","CJKItalicRoman"),lnum:aN("numberCase","upperCaseNumbers"),onum:aN("numberCase","lowerCaseNumbers"),mgrk:aN("mathematicalExtras","mathematicalGreek"),calt:aN("contextualAlternates","contextualAlternates"),vrt2:aN("verticalSubstitution","substituteVerticalForms"),vert:aN("verticalSubstitution","substituteVerticalForms"),tnum:aN("numberSpacing","monospacedNumbers"),pnum:aN("numberSpacing","proportionalNumbers"),sups:aN("verticalPosition","superiors"),subs:aN("verticalPosition","inferiors"),ordn:aN("verticalPosition","ordinals"),pwid:aN("textSpacing","proportionalText"),hwid:aN("textSpacing","halfWidthText"),qwid:aN("textSpacing","quarterWidthText"),twid:aN("textSpacing","thirdWidthText"),fwid:aN("textSpacing","proportionalText"),palt:aN("textSpacing","altProportionalText"),trad:aN("characterShape","traditionalCharacters"),smpl:aN("characterShape","simplifiedCharacters"),jp78:aN("characterShape","JIS1978Characters"),jp83:aN("characterShape","JIS1983Characters"),jp90:aN("characterShape","JIS1990Characters"),jp04:aN("characterShape","JIS2004Characters"),expt:aN("characterShape","expertCharacters"),hojo:aN("characterShape","hojoCharacters"),nlck:aN("characterShape","NLCCharacters"),tnam:aN("characterShape","traditionalNamesCharacters"),ruby:aN("rubyKana","rubyKana"),titl:aN("styleOptions","titlingCaps"),zero:aN("typographicExtras","slashedZero"),ss01:aN("stylisticAlternatives","stylisticAltOne"),ss02:aN("stylisticAlternatives","stylisticAltTwo"),ss03:aN("stylisticAlternatives","stylisticAltThree"),ss04:aN("stylisticAlternatives","stylisticAltFour"),ss05:aN("stylisticAlternatives","stylisticAltFive"),ss06:aN("stylisticAlternatives","stylisticAltSix"),ss07:aN("stylisticAlternatives","stylisticAltSeven"),ss08:aN("stylisticAlternatives","stylisticAltEight"),ss09:aN("stylisticAlternatives","stylisticAltNine"),ss10:aN("stylisticAlternatives","stylisticAltTen"),ss11:aN("stylisticAlternatives","stylisticAltEleven"),ss12:aN("stylisticAlternatives","stylisticAltTwelve"),ss13:aN("stylisticAlternatives","stylisticAltThirteen"),ss14:aN("stylisticAlternatives","stylisticAltFourteen"),ss15:aN("stylisticAlternatives","stylisticAltFifteen"),ss16:aN("stylisticAlternatives","stylisticAltSixteen"),ss17:aN("stylisticAlternatives","stylisticAltSeventeen"),ss18:aN("stylisticAlternatives","stylisticAltEighteen"),ss19:aN("stylisticAlternatives","stylisticAltNineteen"),ss20:aN("stylisticAlternatives","stylisticAltTwenty")};for(let e=1;e<=99;e++)aq[`cv${`00${e}`.slice(-2)}`]=[az.characterAlternatives.code,e];let aW={};for(let e in aq){let t=aq[e];null==aW[t[0]]&&(aW[t[0]]={}),aW[t[0]][t[1]]=e}function aH(e){let[t,r]=e;if(isNaN(t))var s=az[t]&&az[t].code;else var s=t;if(isNaN(r))var n=az[t]&&az[t][r];else var n=r;return[s,n]}class aX{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let s=0,n=this.table.binarySearchHeader.nUnits-1;for(;s<=n;){var t=s+n>>1,r=this.table.segments[t];if(65535===r.firstGlyph)break;if(er.lastGlyph)s=t+1;else{if(2===this.table.version)return r.value;return r.values[e-r.firstGlyph]}}return null}case 6:{let s=0,n=this.table.binarySearchHeader.nUnits-1;for(;s<=n;){var t=s+n>>1,r=this.table.segments[t];if(65535===r.glyph)break;if(er.glyph))return r.value;s=t+1}}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(2===this.table.version&&r.value===e)t.push(...aI(r.firstGlyph,r.lastGlyph+1));else for(let s=0;s=-1;){let t=null,i=1,o=!0;n===e.length||-1===n?i=0:65535===(t=e[n]).id?i=2:null==(i=this.lookupTable.lookup(t.id))&&(i=1);let l=this.stateTable.stateArray.getItem(s)[i],u=this.stateTable.entryTable.getItem(l);0!==i&&2!==i&&(r(t,u,n),o=!(16384&u.flags)),s=u.newState,o&&(n+=a)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:s,stateArray:n,entryTable:a}=this.stateTable,i=n.getItem(t);for(let t=4;t=0;)65535===e[r].id&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,4===this.subtable.type){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),s=this.getProcessor(),n=!!(4194304&this.subtable.coverage);return r.process(this.glyphs,n,s)}getStateMachine(e){return new aj(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,r){32768&t.flags&&(this.firstGlyph=r),8192&t.flags&&(this.lastGlyph=r),function(e,t,r,s){switch(t){case 0:return;case 1:return a_(e,[r,1],[s,0]);case 2:return a_(e,[r,0],[s,1]);case 3:return a_(e,[r,1],[s,1]);case 4:return a_(e,[r,2],[s,0]);case 5:return a_(e,[r,2],[s,0],!0,!1);case 6:return a_(e,[r,0],[s,2]);case 7:return a_(e,[r,0],[s,2],!1,!0);case 8:return a_(e,[r,1],[s,2]);case 9:return a_(e,[r,1],[s,2],!1,!0);case 10:return a_(e,[r,2],[s,1]);case 11:return a_(e,[r,2],[s,1],!0,!1);case 12:return a_(e,[r,2],[s,2]);case 13:return a_(e,[r,2],[s,2],!0,!1);case 14:return a_(e,[r,2],[s,2],!1,!0);case 15:return a_(e,[r,2],[s,2],!0,!0);default:throw Error(`Unknown verb: ${t}`)}}(this.glyphs,15&t.flags,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let s=this.subtable.table.substitutionTable.items;if(65535!==t.markIndex){let r=s.getItem(t.markIndex),a=new aX(r);e=this.glyphs[this.markedGlyph];var n=a.lookup(e.id);n&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(n,e.codePoints))}if(65535!==t.currentIndex){let a=s.getItem(t.currentIndex),i=new aX(a);e=this.glyphs[r];var n=i.lookup(e.id);n&&(this.glyphs[r]=this.font.getGlyph(n,e.codePoints))}32768&t.flags&&(this.markedGlyph=r)}processLigature(e,t,r){if(32768&t.flags&&this.ligatureStack.push(r),8192&t.flags){let e=this.subtable.table.ligatureActions,r=this.subtable.table.components,s=this.subtable.table.ligatureList,n=t.action,a=!1,i=0,o=[],l=[];for(;!a;){let t=this.ligatureStack.pop();o.unshift(...this.glyphs[t].codePoints);let u=e.getItem(n++);a=!!(2147483648&u);let h=!!(1073741824&u),f=(1073741823&u)<<2>>2;if(f+=this.glyphs[t].id,i+=r.getItem(f),a||h){let e=s.getItem(i);this.glyphs[t]=this.font.getGlyph(e,o),l.push(t),i=0,o=[]}else this.glyphs[t]=this.font.getGlyph(65535)}this.ligatureStack.push(...l)}}processNoncontextualSubstitutions(e,t,r){let s=new aX(e.table.lookupTable);for(r=0;r>>5,r=!!(1024&t.flags);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,e,r)}if(65535!==t.currentInsertIndex){let e=(992&t.flags)>>>5,s=!!(2048&t.flags);this._insertGlyphs(r,t.currentInsertIndex,e,s)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let r of t.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){for(let e of(this.inputCache={},this.morx.chains)){let t=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&t&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(2!==e.type)return;if(4194304&e.coverage)throw Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let t=this.getStateMachine(e),r=this.getProcessor(),s=[],n=[];this.glyphs=[],t.traverse({enter:(e,t)=>{let a=this.glyphs;n.push({glyphs:a.slice(),ligatureStack:this.ligatureStack.slice()});let i=this.font.getGlyph(e);s.push(i),a.push(s[s.length-1]),r(a[a.length-1],t,a.length-1);let o=0,l=0;for(let e=0;ee.id),t=this.inputCache[l];t?t.push(e):this.inputCache[l]=[e]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=n.pop()),s.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}}function a_(e,t,r,s=!1,n=!1){let a=e.splice(r[0]-(r[1]-1),r[1]);n&&a.reverse();let i=e.splice(t[0],t[1],...a);return s&&i.reverse(),e.splice(r[0]-(t[1]-1),0,...i),e}tz(e0)([t_],aY.prototype,"getStateMachine",null);class aZ{substitute(e){"rtl"===e.direction&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,function(e){let t={};for(let r in e){let s;(s=aq[r])&&(null==t[s[0]]&&(t[s[0]]={}),t[s[0]][s[1]]=e[r])}return t}(e.features))}getAvailableFeatures(e,t){return function(e){let t={};if(Array.isArray(e))for(let r=0;r0&&e.applyFeatures(s,t,r)}constructor(e,t,r){this.font=e,this.script=t,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const aJ=["rvrn"],aQ=["ccmp","locl","rlig","mark","mkmk"],a$=["frac","numr","dnom"],a0=["calt","clig","liga","rclt","curs","kern"],a1={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class a2{static plan(e,t,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...aJ,...a1[e.direction]],local:a$})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...aQ,...a0]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let e=0;e0&&"Nd"===tF(t[s-1].codePoints[0]);)t[s-1].features.numr=!0,t[s-1].features.frac=!0,s--;for(;nthis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,r=this.increment(e);return this.index=t,r}peekIndex(e=1){let t=this.index;this.increment(e);let r=this.index;return this.index=t,r}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}}const ii=["DFLT","dflt","latn"];class io{findScript(e){if(null==this.table.scriptList)return null;for(let t of(Array.isArray(e)||(e=[e]),e))for(let e of this.table.scriptList)if(e.tag===t)return e;return null}selectScript(e,t,r){let s,n=!1;if(!this.script||e!==this.scriptTag){if((s=this.findScript(e))||(s=this.findScript(ii)),!s)return this.scriptTag;this.scriptTag=s.tag,this.script=s.script,this.language=null,this.languageTag=null,n=!0}if(r&&r===this.direction||(this.direction=r||aU(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){for(let e of(this.language=null,this.script.langSysRecords))if(e.tag===t){this.language=e.langSys,this.languageTag=e.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),n=!0}if(n&&(this.features={},this.language))for(let e of this.language.featureIndexes){let t=this.table.featureList[e],r=this.substituteFeatureForVariations(e);this.features[t.tag]=r||t.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let s of e){let e=this.features[s];if(e)for(let n of e.lookupListIndexes)t&&-1!==t.indexOf(n)||r.push({feature:s,index:n,lookup:this.table.lookupList.get(n)})}return r.sort((e,t)=>e.index-t.index),r}substituteFeatureForVariations(e){if(-1===this.variationsIndex)return null;for(let t of this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions)if(t.featureIndex===e)return t.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return -1;let r=t.featureVariationRecords;for(let t=0;t{let r=e.axisIndexe===t.id)}sequenceMatchIndices(e,t){return this.match(e,t,(e,t)=>this.currentFeature in t.features&&e===t.id,[])}coverageSequenceMatches(e,t){return this.match(e,t,(e,t)=>this.coverageIndex(e,t.id)>=0)}getClassID(e,t){switch(t.version){case 1:let r=e-t.startGlyph;if(r>=0&&re===this.getClassID(t.id,r))}applyContext(e){let t;switch(e.version){case 1:if(-1===(t=this.coverageIndex(e.coverage)))break;for(let r of e.ruleSets[t])if(this.sequenceMatches(1,r.input))return this.applyLookupList(r.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage)||-1===(t=this.getClassID(this.glyphIterator.cur.id,e.classDef)))break;for(let r of e.classSet[t])if(this.classSequenceMatches(1,r.classes,e.classDef))return this.applyLookupList(r.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords)}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(-1===(t=this.coverageIndex(e.coverage)))break;for(let r of e.chainRuleSets[t])if(this.sequenceMatches(-r.backtrack.length,r.backtrack)&&this.sequenceMatches(1,r.input)&&this.sequenceMatches(1+r.input.length,r.lookahead))return this.applyLookupList(r.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))break;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let r=e.chainClassSet[t];if(!r)break;for(let t of r)if(this.classSequenceMatches(-t.backtrack.length,t.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,t.input,e.inputClassDef)&&this.classSequenceMatches(1+t.input.length,t.lookahead,e.lookaheadClassDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords)}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class il{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let r=io.prototype.getClassID(e,t.glyphClassDef);this.isBase=1===r,this.isLigature=2===r,this.isMark=3===r,this.markAttachmentType=t.markAttachClassDef?io.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(tR),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new il(this._font,this.id,this.codePoints,this.features)}constructor(e,t,r=[],s){if(this._font=e,this.codePoints=r,this.id=t,this.features={},Array.isArray(s))for(let e=0;e4352<=e&&e<=4447||43360<=e&&e<=43388,ic=e=>4448<=e&&e<=4519||55216<=e&&e<=55238,ip=e=>4520<=e&&e<=4607||55243<=e&&e<=55291,id=e=>12334<=e&&e<=12335,ig=e=>44032<=e&&e<=55204,im=e=>e-44032<11173&&(e-44032)%28==0,iy=e=>4352<=e&&e<=4370,ib=e=>4449<=e&&e<=4469,iw=e=>1<=e&&e<=4546;function iv(e){return ih(e)?1:ic(e)?2:ip(e)?3:im(e)?4:ig(e)?5:id(e)?6:0}const ix=1,iC=2,ik=4,iS=5,iI=[[[0,0],[0,1],[0,0],[0,0],[ix,2],[ix,3],[iS,0]],[[0,0],[0,1],[iC,2],[0,0],[ix,2],[ix,3],[iS,0]],[[0,0],[0,1],[0,0],[iC,3],[ix,2],[ix,3],[ik,0]],[[0,0],[0,1],[0,0],[0,0],[ix,2],[ix,3],[ik,0]]];function iA(e,t,r){return new il(e,e.glyphForCodePoint(t).id,[t],r)}function iO(e,t,r){let s=e[t],n=s.codePoints[0]-44032,a=4519+n%28,i=4352+(n=n/28|0)/21|0,o=4449+n%21;if(!r.hasGlyphForCodePoint(i)||!r.hasGlyphForCodePoint(o)||4519!==a&&!r.hasGlyphForCodePoint(a))return t;let l=iA(r,i,s.features);l.features.ljmo=!0;let u=iA(r,o,s.features);u.features.vjmo=!0;let h=[l,u];if(a>4519){let e=iA(r,a,s.features);e.features.tjmo=!0,h.push(e)}return e.splice(t,1,...h),t+h.length-1}var iP={};iP=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var iE={};iE=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,23,0,0,2,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const iT={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},iL={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},iF=iT.C|iT.Ra|iT.CM|iT.V|iT.Placeholder|iT.Dotted_Circle,iM=iT.ZWJ|iT.ZWNJ,iR=iT.H|iT.Coeng,iB={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:iL.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:iL.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:iL.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:iL.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:iL.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:iL.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:iL.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:iL.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:iL.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:iL.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:iL.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},iD={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:iU}=tz(iE),iG=new(tz(e4))(aE("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")),iV=new(tz(tB))(tz(iP));class iz extends a2{static planFeatures(e){e.addStage(iH),e.addStage(["locl","ccmp"]),e.addStage(iZ),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(iK),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=aB[e.script],e.indicConfig=iB[e.unicodeScript]||iB.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&"2"!==e.script[e.script.length-1]}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let s=t[r].codePoints[0],n=iD[s]||iU[s];if(n){let s=n.map(s=>{let n=e.font.glyphForCodePoint(s);return new il(e.font,n.id,[s],t[r].features)});t.splice(r,1,...s)}}}}function iN(e){return iG.get(e.codePoints[0])>>8}function iq(e){return 1<<(255&iG.get(e.codePoints[0]))}tz(eQ)(iz,"zeroMarkWidths","NONE");class iW{constructor(e,t,r,s){this.category=e,this.position=t,this.syllableType=r,this.syllable=s}}function iH(e,t){let r=0,s=0;for(let[e,n,a]of iV.match(t.map(iN))){if(e>s){++r;for(let n=s;nf)break}case"First":h=i;for(let e=h+1;er&&!iX(t[s])&&(!e||t[s].shaperInfo.category!==iT.H);s--);if(t[s].shaperInfo.category!==iT.H&&s>r){let e=t[r];t.splice(r,0,...t.splice(r+1,s-r)),t[s]=e}break}}let p=iL.Start;for(let e=i;ei;s--)if(t[s-1].shaperInfo.position!==iL.Pre_M){r.position=t[s-1].shaperInfo.position;break}}}else r.position!==iL.SMVD&&(p=r.position)}let d=h;for(let e=h+1;ee.shaperInfo.position-t.shaperInfo.position),t.splice(i,g.length,...g);for(let e=i;ei&&!iX(t[s]))}}}function iK(e,t,r){let s=r.indicConfig,n=e._layoutEngine.engine.GSUBProcessor.features;for(let e=0,a=iJ(t,0);e=iL.Base_C){if(i&&o+1iL.Base_C&&o--;break}if(o===a&&ee&&!(t[s].shaperInfo.category&(iT.M|iR));)s--;iY(t[s])&&t[s].shaperInfo.position!==iL.Pre_M?s+1e;r--)if(t[r-1].shaperInfo.position===iL.Pre_M){let e=r-1;ee&&t[r].shaperInfo.position===iL.SMVD;)r--;if(iY(t[r]))for(let e=o+1;ee&&!(t[n-1].shaperInfo.category&(iT.M|iR));)n--;if(n>e&&t[n-1].shaperInfo.category===iT.M){let e=s;for(let r=o+1;re&&iY(t[n-1])&&n=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t=0;r--){let s=t[r].codePoints[0];if(i$[s]){let n=i$[s].map(s=>{let n=e.font.glyphForCodePoint(s);return new il(e.font,n.id,[s],t[r].features)});t.splice(r,1,...n)}}}}function i3(e){return i0.get(e.codePoints[0])}tz(eQ)(i2,"zeroMarkWidths","BEFORE_GPOS");class i4{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}}function i5(e,t){let r=0;for(let[e,s,n]of i1.match(t.map(i3))){++r;for(let a=e;a<=s;a++)t[a].shaperInfo=new i4(iQ[i3(t[a])],n[0],r);let a="R"===t[e].shaperInfo.category?1:Math.min(3,s-e);for(let r=e;r1){for(a=s+1;a=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t{let r=new il(this.font,e,void 0,s);return r.shaperInfo=n.shaperInfo,r.isLigated=n.isLigated,r.ligatureComponent=t+1,r.substituted=!0,r.isMultiplied=!0,r});return this.glyphs.splice(this.glyphIterator.index+1,0,...a),!0}return!1}case 3:{let e=this.coverageIndex(t.coverage);if(-1!==e)return this.glyphIterator.cur.id=t.alternateSet.get(e)[0],!0;return!1}case 4:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(let s of t.ligatureSets.get(e)){let e=this.sequenceMatchIndices(1,s.components);if(!e)continue;let t=this.glyphIterator.cur,n=t.codePoints.slice();for(let t of e)n.push(...this.glyphs[t].codePoints);let a=new il(this.font,s.glyph,n,t.features);a.shaperInfo=t.shaperInfo,a.isLigated=!0,a.substituted=!0;let i=t.isMark;for(let t=0;t=0;t--)this.glyphs.splice(e[t],1);return this.glyphs[this.glyphIterator.index]=a,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw Error(`GSUB lookupType ${e} is not supported`)}}}class oa extends io{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];null!=t.xAdvance&&(r.xAdvance+=t.xAdvance),null!=t.yAdvance&&(r.yAdvance+=t.yAdvance),null!=t.xPlacement&&(r.xOffset+=t.xPlacement),null!=t.yPlacement&&(r.yOffset+=t.yPlacement);let s=this.font._variationProcessor,n=this.font.GDEF&&this.font.GDEF.itemVariationStore;s&&n&&(t.xPlaDevice&&(r.xOffset+=s.getDelta(n,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=s.getDelta(n,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=s.getDelta(n,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=s.getDelta(n,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(e))}return!0}case 2:{let e=this.glyphIterator.peek();if(!e)return!1;let s=this.coverageIndex(t.coverage);if(-1===s)return!1;switch(t.version){case 1:for(let r of t.pairSets.get(s))if(r.secondGlyph===e.id)return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0;return!1;case 2:let n=this.getClassID(this.glyphIterator.cur.id,t.classDef1),a=this.getClassID(e.id,t.classDef2);if(-1===n||-1===a)return!1;var r=t.classRecords.get(n).get(a);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let e,r=this.glyphIterator.peekIndex(),s=this.glyphs[r];if(!s)return!1;let n=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!n||!n.exitAnchor)return!1;let a=t.entryExitRecords[this.coverageIndex(t.coverage,s.id)];if(!a||!a.entryAnchor)return!1;let i=this.getAnchor(a.entryAnchor),o=this.getAnchor(n.exitAnchor),l=this.positions[this.glyphIterator.index],u=this.positions[r];switch(this.direction){case"ltr":l.xAdvance=o.x+l.xOffset,e=i.x+u.xOffset,u.xAdvance-=e,u.xOffset-=e;break;case"rtl":e=o.x+l.xOffset,l.xAdvance-=e,l.xOffset-=e,u.xAdvance=i.x+u.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=r,l.yOffset=i.y-o.y):(s.cursiveAttachment=this.glyphIterator.index,l.yOffset=o.y-i.y),!0}case 4:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&(this.glyphs[r].isMark||this.glyphs[r].ligatureComponent>0););if(r<0)return!1;let s=this.coverageIndex(t.baseCoverage,this.glyphs[r].id);if(-1===s)return!1;let n=t.markArray[e],a=t.baseArray[s][n.class];return this.applyAnchor(n,a,r),!0}case 5:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&this.glyphs[r].isMark;);if(r<0)return!1;let s=this.coverageIndex(t.ligatureCoverage,this.glyphs[r].id);if(-1===s)return!1;let n=t.ligatureArray[s],a=this.glyphIterator.cur,i=this.glyphs[r],o=i.ligatureID&&i.ligatureID===a.ligatureID&&a.ligatureComponent>0?Math.min(a.ligatureComponent,i.codePoints.length)-1:i.codePoints.length-1,l=t.markArray[e],u=n[o][l.class];return this.applyAnchor(l,u,r),!0}case 6:{let e=this.coverageIndex(t.mark1Coverage);if(-1===e)return!1;let r=this.glyphIterator.peekIndex(-1),s=this.glyphs[r];if(!s||!s.isMark)return!1;let n=this.glyphIterator.cur,a=!1;if(n.ligatureID===s.ligatureID?n.ligatureID?n.ligatureComponent===s.ligatureComponent&&(a=!0):a=!0:(n.ligatureID&&!n.ligatureComponent||s.ligatureID&&!s.ligatureComponent)&&(a=!0),!a)return!1;let i=this.coverageIndex(t.mark2Coverage,s.id);if(-1===i)return!1;let o=t.mark1Array[e],l=t.mark2Array[i][o.class];return this.applyAnchor(o,l,r),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,r){let s=this.getAnchor(t),n=this.getAnchor(e.markAnchor);this.positions[r];let a=this.positions[this.glyphIterator.index];a.xOffset=s.x-n.x,a.yOffset=s.y-n.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,s=this.font._variationProcessor,n=this.font.GDEF&&this.font.GDEF.itemVariationStore;return s&&n&&(e.xDeviceTable&&(t+=s.getDelta(n,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=s.getDelta(n,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:r}}applyFeatures(e,t,r){super.applyFeatures(e,t,r);for(var s=0;snew il(this.font,e.id,[...e.codePoints]));let t=null;for(let r in this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=function(e){for(let t of(Array.isArray(e)||(e=[e]),e)){let e=os[t];if(e)return e}return a2}(t),this.plan=new aK(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features),this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(e=>this.font.getGlyph(e.id,e.codePoints)))}position(e){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),"rtl"===e.direction&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;tnew aV(e.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),t||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new aF(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),t&&t.kern||!1===e.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new aL(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let r=this.font.glyphForCodePoint(32);for(let s=0;s>16;if(0===t)switch(e>>8){case 0:return 173===e;case 3:return 847===e;case 6:return 1564===e;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||65279===e;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&-1===r.indexOf("kern")&&r.push("kern"),r}stringsForGlyph(e){let t=new Set;for(let r of this.font._cmapProcessor.codePointsForGlyph(e))t.add(String.fromCodePoint(r));if(this.engine&&this.engine.stringsForGlyph)for(let r of this.engine.stringsForGlyph(e))t.add(r);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new aZ(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new oi(this.font))}}const ol={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class ou{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(e=>`${ol[e.command]}${e.args.map(e=>Math.round(100*e)/100).join(" ")}`).join("")}get cbox(){if(!this._cbox){let e=new aM;for(let t of this.commands)for(let r=0;rMath.pow(1-e,3)*c[m]+3*Math.pow(1-e,2)*e*p[m]+3*(1-e)*Math.pow(e,2)*d[m]+Math.pow(e,3)*g[m];for(let y of this.commands)switch(y.command){case"moveTo":case"lineTo":let[b,w]=y.args;e.addPoint(b,w),t=b,r=w;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===y.command)var[n,a,i,o]=y.args,l=t+2/3*(n-t),u=r+2/3*(a-r),h=i+2/3*(n-i),f=o+2/3*(a-o);else var[l,u,h,f,i,o]=y.args;e.addPoint(i,o);for(var c=[t,r],p=[l,u],d=[h,f],g=[i,o],m=0;m<=1;m++){let t=6*c[m]-12*p[m]+6*d[m],r=-3*c[m]+9*p[m]-9*d[m]+3*g[m];if(y=3*p[m]-3*c[m],0===r){if(0===t)continue;let r=-y/t;0[e*i+r*o+n,t*i+s*o+a])}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),r=Math.sin(e);return this.transform(t,r,-r,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let e of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])ou.prototype[e]=function(...t){return this._bbox=this._cbox=null,this.commands.push({command:e,args:t}),this};var oh=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];class of{_getPath(){return new ou}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id0)var s=Math.abs(t.typoAscender-t.typoDescender),n=t.typoAscender-e.maxY;else{let{hhea:t}=this._font;var s=Math.abs(t.ascent-t.descent),n=t.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:s,leftBearing:r,topBearing:n}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return oh[this.id];case 2:let t=e.glyphNameIndex[this.id];if(t0&&this.codePoints.every(tR),this.isLigature=this.codePoints.length>1}}tz(e0)([t_],of.prototype,"cbox",null),tz(e0)([t_],of.prototype,"bbox",null),tz(e0)([t_],of.prototype,"path",null),tz(e0)([t_],of.prototype,"advanceWidth",null),tz(e0)([t_],of.prototype,"advanceHeight",null),tz(e0)([t_],of.prototype,"name",null);let oc=new eY({numberOfContours:eL,xMin:eL,yMin:eL,xMax:eL,yMax:eL});class op{copy(){return new op(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,r=0,s=0){this.onCurve=e,this.endContour=t,this.x=r,this.y=s}}class od{constructor(e,t,r){this.glyphID=e,this.dx=t,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class og extends of{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let r=oc.decode(t);return Object.freeze(new aM(r.xMin,r.yMin,r.xMax,r.yMax))}_parseGlyphCoord(e,t,r,s){if(r){var n=e.readUInt8();s||(n=-n),n+=t}else if(s)var n=t;else var n=t+e.readInt16BE();return n}_decode(){let e=this._font.loca.offsets[this.id];if(e===this._font.loca.offsets[this.id+1])return null;let t=this._font._getTableStream("glyf");t.pos+=e;let r=t.pos,s=oc.decode(t);return s.numberOfContours>0?this._decodeSimple(s,t):s.numberOfContours<0&&this._decodeComposite(s,t,r),s}_decodeSimple(e,t){e.points=[];let r=new eG(eO,e.numberOfContours).decode(t);e.instructions=new eG(eA,eO).decode(t);let s=[],n=r[r.length-1]+1;for(;s.length=0,0,0);e.points.push(t)}let o=0;for(var i=0;i>1,o.length=0}function S(e,t){p&&i.closePath(),i.moveTo(e,t),p=!0}let I=function(){for(;s.pos1&&C(),S(f,c+=o.shift());break;case 5:for(;o.length>=2;)f+=o.shift(),c+=o.shift(),i.lineTo(f,c);break;case 6:case 7:for(M=6===L;o.length>=1;)M?f+=o.shift():c+=o.shift(),i.lineTo(f,c),M=!M;break;case 8:for(;o.length>0;){var n=f+o.shift(),u=c+o.shift(),m=n+o.shift(),A=u+o.shift();f=m+o.shift(),c=A+o.shift(),i.bezierCurveTo(n,u,m,A,f,c)}break;case 10:if(F=y[T=o.pop()+b]){t[T]=!0;var O=s.pos,P=a;s.pos=F.offset,a=F.offset+F.length,I(),s.pos=O,a=P}break;case 11:if(r.version>=2)break;return;case 14:if(r.version>=2)break;o.length>0&&C(),p&&(i.closePath(),p=!1);break;case 15:if(r.version<2)throw Error("vsindex operator not supported in CFF v1");v=o.pop();break;case 16:{if(r.version<2)throw Error("blend operator not supported in CFF v1");if(!x)throw Error("blend operator in non-variation font");let e=x.getBlendVector(w,v),t=o.pop(),s=t*e.length,n=o.length-s,a=n-t;for(let r=0;r>3;break;case 21:o.length>2&&C(),S(f+=o.shift(),c+=o.shift());break;case 22:o.length>1&&C(),S(f+=o.shift(),c);break;case 24:for(;o.length>=8;){var n=f+o.shift(),u=c+o.shift(),m=n+o.shift(),A=u+o.shift();f=m+o.shift(),c=A+o.shift(),i.bezierCurveTo(n,u,m,A,f,c)}f+=o.shift(),c+=o.shift(),i.lineTo(f,c);break;case 25:for(;o.length>=8;)f+=o.shift(),c+=o.shift(),i.lineTo(f,c);var n=f+o.shift(),u=c+o.shift(),m=n+o.shift(),A=u+o.shift();f=m+o.shift(),c=A+o.shift(),i.bezierCurveTo(n,u,m,A,f,c);break;case 26:for(o.length%2&&(f+=o.shift());o.length>=4;)n=f,u=c+o.shift(),m=n+o.shift(),A=u+o.shift(),f=m,c=A+o.shift(),i.bezierCurveTo(n,u,m,A,f,c);break;case 27:for(o.length%2&&(c+=o.shift());o.length>=4;)n=f+o.shift(),u=c,m=n+o.shift(),A=u+o.shift(),f=m+o.shift(),c=A,i.bezierCurveTo(n,u,m,A,f,c);break;case 28:o.push(s.readInt16BE());break;case 29:if(F=d[T=o.pop()+g]){e[T]=!0;var O=s.pos,P=a;s.pos=F.offset,a=F.offset+F.length,I(),s.pos=O,a=P}break;case 30:case 31:for(M=31===L;o.length>=4;)M?(n=f+o.shift(),u=c,m=n+o.shift(),c=(A=u+o.shift())+o.shift(),f=m+(1===o.length?o.shift():0)):(n=f,u=c+o.shift(),m=n+o.shift(),A=u+o.shift(),f=m+o.shift(),c=A+(1===o.length?o.shift():0)),i.bezierCurveTo(n,u,m,A,f,c),M=!M;break;case 12:switch(L=s.readUInt8()){case 3:let R=o.pop(),B=o.pop();o.push(R&&B?1:0);break;case 4:R=o.pop(),B=o.pop(),o.push(R||B?1:0);break;case 5:R=o.pop(),o.push(R?0:1);break;case 9:R=o.pop(),o.push(Math.abs(R));break;case 10:R=o.pop(),B=o.pop(),o.push(R+B);break;case 11:R=o.pop(),B=o.pop(),o.push(R-B);break;case 12:R=o.pop(),B=o.pop(),o.push(R/B);break;case 14:R=o.pop(),o.push(-R);break;case 15:R=o.pop(),B=o.pop(),o.push(R===B?1:0);break;case 18:o.pop();break;case 20:let D=o.pop(),U=o.pop();l[U]=D;break;case 21:U=o.pop(),o.push(l[U]||0);break;case 22:let G=o.pop(),V=o.pop(),z=o.pop(),N=o.pop();o.push(z<=N?G:V);break;case 23:o.push(Math.random());break;case 24:R=o.pop(),B=o.pop(),o.push(R*B);break;case 26:R=o.pop(),o.push(Math.sqrt(R));break;case 27:R=o.pop(),o.push(R,R);break;case 28:R=o.pop(),B=o.pop(),o.push(B,R);break;case 29:(U=o.pop())<0?U=0:U>o.length-1&&(U=o.length-1),o.push(o[U]);break;case 30:let q=o.pop(),W=o.pop();if(W>=0)for(;W>0;){var E=o[q-1];for(let e=q-2;e>=0;e--)o[e+1]=o[e];o[0]=E,W--}else for(;W<0;){var E=o[0];for(let e=0;e<=q;e++)o[e]=o[e+1];o[q-1]=E,W++}break;case 34:n=f+o.shift(),u=c,m=n+o.shift(),A=u+o.shift();let H=m+o.shift(),X=A,j=H+o.shift(),Y=X,_=j+o.shift(),Z=Y,K=_+o.shift(),J=Z;f=K,c=J,i.bezierCurveTo(n,u,m,A,H,X),i.bezierCurveTo(j,Y,_,Z,K,J);break;case 35:let Q=[];for(let e=0;e<=5;e++)f+=o.shift(),c+=o.shift(),Q.push(f,c);i.bezierCurveTo(...Q.slice(0,6)),i.bezierCurveTo(...Q.slice(6)),o.shift();break;case 36:n=f+o.shift(),u=c+o.shift(),m=n+o.shift(),A=u+o.shift(),H=m+o.shift(),X=A,j=H+o.shift(),Y=X,_=j+o.shift(),Z=Y+o.shift(),K=_+o.shift(),J=Z,f=K,c=J,i.bezierCurveTo(n,u,m,A,H,X),i.bezierCurveTo(j,Y,_,Z,K,J);break;case 37:let $=f,ee=c;Q=[];for(let e=0;e<=4;e++)f+=o.shift(),c+=o.shift(),Q.push(f,c);Math.abs(f-$)>Math.abs(c-ee)?(f+=o.shift(),c=ee):(f=$,c+=o.shift()),Q.push(f,c),i.bezierCurveTo(...Q.slice(0,6)),i.bezierCurveTo(...Q.slice(6));break;default:throw Error(`Unknown op: 12 ${L}`)}break;default:throw Error(`Unknown op: ${L}`)}}else if(L<247)o.push(L-139);else if(L<251){var T=s.readUInt8();o.push((L-247)*256+T+108)}else if(L<255){var T=s.readUInt8();o.push(-(256*(L-251))-T-108)}else o.push(s.readInt32BE()/65536)}};return I(),p&&i.closePath(),i}constructor(...e){super(...e),tz(eQ)(this,"type","CFF")}}let oy=new eY({originX:eO,originY:eO,type:new eX(4),data:new eq(e=>e.parent.buflen-e._currentOffset)});class ob extends og{getImageForSize(e){for(let r=0;r=e)break}let r=t.imageOffsets,s=r[this.id],n=r[this.id+1];return s===n?null:(this._font.stream.pos=s,oy.decode(this._font.stream,{buflen:n-s}))}render(e,t){let r=this.getImageForSize(t);if(null!=r){let s=t/this._font.unitsPerEm;e.image(r.data,{height:t,x:r.originX,y:(this.bbox.minY-r.originY)*s})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),tz(eQ)(this,"type","SBIX")}}class ow{constructor(e,t){this.glyph=e,this.color=t}}class ov extends of{_getBBox(){let e=new aM;for(let t=0;t>1;var n=t.baseGlyphRecord[e];if(this.idn.gid)r=e+1;else{var a=n;break}}if(null==a){var i=this._font._getBaseGlyph(this.id),o={red:0,green:0,blue:0,alpha:255};return[new ow(i,o)]}let l=[];for(let r=a.firstLayerIndex;r=1&&t[r]=r.glyphCount)return;let s=r.offsets[e];if(s===r.offsets[e+1])return;let{stream:n}=this.font;if(n.pos=s,n.pos>=n.length)return;let a=n.readUInt16BE(),i=s+n.readUInt16BE();if(32768&a){var o=n.pos;n.pos=i;var l=this.decodePoints();i=n.pos,n.pos=o}let u=t.map(e=>e.copy());a&=4095;for(let e=0;e=r.globalCoordCount)throw Error("Invalid gvar table");var h=r.globalCoords[4095&s]}if(16384&s){var f=[];for(let e=0;ee.copy()),r=t.map(()=>!1);for(let s=0;sMath.max(0,t[o]))return 0;i=(i*n[o]+Number.EPSILON)/(t[o]+Number.EPSILON)}else{if(n[o]s[o])return 0;i=n[o]a)continue;let o=s,l=s;for(s++;s<=a;)r[s]&&(this.deltaInterpolate(l+1,s-1,l,s,t,e),l=s),s++;l===o?this.deltaShift(n,a,l,t,e):(this.deltaInterpolate(l+1,a,l,o,t,e),o>0&&this.deltaInterpolate(n,o-1,l,o,t,e)),s=a+1}}deltaInterpolate(e,t,r,s,n,a){if(e>t)return;let i=["x","y"];for(let l=0;ln[s][u]){var o=r;r=s,s=o}let h=n[r][u],f=n[s][u],c=a[r][u],p=a[s][u];if(h!==f||c===p){let r=h===f?0:(p-c)/(f-h);for(let s=e;s<=t;s++){let e=n[s][u];e<=h?e+=c-h:e>=f?e+=p-f:e=c+(e-h)*r,a[s][u]=e}}}}deltaShift(e,t,r,s,n){let a=n[r].x-s[r].x,i=n[r].y-s[r].y;if(0!==a||0!==i)for(let s=e;s<=t;s++)s!==r&&(n[s].x+=a,n[s].y+=i)}getAdvanceAdjustment(e,t){let r,s;if(t.advanceWidthMapping){let n=e;n>=t.advanceWidthMapping.mapCount&&(n=t.advanceWidthMapping.mapCount-1),t.advanceWidthMapping.entryFormat,{outerIndex:r,innerIndex:s}=t.advanceWidthMapping.mapData[n]}else r=0,s=e;return this.getDelta(t.itemVariationStore,r,s)}getDelta(e,t,r){if(t>=e.itemVariationData.length)return 0;let s=e.itemVariationData[t];if(r>=s.deltaSets.length)return 0;let n=s.deltaSets[r],a=this.getBlendVector(e,t),i=0;for(let e=0;et.peakCoord||t.peakCoord>t.endCoord?1:t.startCoord<0&&t.endCoord>0&&0!==t.peakCoord?1:0===t.peakCoord?1:s[e]t.endCoord?0:s[e]===t.peakCoord?1:s[e]=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}}let oS=new eY({numberOfContours:eL,xMin:eL,yMin:eL,xMax:eL,yMax:eL,endPtsOfContours:new eG(eO,"numberOfContours"),instructions:new eG(eA,eO),flags:new eG(eA,0),xPoints:new eG(ok,0),yPoints:new eG(ok,0)});class oI{encodeSimple(e,t=[]){let r=[],s=[],n=[],a=[],i=0,o=0,l=0,u=0,h=0;for(let t=0;t0&&(a.push(i),i=0),a.push(d),u=d),o=c,l=p,h++}"closePath"===f.command&&r.push(h-1)}e.commands.length>1&&"closePath"!==e.commands[e.commands.length-1].command&&r.push(h-1);let f=e.bbox,c={numberOfContours:r.length,xMin:f.minX,yMin:f.minY,xMax:f.maxX,yMax:f.maxY,endPtsOfContours:r,instructions:t,flags:a,xPoints:s,yPoints:n},p=oS.size(c),d=4-p%4,g=new eC(p+d);return oS.encode(g,c),0!==d&&g.fill(0,d),g.buffer}_encodePoint(e,t,r,s,n,a){let i=e-t;return e===t?s|=a:(-255<=i&&i<=255&&(s|=n,i<0?i=-i:s|=a),r.push(i)),s}}class oA extends oC{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),s=this.font.loca.offsets[e],n=this.font.loca.offsets[e+1],a=this.font._getTableStream("glyf");a.pos+=s;let i=a.readBuffer(n-s);if(r&&r.numberOfContours<0){i=new Uint8Array(i);let t=new DataView(i.buffer);for(let s of r.components)e=this.includeGlyph(s.glyphID),t.setUint16(s.pos,e)}else r&&this.font._variationProcessor&&(i=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(i),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=i.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);for(let r of(t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings,["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"]))t[r]=this.addString(this.cff.string(t[r]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return sv.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw Error("Not a CFF Font")}}class oP{static probe(e){let t=aA.decode(e.slice(0,4));return"true"===t||"OTTO"===t||t===String.fromCharCode(0,1,0,0)}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(t){tq&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=ak.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),s=ax[e.tag].decode(r,this,e.length);return this.stream.pos=t,s}getName(e,t=this.defaultLanguage||tj){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[tj]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new aM(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new aT(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],r=e.length,s=0,n=-1,a=-1;for(;s<=r;){let i=0,o=0;if(s{let s=t.axisTag.trim();return s in e?Math.max(t.minValue,Math.min(t.maxValue,e[s])):t.defaultValue}),r=new ew(this.stream.buffer);r.pos=this._directoryPos;let s=new oP(r,t);return s._tables=this._tables,s}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return e||this.CFF2?(e||(e=this.fvar.axis.map(e=>e.defaultValue)),new ox(this,e)):null}getFont(e){return this.getVariation(e)}constructor(e,t=null){for(let r in tz(eQ)(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory(),this.directory.tables){let e=this.directory.tables[r];ax[r]&&e.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,e)})}}}tz(e0)([t_],oP.prototype,"bbox",null),tz(e0)([t_],oP.prototype,"_cmapProcessor",null),tz(e0)([t_],oP.prototype,"characterSet",null),tz(e0)([t_],oP.prototype,"_layoutEngine",null),tz(e0)([t_],oP.prototype,"variationAxes",null),tz(e0)([t_],oP.prototype,"namedVariations",null),tz(e0)([t_],oP.prototype,"_variationProcessor",null);let oE=new eY({tag:new eX(4),offset:new eK(eE,"void",{type:"global"}),compLength:eE,length:eE,origChecksum:eE}),oT=new eY({tag:new eX(4),flavor:eE,length:eE,numTables:eO,reserved:new eH(eO),totalSfntSize:eE,majorVersion:eO,minorVersion:eO,metaOffset:eE,metaLength:eE,metaOrigLength:eE,privOffset:eE,privLength:eE,tables:new eG(oE,"numTables")});oT.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};class oL extends og{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),tz(eQ)(this,"type","WOFF2")}}const oF={decode(e){let t=0,r=[0,1,2,3,4];for(let s=0;s(63&e.flags)==63),tag:e=>e.customTag||oM[63&e.flags],length:oF,transformVersion:e=>e.flags>>>6&3,transformed:e=>"glyf"===e.tag||"loca"===e.tag?0===e.transformVersion:0!==e.transformVersion,transformLength:new eW(oF,e=>e.transformed)}),oB=new eY({tag:new eX(4),flavor:eE,length:eE,numTables:eO,reserved:new eH(eO),totalSfntSize:eE,totalCompressedSize:eE,majorVersion:eO,minorVersion:eO,metaOffset:eE,metaLength:eE,metaOrigLength:eE,privOffset:eE,privLength:eE,tables:new eG(oR,"numTables")});oB.process=function(){let e={};for(let t=0;te.maxTypeIndex+1),{type:"parent"})}),oH=new eY({length:eO,types:new eG(oW,e=>e.length+1)}),oX=new eY({reserved:new eH(eA,24),typeList:new eK(eO,oH),nameListOffset:new eK(eO,"void")}),oj=new eY({dataOffset:eE,map:new eK(eE,oX),dataLength:eE,mapLength:eE});async function oY(){console.log("Loading Harfbuzz wasm");let e=await WebAssembly.instantiateStreaming(fetch("./hb.wasm"));if(console.log("Loaded Harfbuzz wasm"),e){let r=t(P)(e.instance);o0.hb=r,console.log("Calling loadFont"),o_(o1.Bitter),console.log("Called loadFont")}}async function o_(e){let t,r;if(e instanceof ArrayBuffer)t=e,console.log("arrayBuffer");else{console.log("path");let r=await fetch(e);console.log(r),t=await r.arrayBuffer()}let s=new w(t,0,4),n=s.u32;if(console.log(t),2001684018===n){alert("This is a wOFF2 font. Please convert it to a TTF or OTF font first.");return}o0.fontkitFont=ey.create(new U(t));let a=new v(new w(t),o0.options);o0.samsaFont=a;let i=o0.hb,o=i.createBlob(new Uint8Array(t)),l=i.createFace(o,0),u=i.createFont(l);o0.hbBlob=o,o0.hbFace=l,o0.hbFont=u,function(){document.querySelector("#text-input").oninput=oK,document.querySelector("#size-input").oninput=oK,document.querySelector("#color-input").oninput=oK,document.querySelector("#opacity-input").oninput=oK;let e=document.getElementById("axes");e.innerHTML="",o0.samsaFont.fvar&&o0.samsaFont.fvar.axes.forEach(t=>{let r=document.createElement("div"),s=document.createElement("label"),n=document.createElement("input"),a=document.createElement("input");r.id=t.axisTag,r.classList.add("axis-div"),n.type="range",n.classList.add("axis-slider"),n.step=1e-12,n.oninput=oZ,a.style.width="40px",a.classList.add("axis-value"),a.value=t.defaultValue,a.oninput=oZ,s.innerHTML=t.axisTag,r.append(s,a,n),e.append(r),n.min=t.minValue,n.max=t.maxValue,n.value=t.defaultValue})}(),o0.renders.forEach(e=>oQ(e));let h=document.querySelector("#reset");h.onclick=e=>{o0.samsaFont&&o0.samsaFont.fvar&&(o0.samsaFont.fvar.axes.forEach(e=>{let t=document.querySelector(`#${e.axisTag}.axis-div .axis-value`);t.value=e.defaultValue;let s=t.closest(".axis-div");s.querySelector(".axis-slider").value=e.defaultValue,r=t}),r.dispatchEvent(new Event("input")))};let f=new FontFace("AP3-font",t);document.fonts.add(f),document.querySelector(".render.system").style.fontFamily="AP3-font"}function oZ(e){let t;let r=e.target.closest(".axis-div");e.target.classList.contains("axis-value")?t=r.querySelector(".axis-slider"):e.target.classList.contains("axis-slider")&&(t=r.querySelector(".axis-value")),t.value=e.target.value,o0.renders.forEach(e=>oQ(e))}function oK(e){o0.renders.forEach(e=>oQ(e))}function oJ(e=!1){let t=document.querySelectorAll(".axis-div"),r={};if(t.forEach(e=>{r[e.id]=parseFloat(e.querySelector(".axis-value").value)}),!e)return r;{let e=Object.keys(r).map(e=>`'${e}' ${r[e]}`).join(",");return e}}function oQ(e){let t=document.querySelector(`.render.${e}`),r=document.querySelector(`.render-title.${e}`),s=parseFloat(document.querySelector("#size-input").value),n=document.querySelector("#text-input").value,a=document.querySelector("#color-input").value,i=document.querySelector("#opacity-input").value;o0.samsaFont.u32FromHexColor(a,i);let o=o0.samsaFont.instance(oJ());switch(t.innerHTML="",e){case"system":t.innerHTML=n,t.style.fontSize=s+"px",t.style.fontVariationSettings=oJ(!0),t.style.color=a,t.style.opacity=i;break;case"samsa-svg":{let e=o.renderText({text:n,fontSize:s});t.innerHTML=e;let a=r.querySelector(".byte-count");a.innerText=e.length+" bytes";break}case"samsa-canvas":{let e=o0.samsaFont;e.tupleFromFvs(oJ());let r=e.instance(oJ()),a=r.glyphLayoutFromString(n),i=e.head.unitsPerEm,o=s/i*window.devicePixelRatio,l=document.createElement("canvas");l.style.width="2000px",l.style.height="2000px",l.width=2e3*window.devicePixelRatio,l.height=2e3*window.devicePixelRatio;let u=l.getContext("2d");u.fillStyle="black",u.scale(o,-o),u.translate(0,-i),a.forEach(t=>{let s=e.glyphs[t.id];s.instantiate(r);let n=r.glyphs[t.id];n.canvasGlyphMonochrome(u),u.translate(t.dx,0)}),t.innerHTML="",t.append(l);break}case"fontkit":{let e=o0.fontkitFont,r=e.fvar?e.getVariation(oJ()):e,a=e.unitsPerEm,i=r.layout(n),o=[],l=0,u=0;for(let e=0;e`),l+=i.positions[e].xAdvance,u+=i.positions[e].yAdvance}let h=s/a,f=``;t.innerHTML='";break}case"harfbuzz":{let e=function(e,t){let r=o0.hbFont,s=o0.hbFace,n=o0.hb;r.setVariations(t);let a=n.createBuffer();a.addText(e),a.guessSegmentProperties(),n.shape(r,a);let i=a.json(r),o={};i.forEach(function(e){o[e.g]||(o[e.g]={name:r.glyphName(e.g),path:r.glyphToPath(e.g)})});let l=s.collectUnicodes();return a.destroy(),{shape:i,glyphs:o,unicodes:l}}(n,oJ()),r="",a=0,i=0;e.shape.forEach((t,s)=>{r+=``,a+=t.ax,i+=t.ay});let o=o0.samsaFont.head.unitsPerEm,l=s/o,u=``;t.innerHTML='"}}}function o$(e){let t=e.target.closest(".render-title");if(t){let r;if(t.classList.contains("samsa-svg")){let s=t.nextElementSibling.querySelector("svg"),n=new XMLSerializer().serializeToString(s);switch(e.target.innerText){case"content_copy":navigator.clipboard.writeText(n),r="Copied SVG to clipboard";break;case"download":r="Downloaded SVG to ‘renderstack.svg’";let a=document.createElement("a");a.download="renderstack.svg",a.href="data:image/svg+xml;base64,"+btoa(n),document.body.append(a),a.click(),a.remove();break;case"terminal":console.log(n),r="Wrote SVG to console";break;default:r="no action performed"}}else if(t.classList.contains("samsa-canvas")){let t=document.querySelector(".render.samsa-canvas");if("download"==e.target.innerText){r="Downloaded PNG from HTML canvas as ‘renderstack.png’",console.log("getting png from canvas");let e=t.querySelector("canvas"),s=e.toDataURL("image/png"),n=document.createElement("a");n.download="renderstack.png",n.href=s,document.body.append(n),n.click(),n.remove()}}alert(r)}}tH(oP),tH(class extends oP{static probe(e){return"wOFF"===aA.decode(e.slice(0,4))}_decodeDirectory(){this.directory=oT.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t){if(this.stream.pos=t.offset,!(t.compLength0){let t=[],n=0;for(let r=0;r>7);if((u&=127)<10)r=0,l=oV(u,((14&u)<<7)+t.readUInt8());else if(u<20)r=oV(u,((u-10&14)<<7)+t.readUInt8()),l=0;else if(u<84){var i=u-20,o=t.readUInt8();r=oV(u,1+(48&i)+(o>>4)),l=oV(u>>1,1+((12&i)<<2)+(15&o))}else if(u<120){var i=u-84;r=oV(u,1+(i/12<<8)+t.readUInt8()),l=oV(u>>1,1+(i%12>>2<<8)+t.readUInt8())}else if(u<124){var o=t.readUInt8();let e=t.readUInt8();r=oV(u,(o<<4)+(e>>4)),l=oV(u>>1,((15&e)<<8)+t.readUInt8())}else r=oV(u,t.readUInt16BE()),l=oV(u>>1,t.readUInt16BE());n+=r,s+=l,a.push(new op(h,!1,n,s))}return a}(e.flags,e.glyphs,n);for(let e=0;ee[r]===t))return s}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new ew(this.stream.buffer);r.pos=t,e.push(new oP(r))}return e}constructor(e){if(tz(eQ)(this,"type","TTC"),this.stream=e,"ttcf"!==e.readString(4))throw Error("Not a TrueType collection");this.header=oz.decode(e)}}),tH(class{static probe(e){let t=new ew(e);try{var r=oj.decode(t)}catch(e){return!1}for(let e of r.map.typeList.types)if("sfnt"===e.name)return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,s=new ew(this.stream.buffer.slice(r)),n=new oP(s);if(n.postscriptName===e||n.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&n.postscriptName.every((t,r)=>e[r]===t))return n}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,s=new ew(this.stream.buffer.slice(r));e.push(new oP(s))}return e}constructor(e){for(let t of(tz(eQ)(this,"type","DFont"),this.stream=e,this.header=oj.decode(this.stream),this.header.map.typeList.types)){for(let e of t.refList)e.nameOffset>=0?(this.stream.pos=e.nameOffset+this.header.map.nameListOffset,e.name=oN.decode(this.stream)):e.name=null;"sfnt"===t.name&&(this.sfnt=t)}}}),function(e,t){Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})}(ey,tN);const o0={};o0.options={fontFace:"AP3-font",allGlyphs:!0,allTVTs:!0};const o1={"Select a font…":-1,"Amstelval-avar2":"https://www.axis-praxis.org/samsa/fonts/avar2/Amstelvar-avar2.ttf",Bitter:"https://raw.githubusercontent.com/google/fonts/main/ofl/bitter/Bitter%5Bwght%5D.ttf","Bitter-Italic":"https://raw.githubusercontent.com/google/fonts/main/ofl/bitter/Bitter-Italic%5Bwght%5D.ttf",BlakaInk:"https://raw.githubusercontent.com/google/fonts/main/ofl/blakaink/BlakaInk-Regular.ttf",BungeeColor:"https://raw.githubusercontent.com/google/fonts/main/ofl/bungeecolor/BungeeColor-Regular.ttf",BungeeSpice:"https://raw.githubusercontent.com/google/fonts/main/ofl/bungeespice/BungeeSpice-Regular.ttf",Foldit:"https://raw.githubusercontent.com/google/fonts/main/ofl/foldit/Foldit%5Bwght%5D.ttf",Nabla:"https://raw.githubusercontent.com/google/fonts/main/ofl/nabla/Nabla%5BEDPT%2CEHLT%5D.ttf","Noto Color Emoji":"https://www.axis-praxis.org/samsa/fonts/figma//NotoColorEmoji-NO-SVG.ttf","RobotoFlex-avar2":"https://www.axis-praxis.org/samsa/fonts/avar2/RobotoFlex-avar2.ttf",Rocher:"https://www.axis-praxis.org/samsa/fonts/figma/RocherColorGX.ttf","Dominik Test":"https://www.axis-praxis.org/samsa/fonts/figma/test_glyphs-glyf_colr_1_variable.ttf"},o2=document.querySelector("#font-selector");Object.keys(o1).forEach(e=>{let t=document.createElement("option");t.value=o1[e],t.innerText=e,o2.append(t)}),o2.addEventListener("change",()=>o_(o2.value)),document.querySelector("#text-input").value="Qadhesion!",o0.renders=["system","samsa-svg","samsa-canvas","fontkit","harfbuzz"],o0.renders.forEach(e=>{let t=document.createElement("div"),r=document.createElement("div");if(t.classList.add("render-title"),t.classList.add(e),t.innerHTML=e,r.classList.add("render"),r.classList.add(e),document.querySelector("#renders").append(t,r),"samsa-svg"===e){let e=document.createElement("div");e.classList.add("material-symbols-outlined"),e.title="copy to clipboard",e.innerText="content_copy";let r=document.createElement("div");r.classList.add("material-symbols-outlined"),r.title="download",r.innerText="download";let s=document.createElement("div");s.classList.add("material-symbols-outlined"),s.title="output to console",s.innerText="terminal";let n=document.createElement("span");n.classList.add("byte-count"),t.append(e,r,s,n),e.onclick=r.onclick=s.onclick=o$}if("samsa-canvas"===e){let e=document.createElement("div");e.classList.add("material-symbols-outlined"),e.title="download",e.innerText="download",t.append(e),e.onclick=o$}}),oY(),document.querySelector("#font-drop").addEventListener("change",e=>{e.preventDefault(),e.stopPropagation();let t=e.target.files[0];t.arrayBuffer().then(e=>{o_(e)})});