From 672a81d5d6cf098d9df6f4fabb81054131688970 Mon Sep 17 00:00:00 2001 From: Adam Jagosz Date: Tue, 11 Jul 2023 20:07:31 +0200 Subject: [PATCH] Updates --- 12f30cb6044063ce9abe.worker.js | 11 ---- 12f30cb6044063ce9abe.worker.js.map | 1 - css/app.1ebe9295.css | 1 - css/app.419635f2.css | 1 + ...3633879.css => chunk-vendors.3d8e971b.css} | 2 +- e106d62cc6d652433a9c.worker.js | 13 ++++ e106d62cc6d652433a9c.worker.js.map | 1 + ...talic-VariableFont_SOFT,WONK,opsz,wght.ttf | Bin 0 -> 407152 bytes ...unces-VariableFont_SOFT,WONK,opsz,wght.ttf | Bin 0 -> 355624 bytes ...-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf | Bin 0 -> 2281268 bytes ...TDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf | Bin 0 -> 1654412 bytes fonts/Tektur[wdth,wght].ttf | Bin 160092 -> 163160 bytes ...moid.222ee1ad.svg => sigmoid.1601bd06.svg} | 0 index.html | 4 +- js/app.1ab06575.js | 2 - js/app.1ab06575.js.map | 1 - js/app.cb27efcb.js | 2 + js/app.cb27efcb.js.map | 1 + js/chunk-vendors.a1088525.js | 58 ++++++++++++++++++ js/chunk-vendors.a1088525.js.map | 1 + js/chunk-vendors.c7db6d5e.js | 54 ---------------- js/chunk-vendors.c7db6d5e.js.map | 1 - 22 files changed, 80 insertions(+), 74 deletions(-) delete mode 100644 12f30cb6044063ce9abe.worker.js delete mode 100644 12f30cb6044063ce9abe.worker.js.map delete mode 100644 css/app.1ebe9295.css create mode 100644 css/app.419635f2.css rename css/{chunk-vendors.43633879.css => chunk-vendors.3d8e971b.css} (80%) create mode 100644 e106d62cc6d652433a9c.worker.js create mode 100644 e106d62cc6d652433a9c.worker.js.map create mode 100644 fonts/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf create mode 100644 fonts/Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf create mode 100644 fonts/Recursive-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf create mode 100644 fonts/RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf rename img/{sigmoid.222ee1ad.svg => sigmoid.1601bd06.svg} (100%) delete mode 100644 js/app.1ab06575.js delete mode 100644 js/app.1ab06575.js.map create mode 100644 js/app.cb27efcb.js create mode 100644 js/app.cb27efcb.js.map create mode 100644 js/chunk-vendors.a1088525.js create mode 100644 js/chunk-vendors.a1088525.js.map delete mode 100644 js/chunk-vendors.c7db6d5e.js delete mode 100644 js/chunk-vendors.c7db6d5e.js.map diff --git a/12f30cb6044063ce9abe.worker.js b/12f30cb6044063ce9abe.worker.js deleted file mode 100644 index ebbcd83..0000000 --- a/12f30cb6044063ce9abe.worker.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s="340c")})({0:function(e,t){},"1fb5":function(e,t,r){"use strict";t.byteLength=p,t.toByteArray=c,t.fromByteArray=g;for(var n=[],a=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,u=s.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function p(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n}function h(e,t,r){return 3*(t+r)/4-r}function c(e){var t,r,n=l(e),s=n[0],i=n[1],u=new o(h(e,s,i)),p=0,c=i>0?s-4:s;for(r=0;r>16&255,u[p++]=t>>8&255,u[p++]=255&t;return 2===i&&(t=a[e.charCodeAt(r)]<<2|a[e.charCodeAt(r+1)]>>4,u[p++]=255&t),1===i&&(t=a[e.charCodeAt(r)]<<10|a[e.charCodeAt(r+1)]<<4|a[e.charCodeAt(r+2)]>>2,u[p++]=t>>8&255,u[p++]=255&t),u}function f(e){return n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}function d(e,t,r){for(var n,a=[],o=t;ou?u:i+s));return 1===a?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},"340c":function(e,t,r){self.window={};var n=r("a788");self.onmessage=function(e){var t=e.data,r=t.url,a=t.fileName;n.load(r,(function(e,t){e?self.postMessage({url:r,fileName:a,error:e.message||e}):self.postMessage({url:r,fileName:a,font:t})}))}},9152:function(e,t){t.read=function(e,t,r,n,a){var o,s,i=8*a-n-1,u=(1<>1,p=-7,h=r?a-1:0,c=r?-1:1,f=e[t+h];for(h+=c,o=f&(1<<-p)-1,f>>=-p,p+=i;p>0;o=256*o+e[t+h],h+=c,p-=8);for(s=o&(1<<-p)-1,o>>=-p,p+=n;p>0;s=256*s+e[t+h],h+=c,p-=8);if(0===o)o=1-l;else{if(o===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),o-=l}return(f?-1:1)*s*Math.pow(2,o-n)},t.write=function(e,t,r,n,a,o){var s,i,u,l=8*o-a-1,p=(1<>1,c=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,s=p):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),t+=s+h>=1?c/u:c*Math.pow(2,1-h),t*u>=2&&(s++,u/=2),s+h>=p?(i=0,s=p):s+h>=1?(i=(t*u-1)*Math.pow(2,a),s+=h):(i=t*Math.pow(2,h-1)*Math.pow(2,a),s=0));a>=8;e[r+f]=255&i,f+=d,i/=256,a-=8);for(s=s<0;e[r+f]=255&s,f+=d,s/=256,l-=8);e[r+f-d]|=128*g}},a788:function(e,t,r){"use strict";r.r(t),function(e){r.d(t,"BoundingBox",(function(){return L})),r.d(t,"Font",(function(){return cs})),r.d(t,"Glyph",(function(){return Fe})),r.d(t,"Path",(function(){return C})),r.d(t,"_parse",(function(){return ye})),r.d(t,"load",(function(){return Gs})),r.d(t,"loadSync",(function(){return Fs})),r.d(t,"parse",(function(){return Ns})), -/*! https://mths.be/codepointat v0.2.0 by @mathias */ -String.prototype.codePointAt||function(){var e=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(n){}return r}(),t=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,o=t.charCodeAt(n);return o>=55296&&o<=56319&&r>n+1&&(a=t.charCodeAt(n+1),a>=56320&&a<=57343)?1024*(o-55296)+a-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var n=0,a=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function s(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var i=new o,u=new o,l=new Uint8Array(30),p=new Uint16Array(30),h=new Uint8Array(30),c=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new o,g=new Uint8Array(320);function v(e,t,r,n){var a,o;for(a=0;a>>=1,t}function x(e,t,r){if(!t)return r;while(e.bitcount<24)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function T(e,t){while(e.bitcount<24)e.tag|=e.source[e.sourceIndex++]<>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=o,e.bitcount-=a,t.trans[r+n]}function U(e,t,r){var n,a,o,s,i,u;for(n=x(e,5,257),a=x(e,5,1),o=x(e,4,4),s=0;s<19;++s)g[s]=0;for(s=0;s8)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],r=e.source[e.sourceIndex+3],r=256*r+e.source[e.sourceIndex+2],t!==(65535&~r))return a;for(e.sourceIndex+=4,o=t;o;--o)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}function E(e,t){var r,o,l,p=new s(e,t);do{switch(r=S(p),o=x(p,2,0),o){case 0:l=k(p);break;case 1:l=w(p,i,u);break;case 2:U(p,p.ltree,p.dtree),l=w(p,p.ltree,p.dtree);break;default:l=a}if(l!==n)throw new Error("Data error")}while(!r);return p.destLenthis.x2&&(this.x2=e)),"number"===typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},L.prototype.addX=function(e){this.addPoint(e,null)},L.prototype.addY=function(e){this.addPoint(null,e)},L.prototype.addBezier=function(e,t,r,n,a,o,s,i){var u=[e,t],l=[r,n],p=[a,o],h=[s,i];this.addPoint(e,t),this.addPoint(s,i);for(var c=0;c<=1;c++){var f=6*u[c]-12*l[c]+6*p[c],d=-3*u[c]+9*l[c]-9*p[c]+3*h[c],g=3*l[c]-3*u[c];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var y=(-f+Math.sqrt(v))/(2*d);0=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a=0&&e<=255,"Byte value should be between 0 and 255."),[e]},G.BYTE=F(1),N.CHAR=function(e){return[e.charCodeAt(0)]},G.CHAR=F(1),N.CHARARRAY=function(e){for(var t=[],r=0;r>8&255,255&e]},G.USHORT=F(2),N.SHORT=function(e){return e>=B&&(e=-(2*B-e)),[e>>8&255,255&e]},G.SHORT=F(2),N.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},G.UINT24=F(3),N.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},G.ULONG=F(4),N.LONG=function(e){return e>=P&&(e=-(2*P-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},G.LONG=F(4),N.FIXED=N.ULONG,G.FIXED=G.ULONG,N.FWORD=N.SHORT,G.FWORD=G.SHORT,N.UFWORD=N.USHORT,G.UFWORD=G.USHORT,N.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},G.LONGDATETIME=F(8),N.TAG=function(e){return A.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},G.TAG=F(4),N.Card8=N.BYTE,G.Card8=G.BYTE,N.Card16=N.USHORT,G.Card16=G.USHORT,N.OffSize=N.BYTE,G.OffSize=G.BYTE,N.SID=N.USHORT,G.SID=G.USHORT,N.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e-=108,[247+(e>>8),255&e]):e>=-1131&&e<=-108?(e=-e-108,[251+(e>>8),255&e]):e>=-32768&&e<=32767?N.NUMBER16(e):N.NUMBER32(e)},G.NUMBER=function(e){return N.NUMBER(e).length},N.NUMBER16=function(e){return[28,e>>8&255,255&e]},G.NUMBER16=F(3),N.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},G.NUMBER32=F(5),N.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",o=0,s=t.length;o>8&255,t[t.length]=255&n}return t},G.UTF16=function(e){return 2*e.length};var _={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};M.MACSTRING=function(e,t,r,n){var a=_[n];if(void 0!==a){for(var o="",s=0;s=-128&&e<=127}function q(e,t,r){var n=0,a=e.length;while(t>8&255,u+256&255)}return o}N.MACSTRING=function(e,t){var r=W(t);if(void 0!==r){for(var n=[],a=0;a=128&&(o=r[o],void 0===o))return;n[a]=o}return n}},G.MACSTRING=function(e,t){var r=N.MACSTRING(e,t);return void 0!==r?r.length:0},N.VARDELTAS=function(e){var t=0,r=[];while(t=-128&&n<=127?X(e,t,r):j(e,t,r)}return r},N.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a>8,t[h+1]=255&c,t=t.concat(n[p])}return t},G.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0){var n=this.offset+r,a=new ge(this.data,n).parseStruct(e);return t&&(a.tableOffset=n),a}},ge.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),o=0;o>1,t.skip("uShort",3),e.glyphIndexMap={};for(var s=new ye.Parser(r,n+a+14),i=new ye.Parser(r,n+a+16+2*o),u=new ye.Parser(r,n+a+16+4*o),l=new ye.Parser(r,n+a+16+6*o),p=n+a+16+8*o,h=0;h=0;a-=1){var o=ye.getUShort(e,t+4+8*a),s=ye.getUShort(e,t+4+8*a+2);if(3===o&&(0===s||1===s||10===s)||0===o&&(0===s||1===s||2===s||3===s||4===s)){n=ye.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var i=new ye.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)me(r,i);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,i,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ue(e){var t,r=!0;for(t=e.length-1;t>0;t-=1){var n=e.get(t);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}}var a=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(a=a.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),a=a.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var o=new ne.Table("cmap",a);for(o.segments=[],t=0;t>4,s=15&a;if(o===r)break;if(t+=n[o],s===r)break;t+=n[s]}return parseFloat(t)}function Je(e,t){var r,n,a,o;if(28===t)return r=e.parseByte(),n=e.parseByte(),r<<8|n;if(29===t)return r=e.parseByte(),n=e.parseByte(),a=e.parseByte(),o=e.parseByte(),r<<24|n<<16|a<<8|o;if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return r=e.parseByte(),256*(t-247)+r+108;if(t>=251&&t<=254)return r=e.parseByte(),256*-(t-251)-r-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r>1,c.length=0,d=!0}function U(r){var l,m,b,w,k,E,O,R,L,C,D,I,A=0;while(A1&&!d&&(S=c.shift()+p,d=!0),y+=c.pop(),x(v,y);break;case 5:while(c.length>0)v+=c.shift(),y+=c.shift(),h.lineTo(v,y);break;case 6:while(c.length>0){if(v+=c.shift(),h.lineTo(v,y),0===c.length)break;y+=c.shift(),h.lineTo(v,y)}break;case 7:while(c.length>0){if(y+=c.shift(),h.lineTo(v,y),0===c.length)break;v+=c.shift(),h.lineTo(v,y)}break;case 8:while(c.length>0)n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s+c.shift(),h.curveTo(n,a,o,s,v,y);break;case 10:k=c.pop()+u,E=i[k],E&&U(E);break;case 11:return;case 12:switch(B=r[A],A+=1,B){case 35:n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),O=o+c.shift(),R=s+c.shift(),L=O+c.shift(),C=R+c.shift(),D=L+c.shift(),I=C+c.shift(),v=D+c.shift(),y=I+c.shift(),c.shift(),h.curveTo(n,a,o,s,O,R),h.curveTo(L,C,D,I,v,y);break;case 34:n=v+c.shift(),a=y,o=n+c.shift(),s=a+c.shift(),O=o+c.shift(),R=s,L=O+c.shift(),C=s,D=L+c.shift(),I=y,v=D+c.shift(),h.curveTo(n,a,o,s,O,R),h.curveTo(L,C,D,I,v,y);break;case 36:n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),O=o+c.shift(),R=s,L=O+c.shift(),C=s,D=L+c.shift(),I=C+c.shift(),v=D+c.shift(),h.curveTo(n,a,o,s,O,R),h.curveTo(L,C,D,I,v,y);break;case 37:n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),O=o+c.shift(),R=s+c.shift(),L=O+c.shift(),C=R+c.shift(),D=L+c.shift(),I=C+c.shift(),Math.abs(D-v)>Math.abs(I-y)?v=D+c.shift():y=I+c.shift(),h.curveTo(n,a,o,s,O,R),h.curveTo(L,C,D,I,v,y);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+B),c.length=0}break;case 14:c.length>0&&!d&&(S=c.shift()+p,d=!0),g&&(h.closePath(),g=!1);break;case 18:T();break;case 19:case 20:T(),A+=f+7>>3;break;case 21:c.length>2&&!d&&(S=c.shift()+p,d=!0),y+=c.pop(),v+=c.pop(),x(v,y);break;case 22:c.length>1&&!d&&(S=c.shift()+p,d=!0),v+=c.pop(),x(v,y);break;case 23:T();break;case 24:while(c.length>2)n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s+c.shift(),h.curveTo(n,a,o,s,v,y);v+=c.shift(),y+=c.shift(),h.lineTo(v,y);break;case 25:while(c.length>6)v+=c.shift(),y+=c.shift(),h.lineTo(v,y);n=v+c.shift(),a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s+c.shift(),h.curveTo(n,a,o,s,v,y);break;case 26:c.length%2&&(v+=c.shift());while(c.length>0)n=v,a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o,y=s+c.shift(),h.curveTo(n,a,o,s,v,y);break;case 27:c.length%2&&(y+=c.shift());while(c.length>0)n=v+c.shift(),a=y,o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s,h.curveTo(n,a,o,s,v,y);break;case 28:l=r[A],m=r[A+1],c.push((l<<24|m<<16)>>16),A+=2;break;case 29:k=c.pop()+e.gsubrsBias,E=e.gsubrs[k],E&&U(E);break;case 30:while(c.length>0){if(n=v,a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s+(1===c.length?c.shift():0),h.curveTo(n,a,o,s,v,y),0===c.length)break;n=v+c.shift(),a=y,o=n+c.shift(),s=a+c.shift(),y=s+c.shift(),v=o+(1===c.length?c.shift():0),h.curveTo(n,a,o,s,v,y)}break;case 31:while(c.length>0){if(n=v+c.shift(),a=y,o=n+c.shift(),s=a+c.shift(),y=s+c.shift(),v=o+(1===c.length?c.shift():0),h.curveTo(n,a,o,s,v,y),0===c.length)break;n=v,a=y+c.shift(),o=n+c.shift(),s=a+c.shift(),v=o+c.shift(),y=s+(1===c.length?c.shift():0),h.curveTo(n,a,o,s,v,y)}break;default:B<32?console.log("Glyph "+t.index+": unknown operator "+B):B<247?c.push(B-139):B<251?(l=r[A],A+=1,c.push(256*(B-247)+l+108)):B<255?(l=r[A],A+=1,c.push(256*-(B-251)-l-108)):(l=r[A],m=r[A+1],b=r[A+2],w=r[A+3],A+=4,c.push((l<<24|m<<16|b<<8|w)/65536))}}}return U(r),t.advanceWidth=S,h}function ct(e,t,r,n){var a,o=[],s=new ye.Parser(e,t),i=s.parseCard8();if(0===i)for(var u=0;u=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");o.push(a)}else{if(3!==i)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+i);var l,p=s.parseCard16(),h=s.parseCard16();if(0!==h)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+h);for(var c=0;c=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;h=0&&(r=n),n=t.indexOf(e),n>=0?r=n+ke.length:(r=ke.length+t.length,t.push(e)),r}function gt(){return new ne.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function vt(e){var t=new ne.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function pr(e){return new ne.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var hr={parse:lr,make:pr,unicodeRanges:ir,getUnicodeRange:ur};function cr(e,t){var r={},n=new ye.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a=Re.length){var s=n.parseChar();r.names.push(n.parseString(s))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;it.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Rr(e,t,r){for(var n=0;n0){var o=e.glyphs.get(a);return o.getMetrics()}}return r}function Lr(e){for(var t=0,r=0;rv||void 0===t)&&v>0&&(t=v),l 123 are reserved for internal usage");f|=1<0?Ht.make(I):void 0,P=dr.make(),M=Ot.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:E,weightName:O,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),N=e.metas&&Object.keys(e.metas).length>0?Ur.make(e.metas):void 0,G=[S,x,T,U,A,k,P,M,w];B&&G.push(B),e.tables.gsub&&G.push(Sr.make(e.tables.gsub)),N&&G.push(N);for(var F=Or(G),_=F.encode(),H=kr(_),z=F.fields,W=!1,Y=0;Y>>1,o=e[a].tag;if(o===t)return a;o>>1,o=e[a];if(o===t)return a;o>>1;r=e[o];var s=r.start;if(s===t)return r;s0)return r=e[n-1],t>r.end?0:r}function Pr(e,t){this.font=e,this.tableName=t}function Mr(e){Pr.call(this,e,"gpos")}function Nr(e){Pr.call(this,e,"gsub")}function Gr(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n0?(o=e.parseByte(),0===(t&a)&&(o=-o),o=r+o):o=(t&a)>0?r:r+e.parseShort(),o}function qr(e,t,r){var n,a,o=new ye.Parser(t,r);if(e.numberOfContours=o.parseShort(),e._xMin=o.parseShort(),e._yMin=o.parseShort(),e._xMax=o.parseShort(),e._yMax=o.parseShort(),e.numberOfContours>0){for(var s=e.endPointIndices=[],i=0;i0)for(var h=o.parseByte(),c=0;c0){var f,d=[];if(l>0){for(var g=0;g=0,d.push(f);for(var v=0,y=0;y0?(2&n)>0?(x.dx=o.parseShort(),x.dy=o.parseShort()):x.matchedPoints=[o.parseUShort(),o.parseUShort()]:(2&n)>0?(x.dx=o.parseChar(),x.dy=o.parseChar()):x.matchedPoints=[o.parseByte(),o.parseByte()],(8&n)>0?x.xScale=x.yScale=o.parseF2Dot14():(64&n)>0?(x.xScale=o.parseF2Dot14(),x.yScale=o.parseF2Dot14()):(128&n)>0&&(x.xScale=o.parseF2Dot14(),x.scale01=o.parseF2Dot14(),x.scale10=o.parseF2Dot14(),x.yScale=o.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=o.parseUShort(),e.instructions=[];for(var T=0;Tt.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var s=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=Xr([i],u)[0],u.dx=s.x-i.x,u.dy=s.y-i.y,o=Xr(a.points,u)}t.points=t.points.concat(o)}}return Vr(t.points)}function Qr(e,t,r,n){for(var a=new qe.GlyphSet(n),o=0;o=0)return n[a].script;if(t){var o={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,o),o.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Ir(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var o={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,o),o.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var o,s=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u=i[l-1].tag,"Features must be added in alphabetical order."),o={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(o),s.push(l),o.feature}}},getLookupTables:function(e,t,r,n,a){var o=this.getFeatureTable(e,t,r,a),s=[];if(o){for(var i,u=o.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p=0?r:-1;case 2:var n=Br(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n=0){for(var p=o.ligatureSets[l],h=0;h=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===o&&27===r)break}while(o>0);e.ip=a}function Un(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function wn(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function kn(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function En(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log("SPVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.pv=t.dpv=vn(r,n)}function On(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log("SFVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.fv=vn(r,n)}function Rn(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=vn(n,r)}function Ln(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=vn(n,r)}function Cn(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(16384*r.x),t.push(16384*r.y)}function Dn(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(16384*r.x),t.push(16384*r.y)}function In(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")}function An(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop(),o=t.pop(),s=t.pop(),i=e.z0,u=e.z1,l=i[r],p=i[n],h=u[a],c=u[o],f=e.z2[s];exports.DEBUG&&console.log("ISECT[], ",r,n,a,o,s);var d=l.x,g=l.y,v=p.x,y=p.y,m=h.x,b=h.y,S=c.x,x=c.y,T=(d-v)*(b-x)-(g-y)*(m-S),U=d*y-g*v,w=m*x-b*S;f.x=(U*(m-S)-w*(d-v))/T,f.y=(U*(b-x)-w*(g-y))/T}function Bn(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function Pn(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function Mn(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function Nn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||xn(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Gn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||xn(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Fn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||xn(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function _n(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||xn(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Hn(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function zn(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=sn}function Wn(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=ln}function Yn(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64}function qn(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),Tn(e,!1)}function Xn(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1}function jn(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64}function Vn(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])}function Zn(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function Qn(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function Kn(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)}function Jn(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)}function $n(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var a=e.ip,o=e.prog;e.prog=e.funcs[r];for(var s=0;s1?"loop "+(t.loop-i)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}t.loop=1}function ia(e,t){var r=t.stack,n=e?t.rp1:t.rp2,a=(e?t.z0:t.z1)[n],o=t.fv,s=t.pv,i=r.pop(),u=t.z2[t.contours[i]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",i);var p=s.distance(a,a,!1,!0);do{l!==a&&o.setRelative(l,l,p,s),l=l.nextPointOnContour}while(l!==u)}function ua(e,t){var r,n,a=t.stack,o=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[o],i=t.fv,u=t.pv,l=a.pop();switch(exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",l),l){case 0:r=t.tZone;break;case 1:r=t.gZone;break;default:throw new Error("Invalid zone")}for(var p=u.distance(s,s,!1,!0),h=r.length-2,c=0;c1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",s,a),n.setRelative(i,i,a),n.touch(i)}e.loop=1}function pa(e){var t=e.stack,r=e.rp1,n=e.rp2,a=e.loop,o=e.z0[r],s=e.z1[n],i=e.fv,u=e.dpv,l=e.z2;while(a--){var p=t.pop(),h=l[p];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"IP[]",p,r,"<->",n),i.interpolate(h,o,s,u),i.touch(h)}e.loop=1}function ha(e,t){var r=t.stack,n=r.pop()/64,a=r.pop(),o=t.z1[a],s=t.z0[t.rp0],i=t.fv,u=t.pv;i.setRelative(o,s,n,u),i.touch(o),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,a),t.rp1=t.rp0,t.rp2=a,e&&(t.rp0=a)}function ca(e){var t=e.stack,r=e.rp0,n=e.z0[r],a=e.loop,o=e.fv,s=e.pv,i=e.z1;while(a--){var u=t.pop(),l=i[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"ALIGNRP[]",u),o.setRelative(l,n,0,s),o.touch(l)}e.loop=1}function fa(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=un}function da(e,t){var r=t.stack,n=r.pop(),a=r.pop(),o=t.z0[a],s=t.fv,i=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",u,")",a);var l=i.distance(o,mn);e&&(Math.abs(l-u)",i),t.stack.push(Math.round(64*i))}function Ua(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function wa(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function ka(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(nr?1:0)}function Ra(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)}function La(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)}function Ca(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)}function Da(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)}function Ia(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)}function Aa(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(Tn(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))}function Ba(e){exports.DEBUG&&console.log(e.step,"EIF[]")}function Pa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)}function Ma(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)}function Na(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)}function Ga(e,t){var r=t.stack,n=r.pop(),a=t.fv,o=t.pv,s=t.ppem,i=t.deltaBase+16*(e-1),u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var p=0;p>4);if(f===s){var d=(15&c)-8;d>=0&&d++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",d*u);var g=l[h];a.setRelative(g,g,d*u,o)}}}function Fa(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDB[]",r),e.deltaBase=r}function _a(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDS[]",r),e.deltaShift=Math.pow(.5,r)}function Ha(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)}function za(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)}function Wa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(64*n/r)}function Ya(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)}function qa(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))}function Xa(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)}function ja(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(64*Math.floor(r/64))}function Va(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(64*Math.ceil(r/64))}function Za(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(n/64))}function Qa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm}function Ka(e,t){var r=t.stack,n=r.pop(),a=t.ppem,o=t.deltaBase+16*(e-1),s=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var i=0;i>4);if(p===a){var h=(15&l)-8;h>=0&&h++;var c=h*s;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",c),t.cvt[u]+=c}}}function Ja(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=cn,192&r){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t}function $a(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=cn,192&r){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t}function eo(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=on}function to(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=pn}function ro(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=hn}function no(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}function ao(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.dpv=vn(r,n)}function oo(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),1&r&&(n=35),32&r&&(n|=4096),t.push(n)}function so(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(a)}function io(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))}function uo(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))}function lo(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)}function po(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:return void(e.inhibitGridFit=!!r);case 2:return void(e.ignoreCvt=!!r);default:throw new Error("invalid INSTCTRL[] selector")}}function ho(e,t){var r=t.stack,n=t.prog,a=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var o=0;o=0?1:-1,i=Math.abs(i),e&&(l=o.cvt[h],n&&Math.abs(i-l)":"_")+(n?"R":"_")+(0===a?"Gr":1===a?"Bl":2===a?"Wh":"")+"]",e?h+"("+o.cvt[h]+","+l+")":"",c,"(d =",s,"->",u*i,")"),o.rp1=o.rp0,o.rp2=c,t&&(o.rp0=c)}function go(e){this.char=e,this.state={},this.activeState=null}function vo(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function yo(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function mo(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function bo(e){this.eventId=e,this.subscribers=[]}function So(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new bo(e)})})),e&&r.forEach((function(r){var n=e[r];"function"===typeof n&&t.events[r].subscribe(n)}));var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function xo(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],So.call(this,e)}function To(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Uo(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function wo(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function ko(e){return/[A-z]/.test(e)}function Eo(e){return/\s/.test(e)}function Oo(e){this.font=e,this.features={}}function Ro(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Lo(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n=a.start&&e<=a.end){var o=e-a.start;return a.index+o}}break;default:return-1}return-1}function Co(e,t){var r=Lo(e,t.coverage);return-1===r?null:e+t.deltaGlyphId}function Do(e,t){var r=Lo(e,t.coverage);return-1===r?null:t.substitute[r]}function Io(e,t){for(var r=[],n=0;n2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var a=this._fpgmState;if(!a){Sn.prototype=bn,a=this._fpgmState=new Sn("fpgm",r.tables.fpgm),a.funcs=[],a.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),a.step=-1);try{en(a)}catch(l){return console.log("Hinting error in FPGM:"+l),void(this._errorState=3)}}Sn.prototype=a,n=this._prepState=new Sn("prep",r.tables.prep),n.ppem=t;var o=r.tables.cvt;if(o)for(var s=n.cvt=new Array(o.length),i=t/r.unitsPerEm,u=0;u1))try{return tn(e,n)}catch(l){return this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},tn=function(e,t){var r,n,a,o=t.ppem/t.font.unitsPerEm,s=o,i=e.components;if(Sn.prototype=t,i){var u=t.font;n=[],r=[];for(var l=0;l=0&&e0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},xo.prototype.rangeToText=function(e){if(e instanceof vo)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},xo.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},xo.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},xo.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},xo.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof bo&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},xo.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!==typeof t)return{FAIL:"missing context start check."};if("function"!==typeof r)return{FAIL:"missing context end check."};var n=new yo(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},xo.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},xo.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},xo.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];r.ranges=[]}},xo.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t=0;r--){var n=t[r],a=Uo(n),o=wo(n);if(!a&&!o)return!0;if(a)return!1}return!1}function Zo(e){if(Uo(e.current))return!1;for(var t=0;t0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},cs.prototype.toTables=function(){return Dr.fontToTable(this)},cs.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},cs.prototype.toArrayBuffer=function(){for(var e=this.toTables(),t=e.encode(),r=new ArrayBuffer(t.length),n=new Uint8Array(r),a=0;a1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var n=e.parseUShort(),a=255&n;if(e.skip("uShort"),0===a){var o=e.parseUShort();e.skip("uShort",3);for(var s=0;s - * @license MIT - */ -var n=r("1fb5"),a=r("9152"),o=r("e3db");function s(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function i(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(e,t){if(i()=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function b(e){return+e!=e&&(e=0),l.alloc(+e)}function S(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(e).length;default:if(n)return Q(e).length;t=(""+t).toLowerCase(),n=!0}}function x(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return I(this,t,r);case"ascii":return P(this,t,r);case"latin1":case"binary":return M(this,t,r);case"base64":return D(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function T(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function U(e,t,r,n,a){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(a)return-1;r=e.length-1}else if(r<0){if(!a)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:w(e,t,r,n,a);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):w(e,[t],r,n,a);throw new TypeError("val must be string, number or Buffer")}function w(e,t,r,n,a){var o,s=1,i=e.length,u=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,i/=2,u/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(a){var p=-1;for(o=r;oi&&(r=i-u),o=r;o>=0;o--){for(var h=!0,c=0;ca&&(n=a)):n=a;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s239?4:l>223?3:l>191?2:1;if(a+h<=r)switch(h){case 1:l<128&&(p=l);break;case 2:o=e[a+1],128===(192&o)&&(u=(31&l)<<6|63&o,u>127&&(p=u));break;case 3:o=e[a+1],s=e[a+2],128===(192&o)&&128===(192&s)&&(u=(15&l)<<12|(63&o)<<6|63&s,u>2047&&(u<55296||u>57343)&&(p=u));break;case 4:o=e[a+1],s=e[a+2],i=e[a+3],128===(192&o)&&128===(192&s)&&128===(192&i)&&(u=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&i,u>65535&&u<1114112&&(p=u))}null===p?(p=65533,h=1):p>65535&&(p-=65536,n.push(p>>>10&1023|55296),p=56320|1023&p),n.push(p),a+=h}return B(n)}t.Buffer=l,t.SlowBuffer=b,t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:s(),t.kMaxLength=i(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return p(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return c(null,e,t,r)},l.allocUnsafe=function(e){return f(null,e)},l.allocUnsafeSlow=function(e){return f(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,a=0,o=Math.min(r,n);a0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,a){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),t<0||r>e.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&t>=r)return 0;if(n>=a)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,a>>>=0,this===e)return 0;for(var o=a-n,s=r-t,i=Math.min(o,s),u=this.slice(n,a),p=e.slice(t,r),h=0;ha)&&(r=a),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return k(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return O(this,e,t,r);case"latin1":case"binary":return R(this,e,t,r);case"base64":return L(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function B(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);var r="",n=0;while(nn)&&(r=n);for(var a="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function _(e,t,r,n,a,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function H(e,t,r,n){t<0&&(t=65535+t+1);for(var a=0,o=Math.min(e.length-r,2);a>>8*(n?a:1-a)}function z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var a=0,o=Math.min(e.length-r,4);a>>8*(n?a:3-a)&255}function W(e,t,r,n,a,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Y(e,t,r,n,o){return o||W(e,t,r,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,r,n,23,4),r+4}function q(e,t,r,n,o){return o||W(e,t,r,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t0&&(a*=256))n+=this[e+--t]*a;return n},l.prototype.readUInt8=function(e,t){return t||F(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||F(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||F(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||F(e,t,this.length);var n=this[e],a=1,o=0;while(++o=a&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||F(e,t,this.length);var n=t,a=1,o=this[e+--n];while(n>0&&(a*=256))o+=this[e+--n]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||F(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||F(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||F(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||F(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||F(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||F(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){var a=Math.pow(2,8*r)-1;_(this,e,t,r,a,0)}var o=1,s=0;this[t]=255&e;while(++s=0&&(s*=256))this[t+o]=e/s&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):z(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var o=0,s=1,i=0;this[t]=255&e;while(++o>0)-i&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var o=r-1,s=1,i=0;this[t+o]=255&e;while(--o>=0&&(s*=256))e<0&&0===i&&0!==this[t+o+1]&&(i=1),this[t+o]=(e/s>>0)-i&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):z(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||_(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return Y(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return Y(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return q(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return q(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--a)e[a+t]=this[a+r];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(o=t;o55295&&r<57344){if(!a){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(t-=3)>-1&&o.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(e){for(var t=[],r=0;r>8,a=r%256,o.push(a),o.push(n)}return o}function $(e){return n.toByteArray(j(e))}function ee(e,t,r,n){for(var a=0;a=t.length||a>=e.length)break;t[a+r]=e[a]}return a}function te(e){return e!==e}}).call(this,r("c8ba"))},c8ba:function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},e3db:function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}}}); -//# sourceMappingURL=12f30cb6044063ce9abe.worker.js.map \ No newline at end of file diff --git a/12f30cb6044063ce9abe.worker.js.map b/12f30cb6044063ce9abe.worker.js.map deleted file mode 100644 index 00c32a0..0000000 --- a/12f30cb6044063ce9abe.worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/base64-js/index.js","webpack:///./src/models/loadFont.worker.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/opentype.js/dist/opentype.module.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/isarray/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","self","window","opentype","require","onmessage","e","data","url","fileName","load","error","font","postMessage","message","read","buffer","offset","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","Math","pow","write","rt","abs","isNaN","floor","log","LN2","String","codePointAt","$defineProperty","result","position","this","TypeError","string","size","index","Number","second","first","TINF_OK","TINF_DATA_ERROR","Tree","table","Uint16Array","trans","Data","source","dest","sourceIndex","tag","bitcount","destLen","ltree","dtree","sltree","sdtree","length_bits","length_base","dist_bits","dist_base","clcidx","code_tree","lengths","tinf_build_bits_base","bits","base","delta","sum","tinf_build_fixed_trees","lt","dt","offs","tinf_build_tree","off","tinf_getbit","bit","tinf_read_bits","val","tinf_decode_symbol","cur","tinf_decode_trees","hlit","hdist","hclen","clen","sym","prev","tinf_inflate_block_data","dist","tinf_inflate_uncompressed_block","invlength","tinf_uncompress","bfinal","btype","res","slice","subarray","tinyInflate","derive","v0","v1","v2","v3","BoundingBox","x1","y1","x2","y2","Path","commands","fill","stroke","strokeWidth","fail","argument","predicate","isEmpty","addPoint","x","y","addX","addY","addBezier","x0","y0","p0","p1","p2","p3","b","a","b2ac","t1","sqrt","t2","addQuad","cp1x","cp1y","cp2x","cp2y","moveTo","type","lineTo","curveTo","bezierCurveTo","quadTo","quadraticCurveTo","close","closePath","extend","pathOrCommands","box","apply","getBoundingBox","startX","startY","prevX","prevY","cmd","draw","ctx","beginPath","fillStyle","strokeStyle","lineWidth","toPathData","decimalPlaces","floatToString","v","round","toFixed","packValues","arguments$1","arguments","undefined","toSVG","svg","toDOMElement","temporaryPath","newPath","document","createElementNS","setAttribute","check","assert","LIMIT16","LIMIT32","decode","encode","sizeOf","constant","BYTE","CHAR","CHARARRAY","USHORT","SHORT","UINT24","ULONG","LONG","FIXED","FWORD","UFWORD","LONGDATETIME","TAG","Card8","Card16","OffSize","SID","NUMBER","NUMBER16","NUMBER32","REAL","toString","exec","epsilon","parseFloat","nibbles","ii","out","i$1","ii$1","parseInt","substr","NAME","STRING","UTF8","numBytes","codePoints","numChars","j","getUint8","fromCharCode","UTF16","getUint16","codepoint","eightBitMacEncodings","macintosh","MACSTRING","dataView","dataLength","encoding","macEncodingCacheKeys","macEncodingTableCache","WeakMap","getMacEncodingTable","cacheKey","cachedTable","decodingTable","encodingTable","set","isByteEncodable","encodeVarDeltaRunAsZeroes","deltas","pos","runLength","numDeltas","encodeVarDeltaRunAsBytes","encodeVarDeltaRunAsWords","str","VARDELTAS","INDEX","offsets","OBJECT","encodedOffsets","offSize","offsetEncoder","encodedOffset","concat","DICT","keys","k","OPERAND","OPERATOR","isArray","OP","wmm","Table","tableName","fields","options","field","optionKeys","ushortList","itemName","list","count","tableList","records","itemCallback","recordList","Coverage","coverageTable","format","glyphs","ScriptList","scriptListTable","scriptRecord","script","defaultLangSys","reqFeatureIndex","featureIndexes","langSysRecords","langSysRecord","langSys","FeatureList","featureListTable","featureRecord","feature","featureParams","lookupListIndexes","LookupList","lookupListTable","subtableMakers","lookupTable","subtableCallback","lookupType","lookupFlag","subtables","CHARSTRING","ops","cachedValue","op","encodingFunction","sizeOfFunction","TABLE","subtableOffsets","bytes","RECORD","LITERAL","constructor","Record","getByte","getUShort","getShort","getInt16","getUInt24","getULong","getUint32","getFixed","decimal","fraction","getTag","getInt8","getOffset","getBytes","startOffset","endOffset","bytesToString","typeOffsets","byte","uShort","short","uLong","fixed","longDateTime","Parser","relativeOffset","parseByte","parseChar","parseCard8","parseUShort","parseCard16","parseSID","parseOffset16","parseShort","parseF2Dot14","parseUInt24","parseULong","parseOffset32","parseFixed","parseString","parseTag","parseLongDateTime","parseVersion","minorBase","major","minor","skip","amount","parseULongList","parseOffset16List","parseUShortList","parseShortList","parseUInt24List","parseByteList","parseList","parseList32","parseRecordList","recordDescription","rec","fieldName","fieldType","parseRecordList32","parseStruct","description","struct","parseValueRecord","valueFormat","valueRecord","xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice","parseValueRecordList","valueCount","values","parsePointer","storeOffset","structOffset","tableOffset","parsePointer32","parseListOfLists","subOffsets","subList","parseCoverage","ranges","parseClassDef","startGlyph","classes","classId","list32","recordList32","pointer","pointer32","offset16","uShortList","uInt24","offset32","uLongList","uInt24List","coverage","classDef","langSysTable","reserved","parseScriptList","parseFeatureList","parseStylisticSetFeatureParams","version","uiNameId","parseCharacterVariantFeatureParams","featUiLabelNameId","featUiTooltipTextNameId","sampleTextNameId","numNamedParameters","firstParamUiLabelNameId","characters","parseLookupList","lookupTableParsers","useMarkFilteringSet","markFilteringSet","parseFeatureVariationsList","majorVersion","minorVersion","featureVariations","conditionSetOffset","featureTableSubstitutionOffset","parse","getCard8","getCard16","parseCmapTableFormat12","cmap","groupCount","language","glyphIndexMap","startCharCode","endCharCode","startGlyphId","parseCmapTableFormat4","segCount","endCountParser","startCountParser","idDeltaParser","idRangeOffsetParser","glyphIndexOffset","glyphIndex","endCount","startCount","idDelta","idRangeOffset","parseCmapTable","numTables","platformId","encodingId","addSegment","segments","addTerminatorSegment","makeCmapTable","isPlan0Only","g","unicode","console","cmapTable","glyph","unicodes","sort","segCountToRemove","endCounts","startCounts","idDeltas","idRangeOffsets","glyphIds","cmap12Groups","segment","glyphId","segCountX2","searchRange","entrySelector","rangeShift","cmap4Length","cmap12Length","cmap12Offset","make","cffStandardStrings","cffStandardEncoding","cffExpertEncoding","standardNames","DefaultEncoding","CmapEncoding","CffEncoding","charset","GlyphNames","post","names","numberOfGlyphs","glyphNameIndex","addGlyphNamesAll","tables","charCodes","addUnicode","cffEncoding","isCIDFont","glyphNames","glyphIndexToName","addGlyphNamesToUnicodeMap","_IndexToUnicodeMap","addGlyphNames","opt","lowMemory","line","charToGlyphIndex","charName","nameToGlyphIndex","gid","getPathDefinition","path","_path","configurable","Glyph","bindConstructorValues","defineDependentProperty","externalName","internalName","newValue","GlyphSet","unitsPerEm","glyphLoader","ttfGlyphLoader","parseGlyph","buildPath","cffGlyphLoader","parseCFFCharstring","charstring","xMin","yMin","xMax","yMax","advanceWidth","getPath","fontSize","hPoints","xScale","yScale","hinting","getCommands","scale","getContours","points","contours","currentContour","pt","lastPointOfContour","getMetrics","xCoords","yCoords","metrics","min","max","leftSideBearing","isFinite","rightSideBearing","drawPoints","drawCircles","arc","PI","blueCircles","redCircles","drawMetrics","_push","unicodeObj","_hmtxTableData","loader","glyphset","equals","calcCFFSubroutineBias","subrs","bias","parseCFFIndex","conversionFn","objectOffset","objects","offsetSize","parseCFFIndexLowMemory","getCffIndexObject","parseFloatOperand","parser","eof","n1","n2","parseOperand","b0","b1","b2","b3","b4","entriesToObject","entries","parseCFFDict","operands","getCFFString","strings","interpretDict","dict","meta","newDict","parseCFFHeader","header","formatMajor","formatMinor","TOP_DICT_META","PRIVATE_DICT_META","parseCFFTopDict","parseCFFPrivateDict","gatherCFFTopDicts","cffIndex","topDictArray","iTopDict","topDictData","DataView","topDict","_subrs","_subrsBias","privateSize","private","privateOffset","privateDict","_defaultWidthX","defaultWidthX","_nominalWidthX","nominalWidthX","subrOffset","subrIndex","_privateDict","parseCFFCharset","nGlyphs","sid","i$2","parseCFFEncoding","enc","nCodes","nRanges","nLeft","c1x","c1y","c2x","c2y","subrsBias","stack","nStems","haveWidth","open","fdIndex","cff","_fdSelect","fdDict","_fdArray","width","newContour","parseStems","hasWidthArg","shift","codeIndex","subrCode","jpx","jpy","c3x","c3y","c4x","c4y","pop","gsubrsBias","gsubrs","parseCFFFDSelect","fdArrayCount","fdSelect","iGid","next","iRange","parseCFFTable","nameIndex","topDictIndex","stringIndex","globalSubrIndex","ros","fdArrayOffset","fdArray","fdSelectOffset","fdArrayIndex","numGlyphs","charStringsIndex","privateDictOffset","charStrings","charString","encodeString","makeHeader","makeNameIndex","fontNames","makeDict","attrs","entry","makeTopDict","makeTopDictIndex","topDicts","makeStringIndex","makeGlobalSubrIndex","makeCharsets","glyphName","glyphSID","glyphToOps","dx","dy","_13","_23","dx1","dy1","dx2","dy2","makeCharStringsIndex","makePrivateDict","makeCFFTable","fontScale","fullName","familyName","weight","weightName","fontBBox","fontMatrix","privateAttrs","postScriptName","charsets","parseHeadTable","head","fontRevision","checkSumAdjustment","magicNumber","flags","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","makeHeadTable","timestamp","Date","getTime","createdTimestamp","parseHheaTable","hhea","ascender","descender","lineGap","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfHMetrics","makeHheaTable","parseHmtxTableAll","numMetrics","parseHmtxTableOnLowMemory","parseHmtxTable","makeHmtxTable","hmtx","makeLtagTable","tags","stringPool","stringPoolOffset","parseLtagTable","tableVersion","numTags","ltag","parseMaxpTable","maxp","maxPoints","maxContours","maxCompositePoints","maxCompositeContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","makeMaxpTable","nameTableNames","macLanguages","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","macLanguageToScript","windowsLanguages","getLanguageCode","platformID","languageID","utf16","macScriptEncodings","macLanguageEncodings","getEncoding","encodingID","parseNameTable","stringOffset","nameID","text","translations","reverseDict","makeNameRecord","findSubArray","needle","haystack","needleLength","limit","loop","addStringToPool","pool","makeNameTable","nameIDs","namesWithNumericKeys","nameTableIds","id","macLanguageIds","windowsLanguageIds","nameRecords","lang","macPlatform","macLanguage","macScript","macEncoding","macName","macNameOffset","winLanguage","winName","winNameOffset","_name","unicodeRanges","begin","getUnicodeRange","range","parseOS2Table","os2","xAvgCharWidth","usWeightClass","usWidthClass","fsType","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","sFamilyClass","panose","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","achVendID","fsSelection","usFirstCharIndex","usLastCharIndex","sTypoAscender","sTypoDescender","sTypoLineGap","usWinAscent","usWinDescent","ulCodePageRange1","ulCodePageRange2","sxHeight","sCapHeight","usDefaultChar","usBreakChar","usMaxContent","makeOS2Table","parsePostTable","italicAngle","underlinePosition","underlineThickness","isFixedPitch","minMemType42","maxMemType42","minMemType1","maxMemType1","nameLength","makePostTable","subtableParsers","substFormat","deltaGlyphId","substitute","sequences","alternateSets","ligatureSets","ligGlyph","components","lookupRecordDesc","sequenceIndex","lookupListIndex","parseGsubTable","scripts","features","lookups","variations","forEach","f","match","featureParamsTable","p$1","ruleSets","glyphCount","substCount","input","lookupRecords","classSets","coverages","chainRuleSets","backtrack","lookahead","backtrackClassDef","inputClassDef","lookaheadClassDef","chainClassSet","backtrackCoverage","inputCoverage","lookaheadCoverage","extensionLookupType","extensionParser","extension","substitutes","makeGsubTable","gsub","subtable","alternateSet","ligatureSet","ligature","parseMetaTable","numDataMaps","dataOffset","makeMetaTable","log2","computeCheckSum","makeTableRecord","checkSum","makeSfntTable","sfnt","highestPowerOf2","recordFields","tableFields","tableLength","tableRecord","r1","r2","metricsForChar","chars","notFoundMetrics","average","vs","fontToSfntTable","firstCharIndex","xMins","yMins","xMaxs","yMaxs","advanceWidths","leftSideBearings","rightSideBearings","lastCharIndex","globals","advanceWidthAvg","maxLeftSideBearing","headTable","hheaTable","maxpTable","os2Table","assign","hasChar","hmtxTable","englishFamilyName","getEnglishName","englishStyleName","englishFullName","replace","uniqueID","en","preferredFamily","fontFamily","preferredSubfamily","fontSubfamily","languageTags","nameTable","ltagTable","postTable","cffTable","metaTable","metas","sfntTable","checkSumAdjusted","fontToTable","searchTag","imin","imax","imid","binSearch","Layout","Position","Substitution","arraysEqual","ar1","ar2","getSubstFormat","defaultSubtable","isBrowser","nodeBufferToArrayBuffer","ab","ArrayBuffer","view","arrayBufferToNodeBuffer","Buffer","checkArgument","expression","parseGlyphCoordinate","flag","previousValue","shortVectorBitMask","sameBitMask","numberOfContours","_xMin","_yMin","_xMax","_yMax","endPointIndices","instructionLength","instructions","numberOfCoordinates","repeatCount","point","i$3","onCurve","px","i$4","py","i$5","isComposite","moreComponents","component","scale01","scale10","matchedPoints","i$6","transformPoints","transform","newPoints","newPt","contourIndex","contour","curr","next2","componentGlyph","transformedPoints","firstPt","secondPt","parseGlyfTableAll","loca","nextOffset","parseGlyfTableOnLowMemory","parseGlyfTable","getTable","layout","createDefaultTable","getScriptNames","map","getDefaultScriptName","hasLatn","getScriptTable","scr","splice","getLangSysTable","scriptTable","getFeatureTable","featIndexes","allFeatures","params","getLookupTables","featureTable","allLookups","getGlyphClass","classDefTable","getCoverageIndex","expandCoverage","init","defaultKerningTables","getKerningTables","getKerningValue","kerningLookups","leftIndex","rightIndex","covIndex","posFormat","pairSet","pairSets","pair","secondGlyph","value1","class1","classDef1","class2","classDef2","pair$1","classRecords","gpos","getSingle","substitutions","lookupTables","idx","sub","by","getAlternates","alternates","getLigatures","ligatures","ligSet","lig","addSingle","substitution","coverageGlyph","addAlternate","addLigature","ligComponents","ligatureTable","getFeature","test","add","instructionTable","execGlyph","execComponent","glyf","Hinting","_fpgmState","_prepState","_errorState","roundOff","roundToGrid","sign","roundToDoubleGrid","roundToHalfGrid","roundUpToGrid","ceil","roundDownToGrid","roundSuper","period","srPeriod","phase","srPhase","threshold","srThreshold","trunc","xUnitVector","axis","distance","o1","o2","xo","interpolate","rp1","rp2","pv","do1","do2","doa1","doa2","dm1","dm2","setRelative","normalSlope","NEGATIVE_INFINITY","rp","org","rpx","rpy","yo","rpdx","rpdy","slope","touch","xTouched","touched","untouch","yUnitVector","POSITIVE_INFINITY","yTouched","UnitVector","freeze","getUnitVector","HPoint","prevPointOnContour","nextPointOnContour","preventExtensions","pvns","fvs","nextTouched","prevTouched","HPZero","defaultState","cvCutIn","deltaBase","deltaShift","minDis","autoFlip","State","env","prog","zp0","zp1","zp2","rp0","fv","dpv","initTZone","state","tZone","gZone","handleElse","ins","ip","nesting","SVTCA","DEBUG","step","SPVTCA","SFVTCA","SPVTL","p2i","p1i","z2","z1","SFVTL","SPVFS","SFVFS","GPV","GFV","SFVTPV","ISECT","pa0i","pa1i","pb0i","pb1i","pi","z0","pa0","pa1","pb0","pb1","x3","y3","x4","y4","div","f1","f2","SRP0","SRP1","SRP2","SZP0","SZP1","SZP2","SZPS","SLOOP","RTG","RTHG","SMD","ELSE","JMPR","SCVTCI","DUP","POP","CLEAR","SWAP","DEPTH","LOOPCALL","fn","cip","cprog","funcs","CALL","CINDEX","MINDEX","FDEF","ipBegin","MDAP","IUP","cp","pp","np","pLen","SHP","rpi","SHC","ci","sp","SHZ","z","SHPIX","IP","rp1i","rp2i","MSIRP","ALIGNRP","rp0i","RTDG","MIAP","cv","cvt","NPUSHB","NPUSHW","w","WS","store","RS","WCVTP","RCVT","cvte","GC","MD","pi2","pi1","MPPEM","ppem","FLIPON","LT","e2","e1","LTEQ","GT","GTEQ","EQ","NEQ","ODD","EVEN","IF","EIF","AND","OR","NOT","DELTAP123","ds","arg","appem","mag","SDB","SDS","ADD","SUB","DIV","MUL","ABS","NEG","FLOOR","CEILING","ROUND","WCVTF","DELTAC123","SROUND","S45ROUND","ROFF","RUTG","RDTG","SCANCTRL","SDPVTL","GETINFO","sel","ROLL","MAX","MIN","SCANTYPE","INSTCTRL","inhibitGridFit","ignoreCvt","PUSHB","PUSHW","MDRP_MIRP","indirect","setRp0","keepD","ro","od","md","Token","char","activeState","ContextRange","startIndex","contextName","ContextChecker","checkStart","checkEnd","openRange","ContextParams","context","currentIndex","current","Event","eventId","subscribers","initializeCoreEvents","events","this$1","coreEvents","event","subscribe","requiresContextUpdate","updateContextsRanges","Tokenizer","tokens","registeredContexts","contextCheckers","registeredModifiers","isArabicChar","isIsolatedArabicChar","isTashkeelArabicChar","isLatinChar","isWhiteSpace","FeatureQuery","SubstitutionAction","action","lookupCoverage","singleSubstitutionFormat1","substituteIndex","singleSubstitutionFormat2","lookupCoverageList","coverageList","contextParams","lookupList","lookupIndex","chainingSubstitutionFormat3","lookupsCount","inputLookups","lookaheadOffset","lookaheadContext","lookaheadParams","lookaheadLookups","backtrackContext","reverse","backtrackParams","backtrackLookups","contextRulesMatch","lookupRecord","getLookupByIndex","subtable$1","getLookupMethod","substitutionType","getSubstitutionType","ligatureSubstitutionFormat1","ligSetIndex","lookaheadItem","decompositionSubstitutionFormat1","arabicWordStartCheck","prevChar","arabicWordEndCheck","nextChar","prepState","fpgmState","fpgm","prep","oCvt","cg","gz","cc","gLen","setState","getState","stateId","inboundIndex","composeRUD","RUDs","silent","RUD","hasFAILObject","obj","every","FAIL","report","filter","dispatch","replaceRange","isTokenType","token","replaced","replaceToken","removeRange","removeToken","insertToken","tokenType","registerModifier","modifierId","condition","modifier","newToken","conditionParams","canApplyModifier","modifierParams","newStateValue","eventHandler","unsubscribe","subsId","setCurrentIndex","rangeToText","getRangeTokens","getText","getContext","on","eventName","args","subscriber","registerContextChecker","contextStartCheck","contextEndCheck","endIndex","getContextRanges","resetContextsRanges","runContextCheck","setEndOffset","rangeId","contextChecker","tokenize","from","getDefaultScriptFeaturesIndexes","getScriptFeaturesIndexes","scriptTag","mapTagsToFeatures","getScriptFeatures","featuresIndexes","lookupFeature","query","getFeatureLookups","getLookupSubtables","substType","supports","supportedScript","supportedFeature","some","scriptFeatures","arabicWordCheck","startCheck","endCheck","arabicSentenceStartCheck","arabicSentenceEndCheck","nextIsWhitespace","arabicCharAhead","arabicSentenceCheck","singleSubstitutionFormat1$1","singleSubstitutionFormat2$1","chainingSubstitutionFormat3$1","subst","ligatureSubstitutionFormat1$1","compsCount","SUBSTITUTIONS","applySubstitution","willConnectPrev","charContextParams","isolated","tashkeel","willConnectNext","arabicPresentationForms","featuresTags","tokenizer","CONNECT","info","getContextParams","arabicRequiredLigatures","latinWordStartCheck","latinWordEndCheck","latinWordCheck","getContextParams$1","latinLigature","Bidi","baseDir","checkId","contextChecks","tokenizeText","reverseArabicSentences","rangeTokens","checkGlyphIndexStatus","applyArabicPresentationForms","applyArabicRequireLigatures","applyLatinLigatures","Font","empty","styleName","designer","designerURL","manufacturer","manufacturerURL","license","licenseURL","copyright","trademark","weightClass","usWeightClasses","MEDIUM","widthClass","usWidthClasses","fsSelectionValues","REGULAR","supported","_hinting","outlinesFormat","addName","nameString","JSON","stringify","nameKey","makeFvarAxis","minValue","defaultValue","maxValue","parseFvarAxis","makeFvarInstance","inst","axes","axisTag","coordinates","parseFvarInstance","makeFvarTable","fvar","instances","offsetToData","parseFvarTable","axisCount","axisSize","instanceCount","instanceSize","instanceStart","setText","registerFeatures","supportedTags","applyFeatures","checkContextReady","contextId","applyFeaturesToContexts","processText","getBidiText","getTextGlyphs","indexes","deleted","charToGlyph","updateFeatures","defaultRenderOptions","stringToGlyphs","bidi","charToGlyphIndexMod","notdef","nameToGlyph","leftGlyph","rightGlyph","gposKerning","kerningPairs","kerning","forEachGlyph","callback","kerningValue","letterSpacing","tracking","fullPath","gX","gY","gFontSize","glyphPath","getPaths","glyphPaths","getAdvanceWidth","validate","_this","assertNamePresent","englishName","trim","toTables","toBuffer","warn","toArrayBuffer","intArray","download","arrayBuffer","URL","webkitURL","blob","Blob","link","createElement","href","createObjectURL","createEvent","initEvent","dispatchEvent","fs","writeFileSync","ITALIC","UNDERSCORE","NEGATIVE","OUTLINED","STRIKEOUT","BOLD","USER_TYPO_METRICS","WWS","OBLIQUE","ULTRA_CONDENSED","EXTRA_CONDENSED","CONDENSED","SEMI_CONDENSED","SEMI_EXPANDED","EXPANDED","EXTRA_EXPANDED","ULTRA_EXPANDED","THIN","EXTRA_LIGHT","LIGHT","NORMAL","SEMI_BOLD","EXTRA_BOLD","BLACK","subtableParsers$1","parseGposTable","posformat","valueFormat1","valueFormat2","value2","class1Count","class2Count","subtableMakers$1","makeGposTable","parseWindowsKernTable","pairs","subtableVersion","nPairs","parseMacKernTable","nTables","parseKernTable","kern","parseLocaTable","shortVersion","parseFn","glyphOffsets","glyphOffset","loadFromFile","readFile","err","loadFromUrl","request","XMLHttpRequest","responseType","onload","response","statusText","onerror","send","parseOpenTypeTableEntries","tableEntries","checksum","compression","parseWOFFTableEntries","compLength","origLength","compressedLength","uncompressTable","tableEntry","inBuffer","outBuffer","parseBuffer","cffTableEntry","fvarTableEntry","glyfTableEntry","gposTableEntry","gsubTableEntry","hmtxTableEntry","kernTableEntry","locaTableEntry","nameTableEntry","metaTableEntry","signature","flavor","locaTable","locaOffsets","glyfTable","kernTable","gposTable","gsubTable","ref","uiName","ref$1","featUiLabelName","fvarTable","isNode","loadFn","Promise","resolve","reject","loadSync","readFileSync","__proto__","_parse","base64","ieee754","typedArraySupport","foo","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","checked","isEncoding","actual","fromArrayLike","array","byteOffset","isBuffer","copy","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","inspect","target","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","MAX_ARGUMENTS_LENGTH","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","src","dst","Function"],"mappings":"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cACA,UACA,aACA,WACA,kBACA,qBACA,qBACA,aACA,yBACA,YACA,gBAGAC,GAAe,CACfC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,UACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,QACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,UACJC,GAAI,UACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,QACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,UACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,K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,OACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,OAASj/B,IAAK,QACtB,CAACi/B,MAAO,OAASj/B,IAAK,QACtB,CAACi/B,MAAO,QAASj/B,IAAK,SACtB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,OAASj/B,IAAK,QACtB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,OAASj/B,IAAK,QACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,OAASj/B,IAAK,QACtB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,KAAQj/B,IAAK,MACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAAQj/B,IAAK,OACrB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,KAASj/B,IAAK,OACtB,CAACi/B,MAAO,MAASj/B,IAAK,OACtB,CAACi/B,MAAO,OAASj/B,IAAK,SAG1B,SAASk/B,GAAgBpf,GACrB,IAAK,IAAI1jB,EAAI,EAAGA,EAAI4iC,GAAclgC,OAAQ1C,GAAK,EAAG,CAC9C,IAAI+iC,EAAQH,GAAc5iC,GAC1B,GAAI0jB,GAAWqf,EAAMF,OAASnf,EAAUqf,EAAMn/B,IAC1C,OAAO5D,EAIf,OAAQ,EAIZ,SAASgjC,GAAct+B,EAAMf,GACzB,IAAIs/B,EAAM,GACNnhC,EAAI,IAAI2f,GAAMzG,OAAOtW,EAAMf,GAC/Bs/B,EAAI3iB,QAAUxe,EAAEuZ,cAChB4nB,EAAIC,cAAgBphC,EAAE2Z,aACtBwnB,EAAIE,cAAgBrhC,EAAEuZ,cACtB4nB,EAAIG,aAAethC,EAAEuZ,cACrB4nB,EAAII,OAASvhC,EAAEuZ,cACf4nB,EAAIK,gBAAkBxhC,EAAE2Z,aACxBwnB,EAAIM,gBAAkBzhC,EAAE2Z,aACxBwnB,EAAIO,kBAAoB1hC,EAAE2Z,aAC1BwnB,EAAIQ,kBAAoB3hC,EAAE2Z,aAC1BwnB,EAAIS,kBAAoB5hC,EAAE2Z,aAC1BwnB,EAAIU,kBAAoB7hC,EAAE2Z,aAC1BwnB,EAAIW,oBAAsB9hC,EAAE2Z,aAC5BwnB,EAAIY,oBAAsB/hC,EAAE2Z,aAC5BwnB,EAAIa,eAAiBhiC,EAAE2Z,aACvBwnB,EAAIc,mBAAqBjiC,EAAE2Z,aAC3BwnB,EAAIe,aAAeliC,EAAE2Z,aACrBwnB,EAAIgB,OAAS,GACb,IAAK,IAAIjkC,EAAI,EAAGA,EAAI,GAAIA,IACpBijC,EAAIgB,OAAOjkC,GAAK8B,EAAEoZ,YA6BtB,OA1BA+nB,EAAIiB,gBAAkBpiC,EAAE8Z,aACxBqnB,EAAIkB,gBAAkBriC,EAAE8Z,aACxBqnB,EAAImB,gBAAkBtiC,EAAE8Z,aACxBqnB,EAAIoB,gBAAkBviC,EAAE8Z,aACxBqnB,EAAIqB,UAAY/9B,OAAO6M,aAAatR,EAAEoZ,YAAapZ,EAAEoZ,YAAapZ,EAAEoZ,YAAapZ,EAAEoZ,aACnF+nB,EAAIsB,YAAcziC,EAAEuZ,cACpB4nB,EAAIuB,iBAAmB1iC,EAAEuZ,cACzB4nB,EAAIwB,gBAAkB3iC,EAAEuZ,cACxB4nB,EAAIyB,cAAgB5iC,EAAE2Z,aACtBwnB,EAAI0B,eAAiB7iC,EAAE2Z,aACvBwnB,EAAI2B,aAAe9iC,EAAE2Z,aACrBwnB,EAAI4B,YAAc/iC,EAAEuZ,cACpB4nB,EAAI6B,aAAehjC,EAAEuZ,cACjB4nB,EAAI3iB,SAAW,IACf2iB,EAAI8B,iBAAmBjjC,EAAE8Z,aACzBqnB,EAAI+B,iBAAmBljC,EAAE8Z,cAGzBqnB,EAAI3iB,SAAW,IACf2iB,EAAIgC,SAAWnjC,EAAE2Z,aACjBwnB,EAAIiC,WAAapjC,EAAE2Z,aACnBwnB,EAAIkC,cAAgBrjC,EAAEuZ,cACtB4nB,EAAImC,YAActjC,EAAEuZ,cACpB4nB,EAAIoC,aAAevjC,EAAEuZ,eAGlB4nB,EAGX,SAASqC,GAAalvB,GAClB,OAAO,IAAI7O,GAAM0O,MAAM,OAAQ,CAC3B,CAAC1V,KAAM,UAAWmN,KAAM,SAAUzM,MAAO,GACzC,CAACV,KAAM,gBAAiBmN,KAAM,QAASzM,MAAO,GAC9C,CAACV,KAAM,gBAAiBmN,KAAM,SAAUzM,MAAO,GAC/C,CAACV,KAAM,eAAgBmN,KAAM,SAAUzM,MAAO,GAC9C,CAACV,KAAM,SAAUmN,KAAM,SAAUzM,MAAO,GACxC,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,KAChD,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,KAChD,CAACV,KAAM,oBAAqBmN,KAAM,QAASzM,MAAO,GAClD,CAACV,KAAM,oBAAqBmN,KAAM,QAASzM,MAAO,KAClD,CAACV,KAAM,oBAAqBmN,KAAM,QAASzM,MAAO,KAClD,CAACV,KAAM,oBAAqBmN,KAAM,QAASzM,MAAO,KAClD,CAACV,KAAM,sBAAuBmN,KAAM,QAASzM,MAAO,GACpD,CAACV,KAAM,sBAAuBmN,KAAM,QAASzM,MAAO,KACpD,CAACV,KAAM,iBAAkBmN,KAAM,QAASzM,MAAO,IAC/C,CAACV,KAAM,qBAAsBmN,KAAM,QAASzM,MAAO,KACnD,CAACV,KAAM,eAAgBmN,KAAM,QAASzM,MAAO,GAC7C,CAACV,KAAM,cAAemN,KAAM,OAAQzM,MAAO,GAC3C,CAACV,KAAM,cAAemN,KAAM,OAAQzM,MAAO,GAC3C,CAACV,KAAM,UAAWmN,KAAM,OAAQzM,MAAO,GACvC,CAACV,KAAM,cAAemN,KAAM,OAAQzM,MAAO,GAC3C,CAACV,KAAM,YAAamN,KAAM,OAAQzM,MAAO,GACzC,CAACV,KAAM,mBAAoBmN,KAAM,OAAQzM,MAAO,GAChD,CAACV,KAAM,YAAamN,KAAM,OAAQzM,MAAO,GACzC,CAACV,KAAM,cAAemN,KAAM,OAAQzM,MAAO,GAC3C,CAACV,KAAM,WAAYmN,KAAM,OAAQzM,MAAO,GACxC,CAACV,KAAM,WAAYmN,KAAM,OAAQzM,MAAO,GACxC,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,GAChD,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,GAChD,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,GAChD,CAACV,KAAM,kBAAmBmN,KAAM,QAASzM,MAAO,GAChD,CAACV,KAAM,YAAamN,KAAM,YAAazM,MAAO,QAC9C,CAACV,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,mBAAoBmN,KAAM,SAAUzM,MAAO,GAClD,CAACV,KAAM,kBAAmBmN,KAAM,SAAUzM,MAAO,GACjD,CAACV,KAAM,gBAAiBmN,KAAM,QAASzM,MAAO,GAC9C,CAACV,KAAM,iBAAkBmN,KAAM,QAASzM,MAAO,GAC/C,CAACV,KAAM,eAAgBmN,KAAM,QAASzM,MAAO,GAC7C,CAACV,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,eAAgBmN,KAAM,SAAUzM,MAAO,GAC9C,CAACV,KAAM,mBAAoBmN,KAAM,QAASzM,MAAO,GACjD,CAACV,KAAM,mBAAoBmN,KAAM,QAASzM,MAAO,GACjD,CAACV,KAAM,WAAYmN,KAAM,QAASzM,MAAO,GACzC,CAACV,KAAM,aAAcmN,KAAM,QAASzM,MAAO,GAC3C,CAACV,KAAM,gBAAiBmN,KAAM,SAAUzM,MAAO,GAC/C,CAACV,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,eAAgBmN,KAAM,SAAUzM,MAAO,IAC/CmV,GAGP,IAAI6sB,GAAM,CAAExhB,MAAOuhB,GAAehe,KAAMsgB,GAAc1C,cAAeA,GAAeE,gBAAiBA,IAKrG,SAASyC,GAAe7gC,EAAMf,GAC1B,IAAI+hB,EAAO,GACP5jB,EAAI,IAAI2f,GAAMzG,OAAOtW,EAAMf,GAU/B,OATA+hB,EAAKpF,QAAUxe,EAAEoa,eACjBwJ,EAAK8f,YAAc1jC,EAAEga,aACrB4J,EAAK+f,kBAAoB3jC,EAAE2Z,aAC3BiK,EAAKggB,mBAAqB5jC,EAAE2Z,aAC5BiK,EAAKigB,aAAe7jC,EAAE8Z,aACtB8J,EAAKkgB,aAAe9jC,EAAE8Z,aACtB8J,EAAKmgB,aAAe/jC,EAAE8Z,aACtB8J,EAAKogB,YAAchkC,EAAE8Z,aACrB8J,EAAKqgB,YAAcjkC,EAAE8Z,aACb8J,EAAKpF,SACT,KAAK,EACDoF,EAAKC,MAAQP,GAAcxa,QAC3B,MACJ,KAAK,EACD8a,EAAKE,eAAiB9jB,EAAEuZ,cACxBqK,EAAKG,eAAiB,IAAItjB,MAAMmjB,EAAKE,gBACrC,IAAK,IAAI5lB,EAAI,EAAGA,EAAI0lB,EAAKE,eAAgB5lB,IACrC0lB,EAAKG,eAAe7lB,GAAK8B,EAAEuZ,cAG/BqK,EAAKC,MAAQ,GACb,IAAK,IAAInT,EAAM,EAAGA,EAAMkT,EAAKE,eAAgBpT,IACzC,GAAIkT,EAAKG,eAAerT,IAAQ4S,GAAc1iB,OAAQ,CAClD,IAAIsjC,EAAalkC,EAAEqZ,YACnBuK,EAAKC,MAAM7hB,KAAKhC,EAAEia,YAAYiqB,IAItC,MACJ,KAAK,IACDtgB,EAAKE,eAAiB9jB,EAAEuZ,cACxBqK,EAAKtgB,OAAS,IAAI7C,MAAMmjB,EAAKE,gBAC7B,IAAK,IAAI8I,EAAM,EAAGA,EAAMhJ,EAAKE,eAAgB8I,IACzChJ,EAAKtgB,OAAOspB,GAAO5sB,EAAEqZ,YAGzB,MAER,OAAOuK,EAGX,SAASugB,KACL,OAAO,IAAI1+B,GAAM0O,MAAM,OAAQ,CAC3B,CAAC1V,KAAM,UAAWmN,KAAM,QAASzM,MAAO,QACxC,CAACV,KAAM,cAAemN,KAAM,QAASzM,MAAO,GAC5C,CAACV,KAAM,oBAAqBmN,KAAM,QAASzM,MAAO,GAClD,CAACV,KAAM,qBAAsBmN,KAAM,QAASzM,MAAO,GACnD,CAACV,KAAM,eAAgBmN,KAAM,QAASzM,MAAO,GAC7C,CAACV,KAAM,eAAgBmN,KAAM,QAASzM,MAAO,GAC7C,CAACV,KAAM,eAAgBmN,KAAM,QAASzM,MAAO,GAC7C,CAACV,KAAM,cAAemN,KAAM,QAASzM,MAAO,GAC5C,CAACV,KAAM,cAAemN,KAAM,QAASzM,MAAO,KAIpD,IAAIykB,GAAO,CAAEjE,MAAO8jB,GAAgBvgB,KAAMihB,IAItCC,GAAkB,IAAI3jC,MAAM,GAGhC2jC,GAAgB,GAAK,WACjB,IAAIviC,EAAQiD,KAAKxB,OAASwB,KAAKqU,eAC3BkrB,EAAcv/B,KAAKyU,cACvB,OAAoB,IAAhB8qB,EACO,CACHA,YAAa,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCqmB,aAAcx/B,KAAKyU,eAEA,IAAhB8qB,EACA,CACHA,YAAa,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCsmB,WAAYz/B,KAAK6V,0BAGzBrM,EAAMC,QAAO,EAAO,KAAO1M,EAAMsO,SAAS,IAAM,2CAIpDi0B,GAAgB,GAAK,WACjB,IAAIC,EAAcv/B,KAAKyU,cAEvB,OADAjL,EAAMrE,SAAyB,IAAhBo6B,EAAmB,mEAC3B,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCumB,UAAW1/B,KAAKgY,qBAKxBsnB,GAAgB,GAAK,WACjB,IAAIC,EAAcv/B,KAAKyU,cAEvB,OADAjL,EAAMrE,SAAyB,IAAhBo6B,EAAmB,oEAC3B,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCwmB,cAAe3/B,KAAKgY,qBAK5BsnB,GAAgB,GAAK,WACjB,IAAIC,EAAcv/B,KAAKyU,cAEvB,OADAjL,EAAMrE,SAAyB,IAAhBo6B,EAAmB,mDAC3B,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCymB,aAAc5/B,KAAKgY,kBAAiB,WAChC,MAAO,CACH6nB,SAAU7/B,KAAKyU,cACfqrB,WAAY9/B,KAAK8V,gBAAgB9V,KAAKyU,cAAgB,SAMtE,IAAIsrB,GAAmB,CACnBC,cAAe5rB,GAAOL,OACtBksB,gBAAiB7rB,GAAOL,QAwH5B,SAASmsB,GAAepiC,EAAMf,GAC1BA,EAAQA,GAAS,EACjB,IAGI4D,EAHAzF,EAAI,IAAIkZ,GAAOtW,EAAMf,GACrByzB,EAAet1B,EAAEoa,aAAa,GAiClC,OAhCA9L,EAAMrE,SAA0B,IAAjBqrB,GAAuC,MAAjBA,EAAsB,mCAGvD7vB,EADiB,IAAjB6vB,EACQ,CACJ9W,QAAS8W,EACT2P,QAASjlC,EAAEqe,kBACX6mB,SAAUllC,EAAEse,mBACZ6mB,QAASnlC,EAAEif,gBAAgBmlB,KAGvB,CACJ5lB,QAAS8W,EACT2P,QAASjlC,EAAEqe,kBACX6mB,SAAUllC,EAAEse,mBACZ6mB,QAASnlC,EAAEif,gBAAgBmlB,IAC3BgB,WAAYplC,EAAEqf,8BAItB5Z,EAAMy/B,SAASG,SAAQ,SAAUC,GAE7B,GAAIA,EAAEt/B,IAAIu/B,MAAM,uBAAwB,CACpC,IAAIvlC,EAAI,IAAIkZ,GAAOtW,EAAM0iC,EAAEpvB,QAAQ0G,aACnC0oB,EAAEpvB,QAAQsvB,mBAAqBxlC,EAAEue,sCAGhC,GAAI+mB,EAAEt/B,IAAIu/B,MAAM,wBAAyB,CAC1C,IAAIE,EAAM,IAAIvsB,GAAOtW,EAAM0iC,EAAEpvB,QAAQ0G,aACrC0oB,EAAEpvB,QAAQsvB,mBAAqBC,EAAI/mB,4CAEhC4mB,EAAEpvB,QAAQ0G,eAEdnX,EAxJX2+B,GAAgB,GAAK,WACjB,IAAIviC,EAAQiD,KAAKxB,OAASwB,KAAKqU,eAC3BkrB,EAAcv/B,KAAKyU,cAEvB,GAAoB,IAAhB8qB,EACA,MAAO,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCynB,SAAU5gC,KAAKgY,kBAAiB,WAC5B,IAAI6oB,EAAa7gC,KAAKyU,cAClBqsB,EAAa9gC,KAAKyU,cACtB,MAAO,CACHssB,MAAO/gC,KAAK8V,gBAAgB+qB,EAAa,GACzCG,cAAehhC,KAAKoW,gBAAgB0qB,EAAYf,SAIzD,GAAoB,IAAhBR,EACP,MAAO,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCC,SAAUpZ,KAAK2X,aAAavD,GAAOgF,UACnC6nB,UAAWjhC,KAAKgY,kBAAiB,WAC7B,IAAI6oB,EAAa7gC,KAAKyU,cAClBqsB,EAAa9gC,KAAKyU,cACtB,MAAO,CACH8D,QAASvY,KAAK8V,gBAAgB+qB,EAAa,GAC3CG,cAAehhC,KAAKoW,gBAAgB0qB,EAAYf,SAIzD,GAAoB,IAAhBR,EAAmB,CAC1B,IAAIsB,EAAa7gC,KAAKyU,cAClBqsB,EAAa9gC,KAAKyU,cACtB,MAAO,CACH8qB,YAAaA,EACb2B,UAAWlhC,KAAKkW,UAAU2qB,EAAYzsB,GAAOuE,QAAQvE,GAAO+E,WAC5D6nB,cAAehhC,KAAKoW,gBAAgB0qB,EAAYf,KAGxDv2B,EAAMC,QAAO,EAAO,KAAO1M,EAAMsO,SAAS,IAAM,8CAIpDi0B,GAAgB,GAAK,WACjB,IAAIviC,EAAQiD,KAAKxB,OAASwB,KAAKqU,eAC3BkrB,EAAcv/B,KAAKyU,cACvB,OAAoB,IAAhB8qB,EACO,CACHA,YAAa,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCgoB,cAAenhC,KAAKgY,kBAAiB,WACjC,MAAO,CACHopB,UAAWphC,KAAK8V,kBAChBirB,MAAO/gC,KAAK8V,gBAAgB9V,KAAK6U,aAAe,GAChDwsB,UAAWrhC,KAAK8V,kBAChBkrB,cAAehhC,KAAKoW,gBAAgB2pB,SAIzB,IAAhBR,EACA,CACHA,YAAa,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCmoB,kBAAmBthC,KAAK2X,aAAavD,GAAOgF,UAC5CmoB,cAAevhC,KAAK2X,aAAavD,GAAOgF,UACxCooB,kBAAmBxhC,KAAK2X,aAAavD,GAAOgF,UAC5CqoB,cAAezhC,KAAKgY,kBAAiB,WACjC,MAAO,CACHopB,UAAWphC,KAAK8V,kBAChBirB,MAAO/gC,KAAK8V,gBAAgB9V,KAAK6U,aAAe,GAChDwsB,UAAWrhC,KAAK8V,kBAChBkrB,cAAehhC,KAAKoW,gBAAgB2pB,SAIzB,IAAhBR,EACA,CACHA,YAAa,EACbmC,kBAAmB1hC,KAAKkW,UAAU9B,GAAOuE,QAAQvE,GAAO+E,WACxDwoB,cAAe3hC,KAAKkW,UAAU9B,GAAOuE,QAAQvE,GAAO+E,WACpDyoB,kBAAmB5hC,KAAKkW,UAAU9B,GAAOuE,QAAQvE,GAAO+E,WACxD6nB,cAAehhC,KAAKoW,gBAAgB2pB,UAG5Cv2B,EAAMC,QAAO,EAAO,KAAO1M,EAAMsO,SAAS,IAAM,8CAIpDi0B,GAAgB,GAAK,WAEjB,IAAIC,EAAcv/B,KAAKyU,cACvBjL,EAAMrE,SAAyB,IAAhBo6B,EAAmB,oEAClC,IAAIsC,EAAsB7hC,KAAKyU,cAC3BqtB,EAAkB,IAAI1tB,GAAOpU,KAAKlC,KAAMkC,KAAKxB,OAASwB,KAAKgV,cAC/D,MAAO,CACHuqB,YAAa,EACb3tB,WAAYiwB,EACZE,UAAWzC,GAAgBuC,GAAqBtoC,KAAKuoC,KAK7DxC,GAAgB,GAAK,WACjB,IAAIC,EAAcv/B,KAAKyU,cAEvB,OADAjL,EAAMrE,SAAyB,IAAhBo6B,EAAmB,6FAC3B,CACHA,YAAaA,EACbpmB,SAAUnZ,KAAK2X,aAAavD,GAAO+E,UACnCuoB,kBAAmB1hC,KAAKkW,UAAU9B,GAAOuE,QAAQvE,GAAO+E,WACxDyoB,kBAAmB5hC,KAAKkW,UAAU9B,GAAOuE,QAAQvE,GAAO+E,WACxD6oB,YAAahiC,KAAK8V,oBA8C1B,IAAIrE,GAAiB,IAAI9V,MAAM,GA0C/B,SAASsmC,GAAcC,GACnB,OAAO,IAAIvhC,GAAM0O,MAAM,OAAQ,CAC3B,CAAC1V,KAAM,UAAWmN,KAAM,QAASzM,MAAO,OACxC,CAACV,KAAM,UAAWmN,KAAM,QAASzM,MAAO,IAAIsG,GAAM4P,WAAW2xB,EAAK/B,UAClE,CAACxmC,KAAM,WAAYmN,KAAM,QAASzM,MAAO,IAAIsG,GAAMsQ,YAAYixB,EAAK9B,WACpE,CAACzmC,KAAM,UAAWmN,KAAM,QAASzM,MAAO,IAAIsG,GAAM4Q,WAAW2wB,EAAK7B,QAAS5uB,OA7CnFA,GAAe,GAAK,SAAqB0wB,GACrC,OAA6B,IAAzBA,EAAS5C,YACF,IAAI5+B,GAAM0O,MAAM,oBAAqB,CACxC,CAAC1V,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,WAAYmN,KAAM,QAASzM,MAAO,IAAIsG,GAAMwP,SAASgyB,EAAShpB,WACrE,CAACxf,KAAM,eAAgBmN,KAAM,SAAUzM,MAAO8nC,EAAS3C,gBAGpD,IAAI7+B,GAAM0O,MAAM,oBAAqB,CACxC,CAAC1V,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,WAAYmN,KAAM,QAASzM,MAAO,IAAIsG,GAAMwP,SAASgyB,EAAShpB,YACvEvK,OAAOjO,GAAMgP,WAAW,aAAcwyB,EAAS1C,eAIzDhuB,GAAe,GAAK,SAAqB0wB,GAErC,OADA34B,EAAMC,OAAgC,IAAzB04B,EAAS5C,YAAmB,wCAClC,IAAI5+B,GAAM0O,MAAM,oBAAqB,CACxC,CAAC1V,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,WAAYmN,KAAM,QAASzM,MAAO,IAAIsG,GAAMwP,SAASgyB,EAAShpB,YACvEvK,OAAOjO,GAAMoP,UAAU,SAAUoyB,EAASxC,eAAe,SAASyC,GAChE,OAAO,IAAIzhC,GAAM0O,MAAM,oBAAqB1O,GAAMgP,WAAW,YAAayyB,UAIlF3wB,GAAe,GAAK,SAAqB0wB,GAErC,OADA34B,EAAMC,OAAgC,IAAzB04B,EAAS5C,YAAmB,wCAClC,IAAI5+B,GAAM0O,MAAM,oBAAqB,CACxC,CAAC1V,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,WAAYmN,KAAM,QAASzM,MAAO,IAAIsG,GAAMwP,SAASgyB,EAAShpB,YACvEvK,OAAOjO,GAAMoP,UAAU,SAAUoyB,EAASvC,cAAc,SAASyC,GAC/D,OAAO,IAAI1hC,GAAM0O,MAAM,mBAAoB1O,GAAMoP,UAAU,WAAYsyB,GAAa,SAASC,GACzF,OAAO,IAAI3hC,GAAM0O,MAAM,gBACnB,CAAC,CAAC1V,KAAM,WAAYmN,KAAM,SAAUzM,MAAOioC,EAASzC,WACnDjxB,OAAOjO,GAAMgP,WAAW,YAAa2yB,EAASxC,WAAYwC,EAASxC,WAAWhkC,OAAS,eAexG,IAAIomC,GAAO,CAAErnB,MAAOqlB,GAAgB9hB,KAAM6jB,IAM1C,SAASM,GAAezkC,EAAMf,GAC1B,IAAI7B,EAAI,IAAI2f,GAAMzG,OAAOtW,EAAMf,GAC3ByzB,EAAet1B,EAAE8Z,aACrBxL,EAAMrE,SAA0B,IAAjBqrB,EAAoB,mCACnCt1B,EAAE8Z,aACF9Z,EAAE8Z,aAIF,IAHA,IAAIwtB,EAActnC,EAAE8Z,aAEhBob,EAAO,GACFh3B,EAAI,EAAGA,EAAIopC,EAAappC,IAAK,CAClC,IAAI8H,EAAMhG,EAAEka,WACRqtB,EAAavnC,EAAE8Z,aACfhI,EAAa9R,EAAE8Z,aACfilB,EAAOrwB,EAAOsC,KAAKpO,EAAMf,EAAQ0lC,EAAYz1B,GAEjDojB,EAAKlvB,GAAO+4B,EAEhB,OAAO7J,EAGX,SAASsS,GAActS,GACnB,IAAIK,EAAU32B,OAAOgV,KAAKshB,GAAMt0B,OAC5Bu0B,EAAa,GACbC,EAAmB,GAAe,GAAVG,EAExB3wB,EAAS,IAAIa,GAAM0O,MAAM,OAAQ,CACjC,CAAC1V,KAAM,UAAWmN,KAAM,QAASzM,MAAO,GACxC,CAACV,KAAM,QAASmN,KAAM,QAASzM,MAAO,GACtC,CAACV,KAAM,SAAUmN,KAAM,QAASzM,MAAOi2B,GACvC,CAAC32B,KAAM,UAAWmN,KAAM,QAASzM,MAAOo2B,KAG5C,IAAK,IAAIvvB,KAAOkvB,EAAM,CAClB,IAAItiB,EAAMuiB,EAAWv0B,OACrBu0B,GAAcD,EAAKlvB,GAEnBpB,EAAOyP,OAAOrS,KAAK,CAACvD,KAAM,OAASuH,EAAK4F,KAAM,MAAOzM,MAAO6G,IAC5DpB,EAAOyP,OAAOrS,KAAK,CAACvD,KAAM,UAAYuH,EAAK4F,KAAM,QAASzM,MAAOi2B,EAAmBxiB,IACpFhO,EAAOyP,OAAOrS,KAAK,CAACvD,KAAM,UAAYuH,EAAK4F,KAAM,QAASzM,MAAO+1B,EAAKlvB,GAAKpF,SAK/E,OAFAgE,EAAOyP,OAAOrS,KAAK,CAACvD,KAAM,aAAcmN,KAAM,YAAazM,MAAOg2B,IAE3DvwB,EAGX,IAAI+lB,GAAO,CAAEhL,MAAO0nB,GAAgBnkB,KAAMskB,IAI1C,SAASC,GAAKl6B,GACV,OAAOvJ,KAAKO,IAAIgJ,GAAKvJ,KAAKO,IAAI,GAAK,EAGvC,SAASmjC,GAAgBrwB,GACrB,MAAOA,EAAMzW,OAAS,IAAM,EACxByW,EAAMrV,KAAK,GAIf,IADA,IAAIkF,EAAM,EACDhJ,EAAI,EAAGA,EAAImZ,EAAMzW,OAAQ1C,GAAK,EACnCgJ,IAAQmQ,EAAMnZ,IAAM,KACfmZ,EAAMnZ,EAAI,IAAM,KAChBmZ,EAAMnZ,EAAI,IAAM,GAChBmZ,EAAMnZ,EAAI,GAInB,OADAgJ,GAAOlD,KAAKC,IAAI,EAAG,IACZiD,EAGX,SAASygC,GAAgB3hC,EAAK4hC,EAAUtkC,EAAQ1C,GAC5C,OAAO,IAAI6E,GAAMgS,OAAO,eAAgB,CACpC,CAAChZ,KAAM,MAAOmN,KAAM,MAAOzM,WAAe0O,IAAR7H,EAAoBA,EAAM,IAC5D,CAACvH,KAAM,WAAYmN,KAAM,QAASzM,WAAoB0O,IAAb+5B,EAAyBA,EAAW,GAC7E,CAACnpC,KAAM,SAAUmN,KAAM,QAASzM,WAAkB0O,IAAXvK,EAAuBA,EAAS,GACvE,CAAC7E,KAAM,SAAUmN,KAAM,QAASzM,WAAkB0O,IAAXjN,EAAuBA,EAAS,KAI/E,SAASinC,GAAc5jB,GACnB,IAAI6jB,EAAO,IAAIriC,GAAM0O,MAAM,OAAQ,CAC/B,CAAC1V,KAAM,UAAWmN,KAAM,MAAOzM,MAAO,QACtC,CAACV,KAAM,YAAamN,KAAM,SAAUzM,MAAO,GAC3C,CAACV,KAAM,cAAemN,KAAM,SAAUzM,MAAO,GAC7C,CAACV,KAAM,gBAAiBmN,KAAM,SAAUzM,MAAO,GAC/C,CAACV,KAAM,aAAcmN,KAAM,SAAUzM,MAAO,KAEhD2oC,EAAK7jB,OAASA,EACd6jB,EAAK3mB,UAAY8C,EAAOrjB,OACxB,IAAImnC,EAAkB/jC,KAAKC,IAAI,EAAGwjC,GAAKK,EAAK3mB,YAC5C2mB,EAAKllB,YAAc,GAAKmlB,EACxBD,EAAKjlB,cAAgB4kB,GAAKM,GAC1BD,EAAKhlB,WAA8B,GAAjBglB,EAAK3mB,UAAiB2mB,EAAKllB,YAE7C,IAAIolB,EAAe,GACfC,EAAc,GAEd3kC,EAASwkC,EAAKl5B,SAAY+4B,KAAkB/4B,SAAWk5B,EAAK3mB,UAChE,MAAO7d,EAAS,IAAM,EAClBA,GAAU,EACV2kC,EAAYjmC,KAAK,CAACvD,KAAM,UAAWmN,KAAM,OAAQzM,MAAO,IAG5D,IAAK,IAAIjB,EAAI,EAAGA,EAAI+lB,EAAOrjB,OAAQ1C,GAAK,EAAG,CACvC,IAAIkB,EAAI6kB,EAAO/lB,GACfoQ,EAAMrE,SAAgC,IAAvB7K,EAAEgV,UAAUxT,OAAc,aAAexB,EAAEgV,UAAY,gBACtE,IAAI8zB,EAAc9oC,EAAEwP,SAChBu5B,EAAcR,GAAgBvoC,EAAEgV,UAAWszB,GAAgBtoC,EAAEuP,UAAWrL,EAAQ4kC,GACpFF,EAAahmC,KAAK,CAACvD,KAAM0pC,EAAYniC,IAAM,gBAAiB4F,KAAM,SAAUzM,MAAOgpC,IACnFF,EAAYjmC,KAAK,CAACvD,KAAMW,EAAEgV,UAAY,SAAUxI,KAAM,SAAUzM,MAAOC,IACvEkE,GAAU4kC,EACV55B,EAAMrE,UAAU5F,MAAMf,GAAS,gDAC/B,MAAOA,EAAS,IAAM,EAClBA,GAAU,EACV2kC,EAAYjmC,KAAK,CAACvD,KAAM,UAAWmN,KAAM,OAAQzM,MAAO,IAehE,OAVA6oC,EAAa/lB,MAAK,SAASmmB,EAAIC,GAC3B,OAAID,EAAGjpC,MAAM6G,IAAMqiC,EAAGlpC,MAAM6G,IACjB,GAEC,KAIhB8hC,EAAKzzB,OAASyzB,EAAKzzB,OAAOX,OAAOs0B,GACjCF,EAAKzzB,OAASyzB,EAAKzzB,OAAOX,OAAOu0B,GAC1BH,EAMX,SAASQ,GAAerlC,EAAMslC,EAAOC,GACjC,IAAK,IAAItqC,EAAI,EAAGA,EAAIqqC,EAAM3nC,OAAQ1C,GAAK,EAAG,CACtC,IAAI2iB,EAAa5d,EAAK6hB,iBAAiByjB,EAAMrqC,IAC7C,GAAI2iB,EAAa,EAAG,CAChB,IAAIkB,EAAQ9e,EAAKmS,OAAOrW,IAAI8hB,GAC5B,OAAOkB,EAAMyF,cAIrB,OAAOghB,EAGX,SAASC,GAAQC,GAEb,IADA,IAAIxhC,EAAM,EACDhJ,EAAI,EAAGA,EAAIwqC,EAAG9nC,OAAQ1C,GAAK,EAChCgJ,GAAOwhC,EAAGxqC,GAGd,OAAOgJ,EAAMwhC,EAAG9nC,OAKpB,SAAS+nC,GAAgB1lC,GAerB,IAdA,IAOI2lC,EAPAC,EAAQ,GACRC,EAAQ,GACRC,EAAQ,GACRC,EAAQ,GACRC,EAAgB,GAChBC,EAAmB,GACnBC,EAAoB,GAEpBC,EAAgB,EAChBhH,EAAkB,EAClBC,EAAkB,EAClBC,EAAkB,EAClBC,EAAkB,EAEbrkC,EAAI,EAAGA,EAAI+E,EAAKmS,OAAOxU,OAAQ1C,GAAK,EAAG,CAC5C,IAAI6jB,EAAQ9e,EAAKmS,OAAOrW,IAAIb,GACxB0jB,EAA0B,EAAhBG,EAAMH,QAEpB,GAAIvd,MAAM0d,EAAM0E,cACZ,MAAM,IAAIzlB,MAAM,SAAW+gB,EAAMtjB,KAAO,KAAOP,EAAI,qCAGnD0qC,EAAiBhnB,QAA8B/T,IAAnB+6B,IAExBhnB,EAAU,IACVgnB,EAAiBhnB,GAIrBwnB,EAAgBxnB,IAChBwnB,EAAgBxnB,GAGpB,IAAI/c,EAAWs8B,GAAIH,gBAAgBpf,GACnC,GAAI/c,EAAW,GACXu9B,GAAmB,GAAKv9B,OACrB,GAAIA,EAAW,GAClBw9B,GAAmB,GAAKx9B,EAAW,QAChC,GAAIA,EAAW,GAClBy9B,GAAmB,GAAKz9B,EAAW,OAChC,MAAIA,EAAW,KAGlB,MAAM,IAAI7D,MAAM,6DAFhBuhC,GAAmB,GAAK19B,EAAW,GAKvC,GAAmB,YAAfkd,EAAMtjB,KAAV,CACA,IAAIkpB,EAAU5F,EAAMyF,aACpBqhB,EAAM7mC,KAAK2lB,EAAQtB,MACnByiB,EAAM9mC,KAAK2lB,EAAQrB,MACnByiB,EAAM/mC,KAAK2lB,EAAQpB,MACnByiB,EAAMhnC,KAAK2lB,EAAQnB,MACnB0iB,EAAiBlnC,KAAK2lB,EAAQG,iBAC9BqhB,EAAkBnnC,KAAK2lB,EAAQK,kBAC/BihB,EAAcjnC,KAAK+f,EAAM0E,eAG7B,IAAI4iB,EAAU,CACVhjB,KAAMriB,KAAK4jB,IAAIrb,MAAM,KAAMs8B,GAC3BviB,KAAMtiB,KAAK4jB,IAAIrb,MAAM,KAAMu8B,GAC3BviB,KAAMviB,KAAK6jB,IAAItb,MAAM,KAAMw8B,GAC3BviB,KAAMxiB,KAAK6jB,IAAItb,MAAM,KAAMy8B,GAC3B/U,gBAAiBjwB,KAAK6jB,IAAItb,MAAM,KAAM08B,GACtCK,gBAAiBb,GAAQQ,GACzB/U,mBAAoBlwB,KAAK4jB,IAAIrb,MAAM,KAAM28B,GACzCK,mBAAoBvlC,KAAK6jB,IAAItb,MAAM,KAAM28B,GACzC/U,oBAAqBnwB,KAAK4jB,IAAIrb,MAAM,KAAM48B,IAE9CE,EAAQvV,SAAW7wB,EAAK6wB,SACxBuV,EAAQtV,UAAY9wB,EAAK8wB,UAEzB,IAAIyV,EAAY7W,GAAKzP,KAAK,CACtB6P,MAAO,EACPlN,WAAY5iB,EAAK4iB,WACjBQ,KAAMgjB,EAAQhjB,KACdC,KAAM+iB,EAAQ/iB,KACdC,KAAM8iB,EAAQ9iB,KACdC,KAAM6iB,EAAQ7iB,KACd2M,cAAe,EACfQ,iBAAkB1wB,EAAK0wB,mBAGvB8V,EAAY5V,GAAK3Q,KAAK,CACtB4Q,SAAUuV,EAAQvV,SAClBC,UAAWsV,EAAQtV,UACnBE,gBAAiBoV,EAAQpV,gBACzBC,mBAAoBmV,EAAQnV,mBAC5BC,oBAAqBkV,EAAQlV,oBAC7BC,WAAYiV,EAAQE,oBAAsBF,EAAQ9iB,KAAO8iB,EAAQhjB,MACjEoO,iBAAkBxxB,EAAKmS,OAAOxU,SAG9B8oC,EAAYhU,GAAKxS,KAAKjgB,EAAKmS,OAAOxU,QAElC+oC,EAAWxI,GAAIje,KAAKtkB,OAAOgrC,OAAO,CAClCxI,cAAep9B,KAAKwJ,MAAM67B,EAAQC,iBAClC5G,iBAAkBkG,EAClBjG,gBAAiByG,EACjBhH,gBAAiBA,EACjBC,gBAAiBA,EACjBC,gBAAiBA,EACjBC,gBAAiBA,EAKjBK,cAAeyG,EAAQvV,SACvB+O,eAAgBwG,EAAQtV,UACxB+O,aAAc,EACdC,YAAasG,EAAQ7iB,KACrBwc,aAAch/B,KAAKI,IAAIilC,EAAQ/iB,MAC/B2c,iBAAkB,EAClBE,SAAUmF,GAAerlC,EAAM,OAAQ,CAACujB,KAAMxiB,KAAKwJ,MAAM67B,EAAQvV,SAAW,KAAKtN,KACjF4c,WAAYkF,GAAerlC,EAAM,4BAA6BomC,GAAS7iB,KACvE6c,cAAepgC,EAAK4mC,QAAQ,KAAO,GAAK,EACxCvG,YAAargC,EAAK4mC,QAAQ,KAAO,GAAK,GACvC5mC,EAAKghB,OAAOkd,MAEX2I,EAAY9U,GAAK9R,KAAKjgB,EAAKmS,QAC3B0M,EAAY/B,GAAKmD,KAAKjgB,EAAKmS,QAE3B20B,EAAoB9mC,EAAK+mC,eAAe,cACxCC,EAAmBhnC,EAAK+mC,eAAe,iBACvCE,EAAkBH,EAAoB,IAAME,EAC5CzX,EAAiBvvB,EAAK+mC,eAAe,kBACpCxX,IACDA,EAAiBuX,EAAkBI,QAAQ,MAAO,IAAM,IAAMF,GAGlE,IAAIpmB,EAAQ,GACZ,IAAK,IAAIlkB,KAAKsD,EAAK4gB,MACfA,EAAMlkB,GAAKsD,EAAK4gB,MAAMlkB,GAGrBkkB,EAAMumB,WACPvmB,EAAMumB,SAAW,CAACC,GAAIpnC,EAAK+mC,eAAe,gBAAkB,IAAME,IAGjErmB,EAAM2O,iBACP3O,EAAM2O,eAAiB,CAAC6X,GAAI7X,IAG3B3O,EAAMymB,kBACPzmB,EAAMymB,gBAAkBrnC,EAAK4gB,MAAM0mB,YAGlC1mB,EAAM2mB,qBACP3mB,EAAM2mB,mBAAqBvnC,EAAK4gB,MAAM4mB,eAG1C,IAAIC,EAAe,GACfC,EAAY9J,GAAM3d,KAAKW,EAAO6mB,GAC9BE,EAAaF,EAAa9pC,OAAS,EAAI40B,GAAKtS,KAAKwnB,QAAgB78B,EAEjEg9B,EAAYjnB,GAAKV,OACjB4nB,EAAWld,GAAI1K,KAAKjgB,EAAKmS,OAAQ,CACjCoJ,QAASvb,EAAK+mC,eAAe,WAC7B/X,SAAUiY,EACVhY,WAAY6X,EACZ3X,WAAY6X,EACZzX,eAAgBA,EAChB3M,WAAY5iB,EAAK4iB,WACjBwM,SAAU,CAAC,EAAGgX,EAAQ/iB,KAAM+iB,EAAQvV,SAAUuV,EAAQpV,mBAGtD8W,EAAa9nC,EAAK+nC,OAASpsC,OAAOgV,KAAK3Q,EAAK+nC,OAAOpqC,OAAS,EAAK+pB,GAAKzH,KAAKjgB,EAAK+nC,YAASn9B,EAGzFoW,EAAS,CAACulB,EAAWC,EAAWC,EAAWC,EAAUgB,EAAW7oB,EAAW+oB,EAAWC,EAAUhB,GAChGc,GACA3mB,EAAOjiB,KAAK4oC,GAGZ3nC,EAAKghB,OAAO+iB,MACZ/iB,EAAOjiB,KAAKglC,GAAK9jB,KAAKjgB,EAAKghB,OAAO+iB,OAElC+D,GACA9mB,EAAOjiB,KAAK+oC,GAUhB,IAPA,IAAIE,EAAYpD,GAAc5jB,GAG1B5M,EAAQ4zB,EAAUt8B,SAClBi5B,EAAWF,GAAgBrwB,GAC3B4wB,EAAcgD,EAAU52B,OACxB62B,GAAmB,EACdx6B,EAAM,EAAGA,EAAMu3B,EAAYrnC,OAAQ8P,GAAO,EAC/C,GAA8B,eAA1Bu3B,EAAYv3B,GAAKjS,KAAuB,CACxCwpC,EAAYv3B,GAAKvR,MAAM0zB,mBAAqB,WAAa+U,EACzDsD,GAAmB,EACnB,MAIR,IAAKA,EACD,MAAM,IAAIlqC,MAAM,sDAGpB,OAAOiqC,EAGX,IAAInD,GAAO,CAAE5kB,KAAM2kB,GAAesD,YAAaxC,GAAiBjB,gBAAiBA,IAIjF,SAAS0D,GAAU7pC,EAAKyE,GAEpB,IAAIqlC,EAAO,EACPC,EAAO/pC,EAAIX,OAAS,EACxB,MAAOyqC,GAAQC,EAAM,CACjB,IAAIC,EAAQF,EAAOC,IAAU,EACzB1jC,EAAMrG,EAAIgqC,GAAMvlC,IACpB,GAAI4B,IAAQ5B,EACR,OAAOulC,EACA3jC,EAAM5B,EACbqlC,EAAOE,EAAO,EACTD,EAAOC,EAAO,EAG3B,OAAQF,EAAO,EAGnB,SAASG,GAAUjqC,EAAKpC,GAEpB,IAAIksC,EAAO,EACPC,EAAO/pC,EAAIX,OAAS,EACxB,MAAOyqC,GAAQC,EAAM,CACjB,IAAIC,EAAQF,EAAOC,IAAU,EACzB1jC,EAAMrG,EAAIgqC,GACd,GAAI3jC,IAAQzI,EACR,OAAOosC,EACA3jC,EAAMzI,EACbksC,EAAOE,EAAO,EACTD,EAAOC,EAAO,EAG3B,OAAQF,EAAO,EAInB,SAASzoB,GAAY1F,EAAQ/d,GAEzB,IAAI8hC,EACAoK,EAAO,EACPC,EAAOpuB,EAAOtc,OAAS,EAC3B,MAAOyqC,GAAQC,EAAM,CACjB,IAAIC,EAAQF,EAAOC,IAAU,EAC7BrK,EAAQ/jB,EAAOquB,GACf,IAAI1pC,EAAQo/B,EAAMp/B,MAClB,GAAIA,IAAU1C,EACV,OAAO8hC,EACAp/B,EAAQ1C,EACfksC,EAAOE,EAAO,EACTD,EAAOC,EAAO,EAE3B,GAAIF,EAAO,EAEP,OADApK,EAAQ/jB,EAAOmuB,EAAO,GAClBlsC,EAAQ8hC,EAAMn/B,IAAc,EACzBm/B,EAQf,SAASwK,GAAOxoC,EAAMmR,GAClBtP,KAAK7B,KAAOA,EACZ6B,KAAKsP,UAAYA,EAyRrB,SAASs3B,GAASzoC,GACdwoC,GAAOptC,KAAKyG,KAAM7B,EAAM,QAwE5B,SAAS0oC,GAAa1oC,GAClBwoC,GAAOptC,KAAKyG,KAAM7B,EAAM,QAI5B,SAAS2oC,GAAYC,EAAKC,GACtB,IAAInsC,EAAIksC,EAAIjrC,OACZ,GAAIjB,IAAMmsC,EAAIlrC,OAAU,OAAO,EAC/B,IAAK,IAAI1C,EAAI,EAAGA,EAAIyB,EAAGzB,IACnB,GAAI2tC,EAAI3tC,KAAO4tC,EAAI5tC,GAAM,OAAO,EAEpC,OAAO,EAIX,SAAS6tC,GAAev1B,EAAarB,EAAQ62B,GAEzC,IADA,IAAIp1B,EAAYJ,EAAYI,UACnB1Y,EAAI,EAAGA,EAAI0Y,EAAUhW,OAAQ1C,IAAK,CACvC,IAAI+oC,EAAWrwB,EAAU1Y,GACzB,GAAI+oC,EAAS5C,cAAgBlvB,EACzB,OAAO8xB,EAGf,GAAI+E,EAEA,OADAp1B,EAAU5U,KAAKgqC,GACRA,EAyQf,SAASC,KACL,MAAyB,qBAAX1pC,OAGlB,SAAS2pC,GAAwB7oC,GAG7B,IAFA,IAAI8oC,EAAK,IAAIC,YAAY/oC,EAAOzC,QAC5ByrC,EAAO,IAAI7rC,WAAW2rC,GACjBjuC,EAAI,EAAGA,EAAImF,EAAOzC,SAAU1C,EACjCmuC,EAAKnuC,GAAKmF,EAAOnF,GAGrB,OAAOiuC,EAGX,SAASG,GAAwBH,GAG7B,IAFA,IAAI9oC,EAAS,IAAIkpC,EAAOJ,EAAGjsC,YACvBmsC,EAAO,IAAI7rC,WAAW2rC,GACjBjuC,EAAI,EAAGA,EAAImF,EAAOzC,SAAU1C,EACjCmF,EAAOnF,GAAKmuC,EAAKnuC,GAGrB,OAAOmF,EAGX,SAASmpC,GAAcC,EAAYtpC,GAC/B,IAAKspC,EACD,MAAMtpC,EAOd,SAASupC,GAAqB1sC,EAAG2sC,EAAMC,EAAeC,EAAoBC,GACtE,IAAIv/B,EAqBJ,OApBKo/B,EAAOE,GAAsB,GAE9Bt/B,EAAIvN,EAAEoZ,YAEuB,KAAxBuzB,EAAOG,KACRv/B,GAAKA,GAGTA,EAAIq/B,EAAgBr/B,GAKhBA,GADCo/B,EAAOG,GAAe,EACnBF,EAGAA,EAAgB5sC,EAAE2Z,aAIvBpM,EAIX,SAASyY,GAAWjE,EAAOnf,EAAMf,GAC7B,IAMIkxB,EACA4Z,EAPA3sC,EAAI,IAAI2f,GAAMzG,OAAOtW,EAAMf,GAS/B,GARAkgB,EAAMgrB,iBAAmB/sC,EAAE2Z,aAC3BoI,EAAMirB,MAAQhtC,EAAE2Z,aAChBoI,EAAMkrB,MAAQjtC,EAAE2Z,aAChBoI,EAAMmrB,MAAQltC,EAAE2Z,aAChBoI,EAAMorB,MAAQntC,EAAE2Z,aAIZoI,EAAMgrB,iBAAmB,EAAG,CAG5B,IADA,IAAIK,EAAkBrrB,EAAMqrB,gBAAkB,GACrClvC,EAAI,EAAGA,EAAI6jB,EAAMgrB,iBAAkB7uC,GAAK,EAC7CkvC,EAAgBprC,KAAKhC,EAAEuZ,eAG3BwI,EAAMsrB,kBAAoBrtC,EAAEuZ,cAC5BwI,EAAMurB,aAAe,GACrB,IAAK,IAAI58B,EAAM,EAAGA,EAAMqR,EAAMsrB,kBAAmB38B,GAAO,EACpDqR,EAAMurB,aAAatrC,KAAKhC,EAAEoZ,aAG9B,IAAIm0B,EAAsBH,EAAgBA,EAAgBxsC,OAAS,GAAK,EACxEmyB,EAAQ,GACR,IAAK,IAAInG,EAAM,EAAGA,EAAM2gB,EAAqB3gB,GAAO,EAIhD,GAHA+f,EAAO3sC,EAAEoZ,YACT2Z,EAAM/wB,KAAK2qC,IAEC,EAAPA,GAAY,EAEb,IADA,IAAIa,EAAcxtC,EAAEoZ,YACXhI,EAAI,EAAGA,EAAIo8B,EAAap8B,GAAK,EAClC2hB,EAAM/wB,KAAK2qC,GACX/f,GAAO,EAOnB,GAFAte,EAAMrE,SAAS8oB,EAAMnyB,SAAW2sC,EAAqB,cAEjDH,EAAgBxsC,OAAS,EAAG,CAC5B,IACI6sC,EADAtmB,EAAS,GAGb,GAAIomB,EAAsB,EAAG,CACzB,IAAK,IAAIG,EAAM,EAAGA,EAAMH,EAAqBG,GAAO,EAChDf,EAAO5Z,EAAM2a,GACbD,EAAQ,GACRA,EAAME,WAAoB,EAAPhB,GACnBc,EAAMlmB,mBAAqB6lB,EAAgBlsC,QAAQwsC,IAAQ,EAC3DvmB,EAAOnlB,KAAKyrC,GAIhB,IADA,IAAIG,EAAK,EACAC,EAAM,EAAGA,EAAMN,EAAqBM,GAAO,EAChDlB,EAAO5Z,EAAM8a,GACbJ,EAAQtmB,EAAO0mB,GACfJ,EAAMpjC,EAAIqiC,GAAqB1sC,EAAG2sC,EAAMiB,EAAI,EAAG,IAC/CA,EAAKH,EAAMpjC,EAIf,IADA,IAAIyjC,EAAK,EACAC,EAAM,EAAGA,EAAMR,EAAqBQ,GAAO,EAChDpB,EAAO5Z,EAAMgb,GACbN,EAAQtmB,EAAO4mB,GACfN,EAAMnjC,EAAIoiC,GAAqB1sC,EAAG2sC,EAAMmB,EAAI,EAAG,IAC/CA,EAAKL,EAAMnjC,EAInByX,EAAMoF,OAASA,OAEfpF,EAAMoF,OAAS,QAEhB,GAA+B,IAA3BpF,EAAMgrB,iBACbhrB,EAAMoF,OAAS,OACZ,CACHpF,EAAMisB,aAAc,EACpBjsB,EAAMoF,OAAS,GACfpF,EAAM6iB,WAAa,GACnB,IAAIqJ,GAAiB,EACrB,MAAOA,EAAgB,CACnBlb,EAAQ/yB,EAAEuZ,cACV,IAAI20B,EAAY,CACZrtB,WAAY7gB,EAAEuZ,cACdsN,OAAQ,EACRsnB,QAAS,EACTC,QAAS,EACTtnB,OAAQ,EACRuK,GAAI,EACJC,GAAI,IAEK,EAARyB,GAAa,GAED,EAARA,GAAa,GAEdmb,EAAU7c,GAAKrxB,EAAE2Z,aACjBu0B,EAAU5c,GAAKtxB,EAAE2Z,cAGjBu0B,EAAUG,cAAgB,CAACruC,EAAEuZ,cAAevZ,EAAEuZ,gBAKrC,EAARwZ,GAAa,GAEdmb,EAAU7c,GAAKrxB,EAAEqZ,YACjB60B,EAAU5c,GAAKtxB,EAAEqZ,aAGjB60B,EAAUG,cAAgB,CAACruC,EAAEoZ,YAAapZ,EAAEoZ,cAIvC,EAAR2Z,GAAa,EAEdmb,EAAUrnB,OAASqnB,EAAUpnB,OAAS9mB,EAAE4Z,gBACxB,GAARmZ,GAAc,GAEtBmb,EAAUrnB,OAAS7mB,EAAE4Z,eACrBs0B,EAAUpnB,OAAS9mB,EAAE4Z,iBACL,IAARmZ,GAAe,IAEvBmb,EAAUrnB,OAAS7mB,EAAE4Z,eACrBs0B,EAAUC,QAAUnuC,EAAE4Z,eACtBs0B,EAAUE,QAAUpuC,EAAE4Z,eACtBs0B,EAAUpnB,OAAS9mB,EAAE4Z,gBAGzBmI,EAAM6iB,WAAW5iC,KAAKksC,GACtBD,KAA4B,GAARlb,GAExB,GAAY,IAARA,EAAe,CAEfhR,EAAMsrB,kBAAoBrtC,EAAEuZ,cAC5BwI,EAAMurB,aAAe,GACrB,IAAK,IAAIgB,EAAM,EAAGA,EAAMvsB,EAAMsrB,kBAAmBiB,GAAO,EACpDvsB,EAAMurB,aAAatrC,KAAKhC,EAAEoZ,eAO1C,SAASm1B,GAAgBpnB,EAAQqnB,GAE7B,IADA,IAAIC,EAAY,GACPvwC,EAAI,EAAGA,EAAIipB,EAAOvmB,OAAQ1C,GAAK,EAAG,CACvC,IAAIopB,EAAKH,EAAOjpB,GACZwwC,EAAQ,CACRrkC,EAAGmkC,EAAU3nB,OAASS,EAAGjd,EAAImkC,EAAUL,QAAU7mB,EAAGhd,EAAIkkC,EAAUnd,GAClE/mB,EAAGkkC,EAAUJ,QAAU9mB,EAAGjd,EAAImkC,EAAU1nB,OAASQ,EAAGhd,EAAIkkC,EAAUld,GAClEqc,QAASrmB,EAAGqmB,QACZpmB,mBAAoBD,EAAGC,oBAE3BknB,EAAUzsC,KAAK0sC,GAGnB,OAAOD,EAGX,SAASvnB,GAAYC,GAGjB,IAFA,IAAIC,EAAW,GACXC,EAAiB,GACZnpB,EAAI,EAAGA,EAAIipB,EAAOvmB,OAAQ1C,GAAK,EAAG,CACvC,IAAIopB,EAAKH,EAAOjpB,GAChBmpB,EAAerlB,KAAKslB,GAChBA,EAAGC,qBACHH,EAASplB,KAAKqlB,GACdA,EAAiB,IAKzB,OADA/Y,EAAMrE,SAAmC,IAA1Bod,EAAezmB,OAAc,uDACrCwmB,EAIX,SAASV,GAAQS,GACb,IAAInnB,EAAI,IAAI2J,EACZ,IAAKwd,EACD,OAAOnnB,EAKX,IAFA,IAAIonB,EAAWF,GAAYC,GAElBwnB,EAAe,EAAGA,EAAevnB,EAASxmB,SAAU+tC,EAAc,CACvE,IAAIC,EAAUxnB,EAASunB,GAEnBtmC,EAAO,KACPwmC,EAAOD,EAAQA,EAAQhuC,OAAS,GAChCwuB,EAAOwf,EAAQ,GAEnB,GAAIC,EAAKlB,QACL3tC,EAAE2L,OAAOkjC,EAAKxkC,EAAGwkC,EAAKvkC,QAEtB,GAAI8kB,EAAKue,QACL3tC,EAAE2L,OAAOyjB,EAAK/kB,EAAG+kB,EAAK9kB,OACnB,CAEH,IAAIzI,EAAQ,CAACwI,EAAuB,IAAnBwkC,EAAKxkC,EAAI+kB,EAAK/kB,GAAUC,EAAuB,IAAnBukC,EAAKvkC,EAAI8kB,EAAK9kB,IAC3DtK,EAAE2L,OAAO9J,EAAMwI,EAAGxI,EAAMyI,GAIhC,IAAK,IAAIpM,EAAI,EAAGA,EAAI0wC,EAAQhuC,SAAU1C,EAKlC,GAJAmK,EAAOwmC,EACPA,EAAOzf,EACPA,EAAOwf,GAAS1wC,EAAI,GAAK0wC,EAAQhuC,QAE7BiuC,EAAKlB,QAEL3tC,EAAE6L,OAAOgjC,EAAKxkC,EAAGwkC,EAAKvkC,OACnB,CACH,IACIwkC,EAAQ1f,EAEP/mB,EAAKslC,SACE,CAAEtjC,EAAuB,IAAnBwkC,EAAKxkC,EAAIhC,EAAKgC,GAAUC,EAAuB,IAAnBukC,EAAKvkC,EAAIjC,EAAKiC,IAGvD8kB,EAAKue,UACNmB,EAAQ,CAAEzkC,EAAuB,IAAnBwkC,EAAKxkC,EAAI+kB,EAAK/kB,GAAUC,EAAuB,IAAnBukC,EAAKvkC,EAAI8kB,EAAK9kB,KAG5DtK,EAAEiM,iBAAiB4iC,EAAKxkC,EAAGwkC,EAAKvkC,EAAGwkC,EAAMzkC,EAAGykC,EAAMxkC,GAI1DtK,EAAEmM,YAEN,OAAOnM,EAGX,SAASimB,GAAU7Q,EAAQ2M,GACvB,GAAIA,EAAMisB,YACN,IAAK,IAAI58B,EAAI,EAAGA,EAAI2Q,EAAM6iB,WAAWhkC,OAAQwQ,GAAK,EAAG,CACjD,IAAI88B,EAAYnsB,EAAM6iB,WAAWxzB,GAC7B29B,EAAiB35B,EAAOrW,IAAImvC,EAAUrtB,YAG1C,GADAkuB,EAAeroB,UACXqoB,EAAe5nB,OAAQ,CACvB,IAAI6nB,OAAoB,EACxB,QAAgCnhC,IAA5BqgC,EAAUG,cAEVW,EAAoBT,GAAgBQ,EAAe5nB,OAAQ+mB,OACxD,CAEH,GAAKA,EAAUG,cAAc,GAAKtsB,EAAMoF,OAAOvmB,OAAS,GACnDstC,EAAUG,cAAc,GAAKU,EAAe5nB,OAAOvmB,OAAS,EAC7D,MAAMI,MAAM,kCAAoC+gB,EAAMtjB,MAE1D,IAAIwwC,EAAUltB,EAAMoF,OAAO+mB,EAAUG,cAAc,IAC/Ca,EAAWH,EAAe5nB,OAAO+mB,EAAUG,cAAc,IACzDG,EAAY,CACZ3nB,OAAQqnB,EAAUrnB,OAAQsnB,QAASD,EAAUC,QAC7CC,QAASF,EAAUE,QAAStnB,OAAQonB,EAAUpnB,OAC9CuK,GAAI,EAAGC,GAAI,GAEf4d,EAAWX,GAAgB,CAACW,GAAWV,GAAW,GAClDA,EAAUnd,GAAK4d,EAAQ5kC,EAAI6kC,EAAS7kC,EACpCmkC,EAAUld,GAAK2d,EAAQ3kC,EAAI4kC,EAAS5kC,EACpC0kC,EAAoBT,GAAgBQ,EAAe5nB,OAAQqnB,GAE/DzsB,EAAMoF,OAASpF,EAAMoF,OAAOzT,OAAOs7B,IAK/C,OAAOtoB,GAAQ3E,EAAMoF,QAGzB,SAASgoB,GAAkBvsC,EAAMf,EAAOutC,EAAMnsC,GAI1C,IAHA,IAAImS,EAAS,IAAIwT,GAAShD,SAAS3iB,GAG1B/E,EAAI,EAAGA,EAAIkxC,EAAKxuC,OAAS,EAAG1C,GAAK,EAAG,CACzC,IAAIoF,EAAS8rC,EAAKlxC,GACdmxC,EAAaD,EAAKlxC,EAAI,GACtBoF,IAAW+rC,EACXj6B,EAAOpT,KAAK9D,EAAG0qB,GAAS7C,eAAe9iB,EAAM/E,EAAG8nB,GAAYpjB,EAAMf,EAAQyB,EAAQ2iB,KAElF7Q,EAAOpT,KAAK9D,EAAG0qB,GAAS9C,YAAY7iB,EAAM/E,IAIlD,OAAOkX,EAGX,SAASk6B,GAA0B1sC,EAAMf,EAAOutC,EAAMnsC,GAClD,IAAImS,EAAS,IAAIwT,GAAShD,SAAS3iB,GAYnC,OAVAA,EAAKulB,MAAQ,SAAStqB,GAClB,IAAIoF,EAAS8rC,EAAKlxC,GACdmxC,EAAaD,EAAKlxC,EAAI,GACtBoF,IAAW+rC,EACXj6B,EAAOpT,KAAK9D,EAAG0qB,GAAS7C,eAAe9iB,EAAM/E,EAAG8nB,GAAYpjB,EAAMf,EAAQyB,EAAQ2iB,KAElF7Q,EAAOpT,KAAK9D,EAAG0qB,GAAS9C,YAAY7iB,EAAM/E,KAI3CkX,EAIX,SAASm6B,GAAe3sC,EAAMf,EAAOutC,EAAMnsC,EAAM0hB,GAC7C,OAAIA,EAAIC,UACK0qB,GAA0B1sC,EAAMf,EAAOutC,EAAMnsC,GAE7CksC,GAAkBvsC,EAAMf,EAAOutC,EAAMnsC,GAl/BtDwoC,GAAO3rC,UAAY,CAWfsrC,UAAWA,GAWXI,UAAWA,GAOXgE,SAAU,SAAShwC,GACf,IAAIiwC,EAAS3qC,KAAK7B,KAAKghB,OAAOnf,KAAKsP,WAInC,OAHKq7B,GAAUjwC,IACXiwC,EAAS3qC,KAAK7B,KAAKghB,OAAOnf,KAAKsP,WAAatP,KAAK4qC,sBAE9CD,GAQXE,eAAgB,WACZ,IAAIF,EAAS3qC,KAAK0qC,WAClB,OAAKC,EACEA,EAAOxK,QAAQ2K,KAAI,SAASp6B,GAC/B,OAAOA,EAAOxP,OAFI,IAY1B6pC,qBAAsB,WAClB,IAAIJ,EAAS3qC,KAAK0qC,WAClB,GAAKC,EAAL,CAEA,IADA,IAAIK,GAAU,EACL5xC,EAAI,EAAGA,EAAIuxC,EAAOxK,QAAQrkC,OAAQ1C,IAAK,CAC5C,IAAIO,EAAOgxC,EAAOxK,QAAQ/mC,GAAG8H,IAC7B,GAAa,SAATvH,EAAmB,OAAOA,EACjB,SAATA,IAAmBqxC,GAAU,GAErC,OAAIA,EAAkB,YAAtB,IAUJC,eAAgB,SAASv6B,EAAQhW,GAC7B,IAAIiwC,EAAS3qC,KAAK0qC,SAAShwC,GAC3B,GAAIiwC,EAAQ,CACRj6B,EAASA,GAAU,OACnB,IAAIyvB,EAAUwK,EAAOxK,QACjBryB,EAAMw4B,GAAUqE,EAAOxK,QAASzvB,GACpC,GAAI5C,GAAO,EACP,OAAOqyB,EAAQryB,GAAK4C,OACjB,GAAIhW,EAAQ,CACf,IAAIwwC,EAAM,CACNhqC,IAAKwP,EACLA,OAAQ,CACJC,eAAgB,CAAC2I,SAAU,EAAG1I,gBAAiB,MAAQC,eAAgB,IACvEC,eAAgB,KAIxB,OADAqvB,EAAQgL,QAAQ,EAAIr9B,EAAK,EAAGo9B,GACrBA,EAAIx6B,UAavB06B,gBAAiB,SAAS16B,EAAQyK,EAAUzgB,GACxC,IAAI2wC,EAAcrrC,KAAKirC,eAAev6B,EAAQhW,GAC9C,GAAI2wC,EAAa,CACb,IAAKlwB,GAAyB,SAAbA,GAAoC,SAAbA,EACpC,OAAOkwB,EAAY16B,eAEvB,IAAI7C,EAAMw4B,GAAU+E,EAAYv6B,eAAgBqK,GAChD,GAAIrN,GAAO,EACP,OAAOu9B,EAAYv6B,eAAehD,GAAKkD,QACpC,GAAItW,EAAQ,CACf,IAAIqW,EAAgB,CAChB7P,IAAKia,EACLnK,QAAS,CAACsI,SAAU,EAAG1I,gBAAiB,MAAQC,eAAgB,KAGpE,OADAw6B,EAAYv6B,eAAeq6B,QAAQ,EAAIr9B,EAAK,EAAGiD,GACxCA,EAAcC,WAcjCs6B,gBAAiB,SAAS56B,EAAQyK,EAAU/J,EAAS1W,GACjD,IAAI2e,EAAerZ,KAAKorC,gBAAgB16B,EAAQyK,EAAUzgB,GAC1D,GAAI2e,EAAc,CAMd,IALA,IAAIlI,EACAo6B,EAAclyB,EAAaxI,eAC3B26B,EAAcxrC,KAAK7B,KAAKghB,OAAOnf,KAAKsP,WAAW8wB,SAG1ChnC,EAAI,EAAGA,EAAImyC,EAAYzvC,OAAQ1C,IAEpC,GADA+X,EAAgBq6B,EAAYD,EAAYnyC,IACpC+X,EAAcjQ,MAAQkQ,EACtB,OAAOD,EAAcC,QAG7B,GAAI1W,EAAQ,CACR,IAAI0F,EAAQorC,EAAY1vC,OASxB,OAPA0N,EAAMC,OAAiB,IAAVrJ,GAAegR,GAAWo6B,EAAYprC,EAAQ,GAAGc,IAAK,iDACnEiQ,EAAgB,CACZjQ,IAAKkQ,EACLA,QAAS,CAAEq6B,OAAQ,EAAGn6B,kBAAmB,KAE7Ck6B,EAAYtuC,KAAKiU,GACjBo6B,EAAYruC,KAAKkD,GACV+Q,EAAcC,WAejCs6B,gBAAiB,SAASh7B,EAAQyK,EAAU/J,EAASQ,EAAYlX,GAC7D,IAAIixC,EAAe3rC,KAAKsrC,gBAAgB56B,EAAQyK,EAAU/J,EAAS1W,GAC/DykB,EAAS,GACb,GAAIwsB,EAAc,CAKd,IAJA,IAAIj6B,EACAJ,EAAoBq6B,EAAar6B,kBACjCs6B,EAAa5rC,KAAK7B,KAAKghB,OAAOnf,KAAKsP,WAAW+wB,QAEzCjnC,EAAI,EAAGA,EAAIkY,EAAkBxV,OAAQ1C,IAC1CsY,EAAck6B,EAAWt6B,EAAkBlY,IACvCsY,EAAYE,aAAeA,GAC3BuN,EAAOjiB,KAAKwU,GAGpB,GAAsB,IAAlByN,EAAOrjB,QAAgBpB,EAAQ,CAC/BgX,EAAc,CACVE,WAAYA,EACZC,WAAY,EACZC,UAAW,GACXwI,sBAAkBvR,GAEtB,IAAI3I,EAAQwrC,EAAW9vC,OAGvB,OAFA8vC,EAAW1uC,KAAKwU,GAChBJ,EAAkBpU,KAAKkD,GAChB,CAACsR,IAGhB,OAAOyN,GAUX0sB,cAAe,SAASC,EAAe/vB,GACnC,OAAQ+vB,EAAcz7B,QAClB,KAAK,EACD,OAAIy7B,EAAcxzB,YAAcyD,GAAcA,EAAa+vB,EAAcxzB,WAAawzB,EAAcvzB,QAAQzc,OACjGgwC,EAAcvzB,QAAQwD,EAAa+vB,EAAcxzB,YAErD,EACX,KAAK,EACD,IAAI6jB,EAAQre,GAAYguB,EAAc1zB,OAAQ2D,GAC9C,OAAOogB,EAAQA,EAAM3jB,QAAU,IAW3CuzB,iBAAkB,SAAS37B,EAAe2L,GACtC,OAAQ3L,EAAcC,QAClB,KAAK,EACD,IAAIjQ,EAAQsmC,GAAUt2B,EAAcE,OAAQyL,GAC5C,OAAO3b,GAAS,EAAIA,GAAS,EACjC,KAAK,EACD,IAAI+7B,EAAQre,GAAY1N,EAAcgI,OAAQ2D,GAC9C,OAAOogB,EAAQA,EAAM/7B,MAAQ2b,EAAaogB,EAAMp/B,OAAS,IAYrEivC,eAAgB,SAAS57B,GACrB,GAA6B,IAAzBA,EAAcC,OACd,OAAOD,EAAcE,OAIrB,IAFA,IAAIA,EAAS,GACT8H,EAAShI,EAAcgI,OAClBhf,EAAI,EAAGA,EAAIgf,EAAOtc,OAAQ1C,IAI/B,IAHA,IAAI+iC,EAAQ/jB,EAAOhf,GACf2D,EAAQo/B,EAAMp/B,MACdC,EAAMm/B,EAAMn/B,IACPsP,EAAIvP,EAAOuP,GAAKtP,EAAKsP,IAC1BgE,EAAOpT,KAAKoP,GAGpB,OAAOgE,IAmBnBs2B,GAAS5rC,UAAY2rC,GAAO3rC,UAK5B4rC,GAAS5rC,UAAUixC,KAAO,WACtB,IAAIv7B,EAAS1Q,KAAK+qC,uBAClB/qC,KAAKksC,qBAAuBlsC,KAAKmsC,iBAAiBz7B,IAUtDk2B,GAAS5rC,UAAUoxC,gBAAkB,SAASC,EAAgBC,EAAWC,GACrE,IAAK,IAAInzC,EAAI,EAAGA,EAAIizC,EAAevwC,OAAQ1C,IAEvC,IADA,IAAI0Y,EAAYu6B,EAAejzC,GAAG0Y,UACzBxF,EAAI,EAAGA,EAAIwF,EAAUhW,OAAQwQ,IAAK,CACvC,IAAI61B,EAAWrwB,EAAUxF,GACrBkgC,EAAWxsC,KAAK+rC,iBAAiB5J,EAAShpB,SAAUmzB,GACxD,KAAIE,EAAW,GACf,OAAQrK,EAASsK,WACb,KAAK,EAGD,IADA,IAAIC,EAAUvK,EAASwK,SAASH,GACvBz9B,EAAI,EAAGA,EAAI29B,EAAQ5wC,OAAQiT,IAAK,CACrC,IAAI69B,EAAOF,EAAQ39B,GACnB,GAAI69B,EAAKC,cAAgBN,EACrB,OAAOK,EAAKE,QAAUF,EAAKE,OAAO51B,UAAY,EAGtD,MACJ,KAAK,EAED,IAAI61B,EAAS/sC,KAAK6rC,cAAc1J,EAAS6K,UAAWV,GAChDW,EAASjtC,KAAK6rC,cAAc1J,EAAS+K,UAAWX,GAChDY,EAAShL,EAASiL,aAAaL,GAAQE,GAC3C,OAAOE,EAAOL,QAAUK,EAAOL,OAAO51B,UAAY,GAIlE,OAAO,GAUX0vB,GAAS5rC,UAAUmxC,iBAAmB,SAASz7B,EAAQyK,GACnD,GAAInb,KAAK7B,KAAKghB,OAAOkuB,KACjB,OAAOrtC,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU,OAAQ,IA2C9D0rB,GAAa7rC,UAAY2rC,GAAO3rC,UAMhC6rC,GAAa7rC,UAAU4vC,mBAAqB,WAExC,MAAO,CACHlxB,QAAS,EACTymB,QAAS,CAAC,CACNj/B,IAAK,OACLwP,OAAQ,CACJC,eAAgB,CAAE2I,SAAU,EAAG1I,gBAAiB,MAAQC,eAAgB,IACxEC,eAAgB,MAGxBsvB,SAAU,GACVC,QAAS,KAWjBwG,GAAa7rC,UAAUsyC,UAAY,SAASl8B,EAASV,EAAQyK,GAGzD,IAFA,IAAIoyB,EAAgB,GAChBC,EAAextC,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAC1Dq8B,EAAM,EAAGA,EAAMD,EAAa1xC,OAAQ2xC,IAEzC,IADA,IAAI37B,EAAY07B,EAAaC,GAAK37B,UACzB1Y,EAAI,EAAGA,EAAI0Y,EAAUhW,OAAQ1C,IAAK,CACvC,IAAI+oC,EAAWrwB,EAAU1Y,GACrBkX,EAAStQ,KAAKgsC,eAAe7J,EAAShpB,UACtC7M,OAAI,EACR,GAA6B,IAAzB61B,EAAS5C,YAAmB,CAC5B,IAAIp9B,EAAQggC,EAAS3C,aACrB,IAAKlzB,EAAI,EAAGA,EAAIgE,EAAOxU,OAAQwQ,IAAK,CAChC,IAAI2Q,EAAQ3M,EAAOhE,GACnBihC,EAAcrwC,KAAK,CAAEwwC,IAAKzwB,EAAO0wB,GAAI1wB,EAAQ9a,SAE9C,CACH,IAAIs9B,EAAa0C,EAAS1C,WAC1B,IAAKnzB,EAAI,EAAGA,EAAIgE,EAAOxU,OAAQwQ,IAC3BihC,EAAcrwC,KAAK,CAAEwwC,IAAKp9B,EAAOhE,GAAIqhC,GAAIlO,EAAWnzB,MAKpE,OAAOihC,GAUX1G,GAAa7rC,UAAU4yC,cAAgB,SAASx8B,EAASV,EAAQyK,GAG7D,IAFA,IAAI0yB,EAAa,GACbL,EAAextC,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAC1Dq8B,EAAM,EAAGA,EAAMD,EAAa1xC,OAAQ2xC,IAEzC,IADA,IAAI37B,EAAY07B,EAAaC,GAAK37B,UACzB1Y,EAAI,EAAGA,EAAI0Y,EAAUhW,OAAQ1C,IAIlC,IAHA,IAAI+oC,EAAWrwB,EAAU1Y,GACrBkX,EAAStQ,KAAKgsC,eAAe7J,EAAShpB,UACtCwmB,EAAgBwC,EAASxC,cACpBrzB,EAAI,EAAGA,EAAIgE,EAAOxU,OAAQwQ,IAC/BuhC,EAAW3wC,KAAK,CAAEwwC,IAAKp9B,EAAOhE,GAAIqhC,GAAIhO,EAAcrzB,KAIhE,OAAOuhC,GAWXhH,GAAa7rC,UAAU8yC,aAAe,SAAS18B,EAASV,EAAQyK,GAG5D,IAFA,IAAI4yB,EAAY,GACZP,EAAextC,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAC1Dq8B,EAAM,EAAGA,EAAMD,EAAa1xC,OAAQ2xC,IAEzC,IADA,IAAI37B,EAAY07B,EAAaC,GAAK37B,UACzB1Y,EAAI,EAAGA,EAAI0Y,EAAUhW,OAAQ1C,IAIlC,IAHA,IAAI+oC,EAAWrwB,EAAU1Y,GACrBkX,EAAStQ,KAAKgsC,eAAe7J,EAAShpB,UACtCymB,EAAeuC,EAASvC,aACnBtzB,EAAI,EAAGA,EAAIgE,EAAOxU,OAAQwQ,IAG/B,IAFA,IAAIgM,EAAahI,EAAOhE,GACpB0hC,EAASpO,EAAatzB,GACjByC,EAAI,EAAGA,EAAIi/B,EAAOlyC,OAAQiT,IAAK,CACpC,IAAIk/B,EAAMD,EAAOj/B,GACjBg/B,EAAU7wC,KAAK,CACXwwC,IAAK,CAACp1B,GAAY1J,OAAOq/B,EAAInO,YAC7B6N,GAAIM,EAAIpO,WAM5B,OAAOkO,GAWXlH,GAAa7rC,UAAUkzC,UAAY,SAAS98B,EAAS+8B,EAAcz9B,EAAQyK,GACvE,IAAIzJ,EAAc1R,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAAG,GAAM,GACvE+wB,EAAW8E,GAAev1B,EAAa,EAAG,CAC1C6tB,YAAa,EACbpmB,SAAU,CAAC9I,OAAQ,EAAGC,OAAQ,IAC9BmvB,WAAY,KAEhBj2B,EAAMC,OAAoC,IAA7B04B,EAAShpB,SAAS9I,OAAc,oDAAsD8xB,EAAShpB,SAAS9I,QACrH,IAAI+9B,EAAgBD,EAAaT,IAC7B5/B,EAAM9N,KAAK0mC,UAAUvE,EAAShpB,SAAS7I,OAAQ89B,GAC/CtgC,EAAM,IACNA,GAAO,EAAIA,EACXq0B,EAAShpB,SAAS7I,OAAO66B,OAAOr9B,EAAK,EAAGsgC,GACxCjM,EAAS1C,WAAW0L,OAAOr9B,EAAK,EAAG,IAEvCq0B,EAAS1C,WAAW3xB,GAAOqgC,EAAaR,IAU5C9G,GAAa7rC,UAAUqzC,aAAe,SAASj9B,EAAS+8B,EAAcz9B,EAAQyK,GAC1E,IAAIzJ,EAAc1R,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAAG,GAAM,GACvE+wB,EAAW8E,GAAev1B,EAAa,EAAG,CAC1C6tB,YAAa,EACbpmB,SAAU,CAAC9I,OAAQ,EAAGC,OAAQ,IAC9BqvB,cAAe,KAEnBn2B,EAAMC,OAAoC,IAA7B04B,EAAShpB,SAAS9I,OAAc,oDAAsD8xB,EAAShpB,SAAS9I,QACrH,IAAI+9B,EAAgBD,EAAaT,IAC7B5/B,EAAM9N,KAAK0mC,UAAUvE,EAAShpB,SAAS7I,OAAQ89B,GAC/CtgC,EAAM,IACNA,GAAO,EAAIA,EACXq0B,EAAShpB,SAAS7I,OAAO66B,OAAOr9B,EAAK,EAAGsgC,GACxCjM,EAASxC,cAAcwL,OAAOr9B,EAAK,EAAG,IAE1Cq0B,EAASxC,cAAc7xB,GAAOqgC,EAAaR,IAW/C9G,GAAa7rC,UAAUszC,YAAc,SAASl9B,EAASkxB,EAAU5xB,EAAQyK,GACrE,IAAIzJ,EAAc1R,KAAK0rC,gBAAgBh7B,EAAQyK,EAAU/J,EAAS,GAAG,GAAM,GACvE+wB,EAAWzwB,EAAYI,UAAU,GAChCqwB,IACDA,EAAW,CACP5C,YAAa,EACbpmB,SAAU,CAAE9I,OAAQ,EAAGC,OAAQ,IAC/BsvB,aAAc,IAElBluB,EAAYI,UAAU,GAAKqwB,GAE/B34B,EAAMC,OAAoC,IAA7B04B,EAAShpB,SAAS9I,OAAc,oDAAsD8xB,EAAShpB,SAAS9I,QACrH,IAAI+9B,EAAgB9L,EAASoL,IAAI,GAC7Ba,EAAgBjM,EAASoL,IAAI1pC,MAAM,GACnCwqC,EAAgB,CAChB3O,SAAUyC,EAASqL,GACnB7N,WAAYyO,GAEZzgC,EAAM9N,KAAK0mC,UAAUvE,EAAShpB,SAAS7I,OAAQ89B,GACnD,GAAItgC,GAAO,EAAG,CAGV,IADA,IAAIu0B,EAAcF,EAASvC,aAAa9xB,GAC/B1U,EAAI,EAAGA,EAAIipC,EAAYvmC,OAAQ1C,IAEpC,GAAI0tC,GAAYzE,EAAYjpC,GAAG0mC,WAAYyO,GACvC,OAIRlM,EAAYnlC,KAAKsxC,QAGjB1gC,GAAO,EAAIA,EACXq0B,EAAShpB,SAAS7I,OAAO66B,OAAOr9B,EAAK,EAAGsgC,GACxCjM,EAASvC,aAAauL,OAAOr9B,EAAK,EAAG,CAAC0gC,KAW9C3H,GAAa7rC,UAAUyzC,WAAa,SAASr9B,EAASV,EAAQyK,GAC1D,GAAI,SAASuzB,KAAKt9B,GAEd,OAAOpR,KAAKstC,UAAUl8B,EAASV,EAAQyK,GAE3C,OAAQ/J,GACJ,IAAK,OACL,IAAK,OACD,OAAOpR,KAAKstC,UAAUl8B,EAASV,EAAQyK,GAC9BvM,OAAO5O,KAAK4tC,cAAcx8B,EAASV,EAAQyK,IACxD,IAAK,OACL,IAAK,OACL,IAAK,OAAQ,OAAOnb,KAAK8tC,aAAa18B,EAASV,EAAQyK,KAY/D0rB,GAAa7rC,UAAU2zC,IAAM,SAASv9B,EAASs8B,EAAKh9B,EAAQyK,GACxD,GAAI,SAASuzB,KAAKt9B,GAEd,OAAOpR,KAAKkuC,UAAU98B,EAASs8B,EAAKh9B,EAAQyK,GAEhD,OAAQ/J,GACJ,IAAK,OACL,IAAK,OACD,MAAsB,kBAAXs8B,EAAIC,GACJ3tC,KAAKkuC,UAAU98B,EAASs8B,EAAKh9B,EAAQyK,GAEzCnb,KAAKquC,aAAaj9B,EAASs8B,EAAKh9B,EAAQyK,GACnD,IAAK,OACL,IAAK,OACL,IAAK,OACD,OAAOnb,KAAKsuC,YAAYl9B,EAASs8B,EAAKh9B,EAAQyK,KAyX1D,IA8BIyzB,GACAtjC,GACAujC,GACAC,GAjCAC,GAAO,CAAEntB,QAASA,GAAS/G,MAAO4vB,IAyCtC,SAASuE,GAAQ7wC,GAEb6B,KAAK7B,KAAOA,EAEZ6B,KAAKkiB,YAAc,SAAUJ,GACzB,OAAOitB,GAAKntB,QAAQE,GAAShd,UAIjC9E,KAAKivC,WACLjvC,KAAKkvC,gBACDnmC,EASJ/I,KAAKmvC,YAAc,EAMvB,SAASC,GAAS3mC,GACd,OAAOA,EAMX,SAAS4mC,GAAY5mC,GAEjB,OAAOvJ,KAAKowC,KAAK7mC,GAAKvJ,KAAKwJ,MAAMxJ,KAAKI,IAAImJ,IAM9C,SAAS8mC,GAAkB9mC,GACvB,OAAOvJ,KAAKowC,KAAK7mC,GAAKvJ,KAAKwJ,MAAMxJ,KAAKI,IAAQ,EAAJmJ,IAAU,EAMxD,SAAS+mC,GAAgB/mC,GACrB,OAAOvJ,KAAKowC,KAAK7mC,IAAMvJ,KAAKwJ,MAAMxJ,KAAKI,IAAImJ,GAAK,IAAO,IAM3D,SAASgnC,GAAchnC,GACnB,OAAOvJ,KAAKowC,KAAK7mC,GAAKvJ,KAAKwwC,KAAKxwC,KAAKI,IAAImJ,IAM7C,SAASknC,GAAgBlnC,GACrB,OAAOvJ,KAAKowC,KAAK7mC,GAAKvJ,KAAKM,MAAMN,KAAKI,IAAImJ,IAM9C,IAAImnC,GAAa,SAAUnnC,GACvB,IAAIonC,EAAS7vC,KAAK8vC,SACdC,EAAQ/vC,KAAKgwC,QACbC,EAAYjwC,KAAKkwC,YACjBZ,EAAO,EAcX,OAZI7mC,EAAI,IACJA,GAAKA,EACL6mC,GAAQ,GAGZ7mC,GAAKwnC,EAAYF,EAEjBtnC,EAAIvJ,KAAKixC,MAAM1nC,EAAIonC,GAAUA,EAE7BpnC,GAAKsnC,EAGDtnC,EAAI,EAAYsnC,EAAQT,EAErB7mC,EAAI6mC,GAMXc,GAAc,CACd7qC,EAAG,EAEHC,EAAG,EAEH6qC,KAAM,IAINC,SAAU,SAAUvqC,EAAIC,EAAIuqC,EAAIC,GAC5B,OAAQD,EAAKxqC,EAAG0qC,GAAK1qC,EAAGR,IAAMirC,EAAKxqC,EAAGyqC,GAAKzqC,EAAGT,IAQlDmrC,YAAa,SAAUx1C,EAAGy1C,EAAKC,EAAKC,GAChC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA5uC,EAEJ,IAAKsuC,GAAMA,IAAO7wC,KASd,OARA8wC,EAAM51C,EAAEu1C,GAAKE,EAAIF,GACjBM,EAAM71C,EAAEu1C,GAAKG,EAAIH,GACjBS,EAAMP,EAAIprC,EAAIorC,EAAIF,GAClBU,EAAMP,EAAIrrC,EAAIqrC,EAAIH,GAClBO,EAAO9xC,KAAKI,IAAIwxC,GAChBG,EAAO/xC,KAAKI,IAAIyxC,GAChBxuC,EAAKyuC,EAAOC,EAED,IAAP1uC,OACArH,EAAEqK,EAAIrK,EAAEu1C,IAAMS,EAAMC,GAAO,QAI/Bj2C,EAAEqK,EAAIrK,EAAEu1C,IAAMS,EAAMD,EAAOE,EAAMH,GAAQzuC,GAI7CuuC,EAAMD,EAAGP,SAASp1C,EAAGy1C,GAAK,GAAM,GAChCI,EAAMF,EAAGP,SAASp1C,EAAG01C,GAAK,GAAM,GAChCM,EAAML,EAAGP,SAASK,EAAKA,GAAK,GAAO,GACnCQ,EAAMN,EAAGP,SAASM,EAAKA,GAAK,GAAO,GACnCI,EAAO9xC,KAAKI,IAAIwxC,GAChBG,EAAO/xC,KAAKI,IAAIyxC,GAChBxuC,EAAKyuC,EAAOC,EAED,IAAP1uC,EAKJ6tC,GAAYgB,YAAYl2C,EAAGA,GAAIg2C,EAAMD,EAAOE,EAAMH,GAAQzuC,EAAIsuC,GAAI,GAJ9DT,GAAYgB,YAAYl2C,EAAGA,GAAIg2C,EAAMC,GAAO,EAAGN,GAAI,IAQ3DQ,YAAahxC,OAAOixC,kBAYpBF,YAAa,SAAUl2C,EAAGq2C,EAAI73C,EAAGm3C,EAAIW,GACjC,GAAKX,GAAMA,IAAO7wC,KAAlB,CAKA,IAAIyxC,EAAMD,EAAMD,EAAGd,GAAKc,EAAGhsC,EACvBmsC,EAAMF,EAAMD,EAAGI,GAAKJ,EAAG/rC,EACvBosC,EAAOH,EAAM/3C,EAAIm3C,EAAGtrC,EACpBssC,EAAOH,EAAMh4C,EAAIm3C,EAAGrrC,EAExBtK,EAAEqK,EAAIqsC,GAAQ12C,EAAEsK,EAAIqsC,GAAQhB,EAAGQ,iBAT3Bn2C,EAAEqK,GAAKisC,EAAMD,EAAGd,GAAKc,EAAGhsC,GAAK7L,GAarCo4C,MAAO,EAGPC,MAAO,SAAU72C,GACbA,EAAE82C,UAAW,GAIjBC,QAAS,SAAU/2C,GACf,OAAOA,EAAE82C,UAIbE,QAAS,SAAUh3C,GACfA,EAAE82C,UAAW,IAOjBG,GAAc,CACd5sC,EAAG,EAEHC,EAAG,EAEH6qC,KAAM,IAINC,SAAU,SAAUvqC,EAAIC,EAAIuqC,EAAIC,GAC5B,OAAQD,EAAKxqC,EAAG4rC,GAAK5rC,EAAGP,IAAMgrC,EAAKxqC,EAAG2rC,GAAK3rC,EAAGR,IAQlDkrC,YAAa,SAAUx1C,EAAGy1C,EAAKC,EAAKC,GAChC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA5uC,EAEJ,IAAKsuC,GAAMA,IAAO7wC,KASd,OARA8wC,EAAM51C,EAAEy2C,GAAKhB,EAAIgB,GACjBZ,EAAM71C,EAAEy2C,GAAKf,EAAIe,GACjBT,EAAMP,EAAInrC,EAAImrC,EAAIgB,GAClBR,EAAMP,EAAIprC,EAAIorC,EAAIe,GAClBX,EAAO9xC,KAAKI,IAAIwxC,GAChBG,EAAO/xC,KAAKI,IAAIyxC,GAChBxuC,EAAKyuC,EAAOC,EAED,IAAP1uC,OACArH,EAAEsK,EAAItK,EAAEy2C,IAAMT,EAAMC,GAAO,QAI/Bj2C,EAAEsK,EAAItK,EAAEy2C,IAAMT,EAAMD,EAAOE,EAAMH,GAAQzuC,GAI7CuuC,EAAMD,EAAGP,SAASp1C,EAAGy1C,GAAK,GAAM,GAChCI,EAAMF,EAAGP,SAASp1C,EAAG01C,GAAK,GAAM,GAChCM,EAAML,EAAGP,SAASK,EAAKA,GAAK,GAAO,GACnCQ,EAAMN,EAAGP,SAASM,EAAKA,GAAK,GAAO,GACnCI,EAAO9xC,KAAKI,IAAIwxC,GAChBG,EAAO/xC,KAAKI,IAAIyxC,GAChBxuC,EAAKyuC,EAAOC,EAED,IAAP1uC,EAKJ4vC,GAAYf,YAAYl2C,EAAGA,GAAIg2C,EAAMD,EAAOE,EAAMH,GAAQzuC,EAAIsuC,GAAI,GAJ9DsB,GAAYf,YAAYl2C,EAAGA,GAAIg2C,EAAMC,GAAO,EAAGN,GAAI,IAQ3DQ,YAAa,EAYbD,YAAa,SAAUl2C,EAAGq2C,EAAI73C,EAAGm3C,EAAIW,GACjC,GAAKX,GAAMA,IAAO7wC,KAAlB,CAKA,IAAIyxC,EAAMD,EAAMD,EAAGd,GAAKc,EAAGhsC,EACvBmsC,EAAMF,EAAMD,EAAGI,GAAKJ,EAAG/rC,EACvBosC,EAAOH,EAAM/3C,EAAIm3C,EAAGtrC,EACpBssC,EAAOH,EAAMh4C,EAAIm3C,EAAGrrC,EAExBtK,EAAEsK,EAAIqsC,EAAOhB,EAAGQ,aAAen2C,EAAEqK,EAAIqsC,QATjC12C,EAAEsK,GAAKgsC,EAAMD,EAAGI,GAAKJ,EAAG/rC,GAAK9L,GAarCo4C,MAAOzxC,OAAO+xC,kBAGdL,MAAO,SAAU72C,GACbA,EAAEm3C,UAAW,GAIjBJ,QAAS,SAAU/2C,GACf,OAAOA,EAAEm3C,UAIbH,QAAS,SAAUh3C,GACfA,EAAEm3C,UAAW,IAUrB,SAASC,GAAW/sC,EAAGC,GACnBxF,KAAKuF,EAAIA,EACTvF,KAAKwF,EAAIA,EACTxF,KAAKqwC,UAAOtnC,EACZ/I,KAAK8xC,MAAQtsC,EAAID,EACjBvF,KAAKqxC,aAAe9rC,EAAIC,EACxB1L,OAAOy4C,OAAOvyC,MAuFlB,SAASwyC,GAAcjtC,EAAGC,GACtB,IAAI9L,EAAIwF,KAAKoH,KAAKf,EAAIA,EAAIC,EAAIA,GAK9B,OAHAD,GAAK7L,EACL8L,GAAK9L,EAEK,IAAN6L,GAAiB,IAANC,EAAkB4qC,GAClB,IAAN7qC,GAAiB,IAANC,EAAkB2sC,GACxB,IAAIG,GAAW/sC,EAAGC,GAMpC,SAASitC,GACLltC,EACAC,EACAid,EACAomB,GAEA7oC,KAAKuF,EAAIvF,KAAKywC,GAAKvxC,KAAKwJ,MAAU,GAAJnD,GAAU,GACxCvF,KAAKwF,EAAIxF,KAAK2xC,GAAKzyC,KAAKwJ,MAAU,GAAJlD,GAAU,GAExCxF,KAAKyiB,mBAAqBA,EAC1BziB,KAAK6oC,QAAUA,EACf7oC,KAAK0yC,wBAAqB3pC,EAC1B/I,KAAK2yC,wBAAqB5pC,EAC1B/I,KAAKgyC,UAAW,EAChBhyC,KAAKqyC,UAAW,EAEhBv4C,OAAO84C,kBAAkB5yC,MAjI7BlG,OAAOy4C,OAAOnC,IACdt2C,OAAOy4C,OAAOJ,IAkBdG,GAAWt3C,UAAUs1C,SAAW,SAASvqC,EAAIC,EAAIuqC,EAAIC,GACjD,OACIxwC,KAAKuF,EAAI6qC,GAAYE,SAASvqC,EAAIC,EAAIuqC,EAAIC,GAC1CxwC,KAAKwF,EAAI2sC,GAAY7B,SAASvqC,EAAIC,EAAIuqC,EAAIC,IAWlD8B,GAAWt3C,UAAU01C,YAAc,SAASx1C,EAAGy1C,EAAKC,EAAKC,GACrD,IAAIK,EACAC,EACAL,EACAC,EACAC,EACAC,EACA1uC,EAEJuuC,EAAMD,EAAGP,SAASp1C,EAAGy1C,GAAK,GAAM,GAChCI,EAAMF,EAAGP,SAASp1C,EAAG01C,GAAK,GAAM,GAChCM,EAAML,EAAGP,SAASK,EAAKA,GAAK,GAAO,GACnCQ,EAAMN,EAAGP,SAASM,EAAKA,GAAK,GAAO,GACnCI,EAAO9xC,KAAKI,IAAIwxC,GAChBG,EAAO/xC,KAAKI,IAAIyxC,GAChBxuC,EAAKyuC,EAAOC,EAED,IAAP1uC,EAKJvC,KAAKoxC,YAAYl2C,EAAGA,GAAIg2C,EAAMD,EAAOE,EAAMH,GAAQzuC,EAAIsuC,GAAI,GAJvD7wC,KAAKoxC,YAAYl2C,EAAGA,GAAIg2C,EAAMC,GAAO,EAAGN,GAAI,IAmBpDyB,GAAWt3C,UAAUo2C,YAAc,SAASl2C,EAAGq2C,EAAI73C,EAAGm3C,EAAIW,GACtDX,EAAKA,GAAM7wC,KAEX,IAAIyxC,EAAMD,EAAMD,EAAGd,GAAKc,EAAGhsC,EACvBmsC,EAAMF,EAAMD,EAAGI,GAAKJ,EAAG/rC,EACvBosC,EAAOH,EAAM/3C,EAAIm3C,EAAGtrC,EACpBssC,EAAOH,EAAMh4C,EAAIm3C,EAAGrrC,EAEpBqtC,EAAOhC,EAAGQ,YACVyB,EAAM9yC,KAAK8xC,MAEXhJ,EAAK5tC,EAAEqK,EACPyjC,EAAK9tC,EAAEsK,EAEXtK,EAAEqK,GAAKutC,EAAMhK,EAAK+J,EAAOjB,EAAOC,EAAO7I,IAAO8J,EAAMD,GACpD33C,EAAEsK,EAAIstC,GAAO53C,EAAEqK,EAAIujC,GAAME,GAM7BsJ,GAAWt3C,UAAU+2C,MAAQ,SAAS72C,GAClCA,EAAE82C,UAAW,EACb92C,EAAEm3C,UAAW,GA4CjBI,GAAOz3C,UAAU+3C,YAAc,SAAStqC,GACpC,IAAIvN,EAAI8E,KAAK2yC,mBAEb,OAAQlqC,EAAEwpC,QAAQ/2C,IAAMA,IAAM8E,KAAQ9E,EAAIA,EAAEy3C,mBAE5C,OAAOz3C,GAQXu3C,GAAOz3C,UAAUg4C,YAAc,SAASvqC,GACpC,IAAIvN,EAAI8E,KAAK0yC,mBAEb,OAAQjqC,EAAEwpC,QAAQ/2C,IAAMA,IAAM8E,KAAQ9E,EAAIA,EAAEw3C,mBAE5C,OAAOx3C,GAMX,IAAI+3C,GAASn5C,OAAOy4C,OAAO,IAAIE,GAAO,EAAG,IAUrCS,GAAe,CACfC,QAAS,GAAK,GACdC,UAAW,EACXC,WAAY,KACZ3Y,KAAM,EACN4Y,OAAQ,EACRC,UAAU,GASd,SAASC,GAAMC,EAAKC,GAKhB,OAJA1zC,KAAKyzC,IAAMA,EACXzzC,KAAKyoB,MAAQ,GACbzoB,KAAK0zC,KAAOA,EAEJD,GACJ,IAAK,OACDzzC,KAAK2zC,IAAM3zC,KAAK4zC,IAAM5zC,KAAK6zC,IAAM,EACjC7zC,KAAK8zC,IAAM9zC,KAAK2wC,IAAM3wC,KAAK4wC,IAAM,EAErC,IAAK,OACD5wC,KAAK+zC,GAAK/zC,KAAK6wC,GAAK7wC,KAAKg0C,IAAM5D,GAC/BpwC,KAAK0I,MAAQ2mC,IAsVzB,SAAS4E,GAAUC,GAKf,IAHA,IAAIC,EAAQD,EAAMC,MAAQ,IAAIx4C,MAAMu4C,EAAME,MAAMt4C,QAGvC1C,EAAI,EAAGA,EAAI+6C,EAAMr4C,OAAQ1C,IAE9B+6C,EAAM/6C,GAAK,IAAIq5C,GAAO,EAAG,GAQjC,SAAS/8B,GAAKw+B,EAAOG,GAEjB,IAGIC,EAHAZ,EAAOQ,EAAMR,KACba,EAAKL,EAAMK,GACXC,EAAU,EAGd,GAEI,GADAF,EAAMZ,IAAOa,GACD,KAARD,EACEE,SACD,GAAY,KAARF,EACHE,SACD,GAAY,KAARF,EACHC,GAAMb,EAAKa,EAAK,GAAK,OACtB,GAAY,KAARD,EACHC,GAAM,EAAIb,EAAKa,EAAK,GAAK,OAC1B,GAAID,GAAO,KAAQA,GAAO,IACzBC,GAAMD,EAAM,IAAO,OACpB,GAAIA,GAAO,KAAQA,GAAO,IACzBC,GAAyB,GAAlBD,EAAM,IAAO,QACrB,GAAID,GAA0B,IAAZG,GAAyB,KAARF,EAClC,YACDE,EAAU,GAEnBN,EAAMK,GAAKA,EASf,SAASE,GAAMhsC,EAAGyrC,GACVh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAWlsC,EAAE4nC,KAAO,KAEjE6D,EAAMH,GAAKG,EAAMrD,GAAKqD,EAAMF,IAAMvrC,EAKtC,SAASmsC,GAAOnsC,EAAGyrC,GACXh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAYlsC,EAAE4nC,KAAO,KAElE6D,EAAMrD,GAAKqD,EAAMF,IAAMvrC,EAK3B,SAASosC,GAAOpsC,EAAGyrC,GACXh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAYlsC,EAAE4nC,KAAO,KAElE6D,EAAMH,GAAKtrC,EAKf,SAASqsC,GAAM3uC,EAAG+tC,GACd,IAQI3nB,EACAC,EATA/D,EAAQyrB,EAAMzrB,MACdssB,EAAMtsB,EAAMsB,MACZirB,EAAMvsB,EAAMsB,MACZ/jB,EAAKkuC,EAAMe,GAAGF,GACdhvC,EAAKmuC,EAAMgB,GAAGF,GAEd97C,QAAQw7C,OAAS33B,QAAQtd,IAAI,SAAW0G,EAAI,IAAK4uC,EAAKC,GAKrD7uC,GAIDomB,EAAKvmB,EAAGR,EAAIO,EAAGP,EACfgnB,EAAKzmB,EAAGR,EAAIS,EAAGT,IAJfgnB,EAAKxmB,EAAGR,EAAIS,EAAGT,EACfinB,EAAKzmB,EAAGP,EAAIQ,EAAGR,GAMnB0uC,EAAMrD,GAAKqD,EAAMF,IAAMxB,GAAcjmB,EAAIC,GAK7C,SAAS2oB,GAAMhvC,EAAG+tC,GACd,IAQI3nB,EACAC,EATA/D,EAAQyrB,EAAMzrB,MACdssB,EAAMtsB,EAAMsB,MACZirB,EAAMvsB,EAAMsB,MACZ/jB,EAAKkuC,EAAMe,GAAGF,GACdhvC,EAAKmuC,EAAMgB,GAAGF,GAEd97C,QAAQw7C,OAAS33B,QAAQtd,IAAI,SAAW0G,EAAI,IAAK4uC,EAAKC,GAKrD7uC,GAIDomB,EAAKvmB,EAAGR,EAAIO,EAAGP,EACfgnB,EAAKzmB,EAAGR,EAAIS,EAAGT,IAJfgnB,EAAKxmB,EAAGR,EAAIS,EAAGT,EACfinB,EAAKzmB,EAAGP,EAAIQ,EAAGR,GAMnB0uC,EAAMH,GAAKvB,GAAcjmB,EAAIC,GAKjC,SAAS4oB,GAAMlB,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdjjB,EAAIijB,EAAMsB,MACVxkB,EAAIkjB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAWnvC,EAAGD,GAE3D2uC,EAAMrD,GAAKqD,EAAMF,IAAMxB,GAAcjtC,EAAGC,GAK5C,SAAS6vC,GAAMnB,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdjjB,EAAIijB,EAAMsB,MACVxkB,EAAIkjB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAWnvC,EAAGD,GAE3D2uC,EAAMH,GAAKvB,GAAcjtC,EAAGC,GAKhC,SAAS8vC,GAAIpB,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdooB,EAAKqD,EAAMrD,GAEX33C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAE7ClsB,EAAMvrB,KAAY,MAAP2zC,EAAGtrC,GACdkjB,EAAMvrB,KAAY,MAAP2zC,EAAGrrC,GAKlB,SAAS+vC,GAAIrB,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdsrB,EAAKG,EAAMH,GAEX76C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAE7ClsB,EAAMvrB,KAAY,MAAP62C,EAAGxuC,GACdkjB,EAAMvrB,KAAY,MAAP62C,EAAGvuC,GAKlB,SAASgwC,GAAOtB,GACZA,EAAMH,GAAKG,EAAMrD,GAEb33C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAKjD,SAASc,GAAMvB,GAEX,IAAIzrB,EAAQyrB,EAAMzrB,MACditB,EAAOjtB,EAAMsB,MACb4rB,EAAOltB,EAAMsB,MACb6rB,EAAOntB,EAAMsB,MACb8rB,EAAOptB,EAAMsB,MACb+rB,EAAKrtB,EAAMsB,MACXgsB,EAAK7B,EAAM6B,GACXb,EAAKhB,EAAMgB,GACXc,EAAMD,EAAGL,GACTO,EAAMF,EAAGJ,GACTO,EAAMhB,EAAGU,GACTO,EAAMjB,EAAGW,GACT36C,EAAIg5C,EAAMe,GAAGa,GAEb58C,QAAQw7C,OAAS33B,QAAQtd,IAAI,YAAai2C,EAAMC,EAAMC,EAAMC,EAAMC,GAKtE,IAAIrxC,EAAKuxC,EAAIzwC,EACTb,EAAKsxC,EAAIxwC,EACTb,EAAKsxC,EAAI1wC,EACTX,EAAKqxC,EAAIzwC,EACT4wC,EAAKF,EAAI3wC,EACT8wC,EAAKH,EAAI1wC,EACT8wC,EAAKH,EAAI5wC,EACTgxC,EAAKJ,EAAI3wC,EAETgxC,GAAO/xC,EAAKE,IAAO0xC,EAAKE,IAAO7xC,EAAKE,IAAOwxC,EAAKE,GAChDG,EAAKhyC,EAAKG,EAAKF,EAAKC,EACpB+xC,EAAKN,EAAKG,EAAKF,EAAKC,EAExBp7C,EAAEqK,GAAKkxC,GAAML,EAAKE,GAAMI,GAAMjyC,EAAKE,IAAO6xC,EAC1Ct7C,EAAEsK,GAAKixC,GAAMJ,EAAKE,GAAMG,GAAMhyC,EAAKE,IAAO4xC,EAK9C,SAASG,GAAKzC,GACVA,EAAMJ,IAAMI,EAAMzrB,MAAMsB,MAEpB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUT,EAAMJ,KAKjE,SAAS8C,GAAK1C,GACVA,EAAMvD,IAAMuD,EAAMzrB,MAAMsB,MAEpB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUT,EAAMvD,KAKjE,SAASkG,GAAK3C,GACVA,EAAMtD,IAAMsD,EAAMzrB,MAAMsB,MAEpB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUT,EAAMtD,KAKjE,SAASkG,GAAK5C,GACV,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAMpB,OAJI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU95C,GAEvDq5C,EAAMP,IAAM94C,EAEJA,GACJ,KAAK,EACIq5C,EAAMC,OAASF,GAAUC,GAC9BA,EAAM6B,GAAK7B,EAAMC,MACjB,MACJ,KAAK,EACDD,EAAM6B,GAAK7B,EAAME,MACjB,MACJ,QACI,MAAM,IAAIl4C,MAAM,yBAM5B,SAAS66C,GAAK7C,GACV,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAMpB,OAJI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU95C,GAEvDq5C,EAAMN,IAAM/4C,EAEJA,GACJ,KAAK,EACIq5C,EAAMC,OAASF,GAAUC,GAC9BA,EAAMgB,GAAKhB,EAAMC,MACjB,MACJ,KAAK,EACDD,EAAMgB,GAAKhB,EAAME,MACjB,MACJ,QACI,MAAM,IAAIl4C,MAAM,yBAM5B,SAAS86C,GAAK9C,GACV,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAMpB,OAJI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU95C,GAEvDq5C,EAAML,IAAMh5C,EAEJA,GACJ,KAAK,EACIq5C,EAAMC,OAASF,GAAUC,GAC9BA,EAAMe,GAAKf,EAAMC,MACjB,MACJ,KAAK,EACDD,EAAMe,GAAKf,EAAME,MACjB,MACJ,QACI,MAAM,IAAIl4C,MAAM,yBAM5B,SAAS+6C,GAAK/C,GACV,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAMpB,OAJI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU95C,GAEvDq5C,EAAMP,IAAMO,EAAMN,IAAMM,EAAML,IAAMh5C,EAE5BA,GACJ,KAAK,EACIq5C,EAAMC,OAASF,GAAUC,GAC9BA,EAAM6B,GAAK7B,EAAMgB,GAAKhB,EAAMe,GAAKf,EAAMC,MACvC,MACJ,KAAK,EACDD,EAAM6B,GAAK7B,EAAMgB,GAAKhB,EAAMe,GAAKf,EAAME,MACvC,MACJ,QACI,MAAM,IAAIl4C,MAAM,yBAM5B,SAASg7C,GAAMhD,GACXA,EAAMxZ,KAAOwZ,EAAMzrB,MAAMsB,MAErB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAWT,EAAMxZ,MAKlE,SAASyc,GAAIjD,GACLh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAE7CT,EAAMxrC,MAAQ2mC,GAKlB,SAAS+H,GAAKlD,GACNh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7CT,EAAMxrC,MAAQ8mC,GAKlB,SAAS6H,GAAInD,GACT,IAAIx6C,EAAIw6C,EAAMzrB,MAAMsB,MAEhB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASj7C,GAEtDw6C,EAAMZ,OAAS55C,EAAI,GAKvB,SAAS49C,GAAKpD,GAONh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7Cj/B,GAAKw+B,GAAO,GAKhB,SAASqD,GAAKrD,GACV,IAAIr6C,EAAIq6C,EAAMzrB,MAAMsB,MAEhB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU96C,GAGvDq6C,EAAMK,IAAM16C,EAAI,EAKpB,SAAS29C,GAAOtD,GACZ,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAEhB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY95C,GAEzDq5C,EAAMf,QAAUt4C,EAAI,GAKxB,SAAS48C,GAAIvD,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MAEdvvB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAE7ClsB,EAAMvrB,KAAKurB,EAAMA,EAAM3sB,OAAS,IAKpC,SAAS47C,GAAIxD,GACLh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAE7CT,EAAMzrB,MAAMsB,MAKhB,SAAS4tB,GAAMzD,GACPh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAE7CT,EAAMzrB,MAAM3sB,OAAS,EAKzB,SAAS87C,GAAK1D,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MAEdtiB,EAAIsiB,EAAMsB,MACV7jB,EAAIuiB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7ClsB,EAAMvrB,KAAKiJ,GACXsiB,EAAMvrB,KAAKgJ,GAKf,SAAS2xC,GAAM3D,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MAEdvvB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAE7ClsB,EAAMvrB,KAAKurB,EAAM3sB,QAKrB,SAASg8C,GAAS5D,GACd,IAAIzrB,EAAQyrB,EAAMzrB,MACdsvB,EAAKtvB,EAAMsB,MACXtwB,EAAIgvB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,aAAcoD,EAAIt+C,GAG/D,IAAIu+C,EAAM9D,EAAMK,GACZ0D,EAAQ/D,EAAMR,KAElBQ,EAAMR,KAAOQ,EAAMgE,MAAMH,GAGzB,IAAK,IAAI3+C,EAAI,EAAGA,EAAIK,EAAGL,IACnBkS,GAAK4oC,GAEDh7C,QAAQw7C,OAAS33B,QAAQtd,MACvBy0C,EAAMS,KACRv7C,EAAI,EAAIK,EAAI,gBAAkB,gBAC9BL,GAKR86C,EAAMK,GAAKyD,EACX9D,EAAMR,KAAOuE,EAKjB,SAASE,GAAKjE,GACV,IAAI6D,EAAK7D,EAAMzrB,MAAMsB,MAEjB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUoD,GAGvD,IAAIC,EAAM9D,EAAMK,GACZ0D,EAAQ/D,EAAMR,KAElBQ,EAAMR,KAAOQ,EAAMgE,MAAMH,GAGzBzsC,GAAK4oC,GAGLA,EAAMK,GAAKyD,EACX9D,EAAMR,KAAOuE,EAET/+C,QAAQw7C,OAAS33B,QAAQtd,MAAMy0C,EAAMS,KAAM,iBAAkBoD,GAKrE,SAASK,GAAOlE,GACZ,IAAIzrB,EAAQyrB,EAAMzrB,MACd1Z,EAAI0Z,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY5lC,GAIzD0Z,EAAMvrB,KAAKurB,EAAMA,EAAM3sB,OAASiT,IAKpC,SAASspC,GAAOnE,GACZ,IAAIzrB,EAAQyrB,EAAMzrB,MACd1Z,EAAI0Z,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY5lC,GAEzD0Z,EAAMvrB,KAAKurB,EAAM0iB,OAAO1iB,EAAM3sB,OAASiT,EAAG,GAAG,IAKjD,SAASupC,GAAKpE,GACV,GAAkB,SAAdA,EAAMT,IAAkB,MAAM,IAAIv3C,MAAM,yBAC5C,IAAIusB,EAAQyrB,EAAMzrB,MACdirB,EAAOQ,EAAMR,KACba,EAAKL,EAAMK,GAEXwD,EAAKtvB,EAAMsB,MACXwuB,EAAUhE,EAEVr7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUoD,GAEvD,MAAsB,KAAfrE,IAAOa,IAEdL,EAAMK,GAAKA,EACXL,EAAMgE,MAAMH,GAAMrE,EAAK1vC,MAAMu0C,EAAU,EAAGhE,GAK9C,SAASiE,GAAK9vC,EAAOwrC,GACjB,IAAI4B,EAAK5B,EAAMzrB,MAAMsB,MACjB7uB,EAAIg5C,EAAM6B,GAAGD,GACb/B,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GAEX33C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAUjsC,EAAQ,IAAKotC,GAEpE,IAAIp8C,EAAIm3C,EAAGP,SAASp1C,EAAG+3C,IAEnBvqC,IAAShP,EAAIw6C,EAAMxrC,MAAMhP,IAE7Bq6C,EAAG3C,YAAYl2C,EAAG+3C,GAAQv5C,EAAGm3C,GAC7BkD,EAAGhC,MAAM72C,GAETg5C,EAAMJ,IAAMI,EAAMvD,IAAMmF,EAK5B,SAAS2C,GAAIhwC,EAAGyrC,GACZ,IAEIwE,EACAC,EACAC,EAJA3D,EAAKf,EAAMe,GACX4D,EAAO5D,EAAGn5C,OAAS,EAKnB5C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAASlsC,EAAE4nC,KAAO,KAE/D,IAAK,IAAIj3C,EAAI,EAAGA,EAAIy/C,EAAMz/C,IACtBs/C,EAAKzD,EAAG77C,GAGJqP,EAAEwpC,QAAQyG,KAEdC,EAAKD,EAAG1F,YAAYvqC,GAGhBkwC,IAAOD,IAEXE,EAAKF,EAAG3F,YAAYtqC,GAEhBkwC,IAAOC,GAIPnwC,EAAE2oC,YAAYsH,EAAIA,EAAIjwC,EAAE6nC,SAASqI,EAAIA,GAAI,GAAO,GAAOlwC,GAAG,GAG9DA,EAAEioC,YAAYgI,EAAIC,EAAIC,EAAInwC,KAMlC,SAASqwC,GAAI3yC,EAAG+tC,GACZ,IAAIzrB,EAAQyrB,EAAMzrB,MACdswB,EAAM5yC,EAAI+tC,EAAMvD,IAAMuD,EAAMtD,IAC5BW,GAAMprC,EAAI+tC,EAAM6B,GAAK7B,EAAMgB,IAAI6D,GAC/BhF,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GACXnW,EAAOwZ,EAAMxZ,KACbua,EAAKf,EAAMe,GAEf,MAAOva,IACP,CACI,IAAIob,EAAKrtB,EAAMsB,MACX7uB,EAAI+5C,EAAGa,GAEPp8C,EAAIm3C,EAAGP,SAASiB,EAAIA,GAAI,GAAO,GACnCwC,EAAG3C,YAAYl2C,EAAGA,EAAGxB,EAAGm3C,GACxBkD,EAAGhC,MAAM72C,GAELhC,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,MACLT,EAAMxZ,KAAO,EACX,SAAWwZ,EAAMxZ,KAAOA,GAAQ,KAChC,IAEH,QAAUv0B,EAAI,MAAQ,OAAS,IAAK2vC,GAKhD5B,EAAMxZ,KAAO,EAKjB,SAASse,GAAI7yC,EAAG+tC,GACZ,IAAIzrB,EAAQyrB,EAAMzrB,MACdswB,EAAM5yC,EAAI+tC,EAAMvD,IAAMuD,EAAMtD,IAC5BW,GAAMprC,EAAI+tC,EAAM6B,GAAK7B,EAAMgB,IAAI6D,GAC/BhF,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GACXoI,EAAKxwB,EAAMsB,MACXmvB,EAAKhF,EAAMe,GAAGf,EAAM5xB,SAAS22B,IAC7B/9C,EAAIg+C,EAEJhgD,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAASxuC,EAAI,IAAK8yC,GAE/D,IAAIv/C,EAAIm3C,EAAGP,SAASiB,EAAIA,GAAI,GAAO,GAEnC,GACQr2C,IAAMq2C,GAAMwC,EAAG3C,YAAYl2C,EAAGA,EAAGxB,EAAGm3C,GACxC31C,EAAIA,EAAEy3C,yBACDz3C,IAAMg+C,GAKnB,SAASC,GAAIhzC,EAAG+tC,GACZ,IAUIkF,EAOAl+C,EAjBAutB,EAAQyrB,EAAMzrB,MACdswB,EAAM5yC,EAAI+tC,EAAMvD,IAAMuD,EAAMtD,IAC5BW,GAAMprC,EAAI+tC,EAAM6B,GAAK7B,EAAMgB,IAAI6D,GAC/BhF,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GAEXhzC,EAAI4qB,EAAMsB,MAKd,OAHI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAASxuC,EAAI,IAAKtI,GAGvDA,GACJ,KAAK,EAAIu7C,EAAIlF,EAAMC,MAAO,MAC1B,KAAK,EAAIiF,EAAIlF,EAAME,MAAO,MAC1B,QAAU,MAAM,IAAIl4C,MAAM,gBAM9B,IAFA,IAAIxC,EAAIm3C,EAAGP,SAASiB,EAAIA,GAAI,GAAO,GAC/BsH,EAAOO,EAAEt9C,OAAS,EACb1C,EAAI,EAAGA,EAAIy/C,EAAMz/C,IAEtB8B,EAAIk+C,EAAEhgD,GACN26C,EAAG3C,YAAYl2C,EAAGA,EAAGxB,EAAGm3C,GAOhC,SAASwI,GAAMnF,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdiS,EAAOwZ,EAAMxZ,KACbqZ,EAAKG,EAAMH,GACXr6C,EAAI+uB,EAAMsB,MAAQ,GAClBkrB,EAAKf,EAAMe,GAEf,MAAOva,IAAQ,CACX,IAAIob,EAAKrtB,EAAMsB,MACX7uB,EAAI+5C,EAAGa,GAEP58C,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,MACLT,EAAMxZ,KAAO,EAAI,SAAWwZ,EAAMxZ,KAAOA,GAAQ,KAAO,IACzD,UAAWob,EAAIp8C,GAIvBq6C,EAAG3C,YAAYl2C,EAAGA,EAAGxB,GACrBq6C,EAAGhC,MAAM72C,GAGbg5C,EAAMxZ,KAAO,EAKjB,SAAS4e,GAAGpF,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACd8wB,EAAOrF,EAAMvD,IACb6I,EAAOtF,EAAMtD,IACblW,EAAOwZ,EAAMxZ,KACbiW,EAAMuD,EAAM6B,GAAGwD,GACf3I,EAAMsD,EAAMgB,GAAGsE,GACfzF,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMF,IACXiB,EAAKf,EAAMe,GAEf,MAAOva,IAAQ,CACX,IAAIob,EAAKrtB,EAAMsB,MACX7uB,EAAI+5C,EAAGa,GAEP58C,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,MACLT,EAAMxZ,KAAO,EAAI,SAAWwZ,EAAMxZ,KAAOA,GAAQ,KAAO,IACzD,OAAQob,EAAIyD,EAAM,MAAOC,GAIjCzF,EAAGrD,YAAYx1C,EAAGy1C,EAAKC,EAAKC,GAE5BkD,EAAGhC,MAAM72C,GAGbg5C,EAAMxZ,KAAO,EAKjB,SAAS+e,GAAMtzC,EAAG+tC,GACd,IAAIzrB,EAAQyrB,EAAMzrB,MACd/uB,EAAI+uB,EAAMsB,MAAQ,GAClB+rB,EAAKrtB,EAAMsB,MACX7uB,EAAIg5C,EAAMgB,GAAGY,GACbhC,EAAMI,EAAM6B,GAAG7B,EAAMJ,KACrBC,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GAEfkD,EAAG3C,YAAYl2C,EAAG44C,EAAKp6C,EAAGm3C,GAC1BkD,EAAGhC,MAAM72C,GAELhC,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAWxuC,EAAI,IAAKzM,EAAGo8C,GAEpE5B,EAAMvD,IAAMuD,EAAMJ,IAClBI,EAAMtD,IAAMkF,EACR3vC,IAAK+tC,EAAMJ,IAAMgC,GAKzB,SAAS4D,GAAQxF,GACb,IAAIzrB,EAAQyrB,EAAMzrB,MACdkxB,EAAOzF,EAAMJ,IACbA,EAAMI,EAAM6B,GAAG4D,GACfjf,EAAOwZ,EAAMxZ,KACbqZ,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GACXqE,EAAKhB,EAAMgB,GAEf,MAAOxa,IAAQ,CACX,IAAIob,EAAKrtB,EAAMsB,MACX7uB,EAAIg6C,EAAGY,GAEP58C,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,MACLT,EAAMxZ,KAAO,EAAI,SAAWwZ,EAAMxZ,KAAOA,GAAQ,KAAO,IACzD,YAAaob,GAIrB/B,EAAG3C,YAAYl2C,EAAG44C,EAAK,EAAGjD,GAC1BkD,EAAGhC,MAAM72C,GAGbg5C,EAAMxZ,KAAO,EAKjB,SAASkf,GAAK1F,GACNh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7CT,EAAMxrC,MAAQ6mC,GAKlB,SAASsK,GAAKnxC,EAAOwrC,GACjB,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MACV+rB,EAAKrtB,EAAMsB,MACX7uB,EAAIg5C,EAAM6B,GAAGD,GACb/B,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GACXiJ,EAAK5F,EAAM6F,IAAIl/C,GAEf3B,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,KACN,QAAUjsC,EAAQ,IAClB7N,EAAG,IAAKi/C,EAAI,IAAKhE,GAIzB,IAAIp8C,EAAIm3C,EAAGP,SAASp1C,EAAG+3C,IAEnBvqC,IACIxJ,KAAKI,IAAI5F,EAAIogD,GAAM5F,EAAMf,UAAWz5C,EAAIogD,GAE5CpgD,EAAIw6C,EAAMxrC,MAAMhP,IAGpBq6C,EAAG3C,YAAYl2C,EAAG+3C,GAAQv5C,EAAGm3C,GAEX,IAAdqD,EAAMP,MACNz4C,EAAEu1C,GAAKv1C,EAAEqK,EACTrK,EAAEy2C,GAAKz2C,EAAEsK,GAGbuuC,EAAGhC,MAAM72C,GAETg5C,EAAMJ,IAAMI,EAAMvD,IAAMmF,EAK5B,SAASkE,GAAO9F,GACZ,IAAIR,EAAOQ,EAAMR,KACba,EAAKL,EAAMK,GACX9rB,EAAQyrB,EAAMzrB,MAEd5tB,EAAI64C,IAAOa,GAEXr7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY95C,GAEzD,IAAK,IAAIzB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAOqvB,EAAMvrB,KAAKw2C,IAAOa,IAEhDL,EAAMK,GAAKA,EAKf,SAAS0F,GAAO/F,GACZ,IAAIK,EAAKL,EAAMK,GACXb,EAAOQ,EAAMR,KACbjrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI64C,IAAOa,GAEXr7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY95C,GAEzD,IAAK,IAAIzB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAK,CACxB,IAAI8gD,EAAKxG,IAAOa,IAAO,EAAKb,IAAOa,GAC3B,MAAJ2F,IAAcA,IAAqB,GAAV,MAAJA,KACzBzxB,EAAMvrB,KAAKg9C,GAGfhG,EAAMK,GAAKA,EAKf,SAAS4F,GAAGjG,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACd2xB,EAAQlG,EAAMkG,MAEbA,IAASA,EAAQlG,EAAMkG,MAAQ,IAEpC,IAAI3xC,EAAIggB,EAAMsB,MACV1wB,EAAIovB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,KAAMlsC,EAAGpP,GAEtD+gD,EAAM/gD,GAAKoP,EAKf,SAAS4xC,GAAGnG,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACd2xB,EAAQlG,EAAMkG,MAEd/gD,EAAIovB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,KAAMt7C,GAEnD,IAAIoP,EAAK2xC,GAASA,EAAM/gD,IAAO,EAE/BovB,EAAMvrB,KAAKuL,GAKf,SAAS6xC,GAAMpG,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MAEdhgB,EAAIggB,EAAMsB,MACV1wB,EAAIovB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASlsC,EAAGpP,GAEzD66C,EAAM6F,IAAI1gD,GAAKoP,EAAI,GAKvB,SAAS8xC,GAAKrG,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MACd+xB,EAAO/xB,EAAMsB,MAEb7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQ6F,GAErD/xB,EAAMvrB,KAAuB,GAAlBg3C,EAAM6F,IAAIS,IAKzB,SAASC,GAAGt0C,EAAG+tC,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdqtB,EAAKrtB,EAAMsB,MACX7uB,EAAIg5C,EAAMe,GAAGa,GAEb58C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,MAAQxuC,EAAI,IAAK2vC,GAE9DrtB,EAAMvrB,KAA+C,GAA1Cg3C,EAAMF,IAAI1D,SAASp1C,EAAG+3C,GAAQ9sC,GAAG,IAKhD,SAASu0C,GAAGv0C,EAAG+tC,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdkyB,EAAMlyB,EAAMsB,MACZ6wB,EAAMnyB,EAAMsB,MACZ/jB,EAAKkuC,EAAMgB,GAAGyF,GACd50C,EAAKmuC,EAAM6B,GAAG6E,GACdlhD,EAAIw6C,EAAMF,IAAI1D,SAASvqC,EAAIC,EAAIG,EAAGA,GAElCjN,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,MAAQxuC,EAAI,IAAKw0C,EAAKC,EAAK,KAAMlhD,GAE9Ew6C,EAAMzrB,MAAMvrB,KAAKgC,KAAKwJ,MAAU,GAAJhP,IAKhC,SAASmhD,GAAM3G,GACPh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAC7CT,EAAMzrB,MAAMvrB,KAAKg3C,EAAM4G,MAK3B,SAASC,GAAO7G,GACRh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAC7CT,EAAMX,UAAW,EAKrB,SAASyH,GAAG9G,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQsG,EAAIC,GAEzDzyB,EAAMvrB,KAAKg+C,EAAKD,EAAK,EAAI,GAK7B,SAASE,GAAKjH,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUsG,EAAIC,GAE3DzyB,EAAMvrB,KAAKg+C,GAAMD,EAAK,EAAI,GAK9B,SAASG,GAAGlH,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQsG,EAAIC,GAEzDzyB,EAAMvrB,KAAKg+C,EAAKD,EAAK,EAAI,GAK7B,SAASI,GAAKnH,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAUsG,EAAIC,GAE3DzyB,EAAMvrB,KAAKg+C,GAAMD,EAAK,EAAI,GAK9B,SAASK,GAAGpH,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQsG,EAAIC,GAEzDzyB,EAAMvrB,KAAK+9C,IAAOC,EAAK,EAAI,GAK/B,SAASK,GAAIrH,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASsG,EAAIC,GAE1DzyB,EAAMvrB,KAAK+9C,IAAOC,EAAK,EAAI,GAK/B,SAASM,GAAItH,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS95C,GAEtD4tB,EAAMvrB,KAAKgC,KAAKixC,MAAMt1C,GAAK,EAAI,EAAI,GAKvC,SAAS4gD,GAAKvH,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAU95C,GAEvD4tB,EAAMvrB,KAAKgC,KAAKixC,MAAMt1C,GAAK,EAAI,EAAI,GAKvC,SAAS6gD,GAAGxH,GACR,IAAIxF,EAAOwF,EAAMzrB,MAAMsB,MAEnB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQjG,GAIhDA,IACDh5B,GAAKw+B,GAAO,GAERh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAO,UAMtD,SAASgH,GAAIzH,GAKLh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAKjD,SAASiH,GAAI1H,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASsG,EAAIC,GAE1DzyB,EAAMvrB,KAAK+9C,GAAMC,EAAK,EAAI,GAK9B,SAASW,GAAG3H,GACR,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,OAAQsG,EAAIC,GAEzDzyB,EAAMvrB,KAAK+9C,GAAMC,EAAK,EAAI,GAK9B,SAASY,GAAI5H,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5qB,EAAI4qB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS92C,GAEtD4qB,EAAMvrB,KAAKW,EAAI,EAAI,GAOvB,SAASk+C,GAAU71C,EAAGguC,GAClB,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MACVgqB,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMrD,GACXiK,EAAO5G,EAAM4G,KACb54C,EAAOgyC,EAAMd,UAAsB,IAATltC,EAAI,GAC9B81C,EAAK9H,EAAMb,WACX0C,EAAK7B,EAAM6B,GAEX78C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAYzuC,EAAI,IAAKrL,EAAG4tB,GAErE,IAAK,IAAIrvB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAK,CACxB,IAAI08C,EAAKrtB,EAAMsB,MACXkyB,EAAMxzB,EAAMsB,MACZmyB,EAAQh6C,IAAe,IAAN+5C,IAAe,GACpC,GAAIC,IAAUpB,EAAd,CAEA,IAAIqB,GAAa,GAANF,GAAc,EACrBE,GAAO,GAAKA,IACZjjD,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAAamB,EAAI,KAAMqG,EAAMH,GAE1E,IAAI9gD,EAAI66C,EAAGD,GACX/B,EAAG3C,YAAYl2C,EAAGA,EAAGihD,EAAMH,EAAInL,KAMvC,SAASuL,GAAIlI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS95C,GAEtDq5C,EAAMd,UAAYv4C,EAKtB,SAASwhD,GAAInI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS95C,GAEtDq5C,EAAMb,WAAan0C,KAAKC,IAAI,GAAKtE,GAKrC,SAASyhD,GAAIpI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd3D,EAAK2D,EAAMsB,MACXlF,EAAK4D,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS7vB,EAAID,GAE1D4D,EAAMvrB,KAAK2nB,EAAKC,GAKpB,SAASy3B,GAAIrI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd3D,EAAK2D,EAAMsB,MACXlF,EAAK4D,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS7vB,EAAID,GAE1D4D,EAAMvrB,KAAK2nB,EAAKC,GAKpB,SAAS03B,GAAItI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd3D,EAAK2D,EAAMsB,MACXlF,EAAK4D,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS7vB,EAAID,GAE1D4D,EAAMvrB,KAAU,GAAL2nB,EAAUC,GAKzB,SAAS23B,GAAIvI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd3D,EAAK2D,EAAMsB,MACXlF,EAAK4D,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS7vB,EAAID,GAE1D4D,EAAMvrB,KAAK2nB,EAAKC,EAAK,IAKzB,SAAS43B,GAAIxI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS95C,GAEtD4tB,EAAMvrB,KAAKgC,KAAKI,IAAIzE,IAKxB,SAAS8hD,GAAIzI,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAAS95C,GAEtD4tB,EAAMvrB,MAAMrC,GAKhB,SAAS+hD,GAAM1I,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAW95C,GAExD4tB,EAAMvrB,KAA4B,GAAvBgC,KAAKM,MAAM3E,EAAI,KAK9B,SAASgiD,GAAQ3I,GACb,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAAa95C,GAE1D4tB,EAAMvrB,KAA2B,GAAtBgC,KAAKwwC,KAAK70C,EAAI,KAK7B,SAASiiD,GAAMv6C,EAAI2xC,GACf,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAE7ClsB,EAAMvrB,KAA6B,GAAxBg3C,EAAMxrC,MAAM7N,EAAI,KAK/B,SAASkiD,GAAM7I,GACX,IAAIzrB,EAAQyrB,EAAMzrB,MACdhgB,EAAIggB,EAAMsB,MACV1wB,EAAIovB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAWlsC,EAAGpP,GAE3D66C,EAAM6F,IAAI1gD,GAAKoP,EAAIyrC,EAAM4G,KAAO5G,EAAM/1C,KAAK4iB,WAO/C,SAASi8B,GAAU92C,EAAGguC,GAClB,IAAIzrB,EAAQyrB,EAAMzrB,MACd5tB,EAAI4tB,EAAMsB,MACV+wB,EAAO5G,EAAM4G,KACb54C,EAAOgyC,EAAMd,UAAsB,IAATltC,EAAI,GAC9B81C,EAAK9H,EAAMb,WAEXn6C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAYzuC,EAAI,IAAKrL,EAAG4tB,GAErE,IAAK,IAAIrvB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAK,CACxB,IAAIK,EAAIgvB,EAAMsB,MACVkyB,EAAMxzB,EAAMsB,MACZmyB,EAAQh6C,IAAe,IAAN+5C,IAAe,GACpC,GAAIC,IAAUpB,EAAd,CAEA,IAAIqB,GAAa,GAANF,GAAc,EACrBE,GAAO,GAAKA,IAEhB,IAAIh6C,EAAQg6C,EAAMH,EAEd9iD,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAAal7C,EAAG,KAAM0I,GAEnE+xC,EAAM6F,IAAItgD,IAAM0I,IAMxB,SAAS86C,GAAO/I,GACZ,IAMIrE,EANAh1C,EAAIq5C,EAAMzrB,MAAMsB,MAQpB,OANI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,WAAY95C,GAEzDq5C,EAAMxrC,MAAQknC,GAIF,IAAJ/0C,GACJ,KAAK,EACDg1C,EAAS,GACT,MACJ,KAAK,GACDA,EAAS,EACT,MACJ,KAAK,IACDA,EAAS,EACT,MACJ,QACI,MAAM,IAAI3zC,MAAM,wBAKxB,OAFAg4C,EAAMpE,SAAWD,EAEL,GAAJh1C,GACJ,KAAK,EACDq5C,EAAMlE,QAAU,EAChB,MACJ,KAAK,GACDkE,EAAMlE,QAAU,IAAOH,EACvB,MACJ,KAAK,GACDqE,EAAMlE,QAAU,GAAOH,EACvB,MACJ,KAAK,GACDqE,EAAMlE,QAAU,IAAOH,EACvB,MACJ,QAAS,MAAM,IAAI3zC,MAAM,wBAG7BrB,GAAK,GAEUq5C,EAAMhE,YAAX,IAANr1C,EAA+B,GACPA,EAAI,EAAI,IAAOg1C,EAK/C,SAASqN,GAAShJ,GACd,IAMIrE,EANAh1C,EAAIq5C,EAAMzrB,MAAMsB,MAQpB,OANI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,aAAc95C,GAE3Dq5C,EAAMxrC,MAAQknC,GAIF,IAAJ/0C,GACJ,KAAK,EACDg1C,EAAS3wC,KAAKoH,KAAK,GAAK,EACxB,MACJ,KAAK,GACDupC,EAAS3wC,KAAKoH,KAAK,GACnB,MACJ,KAAK,IACDupC,EAAS,EAAI3wC,KAAKoH,KAAK,GACvB,MACJ,QACI,MAAM,IAAIpK,MAAM,0BAKxB,OAFAg4C,EAAMpE,SAAWD,EAEL,GAAJh1C,GACJ,KAAK,EACDq5C,EAAMlE,QAAU,EAChB,MACJ,KAAK,GACDkE,EAAMlE,QAAU,IAAOH,EACvB,MACJ,KAAK,GACDqE,EAAMlE,QAAU,GAAOH,EACvB,MACJ,KAAK,GACDqE,EAAMlE,QAAU,IAAOH,EACvB,MACJ,QACI,MAAM,IAAI3zC,MAAM,0BAGxBrB,GAAK,GAEUq5C,EAAMhE,YAAX,IAANr1C,EAA+B,GACPA,EAAI,EAAI,IAAOg1C,EAK/C,SAASsN,GAAKjJ,GACNh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7CT,EAAMxrC,MAAQ0mC,GAKlB,SAASgO,GAAKlJ,GACNh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7CT,EAAMxrC,MAAQ+mC,GAKlB,SAAS4N,GAAKnJ,GACNh7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7CT,EAAMxrC,MAAQinC,GAKlB,SAAS2N,GAASpJ,GACd,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAIhB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,aAAc95C,GAK/D,SAAS0iD,GAAOp3C,EAAG+tC,GACf,IAQI3nB,EACAC,EATA/D,EAAQyrB,EAAMzrB,MACdssB,EAAMtsB,EAAMsB,MACZirB,EAAMvsB,EAAMsB,MACZ/jB,EAAKkuC,EAAMe,GAAGF,GACdhvC,EAAKmuC,EAAMgB,GAAGF,GAEd97C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAAYxuC,EAAI,IAAK4uC,EAAKC,GAKlE7uC,GAIDomB,EAAKvmB,EAAGR,EAAIO,EAAGP,EACfgnB,EAAKzmB,EAAGR,EAAIS,EAAGT,IAJfgnB,EAAKxmB,EAAGR,EAAIS,EAAGT,EACfinB,EAAKzmB,EAAGP,EAAIQ,EAAGR,GAMnB0uC,EAAMF,IAAMxB,GAAcjmB,EAAIC,GAKlC,SAASgxB,GAAQtJ,GACb,IAAIzrB,EAAQyrB,EAAMzrB,MACdg1B,EAAMh1B,EAAMsB,MACZ7vB,EAAI,EAEJhB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,YAAa8I,GAGhD,EAANA,IAAcvjD,EAAI,IAMZ,GAANujD,IAAcvjD,GAAK,MAEvBuuB,EAAMvrB,KAAKhD,GAKf,SAASwjD,GAAKxJ,GACV,IAAIzrB,EAAQyrB,EAAMzrB,MACdtiB,EAAIsiB,EAAMsB,MACV7jB,EAAIuiB,EAAMsB,MACVtwB,EAAIgvB,EAAMsB,MAEV7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,UAE7ClsB,EAAMvrB,KAAKgJ,GACXuiB,EAAMvrB,KAAKiJ,GACXsiB,EAAMvrB,KAAKzD,GAKf,SAASkkD,GAAIzJ,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASsG,EAAIC,GAE1DzyB,EAAMvrB,KAAKgC,KAAK6jB,IAAIm4B,EAAID,IAK5B,SAAS2C,GAAI1J,GACT,IAAIzrB,EAAQyrB,EAAMzrB,MACdwyB,EAAKxyB,EAAMsB,MACXmxB,EAAKzyB,EAAMsB,MAEX7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,QAASsG,EAAIC,GAE1DzyB,EAAMvrB,KAAKgC,KAAK4jB,IAAIo4B,EAAID,IAK5B,SAAS4C,GAAS3J,GACd,IAAIr5C,EAAIq5C,EAAMzrB,MAAMsB,MAEhB7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,aAAc95C,GAK/D,SAASijD,GAAS5J,GACd,IAAI/4C,EAAI+4C,EAAMzrB,MAAMsB,MAChBthB,EAAIyrC,EAAMzrB,MAAMsB,MAIpB,OAFI7wB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,aAAcx5C,EAAGsN,GAEtDtN,GACJ,KAAK,EAAgC,YAA5B+4C,EAAM6J,iBAAmBt1C,GAClC,KAAK,EAA2B,YAAvByrC,EAAM8J,YAAcv1C,GAC7B,QAAS,MAAM,IAAIvM,MAAM,gCAMjC,SAAS+hD,GAAMpjD,EAAGq5C,GACd,IAAIzrB,EAAQyrB,EAAMzrB,MACdirB,EAAOQ,EAAMR,KACba,EAAKL,EAAMK,GAEXr7C,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMS,KAAM,SAAW95C,EAAI,KAE5D,IAAK,IAAIzB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAOqvB,EAAMvrB,KAAKw2C,IAAOa,IAEhDL,EAAMK,GAAKA,EAKf,SAAS2J,GAAMrjD,EAAGq5C,GACd,IAAIK,EAAKL,EAAMK,GACXb,EAAOQ,EAAMR,KACbjrB,EAAQyrB,EAAMzrB,MAEdvvB,QAAQw7C,OAAS33B,QAAQtd,IAAIy0C,EAAMK,GAAI,SAAW15C,EAAI,KAE1D,IAAK,IAAIzB,EAAI,EAAGA,EAAIyB,EAAGzB,IAAK,CACxB,IAAI8gD,EAAKxG,IAAOa,IAAO,EAAKb,IAAOa,GAC3B,MAAJ2F,IAAcA,IAAqB,GAAV,MAAJA,KACzBzxB,EAAMvrB,KAAKg9C,GAGfhG,EAAMK,GAAKA,EAaf,SAAS4J,GAAUC,EAAUC,EAAQC,EAAOC,EAAIh8C,EAAI2xC,GAChD,IAUIsK,EACA9kD,EACA41C,EACAwK,EAbArxB,EAAQyrB,EAAMzrB,MACd+xB,EAAO4D,GAAY31B,EAAMsB,MACzB+rB,EAAKrtB,EAAMsB,MACX4vB,EAAOzF,EAAMJ,IACbvC,EAAK2C,EAAM6B,GAAG4D,GACdz+C,EAAIg5C,EAAMgB,GAAGY,GAEb2I,EAAKvK,EAAMZ,OACXS,EAAKG,EAAMH,GACXlD,EAAKqD,EAAMF,IAMft6C,EAAI8kD,EAAK3N,EAAGP,SAASp1C,EAAGq2C,GAAI,GAAM,GAClCjC,EAAO51C,GAAK,EAAI,GAAK,EAGrBA,EAAIwF,KAAKI,IAAI5F,GAET0kD,IACAtE,EAAK5F,EAAM6F,IAAIS,GAEX+D,GAAMr/C,KAAKI,IAAI5F,EAAIogD,GAAM5F,EAAMf,UAAWz5C,EAAIogD,IAGlDwE,GAAS5kD,EAAI+kD,IAAM/kD,EAAI+kD,GAEvBF,IAAM7kD,EAAIw6C,EAAMxrC,MAAMhP,IAE1Bq6C,EAAG3C,YAAYl2C,EAAGq2C,EAAIjC,EAAO51C,EAAGm3C,GAChCkD,EAAGhC,MAAM72C,GAELhC,QAAQw7C,OACR33B,QAAQtd,IACJy0C,EAAMS,MACLyJ,EAAW,QAAU,UACrBC,EAAS,IAAM,MACfC,EAAQ,IAAM,MACdC,EAAK,IAAM,MACJ,IAAPh8C,EAAW,KAAe,IAAPA,EAAW,KAAe,IAAPA,EAAW,KAAO,IACzD,IACA67C,EACI5D,EAAO,IAAMtG,EAAM6F,IAAIS,GAAQ,IAAOV,EAAK,IAC3C,GACJhE,EACA,OAAQ0I,EAAI,KAAMlP,EAAO51C,EAAG,KAIpCw6C,EAAMvD,IAAMuD,EAAMJ,IAClBI,EAAMtD,IAAMkF,EACRuI,IAAUnK,EAAMJ,IAAMgC,GA0f9B,SAAS4I,GAAMC,GACX3+C,KAAK2+C,KAAOA,EACZ3+C,KAAKk0C,MAAQ,GACbl0C,KAAK4+C,YAAc,KASvB,SAASC,GAAaC,EAAYnrC,EAAWorC,GACzC/+C,KAAK++C,YAAcA,EACnB/+C,KAAK8+C,WAAaA,EAClB9+C,KAAK2T,UAAYA,EASrB,SAASqrC,GAAeD,EAAaE,EAAYC,GAC7Cl/C,KAAK++C,YAAcA,EACnB/+C,KAAKm/C,UAAY,KACjBn/C,KAAKoY,OAAS,GACdpY,KAAKi/C,WAAaA,EAClBj/C,KAAKk/C,SAAWA,EAepB,SAASE,GAAcC,EAASC,GAC5Bt/C,KAAKq/C,QAAUA,EACfr/C,KAAKI,MAAQk/C,EACbt/C,KAAKlE,OAASujD,EAAQvjD,OACtBkE,KAAKu/C,QAAUF,EAAQC,GACvBt/C,KAAKohC,UAAYie,EAAQr7C,MAAM,EAAGs7C,GAClCt/C,KAAKqhC,UAAYge,EAAQr7C,MAAMs7C,EAAe,GAOlD,SAASE,GAAMC,GACXz/C,KAAKy/C,QAAUA,EACfz/C,KAAK0/C,YAAc,GAOvB,SAASC,GAAqBC,GAC1B,IAAIC,EAAS7/C,KAET8/C,EAAa,CACb,QAAS,MAAO,OAAQ,WAAY,eACpC,aAAc,cAAe,cAAe,cAC5C,eAAgB,eAAgB,aAAc,wBAGlDA,EAAWvf,SAAQ,SAAUkf,GACzB3lD,OAAOC,eAAe8lD,EAAOD,OAAQH,EAAS,CAC1CplD,MAAO,IAAImlD,GAAMC,QAInBG,GACFE,EAAWvf,SAAQ,SAAUkf,GACzB,IAAIM,EAAQH,EAAOH,GACE,oBAAVM,GACPF,EAAOD,OAAOH,GAASO,UAAUD,MAI7C,IAAIE,EAAwB,CACxB,cAAe,cAAe,cAC9B,eAAgB,eAAgB,cAEpCA,EAAsB1f,SAAQ,SAAUkf,GACpCI,EAAOD,OAAOH,GAASO,UACnBH,EAAOK,yBASnB,SAASC,GAAUP,GACf5/C,KAAKogD,OAAS,GACdpgD,KAAKqgD,mBAAqB,GAC1BrgD,KAAKsgD,gBAAkB,GACvBtgD,KAAK4/C,OAAS,GACd5/C,KAAKugD,oBAAsB,GAE3BZ,GAAqBpmD,KAAKyG,KAAM4/C,GAiapC,SAASY,GAAa/mD,GAClB,MAAO,4CAA4Ci1C,KAAKj1C,GAO5D,SAASgnD,GAAqB9B,GAC1B,MAAO,mUAAmUjQ,KAAKiQ,GAOnV,SAAS+B,GAAqB/B,GAC1B,MAAO,wHAAwHjQ,KAAKiQ,GAOxI,SAASgC,GAAYlnD,GACjB,MAAO,QAAQi1C,KAAKj1C,GAOxB,SAASmnD,GAAannD,GAClB,MAAO,KAAKi1C,KAAKj1C,GAWrB,SAASonD,GAAa1iD,GAClB6B,KAAK7B,KAAOA,EACZ6B,KAAKogC,SAAW,GAepB,SAAS0gB,GAAmBC,GACxB/gD,KAAKi7B,GAAK8lB,EAAO9lB,GACjBj7B,KAAKkB,IAAM6/C,EAAO7/C,IAClBlB,KAAKmuC,aAAe4S,EAAO5S,aAQ/B,SAAS6S,GAAejlC,EAAY5C,GAChC,IAAK4C,EAAc,OAAQ,EAC3B,OAAQ5C,EAAS9I,QACb,KAAK,EACD,OAAO8I,EAAS7I,OAAOlU,QAAQ2f,GAEnC,KAAK,EAED,IADA,IAAI3D,EAASe,EAASf,OACbhf,EAAI,EAAGA,EAAIgf,EAAOtc,OAAQ1C,IAAK,CACpC,IAAI+iC,EAAQ/jB,EAAOhf,GACnB,GAAI2iB,GAAcogB,EAAMp/B,OAASgf,GAAcogB,EAAMn/B,IAAK,CACtD,IAAIwB,EAASud,EAAaogB,EAAMp/B,MAChC,OAAOo/B,EAAM/7B,MAAQ5B,GAG7B,MACJ,QACI,OAAQ,EAEhB,OAAQ,EAOZ,SAASyiD,GAA0BllC,EAAYomB,GAC3C,IAAI+e,EAAkBF,GAAejlC,EAAYomB,EAAShpB,UAC1D,OAAyB,IAArB+nC,EAAiC,KAC9BnlC,EAAaomB,EAAS3C,aAOjC,SAAS2hB,GAA0BplC,EAAYomB,GAC3C,IAAI+e,EAAkBF,GAAejlC,EAAYomB,EAAShpB,UAC1D,OAAyB,IAArB+nC,EAAiC,KAC9B/e,EAAS1C,WAAWyhB,GAQ/B,SAASE,GAAmBC,EAAcC,GAEtC,IADA,IAAIC,EAAa,GACRnoD,EAAI,EAAGA,EAAIioD,EAAavlD,OAAQ1C,IAAK,CAC1C,IAAI+f,EAAWkoC,EAAajoD,GACxB2iB,EAAaulC,EAAc/B,QAC/BxjC,EAAapgB,MAAMuT,QAAQ6M,GAAcA,EAAW,GAAKA,EACzD,IAAIylC,EAAcR,GAAejlC,EAAY5C,IACxB,IAAjBqoC,GACAD,EAAWrkD,KAAKskD,GAGxB,OAAID,EAAWzlD,SAAWulD,EAAavlD,QAAkB,EAClDylD,EAOX,SAASE,GAA4BH,EAAenf,GAChD,IAAIuf,EACAvf,EAASR,cAAc7lC,OACvBqmC,EAASP,kBAAkB9lC,OAC3BqmC,EAAST,kBAAkB5lC,OAE/B,GAAIwlD,EAAcjC,QAAQvjD,OAAS4lD,EAAgB,MAAO,GAE1D,IAAIC,EAAeP,GACfjf,EAASR,cAAe2f,GAE5B,IAAsB,IAAlBK,EAAuB,MAAO,GAElC,IAAIC,EAAkBzf,EAASR,cAAc7lC,OAAS,EACtD,GAAIwlD,EAAcjgB,UAAUvlC,OAASqmC,EAASP,kBAAkB9lC,OAAU,MAAO,GACjF,IAAI+lD,EAAmBP,EAAcjgB,UAAUr9B,MAAM49C,GACrD,MAAOC,EAAiB/lD,QAAU4kD,GAAqBmB,EAAiB,GAAGlD,MACvEkD,EAAiBv4B,QAErB,IAAIw4B,EAAkB,IAAI1C,GAAcyC,EAAkB,GACtDE,EAAmBX,GACnBjf,EAASP,kBAAmBkgB,GAG5BE,EAAmB,GAAGpzC,OAAO0yC,EAAclgB,WAC/C4gB,EAAiBC,UACjB,MAAOD,EAAiBlmD,QAAU4kD,GAAqBsB,EAAiB,GAAGrD,MACvEqD,EAAiB14B,QAErB,GAAI04B,EAAiBlmD,OAASqmC,EAAST,kBAAkB5lC,OAAU,MAAO,GAC1E,IAAIomD,EAAkB,IAAI9C,GAAc4C,EAAkB,GACtDG,EAAmBf,GACnBjf,EAAST,kBAAmBwgB,GAE5BE,EACAT,EAAa7lD,SAAWqmC,EAASR,cAAc7lC,QAC/CimD,EAAiBjmD,SAAWqmC,EAASP,kBAAkB9lC,QACvDqmD,EAAiBrmD,SAAWqmC,EAAST,kBAAkB5lC,OAEvDyxC,EAAgB,GACpB,GAAI6U,EACA,IAAK,IAAIhpD,EAAI,EAAGA,EAAI+oC,EAASnB,cAAcllC,OAAQ1C,IAI/C,IAHA,IAAIipD,EAAelgB,EAASnB,cAAc5nC,GACtC6mC,EAAkBoiB,EAAapiB,gBAC/BvuB,EAAc1R,KAAKsiD,iBAAiBriB,GAC/B9kC,EAAI,EAAGA,EAAIuW,EAAYI,UAAUhW,OAAQX,IAAK,CACnD,IAAIonD,EAAa7wC,EAAYI,UAAU3W,GACnCI,EAASyE,KAAKwiD,gBAAgB9wC,EAAa6wC,GAC3CE,EAAmBziD,KAAK0iD,oBAAoBhxC,EAAa6wC,GAC7D,GAAyB,OAArBE,EACA,IAAK,IAAI5nD,EAAI,EAAGA,EAAI8mD,EAAa7lD,OAAQjB,IAAK,CAC1C,IAAIkhB,EAAaulC,EAAcrnD,IAAIY,GAC/BszC,EAAe5yC,EAAOwgB,GACtBoyB,GAAgBZ,EAAcrwC,KAAKixC,IAM3D,OAAOZ,EAOX,SAASoV,GAA4BrB,EAAenf,GAEhD,IAKIG,EALAvmB,EAAaulC,EAAc/B,QAC3BqD,EAAc5B,GAAejlC,EAAYomB,EAAShpB,UACtD,IAAqB,IAAjBypC,EAAsB,OAAO,KAKjC,IADA,IAAIvgB,EAAcF,EAASvC,aAAagjB,GAC/BznD,EAAI,EAAGA,EAAIknC,EAAYvmC,OAAQX,IAAK,CACzCmnC,EAAWD,EAAYlnC,GACvB,IAAK,IAAI9B,EAAI,EAAGA,EAAIipC,EAASxC,WAAWhkC,OAAQzC,IAAK,CACjD,IAAIwpD,EAAgBvB,EAAcjgB,UAAUhoC,GACxC+vC,EAAY9G,EAASxC,WAAWzmC,GACpC,GAAIwpD,IAAkBzZ,EAAa,MACnC,GAAI/vC,IAAMipC,EAASxC,WAAWhkC,OAAS,EAAK,OAAOwmC,GAG3D,OAAO,KAQX,SAASwgB,GAAiC/mC,EAAYomB,GAClD,IAAI+e,EAAkBF,GAAejlC,EAAYomB,EAAShpB,UAC1D,OAAyB,IAArB+nC,EAAiC,KAC9B/e,EAASzC,UAAUwhB,GA+R9B,SAAS6B,GAAqBzB,GAC1B,IAAI3C,EAAO2C,EAAc/B,QACrByD,EAAW1B,EAAcrnD,KAAK,GAClC,OAEkB,OAAb+oD,GAAqBxC,GAAa7B,KAEjC6B,GAAawC,IAAaxC,GAAa7B,GAIjD,SAASsE,GAAmB3B,GACxB,IAAI4B,EAAW5B,EAAcrnD,IAAI,GACjC,OAEkB,OAAbipD,IAEC1C,GAAa0C,IA/+GvBlU,GAAQh0C,UAAUsQ,KAAO,SAAS2R,EAAO69B,GACrC,GAAoB,kBAATA,EACP,MAAM,IAAI5+C,MAAM,+BAIpB,KAAI8D,KAAKmvC,YAAc,GAAvB,CAEA,IAAIhxC,EAAO6B,KAAK7B,KACZglD,EAAYnjD,KAAKkvC,WAErB,IAAKiU,GAAaA,EAAUrI,OAASA,EAAM,CACvC,IAAIsI,EAAYpjD,KAAKivC,WAErB,IAAKmU,EAAW,CAGZ5P,GAAMx4C,UAAYk4C,GAElBkQ,EACApjD,KAAKivC,WACD,IAAIuE,GAAM,OAAQr1C,EAAKghB,OAAOkkC,MAElCD,EAAUlL,MAAQ,GAClBkL,EAAUjlD,KAAOA,EAEbjF,QAAQw7C,QACR33B,QAAQtd,IAAI,mBACZ2jD,EAAUzO,MAAQ,GAGtB,IACIrpC,GAAK83C,GACP,MAAOvlD,GAGL,OAFAkf,QAAQtd,IAAI,yBAA2B5B,QACvCmC,KAAKmvC,YAAc,IAS3BqE,GAAMx4C,UAAYooD,EAClBD,EACAnjD,KAAKkvC,WACD,IAAIsE,GAAM,OAAQr1C,EAAKghB,OAAOmkC,MAElCH,EAAUrI,KAAOA,EAIjB,IAAIyI,EAAOplD,EAAKghB,OAAO46B,IACvB,GAAIwJ,EAGA,IAFA,IAAIxJ,EAAMoJ,EAAUpJ,IAAM,IAAIp+C,MAAM4nD,EAAKznD,QACrCqmB,EAAQ24B,EAAO38C,EAAK4iB,WACftnB,EAAI,EAAGA,EAAI8pD,EAAKznD,OAAQrC,IAC7BsgD,EAAItgD,GAAK8pD,EAAK9pD,GAAK0oB,OAGvBghC,EAAUpJ,IAAM,GAGhB7gD,QAAQw7C,QACR33B,QAAQtd,IAAI,mBACZ0jD,EAAUxO,MAAQ,GAGtB,IACIrpC,GAAK63C,GACP,MAAOtlD,GACDmC,KAAKmvC,YAAc,GACnBpyB,QAAQtd,IAAI,yBAA2B5B,GAE3CmC,KAAKmvC,YAAc,GAI3B,KAAInvC,KAAKmvC,YAAc,GAEvB,IACI,OAAON,GAAU5xB,EAAOkmC,GAC1B,MAAOtlD,GAML,OALImC,KAAKmvC,YAAc,IACnBpyB,QAAQtd,IAAI,iBAAmB5B,GAC/Bkf,QAAQtd,IAAI,mDAEhBO,KAAKmvC,YAAc,MAQ3BN,GAAY,SAAS5xB,EAAOkmC,GAExB,IAGI7gC,EACA8xB,EACAF,EALAnyB,EAASohC,EAAUrI,KAAOqI,EAAUhlD,KAAK4iB,WACzCiB,EAASD,EACT+d,EAAa7iB,EAAM6iB,WAMvB,GADA0T,GAAMx4C,UAAYmoD,EACbrjB,EAQE,CACH,IAAI3hC,EAAOglD,EAAUhlD,KACrBi2C,EAAQ,GACR9xB,EAAW,GACX,IAAK,IAAIlpB,EAAI,EAAGA,EAAI0mC,EAAWhkC,OAAQ1C,IAAK,CACxC,IAAIK,EAAIqmC,EAAW1mC,GACfoqD,EAAKrlD,EAAKmS,OAAOrW,IAAIR,EAAEsiB,YAE3Bm4B,EAAQ,IAAIV,GAAM,OAAQgQ,EAAGhb,cAEzBtvC,QAAQw7C,QACR33B,QAAQtd,IAAI,gBAAkBrG,EAAI,OAClC86C,EAAMS,MAAQ,GAGlB7F,GAAc0U,EAAItP,EAAOnyB,EAAQC,GAOjC,IAJA,IAAIuK,EAAKrtB,KAAKwJ,MAAMjP,EAAE8yB,GAAKxK,GACvByK,EAAKttB,KAAKwJ,MAAMjP,EAAE+yB,GAAKxK,GACvByhC,EAAKvP,EAAME,MACXsP,EAAKxP,EAAM5xB,SACNwzB,EAAK,EAAGA,EAAK2N,EAAG3nD,OAAQg6C,IAAM,CACnC,IAAI56C,EAAIuoD,EAAG3N,GACX56C,EAAE82C,SAAW92C,EAAEm3C,UAAW,EAC1Bn3C,EAAEu1C,GAAKv1C,EAAEqK,EAAIrK,EAAEqK,EAAIgnB,EACnBrxB,EAAEy2C,GAAKz2C,EAAEsK,EAAItK,EAAEsK,EAAIgnB,EAGvB,IAAIm3B,EAAOvP,EAAMt4C,OACjBs4C,EAAMl3C,KAAKuK,MAAM2sC,EAAOqP,GACxB,IAAK,IAAIn3C,EAAI,EAAGA,EAAIo3C,EAAG5nD,OAAQwQ,IAC3BgW,EAASplB,KAAKwmD,EAAGp3C,GAAKq3C,GAI1B1mC,EAAMurB,eAAiB0L,EAAM6J,iBAE7B7J,EAAQ,IAAIV,GAAM,OAAQv2B,EAAMurB,cAEhC0L,EAAME,MAAQF,EAAM6B,GAAK7B,EAAMgB,GAAKhB,EAAMe,GAAKb,EAE/CF,EAAM5xB,SAAWA,EAIjB8xB,EAAMl3C,KACF,IAAIu1C,GAAO,EAAG,GACd,IAAIA,GAAOvzC,KAAKwJ,MAAMuU,EAAM0E,aAAeI,GAAS,IAGpD7oB,QAAQw7C,QACR33B,QAAQtd,IAAI,wBACZy0C,EAAMS,MAAQ,GAGlBrpC,GAAK4oC,GAELE,EAAMt4C,QAAU,QAjEpBo4C,EAAQ,IAAIV,GAAM,OAAQv2B,EAAMurB,cAC5BtvC,QAAQw7C,QACR33B,QAAQtd,IAAI,oBACZy0C,EAAMS,MAAQ,GAElB7F,GAAc7xB,EAAOi3B,EAAOnyB,EAAQC,GACpCoyB,EAAQF,EAAME,MA+DlB,OAAOA,GAOXtF,GAAgB,SAAS7xB,EAAOi3B,EAAOnyB,EAAQC,GAU3C,IARA,IAOI02B,EAaAQ,EACAN,EArBAv2B,EAASpF,EAAMoF,QAAU,GACzBw2B,EAAOx2B,EAAOvmB,OACds4C,EAAQF,EAAME,MAAQF,EAAM6B,GAAK7B,EAAMgB,GAAKhB,EAAMe,GAAK,GACvD3yB,EAAW4xB,EAAM5xB,SAAW,GAKvBlpB,EAAI,EAAGA,EAAIy/C,EAAMz/C,IACtBs/C,EAAKr2B,EAAOjpB,GAEZg7C,EAAMh7C,GAAK,IAAIq5C,GACXiG,EAAGnzC,EAAIwc,EACP22B,EAAGlzC,EAAIwc,EACP02B,EAAGj2B,mBACHi2B,EAAG7P,SAQX,IAAK,IAAIj9B,EAAM,EAAGA,EAAMitC,EAAMjtC,IAC1B8sC,EAAKtE,EAAMxoC,GAENstC,IACDA,EAAKR,EACLp2B,EAASplB,KAAK0O,IAGd8sC,EAAGj2B,oBACHi2B,EAAG/F,mBAAqBuG,EACxBA,EAAGxG,mBAAqBgG,EACxBQ,OAAKnwC,IAEL6vC,EAAKxE,EAAMxoC,EAAM,GACjB8sC,EAAG/F,mBAAqBiG,EACxBA,EAAGlG,mBAAqBgG,GAIhC,IAAIxE,EAAM6J,eAAV,CAEA,GAAI7kD,QAAQw7C,MAAO,CACf33B,QAAQtd,IAAI,mBAAoBy0C,EAAMzrB,OACtC,IAAK,IAAIX,EAAM,EAAGA,EAAM+wB,EAAM/wB,IAC1B/K,QAAQtd,IAAIqoB,EAAKssB,EAAMtsB,GAAKviB,EAAG6uC,EAAMtsB,GAAKtiB,GAclD,GAVA4uC,EAAMl3C,KACF,IAAIu1C,GAAO,EAAG,GACd,IAAIA,GAAOvzC,KAAKwJ,MAAMuU,EAAM0E,aAAeI,GAAS,IAGxDzW,GAAK4oC,GAGLE,EAAMt4C,QAAU,EAEZ5C,QAAQw7C,MAAO,CACf33B,QAAQtd,IAAI,iBAAkBy0C,EAAMzrB,OACpC,IAAK,IAAImgB,EAAM,EAAGA,EAAMiQ,EAAMjQ,IAC1B7rB,QAAQtd,IAAImpC,EAAKwL,EAAMxL,GAAKrjC,EAAG6uC,EAAMxL,GAAKpjC,MAQtD8F,GAAO,SAAS4oC,GACZ,IAAIR,EAAOQ,EAAMR,KAEjB,GAAKA,EAAL,CAEA,IACIY,EADAuE,EAAOnF,EAAK53C,OAGhB,IAAKo4C,EAAMK,GAAK,EAAGL,EAAMK,GAAKsE,EAAM3E,EAAMK,KAAM,CAI5C,GAHIr7C,QAAQw7C,OAASR,EAAMS,OAC3BL,EAAM1F,GAAiB8E,EAAKQ,EAAMK,MAE7BD,EACD,MAAM,IAAIp4C,MACN,0BACAmE,OAAOqzC,EAAKQ,EAAMK,KAAKlpC,SAAS,KAIxCipC,EAAIJ,MA8rDZtF,GAAmB,CACJ6F,GAAM75C,UAAKmO,EAAWopC,IACtBsC,GAAM75C,UAAKmO,EAAWqnC,IACtBwE,GAAOh6C,UAAKmO,EAAWopC,IACvByC,GAAOh6C,UAAKmO,EAAWqnC,IACvByE,GAAOj6C,UAAKmO,EAAWopC,IACvB0C,GAAOj6C,UAAKmO,EAAWqnC,IACvB0E,GAAMl6C,UAAKmO,EAAW,GACtB+rC,GAAMl6C,UAAKmO,EAAW,GACtBosC,GAAMv6C,UAAKmO,EAAW,GACtBosC,GAAMv6C,UAAKmO,EAAW,GACtBqsC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAkB,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,QACAzuC,OACAA,EACA0uC,GACAC,GACAC,GACAC,GACAC,GACAO,GACAC,QACAtvC,OACAA,OACAA,EACA+uC,GACAK,GACAG,QACAvvC,EACAyvC,GAAK59C,UAAKmO,EAAW,GACrByvC,GAAK59C,UAAKmO,EAAW,GACrB0vC,GAAI79C,UAAKmO,EAAWopC,IACpBsG,GAAI79C,UAAKmO,EAAWqnC,IACpB0I,GAAIl+C,UAAKmO,EAAW,GACpB+vC,GAAIl+C,UAAKmO,EAAW,GACpBiwC,GAAIp+C,UAAKmO,EAAW,GACpBiwC,GAAIp+C,UAAKmO,EAAW,GACpBowC,GAAIv+C,UAAKmO,EAAW,GACpBowC,GAAIv+C,UAAKmO,EAAW,GACpBswC,GACAC,GACAG,GAAM7+C,UAAKmO,EAAW,GACtB0wC,GAAM7+C,UAAKmO,EAAW,GACtB2wC,GACAE,GACAC,GAAKj/C,UAAKmO,EAAW,GACrB8wC,GAAKj/C,UAAKmO,EAAW,GACrBixC,GACAC,GACAE,GACAE,GACAC,GACAC,GACAE,GAAG7/C,UAAKmO,EAAW,GACnB0xC,GAAG7/C,UAAKmO,EAAW,QACnBA,EACA2xC,GAAG9/C,UAAKmO,EAAW,GACnB2xC,GAAG9/C,UAAKmO,EAAW,GACnB8xC,QACA9xC,EACAgyC,QACAhyC,OACAA,EACAiyC,GACAG,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAAUnhD,UAAKmO,EAAW,GAC1BqzC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAAMliD,UAAKmO,EAAW,GACtB+zC,GAAMliD,UAAKmO,EAAW,GACtB+zC,GAAMliD,UAAKmO,EAAW,GACtB+zC,GAAMliD,UAAKmO,EAAW,QACtBA,OACAA,OACAA,OACAA,EACAg0C,GACAhB,GAAUnhD,UAAKmO,EAAW,GAC1BgzC,GAAUnhD,UAAKmO,EAAW,GAC1Bi0C,GAAUpiD,UAAKmO,EAAW,GAC1Bi0C,GAAUpiD,UAAKmO,EAAW,GAC1Bi0C,GAAUpiD,UAAKmO,EAAW,GAC1Bk0C,GACAC,QACAn0C,OACAA,EACAo0C,QACAp0C,EACAq0C,GACAC,GACA3F,GACAA,QACA3uC,OACAA,OACAA,OACAA,OACAA,EACAu0C,GACAC,GAAO3iD,UAAKmO,EAAW,GACvBw0C,GAAO3iD,UAAKmO,EAAW,GACvBy0C,QACAz0C,EACA20C,GACAC,GACAC,GACAC,GACAC,QACA/0C,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,OACAA,EACAk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBk1C,GAAMrjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBm1C,GAAMtjD,UAAKmO,EAAW,GACtBo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAAG,EAAG,GACtCo1C,GAAUvjD,UAAKmO,EAAW,EAAG,EAAG,EAA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","file":"12f30cb6044063ce9abe.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"340c\");\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","self.window = {};\nconst opentype = require(\"opentype.js\");\n\nself.onmessage = function (e) {\n const { url, fileName } = e.data;\n opentype.load(url, (error, font) => {\n if (error) {\n self.postMessage({ url, fileName, error: error.message || error });\n }\n else {\n self.postMessage({ url, fileName, font });\n }\n });\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * https://opentype.js.org v1.3.3 | (c) Frederik De Bleser and other contributors | MIT License | Uses tiny-inflate by Devon Govett and string.prototype.codepointat polyfill by Mathias Bynens\n */\n\n/*! https://mths.be/codepointat v0.2.0 by @mathias */\nif (!String.prototype.codePointAt) {\n\t(function() {\n\t\tvar defineProperty = (function() {\n\t\t\t// IE 8 only supports `Object.defineProperty` on DOM elements\n\t\t\ttry {\n\t\t\t\tvar object = {};\n\t\t\t\tvar $defineProperty = Object.defineProperty;\n\t\t\t\tvar result = $defineProperty(object, object, object) && $defineProperty;\n\t\t\t} catch(error) {}\n\t\t\treturn result;\n\t\t}());\n\t\tvar codePointAt = function(position) {\n\t\t\tif (this == null) {\n\t\t\t\tthrow TypeError();\n\t\t\t}\n\t\t\tvar string = String(this);\n\t\t\tvar size = string.length;\n\t\t\t// `ToInteger`\n\t\t\tvar index = position ? Number(position) : 0;\n\t\t\tif (index != index) { // better `isNaN`\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\t// Account for out-of-bounds indices:\n\t\t\tif (index < 0 || index >= size) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Get the first code unit\n\t\t\tvar first = string.charCodeAt(index);\n\t\t\tvar second;\n\t\t\tif ( // check if it’s the start of a surrogate pair\n\t\t\t\tfirst >= 0xD800 && first <= 0xDBFF && // high surrogate\n\t\t\t\tsize > index + 1 // there is a next code unit\n\t\t\t) {\n\t\t\t\tsecond = string.charCodeAt(index + 1);\n\t\t\t\tif (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate\n\t\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\t\treturn (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn first;\n\t\t};\n\t\tif (defineProperty) {\n\t\t\tdefineProperty(String.prototype, 'codePointAt', {\n\t\t\t\t'value': codePointAt,\n\t\t\t\t'configurable': true,\n\t\t\t\t'writable': true\n\t\t\t});\n\t\t} else {\n\t\t\tString.prototype.codePointAt = codePointAt;\n\t\t}\n\t}());\n}\n\nvar TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\n\nfunction Tree() {\n this.table = new Uint16Array(16); /* table of code length counts */\n this.trans = new Uint16Array(288); /* code -> symbol translation table */\n}\n\nfunction Data(source, dest) {\n this.source = source;\n this.sourceIndex = 0;\n this.tag = 0;\n this.bitcount = 0;\n \n this.dest = dest;\n this.destLen = 0;\n \n this.ltree = new Tree(); /* dynamic length/symbol tree */\n this.dtree = new Tree(); /* dynamic distance tree */\n}\n\n/* --------------------------------------------------- *\n * -- uninitialized global data (static structures) -- *\n * --------------------------------------------------- */\n\nvar sltree = new Tree();\nvar sdtree = new Tree();\n\n/* extra bits and base tables for length codes */\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\n\n/* extra bits and base tables for distance codes */\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\n\n/* special ordering of code length codes */\nvar clcidx = new Uint8Array([\n 16, 17, 18, 0, 8, 7, 9, 6,\n 10, 5, 11, 4, 12, 3, 13, 2,\n 14, 1, 15\n]);\n\n/* used by tinf_decode_trees, avoids allocations every call */\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\n\n/* ----------------------- *\n * -- utility functions -- *\n * ----------------------- */\n\n/* build extra bits and base tables */\nfunction tinf_build_bits_base(bits, base, delta, first) {\n var i, sum;\n\n /* build bits table */\n for (i = 0; i < delta; ++i) { bits[i] = 0; }\n for (i = 0; i < 30 - delta; ++i) { bits[i + delta] = i / delta | 0; }\n\n /* build base table */\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\n\n/* build the fixed huffman trees */\nfunction tinf_build_fixed_trees(lt, dt) {\n var i;\n\n /* build fixed length tree */\n for (i = 0; i < 7; ++i) { lt.table[i] = 0; }\n\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n\n for (i = 0; i < 24; ++i) { lt.trans[i] = 256 + i; }\n for (i = 0; i < 144; ++i) { lt.trans[24 + i] = i; }\n for (i = 0; i < 8; ++i) { lt.trans[24 + 144 + i] = 280 + i; }\n for (i = 0; i < 112; ++i) { lt.trans[24 + 144 + 8 + i] = 144 + i; }\n\n /* build fixed distance tree */\n for (i = 0; i < 5; ++i) { dt.table[i] = 0; }\n\n dt.table[5] = 32;\n\n for (i = 0; i < 32; ++i) { dt.trans[i] = i; }\n}\n\n/* given an array of code lengths, build a tree */\nvar offs = new Uint16Array(16);\n\nfunction tinf_build_tree(t, lengths, off, num) {\n var i, sum;\n\n /* clear code length count table */\n for (i = 0; i < 16; ++i) { t.table[i] = 0; }\n\n /* scan symbol lengths, and sum code length counts */\n for (i = 0; i < num; ++i) { t.table[lengths[off + i]]++; }\n\n t.table[0] = 0;\n\n /* compute offset table for distribution sort */\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n\n /* create code->symbol translation table (symbols sorted by code) */\n for (i = 0; i < num; ++i) {\n if (lengths[off + i]) { t.trans[offs[lengths[off + i]]++] = i; }\n }\n}\n\n/* ---------------------- *\n * -- decode functions -- *\n * ---------------------- */\n\n/* get one bit from source stream */\nfunction tinf_getbit(d) {\n /* check if tag is empty */\n if (!d.bitcount--) {\n /* load next tag */\n d.tag = d.source[d.sourceIndex++];\n d.bitcount = 7;\n }\n\n /* shift bit out of tag */\n var bit = d.tag & 1;\n d.tag >>>= 1;\n\n return bit;\n}\n\n/* read a num bit value from a stream and add base */\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n { return base; }\n\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n\n var val = d.tag & (0xffff >>> (16 - num));\n d.tag >>>= num;\n d.bitcount -= num;\n return val + base;\n}\n\n/* given a data stream and a tree, decode a symbol */\nfunction tinf_decode_symbol(d, t) {\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n \n var sum = 0, cur = 0, len = 0;\n var tag = d.tag;\n\n /* get more bits while code value is above sum */\n do {\n cur = 2 * cur + (tag & 1);\n tag >>>= 1;\n ++len;\n\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n \n d.tag = tag;\n d.bitcount -= len;\n\n return t.trans[sum + cur];\n}\n\n/* given a data stream, decode dynamic trees from it */\nfunction tinf_decode_trees(d, lt, dt) {\n var hlit, hdist, hclen;\n var i, num, length;\n\n /* get 5 bits HLIT (257-286) */\n hlit = tinf_read_bits(d, 5, 257);\n\n /* get 5 bits HDIST (1-32) */\n hdist = tinf_read_bits(d, 5, 1);\n\n /* get 4 bits HCLEN (4-19) */\n hclen = tinf_read_bits(d, 4, 4);\n\n for (i = 0; i < 19; ++i) { lengths[i] = 0; }\n\n /* read code lengths for code length alphabet */\n for (i = 0; i < hclen; ++i) {\n /* get 3 bits code length (0-7) */\n var clen = tinf_read_bits(d, 3, 0);\n lengths[clcidx[i]] = clen;\n }\n\n /* build code length tree */\n tinf_build_tree(code_tree, lengths, 0, 19);\n\n /* decode code lengths for the dynamic trees */\n for (num = 0; num < hlit + hdist;) {\n var sym = tinf_decode_symbol(d, code_tree);\n\n switch (sym) {\n case 16:\n /* copy previous code length 3-6 times (read 2 bits) */\n var prev = lengths[num - 1];\n for (length = tinf_read_bits(d, 2, 3); length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n /* repeat code length 0 for 3-10 times (read 3 bits) */\n for (length = tinf_read_bits(d, 3, 3); length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n /* repeat code length 0 for 11-138 times (read 7 bits) */\n for (length = tinf_read_bits(d, 7, 11); length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n /* values 0-15 represent the actual code lengths */\n lengths[num++] = sym;\n break;\n }\n }\n\n /* build dynamic trees */\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\n\n/* ----------------------------- *\n * -- block inflate functions -- *\n * ----------------------------- */\n\n/* given a stream and two trees, inflate a block of data */\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n var sym = tinf_decode_symbol(d, lt);\n\n /* check for end of block */\n if (sym === 256) {\n return TINF_OK;\n }\n\n if (sym < 256) {\n d.dest[d.destLen++] = sym;\n } else {\n var length, dist, offs;\n var i;\n\n sym -= 257;\n\n /* possibly get more bits from length code */\n length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n\n dist = tinf_decode_symbol(d, dt);\n\n /* possibly get more bits from distance code */\n offs = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n\n /* copy match */\n for (i = offs; i < offs + length; ++i) {\n d.dest[d.destLen++] = d.dest[i];\n }\n }\n }\n}\n\n/* inflate an uncompressed block of data */\nfunction tinf_inflate_uncompressed_block(d) {\n var length, invlength;\n var i;\n \n /* unread from bitbuffer */\n while (d.bitcount > 8) {\n d.sourceIndex--;\n d.bitcount -= 8;\n }\n\n /* get length */\n length = d.source[d.sourceIndex + 1];\n length = 256 * length + d.source[d.sourceIndex];\n\n /* get one's complement of length */\n invlength = d.source[d.sourceIndex + 3];\n invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n\n /* check length */\n if (length !== (~invlength & 0x0000ffff))\n { return TINF_DATA_ERROR; }\n\n d.sourceIndex += 4;\n\n /* copy block */\n for (i = length; i; --i)\n { d.dest[d.destLen++] = d.source[d.sourceIndex++]; }\n\n /* make sure we start next block on a byte boundary */\n d.bitcount = 0;\n\n return TINF_OK;\n}\n\n/* inflate stream from source to dest */\nfunction tinf_uncompress(source, dest) {\n var d = new Data(source, dest);\n var bfinal, btype, res;\n\n do {\n /* read final block flag */\n bfinal = tinf_getbit(d);\n\n /* read block type (2 bits) */\n btype = tinf_read_bits(d, 2, 0);\n\n /* decompress block */\n switch (btype) {\n case 0:\n /* decompress uncompressed block */\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n /* decompress block with fixed huffman trees */\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n /* decompress block with dynamic huffman trees */\n tinf_decode_trees(d, d.ltree, d.dtree);\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = TINF_DATA_ERROR;\n }\n\n if (res !== TINF_OK)\n { throw new Error('Data error'); }\n\n } while (!bfinal);\n\n if (d.destLen < d.dest.length) {\n if (typeof d.dest.slice === 'function')\n { return d.dest.slice(0, d.destLen); }\n else\n { return d.dest.subarray(0, d.destLen); }\n }\n \n return d.dest;\n}\n\n/* -------------------- *\n * -- initialization -- *\n * -------------------- */\n\n/* build fixed huffman trees */\ntinf_build_fixed_trees(sltree, sdtree);\n\n/* build extra bits and base tables */\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\n\n/* fix a special case */\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\nvar tinyInflate = tinf_uncompress;\n\n// The Bounding Box object\n\nfunction derive(v0, v1, v2, v3, t) {\n return Math.pow(1 - t, 3) * v0 +\n 3 * Math.pow(1 - t, 2) * t * v1 +\n 3 * (1 - t) * Math.pow(t, 2) * v2 +\n Math.pow(t, 3) * v3;\n}\n/**\n * A bounding box is an enclosing box that describes the smallest measure within which all the points lie.\n * It is used to calculate the bounding box of a glyph or text path.\n *\n * On initialization, x1/y1/x2/y2 will be NaN. Check if the bounding box is empty using `isEmpty()`.\n *\n * @exports opentype.BoundingBox\n * @class\n * @constructor\n */\nfunction BoundingBox() {\n this.x1 = Number.NaN;\n this.y1 = Number.NaN;\n this.x2 = Number.NaN;\n this.y2 = Number.NaN;\n}\n\n/**\n * Returns true if the bounding box is empty, that is, no points have been added to the box yet.\n */\nBoundingBox.prototype.isEmpty = function() {\n return isNaN(this.x1) || isNaN(this.y1) || isNaN(this.x2) || isNaN(this.y2);\n};\n\n/**\n * Add the point to the bounding box.\n * The x1/y1/x2/y2 coordinates of the bounding box will now encompass the given point.\n * @param {number} x - The X coordinate of the point.\n * @param {number} y - The Y coordinate of the point.\n */\nBoundingBox.prototype.addPoint = function(x, y) {\n if (typeof x === 'number') {\n if (isNaN(this.x1) || isNaN(this.x2)) {\n this.x1 = x;\n this.x2 = x;\n }\n if (x < this.x1) {\n this.x1 = x;\n }\n if (x > this.x2) {\n this.x2 = x;\n }\n }\n if (typeof y === 'number') {\n if (isNaN(this.y1) || isNaN(this.y2)) {\n this.y1 = y;\n this.y2 = y;\n }\n if (y < this.y1) {\n this.y1 = y;\n }\n if (y > this.y2) {\n this.y2 = y;\n }\n }\n};\n\n/**\n * Add a X coordinate to the bounding box.\n * This extends the bounding box to include the X coordinate.\n * This function is used internally inside of addBezier.\n * @param {number} x - The X coordinate of the point.\n */\nBoundingBox.prototype.addX = function(x) {\n this.addPoint(x, null);\n};\n\n/**\n * Add a Y coordinate to the bounding box.\n * This extends the bounding box to include the Y coordinate.\n * This function is used internally inside of addBezier.\n * @param {number} y - The Y coordinate of the point.\n */\nBoundingBox.prototype.addY = function(y) {\n this.addPoint(null, y);\n};\n\n/**\n * Add a Bézier curve to the bounding box.\n * This extends the bounding box to include the entire Bézier.\n * @param {number} x0 - The starting X coordinate.\n * @param {number} y0 - The starting Y coordinate.\n * @param {number} x1 - The X coordinate of the first control point.\n * @param {number} y1 - The Y coordinate of the first control point.\n * @param {number} x2 - The X coordinate of the second control point.\n * @param {number} y2 - The Y coordinate of the second control point.\n * @param {number} x - The ending X coordinate.\n * @param {number} y - The ending Y coordinate.\n */\nBoundingBox.prototype.addBezier = function(x0, y0, x1, y1, x2, y2, x, y) {\n // This code is based on http://nishiohirokazu.blogspot.com/2009/06/how-to-calculate-bezier-curves-bounding.html\n // and https://github.com/icons8/svg-path-bounding-box\n\n var p0 = [x0, y0];\n var p1 = [x1, y1];\n var p2 = [x2, y2];\n var p3 = [x, y];\n\n this.addPoint(x0, y0);\n this.addPoint(x, y);\n\n for (var i = 0; i <= 1; i++) {\n var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n var c = 3 * p1[i] - 3 * p0[i];\n\n if (a === 0) {\n if (b === 0) { continue; }\n var t = -c / b;\n if (0 < t && t < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t)); }\n }\n continue;\n }\n\n var b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) { continue; }\n var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (0 < t1 && t1 < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t1)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t1)); }\n }\n var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (0 < t2 && t2 < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t2)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t2)); }\n }\n }\n};\n\n/**\n * Add a quadratic curve to the bounding box.\n * This extends the bounding box to include the entire quadratic curve.\n * @param {number} x0 - The starting X coordinate.\n * @param {number} y0 - The starting Y coordinate.\n * @param {number} x1 - The X coordinate of the control point.\n * @param {number} y1 - The Y coordinate of the control point.\n * @param {number} x - The ending X coordinate.\n * @param {number} y - The ending Y coordinate.\n */\nBoundingBox.prototype.addQuad = function(x0, y0, x1, y1, x, y) {\n var cp1x = x0 + 2 / 3 * (x1 - x0);\n var cp1y = y0 + 2 / 3 * (y1 - y0);\n var cp2x = cp1x + 1 / 3 * (x - x0);\n var cp2y = cp1y + 1 / 3 * (y - y0);\n this.addBezier(x0, y0, cp1x, cp1y, cp2x, cp2y, x, y);\n};\n\n// Geometric objects\n\n/**\n * A bézier path containing a set of path commands similar to a SVG path.\n * Paths can be drawn on a context using `draw`.\n * @exports opentype.Path\n * @class\n * @constructor\n */\nfunction Path() {\n this.commands = [];\n this.fill = 'black';\n this.stroke = null;\n this.strokeWidth = 1;\n}\n\n/**\n * @param {number} x\n * @param {number} y\n */\nPath.prototype.moveTo = function(x, y) {\n this.commands.push({\n type: 'M',\n x: x,\n y: y\n });\n};\n\n/**\n * @param {number} x\n * @param {number} y\n */\nPath.prototype.lineTo = function(x, y) {\n this.commands.push({\n type: 'L',\n x: x,\n y: y\n });\n};\n\n/**\n * Draws cubic curve\n * @function\n * curveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control 1\n * @param {number} y1 - y of control 1\n * @param {number} x2 - x of control 2\n * @param {number} y2 - y of control 2\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\n\n/**\n * Draws cubic curve\n * @function\n * bezierCurveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control 1\n * @param {number} y1 - y of control 1\n * @param {number} x2 - x of control 2\n * @param {number} y2 - y of control 2\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n * @see curveTo\n */\nPath.prototype.curveTo = Path.prototype.bezierCurveTo = function(x1, y1, x2, y2, x, y) {\n this.commands.push({\n type: 'C',\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n x: x,\n y: y\n });\n};\n\n/**\n * Draws quadratic curve\n * @function\n * quadraticCurveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control\n * @param {number} y1 - y of control\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\n\n/**\n * Draws quadratic curve\n * @function\n * quadTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control\n * @param {number} y1 - y of control\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\nPath.prototype.quadTo = Path.prototype.quadraticCurveTo = function(x1, y1, x, y) {\n this.commands.push({\n type: 'Q',\n x1: x1,\n y1: y1,\n x: x,\n y: y\n });\n};\n\n/**\n * Closes the path\n * @function closePath\n * @memberof opentype.Path.prototype\n */\n\n/**\n * Close the path\n * @function close\n * @memberof opentype.Path.prototype\n */\nPath.prototype.close = Path.prototype.closePath = function() {\n this.commands.push({\n type: 'Z'\n });\n};\n\n/**\n * Add the given path or list of commands to the commands of this path.\n * @param {Array} pathOrCommands - another opentype.Path, an opentype.BoundingBox, or an array of commands.\n */\nPath.prototype.extend = function(pathOrCommands) {\n if (pathOrCommands.commands) {\n pathOrCommands = pathOrCommands.commands;\n } else if (pathOrCommands instanceof BoundingBox) {\n var box = pathOrCommands;\n this.moveTo(box.x1, box.y1);\n this.lineTo(box.x2, box.y1);\n this.lineTo(box.x2, box.y2);\n this.lineTo(box.x1, box.y2);\n this.close();\n return;\n }\n\n Array.prototype.push.apply(this.commands, pathOrCommands);\n};\n\n/**\n * Calculate the bounding box of the path.\n * @returns {opentype.BoundingBox}\n */\nPath.prototype.getBoundingBox = function() {\n var box = new BoundingBox();\n\n var startX = 0;\n var startY = 0;\n var prevX = 0;\n var prevY = 0;\n for (var i = 0; i < this.commands.length; i++) {\n var cmd = this.commands[i];\n switch (cmd.type) {\n case 'M':\n box.addPoint(cmd.x, cmd.y);\n startX = prevX = cmd.x;\n startY = prevY = cmd.y;\n break;\n case 'L':\n box.addPoint(cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'Q':\n box.addQuad(prevX, prevY, cmd.x1, cmd.y1, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'C':\n box.addBezier(prevX, prevY, cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'Z':\n prevX = startX;\n prevY = startY;\n break;\n default:\n throw new Error('Unexpected path command ' + cmd.type);\n }\n }\n if (box.isEmpty()) {\n box.addPoint(0, 0);\n }\n return box;\n};\n\n/**\n * Draw the path to a 2D context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context.\n */\nPath.prototype.draw = function(ctx) {\n ctx.beginPath();\n for (var i = 0; i < this.commands.length; i += 1) {\n var cmd = this.commands[i];\n if (cmd.type === 'M') {\n ctx.moveTo(cmd.x, cmd.y);\n } else if (cmd.type === 'L') {\n ctx.lineTo(cmd.x, cmd.y);\n } else if (cmd.type === 'C') {\n ctx.bezierCurveTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === 'Q') {\n ctx.quadraticCurveTo(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === 'Z') {\n ctx.closePath();\n }\n }\n\n if (this.fill) {\n ctx.fillStyle = this.fill;\n ctx.fill();\n }\n\n if (this.stroke) {\n ctx.strokeStyle = this.stroke;\n ctx.lineWidth = this.strokeWidth;\n ctx.stroke();\n }\n};\n\n/**\n * Convert the Path to a string of path data instructions\n * See http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {number} [decimalPlaces=2] - The amount of decimal places for floating-point values\n * @return {string}\n */\nPath.prototype.toPathData = function(decimalPlaces) {\n decimalPlaces = decimalPlaces !== undefined ? decimalPlaces : 2;\n\n function floatToString(v) {\n if (Math.round(v) === v) {\n return '' + Math.round(v);\n } else {\n return v.toFixed(decimalPlaces);\n }\n }\n\n function packValues() {\n var arguments$1 = arguments;\n\n var s = '';\n for (var i = 0; i < arguments.length; i += 1) {\n var v = arguments$1[i];\n if (v >= 0 && i > 0) {\n s += ' ';\n }\n\n s += floatToString(v);\n }\n\n return s;\n }\n\n var d = '';\n for (var i = 0; i < this.commands.length; i += 1) {\n var cmd = this.commands[i];\n if (cmd.type === 'M') {\n d += 'M' + packValues(cmd.x, cmd.y);\n } else if (cmd.type === 'L') {\n d += 'L' + packValues(cmd.x, cmd.y);\n } else if (cmd.type === 'C') {\n d += 'C' + packValues(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === 'Q') {\n d += 'Q' + packValues(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === 'Z') {\n d += 'Z';\n }\n }\n\n return d;\n};\n\n/**\n * Convert the path to an SVG element, as a string.\n * @param {number} [decimalPlaces=2] - The amount of decimal places for floating-point values\n * @return {string}\n */\nPath.prototype.toSVG = function(decimalPlaces) {\n var svg = '= 0 && v <= 255, 'Byte value should be between 0 and 255.');\n return [v];\n};\n/**\n * @constant\n * @type {number}\n */\nsizeOf.BYTE = constant(1);\n\n/**\n * Convert a 8-bit signed integer to a list of 1 byte.\n * @param {string}\n * @returns {Array}\n */\nencode.CHAR = function(v) {\n return [v.charCodeAt(0)];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.CHAR = constant(1);\n\n/**\n * Convert an ASCII string to a list of bytes.\n * @param {string}\n * @returns {Array}\n */\nencode.CHARARRAY = function(v) {\n var b = [];\n for (var i = 0; i < v.length; i += 1) {\n b[i] = v.charCodeAt(i);\n }\n\n return b;\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.CHARARRAY = function(v) {\n return v.length;\n};\n\n/**\n * Convert a 16-bit unsigned integer to a list of 2 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.USHORT = function(v) {\n return [(v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.USHORT = constant(2);\n\n/**\n * Convert a 16-bit signed integer to a list of 2 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.SHORT = function(v) {\n // Two's complement\n if (v >= LIMIT16) {\n v = -(2 * LIMIT16 - v);\n }\n\n return [(v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.SHORT = constant(2);\n\n/**\n * Convert a 24-bit unsigned integer to a list of 3 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.UINT24 = function(v) {\n return [(v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.UINT24 = constant(3);\n\n/**\n * Convert a 32-bit unsigned integer to a list of 4 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.ULONG = function(v) {\n return [(v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.ULONG = constant(4);\n\n/**\n * Convert a 32-bit unsigned integer to a list of 4 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.LONG = function(v) {\n // Two's complement\n if (v >= LIMIT32) {\n v = -(2 * LIMIT32 - v);\n }\n\n return [(v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.LONG = constant(4);\n\nencode.FIXED = encode.ULONG;\nsizeOf.FIXED = sizeOf.ULONG;\n\nencode.FWORD = encode.SHORT;\nsizeOf.FWORD = sizeOf.SHORT;\n\nencode.UFWORD = encode.USHORT;\nsizeOf.UFWORD = sizeOf.USHORT;\n\n/**\n * Convert a 32-bit Apple Mac timestamp integer to a list of 8 bytes, 64-bit timestamp.\n * @param {number}\n * @returns {Array}\n */\nencode.LONGDATETIME = function(v) {\n return [0, 0, 0, 0, (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.LONGDATETIME = constant(8);\n\n/**\n * Convert a 4-char tag to a list of 4 bytes.\n * @param {string}\n * @returns {Array}\n */\nencode.TAG = function(v) {\n check.argument(v.length === 4, 'Tag should be exactly 4 ASCII characters.');\n return [v.charCodeAt(0),\n v.charCodeAt(1),\n v.charCodeAt(2),\n v.charCodeAt(3)];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.TAG = constant(4);\n\n// CFF data types ///////////////////////////////////////////////////////////\n\nencode.Card8 = encode.BYTE;\nsizeOf.Card8 = sizeOf.BYTE;\n\nencode.Card16 = encode.USHORT;\nsizeOf.Card16 = sizeOf.USHORT;\n\nencode.OffSize = encode.BYTE;\nsizeOf.OffSize = sizeOf.BYTE;\n\nencode.SID = encode.USHORT;\nsizeOf.SID = sizeOf.USHORT;\n\n// Convert a numeric operand or charstring number to a variable-size list of bytes.\n/**\n * Convert a numeric operand or charstring number to a variable-size list of bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER = function(v) {\n if (v >= -107 && v <= 107) {\n return [v + 139];\n } else if (v >= 108 && v <= 1131) {\n v = v - 108;\n return [(v >> 8) + 247, v & 0xFF];\n } else if (v >= -1131 && v <= -108) {\n v = -v - 108;\n return [(v >> 8) + 251, v & 0xFF];\n } else if (v >= -32768 && v <= 32767) {\n return encode.NUMBER16(v);\n } else {\n return encode.NUMBER32(v);\n }\n};\n\n/**\n * @param {number}\n * @returns {number}\n */\nsizeOf.NUMBER = function(v) {\n return encode.NUMBER(v).length;\n};\n\n/**\n * Convert a signed number between -32768 and +32767 to a three-byte value.\n * This ensures we always use three bytes, but is not the most compact format.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER16 = function(v) {\n return [28, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.NUMBER16 = constant(3);\n\n/**\n * Convert a signed number between -(2^31) and +(2^31-1) to a five-byte value.\n * This is useful if you want to be sure you always use four bytes,\n * at the expense of wasting a few bytes for smaller numbers.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER32 = function(v) {\n return [29, (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.NUMBER32 = constant(5);\n\n/**\n * @param {number}\n * @returns {Array}\n */\nencode.REAL = function(v) {\n var value = v.toString();\n\n // Some numbers use an epsilon to encode the value. (e.g. JavaScript will store 0.0000001 as 1e-7)\n // This code converts it back to a number without the epsilon.\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n if (m) {\n var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(v * epsilon) / epsilon).toString();\n }\n\n var nibbles = '';\n for (var i = 0, ii = value.length; i < ii; i += 1) {\n var c = value[i];\n if (c === 'e') {\n nibbles += value[++i] === '-' ? 'c' : 'b';\n } else if (c === '.') {\n nibbles += 'a';\n } else if (c === '-') {\n nibbles += 'e';\n } else {\n nibbles += c;\n }\n }\n\n nibbles += (nibbles.length & 1) ? 'f' : 'ff';\n var out = [30];\n for (var i$1 = 0, ii$1 = nibbles.length; i$1 < ii$1; i$1 += 2) {\n out.push(parseInt(nibbles.substr(i$1, 2), 16));\n }\n\n return out;\n};\n\n/**\n * @param {number}\n * @returns {number}\n */\nsizeOf.REAL = function(v) {\n return encode.REAL(v).length;\n};\n\nencode.NAME = encode.CHARARRAY;\nsizeOf.NAME = sizeOf.CHARARRAY;\n\nencode.STRING = encode.CHARARRAY;\nsizeOf.STRING = sizeOf.CHARARRAY;\n\n/**\n * @param {DataView} data\n * @param {number} offset\n * @param {number} numBytes\n * @returns {string}\n */\ndecode.UTF8 = function(data, offset, numBytes) {\n var codePoints = [];\n var numChars = numBytes;\n for (var j = 0; j < numChars; j++, offset += 1) {\n codePoints[j] = data.getUint8(offset);\n }\n\n return String.fromCharCode.apply(null, codePoints);\n};\n\n/**\n * @param {DataView} data\n * @param {number} offset\n * @param {number} numBytes\n * @returns {string}\n */\ndecode.UTF16 = function(data, offset, numBytes) {\n var codePoints = [];\n var numChars = numBytes / 2;\n for (var j = 0; j < numChars; j++, offset += 2) {\n codePoints[j] = data.getUint16(offset);\n }\n\n return String.fromCharCode.apply(null, codePoints);\n};\n\n/**\n * Convert a JavaScript string to UTF16-BE.\n * @param {string}\n * @returns {Array}\n */\nencode.UTF16 = function(v) {\n var b = [];\n for (var i = 0; i < v.length; i += 1) {\n var codepoint = v.charCodeAt(i);\n b[b.length] = (codepoint >> 8) & 0xFF;\n b[b.length] = codepoint & 0xFF;\n }\n\n return b;\n};\n\n/**\n * @param {string}\n * @returns {number}\n */\nsizeOf.UTF16 = function(v) {\n return v.length * 2;\n};\n\n// Data for converting old eight-bit Macintosh encodings to Unicode.\n// This representation is optimized for decoding; encoding is slower\n// and needs more memory. The assumption is that all opentype.js users\n// want to open fonts, but saving a font will be comparatively rare\n// so it can be more expensive. Keyed by IANA character set name.\n//\n// Python script for generating these strings:\n//\n// s = u''.join([chr(c).decode('mac_greek') for c in range(128, 256)])\n// print(s.encode('utf-8'))\n/**\n * @private\n */\nvar eightBitMacEncodings = {\n 'x-mac-croatian': // Python: 'mac_croatian'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø' +\n '¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ',\n 'x-mac-cyrillic': // Python: 'mac_cyrillic'\n 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњ' +\n 'јЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю',\n 'x-mac-gaelic': // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/GAELIC.TXT\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæø' +\n 'ṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ',\n 'x-mac-greek': // Python: 'mac_greek'\n 'Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩ' +\n 'άΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ\\u00AD',\n 'x-mac-icelandic': // Python: 'mac_iceland'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-inuit': // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/INUIT.TXT\n 'ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗ' +\n 'ᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł',\n 'x-mac-ce': // Python: 'mac_latin2'\n 'ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅ' +\n 'ņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ',\n macintosh: // Python: 'mac_roman'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-romanian': // Python: 'mac_romanian'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-turkish': // Python: 'mac_turkish'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ'\n};\n\n/**\n * Decodes an old-style Macintosh string. Returns either a Unicode JavaScript\n * string, or 'undefined' if the encoding is unsupported. For example, we do\n * not support Chinese, Japanese or Korean because these would need large\n * mapping tables.\n * @param {DataView} dataView\n * @param {number} offset\n * @param {number} dataLength\n * @param {string} encoding\n * @returns {string}\n */\ndecode.MACSTRING = function(dataView, offset, dataLength, encoding) {\n var table = eightBitMacEncodings[encoding];\n if (table === undefined) {\n return undefined;\n }\n\n var result = '';\n for (var i = 0; i < dataLength; i++) {\n var c = dataView.getUint8(offset + i);\n // In all eight-bit Mac encodings, the characters 0x00..0x7F are\n // mapped to U+0000..U+007F; we only need to look up the others.\n if (c <= 0x7F) {\n result += String.fromCharCode(c);\n } else {\n result += table[c & 0x7F];\n }\n }\n\n return result;\n};\n\n// Helper function for encode.MACSTRING. Returns a dictionary for mapping\n// Unicode character codes to their 8-bit MacOS equivalent. This table\n// is not exactly a super cheap data structure, but we do not care because\n// encoding Macintosh strings is only rarely needed in typical applications.\nvar macEncodingTableCache = typeof WeakMap === 'function' && new WeakMap();\nvar macEncodingCacheKeys;\nvar getMacEncodingTable = function (encoding) {\n // Since we use encoding as a cache key for WeakMap, it has to be\n // a String object and not a literal. And at least on NodeJS 2.10.1,\n // WeakMap requires that the same String instance is passed for cache hits.\n if (!macEncodingCacheKeys) {\n macEncodingCacheKeys = {};\n for (var e in eightBitMacEncodings) {\n /*jshint -W053 */ // Suppress \"Do not use String as a constructor.\"\n macEncodingCacheKeys[e] = new String(e);\n }\n }\n\n var cacheKey = macEncodingCacheKeys[encoding];\n if (cacheKey === undefined) {\n return undefined;\n }\n\n // We can't do \"if (cache.has(key)) {return cache.get(key)}\" here:\n // since garbage collection may run at any time, it could also kick in\n // between the calls to cache.has() and cache.get(). In that case,\n // we would return 'undefined' even though we do support the encoding.\n if (macEncodingTableCache) {\n var cachedTable = macEncodingTableCache.get(cacheKey);\n if (cachedTable !== undefined) {\n return cachedTable;\n }\n }\n\n var decodingTable = eightBitMacEncodings[encoding];\n if (decodingTable === undefined) {\n return undefined;\n }\n\n var encodingTable = {};\n for (var i = 0; i < decodingTable.length; i++) {\n encodingTable[decodingTable.charCodeAt(i)] = i + 0x80;\n }\n\n if (macEncodingTableCache) {\n macEncodingTableCache.set(cacheKey, encodingTable);\n }\n\n return encodingTable;\n};\n\n/**\n * Encodes an old-style Macintosh string. Returns a byte array upon success.\n * If the requested encoding is unsupported, or if the input string contains\n * a character that cannot be expressed in the encoding, the function returns\n * 'undefined'.\n * @param {string} str\n * @param {string} encoding\n * @returns {Array}\n */\nencode.MACSTRING = function(str, encoding) {\n var table = getMacEncodingTable(encoding);\n if (table === undefined) {\n return undefined;\n }\n\n var result = [];\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n\n // In all eight-bit Mac encodings, the characters 0x00..0x7F are\n // mapped to U+0000..U+007F; we only need to look up the others.\n if (c >= 0x80) {\n c = table[c];\n if (c === undefined) {\n // str contains a Unicode character that cannot be encoded\n // in the requested encoding.\n return undefined;\n }\n }\n result[i] = c;\n // result.push(c);\n }\n\n return result;\n};\n\n/**\n * @param {string} str\n * @param {string} encoding\n * @returns {number}\n */\nsizeOf.MACSTRING = function(str, encoding) {\n var b = encode.MACSTRING(str, encoding);\n if (b !== undefined) {\n return b.length;\n } else {\n return 0;\n }\n};\n\n// Helper for encode.VARDELTAS\nfunction isByteEncodable(value) {\n return value >= -128 && value <= 127;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsZeroes(deltas, pos, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n while (pos < numDeltas && runLength < 64 && deltas[pos] === 0) {\n ++pos;\n ++runLength;\n }\n result.push(0x80 | (runLength - 1));\n return pos;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsBytes(deltas, offset, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n var pos = offset;\n while (pos < numDeltas && runLength < 64) {\n var value = deltas[pos];\n if (!isByteEncodable(value)) {\n break;\n }\n\n // Within a byte-encoded run of deltas, a single zero is best\n // stored literally as 0x00 value. However, if we have two or\n // more zeroes in a sequence, it is better to start a new run.\n // Fore example, the sequence of deltas [15, 15, 0, 15, 15]\n // becomes 6 bytes (04 0F 0F 00 0F 0F) when storing the zero\n // within the current run, but 7 bytes (01 0F 0F 80 01 0F 0F)\n // when starting a new run.\n if (value === 0 && pos + 1 < numDeltas && deltas[pos + 1] === 0) {\n break;\n }\n\n ++pos;\n ++runLength;\n }\n result.push(runLength - 1);\n for (var i = offset; i < pos; ++i) {\n result.push((deltas[i] + 256) & 0xff);\n }\n return pos;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsWords(deltas, offset, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n var pos = offset;\n while (pos < numDeltas && runLength < 64) {\n var value = deltas[pos];\n\n // Within a word-encoded run of deltas, it is easiest to start\n // a new run (with a different encoding) whenever we encounter\n // a zero value. For example, the sequence [0x6666, 0, 0x7777]\n // needs 7 bytes when storing the zero inside the current run\n // (42 66 66 00 00 77 77), and equally 7 bytes when starting a\n // new run (40 66 66 80 40 77 77).\n if (value === 0) {\n break;\n }\n\n // Within a word-encoded run of deltas, a single value in the\n // range (-128..127) should be encoded within the current run\n // because it is more compact. For example, the sequence\n // [0x6666, 2, 0x7777] becomes 7 bytes when storing the value\n // literally (42 66 66 00 02 77 77), but 8 bytes when starting\n // a new run (40 66 66 00 02 40 77 77).\n if (isByteEncodable(value) && pos + 1 < numDeltas && isByteEncodable(deltas[pos + 1])) {\n break;\n }\n\n ++pos;\n ++runLength;\n }\n result.push(0x40 | (runLength - 1));\n for (var i = offset; i < pos; ++i) {\n var val = deltas[i];\n result.push(((val + 0x10000) >> 8) & 0xff, (val + 0x100) & 0xff);\n }\n return pos;\n}\n\n/**\n * Encode a list of variation adjustment deltas.\n *\n * Variation adjustment deltas are used in ‘gvar’ and ‘cvar’ tables.\n * They indicate how points (in ‘gvar’) or values (in ‘cvar’) get adjusted\n * when generating instances of variation fonts.\n *\n * @see https://www.microsoft.com/typography/otspec/gvar.htm\n * @see https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6gvar.html\n * @param {Array}\n * @return {Array}\n */\nencode.VARDELTAS = function(deltas) {\n var pos = 0;\n var result = [];\n while (pos < deltas.length) {\n var value = deltas[pos];\n if (value === 0) {\n pos = encodeVarDeltaRunAsZeroes(deltas, pos, result);\n } else if (value >= -128 && value <= 127) {\n pos = encodeVarDeltaRunAsBytes(deltas, pos, result);\n } else {\n pos = encodeVarDeltaRunAsWords(deltas, pos, result);\n }\n }\n return result;\n};\n\n// Convert a list of values to a CFF INDEX structure.\n// The values should be objects containing name / type / value.\n/**\n * @param {Array} l\n * @returns {Array}\n */\nencode.INDEX = function(l) {\n //var offset, offsets, offsetEncoder, encodedOffsets, encodedOffset, data,\n // i, v;\n // Because we have to know which data type to use to encode the offsets,\n // we have to go through the values twice: once to encode the data and\n // calculate the offsets, then again to encode the offsets using the fitting data type.\n var offset = 1; // First offset is always 1.\n var offsets = [offset];\n var data = [];\n for (var i = 0; i < l.length; i += 1) {\n var v = encode.OBJECT(l[i]);\n Array.prototype.push.apply(data, v);\n offset += v.length;\n offsets.push(offset);\n }\n\n if (data.length === 0) {\n return [0, 0];\n }\n\n var encodedOffsets = [];\n var offSize = (1 + Math.floor(Math.log(offset) / Math.log(2)) / 8) | 0;\n var offsetEncoder = [undefined, encode.BYTE, encode.USHORT, encode.UINT24, encode.ULONG][offSize];\n for (var i$1 = 0; i$1 < offsets.length; i$1 += 1) {\n var encodedOffset = offsetEncoder(offsets[i$1]);\n Array.prototype.push.apply(encodedOffsets, encodedOffset);\n }\n\n return Array.prototype.concat(encode.Card16(l.length),\n encode.OffSize(offSize),\n encodedOffsets,\n data);\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.INDEX = function(v) {\n return encode.INDEX(v).length;\n};\n\n/**\n * Convert an object to a CFF DICT structure.\n * The keys should be numeric.\n * The values should be objects containing name / type / value.\n * @param {Object} m\n * @returns {Array}\n */\nencode.DICT = function(m) {\n var d = [];\n var keys = Object.keys(m);\n var length = keys.length;\n\n for (var i = 0; i < length; i += 1) {\n // Object.keys() return string keys, but our keys are always numeric.\n var k = parseInt(keys[i], 0);\n var v = m[k];\n // Value comes before the key.\n d = d.concat(encode.OPERAND(v.value, v.type));\n d = d.concat(encode.OPERATOR(k));\n }\n\n return d;\n};\n\n/**\n * @param {Object}\n * @returns {number}\n */\nsizeOf.DICT = function(m) {\n return encode.DICT(m).length;\n};\n\n/**\n * @param {number}\n * @returns {Array}\n */\nencode.OPERATOR = function(v) {\n if (v < 1200) {\n return [v];\n } else {\n return [12, v - 1200];\n }\n};\n\n/**\n * @param {Array} v\n * @param {string}\n * @returns {Array}\n */\nencode.OPERAND = function(v, type) {\n var d = [];\n if (Array.isArray(type)) {\n for (var i = 0; i < type.length; i += 1) {\n check.argument(v.length === type.length, 'Not enough arguments given for type' + type);\n d = d.concat(encode.OPERAND(v[i], type[i]));\n }\n } else {\n if (type === 'SID') {\n d = d.concat(encode.NUMBER(v));\n } else if (type === 'offset') {\n // We make it easy for ourselves and always encode offsets as\n // 4 bytes. This makes offset calculation for the top dict easier.\n d = d.concat(encode.NUMBER32(v));\n } else if (type === 'number') {\n d = d.concat(encode.NUMBER(v));\n } else if (type === 'real') {\n d = d.concat(encode.REAL(v));\n } else {\n throw new Error('Unknown operand type ' + type);\n // FIXME Add support for booleans\n }\n }\n\n return d;\n};\n\nencode.OP = encode.BYTE;\nsizeOf.OP = sizeOf.BYTE;\n\n// memoize charstring encoding using WeakMap if available\nvar wmm = typeof WeakMap === 'function' && new WeakMap();\n\n/**\n * Convert a list of CharString operations to bytes.\n * @param {Array}\n * @returns {Array}\n */\nencode.CHARSTRING = function(ops) {\n // See encode.MACSTRING for why we don't do \"if (wmm && wmm.has(ops))\".\n if (wmm) {\n var cachedValue = wmm.get(ops);\n if (cachedValue !== undefined) {\n return cachedValue;\n }\n }\n\n var d = [];\n var length = ops.length;\n\n for (var i = 0; i < length; i += 1) {\n var op = ops[i];\n d = d.concat(encode[op.type](op.value));\n }\n\n if (wmm) {\n wmm.set(ops, d);\n }\n\n return d;\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.CHARSTRING = function(ops) {\n return encode.CHARSTRING(ops).length;\n};\n\n// Utility functions ////////////////////////////////////////////////////////\n\n/**\n * Convert an object containing name / type / value to bytes.\n * @param {Object}\n * @returns {Array}\n */\nencode.OBJECT = function(v) {\n var encodingFunction = encode[v.type];\n check.argument(encodingFunction !== undefined, 'No encoding function for type ' + v.type);\n return encodingFunction(v.value);\n};\n\n/**\n * @param {Object}\n * @returns {number}\n */\nsizeOf.OBJECT = function(v) {\n var sizeOfFunction = sizeOf[v.type];\n check.argument(sizeOfFunction !== undefined, 'No sizeOf function for type ' + v.type);\n return sizeOfFunction(v.value);\n};\n\n/**\n * Convert a table object to bytes.\n * A table contains a list of fields containing the metadata (name, type and default value).\n * The table itself has the field values set as attributes.\n * @param {opentype.Table}\n * @returns {Array}\n */\nencode.TABLE = function(table) {\n var d = [];\n var length = table.fields.length;\n var subtables = [];\n var subtableOffsets = [];\n\n for (var i = 0; i < length; i += 1) {\n var field = table.fields[i];\n var encodingFunction = encode[field.type];\n check.argument(encodingFunction !== undefined, 'No encoding function for field type ' + field.type + ' (' + field.name + ')');\n var value = table[field.name];\n if (value === undefined) {\n value = field.value;\n }\n\n var bytes = encodingFunction(value);\n\n if (field.type === 'TABLE') {\n subtableOffsets.push(d.length);\n d = d.concat([0, 0]);\n subtables.push(bytes);\n } else {\n d = d.concat(bytes);\n }\n }\n\n for (var i$1 = 0; i$1 < subtables.length; i$1 += 1) {\n var o = subtableOffsets[i$1];\n var offset = d.length;\n check.argument(offset < 65536, 'Table ' + table.tableName + ' too big.');\n d[o] = offset >> 8;\n d[o + 1] = offset & 0xff;\n d = d.concat(subtables[i$1]);\n }\n\n return d;\n};\n\n/**\n * @param {opentype.Table}\n * @returns {number}\n */\nsizeOf.TABLE = function(table) {\n var numBytes = 0;\n var length = table.fields.length;\n\n for (var i = 0; i < length; i += 1) {\n var field = table.fields[i];\n var sizeOfFunction = sizeOf[field.type];\n check.argument(sizeOfFunction !== undefined, 'No sizeOf function for field type ' + field.type + ' (' + field.name + ')');\n var value = table[field.name];\n if (value === undefined) {\n value = field.value;\n }\n\n numBytes += sizeOfFunction(value);\n\n // Subtables take 2 more bytes for offsets.\n if (field.type === 'TABLE') {\n numBytes += 2;\n }\n }\n\n return numBytes;\n};\n\nencode.RECORD = encode.TABLE;\nsizeOf.RECORD = sizeOf.TABLE;\n\n// Merge in a list of bytes.\nencode.LITERAL = function(v) {\n return v;\n};\n\nsizeOf.LITERAL = function(v) {\n return v.length;\n};\n\n// Table metadata\n\n/**\n * @exports opentype.Table\n * @class\n * @param {string} tableName\n * @param {Array} fields\n * @param {Object} options\n * @constructor\n */\nfunction Table(tableName, fields, options) {\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n this[field.name] = field.value;\n }\n\n this.tableName = tableName;\n this.fields = fields;\n if (options) {\n var optionKeys = Object.keys(options);\n for (var i$1 = 0; i$1 < optionKeys.length; i$1 += 1) {\n var k = optionKeys[i$1];\n var v = options[k];\n if (this[k] !== undefined) {\n this[k] = v;\n }\n }\n }\n}\n\n/**\n * Encodes the table and returns an array of bytes\n * @return {Array}\n */\nTable.prototype.encode = function() {\n return encode.TABLE(this);\n};\n\n/**\n * Get the size of the table.\n * @return {number}\n */\nTable.prototype.sizeOf = function() {\n return sizeOf.TABLE(this);\n};\n\n/**\n * @private\n */\nfunction ushortList(itemName, list, count) {\n if (count === undefined) {\n count = list.length;\n }\n var fields = new Array(list.length + 1);\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < list.length; i++) {\n fields[i + 1] = {name: itemName + i, type: 'USHORT', value: list[i]};\n }\n return fields;\n}\n\n/**\n * @private\n */\nfunction tableList(itemName, records, itemCallback) {\n var count = records.length;\n var fields = new Array(count + 1);\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < count; i++) {\n fields[i + 1] = {name: itemName + i, type: 'TABLE', value: itemCallback(records[i], i)};\n }\n return fields;\n}\n\n/**\n * @private\n */\nfunction recordList(itemName, records, itemCallback) {\n var count = records.length;\n var fields = [];\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < count; i++) {\n fields = fields.concat(itemCallback(records[i], i));\n }\n return fields;\n}\n\n// Common Layout Tables\n\n/**\n * @exports opentype.Coverage\n * @class\n * @param {opentype.Table}\n * @constructor\n * @extends opentype.Table\n */\nfunction Coverage(coverageTable) {\n if (coverageTable.format === 1) {\n Table.call(this, 'coverageTable',\n [{name: 'coverageFormat', type: 'USHORT', value: 1}]\n .concat(ushortList('glyph', coverageTable.glyphs))\n );\n } else {\n check.assert(false, 'Can\\'t create coverage table format 2 yet.');\n }\n}\nCoverage.prototype = Object.create(Table.prototype);\nCoverage.prototype.constructor = Coverage;\n\nfunction ScriptList(scriptListTable) {\n Table.call(this, 'scriptListTable',\n recordList('scriptRecord', scriptListTable, function(scriptRecord, i) {\n var script = scriptRecord.script;\n var defaultLangSys = script.defaultLangSys;\n check.assert(!!defaultLangSys, 'Unable to write GSUB: script ' + scriptRecord.tag + ' has no default language system.');\n return [\n {name: 'scriptTag' + i, type: 'TAG', value: scriptRecord.tag},\n {name: 'script' + i, type: 'TABLE', value: new Table('scriptTable', [\n {name: 'defaultLangSys', type: 'TABLE', value: new Table('defaultLangSys', [\n {name: 'lookupOrder', type: 'USHORT', value: 0},\n {name: 'reqFeatureIndex', type: 'USHORT', value: defaultLangSys.reqFeatureIndex}]\n .concat(ushortList('featureIndex', defaultLangSys.featureIndexes)))}\n ].concat(recordList('langSys', script.langSysRecords, function(langSysRecord, i) {\n var langSys = langSysRecord.langSys;\n return [\n {name: 'langSysTag' + i, type: 'TAG', value: langSysRecord.tag},\n {name: 'langSys' + i, type: 'TABLE', value: new Table('langSys', [\n {name: 'lookupOrder', type: 'USHORT', value: 0},\n {name: 'reqFeatureIndex', type: 'USHORT', value: langSys.reqFeatureIndex}\n ].concat(ushortList('featureIndex', langSys.featureIndexes)))}\n ];\n })))}\n ];\n })\n );\n}\nScriptList.prototype = Object.create(Table.prototype);\nScriptList.prototype.constructor = ScriptList;\n\n/**\n * @exports opentype.FeatureList\n * @class\n * @param {opentype.Table}\n * @constructor\n * @extends opentype.Table\n */\nfunction FeatureList(featureListTable) {\n Table.call(this, 'featureListTable',\n recordList('featureRecord', featureListTable, function(featureRecord, i) {\n var feature = featureRecord.feature;\n return [\n {name: 'featureTag' + i, type: 'TAG', value: featureRecord.tag},\n {name: 'feature' + i, type: 'TABLE', value: new Table('featureTable', [\n {name: 'featureParams', type: 'USHORT', value: feature.featureParams} ].concat(ushortList('lookupListIndex', feature.lookupListIndexes)))}\n ];\n })\n );\n}\nFeatureList.prototype = Object.create(Table.prototype);\nFeatureList.prototype.constructor = FeatureList;\n\n/**\n * @exports opentype.LookupList\n * @class\n * @param {opentype.Table}\n * @param {Object}\n * @constructor\n * @extends opentype.Table\n */\nfunction LookupList(lookupListTable, subtableMakers) {\n Table.call(this, 'lookupListTable', tableList('lookup', lookupListTable, function(lookupTable) {\n var subtableCallback = subtableMakers[lookupTable.lookupType];\n check.assert(!!subtableCallback, 'Unable to write GSUB lookup type ' + lookupTable.lookupType + ' tables.');\n return new Table('lookupTable', [\n {name: 'lookupType', type: 'USHORT', value: lookupTable.lookupType},\n {name: 'lookupFlag', type: 'USHORT', value: lookupTable.lookupFlag}\n ].concat(tableList('subtable', lookupTable.subtables, subtableCallback)));\n }));\n}\nLookupList.prototype = Object.create(Table.prototype);\nLookupList.prototype.constructor = LookupList;\n\n// Record = same as Table, but inlined (a Table has an offset and its data is further in the stream)\n// Don't use offsets inside Records (probable bug), only in Tables.\nvar table = {\n Table: Table,\n Record: Table,\n Coverage: Coverage,\n ScriptList: ScriptList,\n FeatureList: FeatureList,\n LookupList: LookupList,\n ushortList: ushortList,\n tableList: tableList,\n recordList: recordList,\n};\n\n// Parsing utility functions\n\n// Retrieve an unsigned byte from the DataView.\nfunction getByte(dataView, offset) {\n return dataView.getUint8(offset);\n}\n\n// Retrieve an unsigned 16-bit short from the DataView.\n// The value is stored in big endian.\nfunction getUShort(dataView, offset) {\n return dataView.getUint16(offset, false);\n}\n\n// Retrieve a signed 16-bit short from the DataView.\n// The value is stored in big endian.\nfunction getShort(dataView, offset) {\n return dataView.getInt16(offset, false);\n}\n\n// Retrieve an unsigned 24-bit integer from the DataView.\n// Format optimal for the 21-bit Unicode Scalar Values:\n// https://developer.apple.com/documentation/swift/string/unicodescalarview\n// The value is stored in big endian.\nfunction getUInt24(dataView, offset) {\n var b = dataView.getUint16(offset, false);\n var a = dataView.getUint8(offset + 2, false);\n return b * Math.pow(2, 8) + a;\n}\n\n// Retrieve an unsigned 32-bit long from the DataView.\n// The value is stored in big endian.\nfunction getULong(dataView, offset) {\n return dataView.getUint32(offset, false);\n}\n\n// Retrieve a 32-bit signed fixed-point number (16.16) from the DataView.\n// The value is stored in big endian.\nfunction getFixed(dataView, offset) {\n var decimal = dataView.getInt16(offset, false);\n var fraction = dataView.getUint16(offset + 2, false);\n return decimal + fraction / 65535;\n}\n\n// Retrieve a 4-character tag from the DataView.\n// Tags are used to identify tables.\nfunction getTag(dataView, offset) {\n var tag = '';\n for (var i = offset; i < offset + 4; i += 1) {\n tag += String.fromCharCode(dataView.getInt8(i));\n }\n\n return tag;\n}\n\n// Retrieve an offset from the DataView.\n// Offsets are 1 to 4 bytes in length, depending on the offSize argument.\nfunction getOffset(dataView, offset, offSize) {\n var v = 0;\n for (var i = 0; i < offSize; i += 1) {\n v <<= 8;\n v += dataView.getUint8(offset + i);\n }\n\n return v;\n}\n\n// Retrieve a number of bytes from start offset to the end offset from the DataView.\nfunction getBytes(dataView, startOffset, endOffset) {\n var bytes = [];\n for (var i = startOffset; i < endOffset; i += 1) {\n bytes.push(dataView.getUint8(i));\n }\n\n return bytes;\n}\n\n// Convert the list of bytes to a string.\nfunction bytesToString(bytes) {\n var s = '';\n for (var i = 0; i < bytes.length; i += 1) {\n s += String.fromCharCode(bytes[i]);\n }\n\n return s;\n}\n\nvar typeOffsets = {\n byte: 1,\n uShort: 2,\n short: 2,\n uLong: 4,\n fixed: 4,\n longDateTime: 8,\n tag: 4\n};\n\n// A stateful parser that changes the offset whenever a value is retrieved.\n// The data is a DataView.\nfunction Parser(data, offset) {\n this.data = data;\n this.offset = offset;\n this.relativeOffset = 0;\n}\n\nParser.prototype.parseByte = function() {\n var v = this.data.getUint8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\n\nParser.prototype.parseChar = function() {\n var v = this.data.getInt8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\n\nParser.prototype.parseCard8 = Parser.prototype.parseByte;\n\nParser.prototype.parseUShort = function() {\n var v = this.data.getUint16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseCard16 = Parser.prototype.parseUShort;\nParser.prototype.parseSID = Parser.prototype.parseUShort;\nParser.prototype.parseOffset16 = Parser.prototype.parseUShort;\n\nParser.prototype.parseShort = function() {\n var v = this.data.getInt16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseF2Dot14 = function() {\n var v = this.data.getInt16(this.offset + this.relativeOffset) / 16384;\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseUInt24 = function() {\n var v = getUInt24(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 3;\n return v;\n};\n\nParser.prototype.parseULong = function() {\n var v = getULong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\n\nParser.prototype.parseOffset32 = Parser.prototype.parseULong;\n\nParser.prototype.parseFixed = function() {\n var v = getFixed(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\n\nParser.prototype.parseString = function(length) {\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n var string = '';\n this.relativeOffset += length;\n for (var i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i));\n }\n\n return string;\n};\n\nParser.prototype.parseTag = function() {\n return this.parseString(4);\n};\n\n// LONGDATETIME is a 64-bit integer.\n// JavaScript and unix timestamps traditionally use 32 bits, so we\n// only take the last 32 bits.\n// + Since until 2038 those bits will be filled by zeros we can ignore them.\nParser.prototype.parseLongDateTime = function() {\n var v = getULong(this.data, this.offset + this.relativeOffset + 4);\n // Subtract seconds between 01/01/1904 and 01/01/1970\n // to convert Apple Mac timestamp to Standard Unix timestamp\n v -= 2082844800;\n this.relativeOffset += 8;\n return v;\n};\n\nParser.prototype.parseVersion = function(minorBase) {\n var major = getUShort(this.data, this.offset + this.relativeOffset);\n\n // How to interpret the minor version is very vague in the spec. 0x5000 is 5, 0x1000 is 1\n // Default returns the correct number if minor = 0xN000 where N is 0-9\n // Set minorBase to 1 for tables that use minor = N where N is 0-9\n var minor = getUShort(this.data, this.offset + this.relativeOffset + 2);\n this.relativeOffset += 4;\n if (minorBase === undefined) { minorBase = 0x1000; }\n return major + minor / minorBase / 10;\n};\n\nParser.prototype.skip = function(type, amount) {\n if (amount === undefined) {\n amount = 1;\n }\n\n this.relativeOffset += typeOffsets[type] * amount;\n};\n\n///// Parsing lists and records ///////////////////////////////\n\n// Parse a list of 32 bit unsigned integers.\nParser.prototype.parseULongList = function(count) {\n if (count === undefined) { count = this.parseULong(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = dataView.getUint32(offset);\n offset += 4;\n }\n\n this.relativeOffset += count * 4;\n return offsets;\n};\n\n// Parse a list of 16 bit unsigned integers. The length of the list can be read on the stream\n// or provided as an argument.\nParser.prototype.parseOffset16List =\nParser.prototype.parseUShortList = function(count) {\n if (count === undefined) { count = this.parseUShort(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = dataView.getUint16(offset);\n offset += 2;\n }\n\n this.relativeOffset += count * 2;\n return offsets;\n};\n\n// Parses a list of 16 bit signed integers.\nParser.prototype.parseShortList = function(count) {\n var list = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n list[i] = dataView.getInt16(offset);\n offset += 2;\n }\n\n this.relativeOffset += count * 2;\n return list;\n};\n\n// Parse a list of 24 bit unsigned integers. The length of the list can be read on the stream\n// or provided as an argument.\nParser.prototype.parseUInt24List = function(count) {\n if (count === undefined) { count = this.parseUShort(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = getUInt24(dataView, offset);\n offset += 3;\n }\n\n this.relativeOffset += count * 3;\n return offsets;\n};\n\n// Parses a list of bytes.\nParser.prototype.parseByteList = function(count) {\n var list = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n list[i] = dataView.getUint8(offset++);\n }\n\n this.relativeOffset += count;\n return list;\n};\n\n/**\n * Parse a list of items.\n * Record count is optional, if omitted it is read from the stream.\n * itemCallback is one of the Parser methods.\n */\nParser.prototype.parseList = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseUShort();\n }\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\n\nParser.prototype.parseList32 = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseULong();\n }\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\n\n/**\n * Parse a list of records.\n * Record count is optional, if omitted it is read from the stream.\n * Example of recordDescription: { sequenceIndex: Parser.uShort, lookupListIndex: Parser.uShort }\n */\nParser.prototype.parseRecordList = function(count, recordDescription) {\n // If the count argument is absent, read it in the stream.\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseUShort();\n }\n var records = new Array(count);\n var fields = Object.keys(recordDescription);\n for (var i = 0; i < count; i++) {\n var rec = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\n\nParser.prototype.parseRecordList32 = function(count, recordDescription) {\n // If the count argument is absent, read it in the stream.\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseULong();\n }\n var records = new Array(count);\n var fields = Object.keys(recordDescription);\n for (var i = 0; i < count; i++) {\n var rec = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\n\n// Parse a data structure into an object\n// Example of description: { sequenceIndex: Parser.uShort, lookupListIndex: Parser.uShort }\nParser.prototype.parseStruct = function(description) {\n if (typeof description === 'function') {\n return description.call(this);\n } else {\n var fields = Object.keys(description);\n var struct = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = description[fieldName];\n struct[fieldName] = fieldType.call(this);\n }\n return struct;\n }\n};\n\n/**\n * Parse a GPOS valueRecord\n * https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#value-record\n * valueFormat is optional, if omitted it is read from the stream.\n */\nParser.prototype.parseValueRecord = function(valueFormat) {\n if (valueFormat === undefined) {\n valueFormat = this.parseUShort();\n }\n if (valueFormat === 0) {\n // valueFormat2 in kerning pairs is most often 0\n // in this case return undefined instead of an empty object, to save space\n return;\n }\n var valueRecord = {};\n\n if (valueFormat & 0x0001) { valueRecord.xPlacement = this.parseShort(); }\n if (valueFormat & 0x0002) { valueRecord.yPlacement = this.parseShort(); }\n if (valueFormat & 0x0004) { valueRecord.xAdvance = this.parseShort(); }\n if (valueFormat & 0x0008) { valueRecord.yAdvance = this.parseShort(); }\n\n // Device table (non-variable font) / VariationIndex table (variable font) not supported\n // https://docs.microsoft.com/fr-fr/typography/opentype/spec/chapter2#devVarIdxTbls\n if (valueFormat & 0x0010) { valueRecord.xPlaDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0020) { valueRecord.yPlaDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0040) { valueRecord.xAdvDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0080) { valueRecord.yAdvDevice = undefined; this.parseShort(); }\n\n return valueRecord;\n};\n\n/**\n * Parse a list of GPOS valueRecords\n * https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#value-record\n * valueFormat and valueCount are read from the stream.\n */\nParser.prototype.parseValueRecordList = function() {\n var valueFormat = this.parseUShort();\n var valueCount = this.parseUShort();\n var values = new Array(valueCount);\n for (var i = 0; i < valueCount; i++) {\n values[i] = this.parseValueRecord(valueFormat);\n }\n return values;\n};\n\nParser.prototype.parsePointer = function(description, storeOffset) {\n if ( storeOffset === void 0 ) storeOffset = false;\n\n var structOffset = this.parseOffset16();\n if (structOffset > 0) {\n // NULL offset => return undefined\n var offset = this.offset + structOffset;\n var struct = new Parser(this.data, offset).parseStruct(description);\n if (storeOffset) {\n struct.tableOffset = offset;\n }\n return struct;\n }\n return undefined;\n};\n\nParser.prototype.parsePointer32 = function(description) {\n var structOffset = this.parseOffset32();\n if (structOffset > 0) {\n // NULL offset => return undefined\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return undefined;\n};\n\n/**\n * Parse a list of offsets to lists of 16-bit integers,\n * or a list of offsets to lists of offsets to any kind of items.\n * If itemCallback is not provided, a list of list of UShort is assumed.\n * If provided, itemCallback is called on each item and must parse the item.\n * See examples in tables/gsub.js\n */\nParser.prototype.parseListOfLists = function(itemCallback) {\n var offsets = this.parseOffset16List();\n var count = offsets.length;\n var relativeOffset = this.relativeOffset;\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n var start = offsets[i];\n if (start === 0) {\n // NULL offset\n // Add i as owned property to list. Convenient with assert.\n list[i] = undefined;\n continue;\n }\n this.relativeOffset = start;\n if (itemCallback) {\n var subOffsets = this.parseOffset16List();\n var subList = new Array(subOffsets.length);\n for (var j = 0; j < subOffsets.length; j++) {\n this.relativeOffset = start + subOffsets[j];\n subList[j] = itemCallback.call(this);\n }\n list[i] = subList;\n } else {\n list[i] = this.parseUShortList();\n }\n }\n this.relativeOffset = relativeOffset;\n return list;\n};\n\n///// Complex tables parsing //////////////////////////////////\n\n// Parse a coverage table in a GSUB, GPOS or GDEF table.\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\n// parser.offset must point to the start of the table containing the coverage.\nParser.prototype.parseCoverage = function() {\n var startOffset = this.offset + this.relativeOffset;\n var format = this.parseUShort();\n var count = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n glyphs: this.parseUShortList(count)\n };\n } else if (format === 2) {\n var ranges = new Array(count);\n for (var i = 0; i < count; i++) {\n ranges[i] = {\n start: this.parseUShort(),\n end: this.parseUShort(),\n index: this.parseUShort()\n };\n }\n return {\n format: 2,\n ranges: ranges\n };\n }\n throw new Error('0x' + startOffset.toString(16) + ': Coverage format must be 1 or 2.');\n};\n\n// Parse a Class Definition Table in a GSUB, GPOS or GDEF table.\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\nParser.prototype.parseClassDef = function() {\n var startOffset = this.offset + this.relativeOffset;\n var format = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n startGlyph: this.parseUShort(),\n classes: this.parseUShortList()\n };\n } else if (format === 2) {\n return {\n format: 2,\n ranges: this.parseRecordList({\n start: Parser.uShort,\n end: Parser.uShort,\n classId: Parser.uShort\n })\n };\n }\n throw new Error('0x' + startOffset.toString(16) + ': ClassDef format must be 1 or 2.');\n};\n\n///// Static methods ///////////////////////////////////\n// These convenience methods can be used as callbacks and should be called with \"this\" context set to a Parser instance.\n\nParser.list = function(count, itemCallback) {\n return function() {\n return this.parseList(count, itemCallback);\n };\n};\n\nParser.list32 = function(count, itemCallback) {\n return function() {\n return this.parseList32(count, itemCallback);\n };\n};\n\nParser.recordList = function(count, recordDescription) {\n return function() {\n return this.parseRecordList(count, recordDescription);\n };\n};\n\nParser.recordList32 = function(count, recordDescription) {\n return function() {\n return this.parseRecordList32(count, recordDescription);\n };\n};\n\nParser.pointer = function(description, storeOffset) {\n if ( storeOffset === void 0 ) storeOffset = false;\n\n return function() {\n return this.parsePointer(description, storeOffset);\n };\n};\n\nParser.pointer32 = function(description) {\n return function() {\n return this.parsePointer32(description);\n };\n};\n\nParser.tag = Parser.prototype.parseTag;\nParser.byte = Parser.prototype.parseByte;\nParser.uShort = Parser.offset16 = Parser.prototype.parseUShort;\nParser.uShortList = Parser.prototype.parseUShortList;\nParser.uInt24 = Parser.prototype.parseUInt24;\nParser.uLong = Parser.offset32 = Parser.prototype.parseULong;\nParser.uLongList = Parser.prototype.parseULongList;\nParser.uInt24List = Parser.prototype.parseUInt24List;\nParser.struct = Parser.prototype.parseStruct;\nParser.coverage = Parser.prototype.parseCoverage;\nParser.classDef = Parser.prototype.parseClassDef;\n\n///// Script, Feature, Lookup lists ///////////////////////////////////////////////\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\n\nvar langSysTable = {\n reserved: Parser.uShort,\n reqFeatureIndex: Parser.uShort,\n featureIndexes: Parser.uShortList\n};\n\nParser.prototype.parseScriptList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n script: Parser.pointer({\n defaultLangSys: Parser.pointer(langSysTable),\n langSysRecords: Parser.recordList({\n tag: Parser.tag,\n langSys: Parser.pointer(langSysTable)\n })\n })\n })) || [];\n};\n\nParser.prototype.parseFeatureList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n feature: Parser.pointer({\n featureParams: Parser.offset16,\n lookupListIndexes: Parser.uShortList\n }, true)\n })) || [];\n};\n\nParser.prototype.parseStylisticSetFeatureParams = function() {\n return this.parsePointer({\n version: Parser.uShort,\n uiNameId: Parser.uShort\n }) || [];\n};\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#tag-cv01--cv99\nParser.prototype.parseCharacterVariantFeatureParams = function() {\n return this.parsePointer({\n format: Parser.uShort,\n featUiLabelNameId: Parser.uShort,\n featUiTooltipTextNameId: Parser.uShort,\n sampleTextNameId: Parser.uShort,\n numNamedParameters: Parser.uShort,\n firstParamUiLabelNameId: Parser.uShort,\n characters: Parser.uInt24List\n }) || [];\n};\n\nParser.prototype.parseLookupList = function(lookupTableParsers) {\n return this.parsePointer(Parser.list(Parser.pointer(function() {\n var lookupType = this.parseUShort();\n check.argument(1 <= lookupType && lookupType <= 9, 'GPOS/GSUB lookup type ' + lookupType + ' unknown.');\n var lookupFlag = this.parseUShort();\n var useMarkFilteringSet = lookupFlag & 0x10;\n return {\n lookupType: lookupType,\n lookupFlag: lookupFlag,\n subtables: this.parseList(Parser.pointer(lookupTableParsers[lookupType])),\n markFilteringSet: useMarkFilteringSet ? this.parseUShort() : undefined\n };\n }))) || [];\n};\n\nParser.prototype.parseFeatureVariationsList = function() {\n return this.parsePointer32(function() {\n var majorVersion = this.parseUShort();\n var minorVersion = this.parseUShort();\n check.argument(majorVersion === 1 && minorVersion < 1, 'GPOS/GSUB feature variations table unknown.');\n var featureVariations = this.parseRecordList32({\n conditionSetOffset: Parser.offset32,\n featureTableSubstitutionOffset: Parser.offset32\n });\n return featureVariations;\n }) || [];\n};\n\nvar parse = {\n getByte: getByte,\n getCard8: getByte,\n getUShort: getUShort,\n getCard16: getUShort,\n getShort: getShort,\n getUInt24: getUInt24,\n getULong: getULong,\n getFixed: getFixed,\n getTag: getTag,\n getOffset: getOffset,\n getBytes: getBytes,\n bytesToString: bytesToString,\n Parser: Parser,\n};\n\n// The `cmap` table stores the mappings from characters to glyphs.\n\nfunction parseCmapTableFormat12(cmap, p) {\n //Skip reserved.\n p.parseUShort();\n\n // Length in bytes of the sub-tables.\n cmap.length = p.parseULong();\n cmap.language = p.parseULong();\n\n var groupCount;\n cmap.groupCount = groupCount = p.parseULong();\n cmap.glyphIndexMap = {};\n\n for (var i = 0; i < groupCount; i += 1) {\n var startCharCode = p.parseULong();\n var endCharCode = p.parseULong();\n var startGlyphId = p.parseULong();\n\n for (var c = startCharCode; c <= endCharCode; c += 1) {\n cmap.glyphIndexMap[c] = startGlyphId;\n startGlyphId++;\n }\n }\n}\n\nfunction parseCmapTableFormat4(cmap, p, data, start, offset) {\n // Length in bytes of the sub-tables.\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort();\n\n // segCount is stored x 2.\n var segCount;\n cmap.segCount = segCount = p.parseUShort() >> 1;\n\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n\n // The \"unrolled\" mapping from character codes to glyph indices.\n cmap.glyphIndexMap = {};\n var endCountParser = new parse.Parser(data, start + offset + 14);\n var startCountParser = new parse.Parser(data, start + offset + 16 + segCount * 2);\n var idDeltaParser = new parse.Parser(data, start + offset + 16 + segCount * 4);\n var idRangeOffsetParser = new parse.Parser(data, start + offset + 16 + segCount * 6);\n var glyphIndexOffset = start + offset + 16 + segCount * 8;\n for (var i = 0; i < segCount - 1; i += 1) {\n var glyphIndex = (void 0);\n var endCount = endCountParser.parseUShort();\n var startCount = startCountParser.parseUShort();\n var idDelta = idDeltaParser.parseShort();\n var idRangeOffset = idRangeOffsetParser.parseUShort();\n for (var c = startCount; c <= endCount; c += 1) {\n if (idRangeOffset !== 0) {\n // The idRangeOffset is relative to the current position in the idRangeOffset array.\n // Take the current offset in the idRangeOffset array.\n glyphIndexOffset = (idRangeOffsetParser.offset + idRangeOffsetParser.relativeOffset - 2);\n\n // Add the value of the idRangeOffset, which will move us into the glyphIndex array.\n glyphIndexOffset += idRangeOffset;\n\n // Then add the character index of the current segment, multiplied by 2 for USHORTs.\n glyphIndexOffset += (c - startCount) * 2;\n glyphIndex = parse.getUShort(data, glyphIndexOffset);\n if (glyphIndex !== 0) {\n glyphIndex = (glyphIndex + idDelta) & 0xFFFF;\n }\n } else {\n glyphIndex = (c + idDelta) & 0xFFFF;\n }\n\n cmap.glyphIndexMap[c] = glyphIndex;\n }\n }\n}\n\n// Parse the `cmap` table. This table stores the mappings from characters to glyphs.\n// There are many available formats, but we only support the Windows format 4 and 12.\n// This function returns a `CmapEncoding` object or null if no supported format could be found.\nfunction parseCmapTable(data, start) {\n var cmap = {};\n cmap.version = parse.getUShort(data, start);\n check.argument(cmap.version === 0, 'cmap table version should be 0.');\n\n // The cmap table can contain many sub-tables, each with their own format.\n // We're only interested in a \"platform 0\" (Unicode format) and \"platform 3\" (Windows format) table.\n cmap.numTables = parse.getUShort(data, start + 2);\n var offset = -1;\n for (var i = cmap.numTables - 1; i >= 0; i -= 1) {\n var platformId = parse.getUShort(data, start + 4 + (i * 8));\n var encodingId = parse.getUShort(data, start + 4 + (i * 8) + 2);\n if ((platformId === 3 && (encodingId === 0 || encodingId === 1 || encodingId === 10)) ||\n (platformId === 0 && (encodingId === 0 || encodingId === 1 || encodingId === 2 || encodingId === 3 || encodingId === 4))) {\n offset = parse.getULong(data, start + 4 + (i * 8) + 4);\n break;\n }\n }\n\n if (offset === -1) {\n // There is no cmap table in the font that we support.\n throw new Error('No valid cmap sub-tables found.');\n }\n\n var p = new parse.Parser(data, start + offset);\n cmap.format = p.parseUShort();\n\n if (cmap.format === 12) {\n parseCmapTableFormat12(cmap, p);\n } else if (cmap.format === 4) {\n parseCmapTableFormat4(cmap, p, data, start, offset);\n } else {\n throw new Error('Only format 4 and 12 cmap tables are supported (found format ' + cmap.format + ').');\n }\n\n return cmap;\n}\n\nfunction addSegment(t, code, glyphIndex) {\n t.segments.push({\n end: code,\n start: code,\n delta: -(code - glyphIndex),\n offset: 0,\n glyphIndex: glyphIndex\n });\n}\n\nfunction addTerminatorSegment(t) {\n t.segments.push({\n end: 0xFFFF,\n start: 0xFFFF,\n delta: 1,\n offset: 0\n });\n}\n\n// Make cmap table, format 4 by default, 12 if needed only\nfunction makeCmapTable(glyphs) {\n // Plan 0 is the base Unicode Plan but emojis, for example are on another plan, and needs cmap 12 format (with 32bit)\n var isPlan0Only = true;\n var i;\n\n // Check if we need to add cmap format 12 or if format 4 only is fine\n for (i = glyphs.length - 1; i > 0; i -= 1) {\n var g = glyphs.get(i);\n if (g.unicode > 65535) {\n console.log('Adding CMAP format 12 (needed!)');\n isPlan0Only = false;\n break;\n }\n }\n\n var cmapTable = [\n {name: 'version', type: 'USHORT', value: 0},\n {name: 'numTables', type: 'USHORT', value: isPlan0Only ? 1 : 2},\n\n // CMAP 4 header\n {name: 'platformID', type: 'USHORT', value: 3},\n {name: 'encodingID', type: 'USHORT', value: 1},\n {name: 'offset', type: 'ULONG', value: isPlan0Only ? 12 : (12 + 8)}\n ];\n\n if (!isPlan0Only)\n { cmapTable = cmapTable.concat([\n // CMAP 12 header\n {name: 'cmap12PlatformID', type: 'USHORT', value: 3}, // We encode only for PlatformID = 3 (Windows) because it is supported everywhere\n {name: 'cmap12EncodingID', type: 'USHORT', value: 10},\n {name: 'cmap12Offset', type: 'ULONG', value: 0}\n ]); }\n\n cmapTable = cmapTable.concat([\n // CMAP 4 Subtable\n {name: 'format', type: 'USHORT', value: 4},\n {name: 'cmap4Length', type: 'USHORT', value: 0},\n {name: 'language', type: 'USHORT', value: 0},\n {name: 'segCountX2', type: 'USHORT', value: 0},\n {name: 'searchRange', type: 'USHORT', value: 0},\n {name: 'entrySelector', type: 'USHORT', value: 0},\n {name: 'rangeShift', type: 'USHORT', value: 0}\n ]);\n\n var t = new table.Table('cmap', cmapTable);\n\n t.segments = [];\n for (i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n for (var j = 0; j < glyph.unicodes.length; j += 1) {\n addSegment(t, glyph.unicodes[j], i);\n }\n\n t.segments = t.segments.sort(function (a, b) {\n return a.start - b.start;\n });\n }\n\n addTerminatorSegment(t);\n\n var segCount = t.segments.length;\n var segCountToRemove = 0;\n\n // CMAP 4\n // Set up parallel segment arrays.\n var endCounts = [];\n var startCounts = [];\n var idDeltas = [];\n var idRangeOffsets = [];\n var glyphIds = [];\n\n // CMAP 12\n var cmap12Groups = [];\n\n // Reminder this loop is not following the specification at 100%\n // The specification -> find suites of characters and make a group\n // Here we're doing one group for each letter\n // Doing as the spec can save 8 times (or more) space\n for (i = 0; i < segCount; i += 1) {\n var segment = t.segments[i];\n\n // CMAP 4\n if (segment.end <= 65535 && segment.start <= 65535) {\n endCounts = endCounts.concat({name: 'end_' + i, type: 'USHORT', value: segment.end});\n startCounts = startCounts.concat({name: 'start_' + i, type: 'USHORT', value: segment.start});\n idDeltas = idDeltas.concat({name: 'idDelta_' + i, type: 'SHORT', value: segment.delta});\n idRangeOffsets = idRangeOffsets.concat({name: 'idRangeOffset_' + i, type: 'USHORT', value: segment.offset});\n if (segment.glyphId !== undefined) {\n glyphIds = glyphIds.concat({name: 'glyph_' + i, type: 'USHORT', value: segment.glyphId});\n }\n } else {\n // Skip Unicode > 65535 (16bit unsigned max) for CMAP 4, will be added in CMAP 12\n segCountToRemove += 1;\n }\n\n // CMAP 12\n // Skip Terminator Segment\n if (!isPlan0Only && segment.glyphIndex !== undefined) {\n cmap12Groups = cmap12Groups.concat({name: 'cmap12Start_' + i, type: 'ULONG', value: segment.start});\n cmap12Groups = cmap12Groups.concat({name: 'cmap12End_' + i, type: 'ULONG', value: segment.end});\n cmap12Groups = cmap12Groups.concat({name: 'cmap12Glyph_' + i, type: 'ULONG', value: segment.glyphIndex});\n }\n }\n\n // CMAP 4 Subtable\n t.segCountX2 = (segCount - segCountToRemove) * 2;\n t.searchRange = Math.pow(2, Math.floor(Math.log((segCount - segCountToRemove)) / Math.log(2))) * 2;\n t.entrySelector = Math.log(t.searchRange / 2) / Math.log(2);\n t.rangeShift = t.segCountX2 - t.searchRange;\n\n t.fields = t.fields.concat(endCounts);\n t.fields.push({name: 'reservedPad', type: 'USHORT', value: 0});\n t.fields = t.fields.concat(startCounts);\n t.fields = t.fields.concat(idDeltas);\n t.fields = t.fields.concat(idRangeOffsets);\n t.fields = t.fields.concat(glyphIds);\n\n t.cmap4Length = 14 + // Subtable header\n endCounts.length * 2 +\n 2 + // reservedPad\n startCounts.length * 2 +\n idDeltas.length * 2 +\n idRangeOffsets.length * 2 +\n glyphIds.length * 2;\n\n if (!isPlan0Only) {\n // CMAP 12 Subtable\n var cmap12Length = 16 + // Subtable header\n cmap12Groups.length * 4;\n\n t.cmap12Offset = 12 + (2 * 2) + 4 + t.cmap4Length;\n t.fields = t.fields.concat([\n {name: 'cmap12Format', type: 'USHORT', value: 12},\n {name: 'cmap12Reserved', type: 'USHORT', value: 0},\n {name: 'cmap12Length', type: 'ULONG', value: cmap12Length},\n {name: 'cmap12Language', type: 'ULONG', value: 0},\n {name: 'cmap12nGroups', type: 'ULONG', value: cmap12Groups.length / 3}\n ]);\n\n t.fields = t.fields.concat(cmap12Groups);\n }\n\n return t;\n}\n\nvar cmap = { parse: parseCmapTable, make: makeCmapTable };\n\n// Glyph encoding\n\nvar cffStandardStrings = [\n '.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright',\n 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two',\n 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater',\n 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',\n 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore',\n 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\n 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling',\n 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft',\n 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph',\n 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand',\n 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring',\n 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE',\n 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu',\n 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn',\n 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright',\n 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex',\n 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex',\n 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute',\n 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute',\n 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute',\n 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave',\n 'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior',\n 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', '266 ff', 'onedotenleader',\n 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle',\n 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior',\n 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior',\n 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl',\n 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall',\n 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall',\n 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall',\n 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall',\n 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall',\n 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall',\n 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds',\n 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior',\n 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior',\n 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior',\n 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall',\n 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall',\n 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall',\n 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall',\n 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000',\n '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 'Semibold'];\n\nvar cffStandardEncoding = [\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright',\n 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two',\n 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater',\n 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',\n 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore',\n 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\n 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle',\n 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger',\n 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright',\n 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde',\n 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron',\n 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '',\n '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '',\n 'lslash', 'oslash', 'oe', 'germandbls'];\n\nvar cffExpertEncoding = [\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior',\n 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader',\n 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle',\n 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon',\n 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior',\n 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior',\n 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl',\n 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall',\n 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall',\n 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall',\n 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall',\n 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior',\n '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters',\n 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '',\n '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior',\n 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior',\n 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior',\n 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall',\n 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall',\n 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall',\n 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall',\n 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall',\n 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\n\nvar standardNames = [\n '.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent',\n 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash',\n 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less',\n 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',\n 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright',\n 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',\n 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde',\n 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave',\n 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis',\n 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis',\n 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section',\n 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal',\n 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation',\n 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown',\n 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright',\n 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft',\n 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction',\n 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase',\n 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute',\n 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex',\n 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut',\n 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth',\n 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior',\n 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla',\n 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\n\n/**\n * This is the encoding used for fonts created from scratch.\n * It loops through all glyphs and finds the appropriate unicode value.\n * Since it's linear time, other encodings will be faster.\n * @exports opentype.DefaultEncoding\n * @class\n * @constructor\n * @param {opentype.Font}\n */\nfunction DefaultEncoding(font) {\n this.font = font;\n}\n\nDefaultEncoding.prototype.charToGlyphIndex = function(c) {\n var code = c.codePointAt(0);\n var glyphs = this.font.glyphs;\n if (glyphs) {\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n for (var j = 0; j < glyph.unicodes.length; j += 1) {\n if (glyph.unicodes[j] === code) {\n return i;\n }\n }\n }\n }\n return null;\n};\n\n/**\n * @exports opentype.CmapEncoding\n * @class\n * @constructor\n * @param {Object} cmap - a object with the cmap encoded data\n */\nfunction CmapEncoding(cmap) {\n this.cmap = cmap;\n}\n\n/**\n * @param {string} c - the character\n * @return {number} The glyph index.\n */\nCmapEncoding.prototype.charToGlyphIndex = function(c) {\n return this.cmap.glyphIndexMap[c.codePointAt(0)] || 0;\n};\n\n/**\n * @exports opentype.CffEncoding\n * @class\n * @constructor\n * @param {string} encoding - The encoding\n * @param {Array} charset - The character set.\n */\nfunction CffEncoding(encoding, charset) {\n this.encoding = encoding;\n this.charset = charset;\n}\n\n/**\n * @param {string} s - The character\n * @return {number} The index.\n */\nCffEncoding.prototype.charToGlyphIndex = function(s) {\n var code = s.codePointAt(0);\n var charName = this.encoding[code];\n return this.charset.indexOf(charName);\n};\n\n/**\n * @exports opentype.GlyphNames\n * @class\n * @constructor\n * @param {Object} post\n */\nfunction GlyphNames(post) {\n switch (post.version) {\n case 1:\n this.names = standardNames.slice();\n break;\n case 2:\n this.names = new Array(post.numberOfGlyphs);\n for (var i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] < standardNames.length) {\n this.names[i] = standardNames[post.glyphNameIndex[i]];\n } else {\n this.names[i] = post.names[post.glyphNameIndex[i] - standardNames.length];\n }\n }\n\n break;\n case 2.5:\n this.names = new Array(post.numberOfGlyphs);\n for (var i$1 = 0; i$1 < post.numberOfGlyphs; i$1++) {\n this.names[i$1] = standardNames[i$1 + post.glyphNameIndex[i$1]];\n }\n\n break;\n case 3:\n this.names = [];\n break;\n default:\n this.names = [];\n break;\n }\n}\n\n/**\n * Gets the index of a glyph by name.\n * @param {string} name - The glyph name\n * @return {number} The index\n */\nGlyphNames.prototype.nameToGlyphIndex = function(name) {\n return this.names.indexOf(name);\n};\n\n/**\n * @param {number} gid\n * @return {string}\n */\nGlyphNames.prototype.glyphIndexToName = function(gid) {\n return this.names[gid];\n};\n\nfunction addGlyphNamesAll(font) {\n var glyph;\n var glyphIndexMap = font.tables.cmap.glyphIndexMap;\n var charCodes = Object.keys(glyphIndexMap);\n\n for (var i = 0; i < charCodes.length; i += 1) {\n var c = charCodes[i];\n var glyphIndex = glyphIndexMap[c];\n glyph = font.glyphs.get(glyphIndex);\n glyph.addUnicode(parseInt(c));\n }\n\n for (var i$1 = 0; i$1 < font.glyphs.length; i$1 += 1) {\n glyph = font.glyphs.get(i$1);\n if (font.cffEncoding) {\n if (font.isCIDFont) {\n glyph.name = 'gid' + i$1;\n } else {\n glyph.name = font.cffEncoding.charset[i$1];\n }\n } else if (font.glyphNames.names) {\n glyph.name = font.glyphNames.glyphIndexToName(i$1);\n }\n }\n}\n\nfunction addGlyphNamesToUnicodeMap(font) {\n font._IndexToUnicodeMap = {};\n\n var glyphIndexMap = font.tables.cmap.glyphIndexMap;\n var charCodes = Object.keys(glyphIndexMap);\n\n for (var i = 0; i < charCodes.length; i += 1) {\n var c = charCodes[i];\n var glyphIndex = glyphIndexMap[c];\n if (font._IndexToUnicodeMap[glyphIndex] === undefined) {\n font._IndexToUnicodeMap[glyphIndex] = {\n unicodes: [parseInt(c)]\n };\n } else {\n font._IndexToUnicodeMap[glyphIndex].unicodes.push(parseInt(c));\n }\n }\n}\n\n/**\n * @alias opentype.addGlyphNames\n * @param {opentype.Font}\n * @param {Object}\n */\nfunction addGlyphNames(font, opt) {\n if (opt.lowMemory) {\n addGlyphNamesToUnicodeMap(font);\n } else {\n addGlyphNamesAll(font);\n }\n}\n\n// Drawing utility functions.\n\n// Draw a line on the given context from point `x1,y1` to point `x2,y2`.\nfunction line(ctx, x1, y1, x2, y2) {\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n}\n\nvar draw = { line: line };\n\n// The Glyph object\n// import glyf from './tables/glyf' Can't be imported here, because it's a circular dependency\n\nfunction getPathDefinition(glyph, path) {\n var _path = path || new Path();\n return {\n configurable: true,\n\n get: function() {\n if (typeof _path === 'function') {\n _path = _path();\n }\n\n return _path;\n },\n\n set: function(p) {\n _path = p;\n }\n };\n}\n/**\n * @typedef GlyphOptions\n * @type Object\n * @property {string} [name] - The glyph name\n * @property {number} [unicode]\n * @property {Array} [unicodes]\n * @property {number} [xMin]\n * @property {number} [yMin]\n * @property {number} [xMax]\n * @property {number} [yMax]\n * @property {number} [advanceWidth]\n */\n\n// A Glyph is an individual mark that often corresponds to a character.\n// Some glyphs, such as ligatures, are a combination of many characters.\n// Glyphs are the basic building blocks of a font.\n//\n// The `Glyph` class contains utility methods for drawing the path and its points.\n/**\n * @exports opentype.Glyph\n * @class\n * @param {GlyphOptions}\n * @constructor\n */\nfunction Glyph(options) {\n // By putting all the code on a prototype function (which is only declared once)\n // we reduce the memory requirements for larger fonts by some 2%\n this.bindConstructorValues(options);\n}\n\n/**\n * @param {GlyphOptions}\n */\nGlyph.prototype.bindConstructorValues = function(options) {\n this.index = options.index || 0;\n\n // These three values cannot be deferred for memory optimization:\n this.name = options.name || null;\n this.unicode = options.unicode || undefined;\n this.unicodes = options.unicodes || options.unicode !== undefined ? [options.unicode] : [];\n\n // But by binding these values only when necessary, we reduce can\n // the memory requirements by almost 3% for larger fonts.\n if ('xMin' in options) {\n this.xMin = options.xMin;\n }\n\n if ('yMin' in options) {\n this.yMin = options.yMin;\n }\n\n if ('xMax' in options) {\n this.xMax = options.xMax;\n }\n\n if ('yMax' in options) {\n this.yMax = options.yMax;\n }\n\n if ('advanceWidth' in options) {\n this.advanceWidth = options.advanceWidth;\n }\n\n // The path for a glyph is the most memory intensive, and is bound as a value\n // with a getter/setter to ensure we actually do path parsing only once the\n // path is actually needed by anything.\n Object.defineProperty(this, 'path', getPathDefinition(this, options.path));\n};\n\n/**\n * @param {number}\n */\nGlyph.prototype.addUnicode = function(unicode) {\n if (this.unicodes.length === 0) {\n this.unicode = unicode;\n }\n\n this.unicodes.push(unicode);\n};\n\n/**\n * Calculate the minimum bounding box for this glyph.\n * @return {opentype.BoundingBox}\n */\nGlyph.prototype.getBoundingBox = function() {\n return this.path.getBoundingBox();\n};\n\n/**\n * Convert the glyph to a Path we can draw on a drawing context.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {Object=} options - xScale, yScale to stretch the glyph.\n * @param {opentype.Font} if hinting is to be used, the font\n * @return {opentype.Path}\n */\nGlyph.prototype.getPath = function(x, y, fontSize, options, font) {\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 72;\n var commands;\n var hPoints;\n if (!options) { options = { }; }\n var xScale = options.xScale;\n var yScale = options.yScale;\n\n if (options.hinting && font && font.hinting) {\n // in case of hinting, the hinting engine takes care\n // of scaling the points (not the path) before hinting.\n hPoints = this.path && font.hinting.exec(this, fontSize);\n // in case the hinting engine failed hPoints is undefined\n // and thus reverts to plain rending\n }\n\n if (hPoints) {\n // Call font.hinting.getCommands instead of `glyf.getPath(hPoints).commands` to avoid a circular dependency\n commands = font.hinting.getCommands(hPoints);\n x = Math.round(x);\n y = Math.round(y);\n // TODO in case of hinting xyScaling is not yet supported\n xScale = yScale = 1;\n } else {\n commands = this.path.commands;\n var scale = 1 / (this.path.unitsPerEm || 1000) * fontSize;\n if (xScale === undefined) { xScale = scale; }\n if (yScale === undefined) { yScale = scale; }\n }\n\n var p = new Path();\n for (var i = 0; i < commands.length; i += 1) {\n var cmd = commands[i];\n if (cmd.type === 'M') {\n p.moveTo(x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'L') {\n p.lineTo(x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'Q') {\n p.quadraticCurveTo(x + (cmd.x1 * xScale), y + (-cmd.y1 * yScale),\n x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'C') {\n p.curveTo(x + (cmd.x1 * xScale), y + (-cmd.y1 * yScale),\n x + (cmd.x2 * xScale), y + (-cmd.y2 * yScale),\n x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'Z') {\n p.closePath();\n }\n }\n\n return p;\n};\n\n/**\n * Split the glyph into contours.\n * This function is here for backwards compatibility, and to\n * provide raw access to the TrueType glyph outlines.\n * @return {Array}\n */\nGlyph.prototype.getContours = function() {\n if (this.points === undefined) {\n return [];\n }\n\n var contours = [];\n var currentContour = [];\n for (var i = 0; i < this.points.length; i += 1) {\n var pt = this.points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n\n check.argument(currentContour.length === 0, 'There are still points left in the current contour.');\n return contours;\n};\n\n/**\n * Calculate the xMin/yMin/xMax/yMax/lsb/rsb for a Glyph.\n * @return {Object}\n */\nGlyph.prototype.getMetrics = function() {\n var commands = this.path.commands;\n var xCoords = [];\n var yCoords = [];\n for (var i = 0; i < commands.length; i += 1) {\n var cmd = commands[i];\n if (cmd.type !== 'Z') {\n xCoords.push(cmd.x);\n yCoords.push(cmd.y);\n }\n\n if (cmd.type === 'Q' || cmd.type === 'C') {\n xCoords.push(cmd.x1);\n yCoords.push(cmd.y1);\n }\n\n if (cmd.type === 'C') {\n xCoords.push(cmd.x2);\n yCoords.push(cmd.y2);\n }\n }\n\n var metrics = {\n xMin: Math.min.apply(null, xCoords),\n yMin: Math.min.apply(null, yCoords),\n xMax: Math.max.apply(null, xCoords),\n yMax: Math.max.apply(null, yCoords),\n leftSideBearing: this.leftSideBearing\n };\n\n if (!isFinite(metrics.xMin)) {\n metrics.xMin = 0;\n }\n\n if (!isFinite(metrics.xMax)) {\n metrics.xMax = this.advanceWidth;\n }\n\n if (!isFinite(metrics.yMin)) {\n metrics.yMin = 0;\n }\n\n if (!isFinite(metrics.yMax)) {\n metrics.yMax = 0;\n }\n\n metrics.rightSideBearing = this.advanceWidth - metrics.leftSideBearing - (metrics.xMax - metrics.xMin);\n return metrics;\n};\n\n/**\n * Draw the glyph on the given context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {Object=} options - xScale, yScale to stretch the glyph.\n */\nGlyph.prototype.draw = function(ctx, x, y, fontSize, options) {\n this.getPath(x, y, fontSize, options).draw(ctx);\n};\n\n/**\n * Draw the points of the glyph.\n * On-curve points will be drawn in blue, off-curve points will be drawn in red.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n */\nGlyph.prototype.drawPoints = function(ctx, x, y, fontSize) {\n function drawCircles(l, x, y, scale) {\n ctx.beginPath();\n for (var j = 0; j < l.length; j += 1) {\n ctx.moveTo(x + (l[j].x * scale), y + (l[j].y * scale));\n ctx.arc(x + (l[j].x * scale), y + (l[j].y * scale), 2, 0, Math.PI * 2, false);\n }\n\n ctx.closePath();\n ctx.fill();\n }\n\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 24;\n var scale = 1 / this.path.unitsPerEm * fontSize;\n\n var blueCircles = [];\n var redCircles = [];\n var path = this.path;\n for (var i = 0; i < path.commands.length; i += 1) {\n var cmd = path.commands[i];\n if (cmd.x !== undefined) {\n blueCircles.push({x: cmd.x, y: -cmd.y});\n }\n\n if (cmd.x1 !== undefined) {\n redCircles.push({x: cmd.x1, y: -cmd.y1});\n }\n\n if (cmd.x2 !== undefined) {\n redCircles.push({x: cmd.x2, y: -cmd.y2});\n }\n }\n\n ctx.fillStyle = 'blue';\n drawCircles(blueCircles, x, y, scale);\n ctx.fillStyle = 'red';\n drawCircles(redCircles, x, y, scale);\n};\n\n/**\n * Draw lines indicating important font measurements.\n * Black lines indicate the origin of the coordinate system (point 0,0).\n * Blue lines indicate the glyph bounding box.\n * Green line indicates the advance width of the glyph.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n */\nGlyph.prototype.drawMetrics = function(ctx, x, y, fontSize) {\n var scale;\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 24;\n scale = 1 / this.path.unitsPerEm * fontSize;\n ctx.lineWidth = 1;\n\n // Draw the origin\n ctx.strokeStyle = 'black';\n draw.line(ctx, x, -10000, x, 10000);\n draw.line(ctx, -10000, y, 10000, y);\n\n // This code is here due to memory optimization: by not using\n // defaults in the constructor, we save a notable amount of memory.\n var xMin = this.xMin || 0;\n var yMin = this.yMin || 0;\n var xMax = this.xMax || 0;\n var yMax = this.yMax || 0;\n var advanceWidth = this.advanceWidth || 0;\n\n // Draw the glyph box\n ctx.strokeStyle = 'blue';\n draw.line(ctx, x + (xMin * scale), -10000, x + (xMin * scale), 10000);\n draw.line(ctx, x + (xMax * scale), -10000, x + (xMax * scale), 10000);\n draw.line(ctx, -10000, y + (-yMin * scale), 10000, y + (-yMin * scale));\n draw.line(ctx, -10000, y + (-yMax * scale), 10000, y + (-yMax * scale));\n\n // Draw the advance width\n ctx.strokeStyle = 'green';\n draw.line(ctx, x + (advanceWidth * scale), -10000, x + (advanceWidth * scale), 10000);\n};\n\n// The GlyphSet object\n\n// Define a property on the glyph that depends on the path being loaded.\nfunction defineDependentProperty(glyph, externalName, internalName) {\n Object.defineProperty(glyph, externalName, {\n get: function() {\n // Request the path property to make sure the path is loaded.\n glyph.path; // jshint ignore:line\n return glyph[internalName];\n },\n set: function(newValue) {\n glyph[internalName] = newValue;\n },\n enumerable: true,\n configurable: true\n });\n}\n\n/**\n * A GlyphSet represents all glyphs available in the font, but modelled using\n * a deferred glyph loader, for retrieving glyphs only once they are absolutely\n * necessary, to keep the memory footprint down.\n * @exports opentype.GlyphSet\n * @class\n * @param {opentype.Font}\n * @param {Array}\n */\nfunction GlyphSet(font, glyphs) {\n this.font = font;\n this.glyphs = {};\n if (Array.isArray(glyphs)) {\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n glyph.path.unitsPerEm = font.unitsPerEm;\n this.glyphs[i] = glyph;\n }\n }\n\n this.length = (glyphs && glyphs.length) || 0;\n}\n\n/**\n * @param {number} index\n * @return {opentype.Glyph}\n */\nGlyphSet.prototype.get = function(index) {\n // this.glyphs[index] is 'undefined' when low memory mode is on. glyph is pushed on request only.\n if (this.glyphs[index] === undefined) {\n this.font._push(index);\n if (typeof this.glyphs[index] === 'function') {\n this.glyphs[index] = this.glyphs[index]();\n }\n\n var glyph = this.glyphs[index];\n var unicodeObj = this.font._IndexToUnicodeMap[index];\n\n if (unicodeObj) {\n for (var j = 0; j < unicodeObj.unicodes.length; j++)\n { glyph.addUnicode(unicodeObj.unicodes[j]); }\n }\n\n if (this.font.cffEncoding) {\n if (this.font.isCIDFont) {\n glyph.name = 'gid' + index;\n } else {\n glyph.name = this.font.cffEncoding.charset[index];\n }\n } else if (this.font.glyphNames.names) {\n glyph.name = this.font.glyphNames.glyphIndexToName(index);\n }\n\n this.glyphs[index].advanceWidth = this.font._hmtxTableData[index].advanceWidth;\n this.glyphs[index].leftSideBearing = this.font._hmtxTableData[index].leftSideBearing;\n } else {\n if (typeof this.glyphs[index] === 'function') {\n this.glyphs[index] = this.glyphs[index]();\n }\n }\n\n return this.glyphs[index];\n};\n\n/**\n * @param {number} index\n * @param {Object}\n */\nGlyphSet.prototype.push = function(index, loader) {\n this.glyphs[index] = loader;\n this.length++;\n};\n\n/**\n * @alias opentype.glyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @return {opentype.Glyph}\n */\nfunction glyphLoader(font, index) {\n return new Glyph({index: index, font: font});\n}\n\n/**\n * Generate a stub glyph that can be filled with all metadata *except*\n * the \"points\" and \"path\" properties, which must be loaded only once\n * the glyph's path is actually requested for text shaping.\n * @alias opentype.ttfGlyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @param {Function} parseGlyph\n * @param {Object} data\n * @param {number} position\n * @param {Function} buildPath\n * @return {opentype.Glyph}\n */\nfunction ttfGlyphLoader(font, index, parseGlyph, data, position, buildPath) {\n return function() {\n var glyph = new Glyph({index: index, font: font});\n\n glyph.path = function() {\n parseGlyph(glyph, data, position);\n var path = buildPath(font.glyphs, glyph);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n\n defineDependentProperty(glyph, 'xMin', '_xMin');\n defineDependentProperty(glyph, 'xMax', '_xMax');\n defineDependentProperty(glyph, 'yMin', '_yMin');\n defineDependentProperty(glyph, 'yMax', '_yMax');\n\n return glyph;\n };\n}\n/**\n * @alias opentype.cffGlyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @param {Function} parseCFFCharstring\n * @param {string} charstring\n * @return {opentype.Glyph}\n */\nfunction cffGlyphLoader(font, index, parseCFFCharstring, charstring) {\n return function() {\n var glyph = new Glyph({index: index, font: font});\n\n glyph.path = function() {\n var path = parseCFFCharstring(font, glyph, charstring);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n\n return glyph;\n };\n}\n\nvar glyphset = { GlyphSet: GlyphSet, glyphLoader: glyphLoader, ttfGlyphLoader: ttfGlyphLoader, cffGlyphLoader: cffGlyphLoader };\n\n// The `CFF` table contains the glyph outlines in PostScript format.\n\n// Custom equals function that can also check lists.\nfunction equals(a, b) {\n if (a === b) {\n return true;\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n for (var i = 0; i < a.length; i += 1) {\n if (!equals(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n } else {\n return false;\n }\n}\n\n// Subroutines are encoded using the negative half of the number space.\n// See type 2 chapter 4.7 \"Subroutine operators\".\nfunction calcCFFSubroutineBias(subrs) {\n var bias;\n if (subrs.length < 1240) {\n bias = 107;\n } else if (subrs.length < 33900) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n return bias;\n}\n\n// Parse a `CFF` INDEX array.\n// An index array consists of a list of offsets, then a list of objects at those offsets.\nfunction parseCFFIndex(data, start, conversionFn) {\n var offsets = [];\n var objects = [];\n var count = parse.getCard16(data, start);\n var objectOffset;\n var endOffset;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n var pos = start + 3;\n for (var i = 0; i < count + 1; i += 1) {\n offsets.push(parse.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n\n // The total size of the index array is 4 header bytes + the value of the last offset.\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + 2;\n }\n\n for (var i$1 = 0; i$1 < offsets.length - 1; i$1 += 1) {\n var value = parse.getBytes(data, objectOffset + offsets[i$1], objectOffset + offsets[i$1 + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n\n objects.push(value);\n }\n\n return {objects: objects, startOffset: start, endOffset: endOffset};\n}\n\nfunction parseCFFIndexLowMemory(data, start) {\n var offsets = [];\n var count = parse.getCard16(data, start);\n var objectOffset;\n var endOffset;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n var pos = start + 3;\n for (var i = 0; i < count + 1; i += 1) {\n offsets.push(parse.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n\n // The total size of the index array is 4 header bytes + the value of the last offset.\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + 2;\n }\n\n return {offsets: offsets, startOffset: start, endOffset: endOffset};\n}\nfunction getCffIndexObject(i, offsets, data, start, conversionFn) {\n var count = parse.getCard16(data, start);\n var objectOffset = 0;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n }\n\n var value = parse.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n return value;\n}\n\n// Parse a `CFF` DICT real value.\nfunction parseFloatOperand(parser) {\n var s = '';\n var eof = 15;\n var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n while (true) {\n var b = parser.parseByte();\n var n1 = b >> 4;\n var n2 = b & 15;\n\n if (n1 === eof) {\n break;\n }\n\n s += lookup[n1];\n\n if (n2 === eof) {\n break;\n }\n\n s += lookup[n2];\n }\n\n return parseFloat(s);\n}\n\n// Parse a `CFF` DICT operand.\nfunction parseOperand(parser, b0) {\n var b1;\n var b2;\n var b3;\n var b4;\n if (b0 === 28) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n return b1 << 8 | b2;\n }\n\n if (b0 === 29) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n b3 = parser.parseByte();\n b4 = parser.parseByte();\n return b1 << 24 | b2 << 16 | b3 << 8 | b4;\n }\n\n if (b0 === 30) {\n return parseFloatOperand(parser);\n }\n\n if (b0 >= 32 && b0 <= 246) {\n return b0 - 139;\n }\n\n if (b0 >= 247 && b0 <= 250) {\n b1 = parser.parseByte();\n return (b0 - 247) * 256 + b1 + 108;\n }\n\n if (b0 >= 251 && b0 <= 254) {\n b1 = parser.parseByte();\n return -(b0 - 251) * 256 - b1 - 108;\n }\n\n throw new Error('Invalid b0 ' + b0);\n}\n\n// Convert the entries returned by `parseDict` to a proper dictionary.\n// If a value is a list of one, it is unpacked.\nfunction entriesToObject(entries) {\n var o = {};\n for (var i = 0; i < entries.length; i += 1) {\n var key = entries[i][0];\n var values = entries[i][1];\n var value = (void 0);\n if (values.length === 1) {\n value = values[0];\n } else {\n value = values;\n }\n\n if (o.hasOwnProperty(key) && !isNaN(o[key])) {\n throw new Error('Object ' + o + ' already has key ' + key);\n }\n\n o[key] = value;\n }\n\n return o;\n}\n\n// Parse a `CFF` DICT object.\n// A dictionary contains key-value pairs in a compact tokenized format.\nfunction parseCFFDict(data, start, size) {\n start = start !== undefined ? start : 0;\n var parser = new parse.Parser(data, start);\n var entries = [];\n var operands = [];\n size = size !== undefined ? size : data.length;\n\n while (parser.relativeOffset < size) {\n var op = parser.parseByte();\n\n // The first byte for each dict item distinguishes between operator (key) and operand (value).\n // Values <= 21 are operators.\n if (op <= 21) {\n // Two-byte operators have an initial escape byte of 12.\n if (op === 12) {\n op = 1200 + parser.parseByte();\n }\n\n entries.push([op, operands]);\n operands = [];\n } else {\n // Since the operands (values) come before the operators (keys), we store all operands in a list\n // until we encounter an operator.\n operands.push(parseOperand(parser, op));\n }\n }\n\n return entriesToObject(entries);\n}\n\n// Given a String Index (SID), return the value of the string.\n// Strings below index 392 are standard CFF strings and are not encoded in the font.\nfunction getCFFString(strings, index) {\n if (index <= 390) {\n index = cffStandardStrings[index];\n } else {\n index = strings[index - 391];\n }\n\n return index;\n}\n\n// Interpret a dictionary and return a new dictionary with readable keys and values for missing entries.\n// This function takes `meta` which is a list of objects containing `operand`, `name` and `default`.\nfunction interpretDict(dict, meta, strings) {\n var newDict = {};\n var value;\n\n // Because we also want to include missing values, we start out from the meta list\n // and lookup values in the dict.\n for (var i = 0; i < meta.length; i += 1) {\n var m = meta[i];\n\n if (Array.isArray(m.type)) {\n var values = [];\n values.length = m.type.length;\n for (var j = 0; j < m.type.length; j++) {\n value = dict[m.op] !== undefined ? dict[m.op][j] : undefined;\n if (value === undefined) {\n value = m.value !== undefined && m.value[j] !== undefined ? m.value[j] : null;\n }\n if (m.type[j] === 'SID') {\n value = getCFFString(strings, value);\n }\n values[j] = value;\n }\n newDict[m.name] = values;\n } else {\n value = dict[m.op];\n if (value === undefined) {\n value = m.value !== undefined ? m.value : null;\n }\n\n if (m.type === 'SID') {\n value = getCFFString(strings, value);\n }\n newDict[m.name] = value;\n }\n }\n\n return newDict;\n}\n\n// Parse the CFF header.\nfunction parseCFFHeader(data, start) {\n var header = {};\n header.formatMajor = parse.getCard8(data, start);\n header.formatMinor = parse.getCard8(data, start + 1);\n header.size = parse.getCard8(data, start + 2);\n header.offsetSize = parse.getCard8(data, start + 3);\n header.startOffset = start;\n header.endOffset = start + 4;\n return header;\n}\n\nvar TOP_DICT_META = [\n {name: 'version', op: 0, type: 'SID'},\n {name: 'notice', op: 1, type: 'SID'},\n {name: 'copyright', op: 1200, type: 'SID'},\n {name: 'fullName', op: 2, type: 'SID'},\n {name: 'familyName', op: 3, type: 'SID'},\n {name: 'weight', op: 4, type: 'SID'},\n {name: 'isFixedPitch', op: 1201, type: 'number', value: 0},\n {name: 'italicAngle', op: 1202, type: 'number', value: 0},\n {name: 'underlinePosition', op: 1203, type: 'number', value: -100},\n {name: 'underlineThickness', op: 1204, type: 'number', value: 50},\n {name: 'paintType', op: 1205, type: 'number', value: 0},\n {name: 'charstringType', op: 1206, type: 'number', value: 2},\n {\n name: 'fontMatrix',\n op: 1207,\n type: ['real', 'real', 'real', 'real', 'real', 'real'],\n value: [0.001, 0, 0, 0.001, 0, 0]\n },\n {name: 'uniqueId', op: 13, type: 'number'},\n {name: 'fontBBox', op: 5, type: ['number', 'number', 'number', 'number'], value: [0, 0, 0, 0]},\n {name: 'strokeWidth', op: 1208, type: 'number', value: 0},\n {name: 'xuid', op: 14, type: [], value: null},\n {name: 'charset', op: 15, type: 'offset', value: 0},\n {name: 'encoding', op: 16, type: 'offset', value: 0},\n {name: 'charStrings', op: 17, type: 'offset', value: 0},\n {name: 'private', op: 18, type: ['number', 'offset'], value: [0, 0]},\n {name: 'ros', op: 1230, type: ['SID', 'SID', 'number']},\n {name: 'cidFontVersion', op: 1231, type: 'number', value: 0},\n {name: 'cidFontRevision', op: 1232, type: 'number', value: 0},\n {name: 'cidFontType', op: 1233, type: 'number', value: 0},\n {name: 'cidCount', op: 1234, type: 'number', value: 8720},\n {name: 'uidBase', op: 1235, type: 'number'},\n {name: 'fdArray', op: 1236, type: 'offset'},\n {name: 'fdSelect', op: 1237, type: 'offset'},\n {name: 'fontName', op: 1238, type: 'SID'}\n];\n\nvar PRIVATE_DICT_META = [\n {name: 'subrs', op: 19, type: 'offset', value: 0},\n {name: 'defaultWidthX', op: 20, type: 'number', value: 0},\n {name: 'nominalWidthX', op: 21, type: 'number', value: 0}\n];\n\n// Parse the CFF top dictionary. A CFF table can contain multiple fonts, each with their own top dictionary.\n// The top dictionary contains the essential metadata for the font, together with the private dictionary.\nfunction parseCFFTopDict(data, strings) {\n var dict = parseCFFDict(data, 0, data.byteLength);\n return interpretDict(dict, TOP_DICT_META, strings);\n}\n\n// Parse the CFF private dictionary. We don't fully parse out all the values, only the ones we need.\nfunction parseCFFPrivateDict(data, start, size, strings) {\n var dict = parseCFFDict(data, start, size);\n return interpretDict(dict, PRIVATE_DICT_META, strings);\n}\n\n// Returns a list of \"Top DICT\"s found using an INDEX list.\n// Used to read both the usual high-level Top DICTs and also the FDArray\n// discovered inside CID-keyed fonts. When a Top DICT has a reference to\n// a Private DICT that is read and saved into the Top DICT.\n//\n// In addition to the expected/optional values as outlined in TOP_DICT_META\n// the following values might be saved into the Top DICT.\n//\n// _subrs [] array of local CFF subroutines from Private DICT\n// _subrsBias bias value computed from number of subroutines\n// (see calcCFFSubroutineBias() and parseCFFCharstring())\n// _defaultWidthX default widths for CFF characters\n// _nominalWidthX bias added to width embedded within glyph description\n//\n// _privateDict saved copy of parsed Private DICT from Top DICT\nfunction gatherCFFTopDicts(data, start, cffIndex, strings) {\n var topDictArray = [];\n for (var iTopDict = 0; iTopDict < cffIndex.length; iTopDict += 1) {\n var topDictData = new DataView(new Uint8Array(cffIndex[iTopDict]).buffer);\n var topDict = parseCFFTopDict(topDictData, strings);\n topDict._subrs = [];\n topDict._subrsBias = 0;\n var privateSize = topDict.private[0];\n var privateOffset = topDict.private[1];\n if (privateSize !== 0 && privateOffset !== 0) {\n var privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, strings);\n topDict._defaultWidthX = privateDict.defaultWidthX;\n topDict._nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n var subrOffset = privateOffset + privateDict.subrs;\n var subrIndex = parseCFFIndex(data, subrOffset + start);\n topDict._subrs = subrIndex.objects;\n topDict._subrsBias = calcCFFSubroutineBias(topDict._subrs);\n }\n topDict._privateDict = privateDict;\n }\n topDictArray.push(topDict);\n }\n return topDictArray;\n}\n\n// Parse the CFF charset table, which contains internal names for all the glyphs.\n// This function will return a list of glyph names.\n// See Adobe TN #5176 chapter 13, \"Charsets\".\nfunction parseCFFCharset(data, start, nGlyphs, strings) {\n var sid;\n var count;\n var parser = new parse.Parser(data, start);\n\n // The .notdef glyph is not included, so subtract 1.\n nGlyphs -= 1;\n var charset = ['.notdef'];\n\n var format = parser.parseCard8();\n if (format === 0) {\n for (var i = 0; i < nGlyphs; i += 1) {\n sid = parser.parseSID();\n charset.push(getCFFString(strings, sid));\n }\n } else if (format === 1) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard8();\n for (var i$1 = 0; i$1 <= count; i$1 += 1) {\n charset.push(getCFFString(strings, sid));\n sid += 1;\n }\n }\n } else if (format === 2) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard16();\n for (var i$2 = 0; i$2 <= count; i$2 += 1) {\n charset.push(getCFFString(strings, sid));\n sid += 1;\n }\n }\n } else {\n throw new Error('Unknown charset format ' + format);\n }\n\n return charset;\n}\n\n// Parse the CFF encoding data. Only one encoding can be specified per font.\n// See Adobe TN #5176 chapter 12, \"Encodings\".\nfunction parseCFFEncoding(data, start, charset) {\n var code;\n var enc = {};\n var parser = new parse.Parser(data, start);\n var format = parser.parseCard8();\n if (format === 0) {\n var nCodes = parser.parseCard8();\n for (var i = 0; i < nCodes; i += 1) {\n code = parser.parseCard8();\n enc[code] = i;\n }\n } else if (format === 1) {\n var nRanges = parser.parseCard8();\n code = 1;\n for (var i$1 = 0; i$1 < nRanges; i$1 += 1) {\n var first = parser.parseCard8();\n var nLeft = parser.parseCard8();\n for (var j = first; j <= first + nLeft; j += 1) {\n enc[j] = code;\n code += 1;\n }\n }\n } else {\n throw new Error('Unknown encoding format ' + format);\n }\n\n return new CffEncoding(enc, charset);\n}\n\n// Take in charstring code and return a Glyph object.\n// The encoding is described in the Type 2 Charstring Format\n// https://www.microsoft.com/typography/OTSPEC/charstr2.htm\nfunction parseCFFCharstring(font, glyph, code) {\n var c1x;\n var c1y;\n var c2x;\n var c2y;\n var p = new Path();\n var stack = [];\n var nStems = 0;\n var haveWidth = false;\n var open = false;\n var x = 0;\n var y = 0;\n var subrs;\n var subrsBias;\n var defaultWidthX;\n var nominalWidthX;\n if (font.isCIDFont) {\n var fdIndex = font.tables.cff.topDict._fdSelect[glyph.index];\n var fdDict = font.tables.cff.topDict._fdArray[fdIndex];\n subrs = fdDict._subrs;\n subrsBias = fdDict._subrsBias;\n defaultWidthX = fdDict._defaultWidthX;\n nominalWidthX = fdDict._nominalWidthX;\n } else {\n subrs = font.tables.cff.topDict._subrs;\n subrsBias = font.tables.cff.topDict._subrsBias;\n defaultWidthX = font.tables.cff.topDict._defaultWidthX;\n nominalWidthX = font.tables.cff.topDict._nominalWidthX;\n }\n var width = defaultWidthX;\n\n function newContour(x, y) {\n if (open) {\n p.closePath();\n }\n\n p.moveTo(x, y);\n open = true;\n }\n\n function parseStems() {\n var hasWidthArg;\n\n // The number of stem operators on the stack is always even.\n // If the value is uneven, that means a width is specified.\n hasWidthArg = stack.length % 2 !== 0;\n if (hasWidthArg && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n }\n\n nStems += stack.length >> 1;\n stack.length = 0;\n haveWidth = true;\n }\n\n function parse(code) {\n var b1;\n var b2;\n var b3;\n var b4;\n var codeIndex;\n var subrCode;\n var jpx;\n var jpy;\n var c3x;\n var c3y;\n var c4x;\n var c4y;\n\n var i = 0;\n while (i < code.length) {\n var v = code[i];\n i += 1;\n switch (v) {\n case 1: // hstem\n parseStems();\n break;\n case 3: // vstem\n parseStems();\n break;\n case 4: // vmoveto\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n y += stack.pop();\n newContour(x, y);\n break;\n case 5: // rlineto\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 6: // hlineto\n while (stack.length > 0) {\n x += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 7: // vlineto\n while (stack.length > 0) {\n y += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 8: // rrcurveto\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 10: // callsubr\n codeIndex = stack.pop() + subrsBias;\n subrCode = subrs[codeIndex];\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n case 11: // return\n return;\n case 12: // flex operators\n v = code[i];\n i += 1;\n switch (v) {\n case 35: // flex\n // |- dx1 dy1 dx2 dy2 dx3 dy3 dx4 dy4 dx5 dy5 dx6 dy6 fd flex (12 35) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y + stack.shift(); // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = jpy + stack.shift(); // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n x = c4x + stack.shift(); // dx6\n y = c4y + stack.shift(); // dy6\n stack.shift(); // flex depth\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 34: // hflex\n // |- dx1 dx2 dy2 dx3 dx4 dx5 dx6 hflex (12 34) |-\n c1x = x + stack.shift(); // dx1\n c1y = y; // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y; // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = c2y; // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = y; // dy5\n x = c4x + stack.shift(); // dx6\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 36: // hflex1\n // |- dx1 dy1 dx2 dy2 dx3 dx4 dx5 dy5 dx6 hflex1 (12 36) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y; // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = c2y; // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n x = c4x + stack.shift(); // dx6\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 37: // flex1\n // |- dx1 dy1 dx2 dy2 dx3 dy3 dx4 dy4 dx5 dy5 d6 flex1 (12 37) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y + stack.shift(); // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = jpy + stack.shift(); // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n if (Math.abs(c4x - x) > Math.abs(c4y - y)) {\n x = c4x + stack.shift();\n } else {\n y = c4y + stack.shift();\n }\n\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n default:\n console.log('Glyph ' + glyph.index + ': unknown operator ' + 1200 + v);\n stack.length = 0;\n }\n break;\n case 14: // endchar\n if (stack.length > 0 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n if (open) {\n p.closePath();\n open = false;\n }\n\n break;\n case 18: // hstemhm\n parseStems();\n break;\n case 19: // hintmask\n case 20: // cntrmask\n parseStems();\n i += (nStems + 7) >> 3;\n break;\n case 21: // rmoveto\n if (stack.length > 2 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n y += stack.pop();\n x += stack.pop();\n newContour(x, y);\n break;\n case 22: // hmoveto\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n x += stack.pop();\n newContour(x, y);\n break;\n case 23: // vstemhm\n parseStems();\n break;\n case 24: // rcurveline\n while (stack.length > 2) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n break;\n case 25: // rlinecurve\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n break;\n case 26: // vvcurveto\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x;\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 27: // hhcurveto\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y;\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 28: // shortint\n b1 = code[i];\n b2 = code[i + 1];\n stack.push(((b1 << 24) | (b2 << 16)) >> 16);\n i += 2;\n break;\n case 29: // callgsubr\n codeIndex = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[codeIndex];\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n case 30: // vhcurveto\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 31: // hvcurveto\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n default:\n if (v < 32) {\n console.log('Glyph ' + glyph.index + ': unknown operator ' + v);\n } else if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n b1 = code[i];\n i += 1;\n stack.push((v - 247) * 256 + b1 + 108);\n } else if (v < 255) {\n b1 = code[i];\n i += 1;\n stack.push(-(v - 251) * 256 - b1 - 108);\n } else {\n b1 = code[i];\n b2 = code[i + 1];\n b3 = code[i + 2];\n b4 = code[i + 3];\n i += 4;\n stack.push(((b1 << 24) | (b2 << 16) | (b3 << 8) | b4) / 65536);\n }\n }\n }\n }\n\n parse(code);\n\n glyph.advanceWidth = width;\n return p;\n}\n\nfunction parseCFFFDSelect(data, start, nGlyphs, fdArrayCount) {\n var fdSelect = [];\n var fdIndex;\n var parser = new parse.Parser(data, start);\n var format = parser.parseCard8();\n if (format === 0) {\n // Simple list of nGlyphs elements\n for (var iGid = 0; iGid < nGlyphs; iGid++) {\n fdIndex = parser.parseCard8();\n if (fdIndex >= fdArrayCount) {\n throw new Error('CFF table CID Font FDSelect has bad FD index value ' + fdIndex + ' (FD count ' + fdArrayCount + ')');\n }\n fdSelect.push(fdIndex);\n }\n } else if (format === 3) {\n // Ranges\n var nRanges = parser.parseCard16();\n var first = parser.parseCard16();\n if (first !== 0) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad initial GID ' + first);\n }\n var next;\n for (var iRange = 0; iRange < nRanges; iRange++) {\n fdIndex = parser.parseCard8();\n next = parser.parseCard16();\n if (fdIndex >= fdArrayCount) {\n throw new Error('CFF table CID Font FDSelect has bad FD index value ' + fdIndex + ' (FD count ' + fdArrayCount + ')');\n }\n if (next > nGlyphs) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad GID ' + next);\n }\n for (; first < next; first++) {\n fdSelect.push(fdIndex);\n }\n first = next;\n }\n if (next !== nGlyphs) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad final GID ' + next);\n }\n } else {\n throw new Error('CFF Table CID Font FDSelect table has unsupported format ' + format);\n }\n return fdSelect;\n}\n\n// Parse the `CFF` table, which contains the glyph outlines in PostScript format.\nfunction parseCFFTable(data, start, font, opt) {\n font.tables.cff = {};\n var header = parseCFFHeader(data, start);\n var nameIndex = parseCFFIndex(data, header.endOffset, parse.bytesToString);\n var topDictIndex = parseCFFIndex(data, nameIndex.endOffset);\n var stringIndex = parseCFFIndex(data, topDictIndex.endOffset, parse.bytesToString);\n var globalSubrIndex = parseCFFIndex(data, stringIndex.endOffset);\n font.gsubrs = globalSubrIndex.objects;\n font.gsubrsBias = calcCFFSubroutineBias(font.gsubrs);\n\n var topDictArray = gatherCFFTopDicts(data, start, topDictIndex.objects, stringIndex.objects);\n if (topDictArray.length !== 1) {\n throw new Error('CFF table has too many fonts in \\'FontSet\\' - count of fonts NameIndex.length = ' + topDictArray.length);\n }\n\n var topDict = topDictArray[0];\n font.tables.cff.topDict = topDict;\n\n if (topDict._privateDict) {\n font.defaultWidthX = topDict._privateDict.defaultWidthX;\n font.nominalWidthX = topDict._privateDict.nominalWidthX;\n }\n\n if (topDict.ros[0] !== undefined && topDict.ros[1] !== undefined) {\n font.isCIDFont = true;\n }\n\n if (font.isCIDFont) {\n var fdArrayOffset = topDict.fdArray;\n var fdSelectOffset = topDict.fdSelect;\n if (fdArrayOffset === 0 || fdSelectOffset === 0) {\n throw new Error('Font is marked as a CID font, but FDArray and/or FDSelect information is missing');\n }\n fdArrayOffset += start;\n var fdArrayIndex = parseCFFIndex(data, fdArrayOffset);\n var fdArray = gatherCFFTopDicts(data, start, fdArrayIndex.objects, stringIndex.objects);\n topDict._fdArray = fdArray;\n fdSelectOffset += start;\n topDict._fdSelect = parseCFFFDSelect(data, fdSelectOffset, font.numGlyphs, fdArray.length);\n }\n\n var privateDictOffset = start + topDict.private[1];\n var privateDict = parseCFFPrivateDict(data, privateDictOffset, topDict.private[0], stringIndex.objects);\n font.defaultWidthX = privateDict.defaultWidthX;\n font.nominalWidthX = privateDict.nominalWidthX;\n\n if (privateDict.subrs !== 0) {\n var subrOffset = privateDictOffset + privateDict.subrs;\n var subrIndex = parseCFFIndex(data, subrOffset);\n font.subrs = subrIndex.objects;\n font.subrsBias = calcCFFSubroutineBias(font.subrs);\n } else {\n font.subrs = [];\n font.subrsBias = 0;\n }\n\n // Offsets in the top dict are relative to the beginning of the CFF data, so add the CFF start offset.\n var charStringsIndex;\n if (opt.lowMemory) {\n charStringsIndex = parseCFFIndexLowMemory(data, start + topDict.charStrings);\n font.nGlyphs = charStringsIndex.offsets.length;\n } else {\n charStringsIndex = parseCFFIndex(data, start + topDict.charStrings);\n font.nGlyphs = charStringsIndex.objects.length;\n }\n\n var charset = parseCFFCharset(data, start + topDict.charset, font.nGlyphs, stringIndex.objects);\n if (topDict.encoding === 0) {\n // Standard encoding\n font.cffEncoding = new CffEncoding(cffStandardEncoding, charset);\n } else if (topDict.encoding === 1) {\n // Expert encoding\n font.cffEncoding = new CffEncoding(cffExpertEncoding, charset);\n } else {\n font.cffEncoding = parseCFFEncoding(data, start + topDict.encoding, charset);\n }\n\n // Prefer the CMAP encoding to the CFF encoding.\n font.encoding = font.encoding || font.cffEncoding;\n\n font.glyphs = new glyphset.GlyphSet(font);\n if (opt.lowMemory) {\n font._push = function(i) {\n var charString = getCffIndexObject(i, charStringsIndex.offsets, data, start + topDict.charStrings);\n font.glyphs.push(i, glyphset.cffGlyphLoader(font, i, parseCFFCharstring, charString));\n };\n } else {\n for (var i = 0; i < font.nGlyphs; i += 1) {\n var charString = charStringsIndex.objects[i];\n font.glyphs.push(i, glyphset.cffGlyphLoader(font, i, parseCFFCharstring, charString));\n }\n }\n}\n\n// Convert a string to a String ID (SID).\n// The list of strings is modified in place.\nfunction encodeString(s, strings) {\n var sid;\n\n // Is the string in the CFF standard strings?\n var i = cffStandardStrings.indexOf(s);\n if (i >= 0) {\n sid = i;\n }\n\n // Is the string already in the string index?\n i = strings.indexOf(s);\n if (i >= 0) {\n sid = i + cffStandardStrings.length;\n } else {\n sid = cffStandardStrings.length + strings.length;\n strings.push(s);\n }\n\n return sid;\n}\n\nfunction makeHeader() {\n return new table.Record('Header', [\n {name: 'major', type: 'Card8', value: 1},\n {name: 'minor', type: 'Card8', value: 0},\n {name: 'hdrSize', type: 'Card8', value: 4},\n {name: 'major', type: 'Card8', value: 1}\n ]);\n}\n\nfunction makeNameIndex(fontNames) {\n var t = new table.Record('Name INDEX', [\n {name: 'names', type: 'INDEX', value: []}\n ]);\n t.names = [];\n for (var i = 0; i < fontNames.length; i += 1) {\n t.names.push({name: 'name_' + i, type: 'NAME', value: fontNames[i]});\n }\n\n return t;\n}\n\n// Given a dictionary's metadata, create a DICT structure.\nfunction makeDict(meta, attrs, strings) {\n var m = {};\n for (var i = 0; i < meta.length; i += 1) {\n var entry = meta[i];\n var value = attrs[entry.name];\n if (value !== undefined && !equals(value, entry.value)) {\n if (entry.type === 'SID') {\n value = encodeString(value, strings);\n }\n\n m[entry.op] = {name: entry.name, type: entry.type, value: value};\n }\n }\n\n return m;\n}\n\n// The Top DICT houses the global font attributes.\nfunction makeTopDict(attrs, strings) {\n var t = new table.Record('Top DICT', [\n {name: 'dict', type: 'DICT', value: {}}\n ]);\n t.dict = makeDict(TOP_DICT_META, attrs, strings);\n return t;\n}\n\nfunction makeTopDictIndex(topDict) {\n var t = new table.Record('Top DICT INDEX', [\n {name: 'topDicts', type: 'INDEX', value: []}\n ]);\n t.topDicts = [{name: 'topDict_0', type: 'TABLE', value: topDict}];\n return t;\n}\n\nfunction makeStringIndex(strings) {\n var t = new table.Record('String INDEX', [\n {name: 'strings', type: 'INDEX', value: []}\n ]);\n t.strings = [];\n for (var i = 0; i < strings.length; i += 1) {\n t.strings.push({name: 'string_' + i, type: 'STRING', value: strings[i]});\n }\n\n return t;\n}\n\nfunction makeGlobalSubrIndex() {\n // Currently we don't use subroutines.\n return new table.Record('Global Subr INDEX', [\n {name: 'subrs', type: 'INDEX', value: []}\n ]);\n}\n\nfunction makeCharsets(glyphNames, strings) {\n var t = new table.Record('Charsets', [\n {name: 'format', type: 'Card8', value: 0}\n ]);\n for (var i = 0; i < glyphNames.length; i += 1) {\n var glyphName = glyphNames[i];\n var glyphSID = encodeString(glyphName, strings);\n t.fields.push({name: 'glyph_' + i, type: 'SID', value: glyphSID});\n }\n\n return t;\n}\n\nfunction glyphToOps(glyph) {\n var ops = [];\n var path = glyph.path;\n ops.push({name: 'width', type: 'NUMBER', value: glyph.advanceWidth});\n var x = 0;\n var y = 0;\n for (var i = 0; i < path.commands.length; i += 1) {\n var dx = (void 0);\n var dy = (void 0);\n var cmd = path.commands[i];\n if (cmd.type === 'Q') {\n // CFF only supports bézier curves, so convert the quad to a bézier.\n var _13 = 1 / 3;\n var _23 = 2 / 3;\n\n // We're going to create a new command so we don't change the original path.\n cmd = {\n type: 'C',\n x: cmd.x,\n y: cmd.y,\n x1: _13 * x + _23 * cmd.x1,\n y1: _13 * y + _23 * cmd.y1,\n x2: _13 * cmd.x + _23 * cmd.x1,\n y2: _13 * cmd.y + _23 * cmd.y1\n };\n }\n\n if (cmd.type === 'M') {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rmoveto', type: 'OP', value: 21});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === 'L') {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rlineto', type: 'OP', value: 5});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === 'C') {\n var dx1 = Math.round(cmd.x1 - x);\n var dy1 = Math.round(cmd.y1 - y);\n var dx2 = Math.round(cmd.x2 - cmd.x1);\n var dy2 = Math.round(cmd.y2 - cmd.y1);\n dx = Math.round(cmd.x - cmd.x2);\n dy = Math.round(cmd.y - cmd.y2);\n ops.push({name: 'dx1', type: 'NUMBER', value: dx1});\n ops.push({name: 'dy1', type: 'NUMBER', value: dy1});\n ops.push({name: 'dx2', type: 'NUMBER', value: dx2});\n ops.push({name: 'dy2', type: 'NUMBER', value: dy2});\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rrcurveto', type: 'OP', value: 8});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n }\n\n // Contours are closed automatically.\n }\n\n ops.push({name: 'endchar', type: 'OP', value: 14});\n return ops;\n}\n\nfunction makeCharStringsIndex(glyphs) {\n var t = new table.Record('CharStrings INDEX', [\n {name: 'charStrings', type: 'INDEX', value: []}\n ]);\n\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n var ops = glyphToOps(glyph);\n t.charStrings.push({name: glyph.name, type: 'CHARSTRING', value: ops});\n }\n\n return t;\n}\n\nfunction makePrivateDict(attrs, strings) {\n var t = new table.Record('Private DICT', [\n {name: 'dict', type: 'DICT', value: {}}\n ]);\n t.dict = makeDict(PRIVATE_DICT_META, attrs, strings);\n return t;\n}\n\nfunction makeCFFTable(glyphs, options) {\n var t = new table.Table('CFF ', [\n {name: 'header', type: 'RECORD'},\n {name: 'nameIndex', type: 'RECORD'},\n {name: 'topDictIndex', type: 'RECORD'},\n {name: 'stringIndex', type: 'RECORD'},\n {name: 'globalSubrIndex', type: 'RECORD'},\n {name: 'charsets', type: 'RECORD'},\n {name: 'charStringsIndex', type: 'RECORD'},\n {name: 'privateDict', type: 'RECORD'}\n ]);\n\n var fontScale = 1 / options.unitsPerEm;\n // We use non-zero values for the offsets so that the DICT encodes them.\n // This is important because the size of the Top DICT plays a role in offset calculation,\n // and the size shouldn't change after we've written correct offsets.\n var attrs = {\n version: options.version,\n fullName: options.fullName,\n familyName: options.familyName,\n weight: options.weightName,\n fontBBox: options.fontBBox || [0, 0, 0, 0],\n fontMatrix: [fontScale, 0, 0, fontScale, 0, 0],\n charset: 999,\n encoding: 0,\n charStrings: 999,\n private: [0, 999]\n };\n\n var privateAttrs = {};\n\n var glyphNames = [];\n var glyph;\n\n // Skip first glyph (.notdef)\n for (var i = 1; i < glyphs.length; i += 1) {\n glyph = glyphs.get(i);\n glyphNames.push(glyph.name);\n }\n\n var strings = [];\n\n t.header = makeHeader();\n t.nameIndex = makeNameIndex([options.postScriptName]);\n var topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n t.globalSubrIndex = makeGlobalSubrIndex();\n t.charsets = makeCharsets(glyphNames, strings);\n t.charStringsIndex = makeCharStringsIndex(glyphs);\n t.privateDict = makePrivateDict(privateAttrs, strings);\n\n // Needs to come at the end, to encode all custom strings used in the font.\n t.stringIndex = makeStringIndex(strings);\n\n var startOffset = t.header.sizeOf() +\n t.nameIndex.sizeOf() +\n t.topDictIndex.sizeOf() +\n t.stringIndex.sizeOf() +\n t.globalSubrIndex.sizeOf();\n attrs.charset = startOffset;\n\n // We use the CFF standard encoding; proper encoding will be handled in cmap.\n attrs.encoding = 0;\n attrs.charStrings = attrs.charset + t.charsets.sizeOf();\n attrs.private[1] = attrs.charStrings + t.charStringsIndex.sizeOf();\n\n // Recreate the Top DICT INDEX with the correct offsets.\n topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n\n return t;\n}\n\nvar cff = { parse: parseCFFTable, make: makeCFFTable };\n\n// The `head` table contains global information about the font.\n\n// Parse the header `head` table\nfunction parseHeadTable(data, start) {\n var head = {};\n var p = new parse.Parser(data, start);\n head.version = p.parseVersion();\n head.fontRevision = Math.round(p.parseFixed() * 1000) / 1000;\n head.checkSumAdjustment = p.parseULong();\n head.magicNumber = p.parseULong();\n check.argument(head.magicNumber === 0x5F0F3CF5, 'Font header has wrong magic number.');\n head.flags = p.parseUShort();\n head.unitsPerEm = p.parseUShort();\n head.created = p.parseLongDateTime();\n head.modified = p.parseLongDateTime();\n head.xMin = p.parseShort();\n head.yMin = p.parseShort();\n head.xMax = p.parseShort();\n head.yMax = p.parseShort();\n head.macStyle = p.parseUShort();\n head.lowestRecPPEM = p.parseUShort();\n head.fontDirectionHint = p.parseShort();\n head.indexToLocFormat = p.parseShort();\n head.glyphDataFormat = p.parseShort();\n return head;\n}\n\nfunction makeHeadTable(options) {\n // Apple Mac timestamp epoch is 01/01/1904 not 01/01/1970\n var timestamp = Math.round(new Date().getTime() / 1000) + 2082844800;\n var createdTimestamp = timestamp;\n\n if (options.createdTimestamp) {\n createdTimestamp = options.createdTimestamp + 2082844800;\n }\n\n return new table.Table('head', [\n {name: 'version', type: 'FIXED', value: 0x00010000},\n {name: 'fontRevision', type: 'FIXED', value: 0x00010000},\n {name: 'checkSumAdjustment', type: 'ULONG', value: 0},\n {name: 'magicNumber', type: 'ULONG', value: 0x5F0F3CF5},\n {name: 'flags', type: 'USHORT', value: 0},\n {name: 'unitsPerEm', type: 'USHORT', value: 1000},\n {name: 'created', type: 'LONGDATETIME', value: createdTimestamp},\n {name: 'modified', type: 'LONGDATETIME', value: timestamp},\n {name: 'xMin', type: 'SHORT', value: 0},\n {name: 'yMin', type: 'SHORT', value: 0},\n {name: 'xMax', type: 'SHORT', value: 0},\n {name: 'yMax', type: 'SHORT', value: 0},\n {name: 'macStyle', type: 'USHORT', value: 0},\n {name: 'lowestRecPPEM', type: 'USHORT', value: 0},\n {name: 'fontDirectionHint', type: 'SHORT', value: 2},\n {name: 'indexToLocFormat', type: 'SHORT', value: 0},\n {name: 'glyphDataFormat', type: 'SHORT', value: 0}\n ], options);\n}\n\nvar head = { parse: parseHeadTable, make: makeHeadTable };\n\n// The `hhea` table contains information for horizontal layout.\n\n// Parse the horizontal header `hhea` table\nfunction parseHheaTable(data, start) {\n var hhea = {};\n var p = new parse.Parser(data, start);\n hhea.version = p.parseVersion();\n hhea.ascender = p.parseShort();\n hhea.descender = p.parseShort();\n hhea.lineGap = p.parseShort();\n hhea.advanceWidthMax = p.parseUShort();\n hhea.minLeftSideBearing = p.parseShort();\n hhea.minRightSideBearing = p.parseShort();\n hhea.xMaxExtent = p.parseShort();\n hhea.caretSlopeRise = p.parseShort();\n hhea.caretSlopeRun = p.parseShort();\n hhea.caretOffset = p.parseShort();\n p.relativeOffset += 8;\n hhea.metricDataFormat = p.parseShort();\n hhea.numberOfHMetrics = p.parseUShort();\n return hhea;\n}\n\nfunction makeHheaTable(options) {\n return new table.Table('hhea', [\n {name: 'version', type: 'FIXED', value: 0x00010000},\n {name: 'ascender', type: 'FWORD', value: 0},\n {name: 'descender', type: 'FWORD', value: 0},\n {name: 'lineGap', type: 'FWORD', value: 0},\n {name: 'advanceWidthMax', type: 'UFWORD', value: 0},\n {name: 'minLeftSideBearing', type: 'FWORD', value: 0},\n {name: 'minRightSideBearing', type: 'FWORD', value: 0},\n {name: 'xMaxExtent', type: 'FWORD', value: 0},\n {name: 'caretSlopeRise', type: 'SHORT', value: 1},\n {name: 'caretSlopeRun', type: 'SHORT', value: 0},\n {name: 'caretOffset', type: 'SHORT', value: 0},\n {name: 'reserved1', type: 'SHORT', value: 0},\n {name: 'reserved2', type: 'SHORT', value: 0},\n {name: 'reserved3', type: 'SHORT', value: 0},\n {name: 'reserved4', type: 'SHORT', value: 0},\n {name: 'metricDataFormat', type: 'SHORT', value: 0},\n {name: 'numberOfHMetrics', type: 'USHORT', value: 0}\n ], options);\n}\n\nvar hhea = { parse: parseHheaTable, make: makeHheaTable };\n\n// The `hmtx` table contains the horizontal metrics for all glyphs.\n\nfunction parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs) {\n var advanceWidth;\n var leftSideBearing;\n var p = new parse.Parser(data, start);\n for (var i = 0; i < numGlyphs; i += 1) {\n // If the font is monospaced, only one entry is needed. This last entry applies to all subsequent glyphs.\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n\n var glyph = glyphs.get(i);\n glyph.advanceWidth = advanceWidth;\n glyph.leftSideBearing = leftSideBearing;\n }\n}\n\nfunction parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs) {\n font._hmtxTableData = {};\n\n var advanceWidth;\n var leftSideBearing;\n var p = new parse.Parser(data, start);\n for (var i = 0; i < numGlyphs; i += 1) {\n // If the font is monospaced, only one entry is needed. This last entry applies to all subsequent glyphs.\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n\n font._hmtxTableData[i] = {\n advanceWidth: advanceWidth,\n leftSideBearing: leftSideBearing\n };\n }\n}\n\n// Parse the `hmtx` table, which contains the horizontal metrics for all glyphs.\n// This function augments the glyph array, adding the advanceWidth and leftSideBearing to each glyph.\nfunction parseHmtxTable(font, data, start, numMetrics, numGlyphs, glyphs, opt) {\n if (opt.lowMemory)\n { parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs); }\n else\n { parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs); }\n}\n\nfunction makeHmtxTable(glyphs) {\n var t = new table.Table('hmtx', []);\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n var advanceWidth = glyph.advanceWidth || 0;\n var leftSideBearing = glyph.leftSideBearing || 0;\n t.fields.push({name: 'advanceWidth_' + i, type: 'USHORT', value: advanceWidth});\n t.fields.push({name: 'leftSideBearing_' + i, type: 'SHORT', value: leftSideBearing});\n }\n\n return t;\n}\n\nvar hmtx = { parse: parseHmtxTable, make: makeHmtxTable };\n\n// The `ltag` table stores IETF BCP-47 language tags. It allows supporting\n\nfunction makeLtagTable(tags) {\n var result = new table.Table('ltag', [\n {name: 'version', type: 'ULONG', value: 1},\n {name: 'flags', type: 'ULONG', value: 0},\n {name: 'numTags', type: 'ULONG', value: tags.length}\n ]);\n\n var stringPool = '';\n var stringPoolOffset = 12 + tags.length * 4;\n for (var i = 0; i < tags.length; ++i) {\n var pos = stringPool.indexOf(tags[i]);\n if (pos < 0) {\n pos = stringPool.length;\n stringPool += tags[i];\n }\n\n result.fields.push({name: 'offset ' + i, type: 'USHORT', value: stringPoolOffset + pos});\n result.fields.push({name: 'length ' + i, type: 'USHORT', value: tags[i].length});\n }\n\n result.fields.push({name: 'stringPool', type: 'CHARARRAY', value: stringPool});\n return result;\n}\n\nfunction parseLtagTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 1, 'Unsupported ltag table version.');\n // The 'ltag' specification does not define any flags; skip the field.\n p.skip('uLong', 1);\n var numTags = p.parseULong();\n\n var tags = [];\n for (var i = 0; i < numTags; i++) {\n var tag = '';\n var offset = start + p.parseUShort();\n var length = p.parseUShort();\n for (var j = offset; j < offset + length; ++j) {\n tag += String.fromCharCode(data.getInt8(j));\n }\n\n tags.push(tag);\n }\n\n return tags;\n}\n\nvar ltag = { make: makeLtagTable, parse: parseLtagTable };\n\n// The `maxp` table establishes the memory requirements for the font.\n\n// Parse the maximum profile `maxp` table.\nfunction parseMaxpTable(data, start) {\n var maxp = {};\n var p = new parse.Parser(data, start);\n maxp.version = p.parseVersion();\n maxp.numGlyphs = p.parseUShort();\n if (maxp.version === 1.0) {\n maxp.maxPoints = p.parseUShort();\n maxp.maxContours = p.parseUShort();\n maxp.maxCompositePoints = p.parseUShort();\n maxp.maxCompositeContours = p.parseUShort();\n maxp.maxZones = p.parseUShort();\n maxp.maxTwilightPoints = p.parseUShort();\n maxp.maxStorage = p.parseUShort();\n maxp.maxFunctionDefs = p.parseUShort();\n maxp.maxInstructionDefs = p.parseUShort();\n maxp.maxStackElements = p.parseUShort();\n maxp.maxSizeOfInstructions = p.parseUShort();\n maxp.maxComponentElements = p.parseUShort();\n maxp.maxComponentDepth = p.parseUShort();\n }\n\n return maxp;\n}\n\nfunction makeMaxpTable(numGlyphs) {\n return new table.Table('maxp', [\n {name: 'version', type: 'FIXED', value: 0x00005000},\n {name: 'numGlyphs', type: 'USHORT', value: numGlyphs}\n ]);\n}\n\nvar maxp = { parse: parseMaxpTable, make: makeMaxpTable };\n\n// The `name` naming table.\n\n// NameIDs for the name table.\nvar nameTableNames = [\n 'copyright', // 0\n 'fontFamily', // 1\n 'fontSubfamily', // 2\n 'uniqueID', // 3\n 'fullName', // 4\n 'version', // 5\n 'postScriptName', // 6\n 'trademark', // 7\n 'manufacturer', // 8\n 'designer', // 9\n 'description', // 10\n 'manufacturerURL', // 11\n 'designerURL', // 12\n 'license', // 13\n 'licenseURL', // 14\n 'reserved', // 15\n 'preferredFamily', // 16\n 'preferredSubfamily', // 17\n 'compatibleFullName', // 18\n 'sampleText', // 19\n 'postScriptFindFontName', // 20\n 'wwsFamily', // 21\n 'wwsSubfamily' // 22\n];\n\nvar macLanguages = {\n 0: 'en',\n 1: 'fr',\n 2: 'de',\n 3: 'it',\n 4: 'nl',\n 5: 'sv',\n 6: 'es',\n 7: 'da',\n 8: 'pt',\n 9: 'no',\n 10: 'he',\n 11: 'ja',\n 12: 'ar',\n 13: 'fi',\n 14: 'el',\n 15: 'is',\n 16: 'mt',\n 17: 'tr',\n 18: 'hr',\n 19: 'zh-Hant',\n 20: 'ur',\n 21: 'hi',\n 22: 'th',\n 23: 'ko',\n 24: 'lt',\n 25: 'pl',\n 26: 'hu',\n 27: 'es',\n 28: 'lv',\n 29: 'se',\n 30: 'fo',\n 31: 'fa',\n 32: 'ru',\n 33: 'zh',\n 34: 'nl-BE',\n 35: 'ga',\n 36: 'sq',\n 37: 'ro',\n 38: 'cz',\n 39: 'sk',\n 40: 'si',\n 41: 'yi',\n 42: 'sr',\n 43: 'mk',\n 44: 'bg',\n 45: 'uk',\n 46: 'be',\n 47: 'uz',\n 48: 'kk',\n 49: 'az-Cyrl',\n 50: 'az-Arab',\n 51: 'hy',\n 52: 'ka',\n 53: 'mo',\n 54: 'ky',\n 55: 'tg',\n 56: 'tk',\n 57: 'mn-CN',\n 58: 'mn',\n 59: 'ps',\n 60: 'ks',\n 61: 'ku',\n 62: 'sd',\n 63: 'bo',\n 64: 'ne',\n 65: 'sa',\n 66: 'mr',\n 67: 'bn',\n 68: 'as',\n 69: 'gu',\n 70: 'pa',\n 71: 'or',\n 72: 'ml',\n 73: 'kn',\n 74: 'ta',\n 75: 'te',\n 76: 'si',\n 77: 'my',\n 78: 'km',\n 79: 'lo',\n 80: 'vi',\n 81: 'id',\n 82: 'tl',\n 83: 'ms',\n 84: 'ms-Arab',\n 85: 'am',\n 86: 'ti',\n 87: 'om',\n 88: 'so',\n 89: 'sw',\n 90: 'rw',\n 91: 'rn',\n 92: 'ny',\n 93: 'mg',\n 94: 'eo',\n 128: 'cy',\n 129: 'eu',\n 130: 'ca',\n 131: 'la',\n 132: 'qu',\n 133: 'gn',\n 134: 'ay',\n 135: 'tt',\n 136: 'ug',\n 137: 'dz',\n 138: 'jv',\n 139: 'su',\n 140: 'gl',\n 141: 'af',\n 142: 'br',\n 143: 'iu',\n 144: 'gd',\n 145: 'gv',\n 146: 'ga',\n 147: 'to',\n 148: 'el-polyton',\n 149: 'kl',\n 150: 'az',\n 151: 'nn'\n};\n\n// MacOS language ID → MacOS script ID\n//\n// Note that the script ID is not sufficient to determine what encoding\n// to use in TrueType files. For some languages, MacOS used a modification\n// of a mainstream script. For example, an Icelandic name would be stored\n// with smRoman in the TrueType naming table, but the actual encoding\n// is a special Icelandic version of the normal Macintosh Roman encoding.\n// As another example, Inuktitut uses an 8-bit encoding for Canadian Aboriginal\n// Syllables but MacOS had run out of available script codes, so this was\n// done as a (pretty radical) \"modification\" of Ethiopic.\n//\n// http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt\nvar macLanguageToScript = {\n 0: 0, // langEnglish → smRoman\n 1: 0, // langFrench → smRoman\n 2: 0, // langGerman → smRoman\n 3: 0, // langItalian → smRoman\n 4: 0, // langDutch → smRoman\n 5: 0, // langSwedish → smRoman\n 6: 0, // langSpanish → smRoman\n 7: 0, // langDanish → smRoman\n 8: 0, // langPortuguese → smRoman\n 9: 0, // langNorwegian → smRoman\n 10: 5, // langHebrew → smHebrew\n 11: 1, // langJapanese → smJapanese\n 12: 4, // langArabic → smArabic\n 13: 0, // langFinnish → smRoman\n 14: 6, // langGreek → smGreek\n 15: 0, // langIcelandic → smRoman (modified)\n 16: 0, // langMaltese → smRoman\n 17: 0, // langTurkish → smRoman (modified)\n 18: 0, // langCroatian → smRoman (modified)\n 19: 2, // langTradChinese → smTradChinese\n 20: 4, // langUrdu → smArabic\n 21: 9, // langHindi → smDevanagari\n 22: 21, // langThai → smThai\n 23: 3, // langKorean → smKorean\n 24: 29, // langLithuanian → smCentralEuroRoman\n 25: 29, // langPolish → smCentralEuroRoman\n 26: 29, // langHungarian → smCentralEuroRoman\n 27: 29, // langEstonian → smCentralEuroRoman\n 28: 29, // langLatvian → smCentralEuroRoman\n 29: 0, // langSami → smRoman\n 30: 0, // langFaroese → smRoman (modified)\n 31: 4, // langFarsi → smArabic (modified)\n 32: 7, // langRussian → smCyrillic\n 33: 25, // langSimpChinese → smSimpChinese\n 34: 0, // langFlemish → smRoman\n 35: 0, // langIrishGaelic → smRoman (modified)\n 36: 0, // langAlbanian → smRoman\n 37: 0, // langRomanian → smRoman (modified)\n 38: 29, // langCzech → smCentralEuroRoman\n 39: 29, // langSlovak → smCentralEuroRoman\n 40: 0, // langSlovenian → smRoman (modified)\n 41: 5, // langYiddish → smHebrew\n 42: 7, // langSerbian → smCyrillic\n 43: 7, // langMacedonian → smCyrillic\n 44: 7, // langBulgarian → smCyrillic\n 45: 7, // langUkrainian → smCyrillic (modified)\n 46: 7, // langByelorussian → smCyrillic\n 47: 7, // langUzbek → smCyrillic\n 48: 7, // langKazakh → smCyrillic\n 49: 7, // langAzerbaijani → smCyrillic\n 50: 4, // langAzerbaijanAr → smArabic\n 51: 24, // langArmenian → smArmenian\n 52: 23, // langGeorgian → smGeorgian\n 53: 7, // langMoldavian → smCyrillic\n 54: 7, // langKirghiz → smCyrillic\n 55: 7, // langTajiki → smCyrillic\n 56: 7, // langTurkmen → smCyrillic\n 57: 27, // langMongolian → smMongolian\n 58: 7, // langMongolianCyr → smCyrillic\n 59: 4, // langPashto → smArabic\n 60: 4, // langKurdish → smArabic\n 61: 4, // langKashmiri → smArabic\n 62: 4, // langSindhi → smArabic\n 63: 26, // langTibetan → smTibetan\n 64: 9, // langNepali → smDevanagari\n 65: 9, // langSanskrit → smDevanagari\n 66: 9, // langMarathi → smDevanagari\n 67: 13, // langBengali → smBengali\n 68: 13, // langAssamese → smBengali\n 69: 11, // langGujarati → smGujarati\n 70: 10, // langPunjabi → smGurmukhi\n 71: 12, // langOriya → smOriya\n 72: 17, // langMalayalam → smMalayalam\n 73: 16, // langKannada → smKannada\n 74: 14, // langTamil → smTamil\n 75: 15, // langTelugu → smTelugu\n 76: 18, // langSinhalese → smSinhalese\n 77: 19, // langBurmese → smBurmese\n 78: 20, // langKhmer → smKhmer\n 79: 22, // langLao → smLao\n 80: 30, // langVietnamese → smVietnamese\n 81: 0, // langIndonesian → smRoman\n 82: 0, // langTagalog → smRoman\n 83: 0, // langMalayRoman → smRoman\n 84: 4, // langMalayArabic → smArabic\n 85: 28, // langAmharic → smEthiopic\n 86: 28, // langTigrinya → smEthiopic\n 87: 28, // langOromo → smEthiopic\n 88: 0, // langSomali → smRoman\n 89: 0, // langSwahili → smRoman\n 90: 0, // langKinyarwanda → smRoman\n 91: 0, // langRundi → smRoman\n 92: 0, // langNyanja → smRoman\n 93: 0, // langMalagasy → smRoman\n 94: 0, // langEsperanto → smRoman\n 128: 0, // langWelsh → smRoman (modified)\n 129: 0, // langBasque → smRoman\n 130: 0, // langCatalan → smRoman\n 131: 0, // langLatin → smRoman\n 132: 0, // langQuechua → smRoman\n 133: 0, // langGuarani → smRoman\n 134: 0, // langAymara → smRoman\n 135: 7, // langTatar → smCyrillic\n 136: 4, // langUighur → smArabic\n 137: 26, // langDzongkha → smTibetan\n 138: 0, // langJavaneseRom → smRoman\n 139: 0, // langSundaneseRom → smRoman\n 140: 0, // langGalician → smRoman\n 141: 0, // langAfrikaans → smRoman\n 142: 0, // langBreton → smRoman (modified)\n 143: 28, // langInuktitut → smEthiopic (modified)\n 144: 0, // langScottishGaelic → smRoman (modified)\n 145: 0, // langManxGaelic → smRoman (modified)\n 146: 0, // langIrishGaelicScript → smRoman (modified)\n 147: 0, // langTongan → smRoman\n 148: 6, // langGreekAncient → smRoman\n 149: 0, // langGreenlandic → smRoman\n 150: 0, // langAzerbaijanRoman → smRoman\n 151: 0 // langNynorsk → smRoman\n};\n\n// While Microsoft indicates a region/country for all its language\n// IDs, we omit the region code if it's equal to the \"most likely\n// region subtag\" according to Unicode CLDR. For scripts, we omit\n// the subtag if it is equal to the Suppress-Script entry in the\n// IANA language subtag registry for IETF BCP 47.\n//\n// For example, Microsoft states that its language code 0x041A is\n// Croatian in Croatia. We transform this to the BCP 47 language code 'hr'\n// and not 'hr-HR' because Croatia is the default country for Croatian,\n// according to Unicode CLDR. As another example, Microsoft states\n// that 0x101A is Croatian (Latin) in Bosnia-Herzegovina. We transform\n// this to 'hr-BA' and not 'hr-Latn-BA' because Latin is the default script\n// for the Croatian language, according to IANA.\n//\n// http://www.unicode.org/cldr/charts/latest/supplemental/likely_subtags.html\n// http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry\nvar windowsLanguages = {\n 0x0436: 'af',\n 0x041C: 'sq',\n 0x0484: 'gsw',\n 0x045E: 'am',\n 0x1401: 'ar-DZ',\n 0x3C01: 'ar-BH',\n 0x0C01: 'ar',\n 0x0801: 'ar-IQ',\n 0x2C01: 'ar-JO',\n 0x3401: 'ar-KW',\n 0x3001: 'ar-LB',\n 0x1001: 'ar-LY',\n 0x1801: 'ary',\n 0x2001: 'ar-OM',\n 0x4001: 'ar-QA',\n 0x0401: 'ar-SA',\n 0x2801: 'ar-SY',\n 0x1C01: 'aeb',\n 0x3801: 'ar-AE',\n 0x2401: 'ar-YE',\n 0x042B: 'hy',\n 0x044D: 'as',\n 0x082C: 'az-Cyrl',\n 0x042C: 'az',\n 0x046D: 'ba',\n 0x042D: 'eu',\n 0x0423: 'be',\n 0x0845: 'bn',\n 0x0445: 'bn-IN',\n 0x201A: 'bs-Cyrl',\n 0x141A: 'bs',\n 0x047E: 'br',\n 0x0402: 'bg',\n 0x0403: 'ca',\n 0x0C04: 'zh-HK',\n 0x1404: 'zh-MO',\n 0x0804: 'zh',\n 0x1004: 'zh-SG',\n 0x0404: 'zh-TW',\n 0x0483: 'co',\n 0x041A: 'hr',\n 0x101A: 'hr-BA',\n 0x0405: 'cs',\n 0x0406: 'da',\n 0x048C: 'prs',\n 0x0465: 'dv',\n 0x0813: 'nl-BE',\n 0x0413: 'nl',\n 0x0C09: 'en-AU',\n 0x2809: 'en-BZ',\n 0x1009: 'en-CA',\n 0x2409: 'en-029',\n 0x4009: 'en-IN',\n 0x1809: 'en-IE',\n 0x2009: 'en-JM',\n 0x4409: 'en-MY',\n 0x1409: 'en-NZ',\n 0x3409: 'en-PH',\n 0x4809: 'en-SG',\n 0x1C09: 'en-ZA',\n 0x2C09: 'en-TT',\n 0x0809: 'en-GB',\n 0x0409: 'en',\n 0x3009: 'en-ZW',\n 0x0425: 'et',\n 0x0438: 'fo',\n 0x0464: 'fil',\n 0x040B: 'fi',\n 0x080C: 'fr-BE',\n 0x0C0C: 'fr-CA',\n 0x040C: 'fr',\n 0x140C: 'fr-LU',\n 0x180C: 'fr-MC',\n 0x100C: 'fr-CH',\n 0x0462: 'fy',\n 0x0456: 'gl',\n 0x0437: 'ka',\n 0x0C07: 'de-AT',\n 0x0407: 'de',\n 0x1407: 'de-LI',\n 0x1007: 'de-LU',\n 0x0807: 'de-CH',\n 0x0408: 'el',\n 0x046F: 'kl',\n 0x0447: 'gu',\n 0x0468: 'ha',\n 0x040D: 'he',\n 0x0439: 'hi',\n 0x040E: 'hu',\n 0x040F: 'is',\n 0x0470: 'ig',\n 0x0421: 'id',\n 0x045D: 'iu',\n 0x085D: 'iu-Latn',\n 0x083C: 'ga',\n 0x0434: 'xh',\n 0x0435: 'zu',\n 0x0410: 'it',\n 0x0810: 'it-CH',\n 0x0411: 'ja',\n 0x044B: 'kn',\n 0x043F: 'kk',\n 0x0453: 'km',\n 0x0486: 'quc',\n 0x0487: 'rw',\n 0x0441: 'sw',\n 0x0457: 'kok',\n 0x0412: 'ko',\n 0x0440: 'ky',\n 0x0454: 'lo',\n 0x0426: 'lv',\n 0x0427: 'lt',\n 0x082E: 'dsb',\n 0x046E: 'lb',\n 0x042F: 'mk',\n 0x083E: 'ms-BN',\n 0x043E: 'ms',\n 0x044C: 'ml',\n 0x043A: 'mt',\n 0x0481: 'mi',\n 0x047A: 'arn',\n 0x044E: 'mr',\n 0x047C: 'moh',\n 0x0450: 'mn',\n 0x0850: 'mn-CN',\n 0x0461: 'ne',\n 0x0414: 'nb',\n 0x0814: 'nn',\n 0x0482: 'oc',\n 0x0448: 'or',\n 0x0463: 'ps',\n 0x0415: 'pl',\n 0x0416: 'pt',\n 0x0816: 'pt-PT',\n 0x0446: 'pa',\n 0x046B: 'qu-BO',\n 0x086B: 'qu-EC',\n 0x0C6B: 'qu',\n 0x0418: 'ro',\n 0x0417: 'rm',\n 0x0419: 'ru',\n 0x243B: 'smn',\n 0x103B: 'smj-NO',\n 0x143B: 'smj',\n 0x0C3B: 'se-FI',\n 0x043B: 'se',\n 0x083B: 'se-SE',\n 0x203B: 'sms',\n 0x183B: 'sma-NO',\n 0x1C3B: 'sms',\n 0x044F: 'sa',\n 0x1C1A: 'sr-Cyrl-BA',\n 0x0C1A: 'sr',\n 0x181A: 'sr-Latn-BA',\n 0x081A: 'sr-Latn',\n 0x046C: 'nso',\n 0x0432: 'tn',\n 0x045B: 'si',\n 0x041B: 'sk',\n 0x0424: 'sl',\n 0x2C0A: 'es-AR',\n 0x400A: 'es-BO',\n 0x340A: 'es-CL',\n 0x240A: 'es-CO',\n 0x140A: 'es-CR',\n 0x1C0A: 'es-DO',\n 0x300A: 'es-EC',\n 0x440A: 'es-SV',\n 0x100A: 'es-GT',\n 0x480A: 'es-HN',\n 0x080A: 'es-MX',\n 0x4C0A: 'es-NI',\n 0x180A: 'es-PA',\n 0x3C0A: 'es-PY',\n 0x280A: 'es-PE',\n 0x500A: 'es-PR',\n\n // Microsoft has defined two different language codes for\n // “Spanish with modern sorting” and “Spanish with traditional\n // sorting”. This makes sense for collation APIs, and it would be\n // possible to express this in BCP 47 language tags via Unicode\n // extensions (eg., es-u-co-trad is Spanish with traditional\n // sorting). However, for storing names in fonts, the distinction\n // does not make sense, so we give “es” in both cases.\n 0x0C0A: 'es',\n 0x040A: 'es',\n\n 0x540A: 'es-US',\n 0x380A: 'es-UY',\n 0x200A: 'es-VE',\n 0x081D: 'sv-FI',\n 0x041D: 'sv',\n 0x045A: 'syr',\n 0x0428: 'tg',\n 0x085F: 'tzm',\n 0x0449: 'ta',\n 0x0444: 'tt',\n 0x044A: 'te',\n 0x041E: 'th',\n 0x0451: 'bo',\n 0x041F: 'tr',\n 0x0442: 'tk',\n 0x0480: 'ug',\n 0x0422: 'uk',\n 0x042E: 'hsb',\n 0x0420: 'ur',\n 0x0843: 'uz-Cyrl',\n 0x0443: 'uz',\n 0x042A: 'vi',\n 0x0452: 'cy',\n 0x0488: 'wo',\n 0x0485: 'sah',\n 0x0478: 'ii',\n 0x046A: 'yo'\n};\n\n// Returns a IETF BCP 47 language code, for example 'zh-Hant'\n// for 'Chinese in the traditional script'.\nfunction getLanguageCode(platformID, languageID, ltag) {\n switch (platformID) {\n case 0: // Unicode\n if (languageID === 0xFFFF) {\n return 'und';\n } else if (ltag) {\n return ltag[languageID];\n }\n\n break;\n\n case 1: // Macintosh\n return macLanguages[languageID];\n\n case 3: // Windows\n return windowsLanguages[languageID];\n }\n\n return undefined;\n}\n\nvar utf16 = 'utf-16';\n\n// MacOS script ID → encoding. This table stores the default case,\n// which can be overridden by macLanguageEncodings.\nvar macScriptEncodings = {\n 0: 'macintosh', // smRoman\n 1: 'x-mac-japanese', // smJapanese\n 2: 'x-mac-chinesetrad', // smTradChinese\n 3: 'x-mac-korean', // smKorean\n 6: 'x-mac-greek', // smGreek\n 7: 'x-mac-cyrillic', // smCyrillic\n 9: 'x-mac-devanagai', // smDevanagari\n 10: 'x-mac-gurmukhi', // smGurmukhi\n 11: 'x-mac-gujarati', // smGujarati\n 12: 'x-mac-oriya', // smOriya\n 13: 'x-mac-bengali', // smBengali\n 14: 'x-mac-tamil', // smTamil\n 15: 'x-mac-telugu', // smTelugu\n 16: 'x-mac-kannada', // smKannada\n 17: 'x-mac-malayalam', // smMalayalam\n 18: 'x-mac-sinhalese', // smSinhalese\n 19: 'x-mac-burmese', // smBurmese\n 20: 'x-mac-khmer', // smKhmer\n 21: 'x-mac-thai', // smThai\n 22: 'x-mac-lao', // smLao\n 23: 'x-mac-georgian', // smGeorgian\n 24: 'x-mac-armenian', // smArmenian\n 25: 'x-mac-chinesesimp', // smSimpChinese\n 26: 'x-mac-tibetan', // smTibetan\n 27: 'x-mac-mongolian', // smMongolian\n 28: 'x-mac-ethiopic', // smEthiopic\n 29: 'x-mac-ce', // smCentralEuroRoman\n 30: 'x-mac-vietnamese', // smVietnamese\n 31: 'x-mac-extarabic' // smExtArabic\n};\n\n// MacOS language ID → encoding. This table stores the exceptional\n// cases, which override macScriptEncodings. For writing MacOS naming\n// tables, we need to emit a MacOS script ID. Therefore, we cannot\n// merge macScriptEncodings into macLanguageEncodings.\n//\n// http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt\nvar macLanguageEncodings = {\n 15: 'x-mac-icelandic', // langIcelandic\n 17: 'x-mac-turkish', // langTurkish\n 18: 'x-mac-croatian', // langCroatian\n 24: 'x-mac-ce', // langLithuanian\n 25: 'x-mac-ce', // langPolish\n 26: 'x-mac-ce', // langHungarian\n 27: 'x-mac-ce', // langEstonian\n 28: 'x-mac-ce', // langLatvian\n 30: 'x-mac-icelandic', // langFaroese\n 37: 'x-mac-romanian', // langRomanian\n 38: 'x-mac-ce', // langCzech\n 39: 'x-mac-ce', // langSlovak\n 40: 'x-mac-ce', // langSlovenian\n 143: 'x-mac-inuit', // langInuktitut\n 146: 'x-mac-gaelic' // langIrishGaelicScript\n};\n\nfunction getEncoding(platformID, encodingID, languageID) {\n switch (platformID) {\n case 0: // Unicode\n return utf16;\n\n case 1: // Apple Macintosh\n return macLanguageEncodings[languageID] || macScriptEncodings[encodingID];\n\n case 3: // Microsoft Windows\n if (encodingID === 1 || encodingID === 10) {\n return utf16;\n }\n\n break;\n }\n\n return undefined;\n}\n\n// Parse the naming `name` table.\n// FIXME: Format 1 additional fields are not supported yet.\n// ltag is the content of the `ltag' table, such as ['en', 'zh-Hans', 'de-CH-1904'].\nfunction parseNameTable(data, start, ltag) {\n var name = {};\n var p = new parse.Parser(data, start);\n var format = p.parseUShort();\n var count = p.parseUShort();\n var stringOffset = p.offset + p.parseUShort();\n for (var i = 0; i < count; i++) {\n var platformID = p.parseUShort();\n var encodingID = p.parseUShort();\n var languageID = p.parseUShort();\n var nameID = p.parseUShort();\n var property = nameTableNames[nameID] || nameID;\n var byteLength = p.parseUShort();\n var offset = p.parseUShort();\n var language = getLanguageCode(platformID, languageID, ltag);\n var encoding = getEncoding(platformID, encodingID, languageID);\n if (encoding !== undefined && language !== undefined) {\n var text = (void 0);\n if (encoding === utf16) {\n text = decode.UTF16(data, stringOffset + offset, byteLength);\n } else {\n text = decode.MACSTRING(data, stringOffset + offset, byteLength, encoding);\n }\n\n if (text) {\n var translations = name[property];\n if (translations === undefined) {\n translations = name[property] = {};\n }\n\n translations[language] = text;\n }\n }\n }\n\n var langTagCount = 0;\n if (format === 1) {\n // FIXME: Also handle Microsoft's 'name' table 1.\n langTagCount = p.parseUShort();\n }\n\n return name;\n}\n\n// {23: 'foo'} → {'foo': 23}\n// ['bar', 'baz'] → {'bar': 0, 'baz': 1}\nfunction reverseDict(dict) {\n var result = {};\n for (var key in dict) {\n result[dict[key]] = parseInt(key);\n }\n\n return result;\n}\n\nfunction makeNameRecord(platformID, encodingID, languageID, nameID, length, offset) {\n return new table.Record('NameRecord', [\n {name: 'platformID', type: 'USHORT', value: platformID},\n {name: 'encodingID', type: 'USHORT', value: encodingID},\n {name: 'languageID', type: 'USHORT', value: languageID},\n {name: 'nameID', type: 'USHORT', value: nameID},\n {name: 'length', type: 'USHORT', value: length},\n {name: 'offset', type: 'USHORT', value: offset}\n ]);\n}\n\n// Finds the position of needle in haystack, or -1 if not there.\n// Like String.indexOf(), but for arrays.\nfunction findSubArray(needle, haystack) {\n var needleLength = needle.length;\n var limit = haystack.length - needleLength + 1;\n\n loop:\n for (var pos = 0; pos < limit; pos++) {\n for (; pos < limit; pos++) {\n for (var k = 0; k < needleLength; k++) {\n if (haystack[pos + k] !== needle[k]) {\n continue loop;\n }\n }\n\n return pos;\n }\n }\n\n return -1;\n}\n\nfunction addStringToPool(s, pool) {\n var offset = findSubArray(s, pool);\n if (offset < 0) {\n offset = pool.length;\n var i = 0;\n var len = s.length;\n for (; i < len; ++i) {\n pool.push(s[i]);\n }\n\n }\n\n return offset;\n}\n\nfunction makeNameTable(names, ltag) {\n var nameID;\n var nameIDs = [];\n\n var namesWithNumericKeys = {};\n var nameTableIds = reverseDict(nameTableNames);\n for (var key in names) {\n var id = nameTableIds[key];\n if (id === undefined) {\n id = key;\n }\n\n nameID = parseInt(id);\n\n if (isNaN(nameID)) {\n throw new Error('Name table entry \"' + key + '\" does not exist, see nameTableNames for complete list.');\n }\n\n namesWithNumericKeys[nameID] = names[key];\n nameIDs.push(nameID);\n }\n\n var macLanguageIds = reverseDict(macLanguages);\n var windowsLanguageIds = reverseDict(windowsLanguages);\n\n var nameRecords = [];\n var stringPool = [];\n\n for (var i = 0; i < nameIDs.length; i++) {\n nameID = nameIDs[i];\n var translations = namesWithNumericKeys[nameID];\n for (var lang in translations) {\n var text = translations[lang];\n\n // For MacOS, we try to emit the name in the form that was introduced\n // in the initial version of the TrueType spec (in the late 1980s).\n // However, this can fail for various reasons: the requested BCP 47\n // language code might not have an old-style Mac equivalent;\n // we might not have a codec for the needed character encoding;\n // or the name might contain characters that cannot be expressed\n // in the old-style Macintosh encoding. In case of failure, we emit\n // the name in a more modern fashion (Unicode encoding with BCP 47\n // language tags) that is recognized by MacOS 10.5, released in 2009.\n // If fonts were only read by operating systems, we could simply\n // emit all names in the modern form; this would be much easier.\n // However, there are many applications and libraries that read\n // 'name' tables directly, and these will usually only recognize\n // the ancient form (silently skipping the unrecognized names).\n var macPlatform = 1; // Macintosh\n var macLanguage = macLanguageIds[lang];\n var macScript = macLanguageToScript[macLanguage];\n var macEncoding = getEncoding(macPlatform, macScript, macLanguage);\n var macName = encode.MACSTRING(text, macEncoding);\n if (macName === undefined) {\n macPlatform = 0; // Unicode\n macLanguage = ltag.indexOf(lang);\n if (macLanguage < 0) {\n macLanguage = ltag.length;\n ltag.push(lang);\n }\n\n macScript = 4; // Unicode 2.0 and later\n macName = encode.UTF16(text);\n }\n\n var macNameOffset = addStringToPool(macName, stringPool);\n nameRecords.push(makeNameRecord(macPlatform, macScript, macLanguage,\n nameID, macName.length, macNameOffset));\n\n var winLanguage = windowsLanguageIds[lang];\n if (winLanguage !== undefined) {\n var winName = encode.UTF16(text);\n var winNameOffset = addStringToPool(winName, stringPool);\n nameRecords.push(makeNameRecord(3, 1, winLanguage,\n nameID, winName.length, winNameOffset));\n }\n }\n }\n\n nameRecords.sort(function(a, b) {\n return ((a.platformID - b.platformID) ||\n (a.encodingID - b.encodingID) ||\n (a.languageID - b.languageID) ||\n (a.nameID - b.nameID));\n });\n\n var t = new table.Table('name', [\n {name: 'format', type: 'USHORT', value: 0},\n {name: 'count', type: 'USHORT', value: nameRecords.length},\n {name: 'stringOffset', type: 'USHORT', value: 6 + nameRecords.length * 12}\n ]);\n\n for (var r = 0; r < nameRecords.length; r++) {\n t.fields.push({name: 'record_' + r, type: 'RECORD', value: nameRecords[r]});\n }\n\n t.fields.push({name: 'strings', type: 'LITERAL', value: stringPool});\n return t;\n}\n\nvar _name = { parse: parseNameTable, make: makeNameTable };\n\n// The `OS/2` table contains metrics required in OpenType fonts.\n\nvar unicodeRanges = [\n {begin: 0x0000, end: 0x007F}, // Basic Latin\n {begin: 0x0080, end: 0x00FF}, // Latin-1 Supplement\n {begin: 0x0100, end: 0x017F}, // Latin Extended-A\n {begin: 0x0180, end: 0x024F}, // Latin Extended-B\n {begin: 0x0250, end: 0x02AF}, // IPA Extensions\n {begin: 0x02B0, end: 0x02FF}, // Spacing Modifier Letters\n {begin: 0x0300, end: 0x036F}, // Combining Diacritical Marks\n {begin: 0x0370, end: 0x03FF}, // Greek and Coptic\n {begin: 0x2C80, end: 0x2CFF}, // Coptic\n {begin: 0x0400, end: 0x04FF}, // Cyrillic\n {begin: 0x0530, end: 0x058F}, // Armenian\n {begin: 0x0590, end: 0x05FF}, // Hebrew\n {begin: 0xA500, end: 0xA63F}, // Vai\n {begin: 0x0600, end: 0x06FF}, // Arabic\n {begin: 0x07C0, end: 0x07FF}, // NKo\n {begin: 0x0900, end: 0x097F}, // Devanagari\n {begin: 0x0980, end: 0x09FF}, // Bengali\n {begin: 0x0A00, end: 0x0A7F}, // Gurmukhi\n {begin: 0x0A80, end: 0x0AFF}, // Gujarati\n {begin: 0x0B00, end: 0x0B7F}, // Oriya\n {begin: 0x0B80, end: 0x0BFF}, // Tamil\n {begin: 0x0C00, end: 0x0C7F}, // Telugu\n {begin: 0x0C80, end: 0x0CFF}, // Kannada\n {begin: 0x0D00, end: 0x0D7F}, // Malayalam\n {begin: 0x0E00, end: 0x0E7F}, // Thai\n {begin: 0x0E80, end: 0x0EFF}, // Lao\n {begin: 0x10A0, end: 0x10FF}, // Georgian\n {begin: 0x1B00, end: 0x1B7F}, // Balinese\n {begin: 0x1100, end: 0x11FF}, // Hangul Jamo\n {begin: 0x1E00, end: 0x1EFF}, // Latin Extended Additional\n {begin: 0x1F00, end: 0x1FFF}, // Greek Extended\n {begin: 0x2000, end: 0x206F}, // General Punctuation\n {begin: 0x2070, end: 0x209F}, // Superscripts And Subscripts\n {begin: 0x20A0, end: 0x20CF}, // Currency Symbol\n {begin: 0x20D0, end: 0x20FF}, // Combining Diacritical Marks For Symbols\n {begin: 0x2100, end: 0x214F}, // Letterlike Symbols\n {begin: 0x2150, end: 0x218F}, // Number Forms\n {begin: 0x2190, end: 0x21FF}, // Arrows\n {begin: 0x2200, end: 0x22FF}, // Mathematical Operators\n {begin: 0x2300, end: 0x23FF}, // Miscellaneous Technical\n {begin: 0x2400, end: 0x243F}, // Control Pictures\n {begin: 0x2440, end: 0x245F}, // Optical Character Recognition\n {begin: 0x2460, end: 0x24FF}, // Enclosed Alphanumerics\n {begin: 0x2500, end: 0x257F}, // Box Drawing\n {begin: 0x2580, end: 0x259F}, // Block Elements\n {begin: 0x25A0, end: 0x25FF}, // Geometric Shapes\n {begin: 0x2600, end: 0x26FF}, // Miscellaneous Symbols\n {begin: 0x2700, end: 0x27BF}, // Dingbats\n {begin: 0x3000, end: 0x303F}, // CJK Symbols And Punctuation\n {begin: 0x3040, end: 0x309F}, // Hiragana\n {begin: 0x30A0, end: 0x30FF}, // Katakana\n {begin: 0x3100, end: 0x312F}, // Bopomofo\n {begin: 0x3130, end: 0x318F}, // Hangul Compatibility Jamo\n {begin: 0xA840, end: 0xA87F}, // Phags-pa\n {begin: 0x3200, end: 0x32FF}, // Enclosed CJK Letters And Months\n {begin: 0x3300, end: 0x33FF}, // CJK Compatibility\n {begin: 0xAC00, end: 0xD7AF}, // Hangul Syllables\n {begin: 0xD800, end: 0xDFFF}, // Non-Plane 0 *\n {begin: 0x10900, end: 0x1091F}, // Phoenicia\n {begin: 0x4E00, end: 0x9FFF}, // CJK Unified Ideographs\n {begin: 0xE000, end: 0xF8FF}, // Private Use Area (plane 0)\n {begin: 0x31C0, end: 0x31EF}, // CJK Strokes\n {begin: 0xFB00, end: 0xFB4F}, // Alphabetic Presentation Forms\n {begin: 0xFB50, end: 0xFDFF}, // Arabic Presentation Forms-A\n {begin: 0xFE20, end: 0xFE2F}, // Combining Half Marks\n {begin: 0xFE10, end: 0xFE1F}, // Vertical Forms\n {begin: 0xFE50, end: 0xFE6F}, // Small Form Variants\n {begin: 0xFE70, end: 0xFEFF}, // Arabic Presentation Forms-B\n {begin: 0xFF00, end: 0xFFEF}, // Halfwidth And Fullwidth Forms\n {begin: 0xFFF0, end: 0xFFFF}, // Specials\n {begin: 0x0F00, end: 0x0FFF}, // Tibetan\n {begin: 0x0700, end: 0x074F}, // Syriac\n {begin: 0x0780, end: 0x07BF}, // Thaana\n {begin: 0x0D80, end: 0x0DFF}, // Sinhala\n {begin: 0x1000, end: 0x109F}, // Myanmar\n {begin: 0x1200, end: 0x137F}, // Ethiopic\n {begin: 0x13A0, end: 0x13FF}, // Cherokee\n {begin: 0x1400, end: 0x167F}, // Unified Canadian Aboriginal Syllabics\n {begin: 0x1680, end: 0x169F}, // Ogham\n {begin: 0x16A0, end: 0x16FF}, // Runic\n {begin: 0x1780, end: 0x17FF}, // Khmer\n {begin: 0x1800, end: 0x18AF}, // Mongolian\n {begin: 0x2800, end: 0x28FF}, // Braille Patterns\n {begin: 0xA000, end: 0xA48F}, // Yi Syllables\n {begin: 0x1700, end: 0x171F}, // Tagalog\n {begin: 0x10300, end: 0x1032F}, // Old Italic\n {begin: 0x10330, end: 0x1034F}, // Gothic\n {begin: 0x10400, end: 0x1044F}, // Deseret\n {begin: 0x1D000, end: 0x1D0FF}, // Byzantine Musical Symbols\n {begin: 0x1D400, end: 0x1D7FF}, // Mathematical Alphanumeric Symbols\n {begin: 0xFF000, end: 0xFFFFD}, // Private Use (plane 15)\n {begin: 0xFE00, end: 0xFE0F}, // Variation Selectors\n {begin: 0xE0000, end: 0xE007F}, // Tags\n {begin: 0x1900, end: 0x194F}, // Limbu\n {begin: 0x1950, end: 0x197F}, // Tai Le\n {begin: 0x1980, end: 0x19DF}, // New Tai Lue\n {begin: 0x1A00, end: 0x1A1F}, // Buginese\n {begin: 0x2C00, end: 0x2C5F}, // Glagolitic\n {begin: 0x2D30, end: 0x2D7F}, // Tifinagh\n {begin: 0x4DC0, end: 0x4DFF}, // Yijing Hexagram Symbols\n {begin: 0xA800, end: 0xA82F}, // Syloti Nagri\n {begin: 0x10000, end: 0x1007F}, // Linear B Syllabary\n {begin: 0x10140, end: 0x1018F}, // Ancient Greek Numbers\n {begin: 0x10380, end: 0x1039F}, // Ugaritic\n {begin: 0x103A0, end: 0x103DF}, // Old Persian\n {begin: 0x10450, end: 0x1047F}, // Shavian\n {begin: 0x10480, end: 0x104AF}, // Osmanya\n {begin: 0x10800, end: 0x1083F}, // Cypriot Syllabary\n {begin: 0x10A00, end: 0x10A5F}, // Kharoshthi\n {begin: 0x1D300, end: 0x1D35F}, // Tai Xuan Jing Symbols\n {begin: 0x12000, end: 0x123FF}, // Cuneiform\n {begin: 0x1D360, end: 0x1D37F}, // Counting Rod Numerals\n {begin: 0x1B80, end: 0x1BBF}, // Sundanese\n {begin: 0x1C00, end: 0x1C4F}, // Lepcha\n {begin: 0x1C50, end: 0x1C7F}, // Ol Chiki\n {begin: 0xA880, end: 0xA8DF}, // Saurashtra\n {begin: 0xA900, end: 0xA92F}, // Kayah Li\n {begin: 0xA930, end: 0xA95F}, // Rejang\n {begin: 0xAA00, end: 0xAA5F}, // Cham\n {begin: 0x10190, end: 0x101CF}, // Ancient Symbols\n {begin: 0x101D0, end: 0x101FF}, // Phaistos Disc\n {begin: 0x102A0, end: 0x102DF}, // Carian\n {begin: 0x1F030, end: 0x1F09F} // Domino Tiles\n];\n\nfunction getUnicodeRange(unicode) {\n for (var i = 0; i < unicodeRanges.length; i += 1) {\n var range = unicodeRanges[i];\n if (unicode >= range.begin && unicode < range.end) {\n return i;\n }\n }\n\n return -1;\n}\n\n// Parse the OS/2 and Windows metrics `OS/2` table\nfunction parseOS2Table(data, start) {\n var os2 = {};\n var p = new parse.Parser(data, start);\n os2.version = p.parseUShort();\n os2.xAvgCharWidth = p.parseShort();\n os2.usWeightClass = p.parseUShort();\n os2.usWidthClass = p.parseUShort();\n os2.fsType = p.parseUShort();\n os2.ySubscriptXSize = p.parseShort();\n os2.ySubscriptYSize = p.parseShort();\n os2.ySubscriptXOffset = p.parseShort();\n os2.ySubscriptYOffset = p.parseShort();\n os2.ySuperscriptXSize = p.parseShort();\n os2.ySuperscriptYSize = p.parseShort();\n os2.ySuperscriptXOffset = p.parseShort();\n os2.ySuperscriptYOffset = p.parseShort();\n os2.yStrikeoutSize = p.parseShort();\n os2.yStrikeoutPosition = p.parseShort();\n os2.sFamilyClass = p.parseShort();\n os2.panose = [];\n for (var i = 0; i < 10; i++) {\n os2.panose[i] = p.parseByte();\n }\n\n os2.ulUnicodeRange1 = p.parseULong();\n os2.ulUnicodeRange2 = p.parseULong();\n os2.ulUnicodeRange3 = p.parseULong();\n os2.ulUnicodeRange4 = p.parseULong();\n os2.achVendID = String.fromCharCode(p.parseByte(), p.parseByte(), p.parseByte(), p.parseByte());\n os2.fsSelection = p.parseUShort();\n os2.usFirstCharIndex = p.parseUShort();\n os2.usLastCharIndex = p.parseUShort();\n os2.sTypoAscender = p.parseShort();\n os2.sTypoDescender = p.parseShort();\n os2.sTypoLineGap = p.parseShort();\n os2.usWinAscent = p.parseUShort();\n os2.usWinDescent = p.parseUShort();\n if (os2.version >= 1) {\n os2.ulCodePageRange1 = p.parseULong();\n os2.ulCodePageRange2 = p.parseULong();\n }\n\n if (os2.version >= 2) {\n os2.sxHeight = p.parseShort();\n os2.sCapHeight = p.parseShort();\n os2.usDefaultChar = p.parseUShort();\n os2.usBreakChar = p.parseUShort();\n os2.usMaxContent = p.parseUShort();\n }\n\n return os2;\n}\n\nfunction makeOS2Table(options) {\n return new table.Table('OS/2', [\n {name: 'version', type: 'USHORT', value: 0x0003},\n {name: 'xAvgCharWidth', type: 'SHORT', value: 0},\n {name: 'usWeightClass', type: 'USHORT', value: 0},\n {name: 'usWidthClass', type: 'USHORT', value: 0},\n {name: 'fsType', type: 'USHORT', value: 0},\n {name: 'ySubscriptXSize', type: 'SHORT', value: 650},\n {name: 'ySubscriptYSize', type: 'SHORT', value: 699},\n {name: 'ySubscriptXOffset', type: 'SHORT', value: 0},\n {name: 'ySubscriptYOffset', type: 'SHORT', value: 140},\n {name: 'ySuperscriptXSize', type: 'SHORT', value: 650},\n {name: 'ySuperscriptYSize', type: 'SHORT', value: 699},\n {name: 'ySuperscriptXOffset', type: 'SHORT', value: 0},\n {name: 'ySuperscriptYOffset', type: 'SHORT', value: 479},\n {name: 'yStrikeoutSize', type: 'SHORT', value: 49},\n {name: 'yStrikeoutPosition', type: 'SHORT', value: 258},\n {name: 'sFamilyClass', type: 'SHORT', value: 0},\n {name: 'bFamilyType', type: 'BYTE', value: 0},\n {name: 'bSerifStyle', type: 'BYTE', value: 0},\n {name: 'bWeight', type: 'BYTE', value: 0},\n {name: 'bProportion', type: 'BYTE', value: 0},\n {name: 'bContrast', type: 'BYTE', value: 0},\n {name: 'bStrokeVariation', type: 'BYTE', value: 0},\n {name: 'bArmStyle', type: 'BYTE', value: 0},\n {name: 'bLetterform', type: 'BYTE', value: 0},\n {name: 'bMidline', type: 'BYTE', value: 0},\n {name: 'bXHeight', type: 'BYTE', value: 0},\n {name: 'ulUnicodeRange1', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange2', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange3', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange4', type: 'ULONG', value: 0},\n {name: 'achVendID', type: 'CHARARRAY', value: 'XXXX'},\n {name: 'fsSelection', type: 'USHORT', value: 0},\n {name: 'usFirstCharIndex', type: 'USHORT', value: 0},\n {name: 'usLastCharIndex', type: 'USHORT', value: 0},\n {name: 'sTypoAscender', type: 'SHORT', value: 0},\n {name: 'sTypoDescender', type: 'SHORT', value: 0},\n {name: 'sTypoLineGap', type: 'SHORT', value: 0},\n {name: 'usWinAscent', type: 'USHORT', value: 0},\n {name: 'usWinDescent', type: 'USHORT', value: 0},\n {name: 'ulCodePageRange1', type: 'ULONG', value: 0},\n {name: 'ulCodePageRange2', type: 'ULONG', value: 0},\n {name: 'sxHeight', type: 'SHORT', value: 0},\n {name: 'sCapHeight', type: 'SHORT', value: 0},\n {name: 'usDefaultChar', type: 'USHORT', value: 0},\n {name: 'usBreakChar', type: 'USHORT', value: 0},\n {name: 'usMaxContext', type: 'USHORT', value: 0}\n ], options);\n}\n\nvar os2 = { parse: parseOS2Table, make: makeOS2Table, unicodeRanges: unicodeRanges, getUnicodeRange: getUnicodeRange };\n\n// The `post` table stores additional PostScript information, such as glyph names.\n\n// Parse the PostScript `post` table\nfunction parsePostTable(data, start) {\n var post = {};\n var p = new parse.Parser(data, start);\n post.version = p.parseVersion();\n post.italicAngle = p.parseFixed();\n post.underlinePosition = p.parseShort();\n post.underlineThickness = p.parseShort();\n post.isFixedPitch = p.parseULong();\n post.minMemType42 = p.parseULong();\n post.maxMemType42 = p.parseULong();\n post.minMemType1 = p.parseULong();\n post.maxMemType1 = p.parseULong();\n switch (post.version) {\n case 1:\n post.names = standardNames.slice();\n break;\n case 2:\n post.numberOfGlyphs = p.parseUShort();\n post.glyphNameIndex = new Array(post.numberOfGlyphs);\n for (var i = 0; i < post.numberOfGlyphs; i++) {\n post.glyphNameIndex[i] = p.parseUShort();\n }\n\n post.names = [];\n for (var i$1 = 0; i$1 < post.numberOfGlyphs; i$1++) {\n if (post.glyphNameIndex[i$1] >= standardNames.length) {\n var nameLength = p.parseChar();\n post.names.push(p.parseString(nameLength));\n }\n }\n\n break;\n case 2.5:\n post.numberOfGlyphs = p.parseUShort();\n post.offset = new Array(post.numberOfGlyphs);\n for (var i$2 = 0; i$2 < post.numberOfGlyphs; i$2++) {\n post.offset[i$2] = p.parseChar();\n }\n\n break;\n }\n return post;\n}\n\nfunction makePostTable() {\n return new table.Table('post', [\n {name: 'version', type: 'FIXED', value: 0x00030000},\n {name: 'italicAngle', type: 'FIXED', value: 0},\n {name: 'underlinePosition', type: 'FWORD', value: 0},\n {name: 'underlineThickness', type: 'FWORD', value: 0},\n {name: 'isFixedPitch', type: 'ULONG', value: 0},\n {name: 'minMemType42', type: 'ULONG', value: 0},\n {name: 'maxMemType42', type: 'ULONG', value: 0},\n {name: 'minMemType1', type: 'ULONG', value: 0},\n {name: 'maxMemType1', type: 'ULONG', value: 0}\n ]);\n}\n\nvar post = { parse: parsePostTable, make: makePostTable };\n\n// The `GSUB` table contains ligatures, among other things.\n\nvar subtableParsers = new Array(9); // subtableParsers[0] is unused\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#SS\nsubtableParsers[1] = function parseLookup1() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n deltaGlyphId: this.parseUShort()\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n substitute: this.parseOffset16List()\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 1 format must be 1 or 2.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#MS\nsubtableParsers[2] = function parseLookup2() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Multiple Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n sequences: this.parseListOfLists()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#AS\nsubtableParsers[3] = function parseLookup3() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Alternate Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n alternateSets: this.parseListOfLists()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#LS\nsubtableParsers[4] = function parseLookup4() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB ligature table identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ligatureSets: this.parseListOfLists(function() {\n return {\n ligGlyph: this.parseUShort(),\n components: this.parseUShortList(this.parseUShort() - 1)\n };\n })\n };\n};\n\nvar lookupRecordDesc = {\n sequenceIndex: Parser.uShort,\n lookupListIndex: Parser.uShort\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#CSF\nsubtableParsers[5] = function parseLookup5() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n\n if (substFormat === 1) {\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ruleSets: this.parseListOfLists(function() {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n input: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n classDef: this.parsePointer(Parser.classDef),\n classSets: this.parseListOfLists(function() {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n classes: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n substFormat: substFormat,\n coverages: this.parseList(glyphCount, Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 5 format must be 1, 2 or 3.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#CC\nsubtableParsers[6] = function parseLookup6() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n chainRuleSets: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n backtrackClassDef: this.parsePointer(Parser.classDef),\n inputClassDef: this.parsePointer(Parser.classDef),\n lookaheadClassDef: this.parsePointer(Parser.classDef),\n chainClassSet: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n return {\n substFormat: 3,\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n inputCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 6 format must be 1, 2 or 3.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#ES\nsubtableParsers[7] = function parseLookup7() {\n // Extension Substitution subtable\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Extension Substitution subtable identifier-format must be 1');\n var extensionLookupType = this.parseUShort();\n var extensionParser = new Parser(this.data, this.offset + this.parseULong());\n return {\n substFormat: 1,\n lookupType: extensionLookupType,\n extension: subtableParsers[extensionLookupType].call(extensionParser)\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#RCCS\nsubtableParsers[8] = function parseLookup8() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n substitutes: this.parseUShortList()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/gsub.htm\nfunction parseGsubTable(data, start) {\n start = start || 0;\n var p = new Parser(data, start);\n var tableVersion = p.parseVersion(1);\n check.argument(tableVersion === 1 || tableVersion === 1.1, 'Unsupported GSUB table version.');\n var table;\n if (tableVersion === 1) {\n table = {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers)\n };\n } else {\n table = {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers),\n variations: p.parseFeatureVariationsList()\n };\n }\n\n table.features.forEach(function (f) {\n // Match `ss01` to `ss20`\n if (f.tag.match(/ss(?:0[1-9]|1\\d|20)/)) {\n var p = new Parser(data, f.feature.tableOffset);\n f.feature.featureParamsTable = p.parseStylisticSetFeatureParams();\n }\n // Match `cv01` to `cv99`\n else if (f.tag.match(/cv(?:0[1-9]|[1-9]\\d)/)) {\n var p$1 = new Parser(data, f.feature.tableOffset);\n f.feature.featureParamsTable = p$1.parseCharacterVariantFeatureParams();\n }\n delete f.feature.tableOffset;\n });\n return table;\n\n}\n\n// GSUB Writing //////////////////////////////////////////////\nvar subtableMakers = new Array(9);\n\nsubtableMakers[1] = function makeLookup1(subtable) {\n if (subtable.substFormat === 1) {\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)},\n {name: 'deltaGlyphID', type: 'USHORT', value: subtable.deltaGlyphId}\n ]);\n } else {\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 2},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.ushortList('substitute', subtable.substitute)));\n }\n};\n\nsubtableMakers[3] = function makeLookup3(subtable) {\n check.assert(subtable.substFormat === 1, 'Lookup type 3 substFormat must be 1.');\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('altSet', subtable.alternateSets, function(alternateSet) {\n return new table.Table('alternateSetTable', table.ushortList('alternate', alternateSet));\n })));\n};\n\nsubtableMakers[4] = function makeLookup4(subtable) {\n check.assert(subtable.substFormat === 1, 'Lookup type 4 substFormat must be 1.');\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('ligSet', subtable.ligatureSets, function(ligatureSet) {\n return new table.Table('ligatureSetTable', table.tableList('ligature', ligatureSet, function(ligature) {\n return new table.Table('ligatureTable',\n [{name: 'ligGlyph', type: 'USHORT', value: ligature.ligGlyph}]\n .concat(table.ushortList('component', ligature.components, ligature.components.length + 1))\n );\n }));\n })));\n};\n\nfunction makeGsubTable(gsub) {\n return new table.Table('GSUB', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'scripts', type: 'TABLE', value: new table.ScriptList(gsub.scripts)},\n {name: 'features', type: 'TABLE', value: new table.FeatureList(gsub.features)},\n {name: 'lookups', type: 'TABLE', value: new table.LookupList(gsub.lookups, subtableMakers)}\n ]);\n}\n\nvar gsub = { parse: parseGsubTable, make: makeGsubTable };\n\n// The `GPOS` table contains kerning pairs, among other things.\n\n// Parse the metadata `meta` table.\n// https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6meta.html\nfunction parseMetaTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 1, 'Unsupported META table version.');\n p.parseULong(); // flags - currently unused and set to 0\n p.parseULong(); // tableOffset\n var numDataMaps = p.parseULong();\n\n var tags = {};\n for (var i = 0; i < numDataMaps; i++) {\n var tag = p.parseTag();\n var dataOffset = p.parseULong();\n var dataLength = p.parseULong();\n var text = decode.UTF8(data, start + dataOffset, dataLength);\n\n tags[tag] = text;\n }\n return tags;\n}\n\nfunction makeMetaTable(tags) {\n var numTags = Object.keys(tags).length;\n var stringPool = '';\n var stringPoolOffset = 16 + numTags * 12;\n\n var result = new table.Table('meta', [\n {name: 'version', type: 'ULONG', value: 1},\n {name: 'flags', type: 'ULONG', value: 0},\n {name: 'offset', type: 'ULONG', value: stringPoolOffset},\n {name: 'numTags', type: 'ULONG', value: numTags}\n ]);\n\n for (var tag in tags) {\n var pos = stringPool.length;\n stringPool += tags[tag];\n\n result.fields.push({name: 'tag ' + tag, type: 'TAG', value: tag});\n result.fields.push({name: 'offset ' + tag, type: 'ULONG', value: stringPoolOffset + pos});\n result.fields.push({name: 'length ' + tag, type: 'ULONG', value: tags[tag].length});\n }\n\n result.fields.push({name: 'stringPool', type: 'CHARARRAY', value: stringPool});\n\n return result;\n}\n\nvar meta = { parse: parseMetaTable, make: makeMetaTable };\n\n// The `sfnt` wrapper provides organization for the tables in the font.\n\nfunction log2(v) {\n return Math.log(v) / Math.log(2) | 0;\n}\n\nfunction computeCheckSum(bytes) {\n while (bytes.length % 4 !== 0) {\n bytes.push(0);\n }\n\n var sum = 0;\n for (var i = 0; i < bytes.length; i += 4) {\n sum += (bytes[i] << 24) +\n (bytes[i + 1] << 16) +\n (bytes[i + 2] << 8) +\n (bytes[i + 3]);\n }\n\n sum %= Math.pow(2, 32);\n return sum;\n}\n\nfunction makeTableRecord(tag, checkSum, offset, length) {\n return new table.Record('Table Record', [\n {name: 'tag', type: 'TAG', value: tag !== undefined ? tag : ''},\n {name: 'checkSum', type: 'ULONG', value: checkSum !== undefined ? checkSum : 0},\n {name: 'offset', type: 'ULONG', value: offset !== undefined ? offset : 0},\n {name: 'length', type: 'ULONG', value: length !== undefined ? length : 0}\n ]);\n}\n\nfunction makeSfntTable(tables) {\n var sfnt = new table.Table('sfnt', [\n {name: 'version', type: 'TAG', value: 'OTTO'},\n {name: 'numTables', type: 'USHORT', value: 0},\n {name: 'searchRange', type: 'USHORT', value: 0},\n {name: 'entrySelector', type: 'USHORT', value: 0},\n {name: 'rangeShift', type: 'USHORT', value: 0}\n ]);\n sfnt.tables = tables;\n sfnt.numTables = tables.length;\n var highestPowerOf2 = Math.pow(2, log2(sfnt.numTables));\n sfnt.searchRange = 16 * highestPowerOf2;\n sfnt.entrySelector = log2(highestPowerOf2);\n sfnt.rangeShift = sfnt.numTables * 16 - sfnt.searchRange;\n\n var recordFields = [];\n var tableFields = [];\n\n var offset = sfnt.sizeOf() + (makeTableRecord().sizeOf() * sfnt.numTables);\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({name: 'padding', type: 'BYTE', value: 0});\n }\n\n for (var i = 0; i < tables.length; i += 1) {\n var t = tables[i];\n check.argument(t.tableName.length === 4, 'Table name' + t.tableName + ' is invalid.');\n var tableLength = t.sizeOf();\n var tableRecord = makeTableRecord(t.tableName, computeCheckSum(t.encode()), offset, tableLength);\n recordFields.push({name: tableRecord.tag + ' Table Record', type: 'RECORD', value: tableRecord});\n tableFields.push({name: t.tableName + ' table', type: 'RECORD', value: t});\n offset += tableLength;\n check.argument(!isNaN(offset), 'Something went wrong calculating the offset.');\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({name: 'padding', type: 'BYTE', value: 0});\n }\n }\n\n // Table records need to be sorted alphabetically.\n recordFields.sort(function(r1, r2) {\n if (r1.value.tag > r2.value.tag) {\n return 1;\n } else {\n return -1;\n }\n });\n\n sfnt.fields = sfnt.fields.concat(recordFields);\n sfnt.fields = sfnt.fields.concat(tableFields);\n return sfnt;\n}\n\n// Get the metrics for a character. If the string has more than one character\n// this function returns metrics for the first available character.\n// You can provide optional fallback metrics if no characters are available.\nfunction metricsForChar(font, chars, notFoundMetrics) {\n for (var i = 0; i < chars.length; i += 1) {\n var glyphIndex = font.charToGlyphIndex(chars[i]);\n if (glyphIndex > 0) {\n var glyph = font.glyphs.get(glyphIndex);\n return glyph.getMetrics();\n }\n }\n\n return notFoundMetrics;\n}\n\nfunction average(vs) {\n var sum = 0;\n for (var i = 0; i < vs.length; i += 1) {\n sum += vs[i];\n }\n\n return sum / vs.length;\n}\n\n// Convert the font object to a SFNT data structure.\n// This structure contains all the necessary tables and metadata to create a binary OTF file.\nfunction fontToSfntTable(font) {\n var xMins = [];\n var yMins = [];\n var xMaxs = [];\n var yMaxs = [];\n var advanceWidths = [];\n var leftSideBearings = [];\n var rightSideBearings = [];\n var firstCharIndex;\n var lastCharIndex = 0;\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n\n for (var i = 0; i < font.glyphs.length; i += 1) {\n var glyph = font.glyphs.get(i);\n var unicode = glyph.unicode | 0;\n\n if (isNaN(glyph.advanceWidth)) {\n throw new Error('Glyph ' + glyph.name + ' (' + i + '): advanceWidth is not a number.');\n }\n\n if (firstCharIndex > unicode || firstCharIndex === undefined) {\n // ignore .notdef char\n if (unicode > 0) {\n firstCharIndex = unicode;\n }\n }\n\n if (lastCharIndex < unicode) {\n lastCharIndex = unicode;\n }\n\n var position = os2.getUnicodeRange(unicode);\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new Error('Unicode ranges bits > 123 are reserved for internal usage');\n }\n // Skip non-important characters.\n if (glyph.name === '.notdef') { continue; }\n var metrics = glyph.getMetrics();\n xMins.push(metrics.xMin);\n yMins.push(metrics.yMin);\n xMaxs.push(metrics.xMax);\n yMaxs.push(metrics.yMax);\n leftSideBearings.push(metrics.leftSideBearing);\n rightSideBearings.push(metrics.rightSideBearing);\n advanceWidths.push(glyph.advanceWidth);\n }\n\n var globals = {\n xMin: Math.min.apply(null, xMins),\n yMin: Math.min.apply(null, yMins),\n xMax: Math.max.apply(null, xMaxs),\n yMax: Math.max.apply(null, yMaxs),\n advanceWidthMax: Math.max.apply(null, advanceWidths),\n advanceWidthAvg: average(advanceWidths),\n minLeftSideBearing: Math.min.apply(null, leftSideBearings),\n maxLeftSideBearing: Math.max.apply(null, leftSideBearings),\n minRightSideBearing: Math.min.apply(null, rightSideBearings)\n };\n globals.ascender = font.ascender;\n globals.descender = font.descender;\n\n var headTable = head.make({\n flags: 3, // 00000011 (baseline for font at y=0; left sidebearing point at x=0)\n unitsPerEm: font.unitsPerEm,\n xMin: globals.xMin,\n yMin: globals.yMin,\n xMax: globals.xMax,\n yMax: globals.yMax,\n lowestRecPPEM: 3,\n createdTimestamp: font.createdTimestamp\n });\n\n var hheaTable = hhea.make({\n ascender: globals.ascender,\n descender: globals.descender,\n advanceWidthMax: globals.advanceWidthMax,\n minLeftSideBearing: globals.minLeftSideBearing,\n minRightSideBearing: globals.minRightSideBearing,\n xMaxExtent: globals.maxLeftSideBearing + (globals.xMax - globals.xMin),\n numberOfHMetrics: font.glyphs.length\n });\n\n var maxpTable = maxp.make(font.glyphs.length);\n\n var os2Table = os2.make(Object.assign({\n xAvgCharWidth: Math.round(globals.advanceWidthAvg),\n usFirstCharIndex: firstCharIndex,\n usLastCharIndex: lastCharIndex,\n ulUnicodeRange1: ulUnicodeRange1,\n ulUnicodeRange2: ulUnicodeRange2,\n ulUnicodeRange3: ulUnicodeRange3,\n ulUnicodeRange4: ulUnicodeRange4,\n // See http://typophile.com/node/13081 for more info on vertical metrics.\n // We get metrics for typical characters (such as \"x\" for xHeight).\n // We provide some fallback characters if characters are unavailable: their\n // ordering was chosen experimentally.\n sTypoAscender: globals.ascender,\n sTypoDescender: globals.descender,\n sTypoLineGap: 0,\n usWinAscent: globals.yMax,\n usWinDescent: Math.abs(globals.yMin),\n ulCodePageRange1: 1, // FIXME: hard-code Latin 1 support for now\n sxHeight: metricsForChar(font, 'xyvw', {yMax: Math.round(globals.ascender / 2)}).yMax,\n sCapHeight: metricsForChar(font, 'HIKLEFJMNTZBDPRAGOQSUVWXY', globals).yMax,\n usDefaultChar: font.hasChar(' ') ? 32 : 0, // Use space as the default character, if available.\n usBreakChar: font.hasChar(' ') ? 32 : 0, // Use space as the break character, if available.\n }, font.tables.os2));\n\n var hmtxTable = hmtx.make(font.glyphs);\n var cmapTable = cmap.make(font.glyphs);\n\n var englishFamilyName = font.getEnglishName('fontFamily');\n var englishStyleName = font.getEnglishName('fontSubfamily');\n var englishFullName = englishFamilyName + ' ' + englishStyleName;\n var postScriptName = font.getEnglishName('postScriptName');\n if (!postScriptName) {\n postScriptName = englishFamilyName.replace(/\\s/g, '') + '-' + englishStyleName;\n }\n\n var names = {};\n for (var n in font.names) {\n names[n] = font.names[n];\n }\n\n if (!names.uniqueID) {\n names.uniqueID = {en: font.getEnglishName('manufacturer') + ':' + englishFullName};\n }\n\n if (!names.postScriptName) {\n names.postScriptName = {en: postScriptName};\n }\n\n if (!names.preferredFamily) {\n names.preferredFamily = font.names.fontFamily;\n }\n\n if (!names.preferredSubfamily) {\n names.preferredSubfamily = font.names.fontSubfamily;\n }\n\n var languageTags = [];\n var nameTable = _name.make(names, languageTags);\n var ltagTable = (languageTags.length > 0 ? ltag.make(languageTags) : undefined);\n\n var postTable = post.make();\n var cffTable = cff.make(font.glyphs, {\n version: font.getEnglishName('version'),\n fullName: englishFullName,\n familyName: englishFamilyName,\n weightName: englishStyleName,\n postScriptName: postScriptName,\n unitsPerEm: font.unitsPerEm,\n fontBBox: [0, globals.yMin, globals.ascender, globals.advanceWidthMax]\n });\n\n var metaTable = (font.metas && Object.keys(font.metas).length > 0) ? meta.make(font.metas) : undefined;\n\n // The order does not matter because makeSfntTable() will sort them.\n var tables = [headTable, hheaTable, maxpTable, os2Table, nameTable, cmapTable, postTable, cffTable, hmtxTable];\n if (ltagTable) {\n tables.push(ltagTable);\n }\n // Optional tables\n if (font.tables.gsub) {\n tables.push(gsub.make(font.tables.gsub));\n }\n if (metaTable) {\n tables.push(metaTable);\n }\n\n var sfntTable = makeSfntTable(tables);\n\n // Compute the font's checkSum and store it in head.checkSumAdjustment.\n var bytes = sfntTable.encode();\n var checkSum = computeCheckSum(bytes);\n var tableFields = sfntTable.fields;\n var checkSumAdjusted = false;\n for (var i$1 = 0; i$1 < tableFields.length; i$1 += 1) {\n if (tableFields[i$1].name === 'head table') {\n tableFields[i$1].value.checkSumAdjustment = 0xB1B0AFBA - checkSum;\n checkSumAdjusted = true;\n break;\n }\n }\n\n if (!checkSumAdjusted) {\n throw new Error('Could not find head table with checkSum to adjust.');\n }\n\n return sfntTable;\n}\n\nvar sfnt = { make: makeSfntTable, fontToTable: fontToSfntTable, computeCheckSum: computeCheckSum };\n\n// The Layout object is the prototype of Substitution objects, and provides\n\nfunction searchTag(arr, tag) {\n /* jshint bitwise: false */\n var imin = 0;\n var imax = arr.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n var val = arr[imid].tag;\n if (val === tag) {\n return imid;\n } else if (val < tag) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n // Not found: return -1-insertion point\n return -imin - 1;\n}\n\nfunction binSearch(arr, value) {\n /* jshint bitwise: false */\n var imin = 0;\n var imax = arr.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n var val = arr[imid];\n if (val === value) {\n return imid;\n } else if (val < value) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n // Not found: return -1-insertion point\n return -imin - 1;\n}\n\n// binary search in a list of ranges (coverage, class definition)\nfunction searchRange(ranges, value) {\n // jshint bitwise: false\n var range;\n var imin = 0;\n var imax = ranges.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n range = ranges[imid];\n var start = range.start;\n if (start === value) {\n return range;\n } else if (start < value) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n if (imin > 0) {\n range = ranges[imin - 1];\n if (value > range.end) { return 0; }\n return range;\n }\n}\n\n/**\n * @exports opentype.Layout\n * @class\n */\nfunction Layout(font, tableName) {\n this.font = font;\n this.tableName = tableName;\n}\n\nLayout.prototype = {\n\n /**\n * Binary search an object by \"tag\" property\n * @instance\n * @function searchTag\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {string} tag\n * @return {number}\n */\n searchTag: searchTag,\n\n /**\n * Binary search in a list of numbers\n * @instance\n * @function binSearch\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {number} value\n * @return {number}\n */\n binSearch: binSearch,\n\n /**\n * Get or create the Layout table (GSUB, GPOS etc).\n * @param {boolean} create - Whether to create a new one.\n * @return {Object} The GSUB or GPOS table.\n */\n getTable: function(create) {\n var layout = this.font.tables[this.tableName];\n if (!layout && create) {\n layout = this.font.tables[this.tableName] = this.createDefaultTable();\n }\n return layout;\n },\n\n /**\n * Returns all scripts in the substitution table.\n * @instance\n * @return {Array}\n */\n getScriptNames: function() {\n var layout = this.getTable();\n if (!layout) { return []; }\n return layout.scripts.map(function(script) {\n return script.tag;\n });\n },\n\n /**\n * Returns the best bet for a script name.\n * Returns 'DFLT' if it exists.\n * If not, returns 'latn' if it exists.\n * If neither exist, returns undefined.\n */\n getDefaultScriptName: function() {\n var layout = this.getTable();\n if (!layout) { return; }\n var hasLatn = false;\n for (var i = 0; i < layout.scripts.length; i++) {\n var name = layout.scripts[i].tag;\n if (name === 'DFLT') { return name; }\n if (name === 'latn') { hasLatn = true; }\n }\n if (hasLatn) { return 'latn'; }\n },\n\n /**\n * Returns all LangSysRecords in the given script.\n * @instance\n * @param {string} [script='DFLT']\n * @param {boolean} create - forces the creation of this script table if it doesn't exist.\n * @return {Object} An object with tag and script properties.\n */\n getScriptTable: function(script, create) {\n var layout = this.getTable(create);\n if (layout) {\n script = script || 'DFLT';\n var scripts = layout.scripts;\n var pos = searchTag(layout.scripts, script);\n if (pos >= 0) {\n return scripts[pos].script;\n } else if (create) {\n var scr = {\n tag: script,\n script: {\n defaultLangSys: {reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: []},\n langSysRecords: []\n }\n };\n scripts.splice(-1 - pos, 0, scr);\n return scr.script;\n }\n }\n },\n\n /**\n * Returns a language system table\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {boolean} create - forces the creation of this langSysTable if it doesn't exist.\n * @return {Object}\n */\n getLangSysTable: function(script, language, create) {\n var scriptTable = this.getScriptTable(script, create);\n if (scriptTable) {\n if (!language || language === 'dflt' || language === 'DFLT') {\n return scriptTable.defaultLangSys;\n }\n var pos = searchTag(scriptTable.langSysRecords, language);\n if (pos >= 0) {\n return scriptTable.langSysRecords[pos].langSys;\n } else if (create) {\n var langSysRecord = {\n tag: language,\n langSys: {reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: []}\n };\n scriptTable.langSysRecords.splice(-1 - pos, 0, langSysRecord);\n return langSysRecord.langSys;\n }\n }\n },\n\n /**\n * Get a specific feature table.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - One of the codes listed at https://www.microsoft.com/typography/OTSPEC/featurelist.htm\n * @param {boolean} create - forces the creation of the feature table if it doesn't exist.\n * @return {Object}\n */\n getFeatureTable: function(script, language, feature, create) {\n var langSysTable = this.getLangSysTable(script, language, create);\n if (langSysTable) {\n var featureRecord;\n var featIndexes = langSysTable.featureIndexes;\n var allFeatures = this.font.tables[this.tableName].features;\n // The FeatureIndex array of indices is in arbitrary order,\n // even if allFeatures is sorted alphabetically by feature tag.\n for (var i = 0; i < featIndexes.length; i++) {\n featureRecord = allFeatures[featIndexes[i]];\n if (featureRecord.tag === feature) {\n return featureRecord.feature;\n }\n }\n if (create) {\n var index = allFeatures.length;\n // Automatic ordering of features would require to shift feature indexes in the script list.\n check.assert(index === 0 || feature >= allFeatures[index - 1].tag, 'Features must be added in alphabetical order.');\n featureRecord = {\n tag: feature,\n feature: { params: 0, lookupListIndexes: [] }\n };\n allFeatures.push(featureRecord);\n featIndexes.push(index);\n return featureRecord.feature;\n }\n }\n },\n\n /**\n * Get the lookup tables of a given type for a script/language/feature.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - 4-letter feature code\n * @param {number} lookupType - 1 to 9\n * @param {boolean} create - forces the creation of the lookup table if it doesn't exist, with no subtables.\n * @return {Object[]}\n */\n getLookupTables: function(script, language, feature, lookupType, create) {\n var featureTable = this.getFeatureTable(script, language, feature, create);\n var tables = [];\n if (featureTable) {\n var lookupTable;\n var lookupListIndexes = featureTable.lookupListIndexes;\n var allLookups = this.font.tables[this.tableName].lookups;\n // lookupListIndexes are in no particular order, so use naive search.\n for (var i = 0; i < lookupListIndexes.length; i++) {\n lookupTable = allLookups[lookupListIndexes[i]];\n if (lookupTable.lookupType === lookupType) {\n tables.push(lookupTable);\n }\n }\n if (tables.length === 0 && create) {\n lookupTable = {\n lookupType: lookupType,\n lookupFlag: 0,\n subtables: [],\n markFilteringSet: undefined\n };\n var index = allLookups.length;\n allLookups.push(lookupTable);\n lookupListIndexes.push(index);\n return [lookupTable];\n }\n }\n return tables;\n },\n\n /**\n * Find a glyph in a class definition table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#class-definition-table\n * @param {object} classDefTable - an OpenType Layout class definition table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getGlyphClass: function(classDefTable, glyphIndex) {\n switch (classDefTable.format) {\n case 1:\n if (classDefTable.startGlyph <= glyphIndex && glyphIndex < classDefTable.startGlyph + classDefTable.classes.length) {\n return classDefTable.classes[glyphIndex - classDefTable.startGlyph];\n }\n return 0;\n case 2:\n var range = searchRange(classDefTable.ranges, glyphIndex);\n return range ? range.classId : 0;\n }\n },\n\n /**\n * Find a glyph in a coverage table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#coverage-table\n * @param {object} coverageTable - an OpenType Layout coverage table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getCoverageIndex: function(coverageTable, glyphIndex) {\n switch (coverageTable.format) {\n case 1:\n var index = binSearch(coverageTable.glyphs, glyphIndex);\n return index >= 0 ? index : -1;\n case 2:\n var range = searchRange(coverageTable.ranges, glyphIndex);\n return range ? range.index + glyphIndex - range.start : -1;\n }\n },\n\n /**\n * Returns the list of glyph indexes of a coverage table.\n * Format 1: the list is stored raw\n * Format 2: compact list as range records.\n * @instance\n * @param {Object} coverageTable\n * @return {Array}\n */\n expandCoverage: function(coverageTable) {\n if (coverageTable.format === 1) {\n return coverageTable.glyphs;\n } else {\n var glyphs = [];\n var ranges = coverageTable.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var start = range.start;\n var end = range.end;\n for (var j = start; j <= end; j++) {\n glyphs.push(j);\n }\n }\n return glyphs;\n }\n }\n\n};\n\n// The Position object provides utility methods to manipulate\n\n/**\n * @exports opentype.Position\n * @class\n * @extends opentype.Layout\n * @param {opentype.Font}\n * @constructor\n */\nfunction Position(font) {\n Layout.call(this, font, 'gpos');\n}\n\nPosition.prototype = Layout.prototype;\n\n/**\n * Init some data for faster and easier access later.\n */\nPosition.prototype.init = function() {\n var script = this.getDefaultScriptName();\n this.defaultKerningTables = this.getKerningTables(script);\n};\n\n/**\n * Find a glyph pair in a list of lookup tables of type 2 and retrieve the xAdvance kerning value.\n *\n * @param {integer} leftIndex - left glyph index\n * @param {integer} rightIndex - right glyph index\n * @returns {integer}\n */\nPosition.prototype.getKerningValue = function(kerningLookups, leftIndex, rightIndex) {\n for (var i = 0; i < kerningLookups.length; i++) {\n var subtables = kerningLookups[i].subtables;\n for (var j = 0; j < subtables.length; j++) {\n var subtable = subtables[j];\n var covIndex = this.getCoverageIndex(subtable.coverage, leftIndex);\n if (covIndex < 0) { continue; }\n switch (subtable.posFormat) {\n case 1:\n // Search Pair Adjustment Positioning Format 1\n var pairSet = subtable.pairSets[covIndex];\n for (var k = 0; k < pairSet.length; k++) {\n var pair = pairSet[k];\n if (pair.secondGlyph === rightIndex) {\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n break; // left glyph found, not right glyph - try next subtable\n case 2:\n // Search Pair Adjustment Positioning Format 2\n var class1 = this.getGlyphClass(subtable.classDef1, leftIndex);\n var class2 = this.getGlyphClass(subtable.classDef2, rightIndex);\n var pair$1 = subtable.classRecords[class1][class2];\n return pair$1.value1 && pair$1.value1.xAdvance || 0;\n }\n }\n }\n return 0;\n};\n\n/**\n * List all kerning lookup tables.\n *\n * @param {string} [script='DFLT'] - use font.position.getDefaultScriptName() for a better default value\n * @param {string} [language='dflt']\n * @return {object[]} The list of kerning lookup tables (may be empty), or undefined if there is no GPOS table (and we should use the kern table)\n */\nPosition.prototype.getKerningTables = function(script, language) {\n if (this.font.tables.gpos) {\n return this.getLookupTables(script, language, 'kern', 2);\n }\n};\n\n// The Substitution object provides utility methods to manipulate\n\n/**\n * @exports opentype.Substitution\n * @class\n * @extends opentype.Layout\n * @param {opentype.Font}\n * @constructor\n */\nfunction Substitution(font) {\n Layout.call(this, font, 'gsub');\n}\n\n// Check if 2 arrays of primitives are equal.\nfunction arraysEqual(ar1, ar2) {\n var n = ar1.length;\n if (n !== ar2.length) { return false; }\n for (var i = 0; i < n; i++) {\n if (ar1[i] !== ar2[i]) { return false; }\n }\n return true;\n}\n\n// Find the first subtable of a lookup table in a particular format.\nfunction getSubstFormat(lookupTable, format, defaultSubtable) {\n var subtables = lookupTable.subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n if (subtable.substFormat === format) {\n return subtable;\n }\n }\n if (defaultSubtable) {\n subtables.push(defaultSubtable);\n return defaultSubtable;\n }\n return undefined;\n}\n\nSubstitution.prototype = Layout.prototype;\n\n/**\n * Create a default GSUB table.\n * @return {Object} gsub - The GSUB table.\n */\nSubstitution.prototype.createDefaultTable = function() {\n // Generate a default empty GSUB table with just a DFLT script and dflt lang sys.\n return {\n version: 1,\n scripts: [{\n tag: 'DFLT',\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: [] },\n langSysRecords: []\n }\n }],\n features: [],\n lookups: []\n };\n};\n\n/**\n * List all single substitutions (lookup type 1) for a given script, language, and feature.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @param {string} feature - 4-character feature name ('aalt', 'salt', 'ss01'...)\n * @return {Array} substitutions - The list of substitutions.\n */\nSubstitution.prototype.getSingle = function(feature, script, language) {\n var substitutions = [];\n var lookupTables = this.getLookupTables(script, language, feature, 1);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var j = (void 0);\n if (subtable.substFormat === 1) {\n var delta = subtable.deltaGlyphId;\n for (j = 0; j < glyphs.length; j++) {\n var glyph = glyphs[j];\n substitutions.push({ sub: glyph, by: glyph + delta });\n }\n } else {\n var substitute = subtable.substitute;\n for (j = 0; j < glyphs.length; j++) {\n substitutions.push({ sub: glyphs[j], by: substitute[j] });\n }\n }\n }\n }\n return substitutions;\n};\n\n/**\n * List all alternates (lookup type 3) for a given script, language, and feature.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @param {string} feature - 4-character feature name ('aalt', 'salt'...)\n * @return {Array} alternates - The list of alternates\n */\nSubstitution.prototype.getAlternates = function(feature, script, language) {\n var alternates = [];\n var lookupTables = this.getLookupTables(script, language, feature, 3);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var alternateSets = subtable.alternateSets;\n for (var j = 0; j < glyphs.length; j++) {\n alternates.push({ sub: glyphs[j], by: alternateSets[j] });\n }\n }\n }\n return alternates;\n};\n\n/**\n * List all ligatures (lookup type 4) for a given script, language, and feature.\n * The result is an array of ligature objects like { sub: [ids], by: id }\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @return {Array} ligatures - The list of ligatures.\n */\nSubstitution.prototype.getLigatures = function(feature, script, language) {\n var ligatures = [];\n var lookupTables = this.getLookupTables(script, language, feature, 4);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var ligatureSets = subtable.ligatureSets;\n for (var j = 0; j < glyphs.length; j++) {\n var startGlyph = glyphs[j];\n var ligSet = ligatureSets[j];\n for (var k = 0; k < ligSet.length; k++) {\n var lig = ligSet[k];\n ligatures.push({\n sub: [startGlyph].concat(lig.components),\n by: lig.ligGlyph\n });\n }\n }\n }\n }\n return ligatures;\n};\n\n/**\n * Add or modify a single substitution (lookup type 1)\n * Format 2, more flexible, is always used.\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} substitution - { sub: id, delta: number } for format 1 or { sub: id, by: id } for format 2.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addSingle = function(feature, substitution, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 1, true)[0];\n var subtable = getSubstFormat(lookupTable, 2, { // lookup type 1 subtable, format 2, coverage format 1\n substFormat: 2,\n coverage: {format: 1, glyphs: []},\n substitute: []\n });\n check.assert(subtable.coverage.format === 1, 'Ligature: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = substitution.sub;\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.substitute.splice(pos, 0, 0);\n }\n subtable.substitute[pos] = substitution.by;\n};\n\n/**\n * Add or modify an alternate substitution (lookup type 1)\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} substitution - { sub: id, by: [ids] }\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addAlternate = function(feature, substitution, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 3, true)[0];\n var subtable = getSubstFormat(lookupTable, 1, { // lookup type 3 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: {format: 1, glyphs: []},\n alternateSets: []\n });\n check.assert(subtable.coverage.format === 1, 'Ligature: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = substitution.sub;\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.alternateSets.splice(pos, 0, 0);\n }\n subtable.alternateSets[pos] = substitution.by;\n};\n\n/**\n * Add a ligature (lookup type 4)\n * Ligatures with more components must be stored ahead of those with fewer components in order to be found\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} ligature - { sub: [ids], by: id }\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addLigature = function(feature, ligature, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 4, true)[0];\n var subtable = lookupTable.subtables[0];\n if (!subtable) {\n subtable = { // lookup type 4 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n ligatureSets: []\n };\n lookupTable.subtables[0] = subtable;\n }\n check.assert(subtable.coverage.format === 1, 'Ligature: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = ligature.sub[0];\n var ligComponents = ligature.sub.slice(1);\n var ligatureTable = {\n ligGlyph: ligature.by,\n components: ligComponents\n };\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos >= 0) {\n // ligatureSet already exists\n var ligatureSet = subtable.ligatureSets[pos];\n for (var i = 0; i < ligatureSet.length; i++) {\n // If ligature already exists, return.\n if (arraysEqual(ligatureSet[i].components, ligComponents)) {\n return;\n }\n }\n // ligature does not exist: add it.\n ligatureSet.push(ligatureTable);\n } else {\n // Create a new ligatureSet and add coverage for the first glyph.\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.ligatureSets.splice(pos, 0, [ligatureTable]);\n }\n};\n\n/**\n * List all feature data for a given script and language.\n * @param {string} feature - 4-letter feature name\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @return {Array} substitutions - The list of substitutions.\n */\nSubstitution.prototype.getFeature = function(feature, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n // ss01 - ss20\n return this.getSingle(feature, script, language);\n }\n switch (feature) {\n case 'aalt':\n case 'salt':\n return this.getSingle(feature, script, language)\n .concat(this.getAlternates(feature, script, language));\n case 'dlig':\n case 'liga':\n case 'rlig': return this.getLigatures(feature, script, language);\n }\n return undefined;\n};\n\n/**\n * Add a substitution to a feature for a given script and language.\n * @param {string} feature - 4-letter feature name\n * @param {Object} sub - the substitution to add (an object like { sub: id or [ids], by: id or [ids] })\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.add = function(feature, sub, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n // ss01 - ss20\n return this.addSingle(feature, sub, script, language);\n }\n switch (feature) {\n case 'aalt':\n case 'salt':\n if (typeof sub.by === 'number') {\n return this.addSingle(feature, sub, script, language);\n }\n return this.addAlternate(feature, sub, script, language);\n case 'dlig':\n case 'liga':\n case 'rlig':\n return this.addLigature(feature, sub, script, language);\n }\n return undefined;\n};\n\nfunction isBrowser() {\n return typeof window !== 'undefined';\n}\n\nfunction nodeBufferToArrayBuffer(buffer) {\n var ab = new ArrayBuffer(buffer.length);\n var view = new Uint8Array(ab);\n for (var i = 0; i < buffer.length; ++i) {\n view[i] = buffer[i];\n }\n\n return ab;\n}\n\nfunction arrayBufferToNodeBuffer(ab) {\n var buffer = new Buffer(ab.byteLength);\n var view = new Uint8Array(ab);\n for (var i = 0; i < buffer.length; ++i) {\n buffer[i] = view[i];\n }\n\n return buffer;\n}\n\nfunction checkArgument(expression, message) {\n if (!expression) {\n throw message;\n }\n}\n\n// The `glyf` table describes the glyphs in TrueType outline format.\n\n// Parse the coordinate data for a glyph.\nfunction parseGlyphCoordinate(p, flag, previousValue, shortVectorBitMask, sameBitMask) {\n var v;\n if ((flag & shortVectorBitMask) > 0) {\n // The coordinate is 1 byte long.\n v = p.parseByte();\n // The `same` bit is re-used for short values to signify the sign of the value.\n if ((flag & sameBitMask) === 0) {\n v = -v;\n }\n\n v = previousValue + v;\n } else {\n // The coordinate is 2 bytes long.\n // If the `same` bit is set, the coordinate is the same as the previous coordinate.\n if ((flag & sameBitMask) > 0) {\n v = previousValue;\n } else {\n // Parse the coordinate as a signed 16-bit delta value.\n v = previousValue + p.parseShort();\n }\n }\n\n return v;\n}\n\n// Parse a TrueType glyph.\nfunction parseGlyph(glyph, data, start) {\n var p = new parse.Parser(data, start);\n glyph.numberOfContours = p.parseShort();\n glyph._xMin = p.parseShort();\n glyph._yMin = p.parseShort();\n glyph._xMax = p.parseShort();\n glyph._yMax = p.parseShort();\n var flags;\n var flag;\n\n if (glyph.numberOfContours > 0) {\n // This glyph is not a composite.\n var endPointIndices = glyph.endPointIndices = [];\n for (var i = 0; i < glyph.numberOfContours; i += 1) {\n endPointIndices.push(p.parseUShort());\n }\n\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (var i$1 = 0; i$1 < glyph.instructionLength; i$1 += 1) {\n glyph.instructions.push(p.parseByte());\n }\n\n var numberOfCoordinates = endPointIndices[endPointIndices.length - 1] + 1;\n flags = [];\n for (var i$2 = 0; i$2 < numberOfCoordinates; i$2 += 1) {\n flag = p.parseByte();\n flags.push(flag);\n // If bit 3 is set, we repeat this flag n times, where n is the next byte.\n if ((flag & 8) > 0) {\n var repeatCount = p.parseByte();\n for (var j = 0; j < repeatCount; j += 1) {\n flags.push(flag);\n i$2 += 1;\n }\n }\n }\n\n check.argument(flags.length === numberOfCoordinates, 'Bad flags.');\n\n if (endPointIndices.length > 0) {\n var points = [];\n var point;\n // X/Y coordinates are relative to the previous point, except for the first point which is relative to 0,0.\n if (numberOfCoordinates > 0) {\n for (var i$3 = 0; i$3 < numberOfCoordinates; i$3 += 1) {\n flag = flags[i$3];\n point = {};\n point.onCurve = !!(flag & 1);\n point.lastPointOfContour = endPointIndices.indexOf(i$3) >= 0;\n points.push(point);\n }\n\n var px = 0;\n for (var i$4 = 0; i$4 < numberOfCoordinates; i$4 += 1) {\n flag = flags[i$4];\n point = points[i$4];\n point.x = parseGlyphCoordinate(p, flag, px, 2, 16);\n px = point.x;\n }\n\n var py = 0;\n for (var i$5 = 0; i$5 < numberOfCoordinates; i$5 += 1) {\n flag = flags[i$5];\n point = points[i$5];\n point.y = parseGlyphCoordinate(p, flag, py, 4, 32);\n py = point.y;\n }\n }\n\n glyph.points = points;\n } else {\n glyph.points = [];\n }\n } else if (glyph.numberOfContours === 0) {\n glyph.points = [];\n } else {\n glyph.isComposite = true;\n glyph.points = [];\n glyph.components = [];\n var moreComponents = true;\n while (moreComponents) {\n flags = p.parseUShort();\n var component = {\n glyphIndex: p.parseUShort(),\n xScale: 1,\n scale01: 0,\n scale10: 0,\n yScale: 1,\n dx: 0,\n dy: 0\n };\n if ((flags & 1) > 0) {\n // The arguments are words\n if ((flags & 2) > 0) {\n // values are offset\n component.dx = p.parseShort();\n component.dy = p.parseShort();\n } else {\n // values are matched points\n component.matchedPoints = [p.parseUShort(), p.parseUShort()];\n }\n\n } else {\n // The arguments are bytes\n if ((flags & 2) > 0) {\n // values are offset\n component.dx = p.parseChar();\n component.dy = p.parseChar();\n } else {\n // values are matched points\n component.matchedPoints = [p.parseByte(), p.parseByte()];\n }\n }\n\n if ((flags & 8) > 0) {\n // We have a scale\n component.xScale = component.yScale = p.parseF2Dot14();\n } else if ((flags & 64) > 0) {\n // We have an X / Y scale\n component.xScale = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n } else if ((flags & 128) > 0) {\n // We have a 2x2 transformation\n component.xScale = p.parseF2Dot14();\n component.scale01 = p.parseF2Dot14();\n component.scale10 = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n }\n\n glyph.components.push(component);\n moreComponents = !!(flags & 32);\n }\n if (flags & 0x100) {\n // We have instructions\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (var i$6 = 0; i$6 < glyph.instructionLength; i$6 += 1) {\n glyph.instructions.push(p.parseByte());\n }\n }\n }\n}\n\n// Transform an array of points and return a new array.\nfunction transformPoints(points, transform) {\n var newPoints = [];\n for (var i = 0; i < points.length; i += 1) {\n var pt = points[i];\n var newPt = {\n x: transform.xScale * pt.x + transform.scale01 * pt.y + transform.dx,\n y: transform.scale10 * pt.x + transform.yScale * pt.y + transform.dy,\n onCurve: pt.onCurve,\n lastPointOfContour: pt.lastPointOfContour\n };\n newPoints.push(newPt);\n }\n\n return newPoints;\n}\n\nfunction getContours(points) {\n var contours = [];\n var currentContour = [];\n for (var i = 0; i < points.length; i += 1) {\n var pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n\n check.argument(currentContour.length === 0, 'There are still points left in the current contour.');\n return contours;\n}\n\n// Convert the TrueType glyph outline to a Path.\nfunction getPath(points) {\n var p = new Path();\n if (!points) {\n return p;\n }\n\n var contours = getContours(points);\n\n for (var contourIndex = 0; contourIndex < contours.length; ++contourIndex) {\n var contour = contours[contourIndex];\n\n var prev = null;\n var curr = contour[contour.length - 1];\n var next = contour[0];\n\n if (curr.onCurve) {\n p.moveTo(curr.x, curr.y);\n } else {\n if (next.onCurve) {\n p.moveTo(next.x, next.y);\n } else {\n // If both first and last points are off-curve, start at their middle.\n var start = {x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5};\n p.moveTo(start.x, start.y);\n }\n }\n\n for (var i = 0; i < contour.length; ++i) {\n prev = curr;\n curr = next;\n next = contour[(i + 1) % contour.length];\n\n if (curr.onCurve) {\n // This is a straight line.\n p.lineTo(curr.x, curr.y);\n } else {\n var prev2 = prev;\n var next2 = next;\n\n if (!prev.onCurve) {\n prev2 = { x: (curr.x + prev.x) * 0.5, y: (curr.y + prev.y) * 0.5 };\n }\n\n if (!next.onCurve) {\n next2 = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n }\n\n p.quadraticCurveTo(curr.x, curr.y, next2.x, next2.y);\n }\n }\n\n p.closePath();\n }\n return p;\n}\n\nfunction buildPath(glyphs, glyph) {\n if (glyph.isComposite) {\n for (var j = 0; j < glyph.components.length; j += 1) {\n var component = glyph.components[j];\n var componentGlyph = glyphs.get(component.glyphIndex);\n // Force the ttfGlyphLoader to parse the glyph.\n componentGlyph.getPath();\n if (componentGlyph.points) {\n var transformedPoints = (void 0);\n if (component.matchedPoints === undefined) {\n // component positioned by offset\n transformedPoints = transformPoints(componentGlyph.points, component);\n } else {\n // component positioned by matched points\n if ((component.matchedPoints[0] > glyph.points.length - 1) ||\n (component.matchedPoints[1] > componentGlyph.points.length - 1)) {\n throw Error('Matched points out of range in ' + glyph.name);\n }\n var firstPt = glyph.points[component.matchedPoints[0]];\n var secondPt = componentGlyph.points[component.matchedPoints[1]];\n var transform = {\n xScale: component.xScale, scale01: component.scale01,\n scale10: component.scale10, yScale: component.yScale,\n dx: 0, dy: 0\n };\n secondPt = transformPoints([secondPt], transform)[0];\n transform.dx = firstPt.x - secondPt.x;\n transform.dy = firstPt.y - secondPt.y;\n transformedPoints = transformPoints(componentGlyph.points, transform);\n }\n glyph.points = glyph.points.concat(transformedPoints);\n }\n }\n }\n\n return getPath(glyph.points);\n}\n\nfunction parseGlyfTableAll(data, start, loca, font) {\n var glyphs = new glyphset.GlyphSet(font);\n\n // The last element of the loca table is invalid.\n for (var i = 0; i < loca.length - 1; i += 1) {\n var offset = loca[i];\n var nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset.glyphLoader(font, i));\n }\n }\n\n return glyphs;\n}\n\nfunction parseGlyfTableOnLowMemory(data, start, loca, font) {\n var glyphs = new glyphset.GlyphSet(font);\n\n font._push = function(i) {\n var offset = loca[i];\n var nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset.glyphLoader(font, i));\n }\n };\n\n return glyphs;\n}\n\n// Parse all the glyphs according to the offsets from the `loca` table.\nfunction parseGlyfTable(data, start, loca, font, opt) {\n if (opt.lowMemory)\n { return parseGlyfTableOnLowMemory(data, start, loca, font); }\n else\n { return parseGlyfTableAll(data, start, loca, font); }\n}\n\nvar glyf = { getPath: getPath, parse: parseGlyfTable};\n\n/* A TrueType font hinting interpreter.\n*\n* (c) 2017 Axel Kittenberger\n*\n* This interpreter has been implemented according to this documentation:\n* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM05/Chap5.html\n*\n* According to the documentation F24DOT6 values are used for pixels.\n* That means calculation is 1/64 pixel accurate and uses integer operations.\n* However, Javascript has floating point operations by default and only\n* those are available. One could make a case to simulate the 1/64 accuracy\n* exactly by truncating after every division operation\n* (for example with << 0) to get pixel exactly results as other TrueType\n* implementations. It may make sense since some fonts are pixel optimized\n* by hand using DELTAP instructions. The current implementation doesn't\n* and rather uses full floating point precision.\n*\n* xScale, yScale and rotation is currently ignored.\n*\n* A few non-trivial instructions are missing as I didn't encounter yet\n* a font that used them to test a possible implementation.\n*\n* Some fonts seem to use undocumented features regarding the twilight zone.\n* Only some of them are implemented as they were encountered.\n*\n* The exports.DEBUG statements are removed on the minified distribution file.\n*/\n\nvar instructionTable;\nvar exec;\nvar execGlyph;\nvar execComponent;\n\n/*\n* Creates a hinting object.\n*\n* There ought to be exactly one\n* for each truetype font that is used for hinting.\n*/\nfunction Hinting(font) {\n // the font this hinting object is for\n this.font = font;\n\n this.getCommands = function (hPoints) {\n return glyf.getPath(hPoints).commands;\n };\n\n // cached states\n this._fpgmState =\n this._prepState =\n undefined;\n\n // errorState\n // 0 ... all okay\n // 1 ... had an error in a glyf,\n // continue working but stop spamming\n // the console\n // 2 ... error at prep, stop hinting at this ppem\n // 3 ... error at fpeg, stop hinting for this font at all\n this._errorState = 0;\n}\n\n/*\n* Not rounding.\n*/\nfunction roundOff(v) {\n return v;\n}\n\n/*\n* Rounding to grid.\n*/\nfunction roundToGrid(v) {\n //Rounding in TT is supposed to \"symmetrical around zero\"\n return Math.sign(v) * Math.round(Math.abs(v));\n}\n\n/*\n* Rounding to double grid.\n*/\nfunction roundToDoubleGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v * 2)) / 2;\n}\n\n/*\n* Rounding to half grid.\n*/\nfunction roundToHalfGrid(v) {\n return Math.sign(v) * (Math.round(Math.abs(v) + 0.5) - 0.5);\n}\n\n/*\n* Rounding to up to grid.\n*/\nfunction roundUpToGrid(v) {\n return Math.sign(v) * Math.ceil(Math.abs(v));\n}\n\n/*\n* Rounding to down to grid.\n*/\nfunction roundDownToGrid(v) {\n return Math.sign(v) * Math.floor(Math.abs(v));\n}\n\n/*\n* Super rounding.\n*/\nvar roundSuper = function (v) {\n var period = this.srPeriod;\n var phase = this.srPhase;\n var threshold = this.srThreshold;\n var sign = 1;\n\n if (v < 0) {\n v = -v;\n sign = -1;\n }\n\n v += threshold - phase;\n\n v = Math.trunc(v / period) * period;\n\n v += phase;\n\n // according to http://xgridfit.sourceforge.net/round.html\n if (v < 0) { return phase * sign; }\n\n return v * sign;\n};\n\n/*\n* Unit vector of x-axis.\n*/\nvar xUnitVector = {\n x: 1,\n\n y: 0,\n\n axis: 'x',\n\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function (p1, p2, o1, o2) {\n return (o1 ? p1.xo : p1.x) - (o2 ? p2.xo : p2.x);\n },\n\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function (p, rp1, rp2, pv) {\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dm1;\n var dm2;\n var dt;\n\n if (!pv || pv === this) {\n do1 = p.xo - rp1.xo;\n do2 = p.xo - rp2.xo;\n dm1 = rp1.x - rp1.xo;\n dm2 = rp2.x - rp2.xo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n p.x = p.xo + (dm1 + dm2) / 2;\n return;\n }\n\n p.x = p.xo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n xUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n xUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n\n // Slope of line normal to this\n normalSlope: Number.NEGATIVE_INFINITY,\n\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'.\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function (p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.x = (org ? rp.xo : rp.x) + d;\n return;\n }\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n p.x = rpdx + (p.y - rpdy) / pv.normalSlope;\n },\n\n // Slope of vector line.\n slope: 0,\n\n // Touches the point p.\n touch: function (p) {\n p.xTouched = true;\n },\n\n // Tests if a point p is touched.\n touched: function (p) {\n return p.xTouched;\n },\n\n // Untouches the point p.\n untouch: function (p) {\n p.xTouched = false;\n }\n};\n\n/*\n* Unit vector of y-axis.\n*/\nvar yUnitVector = {\n x: 0,\n\n y: 1,\n\n axis: 'y',\n\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function (p1, p2, o1, o2) {\n return (o1 ? p1.yo : p1.y) - (o2 ? p2.yo : p2.y);\n },\n\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function (p, rp1, rp2, pv) {\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dm1;\n var dm2;\n var dt;\n\n if (!pv || pv === this) {\n do1 = p.yo - rp1.yo;\n do2 = p.yo - rp2.yo;\n dm1 = rp1.y - rp1.yo;\n dm2 = rp2.y - rp2.yo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n p.y = p.yo + (dm1 + dm2) / 2;\n return;\n }\n\n p.y = p.yo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n yUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n yUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n\n // Slope of line normal to this.\n normalSlope: 0,\n\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function (p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.y = (org ? rp.yo : rp.y) + d;\n return;\n }\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n p.y = rpdy + pv.normalSlope * (p.x - rpdx);\n },\n\n // Slope of vector line.\n slope: Number.POSITIVE_INFINITY,\n\n // Touches the point p.\n touch: function (p) {\n p.yTouched = true;\n },\n\n // Tests if a point p is touched.\n touched: function (p) {\n return p.yTouched;\n },\n\n // Untouches the point p.\n untouch: function (p) {\n p.yTouched = false;\n }\n};\n\nObject.freeze(xUnitVector);\nObject.freeze(yUnitVector);\n\n/*\n* Creates a unit vector that is not x- or y-axis.\n*/\nfunction UnitVector(x, y) {\n this.x = x;\n this.y = y;\n this.axis = undefined;\n this.slope = y / x;\n this.normalSlope = -x / y;\n Object.freeze(this);\n}\n\n/*\n* Gets the projected distance between two points.\n* o1/o2 ... if true, respective original position is used.\n*/\nUnitVector.prototype.distance = function(p1, p2, o1, o2) {\n return (\n this.x * xUnitVector.distance(p1, p2, o1, o2) +\n this.y * yUnitVector.distance(p1, p2, o1, o2)\n );\n};\n\n/*\n* Moves point p so the moved position has the same relative\n* position to the moved positions of rp1 and rp2 than the\n* original positions had.\n*\n* See APPENDIX on INTERPOLATE at the bottom of this file.\n*/\nUnitVector.prototype.interpolate = function(p, rp1, rp2, pv) {\n var dm1;\n var dm2;\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dt;\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n this.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n this.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n};\n\n/*\n* Sets the point 'p' relative to point 'rp'\n* by the distance 'd'\n*\n* See APPENDIX on SETRELATIVE at the bottom of this file.\n*\n* p ... point to set\n* rp ... reference point\n* d ... distance on projection vector\n* pv ... projection vector (undefined = this)\n* org ... if true, uses the original position of rp as reference.\n*/\nUnitVector.prototype.setRelative = function(p, rp, d, pv, org) {\n pv = pv || this;\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n var pvns = pv.normalSlope;\n var fvs = this.slope;\n\n var px = p.x;\n var py = p.y;\n\n p.x = (fvs * px - pvns * rpdx + rpdy - py) / (fvs - pvns);\n p.y = fvs * (p.x - px) + py;\n};\n\n/*\n* Touches the point p.\n*/\nUnitVector.prototype.touch = function(p) {\n p.xTouched = true;\n p.yTouched = true;\n};\n\n/*\n* Returns a unit vector with x/y coordinates.\n*/\nfunction getUnitVector(x, y) {\n var d = Math.sqrt(x * x + y * y);\n\n x /= d;\n y /= d;\n\n if (x === 1 && y === 0) { return xUnitVector; }\n else if (x === 0 && y === 1) { return yUnitVector; }\n else { return new UnitVector(x, y); }\n}\n\n/*\n* Creates a point in the hinting engine.\n*/\nfunction HPoint(\n x,\n y,\n lastPointOfContour,\n onCurve\n) {\n this.x = this.xo = Math.round(x * 64) / 64; // hinted x value and original x-value\n this.y = this.yo = Math.round(y * 64) / 64; // hinted y value and original y-value\n\n this.lastPointOfContour = lastPointOfContour;\n this.onCurve = onCurve;\n this.prevPointOnContour = undefined;\n this.nextPointOnContour = undefined;\n this.xTouched = false;\n this.yTouched = false;\n\n Object.preventExtensions(this);\n}\n\n/*\n* Returns the next touched point on the contour.\n*\n* v ... unit vector to test touch axis.\n*/\nHPoint.prototype.nextTouched = function(v) {\n var p = this.nextPointOnContour;\n\n while (!v.touched(p) && p !== this) { p = p.nextPointOnContour; }\n\n return p;\n};\n\n/*\n* Returns the previous touched point on the contour\n*\n* v ... unit vector to test touch axis.\n*/\nHPoint.prototype.prevTouched = function(v) {\n var p = this.prevPointOnContour;\n\n while (!v.touched(p) && p !== this) { p = p.prevPointOnContour; }\n\n return p;\n};\n\n/*\n* The zero point.\n*/\nvar HPZero = Object.freeze(new HPoint(0, 0));\n\n/*\n* The default state of the interpreter.\n*\n* Note: Freezing the defaultState and then deriving from it\n* makes the V8 Javascript engine going awkward,\n* so this is avoided, albeit the defaultState shouldn't\n* ever change.\n*/\nvar defaultState = {\n cvCutIn: 17 / 16, // control value cut in\n deltaBase: 9,\n deltaShift: 0.125,\n loop: 1, // loops some instructions\n minDis: 1, // minimum distance\n autoFlip: true\n};\n\n/*\n* The current state of the interpreter.\n*\n* env ... 'fpgm' or 'prep' or 'glyf'\n* prog ... the program\n*/\nfunction State(env, prog) {\n this.env = env;\n this.stack = [];\n this.prog = prog;\n\n switch (env) {\n case 'glyf' :\n this.zp0 = this.zp1 = this.zp2 = 1;\n this.rp0 = this.rp1 = this.rp2 = 0;\n /* fall through */\n case 'prep' :\n this.fv = this.pv = this.dpv = xUnitVector;\n this.round = roundToGrid;\n }\n}\n\n/*\n* Executes a glyph program.\n*\n* This does the hinting for each glyph.\n*\n* Returns an array of moved points.\n*\n* glyph: the glyph to hint\n* ppem: the size the glyph is rendered for\n*/\nHinting.prototype.exec = function(glyph, ppem) {\n if (typeof ppem !== 'number') {\n throw new Error('Point size is not a number!');\n }\n\n // Received a fatal error, don't do any hinting anymore.\n if (this._errorState > 2) { return; }\n\n var font = this.font;\n var prepState = this._prepState;\n\n if (!prepState || prepState.ppem !== ppem) {\n var fpgmState = this._fpgmState;\n\n if (!fpgmState) {\n // Executes the fpgm state.\n // This is used by fonts to define functions.\n State.prototype = defaultState;\n\n fpgmState =\n this._fpgmState =\n new State('fpgm', font.tables.fpgm);\n\n fpgmState.funcs = [ ];\n fpgmState.font = font;\n\n if (exports.DEBUG) {\n console.log('---EXEC FPGM---');\n fpgmState.step = -1;\n }\n\n try {\n exec(fpgmState);\n } catch (e) {\n console.log('Hinting error in FPGM:' + e);\n this._errorState = 3;\n return;\n }\n }\n\n // Executes the prep program for this ppem setting.\n // This is used by fonts to set cvt values\n // depending on to be rendered font size.\n\n State.prototype = fpgmState;\n prepState =\n this._prepState =\n new State('prep', font.tables.prep);\n\n prepState.ppem = ppem;\n\n // Creates a copy of the cvt table\n // and scales it to the current ppem setting.\n var oCvt = font.tables.cvt;\n if (oCvt) {\n var cvt = prepState.cvt = new Array(oCvt.length);\n var scale = ppem / font.unitsPerEm;\n for (var c = 0; c < oCvt.length; c++) {\n cvt[c] = oCvt[c] * scale;\n }\n } else {\n prepState.cvt = [];\n }\n\n if (exports.DEBUG) {\n console.log('---EXEC PREP---');\n prepState.step = -1;\n }\n\n try {\n exec(prepState);\n } catch (e) {\n if (this._errorState < 2) {\n console.log('Hinting error in PREP:' + e);\n }\n this._errorState = 2;\n }\n }\n\n if (this._errorState > 1) { return; }\n\n try {\n return execGlyph(glyph, prepState);\n } catch (e) {\n if (this._errorState < 1) {\n console.log('Hinting error:' + e);\n console.log('Note: further hinting errors are silenced');\n }\n this._errorState = 1;\n return undefined;\n }\n};\n\n/*\n* Executes the hinting program for a glyph.\n*/\nexecGlyph = function(glyph, prepState) {\n // original point positions\n var xScale = prepState.ppem / prepState.font.unitsPerEm;\n var yScale = xScale;\n var components = glyph.components;\n var contours;\n var gZone;\n var state;\n\n State.prototype = prepState;\n if (!components) {\n state = new State('glyf', glyph.instructions);\n if (exports.DEBUG) {\n console.log('---EXEC GLYPH---');\n state.step = -1;\n }\n execComponent(glyph, state, xScale, yScale);\n gZone = state.gZone;\n } else {\n var font = prepState.font;\n gZone = [];\n contours = [];\n for (var i = 0; i < components.length; i++) {\n var c = components[i];\n var cg = font.glyphs.get(c.glyphIndex);\n\n state = new State('glyf', cg.instructions);\n\n if (exports.DEBUG) {\n console.log('---EXEC COMP ' + i + '---');\n state.step = -1;\n }\n\n execComponent(cg, state, xScale, yScale);\n // appends the computed points to the result array\n // post processes the component points\n var dx = Math.round(c.dx * xScale);\n var dy = Math.round(c.dy * yScale);\n var gz = state.gZone;\n var cc = state.contours;\n for (var pi = 0; pi < gz.length; pi++) {\n var p = gz[pi];\n p.xTouched = p.yTouched = false;\n p.xo = p.x = p.x + dx;\n p.yo = p.y = p.y + dy;\n }\n\n var gLen = gZone.length;\n gZone.push.apply(gZone, gz);\n for (var j = 0; j < cc.length; j++) {\n contours.push(cc[j] + gLen);\n }\n }\n\n if (glyph.instructions && !state.inhibitGridFit) {\n // the composite has instructions on its own\n state = new State('glyf', glyph.instructions);\n\n state.gZone = state.z0 = state.z1 = state.z2 = gZone;\n\n state.contours = contours;\n\n // note: HPZero cannot be used here, since\n // the point might be modified\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n\n if (exports.DEBUG) {\n console.log('---EXEC COMPOSITE---');\n state.step = -1;\n }\n\n exec(state);\n\n gZone.length -= 2;\n }\n }\n\n return gZone;\n};\n\n/*\n* Executes the hinting program for a component of a multi-component glyph\n* or of the glyph itself for a non-component glyph.\n*/\nexecComponent = function(glyph, state, xScale, yScale)\n{\n var points = glyph.points || [];\n var pLen = points.length;\n var gZone = state.gZone = state.z0 = state.z1 = state.z2 = [];\n var contours = state.contours = [];\n\n // Scales the original points and\n // makes copies for the hinted points.\n var cp; // current point\n for (var i = 0; i < pLen; i++) {\n cp = points[i];\n\n gZone[i] = new HPoint(\n cp.x * xScale,\n cp.y * yScale,\n cp.lastPointOfContour,\n cp.onCurve\n );\n }\n\n // Chain links the contours.\n var sp; // start point\n var np; // next point\n\n for (var i$1 = 0; i$1 < pLen; i$1++) {\n cp = gZone[i$1];\n\n if (!sp) {\n sp = cp;\n contours.push(i$1);\n }\n\n if (cp.lastPointOfContour) {\n cp.nextPointOnContour = sp;\n sp.prevPointOnContour = cp;\n sp = undefined;\n } else {\n np = gZone[i$1 + 1];\n cp.nextPointOnContour = np;\n np.prevPointOnContour = cp;\n }\n }\n\n if (state.inhibitGridFit) { return; }\n\n if (exports.DEBUG) {\n console.log('PROCESSING GLYPH', state.stack);\n for (var i$2 = 0; i$2 < pLen; i$2++) {\n console.log(i$2, gZone[i$2].x, gZone[i$2].y);\n }\n }\n\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n\n exec(state);\n\n // Removes the extra points.\n gZone.length -= 2;\n\n if (exports.DEBUG) {\n console.log('FINISHED GLYPH', state.stack);\n for (var i$3 = 0; i$3 < pLen; i$3++) {\n console.log(i$3, gZone[i$3].x, gZone[i$3].y);\n }\n }\n};\n\n/*\n* Executes the program loaded in state.\n*/\nexec = function(state) {\n var prog = state.prog;\n\n if (!prog) { return; }\n\n var pLen = prog.length;\n var ins;\n\n for (state.ip = 0; state.ip < pLen; state.ip++) {\n if (exports.DEBUG) { state.step++; }\n ins = instructionTable[prog[state.ip]];\n\n if (!ins) {\n throw new Error(\n 'unknown instruction: 0x' +\n Number(prog[state.ip]).toString(16)\n );\n }\n\n ins(state);\n\n // very extensive debugging for each step\n /*\n if (exports.DEBUG) {\n var da;\n if (state.gZone) {\n da = [];\n for (let i = 0; i < state.gZone.length; i++)\n {\n da.push(i + ' ' +\n state.gZone[i].x * 64 + ' ' +\n state.gZone[i].y * 64 + ' ' +\n (state.gZone[i].xTouched ? 'x' : '') +\n (state.gZone[i].yTouched ? 'y' : '')\n );\n }\n console.log('GZ', da);\n }\n\n if (state.tZone) {\n da = [];\n for (let i = 0; i < state.tZone.length; i++) {\n da.push(i + ' ' +\n state.tZone[i].x * 64 + ' ' +\n state.tZone[i].y * 64 + ' ' +\n (state.tZone[i].xTouched ? 'x' : '') +\n (state.tZone[i].yTouched ? 'y' : '')\n );\n }\n console.log('TZ', da);\n }\n\n if (state.stack.length > 10) {\n console.log(\n state.stack.length,\n '...', state.stack.slice(state.stack.length - 10)\n );\n } else {\n console.log(state.stack.length, state.stack);\n }\n }\n */\n }\n};\n\n/*\n* Initializes the twilight zone.\n*\n* This is only done if a SZPx instruction\n* refers to the twilight zone.\n*/\nfunction initTZone(state)\n{\n var tZone = state.tZone = new Array(state.gZone.length);\n\n // no idea if this is actually correct...\n for (var i = 0; i < tZone.length; i++)\n {\n tZone[i] = new HPoint(0, 0);\n }\n}\n\n/*\n* Skips the instruction pointer ahead over an IF/ELSE block.\n* handleElse .. if true breaks on matching ELSE\n*/\nfunction skip(state, handleElse)\n{\n var prog = state.prog;\n var ip = state.ip;\n var nesting = 1;\n var ins;\n\n do {\n ins = prog[++ip];\n if (ins === 0x58) // IF\n { nesting++; }\n else if (ins === 0x59) // EIF\n { nesting--; }\n else if (ins === 0x40) // NPUSHB\n { ip += prog[ip + 1] + 1; }\n else if (ins === 0x41) // NPUSHW\n { ip += 2 * prog[ip + 1] + 1; }\n else if (ins >= 0xB0 && ins <= 0xB7) // PUSHB\n { ip += ins - 0xB0 + 1; }\n else if (ins >= 0xB8 && ins <= 0xBF) // PUSHW\n { ip += (ins - 0xB8 + 1) * 2; }\n else if (handleElse && nesting === 1 && ins === 0x1B) // ELSE\n { break; }\n } while (nesting > 0);\n\n state.ip = ip;\n}\n\n/*----------------------------------------------------------*\n* And then a lot of instructions... *\n*----------------------------------------------------------*/\n\n// SVTCA[a] Set freedom and projection Vectors To Coordinate Axis\n// 0x00-0x01\nfunction SVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SVTCA[' + v.axis + ']'); }\n\n state.fv = state.pv = state.dpv = v;\n}\n\n// SPVTCA[a] Set Projection Vector to Coordinate Axis\n// 0x02-0x03\nfunction SPVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SPVTCA[' + v.axis + ']'); }\n\n state.pv = state.dpv = v;\n}\n\n// SFVTCA[a] Set Freedom Vector to Coordinate Axis\n// 0x04-0x05\nfunction SFVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SFVTCA[' + v.axis + ']'); }\n\n state.fv = v;\n}\n\n// SPVTL[a] Set Projection Vector To Line\n// 0x06-0x07\nfunction SPVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log('SPVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.pv = state.dpv = getUnitVector(dx, dy);\n}\n\n// SFVTL[a] Set Freedom Vector To Line\n// 0x08-0x09\nfunction SFVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log('SFVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.fv = getUnitVector(dx, dy);\n}\n\n// SPVFS[] Set Projection Vector From Stack\n// 0x0A\nfunction SPVFS(state) {\n var stack = state.stack;\n var y = stack.pop();\n var x = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SPVFS[]', y, x); }\n\n state.pv = state.dpv = getUnitVector(x, y);\n}\n\n// SFVFS[] Set Freedom Vector From Stack\n// 0x0B\nfunction SFVFS(state) {\n var stack = state.stack;\n var y = stack.pop();\n var x = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SPVFS[]', y, x); }\n\n state.fv = getUnitVector(x, y);\n}\n\n// GPV[] Get Projection Vector\n// 0x0C\nfunction GPV(state) {\n var stack = state.stack;\n var pv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'GPV[]'); }\n\n stack.push(pv.x * 0x4000);\n stack.push(pv.y * 0x4000);\n}\n\n// GFV[] Get Freedom Vector\n// 0x0C\nfunction GFV(state) {\n var stack = state.stack;\n var fv = state.fv;\n\n if (exports.DEBUG) { console.log(state.step, 'GFV[]'); }\n\n stack.push(fv.x * 0x4000);\n stack.push(fv.y * 0x4000);\n}\n\n// SFVTPV[] Set Freedom Vector To Projection Vector\n// 0x0E\nfunction SFVTPV(state) {\n state.fv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'SFVTPV[]'); }\n}\n\n// ISECT[] moves point p to the InterSECTion of two lines\n// 0x0F\nfunction ISECT(state)\n{\n var stack = state.stack;\n var pa0i = stack.pop();\n var pa1i = stack.pop();\n var pb0i = stack.pop();\n var pb1i = stack.pop();\n var pi = stack.pop();\n var z0 = state.z0;\n var z1 = state.z1;\n var pa0 = z0[pa0i];\n var pa1 = z0[pa1i];\n var pb0 = z1[pb0i];\n var pb1 = z1[pb1i];\n var p = state.z2[pi];\n\n if (exports.DEBUG) { console.log('ISECT[], ', pa0i, pa1i, pb0i, pb1i, pi); }\n\n // math from\n // en.wikipedia.org/wiki/Line%E2%80%93line_intersection#Given_two_points_on_each_line\n\n var x1 = pa0.x;\n var y1 = pa0.y;\n var x2 = pa1.x;\n var y2 = pa1.y;\n var x3 = pb0.x;\n var y3 = pb0.y;\n var x4 = pb1.x;\n var y4 = pb1.y;\n\n var div = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n var f1 = x1 * y2 - y1 * x2;\n var f2 = x3 * y4 - y3 * x4;\n\n p.x = (f1 * (x3 - x4) - f2 * (x1 - x2)) / div;\n p.y = (f1 * (y3 - y4) - f2 * (y1 - y2)) / div;\n}\n\n// SRP0[] Set Reference Point 0\n// 0x10\nfunction SRP0(state) {\n state.rp0 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP0[]', state.rp0); }\n}\n\n// SRP1[] Set Reference Point 1\n// 0x11\nfunction SRP1(state) {\n state.rp1 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP1[]', state.rp1); }\n}\n\n// SRP1[] Set Reference Point 2\n// 0x12\nfunction SRP2(state) {\n state.rp2 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP2[]', state.rp2); }\n}\n\n// SZP0[] Set Zone Pointer 0\n// 0x13\nfunction SZP0(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP0[]', n); }\n\n state.zp0 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z0 = state.tZone;\n break;\n case 1 :\n state.z0 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZP1[] Set Zone Pointer 1\n// 0x14\nfunction SZP1(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP1[]', n); }\n\n state.zp1 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z1 = state.tZone;\n break;\n case 1 :\n state.z1 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZP2[] Set Zone Pointer 2\n// 0x15\nfunction SZP2(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP2[]', n); }\n\n state.zp2 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z2 = state.tZone;\n break;\n case 1 :\n state.z2 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZPS[] Set Zone PointerS\n// 0x16\nfunction SZPS(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZPS[]', n); }\n\n state.zp0 = state.zp1 = state.zp2 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z0 = state.z1 = state.z2 = state.tZone;\n break;\n case 1 :\n state.z0 = state.z1 = state.z2 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SLOOP[] Set LOOP variable\n// 0x17\nfunction SLOOP(state) {\n state.loop = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SLOOP[]', state.loop); }\n}\n\n// RTG[] Round To Grid\n// 0x18\nfunction RTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTG[]'); }\n\n state.round = roundToGrid;\n}\n\n// RTHG[] Round To Half Grid\n// 0x19\nfunction RTHG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTHG[]'); }\n\n state.round = roundToHalfGrid;\n}\n\n// SMD[] Set Minimum Distance\n// 0x1A\nfunction SMD(state) {\n var d = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SMD[]', d); }\n\n state.minDis = d / 0x40;\n}\n\n// ELSE[] ELSE clause\n// 0x1B\nfunction ELSE(state) {\n // This instruction has been reached by executing a then branch\n // so it just skips ahead until matching EIF.\n //\n // In case the IF was negative the IF[] instruction already\n // skipped forward over the ELSE[]\n\n if (exports.DEBUG) { console.log(state.step, 'ELSE[]'); }\n\n skip(state, false);\n}\n\n// JMPR[] JuMP Relative\n// 0x1C\nfunction JMPR(state) {\n var o = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'JMPR[]', o); }\n\n // A jump by 1 would do nothing.\n state.ip += o - 1;\n}\n\n// SCVTCI[] Set Control Value Table Cut-In\n// 0x1D\nfunction SCVTCI(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SCVTCI[]', n); }\n\n state.cvCutIn = n / 0x40;\n}\n\n// DUP[] DUPlicate top stack element\n// 0x20\nfunction DUP(state) {\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.step, 'DUP[]'); }\n\n stack.push(stack[stack.length - 1]);\n}\n\n// POP[] POP top stack element\n// 0x21\nfunction POP(state) {\n if (exports.DEBUG) { console.log(state.step, 'POP[]'); }\n\n state.stack.pop();\n}\n\n// CLEAR[] CLEAR the stack\n// 0x22\nfunction CLEAR(state) {\n if (exports.DEBUG) { console.log(state.step, 'CLEAR[]'); }\n\n state.stack.length = 0;\n}\n\n// SWAP[] SWAP the top two elements on the stack\n// 0x23\nfunction SWAP(state) {\n var stack = state.stack;\n\n var a = stack.pop();\n var b = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SWAP[]'); }\n\n stack.push(a);\n stack.push(b);\n}\n\n// DEPTH[] DEPTH of the stack\n// 0x24\nfunction DEPTH(state) {\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.step, 'DEPTH[]'); }\n\n stack.push(stack.length);\n}\n\n// LOOPCALL[] LOOPCALL function\n// 0x2A\nfunction LOOPCALL(state) {\n var stack = state.stack;\n var fn = stack.pop();\n var c = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LOOPCALL[]', fn, c); }\n\n // saves callers program\n var cip = state.ip;\n var cprog = state.prog;\n\n state.prog = state.funcs[fn];\n\n // executes the function\n for (var i = 0; i < c; i++) {\n exec(state);\n\n if (exports.DEBUG) { console.log(\n ++state.step,\n i + 1 < c ? 'next loopcall' : 'done loopcall',\n i\n ); }\n }\n\n // restores the callers program\n state.ip = cip;\n state.prog = cprog;\n}\n\n// CALL[] CALL function\n// 0x2B\nfunction CALL(state) {\n var fn = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CALL[]', fn); }\n\n // saves callers program\n var cip = state.ip;\n var cprog = state.prog;\n\n state.prog = state.funcs[fn];\n\n // executes the function\n exec(state);\n\n // restores the callers program\n state.ip = cip;\n state.prog = cprog;\n\n if (exports.DEBUG) { console.log(++state.step, 'returning from', fn); }\n}\n\n// CINDEX[] Copy the INDEXed element to the top of the stack\n// 0x25\nfunction CINDEX(state) {\n var stack = state.stack;\n var k = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CINDEX[]', k); }\n\n // In case of k == 1, it copies the last element after popping\n // thus stack.length - k.\n stack.push(stack[stack.length - k]);\n}\n\n// MINDEX[] Move the INDEXed element to the top of the stack\n// 0x26\nfunction MINDEX(state) {\n var stack = state.stack;\n var k = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MINDEX[]', k); }\n\n stack.push(stack.splice(stack.length - k, 1)[0]);\n}\n\n// FDEF[] Function DEFinition\n// 0x2C\nfunction FDEF(state) {\n if (state.env !== 'fpgm') { throw new Error('FDEF not allowed here'); }\n var stack = state.stack;\n var prog = state.prog;\n var ip = state.ip;\n\n var fn = stack.pop();\n var ipBegin = ip;\n\n if (exports.DEBUG) { console.log(state.step, 'FDEF[]', fn); }\n\n while (prog[++ip] !== 0x2D){ }\n\n state.ip = ip;\n state.funcs[fn] = prog.slice(ipBegin + 1, ip);\n}\n\n// MDAP[a] Move Direct Absolute Point\n// 0x2E-0x2F\nfunction MDAP(round, state) {\n var pi = state.stack.pop();\n var p = state.z0[pi];\n var fv = state.fv;\n var pv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'MDAP[' + round + ']', pi); }\n\n var d = pv.distance(p, HPZero);\n\n if (round) { d = state.round(d); }\n\n fv.setRelative(p, HPZero, d, pv);\n fv.touch(p);\n\n state.rp0 = state.rp1 = pi;\n}\n\n// IUP[a] Interpolate Untouched Points through the outline\n// 0x30\nfunction IUP(v, state) {\n var z2 = state.z2;\n var pLen = z2.length - 2;\n var cp;\n var pp;\n var np;\n\n if (exports.DEBUG) { console.log(state.step, 'IUP[' + v.axis + ']'); }\n\n for (var i = 0; i < pLen; i++) {\n cp = z2[i]; // current point\n\n // if this point has been touched go on\n if (v.touched(cp)) { continue; }\n\n pp = cp.prevTouched(v);\n\n // no point on the contour has been touched?\n if (pp === cp) { continue; }\n\n np = cp.nextTouched(v);\n\n if (pp === np) {\n // only one point on the contour has been touched\n // so simply moves the point like that\n\n v.setRelative(cp, cp, v.distance(pp, pp, false, true), v, true);\n }\n\n v.interpolate(cp, pp, np, v);\n }\n}\n\n// SHP[] SHift Point using reference point\n// 0x32-0x33\nfunction SHP(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n var loop = state.loop;\n var z2 = state.z2;\n\n while (loop--)\n {\n var pi = stack.pop();\n var p = z2[pi];\n\n var d = pv.distance(rp, rp, false, true);\n fv.setRelative(p, p, d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ?\n 'loop ' + (state.loop - loop) + ': ' :\n ''\n ) +\n 'SHP[' + (a ? 'rp1' : 'rp2') + ']', pi\n );\n }\n }\n\n state.loop = 1;\n}\n\n// SHC[] SHift Contour using reference point\n// 0x36-0x37\nfunction SHC(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n var ci = stack.pop();\n var sp = state.z2[state.contours[ci]];\n var p = sp;\n\n if (exports.DEBUG) { console.log(state.step, 'SHC[' + a + ']', ci); }\n\n var d = pv.distance(rp, rp, false, true);\n\n do {\n if (p !== rp) { fv.setRelative(p, p, d, pv); }\n p = p.nextPointOnContour;\n } while (p !== sp);\n}\n\n// SHZ[] SHift Zone using reference point\n// 0x36-0x37\nfunction SHZ(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n\n var e = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SHZ[' + a + ']', e); }\n\n var z;\n switch (e) {\n case 0 : z = state.tZone; break;\n case 1 : z = state.gZone; break;\n default : throw new Error('Invalid zone');\n }\n\n var p;\n var d = pv.distance(rp, rp, false, true);\n var pLen = z.length - 2;\n for (var i = 0; i < pLen; i++)\n {\n p = z[i];\n fv.setRelative(p, p, d, pv);\n //if (p !== rp) fv.setRelative(p, p, d, pv);\n }\n}\n\n// SHPIX[] SHift point by a PIXel amount\n// 0x38\nfunction SHPIX(state) {\n var stack = state.stack;\n var loop = state.loop;\n var fv = state.fv;\n var d = stack.pop() / 0x40;\n var z2 = state.z2;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z2[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'SHPIX[]', pi, d\n );\n }\n\n fv.setRelative(p, p, d);\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// IP[] Interpolate Point\n// 0x39\nfunction IP(state) {\n var stack = state.stack;\n var rp1i = state.rp1;\n var rp2i = state.rp2;\n var loop = state.loop;\n var rp1 = state.z0[rp1i];\n var rp2 = state.z1[rp2i];\n var fv = state.fv;\n var pv = state.dpv;\n var z2 = state.z2;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z2[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'IP[]', pi, rp1i, '<->', rp2i\n );\n }\n\n fv.interpolate(p, rp1, rp2, pv);\n\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// MSIRP[a] Move Stack Indirect Relative Point\n// 0x3A-0x3B\nfunction MSIRP(a, state) {\n var stack = state.stack;\n var d = stack.pop() / 64;\n var pi = stack.pop();\n var p = state.z1[pi];\n var rp0 = state.z0[state.rp0];\n var fv = state.fv;\n var pv = state.pv;\n\n fv.setRelative(p, rp0, d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) { console.log(state.step, 'MSIRP[' + a + ']', d, pi); }\n\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (a) { state.rp0 = pi; }\n}\n\n// ALIGNRP[] Align to reference point.\n// 0x3C\nfunction ALIGNRP(state) {\n var stack = state.stack;\n var rp0i = state.rp0;\n var rp0 = state.z0[rp0i];\n var loop = state.loop;\n var fv = state.fv;\n var pv = state.pv;\n var z1 = state.z1;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z1[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'ALIGNRP[]', pi\n );\n }\n\n fv.setRelative(p, rp0, 0, pv);\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// RTG[] Round To Double Grid\n// 0x3D\nfunction RTDG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTDG[]'); }\n\n state.round = roundToDoubleGrid;\n}\n\n// MIAP[a] Move Indirect Absolute Point\n// 0x3E-0x3F\nfunction MIAP(round, state) {\n var stack = state.stack;\n var n = stack.pop();\n var pi = stack.pop();\n var p = state.z0[pi];\n var fv = state.fv;\n var pv = state.pv;\n var cv = state.cvt[n];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n 'MIAP[' + round + ']',\n n, '(', cv, ')', pi\n );\n }\n\n var d = pv.distance(p, HPZero);\n\n if (round) {\n if (Math.abs(d - cv) < state.cvCutIn) { d = cv; }\n\n d = state.round(d);\n }\n\n fv.setRelative(p, HPZero, d, pv);\n\n if (state.zp0 === 0) {\n p.xo = p.x;\n p.yo = p.y;\n }\n\n fv.touch(p);\n\n state.rp0 = state.rp1 = pi;\n}\n\n// NPUSB[] PUSH N Bytes\n// 0x40\nfunction NPUSHB(state) {\n var prog = state.prog;\n var ip = state.ip;\n var stack = state.stack;\n\n var n = prog[++ip];\n\n if (exports.DEBUG) { console.log(state.step, 'NPUSHB[]', n); }\n\n for (var i = 0; i < n; i++) { stack.push(prog[++ip]); }\n\n state.ip = ip;\n}\n\n// NPUSHW[] PUSH N Words\n// 0x41\nfunction NPUSHW(state) {\n var ip = state.ip;\n var prog = state.prog;\n var stack = state.stack;\n var n = prog[++ip];\n\n if (exports.DEBUG) { console.log(state.step, 'NPUSHW[]', n); }\n\n for (var i = 0; i < n; i++) {\n var w = (prog[++ip] << 8) | prog[++ip];\n if (w & 0x8000) { w = -((w ^ 0xffff) + 1); }\n stack.push(w);\n }\n\n state.ip = ip;\n}\n\n// WS[] Write Store\n// 0x42\nfunction WS(state) {\n var stack = state.stack;\n var store = state.store;\n\n if (!store) { store = state.store = []; }\n\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WS', v, l); }\n\n store[l] = v;\n}\n\n// RS[] Read Store\n// 0x43\nfunction RS(state) {\n var stack = state.stack;\n var store = state.store;\n\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'RS', l); }\n\n var v = (store && store[l]) || 0;\n\n stack.push(v);\n}\n\n// WCVTP[] Write Control Value Table in Pixel units\n// 0x44\nfunction WCVTP(state) {\n var stack = state.stack;\n\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WCVTP', v, l); }\n\n state.cvt[l] = v / 0x40;\n}\n\n// RCVT[] Read Control Value Table entry\n// 0x45\nfunction RCVT(state) {\n var stack = state.stack;\n var cvte = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'RCVT', cvte); }\n\n stack.push(state.cvt[cvte] * 0x40);\n}\n\n// GC[] Get Coordinate projected onto the projection vector\n// 0x46-0x47\nfunction GC(a, state) {\n var stack = state.stack;\n var pi = stack.pop();\n var p = state.z2[pi];\n\n if (exports.DEBUG) { console.log(state.step, 'GC[' + a + ']', pi); }\n\n stack.push(state.dpv.distance(p, HPZero, a, false) * 0x40);\n}\n\n// MD[a] Measure Distance\n// 0x49-0x4A\nfunction MD(a, state) {\n var stack = state.stack;\n var pi2 = stack.pop();\n var pi1 = stack.pop();\n var p2 = state.z1[pi2];\n var p1 = state.z0[pi1];\n var d = state.dpv.distance(p1, p2, a, a);\n\n if (exports.DEBUG) { console.log(state.step, 'MD[' + a + ']', pi2, pi1, '->', d); }\n\n state.stack.push(Math.round(d * 64));\n}\n\n// MPPEM[] Measure Pixels Per EM\n// 0x4B\nfunction MPPEM(state) {\n if (exports.DEBUG) { console.log(state.step, 'MPPEM[]'); }\n state.stack.push(state.ppem);\n}\n\n// FLIPON[] set the auto FLIP Boolean to ON\n// 0x4D\nfunction FLIPON(state) {\n if (exports.DEBUG) { console.log(state.step, 'FLIPON[]'); }\n state.autoFlip = true;\n}\n\n// LT[] Less Than\n// 0x50\nfunction LT(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LT[]', e2, e1); }\n\n stack.push(e1 < e2 ? 1 : 0);\n}\n\n// LTEQ[] Less Than or EQual\n// 0x53\nfunction LTEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LTEQ[]', e2, e1); }\n\n stack.push(e1 <= e2 ? 1 : 0);\n}\n\n// GTEQ[] Greater Than\n// 0x52\nfunction GT(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'GT[]', e2, e1); }\n\n stack.push(e1 > e2 ? 1 : 0);\n}\n\n// GTEQ[] Greater Than or EQual\n// 0x53\nfunction GTEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'GTEQ[]', e2, e1); }\n\n stack.push(e1 >= e2 ? 1 : 0);\n}\n\n// EQ[] EQual\n// 0x54\nfunction EQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'EQ[]', e2, e1); }\n\n stack.push(e2 === e1 ? 1 : 0);\n}\n\n// NEQ[] Not EQual\n// 0x55\nfunction NEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NEQ[]', e2, e1); }\n\n stack.push(e2 !== e1 ? 1 : 0);\n}\n\n// ODD[] ODD\n// 0x56\nfunction ODD(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ODD[]', n); }\n\n stack.push(Math.trunc(n) % 2 ? 1 : 0);\n}\n\n// EVEN[] EVEN\n// 0x57\nfunction EVEN(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'EVEN[]', n); }\n\n stack.push(Math.trunc(n) % 2 ? 0 : 1);\n}\n\n// IF[] IF test\n// 0x58\nfunction IF(state) {\n var test = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'IF[]', test); }\n\n // if test is true it just continues\n // if not the ip is skipped until matching ELSE or EIF\n if (!test) {\n skip(state, true);\n\n if (exports.DEBUG) { console.log(state.step, 'EIF[]'); }\n }\n}\n\n// EIF[] End IF\n// 0x59\nfunction EIF(state) {\n // this can be reached normally when\n // executing an else branch.\n // -> just ignore it\n\n if (exports.DEBUG) { console.log(state.step, 'EIF[]'); }\n}\n\n// AND[] logical AND\n// 0x5A\nfunction AND(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'AND[]', e2, e1); }\n\n stack.push(e2 && e1 ? 1 : 0);\n}\n\n// OR[] logical OR\n// 0x5B\nfunction OR(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'OR[]', e2, e1); }\n\n stack.push(e2 || e1 ? 1 : 0);\n}\n\n// NOT[] logical NOT\n// 0x5C\nfunction NOT(state) {\n var stack = state.stack;\n var e = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NOT[]', e); }\n\n stack.push(e ? 0 : 1);\n}\n\n// DELTAP1[] DELTA exception P1\n// DELTAP2[] DELTA exception P2\n// DELTAP3[] DELTA exception P3\n// 0x5D, 0x71, 0x72\nfunction DELTAP123(b, state) {\n var stack = state.stack;\n var n = stack.pop();\n var fv = state.fv;\n var pv = state.pv;\n var ppem = state.ppem;\n var base = state.deltaBase + (b - 1) * 16;\n var ds = state.deltaShift;\n var z0 = state.z0;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTAP[' + b + ']', n, stack); }\n\n for (var i = 0; i < n; i++) {\n var pi = stack.pop();\n var arg = stack.pop();\n var appem = base + ((arg & 0xF0) >> 4);\n if (appem !== ppem) { continue; }\n\n var mag = (arg & 0x0F) - 8;\n if (mag >= 0) { mag++; }\n if (exports.DEBUG) { console.log(state.step, 'DELTAPFIX', pi, 'by', mag * ds); }\n\n var p = z0[pi];\n fv.setRelative(p, p, mag * ds, pv);\n }\n}\n\n// SDB[] Set Delta Base in the graphics state\n// 0x5E\nfunction SDB(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SDB[]', n); }\n\n state.deltaBase = n;\n}\n\n// SDS[] Set Delta Shift in the graphics state\n// 0x5F\nfunction SDS(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SDS[]', n); }\n\n state.deltaShift = Math.pow(0.5, n);\n}\n\n// ADD[] ADD\n// 0x60\nfunction ADD(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ADD[]', n2, n1); }\n\n stack.push(n1 + n2);\n}\n\n// SUB[] SUB\n// 0x61\nfunction SUB(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SUB[]', n2, n1); }\n\n stack.push(n1 - n2);\n}\n\n// DIV[] DIV\n// 0x62\nfunction DIV(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'DIV[]', n2, n1); }\n\n stack.push(n1 * 64 / n2);\n}\n\n// MUL[] MUL\n// 0x63\nfunction MUL(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MUL[]', n2, n1); }\n\n stack.push(n1 * n2 / 64);\n}\n\n// ABS[] ABSolute value\n// 0x64\nfunction ABS(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ABS[]', n); }\n\n stack.push(Math.abs(n));\n}\n\n// NEG[] NEGate\n// 0x65\nfunction NEG(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NEG[]', n); }\n\n stack.push(-n);\n}\n\n// FLOOR[] FLOOR\n// 0x66\nfunction FLOOR(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'FLOOR[]', n); }\n\n stack.push(Math.floor(n / 0x40) * 0x40);\n}\n\n// CEILING[] CEILING\n// 0x67\nfunction CEILING(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CEILING[]', n); }\n\n stack.push(Math.ceil(n / 0x40) * 0x40);\n}\n\n// ROUND[ab] ROUND value\n// 0x68-0x6B\nfunction ROUND(dt, state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ROUND[]'); }\n\n stack.push(state.round(n / 0x40) * 0x40);\n}\n\n// WCVTF[] Write Control Value Table in Funits\n// 0x70\nfunction WCVTF(state) {\n var stack = state.stack;\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WCVTF[]', v, l); }\n\n state.cvt[l] = v * state.ppem / state.font.unitsPerEm;\n}\n\n// DELTAC1[] DELTA exception C1\n// DELTAC2[] DELTA exception C2\n// DELTAC3[] DELTA exception C3\n// 0x73, 0x74, 0x75\nfunction DELTAC123(b, state) {\n var stack = state.stack;\n var n = stack.pop();\n var ppem = state.ppem;\n var base = state.deltaBase + (b - 1) * 16;\n var ds = state.deltaShift;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTAC[' + b + ']', n, stack); }\n\n for (var i = 0; i < n; i++) {\n var c = stack.pop();\n var arg = stack.pop();\n var appem = base + ((arg & 0xF0) >> 4);\n if (appem !== ppem) { continue; }\n\n var mag = (arg & 0x0F) - 8;\n if (mag >= 0) { mag++; }\n\n var delta = mag * ds;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTACFIX', c, 'by', delta); }\n\n state.cvt[c] += delta;\n }\n}\n\n// SROUND[] Super ROUND\n// 0x76\nfunction SROUND(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SROUND[]', n); }\n\n state.round = roundSuper;\n\n var period;\n\n switch (n & 0xC0) {\n case 0x00:\n period = 0.5;\n break;\n case 0x40:\n period = 1;\n break;\n case 0x80:\n period = 2;\n break;\n default:\n throw new Error('invalid SROUND value');\n }\n\n state.srPeriod = period;\n\n switch (n & 0x30) {\n case 0x00:\n state.srPhase = 0;\n break;\n case 0x10:\n state.srPhase = 0.25 * period;\n break;\n case 0x20:\n state.srPhase = 0.5 * period;\n break;\n case 0x30:\n state.srPhase = 0.75 * period;\n break;\n default: throw new Error('invalid SROUND value');\n }\n\n n &= 0x0F;\n\n if (n === 0) { state.srThreshold = 0; }\n else { state.srThreshold = (n / 8 - 0.5) * period; }\n}\n\n// S45ROUND[] Super ROUND 45 degrees\n// 0x77\nfunction S45ROUND(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'S45ROUND[]', n); }\n\n state.round = roundSuper;\n\n var period;\n\n switch (n & 0xC0) {\n case 0x00:\n period = Math.sqrt(2) / 2;\n break;\n case 0x40:\n period = Math.sqrt(2);\n break;\n case 0x80:\n period = 2 * Math.sqrt(2);\n break;\n default:\n throw new Error('invalid S45ROUND value');\n }\n\n state.srPeriod = period;\n\n switch (n & 0x30) {\n case 0x00:\n state.srPhase = 0;\n break;\n case 0x10:\n state.srPhase = 0.25 * period;\n break;\n case 0x20:\n state.srPhase = 0.5 * period;\n break;\n case 0x30:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error('invalid S45ROUND value');\n }\n\n n &= 0x0F;\n\n if (n === 0) { state.srThreshold = 0; }\n else { state.srThreshold = (n / 8 - 0.5) * period; }\n}\n\n// ROFF[] Round Off\n// 0x7A\nfunction ROFF(state) {\n if (exports.DEBUG) { console.log(state.step, 'ROFF[]'); }\n\n state.round = roundOff;\n}\n\n// RUTG[] Round Up To Grid\n// 0x7C\nfunction RUTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RUTG[]'); }\n\n state.round = roundUpToGrid;\n}\n\n// RDTG[] Round Down To Grid\n// 0x7D\nfunction RDTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RDTG[]'); }\n\n state.round = roundDownToGrid;\n}\n\n// SCANCTRL[] SCAN conversion ConTRoL\n// 0x85\nfunction SCANCTRL(state) {\n var n = state.stack.pop();\n\n // ignored by opentype.js\n\n if (exports.DEBUG) { console.log(state.step, 'SCANCTRL[]', n); }\n}\n\n// SDPVTL[a] Set Dual Projection Vector To Line\n// 0x86-0x87\nfunction SDPVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log(state.step, 'SDPVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.dpv = getUnitVector(dx, dy);\n}\n\n// GETINFO[] GET INFOrmation\n// 0x88\nfunction GETINFO(state) {\n var stack = state.stack;\n var sel = stack.pop();\n var r = 0;\n\n if (exports.DEBUG) { console.log(state.step, 'GETINFO[]', sel); }\n\n // v35 as in no subpixel hinting\n if (sel & 0x01) { r = 35; }\n\n // TODO rotation and stretch currently not supported\n // and thus those GETINFO are always 0.\n\n // opentype.js is always gray scaling\n if (sel & 0x20) { r |= 0x1000; }\n\n stack.push(r);\n}\n\n// ROLL[] ROLL the top three stack elements\n// 0x8A\nfunction ROLL(state) {\n var stack = state.stack;\n var a = stack.pop();\n var b = stack.pop();\n var c = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ROLL[]'); }\n\n stack.push(b);\n stack.push(a);\n stack.push(c);\n}\n\n// MAX[] MAXimum of top two stack elements\n// 0x8B\nfunction MAX(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MAX[]', e2, e1); }\n\n stack.push(Math.max(e1, e2));\n}\n\n// MIN[] MINimum of top two stack elements\n// 0x8C\nfunction MIN(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MIN[]', e2, e1); }\n\n stack.push(Math.min(e1, e2));\n}\n\n// SCANTYPE[] SCANTYPE\n// 0x8D\nfunction SCANTYPE(state) {\n var n = state.stack.pop();\n // ignored by opentype.js\n if (exports.DEBUG) { console.log(state.step, 'SCANTYPE[]', n); }\n}\n\n// INSTCTRL[] INSTCTRL\n// 0x8D\nfunction INSTCTRL(state) {\n var s = state.stack.pop();\n var v = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'INSTCTRL[]', s, v); }\n\n switch (s) {\n case 1 : state.inhibitGridFit = !!v; return;\n case 2 : state.ignoreCvt = !!v; return;\n default: throw new Error('invalid INSTCTRL[] selector');\n }\n}\n\n// PUSHB[abc] PUSH Bytes\n// 0xB0-0xB7\nfunction PUSHB(n, state) {\n var stack = state.stack;\n var prog = state.prog;\n var ip = state.ip;\n\n if (exports.DEBUG) { console.log(state.step, 'PUSHB[' + n + ']'); }\n\n for (var i = 0; i < n; i++) { stack.push(prog[++ip]); }\n\n state.ip = ip;\n}\n\n// PUSHW[abc] PUSH Words\n// 0xB8-0xBF\nfunction PUSHW(n, state) {\n var ip = state.ip;\n var prog = state.prog;\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.ip, 'PUSHW[' + n + ']'); }\n\n for (var i = 0; i < n; i++) {\n var w = (prog[++ip] << 8) | prog[++ip];\n if (w & 0x8000) { w = -((w ^ 0xffff) + 1); }\n stack.push(w);\n }\n\n state.ip = ip;\n}\n\n// MDRP[abcde] Move Direct Relative Point\n// 0xD0-0xEF\n// (if indirect is 0)\n//\n// and\n//\n// MIRP[abcde] Move Indirect Relative Point\n// 0xE0-0xFF\n// (if indirect is 1)\n\nfunction MDRP_MIRP(indirect, setRp0, keepD, ro, dt, state) {\n var stack = state.stack;\n var cvte = indirect && stack.pop();\n var pi = stack.pop();\n var rp0i = state.rp0;\n var rp = state.z0[rp0i];\n var p = state.z1[pi];\n\n var md = state.minDis;\n var fv = state.fv;\n var pv = state.dpv;\n var od; // original distance\n var d; // moving distance\n var sign; // sign of distance\n var cv;\n\n d = od = pv.distance(p, rp, true, true);\n sign = d >= 0 ? 1 : -1; // Math.sign would be 0 in case of 0\n\n // TODO consider autoFlip\n d = Math.abs(d);\n\n if (indirect) {\n cv = state.cvt[cvte];\n\n if (ro && Math.abs(d - cv) < state.cvCutIn) { d = cv; }\n }\n\n if (keepD && d < md) { d = md; }\n\n if (ro) { d = state.round(d); }\n\n fv.setRelative(p, rp, sign * d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (indirect ? 'MIRP[' : 'MDRP[') +\n (setRp0 ? 'M' : 'm') +\n (keepD ? '>' : '_') +\n (ro ? 'R' : '_') +\n (dt === 0 ? 'Gr' : (dt === 1 ? 'Bl' : (dt === 2 ? 'Wh' : ''))) +\n ']',\n indirect ?\n cvte + '(' + state.cvt[cvte] + ',' + cv + ')' :\n '',\n pi,\n '(d =', od, '->', sign * d, ')'\n );\n }\n\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (setRp0) { state.rp0 = pi; }\n}\n\n/*\n* The instruction table.\n*/\ninstructionTable = [\n /* 0x00 */ SVTCA.bind(undefined, yUnitVector),\n /* 0x01 */ SVTCA.bind(undefined, xUnitVector),\n /* 0x02 */ SPVTCA.bind(undefined, yUnitVector),\n /* 0x03 */ SPVTCA.bind(undefined, xUnitVector),\n /* 0x04 */ SFVTCA.bind(undefined, yUnitVector),\n /* 0x05 */ SFVTCA.bind(undefined, xUnitVector),\n /* 0x06 */ SPVTL.bind(undefined, 0),\n /* 0x07 */ SPVTL.bind(undefined, 1),\n /* 0x08 */ SFVTL.bind(undefined, 0),\n /* 0x09 */ SFVTL.bind(undefined, 1),\n /* 0x0A */ SPVFS,\n /* 0x0B */ SFVFS,\n /* 0x0C */ GPV,\n /* 0x0D */ GFV,\n /* 0x0E */ SFVTPV,\n /* 0x0F */ ISECT,\n /* 0x10 */ SRP0,\n /* 0x11 */ SRP1,\n /* 0x12 */ SRP2,\n /* 0x13 */ SZP0,\n /* 0x14 */ SZP1,\n /* 0x15 */ SZP2,\n /* 0x16 */ SZPS,\n /* 0x17 */ SLOOP,\n /* 0x18 */ RTG,\n /* 0x19 */ RTHG,\n /* 0x1A */ SMD,\n /* 0x1B */ ELSE,\n /* 0x1C */ JMPR,\n /* 0x1D */ SCVTCI,\n /* 0x1E */ undefined, // TODO SSWCI\n /* 0x1F */ undefined, // TODO SSW\n /* 0x20 */ DUP,\n /* 0x21 */ POP,\n /* 0x22 */ CLEAR,\n /* 0x23 */ SWAP,\n /* 0x24 */ DEPTH,\n /* 0x25 */ CINDEX,\n /* 0x26 */ MINDEX,\n /* 0x27 */ undefined, // TODO ALIGNPTS\n /* 0x28 */ undefined,\n /* 0x29 */ undefined, // TODO UTP\n /* 0x2A */ LOOPCALL,\n /* 0x2B */ CALL,\n /* 0x2C */ FDEF,\n /* 0x2D */ undefined, // ENDF (eaten by FDEF)\n /* 0x2E */ MDAP.bind(undefined, 0),\n /* 0x2F */ MDAP.bind(undefined, 1),\n /* 0x30 */ IUP.bind(undefined, yUnitVector),\n /* 0x31 */ IUP.bind(undefined, xUnitVector),\n /* 0x32 */ SHP.bind(undefined, 0),\n /* 0x33 */ SHP.bind(undefined, 1),\n /* 0x34 */ SHC.bind(undefined, 0),\n /* 0x35 */ SHC.bind(undefined, 1),\n /* 0x36 */ SHZ.bind(undefined, 0),\n /* 0x37 */ SHZ.bind(undefined, 1),\n /* 0x38 */ SHPIX,\n /* 0x39 */ IP,\n /* 0x3A */ MSIRP.bind(undefined, 0),\n /* 0x3B */ MSIRP.bind(undefined, 1),\n /* 0x3C */ ALIGNRP,\n /* 0x3D */ RTDG,\n /* 0x3E */ MIAP.bind(undefined, 0),\n /* 0x3F */ MIAP.bind(undefined, 1),\n /* 0x40 */ NPUSHB,\n /* 0x41 */ NPUSHW,\n /* 0x42 */ WS,\n /* 0x43 */ RS,\n /* 0x44 */ WCVTP,\n /* 0x45 */ RCVT,\n /* 0x46 */ GC.bind(undefined, 0),\n /* 0x47 */ GC.bind(undefined, 1),\n /* 0x48 */ undefined, // TODO SCFS\n /* 0x49 */ MD.bind(undefined, 0),\n /* 0x4A */ MD.bind(undefined, 1),\n /* 0x4B */ MPPEM,\n /* 0x4C */ undefined, // TODO MPS\n /* 0x4D */ FLIPON,\n /* 0x4E */ undefined, // TODO FLIPOFF\n /* 0x4F */ undefined, // TODO DEBUG\n /* 0x50 */ LT,\n /* 0x51 */ LTEQ,\n /* 0x52 */ GT,\n /* 0x53 */ GTEQ,\n /* 0x54 */ EQ,\n /* 0x55 */ NEQ,\n /* 0x56 */ ODD,\n /* 0x57 */ EVEN,\n /* 0x58 */ IF,\n /* 0x59 */ EIF,\n /* 0x5A */ AND,\n /* 0x5B */ OR,\n /* 0x5C */ NOT,\n /* 0x5D */ DELTAP123.bind(undefined, 1),\n /* 0x5E */ SDB,\n /* 0x5F */ SDS,\n /* 0x60 */ ADD,\n /* 0x61 */ SUB,\n /* 0x62 */ DIV,\n /* 0x63 */ MUL,\n /* 0x64 */ ABS,\n /* 0x65 */ NEG,\n /* 0x66 */ FLOOR,\n /* 0x67 */ CEILING,\n /* 0x68 */ ROUND.bind(undefined, 0),\n /* 0x69 */ ROUND.bind(undefined, 1),\n /* 0x6A */ ROUND.bind(undefined, 2),\n /* 0x6B */ ROUND.bind(undefined, 3),\n /* 0x6C */ undefined, // TODO NROUND[ab]\n /* 0x6D */ undefined, // TODO NROUND[ab]\n /* 0x6E */ undefined, // TODO NROUND[ab]\n /* 0x6F */ undefined, // TODO NROUND[ab]\n /* 0x70 */ WCVTF,\n /* 0x71 */ DELTAP123.bind(undefined, 2),\n /* 0x72 */ DELTAP123.bind(undefined, 3),\n /* 0x73 */ DELTAC123.bind(undefined, 1),\n /* 0x74 */ DELTAC123.bind(undefined, 2),\n /* 0x75 */ DELTAC123.bind(undefined, 3),\n /* 0x76 */ SROUND,\n /* 0x77 */ S45ROUND,\n /* 0x78 */ undefined, // TODO JROT[]\n /* 0x79 */ undefined, // TODO JROF[]\n /* 0x7A */ ROFF,\n /* 0x7B */ undefined,\n /* 0x7C */ RUTG,\n /* 0x7D */ RDTG,\n /* 0x7E */ POP, // actually SANGW, supposed to do only a pop though\n /* 0x7F */ POP, // actually AA, supposed to do only a pop though\n /* 0x80 */ undefined, // TODO FLIPPT\n /* 0x81 */ undefined, // TODO FLIPRGON\n /* 0x82 */ undefined, // TODO FLIPRGOFF\n /* 0x83 */ undefined,\n /* 0x84 */ undefined,\n /* 0x85 */ SCANCTRL,\n /* 0x86 */ SDPVTL.bind(undefined, 0),\n /* 0x87 */ SDPVTL.bind(undefined, 1),\n /* 0x88 */ GETINFO,\n /* 0x89 */ undefined, // TODO IDEF\n /* 0x8A */ ROLL,\n /* 0x8B */ MAX,\n /* 0x8C */ MIN,\n /* 0x8D */ SCANTYPE,\n /* 0x8E */ INSTCTRL,\n /* 0x8F */ undefined,\n /* 0x90 */ undefined,\n /* 0x91 */ undefined,\n /* 0x92 */ undefined,\n /* 0x93 */ undefined,\n /* 0x94 */ undefined,\n /* 0x95 */ undefined,\n /* 0x96 */ undefined,\n /* 0x97 */ undefined,\n /* 0x98 */ undefined,\n /* 0x99 */ undefined,\n /* 0x9A */ undefined,\n /* 0x9B */ undefined,\n /* 0x9C */ undefined,\n /* 0x9D */ undefined,\n /* 0x9E */ undefined,\n /* 0x9F */ undefined,\n /* 0xA0 */ undefined,\n /* 0xA1 */ undefined,\n /* 0xA2 */ undefined,\n /* 0xA3 */ undefined,\n /* 0xA4 */ undefined,\n /* 0xA5 */ undefined,\n /* 0xA6 */ undefined,\n /* 0xA7 */ undefined,\n /* 0xA8 */ undefined,\n /* 0xA9 */ undefined,\n /* 0xAA */ undefined,\n /* 0xAB */ undefined,\n /* 0xAC */ undefined,\n /* 0xAD */ undefined,\n /* 0xAE */ undefined,\n /* 0xAF */ undefined,\n /* 0xB0 */ PUSHB.bind(undefined, 1),\n /* 0xB1 */ PUSHB.bind(undefined, 2),\n /* 0xB2 */ PUSHB.bind(undefined, 3),\n /* 0xB3 */ PUSHB.bind(undefined, 4),\n /* 0xB4 */ PUSHB.bind(undefined, 5),\n /* 0xB5 */ PUSHB.bind(undefined, 6),\n /* 0xB6 */ PUSHB.bind(undefined, 7),\n /* 0xB7 */ PUSHB.bind(undefined, 8),\n /* 0xB8 */ PUSHW.bind(undefined, 1),\n /* 0xB9 */ PUSHW.bind(undefined, 2),\n /* 0xBA */ PUSHW.bind(undefined, 3),\n /* 0xBB */ PUSHW.bind(undefined, 4),\n /* 0xBC */ PUSHW.bind(undefined, 5),\n /* 0xBD */ PUSHW.bind(undefined, 6),\n /* 0xBE */ PUSHW.bind(undefined, 7),\n /* 0xBF */ PUSHW.bind(undefined, 8),\n /* 0xC0 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 0),\n /* 0xC1 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 1),\n /* 0xC2 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 2),\n /* 0xC3 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 3),\n /* 0xC4 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 0),\n /* 0xC5 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 1),\n /* 0xC6 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 2),\n /* 0xC7 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 3),\n /* 0xC8 */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 0),\n /* 0xC9 */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 1),\n /* 0xCA */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 2),\n /* 0xCB */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 3),\n /* 0xCC */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 0),\n /* 0xCD */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 1),\n /* 0xCE */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 2),\n /* 0xCF */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 3),\n /* 0xD0 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 0),\n /* 0xD1 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 1),\n /* 0xD2 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 2),\n /* 0xD3 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 3),\n /* 0xD4 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 0),\n /* 0xD5 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 1),\n /* 0xD6 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 2),\n /* 0xD7 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 3),\n /* 0xD8 */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 0),\n /* 0xD9 */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 1),\n /* 0xDA */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 2),\n /* 0xDB */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 3),\n /* 0xDC */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 0),\n /* 0xDD */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 1),\n /* 0xDE */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 2),\n /* 0xDF */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 3),\n /* 0xE0 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 0),\n /* 0xE1 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 1),\n /* 0xE2 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 2),\n /* 0xE3 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 3),\n /* 0xE4 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 0),\n /* 0xE5 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 1),\n /* 0xE6 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 2),\n /* 0xE7 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 3),\n /* 0xE8 */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 0),\n /* 0xE9 */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 1),\n /* 0xEA */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 2),\n /* 0xEB */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 3),\n /* 0xEC */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 0),\n /* 0xED */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 1),\n /* 0xEE */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 2),\n /* 0xEF */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 3),\n /* 0xF0 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 0),\n /* 0xF1 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 1),\n /* 0xF2 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 2),\n /* 0xF3 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 3),\n /* 0xF4 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 0),\n /* 0xF5 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 1),\n /* 0xF6 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 2),\n /* 0xF7 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 3),\n /* 0xF8 */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 0),\n /* 0xF9 */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 1),\n /* 0xFA */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 2),\n /* 0xFB */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 3),\n /* 0xFC */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 0),\n /* 0xFD */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 1),\n /* 0xFE */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 2),\n /* 0xFF */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 3)\n];\n\n/*****************************\n Mathematical Considerations\n******************************\n\nfv ... refers to freedom vector\npv ... refers to projection vector\nrp ... refers to reference point\np ... refers to to point being operated on\nd ... refers to distance\n\nSETRELATIVE:\n============\n\ncase freedom vector == x-axis:\n------------------------------\n\n (pv)\n .-'\n rpd .-'\n .-*\n d .-'90°'\n .-' '\n .-' '\n *-' ' b\n rp '\n '\n '\n p *----------*-------------- (fv)\n pm\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b\n\n y - rpdy = pvns * (x- rpdx)\n\n y = p.y\n\n x = rpdx + ( p.y - rpdy ) / pvns\n\n\ncase freedom vector == y-axis:\n------------------------------\n\n * pm\n |\\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\ b\n | \\\n | \\\n | \\ .-' (pv)\n | 90° \\.-'\n | .-'* rpd\n | .-'\n * *-' d\n p rp\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b:\n pvns ... normal slope to pv\n\n y - rpdy = pvns * (x - rpdx)\n\n x = p.x\n\n y = rpdy + pvns * (p.x - rpdx)\n\n\n\ngeneric case:\n-------------\n\n\n .'(fv)\n .'\n .* pm\n .' !\n .' .\n .' !\n .' . b\n .' !\n * .\n p !\n 90° . ... (pv)\n ...-*-'''\n ...---''' rpd\n ...---''' d\n *--'''\n rp\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b:\n pvns... normal slope to pv\n\n y - rpdy = pvns * (x - rpdx)\n\n equation of freedom vector line:\n fvs ... slope of freedom vector (=fy/fx)\n\n y - py = fvs * (x - px)\n\n\n on pm both equations are true for same x/y\n\n y - rpdy = pvns * (x - rpdx)\n\n y - py = fvs * (x - px)\n\n form to y and set equal:\n\n pvns * (x - rpdx) + rpdy = fvs * (x - px) + py\n\n expand:\n\n pvns * x - pvns * rpdx + rpdy = fvs * x - fvs * px + py\n\n switch:\n\n fvs * x - fvs * px + py = pvns * x - pvns * rpdx + rpdy\n\n solve for x:\n\n fvs * x - pvns * x = fvs * px - pvns * rpdx - py + rpdy\n\n\n\n fvs * px - pvns * rpdx + rpdy - py\n x = -----------------------------------\n fvs - pvns\n\n and:\n\n y = fvs * (x - px) + py\n\n\n\nINTERPOLATE:\n============\n\nExamples of point interpolation.\n\nThe weight of the movement of the reference point gets bigger\nthe further the other reference point is away, thus the safest\noption (that is avoiding 0/0 divisions) is to weight the\noriginal distance of the other point by the sum of both distances.\n\nIf the sum of both distances is 0, then move the point by the\narithmetic average of the movement of both reference points.\n\n\n\n\n (+6)\n rp1o *---->*rp1\n . . (+12)\n . . rp2o *---------->* rp2\n . . . .\n . . . .\n . 10 20 . .\n |.........|...................| .\n . . .\n . . (+8) .\n po *------>*p .\n . . .\n . 12 . 24 .\n |...........|.......................|\n 36\n\n\n-------\n\n\n\n (+10)\n rp1o *-------->*rp1\n . . (-10)\n . . rp2 *<---------* rpo2\n . . . .\n . . . .\n . 10 . 30 . .\n |.........|.............................|\n . .\n . (+5) .\n po *--->* p .\n . . .\n . . 20 .\n |....|..............|\n 5 15\n\n\n-------\n\n\n (+10)\n rp1o *-------->*rp1\n . .\n . .\n rp2o *-------->*rp2\n\n\n (+10)\n po *-------->* p\n\n-------\n\n\n (+10)\n rp1o *-------->*rp1\n . .\n . .(+30)\n rp2o *---------------------------->*rp2\n\n\n (+25)\n po *----------------------->* p\n\n\n\nvim: set ts=4 sw=4 expandtab:\n*****/\n\n/**\n * Converts a string into a list of tokens.\n */\n\n/**\n * Create a new token\n * @param {string} char a single char\n */\nfunction Token(char) {\n this.char = char;\n this.state = {};\n this.activeState = null;\n}\n\n/**\n * Create a new context range\n * @param {number} startIndex range start index\n * @param {number} endOffset range end index offset\n * @param {string} contextName owner context name\n */\nfunction ContextRange(startIndex, endOffset, contextName) {\n this.contextName = contextName;\n this.startIndex = startIndex;\n this.endOffset = endOffset;\n}\n\n/**\n * Check context start and end\n * @param {string} contextName a unique context name\n * @param {function} checkStart a predicate function the indicates a context's start\n * @param {function} checkEnd a predicate function the indicates a context's end\n */\nfunction ContextChecker(contextName, checkStart, checkEnd) {\n this.contextName = contextName;\n this.openRange = null;\n this.ranges = [];\n this.checkStart = checkStart;\n this.checkEnd = checkEnd;\n}\n\n/**\n * @typedef ContextParams\n * @type Object\n * @property {array} context context items\n * @property {number} currentIndex current item index\n */\n\n/**\n * Create a context params\n * @param {array} context a list of items\n * @param {number} currentIndex current item index\n */\nfunction ContextParams(context, currentIndex) {\n this.context = context;\n this.index = currentIndex;\n this.length = context.length;\n this.current = context[currentIndex];\n this.backtrack = context.slice(0, currentIndex);\n this.lookahead = context.slice(currentIndex + 1);\n}\n\n/**\n * Create an event instance\n * @param {string} eventId event unique id\n */\nfunction Event(eventId) {\n this.eventId = eventId;\n this.subscribers = [];\n}\n\n/**\n * Initialize a core events and auto subscribe required event handlers\n * @param {any} events an object that enlists core events handlers\n */\nfunction initializeCoreEvents(events) {\n var this$1 = this;\n\n var coreEvents = [\n 'start', 'end', 'next', 'newToken', 'contextStart',\n 'contextEnd', 'insertToken', 'removeToken', 'removeRange',\n 'replaceToken', 'replaceRange', 'composeRUD', 'updateContextsRanges'\n ];\n\n coreEvents.forEach(function (eventId) {\n Object.defineProperty(this$1.events, eventId, {\n value: new Event(eventId)\n });\n });\n\n if (!!events) {\n coreEvents.forEach(function (eventId) {\n var event = events[eventId];\n if (typeof event === 'function') {\n this$1.events[eventId].subscribe(event);\n }\n });\n }\n var requiresContextUpdate = [\n 'insertToken', 'removeToken', 'removeRange',\n 'replaceToken', 'replaceRange', 'composeRUD'\n ];\n requiresContextUpdate.forEach(function (eventId) {\n this$1.events[eventId].subscribe(\n this$1.updateContextsRanges\n );\n });\n}\n\n/**\n * Converts a string into a list of tokens\n * @param {any} events tokenizer core events\n */\nfunction Tokenizer(events) {\n this.tokens = [];\n this.registeredContexts = {};\n this.contextCheckers = [];\n this.events = {};\n this.registeredModifiers = [];\n\n initializeCoreEvents.call(this, events);\n}\n\n/**\n * Sets the state of a token, usually called by a state modifier.\n * @param {string} key state item key\n * @param {any} value state item value\n */\nToken.prototype.setState = function(key, value) {\n this.state[key] = value;\n this.activeState = { key: key, value: this.state[key] };\n return this.activeState;\n};\n\nToken.prototype.getState = function (stateId) {\n return this.state[stateId] || null;\n};\n\n/**\n * Checks if an index exists in the tokens list.\n * @param {number} index token index\n */\nTokenizer.prototype.inboundIndex = function(index) {\n return index >= 0 && index < this.tokens.length;\n};\n\n/**\n * Compose and apply a list of operations (replace, update, delete)\n * @param {array} RUDs replace, update and delete operations\n * TODO: Perf. Optimization (lengthBefore === lengthAfter ? dispatch once)\n */\nTokenizer.prototype.composeRUD = function (RUDs) {\n var this$1 = this;\n\n var silent = true;\n var state = RUDs.map(function (RUD) { return (\n this$1[RUD[0]].apply(this$1, RUD.slice(1).concat(silent))\n ); });\n var hasFAILObject = function (obj) { return (\n typeof obj === 'object' &&\n obj.hasOwnProperty('FAIL')\n ); };\n if (state.every(hasFAILObject)) {\n return {\n FAIL: \"composeRUD: one or more operations hasn't completed successfully\",\n report: state.filter(hasFAILObject)\n };\n }\n this.dispatch('composeRUD', [state.filter(function (op) { return !hasFAILObject(op); })]);\n};\n\n/**\n * Replace a range of tokens with a list of tokens\n * @param {number} startIndex range start index\n * @param {number} offset range offset\n * @param {token} tokens a list of tokens to replace\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.replaceRange = function (startIndex, offset, tokens, silent) {\n offset = offset !== null ? offset : this.tokens.length;\n var isTokenType = tokens.every(function (token) { return token instanceof Token; });\n if (!isNaN(startIndex) && this.inboundIndex(startIndex) && isTokenType) {\n var replaced = this.tokens.splice.apply(\n this.tokens, [startIndex, offset].concat(tokens)\n );\n if (!silent) { this.dispatch('replaceToken', [startIndex, offset, tokens]); }\n return [replaced, tokens];\n } else {\n return { FAIL: 'replaceRange: invalid tokens or startIndex.' };\n }\n};\n\n/**\n * Replace a token with another token\n * @param {number} index token index\n * @param {token} token a token to replace\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.replaceToken = function (index, token, silent) {\n if (!isNaN(index) && this.inboundIndex(index) && token instanceof Token) {\n var replaced = this.tokens.splice(index, 1, token);\n if (!silent) { this.dispatch('replaceToken', [index, token]); }\n return [replaced[0], token];\n } else {\n return { FAIL: 'replaceToken: invalid token or index.' };\n }\n};\n\n/**\n * Removes a range of tokens\n * @param {number} startIndex range start index\n * @param {number} offset range offset\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.removeRange = function(startIndex, offset, silent) {\n offset = !isNaN(offset) ? offset : this.tokens.length;\n var tokens = this.tokens.splice(startIndex, offset);\n if (!silent) { this.dispatch('removeRange', [tokens, startIndex, offset]); }\n return tokens;\n};\n\n/**\n * Remove a token at a certain index\n * @param {number} index token index\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.removeToken = function(index, silent) {\n if (!isNaN(index) && this.inboundIndex(index)) {\n var token = this.tokens.splice(index, 1);\n if (!silent) { this.dispatch('removeToken', [token, index]); }\n return token;\n } else {\n return { FAIL: 'removeToken: invalid token index.' };\n }\n};\n\n/**\n * Insert a list of tokens at a certain index\n * @param {array} tokens a list of tokens to insert\n * @param {number} index insert the list of tokens at index\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.insertToken = function (tokens, index, silent) {\n var tokenType = tokens.every(\n function (token) { return token instanceof Token; }\n );\n if (tokenType) {\n this.tokens.splice.apply(\n this.tokens, [index, 0].concat(tokens)\n );\n if (!silent) { this.dispatch('insertToken', [tokens, index]); }\n return tokens;\n } else {\n return { FAIL: 'insertToken: invalid token(s).' };\n }\n};\n\n/**\n * A state modifier that is called on 'newToken' event\n * @param {string} modifierId state modifier id\n * @param {function} condition a predicate function that returns true or false\n * @param {function} modifier a function to update token state\n */\nTokenizer.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.events.newToken.subscribe(function(token, contextParams) {\n var conditionParams = [token, contextParams];\n var canApplyModifier = (\n condition === null ||\n condition.apply(this, conditionParams) === true\n );\n var modifierParams = [token, contextParams];\n if (canApplyModifier) {\n var newStateValue = modifier.apply(this, modifierParams);\n token.setState(modifierId, newStateValue);\n }\n });\n this.registeredModifiers.push(modifierId);\n};\n\n/**\n * Subscribe a handler to an event\n * @param {function} eventHandler an event handler function\n */\nEvent.prototype.subscribe = function (eventHandler) {\n if (typeof eventHandler === 'function') {\n return ((this.subscribers.push(eventHandler)) - 1);\n } else {\n return { FAIL: (\"invalid '\" + (this.eventId) + \"' event handler\")};\n }\n};\n\n/**\n * Unsubscribe an event handler\n * @param {string} subsId subscription id\n */\nEvent.prototype.unsubscribe = function (subsId) {\n this.subscribers.splice(subsId, 1);\n};\n\n/**\n * Sets context params current value index\n * @param {number} index context params current value index\n */\nContextParams.prototype.setCurrentIndex = function(index) {\n this.index = index;\n this.current = this.context[index];\n this.backtrack = this.context.slice(0, index);\n this.lookahead = this.context.slice(index + 1);\n};\n\n/**\n * Get an item at an offset from the current value\n * example (current value is 3):\n * 1 2 [3] 4 5 | items values\n * -2 -1 0 1 2 | offset values\n * @param {number} offset an offset from current value index\n */\nContextParams.prototype.get = function (offset) {\n switch (true) {\n case (offset === 0):\n return this.current;\n case (offset < 0 && Math.abs(offset) <= this.backtrack.length):\n return this.backtrack.slice(offset)[0];\n case (offset > 0 && offset <= this.lookahead.length):\n return this.lookahead[offset - 1];\n default:\n return null;\n }\n};\n\n/**\n * Converts a context range into a string value\n * @param {contextRange} range a context range\n */\nTokenizer.prototype.rangeToText = function (range) {\n if (range instanceof ContextRange) {\n return (\n this.getRangeTokens(range)\n .map(function (token) { return token.char; }).join('')\n );\n }\n};\n\n/**\n * Converts all tokens into a string\n */\nTokenizer.prototype.getText = function () {\n return this.tokens.map(function (token) { return token.char; }).join('');\n};\n\n/**\n * Get a context by name\n * @param {string} contextName context name to get\n */\nTokenizer.prototype.getContext = function (contextName) {\n var context = this.registeredContexts[contextName];\n return !!context ? context : null;\n};\n\n/**\n * Subscribes a new event handler to an event\n * @param {string} eventName event name to subscribe to\n * @param {function} eventHandler a function to be invoked on event\n */\nTokenizer.prototype.on = function(eventName, eventHandler) {\n var event = this.events[eventName];\n if (!!event) {\n return event.subscribe(eventHandler);\n } else {\n return null;\n }\n};\n\n/**\n * Dispatches an event\n * @param {string} eventName event name\n * @param {any} args event handler arguments\n */\nTokenizer.prototype.dispatch = function(eventName, args) {\n var this$1 = this;\n\n var event = this.events[eventName];\n if (event instanceof Event) {\n event.subscribers.forEach(function (subscriber) {\n subscriber.apply(this$1, args || []);\n });\n }\n};\n\n/**\n * Register a new context checker\n * @param {string} contextName a unique context name\n * @param {function} contextStartCheck a predicate function that returns true on context start\n * @param {function} contextEndCheck a predicate function that returns true on context end\n * TODO: call tokenize on registration to update context ranges with the new context.\n */\nTokenizer.prototype.registerContextChecker = function(contextName, contextStartCheck, contextEndCheck) {\n if (!!this.getContext(contextName)) { return {\n FAIL:\n (\"context name '\" + contextName + \"' is already registered.\")\n }; }\n if (typeof contextStartCheck !== 'function') { return {\n FAIL:\n \"missing context start check.\"\n }; }\n if (typeof contextEndCheck !== 'function') { return {\n FAIL:\n \"missing context end check.\"\n }; }\n var contextCheckers = new ContextChecker(\n contextName, contextStartCheck, contextEndCheck\n );\n this.registeredContexts[contextName] = contextCheckers;\n this.contextCheckers.push(contextCheckers);\n return contextCheckers;\n};\n\n/**\n * Gets a context range tokens\n * @param {contextRange} range a context range\n */\nTokenizer.prototype.getRangeTokens = function(range) {\n var endIndex = range.startIndex + range.endOffset;\n return [].concat(\n this.tokens\n .slice(range.startIndex, endIndex)\n );\n};\n\n/**\n * Gets the ranges of a context\n * @param {string} contextName context name\n */\nTokenizer.prototype.getContextRanges = function(contextName) {\n var context = this.getContext(contextName);\n if (!!context) {\n return context.ranges;\n } else {\n return { FAIL: (\"context checker '\" + contextName + \"' is not registered.\") };\n }\n};\n\n/**\n * Resets context ranges to run context update\n */\nTokenizer.prototype.resetContextsRanges = function () {\n var registeredContexts = this.registeredContexts;\n for (var contextName in registeredContexts) {\n if (registeredContexts.hasOwnProperty(contextName)) {\n var context = registeredContexts[contextName];\n context.ranges = [];\n }\n }\n};\n\n/**\n * Updates context ranges\n */\nTokenizer.prototype.updateContextsRanges = function () {\n this.resetContextsRanges();\n var chars = this.tokens.map(function (token) { return token.char; });\n for (var i = 0; i < chars.length; i++) {\n var contextParams = new ContextParams(chars, i);\n this.runContextCheck(contextParams);\n }\n this.dispatch('updateContextsRanges', [this.registeredContexts]);\n};\n\n/**\n * Sets the end offset of an open range\n * @param {number} offset range end offset\n * @param {string} contextName context name\n */\nTokenizer.prototype.setEndOffset = function (offset, contextName) {\n var startIndex = this.getContext(contextName).openRange.startIndex;\n var range = new ContextRange(startIndex, offset, contextName);\n var ranges = this.getContext(contextName).ranges;\n range.rangeId = contextName + \".\" + (ranges.length);\n ranges.push(range);\n this.getContext(contextName).openRange = null;\n return range;\n};\n\n/**\n * Runs a context check on the current context\n * @param {contextParams} contextParams current context params\n */\nTokenizer.prototype.runContextCheck = function(contextParams) {\n var this$1 = this;\n\n var index = contextParams.index;\n this.contextCheckers.forEach(function (contextChecker) {\n var contextName = contextChecker.contextName;\n var openRange = this$1.getContext(contextName).openRange;\n if (!openRange && contextChecker.checkStart(contextParams)) {\n openRange = new ContextRange(index, null, contextName);\n this$1.getContext(contextName).openRange = openRange;\n this$1.dispatch('contextStart', [contextName, index]);\n }\n if (!!openRange && contextChecker.checkEnd(contextParams)) {\n var offset = (index - openRange.startIndex) + 1;\n var range = this$1.setEndOffset(offset, contextName);\n this$1.dispatch('contextEnd', [contextName, range]);\n }\n });\n};\n\n/**\n * Converts a text into a list of tokens\n * @param {string} text a text to tokenize\n */\nTokenizer.prototype.tokenize = function (text) {\n this.tokens = [];\n this.resetContextsRanges();\n var chars = Array.from(text);\n this.dispatch('start');\n for (var i = 0; i < chars.length; i++) {\n var char = chars[i];\n var contextParams = new ContextParams(chars, i);\n this.dispatch('next', [contextParams]);\n this.runContextCheck(contextParams);\n var token = new Token(char);\n this.tokens.push(token);\n this.dispatch('newToken', [token, contextParams]);\n }\n this.dispatch('end', [this.tokens]);\n return this.tokens;\n};\n\n// ╭─┄┄┄────────────────────────┄─────────────────────────────────────────────╮\n// ┊ Character Class Assertions ┊ Checks if a char belongs to a certain class ┊\n// ╰─╾──────────────────────────┄─────────────────────────────────────────────╯\n// jscs:disable maximumLineLength\n/**\n * Check if a char is Arabic\n * @param {string} c a single char\n */\nfunction isArabicChar(c) {\n return /[\\u0600-\\u065F\\u066A-\\u06D2\\u06FA-\\u06FF]/.test(c);\n}\n\n/**\n * Check if a char is an isolated arabic char\n * @param {string} c a single char\n */\nfunction isIsolatedArabicChar(char) {\n return /[\\u0630\\u0690\\u0621\\u0631\\u0661\\u0671\\u0622\\u0632\\u0672\\u0692\\u06C2\\u0623\\u0673\\u0693\\u06C3\\u0624\\u0694\\u06C4\\u0625\\u0675\\u0695\\u06C5\\u06E5\\u0676\\u0696\\u06C6\\u0627\\u0677\\u0697\\u06C7\\u0648\\u0688\\u0698\\u06C8\\u0689\\u0699\\u06C9\\u068A\\u06CA\\u066B\\u068B\\u06CB\\u068C\\u068D\\u06CD\\u06FD\\u068E\\u06EE\\u06FE\\u062F\\u068F\\u06CF\\u06EF]/.test(char);\n}\n\n/**\n * Check if a char is an Arabic Tashkeel char\n * @param {string} c a single char\n */\nfunction isTashkeelArabicChar(char) {\n return /[\\u0600-\\u0605\\u060C-\\u060E\\u0610-\\u061B\\u061E\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED]/.test(char);\n}\n\n/**\n * Check if a char is Latin\n * @param {string} c a single char\n */\nfunction isLatinChar(c) {\n return /[A-z]/.test(c);\n}\n\n/**\n * Check if a char is whitespace char\n * @param {string} c a single char\n */\nfunction isWhiteSpace(c) {\n return /\\s/.test(c);\n}\n\n/**\n * Query a feature by some of it's properties to lookup a glyph substitution.\n */\n\n/**\n * Create feature query instance\n * @param {Font} font opentype font instance\n */\nfunction FeatureQuery(font) {\n this.font = font;\n this.features = {};\n}\n\n/**\n * @typedef SubstitutionAction\n * @type Object\n * @property {number} id substitution type\n * @property {string} tag feature tag\n * @property {any} substitution substitution value(s)\n */\n\n/**\n * Create a substitution action instance\n * @param {SubstitutionAction} action\n */\nfunction SubstitutionAction(action) {\n this.id = action.id;\n this.tag = action.tag;\n this.substitution = action.substitution;\n}\n\n/**\n * Lookup a coverage table\n * @param {number} glyphIndex glyph index\n * @param {CoverageTable} coverage coverage table\n */\nfunction lookupCoverage(glyphIndex, coverage) {\n if (!glyphIndex) { return -1; }\n switch (coverage.format) {\n case 1:\n return coverage.glyphs.indexOf(glyphIndex);\n\n case 2:\n var ranges = coverage.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (glyphIndex >= range.start && glyphIndex <= range.end) {\n var offset = glyphIndex - range.start;\n return range.index + offset;\n }\n }\n break;\n default:\n return -1; // not found\n }\n return -1;\n}\n\n/**\n * Handle a single substitution - format 1\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction singleSubstitutionFormat1(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return glyphIndex + subtable.deltaGlyphId;\n}\n\n/**\n * Handle a single substitution - format 2\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction singleSubstitutionFormat2(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return subtable.substitute[substituteIndex];\n}\n\n/**\n * Lookup a list of coverage tables\n * @param {any} coverageList a list of coverage tables\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction lookupCoverageList(coverageList, contextParams) {\n var lookupList = [];\n for (var i = 0; i < coverageList.length; i++) {\n var coverage = coverageList[i];\n var glyphIndex = contextParams.current;\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n var lookupIndex = lookupCoverage(glyphIndex, coverage);\n if (lookupIndex !== -1) {\n lookupList.push(lookupIndex);\n }\n }\n if (lookupList.length !== coverageList.length) { return -1; }\n return lookupList;\n}\n\n/**\n * Handle chaining context substitution - format 3\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction chainingSubstitutionFormat3(contextParams, subtable) {\n var lookupsCount = (\n subtable.inputCoverage.length +\n subtable.lookaheadCoverage.length +\n subtable.backtrackCoverage.length\n );\n if (contextParams.context.length < lookupsCount) { return []; }\n // INPUT LOOKUP //\n var inputLookups = lookupCoverageList(\n subtable.inputCoverage, contextParams\n );\n if (inputLookups === -1) { return []; }\n // LOOKAHEAD LOOKUP //\n var lookaheadOffset = subtable.inputCoverage.length - 1;\n if (contextParams.lookahead.length < subtable.lookaheadCoverage.length) { return []; }\n var lookaheadContext = contextParams.lookahead.slice(lookaheadOffset);\n while (lookaheadContext.length && isTashkeelArabicChar(lookaheadContext[0].char)) {\n lookaheadContext.shift();\n }\n var lookaheadParams = new ContextParams(lookaheadContext, 0);\n var lookaheadLookups = lookupCoverageList(\n subtable.lookaheadCoverage, lookaheadParams\n );\n // BACKTRACK LOOKUP //\n var backtrackContext = [].concat(contextParams.backtrack);\n backtrackContext.reverse();\n while (backtrackContext.length && isTashkeelArabicChar(backtrackContext[0].char)) {\n backtrackContext.shift();\n }\n if (backtrackContext.length < subtable.backtrackCoverage.length) { return []; }\n var backtrackParams = new ContextParams(backtrackContext, 0);\n var backtrackLookups = lookupCoverageList(\n subtable.backtrackCoverage, backtrackParams\n );\n var contextRulesMatch = (\n inputLookups.length === subtable.inputCoverage.length &&\n lookaheadLookups.length === subtable.lookaheadCoverage.length &&\n backtrackLookups.length === subtable.backtrackCoverage.length\n );\n var substitutions = [];\n if (contextRulesMatch) {\n for (var i = 0; i < subtable.lookupRecords.length; i++) {\n var lookupRecord = subtable.lookupRecords[i];\n var lookupListIndex = lookupRecord.lookupListIndex;\n var lookupTable = this.getLookupByIndex(lookupListIndex);\n for (var s = 0; s < lookupTable.subtables.length; s++) {\n var subtable$1 = lookupTable.subtables[s];\n var lookup = this.getLookupMethod(lookupTable, subtable$1);\n var substitutionType = this.getSubstitutionType(lookupTable, subtable$1);\n if (substitutionType === '12') {\n for (var n = 0; n < inputLookups.length; n++) {\n var glyphIndex = contextParams.get(n);\n var substitution = lookup(glyphIndex);\n if (substitution) { substitutions.push(substitution); }\n }\n }\n }\n }\n }\n return substitutions;\n}\n\n/**\n * Handle ligature substitution - format 1\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction ligatureSubstitutionFormat1(contextParams, subtable) {\n // COVERAGE LOOKUP //\n var glyphIndex = contextParams.current;\n var ligSetIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (ligSetIndex === -1) { return null; }\n // COMPONENTS LOOKUP\n // (!) note, components are ordered in the written direction.\n var ligature;\n var ligatureSet = subtable.ligatureSets[ligSetIndex];\n for (var s = 0; s < ligatureSet.length; s++) {\n ligature = ligatureSet[s];\n for (var l = 0; l < ligature.components.length; l++) {\n var lookaheadItem = contextParams.lookahead[l];\n var component = ligature.components[l];\n if (lookaheadItem !== component) { break; }\n if (l === ligature.components.length - 1) { return ligature; }\n }\n }\n return null;\n}\n\n/**\n * Handle decomposition substitution - format 1\n * @param {number} glyphIndex glyph index\n * @param {any} subtable subtable\n */\nfunction decompositionSubstitutionFormat1(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return subtable.sequences[substituteIndex];\n}\n\n/**\n * Get default script features indexes\n */\nFeatureQuery.prototype.getDefaultScriptFeaturesIndexes = function () {\n var scripts = this.font.tables.gsub.scripts;\n for (var s = 0; s < scripts.length; s++) {\n var script = scripts[s];\n if (script.tag === 'DFLT') { return (\n script.script.defaultLangSys.featureIndexes\n ); }\n }\n return [];\n};\n\n/**\n * Get feature indexes of a specific script\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.getScriptFeaturesIndexes = function(scriptTag) {\n var tables = this.font.tables;\n if (!tables.gsub) { return []; }\n if (!scriptTag) { return this.getDefaultScriptFeaturesIndexes(); }\n var scripts = this.font.tables.gsub.scripts;\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n if (script.tag === scriptTag && script.script.defaultLangSys) {\n return script.script.defaultLangSys.featureIndexes;\n } else {\n var langSysRecords = script.langSysRecords;\n if (!!langSysRecords) {\n for (var j = 0; j < langSysRecords.length; j++) {\n var langSysRecord = langSysRecords[j];\n if (langSysRecord.tag === scriptTag) {\n var langSys = langSysRecord.langSys;\n return langSys.featureIndexes;\n }\n }\n }\n }\n }\n return this.getDefaultScriptFeaturesIndexes();\n};\n\n/**\n * Map a feature tag to a gsub feature\n * @param {any} features gsub features\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.mapTagsToFeatures = function (features, scriptTag) {\n var tags = {};\n for (var i = 0; i < features.length; i++) {\n var tag = features[i].tag;\n var feature = features[i].feature;\n tags[tag] = feature;\n }\n this.features[scriptTag].tags = tags;\n};\n\n/**\n * Get features of a specific script\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.getScriptFeatures = function (scriptTag) {\n var features = this.features[scriptTag];\n if (this.features.hasOwnProperty(scriptTag)) { return features; }\n var featuresIndexes = this.getScriptFeaturesIndexes(scriptTag);\n if (!featuresIndexes) { return null; }\n var gsub = this.font.tables.gsub;\n features = featuresIndexes.map(function (index) { return gsub.features[index]; });\n this.features[scriptTag] = features;\n this.mapTagsToFeatures(features, scriptTag);\n return features;\n};\n\n/**\n * Get substitution type\n * @param {any} lookupTable lookup table\n * @param {any} subtable subtable\n */\nFeatureQuery.prototype.getSubstitutionType = function(lookupTable, subtable) {\n var lookupType = lookupTable.lookupType.toString();\n var substFormat = subtable.substFormat.toString();\n return lookupType + substFormat;\n};\n\n/**\n * Get lookup method\n * @param {any} lookupTable lookup table\n * @param {any} subtable subtable\n */\nFeatureQuery.prototype.getLookupMethod = function(lookupTable, subtable) {\n var this$1 = this;\n\n var substitutionType = this.getSubstitutionType(lookupTable, subtable);\n switch (substitutionType) {\n case '11':\n return function (glyphIndex) { return singleSubstitutionFormat1.apply(\n this$1, [glyphIndex, subtable]\n ); };\n case '12':\n return function (glyphIndex) { return singleSubstitutionFormat2.apply(\n this$1, [glyphIndex, subtable]\n ); };\n case '63':\n return function (contextParams) { return chainingSubstitutionFormat3.apply(\n this$1, [contextParams, subtable]\n ); };\n case '41':\n return function (contextParams) { return ligatureSubstitutionFormat1.apply(\n this$1, [contextParams, subtable]\n ); };\n case '21':\n return function (glyphIndex) { return decompositionSubstitutionFormat1.apply(\n this$1, [glyphIndex, subtable]\n ); };\n default:\n throw new Error(\n \"lookupType: \" + (lookupTable.lookupType) + \" - \" +\n \"substFormat: \" + (subtable.substFormat) + \" \" +\n \"is not yet supported\"\n );\n }\n};\n\n/**\n * [ LOOKUP TYPES ]\n * -------------------------------\n * Single 1;\n * Multiple 2;\n * Alternate 3;\n * Ligature 4;\n * Context 5;\n * ChainingContext 6;\n * ExtensionSubstitution 7;\n * ReverseChainingContext 8;\n * -------------------------------\n *\n */\n\n/**\n * @typedef FQuery\n * @type Object\n * @param {string} tag feature tag\n * @param {string} script feature script\n * @param {ContextParams} contextParams context params\n */\n\n/**\n * Lookup a feature using a query parameters\n * @param {FQuery} query feature query\n */\nFeatureQuery.prototype.lookupFeature = function (query) {\n var contextParams = query.contextParams;\n var currentIndex = contextParams.index;\n var feature = this.getFeature({\n tag: query.tag, script: query.script\n });\n if (!feature) { return new Error(\n \"font '\" + (this.font.names.fullName.en) + \"' \" +\n \"doesn't support feature '\" + (query.tag) + \"' \" +\n \"for script '\" + (query.script) + \"'.\"\n ); }\n var lookups = this.getFeatureLookups(feature);\n var substitutions = [].concat(contextParams.context);\n for (var l = 0; l < lookups.length; l++) {\n var lookupTable = lookups[l];\n var subtables = this.getLookupSubtables(lookupTable);\n for (var s = 0; s < subtables.length; s++) {\n var subtable = subtables[s];\n var substType = this.getSubstitutionType(lookupTable, subtable);\n var lookup = this.getLookupMethod(lookupTable, subtable);\n var substitution = (void 0);\n switch (substType) {\n case '11':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 11, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '12':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 12, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '63':\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 63, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '41':\n substitution = lookup(contextParams);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 41, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '21':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 21, tag: query.tag, substitution: substitution\n }));\n }\n break;\n }\n contextParams = new ContextParams(substitutions, currentIndex);\n if (Array.isArray(substitution) && !substitution.length) { continue; }\n substitution = null;\n }\n }\n return substitutions.length ? substitutions : null;\n};\n\n/**\n * Checks if a font supports a specific features\n * @param {FQuery} query feature query object\n */\nFeatureQuery.prototype.supports = function (query) {\n if (!query.script) { return false; }\n this.getScriptFeatures(query.script);\n var supportedScript = this.features.hasOwnProperty(query.script);\n if (!query.tag) { return supportedScript; }\n var supportedFeature = (\n this.features[query.script].some(function (feature) { return feature.tag === query.tag; })\n );\n return supportedScript && supportedFeature;\n};\n\n/**\n * Get lookup table subtables\n * @param {any} lookupTable lookup table\n */\nFeatureQuery.prototype.getLookupSubtables = function (lookupTable) {\n return lookupTable.subtables || null;\n};\n\n/**\n * Get lookup table by index\n * @param {number} index lookup table index\n */\nFeatureQuery.prototype.getLookupByIndex = function (index) {\n var lookups = this.font.tables.gsub.lookups;\n return lookups[index] || null;\n};\n\n/**\n * Get lookup tables for a feature\n * @param {string} feature\n */\nFeatureQuery.prototype.getFeatureLookups = function (feature) {\n // TODO: memoize\n return feature.lookupListIndexes.map(this.getLookupByIndex.bind(this));\n};\n\n/**\n * Query a feature by it's properties\n * @param {any} query an object that describes the properties of a query\n */\nFeatureQuery.prototype.getFeature = function getFeature(query) {\n if (!this.font) { return { FAIL: \"No font was found\"}; }\n if (!this.features.hasOwnProperty(query.script)) {\n this.getScriptFeatures(query.script);\n }\n var scriptFeatures = this.features[query.script];\n if (!scriptFeatures) { return (\n { FAIL: (\"No feature for script \" + (query.script))}\n ); }\n if (!scriptFeatures.tags[query.tag]) { return null; }\n return this.features[query.script].tags[query.tag];\n};\n\n/**\n * Arabic word context checkers\n */\n\nfunction arabicWordStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? arabic first char\n (prevChar === null && isArabicChar(char)) ||\n // ? arabic char preceded with a non arabic char\n (!isArabicChar(prevChar) && isArabicChar(char))\n );\n}\n\nfunction arabicWordEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n return (\n // ? last arabic char\n (nextChar === null) ||\n // ? next char is not arabic\n (!isArabicChar(nextChar))\n );\n}\n\nvar arabicWordCheck = {\n startCheck: arabicWordStartCheck,\n endCheck: arabicWordEndCheck\n};\n\n/**\n * Arabic sentence context checkers\n */\n\nfunction arabicSentenceStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? an arabic char preceded with a non arabic char\n (isArabicChar(char) || isTashkeelArabicChar(char)) &&\n !isArabicChar(prevChar)\n );\n}\n\nfunction arabicSentenceEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n switch (true) {\n case nextChar === null:\n return true;\n case (!isArabicChar(nextChar) && !isTashkeelArabicChar(nextChar)):\n var nextIsWhitespace = isWhiteSpace(nextChar);\n if (!nextIsWhitespace) { return true; }\n if (nextIsWhitespace) {\n var arabicCharAhead = false;\n arabicCharAhead = (\n contextParams.lookahead.some(\n function (c) { return isArabicChar(c) || isTashkeelArabicChar(c); }\n )\n );\n if (!arabicCharAhead) { return true; }\n }\n break;\n default:\n return false;\n }\n}\n\nvar arabicSentenceCheck = {\n startCheck: arabicSentenceStartCheck,\n endCheck: arabicSentenceEndCheck\n};\n\n/**\n * Apply single substitution format 1\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction singleSubstitutionFormat1$1(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\n\n/**\n * Apply single substitution format 2\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction singleSubstitutionFormat2$1(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\n\n/**\n * Apply chaining context substitution format 3\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction chainingSubstitutionFormat3$1(action, tokens, index) {\n action.substitution.forEach(function (subst, offset) {\n var token = tokens[index + offset];\n token.setState(action.tag, subst);\n });\n}\n\n/**\n * Apply ligature substitution format 1\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction ligatureSubstitutionFormat1$1(action, tokens, index) {\n var token = tokens[index];\n token.setState(action.tag, action.substitution.ligGlyph);\n var compsCount = action.substitution.components.length;\n for (var i = 0; i < compsCount; i++) {\n token = tokens[index + i + 1];\n token.setState('deleted', true);\n }\n}\n\n/**\n * Supported substitutions\n */\nvar SUBSTITUTIONS = {\n 11: singleSubstitutionFormat1$1,\n 12: singleSubstitutionFormat2$1,\n 63: chainingSubstitutionFormat3$1,\n 41: ligatureSubstitutionFormat1$1\n};\n\n/**\n * Apply substitutions to a list of tokens\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction applySubstitution(action, tokens, index) {\n if (action instanceof SubstitutionAction && SUBSTITUTIONS[action.id]) {\n SUBSTITUTIONS[action.id](action, tokens, index);\n }\n}\n\n/**\n * Apply Arabic presentation forms to a range of tokens\n */\n\n/**\n * Check if a char can be connected to it's preceding char\n * @param {ContextParams} charContextParams context params of a char\n */\nfunction willConnectPrev(charContextParams) {\n var backtrack = [].concat(charContextParams.backtrack);\n for (var i = backtrack.length - 1; i >= 0; i--) {\n var prevChar = backtrack[i];\n var isolated = isIsolatedArabicChar(prevChar);\n var tashkeel = isTashkeelArabicChar(prevChar);\n if (!isolated && !tashkeel) { return true; }\n if (isolated) { return false; }\n }\n return false;\n}\n\n/**\n * Check if a char can be connected to it's proceeding char\n * @param {ContextParams} charContextParams context params of a char\n */\nfunction willConnectNext(charContextParams) {\n if (isIsolatedArabicChar(charContextParams.current)) { return false; }\n for (var i = 0; i < charContextParams.lookahead.length; i++) {\n var nextChar = charContextParams.lookahead[i];\n var tashkeel = isTashkeelArabicChar(nextChar);\n if (!tashkeel) { return true; }\n }\n return false;\n}\n\n/**\n * Apply arabic presentation forms to a list of tokens\n * @param {ContextRange} range a range of tokens\n */\nfunction arabicPresentationForms(range) {\n var this$1 = this;\n\n var script = 'arab';\n var tags = this.featuresTags[script];\n var tokens = this.tokenizer.getRangeTokens(range);\n if (tokens.length === 1) { return; }\n var contextParams = new ContextParams(\n tokens.map(function (token) { return token.getState('glyphIndex'); }\n ), 0);\n var charContextParams = new ContextParams(\n tokens.map(function (token) { return token.char; }\n ), 0);\n tokens.forEach(function (token, index) {\n if (isTashkeelArabicChar(token.char)) { return; }\n contextParams.setCurrentIndex(index);\n charContextParams.setCurrentIndex(index);\n var CONNECT = 0; // 2 bits 00 (10: can connect next) (01: can connect prev)\n if (willConnectPrev(charContextParams)) { CONNECT |= 1; }\n if (willConnectNext(charContextParams)) { CONNECT |= 2; }\n var tag;\n switch (CONNECT) {\n case 1: (tag = 'fina'); break;\n case 2: (tag = 'init'); break;\n case 3: (tag = 'medi'); break;\n }\n if (tags.indexOf(tag) === -1) { return; }\n var substitutions = this$1.query.lookupFeature({\n tag: tag, script: script, contextParams: contextParams\n });\n if (substitutions instanceof Error) { return console.info(substitutions.message); }\n substitutions.forEach(function (action, index) {\n if (action instanceof SubstitutionAction) {\n applySubstitution(action, tokens, index);\n contextParams.context[index] = action.substitution;\n }\n });\n });\n}\n\n/**\n * Apply Arabic required ligatures feature to a range of tokens\n */\n\n/**\n * Update context params\n * @param {any} tokens a list of tokens\n * @param {number} index current item index\n */\nfunction getContextParams(tokens, index) {\n var context = tokens.map(function (token) { return token.activeState.value; });\n return new ContextParams(context, index || 0);\n}\n\n/**\n * Apply Arabic required ligatures to a context range\n * @param {ContextRange} range a range of tokens\n */\nfunction arabicRequiredLigatures(range) {\n var this$1 = this;\n\n var script = 'arab';\n var tokens = this.tokenizer.getRangeTokens(range);\n var contextParams = getContextParams(tokens);\n contextParams.context.forEach(function (glyphIndex, index) {\n contextParams.setCurrentIndex(index);\n var substitutions = this$1.query.lookupFeature({\n tag: 'rlig', script: script, contextParams: contextParams\n });\n if (substitutions.length) {\n substitutions.forEach(\n function (action) { return applySubstitution(action, tokens, index); }\n );\n contextParams = getContextParams(tokens);\n }\n });\n}\n\n/**\n * Latin word context checkers\n */\n\nfunction latinWordStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? latin first char\n (prevChar === null && isLatinChar(char)) ||\n // ? latin char preceded with a non latin char\n (!isLatinChar(prevChar) && isLatinChar(char))\n );\n}\n\nfunction latinWordEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n return (\n // ? last latin char\n (nextChar === null) ||\n // ? next char is not latin\n (!isLatinChar(nextChar))\n );\n}\n\nvar latinWordCheck = {\n startCheck: latinWordStartCheck,\n endCheck: latinWordEndCheck\n};\n\n/**\n * Apply Latin ligature feature to a range of tokens\n */\n\n/**\n * Update context params\n * @param {any} tokens a list of tokens\n * @param {number} index current item index\n */\nfunction getContextParams$1(tokens, index) {\n var context = tokens.map(function (token) { return token.activeState.value; });\n return new ContextParams(context, index || 0);\n}\n\n/**\n * Apply Arabic required ligatures to a context range\n * @param {ContextRange} range a range of tokens\n */\nfunction latinLigature(range) {\n var this$1 = this;\n\n var script = 'latn';\n var tokens = this.tokenizer.getRangeTokens(range);\n var contextParams = getContextParams$1(tokens);\n contextParams.context.forEach(function (glyphIndex, index) {\n contextParams.setCurrentIndex(index);\n var substitutions = this$1.query.lookupFeature({\n tag: 'liga', script: script, contextParams: contextParams\n });\n if (substitutions.length) {\n substitutions.forEach(\n function (action) { return applySubstitution(action, tokens, index); }\n );\n contextParams = getContextParams$1(tokens);\n }\n });\n}\n\n/**\n * Infer bidirectional properties for a given text and apply\n * the corresponding layout rules.\n */\n\n/**\n * Create Bidi. features\n * @param {string} baseDir text base direction. value either 'ltr' or 'rtl'\n */\nfunction Bidi(baseDir) {\n this.baseDir = baseDir || 'ltr';\n this.tokenizer = new Tokenizer();\n this.featuresTags = {};\n}\n\n/**\n * Sets Bidi text\n * @param {string} text a text input\n */\nBidi.prototype.setText = function (text) {\n this.text = text;\n};\n\n/**\n * Store essential context checks:\n * arabic word check for applying gsub features\n * arabic sentence check for adjusting arabic layout\n */\nBidi.prototype.contextChecks = ({\n latinWordCheck: latinWordCheck,\n arabicWordCheck: arabicWordCheck,\n arabicSentenceCheck: arabicSentenceCheck\n});\n\n/**\n * Register arabic word check\n */\nfunction registerContextChecker(checkId) {\n var check = this.contextChecks[(checkId + \"Check\")];\n return this.tokenizer.registerContextChecker(\n checkId, check.startCheck, check.endCheck\n );\n}\n\n/**\n * Perform pre tokenization procedure then\n * tokenize text input\n */\nfunction tokenizeText() {\n registerContextChecker.call(this, 'latinWord');\n registerContextChecker.call(this, 'arabicWord');\n registerContextChecker.call(this, 'arabicSentence');\n return this.tokenizer.tokenize(this.text);\n}\n\n/**\n * Reverse arabic sentence layout\n * TODO: check base dir before applying adjustments - priority low\n */\nfunction reverseArabicSentences() {\n var this$1 = this;\n\n var ranges = this.tokenizer.getContextRanges('arabicSentence');\n ranges.forEach(function (range) {\n var rangeTokens = this$1.tokenizer.getRangeTokens(range);\n this$1.tokenizer.replaceRange(\n range.startIndex,\n range.endOffset,\n rangeTokens.reverse()\n );\n });\n}\n\n/**\n * Register supported features tags\n * @param {script} script script tag\n * @param {Array} tags features tags list\n */\nBidi.prototype.registerFeatures = function (script, tags) {\n var this$1 = this;\n\n var supportedTags = tags.filter(\n function (tag) { return this$1.query.supports({script: script, tag: tag}); }\n );\n if (!this.featuresTags.hasOwnProperty(script)) {\n this.featuresTags[script] = supportedTags;\n } else {\n this.featuresTags[script] =\n this.featuresTags[script].concat(supportedTags);\n }\n};\n\n/**\n * Apply GSUB features\n * @param {Array} tagsList a list of features tags\n * @param {string} script a script tag\n * @param {Font} font opentype font instance\n */\nBidi.prototype.applyFeatures = function (font, features) {\n if (!font) { throw new Error(\n 'No valid font was provided to apply features'\n ); }\n if (!this.query) { this.query = new FeatureQuery(font); }\n for (var f = 0; f < features.length; f++) {\n var feature = features[f];\n if (!this.query.supports({script: feature.script})) { continue; }\n this.registerFeatures(feature.script, feature.tags);\n }\n};\n\n/**\n * Register a state modifier\n * @param {string} modifierId state modifier id\n * @param {function} condition a predicate function that returns true or false\n * @param {function} modifier a modifier function to set token state\n */\nBidi.prototype.registerModifier = function (modifierId, condition, modifier) {\n this.tokenizer.registerModifier(modifierId, condition, modifier);\n};\n\n/**\n * Check if 'glyphIndex' is registered\n */\nfunction checkGlyphIndexStatus() {\n if (this.tokenizer.registeredModifiers.indexOf('glyphIndex') === -1) {\n throw new Error(\n 'glyphIndex modifier is required to apply ' +\n 'arabic presentation features.'\n );\n }\n}\n\n/**\n * Apply arabic presentation forms features\n */\nfunction applyArabicPresentationForms() {\n var this$1 = this;\n\n var script = 'arab';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('arabicWord');\n ranges.forEach(function (range) {\n arabicPresentationForms.call(this$1, range);\n });\n}\n\n/**\n * Apply required arabic ligatures\n */\nfunction applyArabicRequireLigatures() {\n var this$1 = this;\n\n var script = 'arab';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n var tags = this.featuresTags[script];\n if (tags.indexOf('rlig') === -1) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('arabicWord');\n ranges.forEach(function (range) {\n arabicRequiredLigatures.call(this$1, range);\n });\n}\n\n/**\n * Apply required arabic ligatures\n */\nfunction applyLatinLigatures() {\n var this$1 = this;\n\n var script = 'latn';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n var tags = this.featuresTags[script];\n if (tags.indexOf('liga') === -1) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('latinWord');\n ranges.forEach(function (range) {\n latinLigature.call(this$1, range);\n });\n}\n\n/**\n * Check if a context is registered\n * @param {string} contextId context id\n */\nBidi.prototype.checkContextReady = function (contextId) {\n return !!this.tokenizer.getContext(contextId);\n};\n\n/**\n * Apply features to registered contexts\n */\nBidi.prototype.applyFeaturesToContexts = function () {\n if (this.checkContextReady('arabicWord')) {\n applyArabicPresentationForms.call(this);\n applyArabicRequireLigatures.call(this);\n }\n if (this.checkContextReady('latinWord')) {\n applyLatinLigatures.call(this);\n }\n if (this.checkContextReady('arabicSentence')) {\n reverseArabicSentences.call(this);\n }\n};\n\n/**\n * process text input\n * @param {string} text an input text\n */\nBidi.prototype.processText = function(text) {\n if (!this.text || this.text !== text) {\n this.setText(text);\n tokenizeText.call(this);\n this.applyFeaturesToContexts();\n }\n};\n\n/**\n * Process a string of text to identify and adjust\n * bidirectional text entities.\n * @param {string} text input text\n */\nBidi.prototype.getBidiText = function (text) {\n this.processText(text);\n return this.tokenizer.getText();\n};\n\n/**\n * Get the current state index of each token\n * @param {text} text an input text\n */\nBidi.prototype.getTextGlyphs = function (text) {\n this.processText(text);\n var indexes = [];\n for (var i = 0; i < this.tokenizer.tokens.length; i++) {\n var token = this.tokenizer.tokens[i];\n if (token.state.deleted) { continue; }\n var index = token.activeState.value;\n indexes.push(Array.isArray(index) ? index[0] : index);\n }\n return indexes;\n};\n\n// The Font object\n\n/**\n * @typedef FontOptions\n * @type Object\n * @property {Boolean} empty - whether to create a new empty font\n * @property {string} familyName\n * @property {string} styleName\n * @property {string=} fullName\n * @property {string=} postScriptName\n * @property {string=} designer\n * @property {string=} designerURL\n * @property {string=} manufacturer\n * @property {string=} manufacturerURL\n * @property {string=} license\n * @property {string=} licenseURL\n * @property {string=} version\n * @property {string=} description\n * @property {string=} copyright\n * @property {string=} trademark\n * @property {Number} unitsPerEm\n * @property {Number} ascender\n * @property {Number} descender\n * @property {Number} createdTimestamp\n * @property {string=} weightClass\n * @property {string=} widthClass\n * @property {string=} fsSelection\n */\n\n/**\n * A Font represents a loaded OpenType font file.\n * It contains a set of glyphs and methods to draw text on a drawing context,\n * or to get a path representing the text.\n * @exports opentype.Font\n * @class\n * @param {FontOptions}\n * @constructor\n */\nfunction Font(options) {\n options = options || {};\n options.tables = options.tables || {};\n\n if (!options.empty) {\n // Check that we've provided the minimum set of names.\n checkArgument(options.familyName, 'When creating a new Font object, familyName is required.');\n checkArgument(options.styleName, 'When creating a new Font object, styleName is required.');\n checkArgument(options.unitsPerEm, 'When creating a new Font object, unitsPerEm is required.');\n checkArgument(options.ascender, 'When creating a new Font object, ascender is required.');\n checkArgument(options.descender <= 0, 'When creating a new Font object, negative descender value is required.');\n\n // OS X will complain if the names are empty, so we put a single space everywhere by default.\n this.names = {\n fontFamily: {en: options.familyName || ' '},\n fontSubfamily: {en: options.styleName || ' '},\n fullName: {en: options.fullName || options.familyName + ' ' + options.styleName},\n // postScriptName may not contain any whitespace\n postScriptName: {en: options.postScriptName || (options.familyName + options.styleName).replace(/\\s/g, '')},\n designer: {en: options.designer || ' '},\n designerURL: {en: options.designerURL || ' '},\n manufacturer: {en: options.manufacturer || ' '},\n manufacturerURL: {en: options.manufacturerURL || ' '},\n license: {en: options.license || ' '},\n licenseURL: {en: options.licenseURL || ' '},\n version: {en: options.version || 'Version 0.1'},\n description: {en: options.description || ' '},\n copyright: {en: options.copyright || ' '},\n trademark: {en: options.trademark || ' '}\n };\n this.unitsPerEm = options.unitsPerEm || 1000;\n this.ascender = options.ascender;\n this.descender = options.descender;\n this.createdTimestamp = options.createdTimestamp;\n this.tables = Object.assign(options.tables, {\n os2: Object.assign({\n usWeightClass: options.weightClass || this.usWeightClasses.MEDIUM,\n usWidthClass: options.widthClass || this.usWidthClasses.MEDIUM,\n fsSelection: options.fsSelection || this.fsSelectionValues.REGULAR,\n }, options.tables.os2)\n });\n }\n\n this.supported = true; // Deprecated: parseBuffer will throw an error if font is not supported.\n this.glyphs = new glyphset.GlyphSet(this, options.glyphs || []);\n this.encoding = new DefaultEncoding(this);\n this.position = new Position(this);\n this.substitution = new Substitution(this);\n this.tables = this.tables || {};\n\n // needed for low memory mode only.\n this._push = null;\n this._hmtxTableData = {};\n\n Object.defineProperty(this, 'hinting', {\n get: function() {\n if (this._hinting) { return this._hinting; }\n if (this.outlinesFormat === 'truetype') {\n return (this._hinting = new Hinting(this));\n }\n }\n });\n}\n\n/**\n * Check if the font has a glyph for the given character.\n * @param {string}\n * @return {Boolean}\n */\nFont.prototype.hasChar = function(c) {\n return this.encoding.charToGlyphIndex(c) !== null;\n};\n\n/**\n * Convert the given character to a single glyph index.\n * Note that this function assumes that there is a one-to-one mapping between\n * the given character and a glyph; for complex scripts this might not be the case.\n * @param {string}\n * @return {Number}\n */\nFont.prototype.charToGlyphIndex = function(s) {\n return this.encoding.charToGlyphIndex(s);\n};\n\n/**\n * Convert the given character to a single Glyph object.\n * Note that this function assumes that there is a one-to-one mapping between\n * the given character and a glyph; for complex scripts this might not be the case.\n * @param {string}\n * @return {opentype.Glyph}\n */\nFont.prototype.charToGlyph = function(c) {\n var glyphIndex = this.charToGlyphIndex(c);\n var glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n // .notdef\n glyph = this.glyphs.get(0);\n }\n\n return glyph;\n};\n\n/**\n * Update features\n * @param {any} options features options\n */\nFont.prototype.updateFeatures = function (options) {\n // TODO: update all features options not only 'latn'.\n return this.defaultRenderOptions.features.map(function (feature) {\n if (feature.script === 'latn') {\n return {\n script: 'latn',\n tags: feature.tags.filter(function (tag) { return options[tag]; })\n };\n } else {\n return feature;\n }\n });\n};\n\n/**\n * Convert the given text to a list of Glyph objects.\n * Note that there is no strict one-to-one mapping between characters and\n * glyphs, so the list of returned glyphs can be larger or smaller than the\n * length of the given string.\n * @param {string}\n * @param {GlyphRenderOptions} [options]\n * @return {opentype.Glyph[]}\n */\nFont.prototype.stringToGlyphs = function(s, options) {\n var this$1 = this;\n\n\n var bidi = new Bidi();\n\n // Create and register 'glyphIndex' state modifier\n var charToGlyphIndexMod = function (token) { return this$1.charToGlyphIndex(token.char); };\n bidi.registerModifier('glyphIndex', null, charToGlyphIndexMod);\n\n // roll-back to default features\n var features = options ?\n this.updateFeatures(options.features) :\n this.defaultRenderOptions.features;\n\n bidi.applyFeatures(this, features);\n\n var indexes = bidi.getTextGlyphs(s);\n\n var length = indexes.length;\n\n // convert glyph indexes to glyph objects\n var glyphs = new Array(length);\n var notdef = this.glyphs.get(0);\n for (var i = 0; i < length; i += 1) {\n glyphs[i] = this.glyphs.get(indexes[i]) || notdef;\n }\n return glyphs;\n};\n\n/**\n * @param {string}\n * @return {Number}\n */\nFont.prototype.nameToGlyphIndex = function(name) {\n return this.glyphNames.nameToGlyphIndex(name);\n};\n\n/**\n * @param {string}\n * @return {opentype.Glyph}\n */\nFont.prototype.nameToGlyph = function(name) {\n var glyphIndex = this.nameToGlyphIndex(name);\n var glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n // .notdef\n glyph = this.glyphs.get(0);\n }\n\n return glyph;\n};\n\n/**\n * @param {Number}\n * @return {String}\n */\nFont.prototype.glyphIndexToName = function(gid) {\n if (!this.glyphNames.glyphIndexToName) {\n return '';\n }\n\n return this.glyphNames.glyphIndexToName(gid);\n};\n\n/**\n * Retrieve the value of the kerning pair between the left glyph (or its index)\n * and the right glyph (or its index). If no kerning pair is found, return 0.\n * The kerning value gets added to the advance width when calculating the spacing\n * between glyphs.\n * For GPOS kerning, this method uses the default script and language, which covers\n * most use cases. To have greater control, use font.position.getKerningValue .\n * @param {opentype.Glyph} leftGlyph\n * @param {opentype.Glyph} rightGlyph\n * @return {Number}\n */\nFont.prototype.getKerningValue = function(leftGlyph, rightGlyph) {\n leftGlyph = leftGlyph.index || leftGlyph;\n rightGlyph = rightGlyph.index || rightGlyph;\n var gposKerning = this.position.defaultKerningTables;\n if (gposKerning) {\n return this.position.getKerningValue(gposKerning, leftGlyph, rightGlyph);\n }\n // \"kern\" table\n return this.kerningPairs[leftGlyph + ',' + rightGlyph] || 0;\n};\n\n/**\n * @typedef GlyphRenderOptions\n * @type Object\n * @property {string} [script] - script used to determine which features to apply. By default, 'DFLT' or 'latn' is used.\n * See https://www.microsoft.com/typography/otspec/scripttags.htm\n * @property {string} [language='dflt'] - language system used to determine which features to apply.\n * See https://www.microsoft.com/typography/developers/opentype/languagetags.aspx\n * @property {boolean} [kerning=true] - whether to include kerning values\n * @property {object} [features] - OpenType Layout feature tags. Used to enable or disable the features of the given script/language system.\n * See https://www.microsoft.com/typography/otspec/featuretags.htm\n */\nFont.prototype.defaultRenderOptions = {\n kerning: true,\n features: [\n /**\n * these 4 features are required to render Arabic text properly\n * and shouldn't be turned off when rendering arabic text.\n */\n { script: 'arab', tags: ['init', 'medi', 'fina', 'rlig'] },\n { script: 'latn', tags: ['liga', 'rlig'] }\n ]\n};\n\n/**\n * Helper function that invokes the given callback for each glyph in the given text.\n * The callback gets `(glyph, x, y, fontSize, options)`.* @param {string} text\n * @param {string} text - The text to apply.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @param {Function} callback\n */\nFont.prototype.forEachGlyph = function(text, x, y, fontSize, options, callback) {\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 72;\n options = Object.assign({}, this.defaultRenderOptions, options);\n var fontScale = 1 / this.unitsPerEm * fontSize;\n var glyphs = this.stringToGlyphs(text, options);\n var kerningLookups;\n if (options.kerning) {\n var script = options.script || this.position.getDefaultScriptName();\n kerningLookups = this.position.getKerningTables(script, options.language);\n }\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs[i];\n callback.call(this, glyph, x, y, fontSize, options);\n if (glyph.advanceWidth) {\n x += glyph.advanceWidth * fontScale;\n }\n\n if (options.kerning && i < glyphs.length - 1) {\n // We should apply position adjustment lookups in a more generic way.\n // Here we only use the xAdvance value.\n var kerningValue = kerningLookups ?\n this.position.getKerningValue(kerningLookups, glyph.index, glyphs[i + 1].index) :\n this.getKerningValue(glyph, glyphs[i + 1]);\n x += kerningValue * fontScale;\n }\n\n if (options.letterSpacing) {\n x += options.letterSpacing * fontSize;\n } else if (options.tracking) {\n x += (options.tracking / 1000) * fontSize;\n }\n }\n return x;\n};\n\n/**\n * Create a Path object that represents the given text.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return {opentype.Path}\n */\nFont.prototype.getPath = function(text, x, y, fontSize, options) {\n var fullPath = new Path();\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n var glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n fullPath.extend(glyphPath);\n });\n return fullPath;\n};\n\n/**\n * Create an array of Path objects that represent the glyphs of a given text.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return {opentype.Path[]}\n */\nFont.prototype.getPaths = function(text, x, y, fontSize, options) {\n var glyphPaths = [];\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n var glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n glyphPaths.push(glyphPath);\n });\n\n return glyphPaths;\n};\n\n/**\n * Returns the advance width of a text.\n *\n * This is something different than Path.getBoundingBox() as for example a\n * suffixed whitespace increases the advanceWidth but not the bounding box\n * or an overhanging letter like a calligraphic 'f' might have a quite larger\n * bounding box than its advance width.\n *\n * This corresponds to canvas2dContext.measureText(text).width\n *\n * @param {string} text - The text to create.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return advance width\n */\nFont.prototype.getAdvanceWidth = function(text, fontSize, options) {\n return this.forEachGlyph(text, 0, 0, fontSize, options, function() {});\n};\n\n/**\n * Draw the text on the given drawing context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.draw = function(ctx, text, x, y, fontSize, options) {\n this.getPath(text, x, y, fontSize, options).draw(ctx);\n};\n\n/**\n * Draw the points of all glyphs in the text.\n * On-curve points will be drawn in blue, off-curve points will be drawn in red.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.drawPoints = function(ctx, text, x, y, fontSize, options) {\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawPoints(ctx, gX, gY, gFontSize);\n });\n};\n\n/**\n * Draw lines indicating important font measurements for all glyphs in the text.\n * Black lines indicate the origin of the coordinate system (point 0,0).\n * Blue lines indicate the glyph bounding box.\n * Green line indicates the advance width of the glyph.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.drawMetrics = function(ctx, text, x, y, fontSize, options) {\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawMetrics(ctx, gX, gY, gFontSize);\n });\n};\n\n/**\n * @param {string}\n * @return {string}\n */\nFont.prototype.getEnglishName = function(name) {\n var translations = this.names[name];\n if (translations) {\n return translations.en;\n }\n};\n\n/**\n * Validate\n */\nFont.prototype.validate = function() {\n var _this = this;\n\n function assert(predicate, message) {\n }\n\n function assertNamePresent(name) {\n var englishName = _this.getEnglishName(name);\n assert(englishName && englishName.trim().length > 0);\n }\n\n // Identification information\n assertNamePresent('fontFamily');\n assertNamePresent('weightName');\n assertNamePresent('manufacturer');\n assertNamePresent('copyright');\n assertNamePresent('version');\n\n // Dimension information\n assert(this.unitsPerEm > 0);\n};\n\n/**\n * Convert the font object to a SFNT data structure.\n * This structure contains all the necessary tables and metadata to create a binary OTF file.\n * @return {opentype.Table}\n */\nFont.prototype.toTables = function() {\n return sfnt.fontToTable(this);\n};\n/**\n * @deprecated Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\n */\nFont.prototype.toBuffer = function() {\n console.warn('Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.');\n return this.toArrayBuffer();\n};\n/**\n * Converts a `opentype.Font` into an `ArrayBuffer`\n * @return {ArrayBuffer}\n */\nFont.prototype.toArrayBuffer = function() {\n var sfntTable = this.toTables();\n var bytes = sfntTable.encode();\n var buffer = new ArrayBuffer(bytes.length);\n var intArray = new Uint8Array(buffer);\n for (var i = 0; i < bytes.length; i++) {\n intArray[i] = bytes[i];\n }\n\n return buffer;\n};\n\n/**\n * Initiate a download of the OpenType font.\n */\nFont.prototype.download = function(fileName) {\n var familyName = this.getEnglishName('fontFamily');\n var styleName = this.getEnglishName('fontSubfamily');\n fileName = fileName || familyName.replace(/\\s/g, '') + '-' + styleName + '.otf';\n var arrayBuffer = this.toArrayBuffer();\n\n if (isBrowser()) {\n window.URL = window.URL || window.webkitURL;\n\n if (window.URL) {\n var dataView = new DataView(arrayBuffer);\n var blob = new Blob([dataView], {type: 'font/opentype'});\n\n var link = document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n\n var event = document.createEvent('MouseEvents');\n event.initEvent('click', true, false);\n link.dispatchEvent(event);\n } else {\n console.warn('Font file could not be downloaded. Try using a different browser.');\n }\n } else {\n var fs = require('fs');\n var buffer = arrayBufferToNodeBuffer(arrayBuffer);\n fs.writeFileSync(fileName, buffer);\n }\n};\n/**\n * @private\n */\nFont.prototype.fsSelectionValues = {\n ITALIC: 0x001, //1\n UNDERSCORE: 0x002, //2\n NEGATIVE: 0x004, //4\n OUTLINED: 0x008, //8\n STRIKEOUT: 0x010, //16\n BOLD: 0x020, //32\n REGULAR: 0x040, //64\n USER_TYPO_METRICS: 0x080, //128\n WWS: 0x100, //256\n OBLIQUE: 0x200 //512\n};\n\n/**\n * @private\n */\nFont.prototype.usWidthClasses = {\n ULTRA_CONDENSED: 1,\n EXTRA_CONDENSED: 2,\n CONDENSED: 3,\n SEMI_CONDENSED: 4,\n MEDIUM: 5,\n SEMI_EXPANDED: 6,\n EXPANDED: 7,\n EXTRA_EXPANDED: 8,\n ULTRA_EXPANDED: 9\n};\n\n/**\n * @private\n */\nFont.prototype.usWeightClasses = {\n THIN: 100,\n EXTRA_LIGHT: 200,\n LIGHT: 300,\n NORMAL: 400,\n MEDIUM: 500,\n SEMI_BOLD: 600,\n BOLD: 700,\n EXTRA_BOLD: 800,\n BLACK: 900\n};\n\n// The `fvar` table stores font variation axes and instances.\n\nfunction addName(name, names) {\n var nameString = JSON.stringify(name);\n var nameID = 256;\n for (var nameKey in names) {\n var n = parseInt(nameKey);\n if (!n || n < 256) {\n continue;\n }\n\n if (JSON.stringify(names[nameKey]) === nameString) {\n return n;\n }\n\n if (nameID <= n) {\n nameID = n + 1;\n }\n }\n\n names[nameID] = name;\n return nameID;\n}\n\nfunction makeFvarAxis(n, axis, names) {\n var nameID = addName(axis.name, names);\n return [\n {name: 'tag_' + n, type: 'TAG', value: axis.tag},\n {name: 'minValue_' + n, type: 'FIXED', value: axis.minValue << 16},\n {name: 'defaultValue_' + n, type: 'FIXED', value: axis.defaultValue << 16},\n {name: 'maxValue_' + n, type: 'FIXED', value: axis.maxValue << 16},\n {name: 'flags_' + n, type: 'USHORT', value: 0},\n {name: 'nameID_' + n, type: 'USHORT', value: nameID}\n ];\n}\n\nfunction parseFvarAxis(data, start, names) {\n var axis = {};\n var p = new parse.Parser(data, start);\n axis.tag = p.parseTag();\n axis.minValue = p.parseFixed();\n axis.defaultValue = p.parseFixed();\n axis.maxValue = p.parseFixed();\n p.skip('uShort', 1); // reserved for flags; no values defined\n axis.name = names[p.parseUShort()] || {};\n return axis;\n}\n\nfunction makeFvarInstance(n, inst, axes, names) {\n var nameID = addName(inst.name, names);\n var fields = [\n {name: 'nameID_' + n, type: 'USHORT', value: nameID},\n {name: 'flags_' + n, type: 'USHORT', value: 0}\n ];\n\n for (var i = 0; i < axes.length; ++i) {\n var axisTag = axes[i].tag;\n fields.push({\n name: 'axis_' + n + ' ' + axisTag,\n type: 'FIXED',\n value: inst.coordinates[axisTag] << 16\n });\n }\n\n return fields;\n}\n\nfunction parseFvarInstance(data, start, axes, names) {\n var inst = {};\n var p = new parse.Parser(data, start);\n inst.name = names[p.parseUShort()] || {};\n p.skip('uShort', 1); // reserved for flags; no values defined\n\n inst.coordinates = {};\n for (var i = 0; i < axes.length; ++i) {\n inst.coordinates[axes[i].tag] = p.parseFixed();\n }\n\n return inst;\n}\n\nfunction makeFvarTable(fvar, names) {\n var result = new table.Table('fvar', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'offsetToData', type: 'USHORT', value: 0},\n {name: 'countSizePairs', type: 'USHORT', value: 2},\n {name: 'axisCount', type: 'USHORT', value: fvar.axes.length},\n {name: 'axisSize', type: 'USHORT', value: 20},\n {name: 'instanceCount', type: 'USHORT', value: fvar.instances.length},\n {name: 'instanceSize', type: 'USHORT', value: 4 + fvar.axes.length * 4}\n ]);\n result.offsetToData = result.sizeOf();\n\n for (var i = 0; i < fvar.axes.length; i++) {\n result.fields = result.fields.concat(makeFvarAxis(i, fvar.axes[i], names));\n }\n\n for (var j = 0; j < fvar.instances.length; j++) {\n result.fields = result.fields.concat(makeFvarInstance(j, fvar.instances[j], fvar.axes, names));\n }\n\n return result;\n}\n\nfunction parseFvarTable(data, start, names) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 0x00010000, 'Unsupported fvar table version.');\n var offsetToData = p.parseOffset16();\n // Skip countSizePairs.\n p.skip('uShort', 1);\n var axisCount = p.parseUShort();\n var axisSize = p.parseUShort();\n var instanceCount = p.parseUShort();\n var instanceSize = p.parseUShort();\n\n var axes = [];\n for (var i = 0; i < axisCount; i++) {\n axes.push(parseFvarAxis(data, start + offsetToData + i * axisSize, names));\n }\n\n var instances = [];\n var instanceStart = start + offsetToData + axisCount * axisSize;\n for (var j = 0; j < instanceCount; j++) {\n instances.push(parseFvarInstance(data, instanceStart + j * instanceSize, axes, names));\n }\n\n return {axes: axes, instances: instances};\n}\n\nvar fvar = { make: makeFvarTable, parse: parseFvarTable };\n\n// The `GPOS` table contains kerning pairs, among other things.\n\nvar subtableParsers$1 = new Array(10); // subtableParsers[0] is unused\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#lookup-type-1-single-adjustment-positioning-subtable\n// this = Parser instance\nsubtableParsers$1[1] = function parseLookup1() {\n var start = this.offset + this.relativeOffset;\n var posformat = this.parseUShort();\n if (posformat === 1) {\n return {\n posFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n value: this.parseValueRecord()\n };\n } else if (posformat === 2) {\n return {\n posFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n values: this.parseValueRecordList()\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': GPOS lookup type 1 format must be 1 or 2.');\n};\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#lookup-type-2-pair-adjustment-positioning-subtable\nsubtableParsers$1[2] = function parseLookup2() {\n var start = this.offset + this.relativeOffset;\n var posFormat = this.parseUShort();\n check.assert(posFormat === 1 || posFormat === 2, '0x' + start.toString(16) + ': GPOS lookup type 2 format must be 1 or 2.');\n var coverage = this.parsePointer(Parser.coverage);\n var valueFormat1 = this.parseUShort();\n var valueFormat2 = this.parseUShort();\n if (posFormat === 1) {\n // Adjustments for Glyph Pairs\n return {\n posFormat: posFormat,\n coverage: coverage,\n valueFormat1: valueFormat1,\n valueFormat2: valueFormat2,\n pairSets: this.parseList(Parser.pointer(Parser.list(function() {\n return { // pairValueRecord\n secondGlyph: this.parseUShort(),\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n })))\n };\n } else if (posFormat === 2) {\n var classDef1 = this.parsePointer(Parser.classDef);\n var classDef2 = this.parsePointer(Parser.classDef);\n var class1Count = this.parseUShort();\n var class2Count = this.parseUShort();\n return {\n // Class Pair Adjustment\n posFormat: posFormat,\n coverage: coverage,\n valueFormat1: valueFormat1,\n valueFormat2: valueFormat2,\n classDef1: classDef1,\n classDef2: classDef2,\n class1Count: class1Count,\n class2Count: class2Count,\n classRecords: this.parseList(class1Count, Parser.list(class2Count, function() {\n return {\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n }))\n };\n }\n};\n\nsubtableParsers$1[3] = function parseLookup3() { return { error: 'GPOS Lookup 3 not supported' }; };\nsubtableParsers$1[4] = function parseLookup4() { return { error: 'GPOS Lookup 4 not supported' }; };\nsubtableParsers$1[5] = function parseLookup5() { return { error: 'GPOS Lookup 5 not supported' }; };\nsubtableParsers$1[6] = function parseLookup6() { return { error: 'GPOS Lookup 6 not supported' }; };\nsubtableParsers$1[7] = function parseLookup7() { return { error: 'GPOS Lookup 7 not supported' }; };\nsubtableParsers$1[8] = function parseLookup8() { return { error: 'GPOS Lookup 8 not supported' }; };\nsubtableParsers$1[9] = function parseLookup9() { return { error: 'GPOS Lookup 9 not supported' }; };\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos\nfunction parseGposTable(data, start) {\n start = start || 0;\n var p = new Parser(data, start);\n var tableVersion = p.parseVersion(1);\n check.argument(tableVersion === 1 || tableVersion === 1.1, 'Unsupported GPOS table version ' + tableVersion);\n\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers$1)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers$1),\n variations: p.parseFeatureVariationsList()\n };\n }\n\n}\n\n// GPOS Writing //////////////////////////////////////////////\n// NOT SUPPORTED\nvar subtableMakers$1 = new Array(10);\n\nfunction makeGposTable(gpos) {\n return new table.Table('GPOS', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'scripts', type: 'TABLE', value: new table.ScriptList(gpos.scripts)},\n {name: 'features', type: 'TABLE', value: new table.FeatureList(gpos.features)},\n {name: 'lookups', type: 'TABLE', value: new table.LookupList(gpos.lookups, subtableMakers$1)}\n ]);\n}\n\nvar gpos = { parse: parseGposTable, make: makeGposTable };\n\n// The `kern` table contains kerning pairs.\n\nfunction parseWindowsKernTable(p) {\n var pairs = {};\n // Skip nTables.\n p.skip('uShort');\n var subtableVersion = p.parseUShort();\n check.argument(subtableVersion === 0, 'Unsupported kern sub-table version.');\n // Skip subtableLength, subtableCoverage\n p.skip('uShort', 2);\n var nPairs = p.parseUShort();\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n for (var i = 0; i < nPairs; i += 1) {\n var leftIndex = p.parseUShort();\n var rightIndex = p.parseUShort();\n var value = p.parseShort();\n pairs[leftIndex + ',' + rightIndex] = value;\n }\n return pairs;\n}\n\nfunction parseMacKernTable(p) {\n var pairs = {};\n // The Mac kern table stores the version as a fixed (32 bits) but we only loaded the first 16 bits.\n // Skip the rest.\n p.skip('uShort');\n var nTables = p.parseULong();\n //check.argument(nTables === 1, 'Only 1 subtable is supported (got ' + nTables + ').');\n if (nTables > 1) {\n console.warn('Only the first kern subtable is supported.');\n }\n p.skip('uLong');\n var coverage = p.parseUShort();\n var subtableVersion = coverage & 0xFF;\n p.skip('uShort');\n if (subtableVersion === 0) {\n var nPairs = p.parseUShort();\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n for (var i = 0; i < nPairs; i += 1) {\n var leftIndex = p.parseUShort();\n var rightIndex = p.parseUShort();\n var value = p.parseShort();\n pairs[leftIndex + ',' + rightIndex] = value;\n }\n }\n return pairs;\n}\n\n// Parse the `kern` table which contains kerning pairs.\nfunction parseKernTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseUShort();\n if (tableVersion === 0) {\n return parseWindowsKernTable(p);\n } else if (tableVersion === 1) {\n return parseMacKernTable(p);\n } else {\n throw new Error('Unsupported kern table version (' + tableVersion + ').');\n }\n}\n\nvar kern = { parse: parseKernTable };\n\n// The `loca` table stores the offsets to the locations of the glyphs in the font.\n\n// Parse the `loca` table. This table stores the offsets to the locations of the glyphs in the font,\n// relative to the beginning of the glyphData table.\n// The number of glyphs stored in the `loca` table is specified in the `maxp` table (under numGlyphs)\n// The loca table has two versions: a short version where offsets are stored as uShorts, and a long\n// version where offsets are stored as uLongs. The `head` table specifies which version to use\n// (under indexToLocFormat).\nfunction parseLocaTable(data, start, numGlyphs, shortVersion) {\n var p = new parse.Parser(data, start);\n var parseFn = shortVersion ? p.parseUShort : p.parseULong;\n // There is an extra entry after the last index element to compute the length of the last glyph.\n // That's why we use numGlyphs + 1.\n var glyphOffsets = [];\n for (var i = 0; i < numGlyphs + 1; i += 1) {\n var glyphOffset = parseFn.call(p);\n if (shortVersion) {\n // The short table version stores the actual offset divided by 2.\n glyphOffset *= 2;\n }\n\n glyphOffsets.push(glyphOffset);\n }\n\n return glyphOffsets;\n}\n\nvar loca = { parse: parseLocaTable };\n\n// opentype.js\n\n/**\n * The opentype library.\n * @namespace opentype\n */\n\n// File loaders /////////////////////////////////////////////////////////\n/**\n * Loads a font from a file. The callback throws an error message as the first parameter if it fails\n * and the font as an ArrayBuffer in the second parameter if it succeeds.\n * @param {string} path - The path of the file\n * @param {Function} callback - The function to call when the font load completes\n */\nfunction loadFromFile(path, callback) {\n var fs = require('fs');\n fs.readFile(path, function(err, buffer) {\n if (err) {\n return callback(err.message);\n }\n\n callback(null, nodeBufferToArrayBuffer(buffer));\n });\n}\n/**\n * Loads a font from a URL. The callback throws an error message as the first parameter if it fails\n * and the font as an ArrayBuffer in the second parameter if it succeeds.\n * @param {string} url - The URL of the font file.\n * @param {Function} callback - The function to call when the font load completes\n */\nfunction loadFromUrl(url, callback) {\n var request = new XMLHttpRequest();\n request.open('get', url, true);\n request.responseType = 'arraybuffer';\n request.onload = function() {\n if (request.response) {\n return callback(null, request.response);\n } else {\n return callback('Font could not be loaded: ' + request.statusText);\n }\n };\n\n request.onerror = function () {\n callback('Font could not be loaded');\n };\n\n request.send();\n}\n\n// Table Directory Entries //////////////////////////////////////////////\n/**\n * Parses OpenType table entries.\n * @param {DataView}\n * @param {Number}\n * @return {Object[]}\n */\nfunction parseOpenTypeTableEntries(data, numTables) {\n var tableEntries = [];\n var p = 12;\n for (var i = 0; i < numTables; i += 1) {\n var tag = parse.getTag(data, p);\n var checksum = parse.getULong(data, p + 4);\n var offset = parse.getULong(data, p + 8);\n var length = parse.getULong(data, p + 12);\n tableEntries.push({tag: tag, checksum: checksum, offset: offset, length: length, compression: false});\n p += 16;\n }\n\n return tableEntries;\n}\n\n/**\n * Parses WOFF table entries.\n * @param {DataView}\n * @param {Number}\n * @return {Object[]}\n */\nfunction parseWOFFTableEntries(data, numTables) {\n var tableEntries = [];\n var p = 44; // offset to the first table directory entry.\n for (var i = 0; i < numTables; i += 1) {\n var tag = parse.getTag(data, p);\n var offset = parse.getULong(data, p + 4);\n var compLength = parse.getULong(data, p + 8);\n var origLength = parse.getULong(data, p + 12);\n var compression = (void 0);\n if (compLength < origLength) {\n compression = 'WOFF';\n } else {\n compression = false;\n }\n\n tableEntries.push({tag: tag, offset: offset, compression: compression,\n compressedLength: compLength, length: origLength});\n p += 20;\n }\n\n return tableEntries;\n}\n\n/**\n * @typedef TableData\n * @type Object\n * @property {DataView} data - The DataView\n * @property {number} offset - The data offset.\n */\n\n/**\n * @param {DataView}\n * @param {Object}\n * @return {TableData}\n */\nfunction uncompressTable(data, tableEntry) {\n if (tableEntry.compression === 'WOFF') {\n var inBuffer = new Uint8Array(data.buffer, tableEntry.offset + 2, tableEntry.compressedLength - 2);\n var outBuffer = new Uint8Array(tableEntry.length);\n tinyInflate(inBuffer, outBuffer);\n if (outBuffer.byteLength !== tableEntry.length) {\n throw new Error('Decompression error: ' + tableEntry.tag + ' decompressed length doesn\\'t match recorded length');\n }\n\n var view = new DataView(outBuffer.buffer, 0);\n return {data: view, offset: 0};\n } else {\n return {data: data, offset: tableEntry.offset};\n }\n}\n\n// Public API ///////////////////////////////////////////////////////////\n\n/**\n * Parse the OpenType file data (as an ArrayBuffer) and return a Font object.\n * Throws an error if the font could not be parsed.\n * @param {ArrayBuffer}\n * @param {Object} opt - options for parsing\n * @return {opentype.Font}\n */\nfunction parseBuffer(buffer, opt) {\n opt = (opt === undefined || opt === null) ? {} : opt;\n\n var indexToLocFormat;\n var ltagTable;\n\n // Since the constructor can also be called to create new fonts from scratch, we indicate this\n // should be an empty font that we'll fill with our own data.\n var font = new Font({empty: true});\n\n // OpenType fonts use big endian byte ordering.\n // We can't rely on typed array view types, because they operate with the endianness of the host computer.\n // Instead we use DataViews where we can specify endianness.\n var data = new DataView(buffer, 0);\n var numTables;\n var tableEntries = [];\n var signature = parse.getTag(data, 0);\n if (signature === String.fromCharCode(0, 1, 0, 0) || signature === 'true' || signature === 'typ1') {\n font.outlinesFormat = 'truetype';\n numTables = parse.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === 'OTTO') {\n font.outlinesFormat = 'cff';\n numTables = parse.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === 'wOFF') {\n var flavor = parse.getTag(data, 4);\n if (flavor === String.fromCharCode(0, 1, 0, 0)) {\n font.outlinesFormat = 'truetype';\n } else if (flavor === 'OTTO') {\n font.outlinesFormat = 'cff';\n } else {\n throw new Error('Unsupported OpenType flavor ' + signature);\n }\n\n numTables = parse.getUShort(data, 12);\n tableEntries = parseWOFFTableEntries(data, numTables);\n } else {\n throw new Error('Unsupported OpenType signature ' + signature);\n }\n\n var cffTableEntry;\n var fvarTableEntry;\n var glyfTableEntry;\n var gposTableEntry;\n var gsubTableEntry;\n var hmtxTableEntry;\n var kernTableEntry;\n var locaTableEntry;\n var nameTableEntry;\n var metaTableEntry;\n var p;\n\n for (var i = 0; i < numTables; i += 1) {\n var tableEntry = tableEntries[i];\n var table = (void 0);\n switch (tableEntry.tag) {\n case 'cmap':\n table = uncompressTable(data, tableEntry);\n font.tables.cmap = cmap.parse(table.data, table.offset);\n font.encoding = new CmapEncoding(font.tables.cmap);\n break;\n case 'cvt ' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.cvt = p.parseShortList(tableEntry.length / 2);\n break;\n case 'fvar':\n fvarTableEntry = tableEntry;\n break;\n case 'fpgm' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.fpgm = p.parseByteList(tableEntry.length);\n break;\n case 'head':\n table = uncompressTable(data, tableEntry);\n font.tables.head = head.parse(table.data, table.offset);\n font.unitsPerEm = font.tables.head.unitsPerEm;\n indexToLocFormat = font.tables.head.indexToLocFormat;\n break;\n case 'hhea':\n table = uncompressTable(data, tableEntry);\n font.tables.hhea = hhea.parse(table.data, table.offset);\n font.ascender = font.tables.hhea.ascender;\n font.descender = font.tables.hhea.descender;\n font.numberOfHMetrics = font.tables.hhea.numberOfHMetrics;\n break;\n case 'hmtx':\n hmtxTableEntry = tableEntry;\n break;\n case 'ltag':\n table = uncompressTable(data, tableEntry);\n ltagTable = ltag.parse(table.data, table.offset);\n break;\n case 'maxp':\n table = uncompressTable(data, tableEntry);\n font.tables.maxp = maxp.parse(table.data, table.offset);\n font.numGlyphs = font.tables.maxp.numGlyphs;\n break;\n case 'name':\n nameTableEntry = tableEntry;\n break;\n case 'OS/2':\n table = uncompressTable(data, tableEntry);\n font.tables.os2 = os2.parse(table.data, table.offset);\n break;\n case 'post':\n table = uncompressTable(data, tableEntry);\n font.tables.post = post.parse(table.data, table.offset);\n font.glyphNames = new GlyphNames(font.tables.post);\n break;\n case 'prep' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.prep = p.parseByteList(tableEntry.length);\n break;\n case 'glyf':\n glyfTableEntry = tableEntry;\n break;\n case 'loca':\n locaTableEntry = tableEntry;\n break;\n case 'CFF ':\n cffTableEntry = tableEntry;\n break;\n case 'kern':\n kernTableEntry = tableEntry;\n break;\n case 'GPOS':\n gposTableEntry = tableEntry;\n break;\n case 'GSUB':\n gsubTableEntry = tableEntry;\n break;\n case 'meta':\n metaTableEntry = tableEntry;\n break;\n }\n }\n\n var nameTable = uncompressTable(data, nameTableEntry);\n font.tables.name = _name.parse(nameTable.data, nameTable.offset, ltagTable);\n font.names = font.tables.name;\n\n if (glyfTableEntry && locaTableEntry) {\n var shortVersion = indexToLocFormat === 0;\n var locaTable = uncompressTable(data, locaTableEntry);\n var locaOffsets = loca.parse(locaTable.data, locaTable.offset, font.numGlyphs, shortVersion);\n var glyfTable = uncompressTable(data, glyfTableEntry);\n font.glyphs = glyf.parse(glyfTable.data, glyfTable.offset, locaOffsets, font, opt);\n } else if (cffTableEntry) {\n var cffTable = uncompressTable(data, cffTableEntry);\n cff.parse(cffTable.data, cffTable.offset, font, opt);\n } else {\n throw new Error('Font doesn\\'t contain TrueType or CFF outlines.');\n }\n\n var hmtxTable = uncompressTable(data, hmtxTableEntry);\n hmtx.parse(font, hmtxTable.data, hmtxTable.offset, font.numberOfHMetrics, font.numGlyphs, font.glyphs, opt);\n addGlyphNames(font, opt);\n\n if (kernTableEntry) {\n var kernTable = uncompressTable(data, kernTableEntry);\n font.kerningPairs = kern.parse(kernTable.data, kernTable.offset);\n } else {\n font.kerningPairs = {};\n }\n\n if (gposTableEntry) {\n var gposTable = uncompressTable(data, gposTableEntry);\n font.tables.gpos = gpos.parse(gposTable.data, gposTable.offset);\n font.position.init();\n }\n\n if (gsubTableEntry) {\n var gsubTable = uncompressTable(data, gsubTableEntry);\n font.tables.gsub = gsub.parse(gsubTable.data, gsubTable.offset);\n font.tables.gsub.features.forEach(function (f) {\n // Match `ss01` to `ss20`\n if (f.tag.match(/ss(?:0[1-9]|1\\d|20)/)) {\n var ref = f.feature.featureParamsTable;\n var uiNameId = ref.uiNameId;\n f.feature.uiName = font.tables.name[uiNameId];\n }\n // Match `cv01` to `cv99`\n else if (f.tag.match(/cv(?:0[1-9]|[1-9]\\d)/)) {\n var ref$1 = f.feature.featureParamsTable;\n var featUiLabelNameId = ref$1.featUiLabelNameId;\n f.feature.featUiLabelName = font.tables.name[featUiLabelNameId];\n }\n });\n }\n\n if (fvarTableEntry) {\n var fvarTable = uncompressTable(data, fvarTableEntry);\n font.tables.fvar = fvar.parse(fvarTable.data, fvarTable.offset, font.names);\n }\n\n if (metaTableEntry) {\n var metaTable = uncompressTable(data, metaTableEntry);\n font.tables.meta = meta.parse(metaTable.data, metaTable.offset);\n font.metas = font.tables.meta;\n }\n\n return font;\n}\n\n/**\n * Asynchronously load the font from a URL or a filesystem. When done, call the callback\n * with two arguments `(err, font)`. The `err` will be null on success,\n * the `font` is a Font object.\n * We use the node.js callback convention so that\n * opentype.js can integrate with frameworks like async.js.\n * @alias opentype.load\n * @param {string} url - The URL of the font to load.\n * @param {Function} callback - The callback.\n */\nfunction load(url, callback, opt) {\n var isNode = typeof window === 'undefined';\n var loadFn = isNode ? loadFromFile : loadFromUrl;\n\n return new Promise(function (resolve, reject) {\n loadFn(url, function(err, arrayBuffer) {\n if (err) {\n if (callback) {\n return callback(err);\n } else {\n reject(err);\n }\n }\n var font;\n try {\n font = parseBuffer(arrayBuffer, opt);\n } catch (e) {\n if (callback) {\n return callback(e, null);\n } else {\n reject(e);\n }\n }\n if (callback) {\n return callback(null, font);\n } else {\n resolve(font);\n }\n });\n });\n}\n\n/**\n * Synchronously load the font from a URL or file.\n * When done, returns the font object or throws an error.\n * @alias opentype.loadSync\n * @param {string} url - The URL of the font to load.\n * @param {Object} opt - opt.lowMemory\n * @return {opentype.Font}\n */\nfunction loadSync(url, opt) {\n var fs = require('fs');\n var buffer = fs.readFileSync(url);\n return parseBuffer(nodeBufferToArrayBuffer(buffer), opt);\n}\n\nvar opentype = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tFont: Font,\n\tGlyph: Glyph,\n\tPath: Path,\n\tBoundingBox: BoundingBox,\n\t_parse: parse,\n\tparse: parseBuffer,\n\tload: load,\n\tloadSync: loadSync\n});\n\nexport default opentype;\nexport { BoundingBox, Font, Glyph, Path, parse as _parse, load, loadSync, parseBuffer as parse };\n//# sourceMappingURL=opentype.module.js.map\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/css/app.1ebe9295.css b/css/app.1ebe9295.css deleted file mode 100644 index b7bab54..0000000 --- a/css/app.1ebe9295.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Iosevka SS09 Web;font-weight:400;font-style:normal;src:url(../fonts/iosevka-ss09-regular.2c6eec11.woff2) format("woff2"),url(../fonts/iosevka-ss09-regular.2aa43563.woff) format("woff"),url(../fonts/iosevka-ss09-regular.90349d65.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:400;font-style:italic;src:url(../fonts/iosevka-ss09-italic.4a1af94e.woff2) format("woff2"),url(../fonts/iosevka-ss09-italic.88f83720.woff) format("woff"),url(../fonts/iosevka-ss09-italic.47899172.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:700;font-style:normal;src:url(../fonts/iosevka-ss09-bold.7f360c90.woff2) format("woff2"),url(../fonts/iosevka-ss09-bold.d1c391ea.woff) format("woff"),url(../fonts/iosevka-ss09-bold.5505bbaf.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:700;font-style:italic;src:url(../fonts/iosevka-ss09-bolditalic.ba491ead.woff2) format("woff2"),url(../fonts/iosevka-ss09-bolditalic.cf407df0.woff) format("woff"),url(../fonts/iosevka-ss09-bolditalic.8707d0dd.ttf) format("truetype")}@font-face{src:url(../fonts/Rywalka-Regular.cce2918c.ttf);font-family:Rywalka Bulletproof;font-weight:400;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Regular.9d1302b1.eot),url(../fonts/AlegreyaSans-Regular.c8891608.woff2),url(../fonts/AlegreyaSans-Regular.0f009e54.woff),url(../fonts/AlegreyaSans-Regular.7d58493c.ttf);font-family:Alegreya Bulletproof;font-weight:400;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Italic.53b72361.eot),url(../fonts/AlegreyaSans-Italic.244ebb23.woff2),url(../fonts/AlegreyaSans-Italic.7dafa911.woff),url(../fonts/AlegreyaSans-Italic.d3c9f816.ttf);font-family:Alegreya Bulletproof;font-weight:400;font-style:italic;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Medium.f74b7767.eot),url(../fonts/AlegreyaSans-Medium.d86bbf2e.woff2),url(../fonts/AlegreyaSans-Medium.aac16b36.woff),url(../fonts/AlegreyaSans-Medium.c51e6c6d.ttf);font-family:Alegreya Bulletproof;font-weight:500;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Bold.a98656d0.eot),url(../fonts/AlegreyaSans-Bold.be0fb9b3.woff2),url(../fonts/AlegreyaSans-Bold.7bfb8dcc.woff),url(../fonts/AlegreyaSans-Bold.c254570e.ttf);font-family:Alegreya Bulletproof;font-weight:700;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-ExtraBold.8605ff08.eot),url(../fonts/AlegreyaSans-ExtraBold.91881dc4.woff2),url(../fonts/AlegreyaSans-ExtraBold.52d1d7ca.woff),url(../fonts/AlegreyaSans-ExtraBold.5d9b7c0c.ttf);font-family:Alegreya Bulletproof;font-weight:800;font-style:normal;font-display:swap}.app *,.app .ui-select__display,.app .ui-textbox__input,.app :after,.app :before{-webkit-box-sizing:border-box;box-sizing:border-box}.app .ui-select__display,.app .ui-textbox__input{border-bottom-width:2px!important;max-height:46px;overflow:hidden}.app .ui-textbox.is-multi-line{background:#fff}.app .ui-select__display-value{max-height:2.5em;overflow:hidden}.app .ui-select__dropdown-button{-ms-flex-item-align:center;align-self:center}.app .ui-textbox__input{max-height:2.5em}.app .ui-textbox__label{height:1.7rem!important}.app .ui-select .ui-icon svg{-webkit-transform:scale(1.1,1.25);transform:scale(1.1,1.25)}.app .ui-select .ui-select__content{max-width:100%}.app .ui-select .ui-select__content .ui-select__display-value{overflow:hidden;text-overflow:ellipsis}.app .ui-select:not(.is-multiple) .ui-select__content .ui-select__display{line-height:unset}.app [x-placement=top-start]{-webkit-transform:translateY(8px);transform:translateY(8px)}.app .ui-checkbox:hover .ui-checkbox__label-text,.app .ui-checkbox__input:focus~.ui-checkbox__label-text{border-bottom:2px solid #ff4081;margin-bottom:-2px}.app .ui-checkbox__label-text,.app .ui-radio__label-text{margin-left:.25rem!important}.app .ui-radio-group.is-vertical .ui-radio-group__radio{margin-bottom:2px!important}.app .ui-button,.app .ui-fileupload{height:1.7rem!important}.app .font-select-popover .font-select:not(:last-child){margin-bottom:.5rem}.app .font-select .ui-select__label-text{font-size:.85rem!important}.app .ui-select:not(.is-multiple) .ui-select__display{height:unset!important}.app .ui-icon-button{-ms-flex-negative:0!important;flex-shrink:0!important}.app .ui-icon-button:focus:not(:hover){border-color:#ff4081}.app .ui-icon-button--color-primary:focus:not(:hover){background:#ff8cb3;border:2px solid #ff4081}.app .ui-icon-button--size-small{-ms-flex-item-align:center;align-self:center;width:24px;height:24px;margin:2px 0}.app .ui-icon-button--size-small--color-default{color:rgba(36,31,30,.8)}.app .ui-icon-button--size-small--color-primary{color:#eee}.app .ui-icon-button--size-small svg{width:24px;height:24px;margin:-10px}.app .ui-button--type-primary.ui-button--color-default:not(.has-dropdown-open).border,.app .ui-button--type-primary.ui-button--color-default:not(:hover).border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:not(.has-dropdown-open).border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:not(:hover).border{border:2px solid #bdbdbd}.app .ui-button--type-primary.ui-button--color-default.has-dropdown-open.border,.app .ui-button--type-primary.ui-button--color-default:focus.border,.app .ui-icon-button--type-primary.ui-icon-button--color-default.has-dropdown-open.border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:focus.border{border:2px solid #ff4081}.ui-select-option kbd{margin-right:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ui-button.tiny{padding:0 .4em;opacity:.7;color:#241f1e;-webkit-box-flex:0!important;-ms-flex:0 1 auto!important;flex:0 1 auto!important}.vb{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.vb.vb-visible>.vb-content{padding-right:17px;-webkit-box-sizing:border-box!important;box-sizing:border-box!important}.vb>.vb-dragger{z-index:5;right:0}.vb>.vb-dragger>.vb-dragger-styler{background-clip:padding-box;background:#d7c1c4;background:#7c0f1d;opacity:.7;margin:2px 2px 2px 3px;border-radius:4px;height:calc(100% - 10px);display:block}.vb.vb-visible:after{content:"";display:block;position:absolute;top:0;height:100%;right:0;width:17px}.vb.vb-visible>.vb-dragger>.vb-dragger-styler{width:12px;-webkit-box-sizing:border-box;box-sizing:border-box;border:3px solid;border-color:#a91528 #a91528 #4f0912 #4f0912}.fade-enter-active,.fade-leave-active{-webkit-transition:all .3s;transition:all .3s}.fade-enter,.fade-leave-to{opacity:0!important}.fade-move{-webkit-transition:all .3s;transition:all .3s}.fade-transition-group{position:relative}.fade-transition-group>.fade-leave-active{position:absolute;width:100%}.fade-slow-enter-active,.fade-slow-reverse-enter-active{-webkit-transition:opacity .3s;transition:opacity .3s}.fade-slow-leave-active,.fade-slow-reverse-leave-active{-webkit-transition:opacity 1.5s .45s;transition:opacity 1.5s .45s}.fade-slow-enter,.fade-slow-leave-to,.fade-slow-reverse-enter,.fade-slow-reverse-leave-to{opacity:0}.fade-slow-reverse-enter-active{-webkit-transition:opacity 1.5s .45s;transition:opacity 1.5s .45s}.fade-slow-reverse-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.swap-enter-active,.swap-leave-active{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s}.swap-enter,.swap-leave-to{opacity:0;width:210px;-webkit-transform:translateX(60%);transform:translateX(60%)}.transition-wrapper{position:relative;height:100%;width:100%}.transition-wrapper>.fade-leave-active,.transition-wrapper>.swap-leave-active{position:absolute}.contextual-sidebar{padding:0 10px;padding-right:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}.contextual-sidebar,.contextual-sidebar .toolbar{display:-webkit-box;display:-ms-flexbox;display:flex}.contextual-sidebar .toolbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 -2px}.contextual-sidebar .toolbar>*{margin-right:2px;margin-left:2px}.contextual-sidebar.btn-group,.contextual-sidebar .btn-group{margin:4px 0}.contextual-sidebar.btn-group .ui-button,.contextual-sidebar .btn-group .ui-button,.contextual-sidebar.btn-group .ui-icon-button,.contextual-sidebar .btn-group .ui-icon-button{border:2px solid rgba(0,0,0,.12);height:1.75rem;border-radius:8px;margin:0 2px}.contextual-sidebar.btn-group .ui-button:focus,.contextual-sidebar .btn-group .ui-button:focus,.contextual-sidebar.btn-group .ui-icon-button:focus,.contextual-sidebar .btn-group .ui-icon-button:focus{border-color:#ff4081}.contextual-sidebar.btn-group .ui-button.ui-icon-button--color-primary,.contextual-sidebar .btn-group .ui-button.ui-icon-button--color-primary,.contextual-sidebar.btn-group .ui-button:focus,.contextual-sidebar .btn-group .ui-button:focus,.contextual-sidebar.btn-group .ui-button:hover,.contextual-sidebar .btn-group .ui-button:hover,.contextual-sidebar.btn-group .ui-icon-button.ui-icon-button--color-primary,.contextual-sidebar .btn-group .ui-icon-button.ui-icon-button--color-primary,.contextual-sidebar.btn-group .ui-icon-button:focus,.contextual-sidebar .btn-group .ui-icon-button:focus,.contextual-sidebar.btn-group .ui-icon-button:hover,.contextual-sidebar .btn-group .ui-icon-button:hover{z-index:1}.contextual-sidebar.btn-group .ui-button,.contextual-sidebar .btn-group .ui-button,.contextual-sidebar.btn-group .ui-icon-button,.contextual-sidebar .btn-group .ui-icon-button{border-radius:0;margin:0 -1px}.contextual-sidebar.btn-group .ui-button:hover,.contextual-sidebar .btn-group .ui-button:hover,.contextual-sidebar.btn-group .ui-icon-button:hover,.contextual-sidebar .btn-group .ui-icon-button:hover{border-color:rgba(0,0,0,.3);z-index:1}.contextual-sidebar.btn-group .ui-button:first-child,.contextual-sidebar .btn-group .ui-button:first-child,.contextual-sidebar.btn-group .ui-icon-button:first-child,.contextual-sidebar .btn-group .ui-icon-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.contextual-sidebar.btn-group .ui-button:last-child,.contextual-sidebar .btn-group .ui-button:last-child,.contextual-sidebar.btn-group .ui-icon-button:last-child,.contextual-sidebar .btn-group .ui-icon-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.contextual-sidebar .panel{padding:4px}.contextual-sidebar .heading-link{margin-left:18px;display:block;position:relative}.contextual-sidebar .heading-link:after,.contextual-sidebar .heading-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.contextual-sidebar .heading-link:before{left:-1.25em;width:18px;height:18px;background:url(../img/link.4b7cfc01.svg);background-size:18px 18px}.contextual-sidebar .heading-link:hover:before{-webkit-transform:scale(1.1);transform:scale(1.1)}.row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.row .ui-button{margin:5px 0}.row h3{-ms-flex-item-align:center;align-self:center;margin:2px 0}.row>*{margin:0 .2em 2px}.row>:first-child{margin-left:0}.row>:last-child{margin-right:0}.row-label{margin-right:.3em;min-width:4em}.row>[class^=ui]:not(.ui-icon-button):not(.ui-checkbox),.row>h3{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.row-label,.ui-checkbox__label-text,.ui-radio__label-text{opacity:.7;font-size:.85rem!important}.row .const1ch{-ms-flex:0.1 1 1ch;flex:0.1 1 1ch;min-width:1ch}.row .const1ch,.row .const2ch{display:block;-webkit-box-flex:0.1}.row .const2ch{-ms-flex:0.1 1 2ch;flex:0.1 1 2ch;min-width:2ch}.row .const3ch{-ms-flex:0.1 1 3ch;flex:0.1 1 3ch;min-width:3ch}.row .const3ch,.row .const4ch{display:block;-webkit-box-flex:0.1}.row .const4ch{-ms-flex:0.1 1 4ch;flex:0.1 1 4ch;min-width:4ch}.row .const5ch{-ms-flex:0.1 1 5ch;flex:0.1 1 5ch;min-width:5ch}.row .const5ch,.row .const6ch{display:block;-webkit-box-flex:0.1}.row .const6ch{-ms-flex:0.1 1 6ch;flex:0.1 1 6ch;min-width:6ch}.row .const7ch{-ms-flex:0.1 1 7ch;flex:0.1 1 7ch;min-width:7ch}.row .const7ch,.row .const8ch{display:block;-webkit-box-flex:0.1}.row .const8ch{-ms-flex:0.1 1 8ch;flex:0.1 1 8ch;min-width:8ch}.row .const9ch{-ms-flex:0.1 1 9ch;flex:0.1 1 9ch;min-width:9ch}.row .const9ch,.row .const10ch{display:block;-webkit-box-flex:0.1}.row .const10ch{-ms-flex:0.1 1 10ch;flex:0.1 1 10ch;min-width:10ch}.row .const11ch{-ms-flex:0.1 1 11ch;flex:0.1 1 11ch;min-width:11ch}.row .const11ch,.row .const12ch{display:block;-webkit-box-flex:0.1}.row .const12ch{-ms-flex:0.1 1 12ch;flex:0.1 1 12ch;min-width:12ch}.row .const13ch{-ms-flex:0.1 1 13ch;flex:0.1 1 13ch;min-width:13ch}.row .const13ch,.row .const14ch{display:block;-webkit-box-flex:0.1}.row .const14ch{-ms-flex:0.1 1 14ch;flex:0.1 1 14ch;min-width:14ch}.row .const15ch{-ms-flex:0.1 1 15ch;flex:0.1 1 15ch;min-width:15ch}.row .const15ch,.row .const16ch{display:block;-webkit-box-flex:0.1}.row .const16ch{-ms-flex:0.1 1 16ch;flex:0.1 1 16ch;min-width:16ch}.row .const17ch{-ms-flex:0.1 1 17ch;flex:0.1 1 17ch;min-width:17ch}.row .const17ch,.row .const18ch{display:block;-webkit-box-flex:0.1}.row .const18ch{-ms-flex:0.1 1 18ch;flex:0.1 1 18ch;min-width:18ch}.row .const19ch{-ms-flex:0.1 1 19ch;flex:0.1 1 19ch;min-width:19ch}.row .const19ch,.row .const20ch{display:block;-webkit-box-flex:0.1}.row .const20ch{-ms-flex:0.1 1 20ch;flex:0.1 1 20ch;min-width:20ch}.row .const21ch{-ms-flex:0.1 1 21ch;flex:0.1 1 21ch;min-width:21ch}.row .const21ch,.row .const22ch{display:block;-webkit-box-flex:0.1}.row .const22ch{-ms-flex:0.1 1 22ch;flex:0.1 1 22ch;min-width:22ch}.row .const23ch{-ms-flex:0.1 1 23ch;flex:0.1 1 23ch;min-width:23ch}.row .const23ch,.row .const24ch{display:block;-webkit-box-flex:0.1}.row .const24ch{-ms-flex:0.1 1 24ch;flex:0.1 1 24ch;min-width:24ch}.row .const25ch{-ms-flex:0.1 1 25ch;flex:0.1 1 25ch;min-width:25ch}.row .const25ch,.row .const26ch{display:block;-webkit-box-flex:0.1}.row .const26ch{-ms-flex:0.1 1 26ch;flex:0.1 1 26ch;min-width:26ch}.row .const27ch{-ms-flex:0.1 1 27ch;flex:0.1 1 27ch;min-width:27ch}.row .const27ch,.row .const28ch{display:block;-webkit-box-flex:0.1}.row .const28ch{-ms-flex:0.1 1 28ch;flex:0.1 1 28ch;min-width:28ch}.row .const29ch{display:block;-webkit-box-flex:0.1;-ms-flex:0.1 1 29ch;flex:0.1 1 29ch;min-width:29ch}.mask{mask-type:alpha}html{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:100%;overflow:hidden}*{font-variant-numeric:lining-nums}code,kbd,pre,samp{font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;font-size:13px}h3{margin:4px 0 0 0;font-size:1em}.reading{max-width:700px;margin:40px auto;font-size:1.35em;line-height:1.45}@media (max-width:800px){.reading{font-size:1.1em}}.reading h2{margin:1.2em 0 .6em}.reading code,.reading pre{background:#ffc6d9;padding:4px 6px;border-radius:4px;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;max-width:100%}.reading pre code{white-space:pre-wrap}body{margin:0}a{color:#416bc5}a:hover{color:#1245b3}.accent{background:#7c0f1d;color:#fff}.accent a,.accent a:hover{color:unset}.github-icon-link,.github-link,.u-dark a{color:#661a34;-webkit-transition:color .3s;transition:color .3s}.github-icon-link:hover,.github-link:hover,.u-dark a:hover{color:#cc3367}.u-dark a{color:#ff4081;text-decoration:none}.u-dark a:hover{color:#ff96ba;text-decoration:underline}.u-flex-v{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.help-link,.u-flex-v{display:-webkit-box;display:-ms-flexbox;display:flex}.help-link{margin:0 2px;text-decoration:none;font-size:.9em;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#416bc5}.help-link:hover{color:#1245b3}.help-link>.help-icon{-webkit-box-flex:unset;-ms-flex:unset;flex:unset;margin-right:.15em}.help-topic{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin-bottom:150px;padding:0 7.5vw}.help-topic .help{max-width:100%}@media (min-width:1000px){.help-topic .help{-webkit-box-flex:1;-ms-flex:1 1 60%;flex:1 1 60%;margin:0 40px 0 6rem}}.help-topic .help .reading{margin-right:0}.help-topic .example{width:300px;-webkit-box-flex:0;-ms-flex:0 1 30%;flex:0 1 30%;-ms-flex-item-align:start;align-self:flex-start;margin:0 40px;padding:20px 0;position:-webkit-sticky;position:sticky;top:64px}@media (max-width:1000px){.help-topic .example{display:none}}@media screen and (max-width:920px){.help-topic .example{top:64px}}.help-topic .help-heading{position:relative}.help-topic .help-heading .router-link-active{color:#bbb;text-decoration:none;white-space:pre}@media (max-width:1000px){.help-topic .help-heading .router-link-active{display:block}}@media (min-width:1000.02px){.help-topic .help-heading .router-link-active{position:absolute;right:100%}}.help-topic .help-heading .router-link-active:hover{color:#416bc5}.app{background:#eee;color:#241f1e;height:100vh;overflow-y:hidden}.app .app-content{height:100%;overflow:auto}.app-content{scroll-padding-top:84px}@media screen and (max-width:920px){.app-content{scroll-padding-top:84px}}.site-content{min-height:100vh}.shade{z-index:20;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;background:#fff;-webkit-animation:shade-fade-out .3s .3s forwards;animation:shade-fade-out .3s .3s forwards}@-webkit-keyframes shade-fade-out{0%{opacity:1}to{opacity:0}}@keyframes shade-fade-out{0%{opacity:1}to{opacity:0}}.ui-select{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0;outline:none;position:relative}.ui-select:hover:not(.is-disabled) .ui-select__label-text{color:rgba(0,0,0,.75)}.ui-select:hover:not(.is-disabled) .ui-select__display{border-bottom-color:rgba(0,0,0,.3)}.ui-select:hover:not(.is-disabled) .ui-select__dropdown-button{color:rgba(0,0,0,.87)}.ui-select.is-active:not(.is-disabled).is-focused .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled).is-focused .ui-select__label-text,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__label-text,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__label-text{color:#ff4081}.ui-select.is-active:not(.is-disabled).is-focused .ui-select__display,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__display,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__display{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-select.has-floating-label .ui-select__label-text{display:table}.ui-select.has-floating-label .ui-select__label-text.is-inline{color:rgba(0,0,0,.54);cursor:pointer;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-select.has-floating-label .ui-select__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-select.has-label .ui-select__icon-wrapper{padding-top:1.5rem}.ui-select.has-label .ui-select__dropdown-button{top:1.6875rem}.ui-select:not(.is-multiple) .ui-select__display{height:1.7rem;line-height:1}.ui-select.is-multiple .ui-select__display{line-height:1.4;padding-bottom:.25rem;padding-top:.25rem}.ui-select.is-invalid:not(.is-disabled) .ui-select__display .ui-select__display-value{text-decoration:line-through;opacity:.6}.ui-select.is-disabled .ui-select__display{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38);cursor:default}.ui-select.is-disabled .ui-select__display-value.is-placeholder,.ui-select.is-disabled .ui-select__dropdown-button{color:rgba(0,0,0,.38);opacity:.6}.ui-select.is-disabled .ui-select__icon-wrapper .ui-icon{opacity:.6}.ui-select.is-disabled .ui-select__feedback{opacity:.8}.ui-select__label{display:block;margin:0;outline:none;padding:0;width:100%}.ui-select__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-select__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-select__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-select__display{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;color:rgba(0,0,0,.87);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:1rem;font-weight:400;min-height:1.7rem;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.ui-select__display:after{content:"\A0"}.ui-select__display-value{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;background:transparent;border:0;font-family:inherit;font-size:inherit;outline:none}.ui-select__display-value.is-placeholder{color:rgba(0,0,0,.38);opacity:1}.ui-select__dropdown-button{color:rgba(0,0,0,.54);font-size:1.125rem;margin-left:auto;margin-right:-.25rem}.ui-select__dropdown{display:block;list-style-type:none;margin:0;margin-bottom:.5rem;min-width:11.25rem;outline:none;padding:0;width:100%}.ui-select__dropdown-content{outline:none}.ui-select__search-input{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;font-family:inherit;font-size:.9375rem;font-weight:400;height:1.95rem;outline:none;padding:0 .75rem;padding-left:2.5rem;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-select__search-input::-ms-clear{display:none}.ui-select__search-input:focus+.ui-select__search-icon{color:#ff4081}.ui-select__search .ui-select__search-icon,.ui-select__search .ui-select__search-progress{position:absolute;top:.5rem}.ui-select__search-icon{color:rgba(0,0,0,.54);font-size:1.25rem;left:.75rem}.ui-select__search-progress{right:.75rem}.ui-select__options{background-color:#fff;color:rgba(0,0,0,.87);display:block;list-style-type:none;margin:0;max-height:16rem;min-width:100%;overflow-y:auto;padding:0;position:relative}.ui-select__no-results{color:rgba(0,0,0,.54);font-size:.875rem;padding:.5rem .75rem;width:100%}.ui-select__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-select--icon-position-right .ui-select__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tippy-iOS{cursor:pointer!important;-webkit-tap-highlight-color:transparent}.tippy-popper{max-height:100%;max-width:100%;outline:0;pointer-events:none;-webkit-transition-timing-function:cubic-bezier(.165,.84,.44,1);transition-timing-function:cubic-bezier(.165,.84,.44,1);z-index:60}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0;-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px) scale(.5);transform:translateY(-10px) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%;-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px) scale(.5);transform:translateY(10px) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px) scale(.5);transform:translateX(-10px) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0;-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px) scale(.5);transform:translateX(10px) scale(.5)}.tippy-tooltip{position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-backdrop{position:absolute;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;-webkit-transition:all cubic-bezier(.46,.1,.52,.98);transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{-webkit-transition-property:opacity;transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}.ui-tooltip-theme{border-radius:.125rem;color:#fff;font-size:.8125rem;line-height:1.4;padding:.3rem .5rem;text-align:center}.ui-tooltip-theme,.ui-tooltip-theme .tippy-backdrop{background-color:rgba(33,33,33,.9)}.fit-me[data-v-1f5793db]{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.font-select__dropdown{width:250px!important}.font-select__dropdown .ui-select-option>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.font-select__dropdown .ui-select-option>div>:not(:last-child){margin-right:.3ch}.font-select__dropdown .ui-select-option>div .col{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.font-select__dropdown .ui-select-option>div .col:nth-child(2){-webkit-box-flex:1;-ms-flex:1;flex:1}.font-select__dropdown .ui-select-option>div .col>:not(:last-child){margin-right:.3ch}.font-select__dropdown .ui-select-option>div .col.col-sample{margin-left:-.5em;margin-right:.45em;width:1.75rem;height:1.5rem;line-height:.85}.font-select__dropdown .ui-select-option>div .col.col-sample.icon-add{font-size:28px;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;place-content:center;margin:0;padding-bottom:.1em;-webkit-box-sizing:border-box;box-sizing:border-box}.font-select__dropdown .ui-select-option>div .col .font-style{opacity:.6}.font-select__dropdown .ui-select-option>div .col .font-version{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.file-drop[data-v-b51bf0cc]{z-index:1;position:fixed;top:0;bottom:0;left:0;right:0;height:100vh;background:hsla(0,0%,93.3%,.5);-webkit-box-shadow:inset 0 0 20vh #eee;box-shadow:inset 0 0 20vh #eee;-webkit-transition:opacity .3s;transition:opacity .3s}.file-drop.hidden[data-v-b51bf0cc]{-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0;pointer-events:none}.font-loader{-webkit-box-flex:1;-ms-flex:1 1 12em;flex:1 1 12em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.font-loader .font-loader-item{margin:0 2px}.font-loader .font-select{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;width:12em}.font-loader .font-select .ui-select__display-value{white-space:nowrap}.font-loader .ui-fileupload{padding:4px;min-width:0}.font-loader .ui-fileupload .ui-fileupload__icon{margin-right:0}.font-loader .ui-fileupload .ui-fileupload__display-text{display:none!important}.font-loader .font-select{margin-bottom:0}.font-loader .font-select .ui-select__display{padding:2px 8px;border-radius:3px}@media (max-width:1400px){.font-loader{display:grid;gap:3px;grid-template-columns:repeat(4,1fr)}.font-loader .font-loader-item{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.font-loader .font-loader-item>*{width:100%}.font-loader .font-select{width:100%;grid-column-end:span 3}}.font-select-popover{padding:8px;width:calc(24em + 16px)}.font-select-menu{display:grid;grid-template-columns:1fr 1fr}.bi-button{min-width:unset;text-transform:none;font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;padding:0 6px}.bi-button b{margin-right:.2em}.bi-button,.ui-fileupload{border-radius:3px;border-bottom:2px solid #b06f77}.bi-button:hover,.ui-fileupload:hover{border-color:#cb9fa5}.font-loading-progress{position:fixed;top:50%;left:30%;right:30%;width:40%;height:1rem}.font-loading-progress .ui-progress-linear__progress-bar{height:100%}.overlay{z-index:1;position:fixed;top:0;bottom:0;left:0;right:0;background:hsla(0,0%,93.3%,.8);-webkit-box-shadow:inset 0 0 20vh #eee;box-shadow:inset 0 0 20vh #eee;-webkit-transition:opacity .5s;transition:opacity .5s}.ui-modal .ui-focus-container.ui-modal__container{top:2em;bottom:2em;max-height:calc(100vh - 4em)}.ui-modal .ui-button{margin-top:1rem;margin-left:auto;margin-right:0}.add-font-modal-body .align-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.dark.ui-button[data-v-4f310594],.dark.ui-fileupload[data-v-4f310594]{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button [data-v-4f310594],.dark.ui-fileupload [data-v-4f310594]{color:#fff}.dark.ui-button[data-v-4f310594]:before,.dark.ui-fileupload[data-v-4f310594]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display[data-v-4f310594]{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display [data-v-4f310594]{color:#fff}.dark.ui-select .ui-select__display[data-v-4f310594]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button[data-v-4f310594]{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display[data-v-4f310594]{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button[data-v-4f310594]{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display[data-v-4f310594]{border-color:#ff4081}.editor-nav-link[data-v-4f310594]{margin:0 3px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:60px}.editor-nav-link a[data-v-4f310594]{-webkit-box-flex:unset;-ms-flex:unset;flex:unset;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.editor-nav-link .ui-icon-button[data-v-4f310594]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:20px;width:20px}.editor-nav-link .ui-icon-button[data-v-4f310594]:hover{z-index:1;background:transparent!important;color:#fff!important;position:relative}.editor-nav-link .ui-icon-button:hover [data-v-4f310594]{color:#fff}.editor-nav-link .ui-icon-button[data-v-4f310594]:hover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.editor-nav-link .ui-icon-button svg[data-v-4f310594]{height:20px;width:20px}.middle-ellipsis[data-v-4f310594]{white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.start[data-v-4f310594]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:1;flex-shrink:1}.end[data-v-4f310594]{white-space:nowrap;-ms-flex-preferred-size:content;flex-basis:content;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}.editor-nav{text-align:right;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.editor-nav .links-wrapper{min-width:0}.editor-nav .links{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.editor-nav .links,.editor-nav .nav-link{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.editor-nav .nav-link{white-space:nowrap;text-overflow:ellipsis;min-width:0}.editor-nav .nav-link.new{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.text-tools[data-v-7a15c57a]{overflow:visible}.toolbar[data-v-7a15c57a]{margin:0;padding:0;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.animation-editor[data-v-7a15c57a],.nav-links[data-v-7a15c57a]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}h1.site-logo{font-weight:400;font-size:1.8em;color:#eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (min-width:1000px){h1.site-logo{margin:0 20px 0 0}}h1.site-logo .logo{height:2em;display:inline-block;margin:0;position:relative;top:-3px;color:#eee}h1.site-logo .logo path{fill:currentColor}h1.site-logo .logotype span{display:block}h1.site-logo .strong{font-size:1.035em;font-family:Rywalka Bulletproof,sans-serif;line-height:1;font-weight:400}h1.site-logo .weak{opacity:.8;font-weight:500;font-size:1rem;line-height:1;text-align:center;letter-spacing:1.4px}.sigmoid[data-v-6ff99e0d]{overflow:hidden;position:absolute;top:0;bottom:0}.sigmoid.left[data-v-6ff99e0d]{right:calc(100% - .5px)}.sigmoid.right[data-v-6ff99e0d]{left:calc(100% - .5px)}.sigmoid>div[data-v-6ff99e0d]{height:calc(100% + .5px);width:calc(100% + .5px);-webkit-mask:url(../img/sigmoid.222ee1ad.svg);mask:url(../img/sigmoid.222ee1ad.svg);-webkit-mask-size:101% 101%;mask-size:101% 101%}.sigmoid.right[data-v-6ff99e0d]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.site-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;justify-items:space-between;padding-top:8px;background:#7c0f1d;background:-webkit-gradient(linear,right top,left top,from(#110e0f),to(#461a21));background:linear-gradient(-90deg,#110e0f,#461a21);z-index:5;position:-webkit-sticky;position:sticky;top:0;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;height:64px}.site-header:not(.sticky){-webkit-transform:translateY(-64px);transform:translateY(-64px)}@media screen and (max-width:920px){.site-header{height:64px}.site-header:not(.sticky){-webkit-transform:translateY(-64px);transform:translateY(-64px)}}.site-header .light{background:#eee}.site-header .main{margin-top:-4px;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:0}.site-header .above-sidebar,.site-header .main{display:-webkit-box;display:-ms-flexbox;display:flex}@media (min-width:1000px){.site-header .above-sidebar{width:220px}}@media (min-width:1600px){.site-header .above-sidebar{width:260px}}.site-header .logo{margin-top:-4px;-ms-flex-pack:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.site-header .logo,.site-header .logo-top a.home,.site-header .logo a.home{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;justify-content:center}.site-header .logo-top a.home,.site-header .logo a.home{text-decoration:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:center}.site-header .nav{min-width:0}.site-header .font-loader{-webkit-box-flex:0;-ms-flex:0 1 15em;flex:0 1 15em}.site-header .text-tools{-ms-flex-negative:0;flex-shrink:0}.site-header .settings-aside-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header .settings-aside .nav-aside{padding-left:0}.site-header .settings-aside .nav-aside .ui-button{padding:0}.site-header .aside{padding-right:17px;padding-right:14px}.site-header .aside .nav-aside{padding-left:0}.site-header .aside .nav-aside .ui-button{padding:0}.site-header .nav-link{margin:0 5px}.site-header .nav-link a{display:inline-block;color:#fff;text-decoration:none;font-size:1.1em;font-weight:500;-webkit-transform:scale(.95);transform:scale(.95);-webkit-font-smoothing:antialiased}.site-header .nav-link a:hover{text-decoration:underline}.site-header .nav-link a.router-link-active{text-decoration:underline;-webkit-transform:scale(1);transform:scale(1)}.site-header .nav-text-kinds{-webkit-box-flex:1;-ms-flex:1 2 48em;flex:1 2 48em;-ms-flex-wrap:wrap;flex-wrap:wrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-right:0;text-shadow:0 0 15px #000}.site-header .nav-text-kinds>:last-child{margin-right:.75em}.site-header .collapse-mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.site-header .collapse-mobile.nav-menu{-webkit-box-flex:1;-ms-flex:1;flex:1}.site-header .collapse-mobile-trigger{display:none;overflow:hidden;padding:2px}.site-header .collapse-mobile-trigger>div{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.site-header .logo-top{display:none}@media (max-width:1400px){.site-header .site-logo{margin:0;font-size:18px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:.5em}.site-header .site-logo .weak{display:none}.site-header .logo{height:100%;padding-right:.2em;margin-top:-2px}}@media (max-width:1000px){.site-header{display:grid;grid-template-areas:"left top right" "left bottom right";grid-template-columns:auto 1fr auto}.site-header .logo{margin-left:0;height:1.5em}.site-header .logo-top{display:block;grid-area:top;margin:-5px 0 -25px}.site-header .logo-top.alone{padding-left:51px}.site-header .slide-left-wrapper{grid-area:left}.site-header .slide-left-wrapper .logo{display:none}.site-header .right-wrapper{grid-area:right}.site-header .main{grid-area:bottom;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 -10px}.site-header .font-loader{-ms-flex-preferred-size:25em;flex-basis:25em}.site-header .collapse-mobile{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:#eee;padding:.8rem .6rem;position:absolute;top:100%;left:0;right:0;overflow:auto;-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0)}.site-header .collapse-mobile.nav-menu{height:calc(100vh - 64px)}.site-header .collapse-mobile>*{opacity:0}.site-header .collapse-mobile.expanded{-webkit-transform:none;transform:none}.site-header .collapse-mobile.expanded>*{opacity:1}.site-header .collapse-mobile-trigger.ui-button{display:block;font-size:11px;-webkit-box-flex:1;-ms-flex:1 0 50%;flex:1 0 50%;margin:0;height:100%!important;border-radius:0 .8rem 0 0;padding-left:10px;background:transparent;color:#fff}.site-header .collapse-mobile-trigger.ui-button.right{border-radius:.8rem 0 0 0;padding-right:10px;padding-left:0}.site-header .collapse-mobile-trigger.ui-button.alone{border-radius:0;margin-left:-70px;padding-left:70px}.site-header .collapse-mobile-trigger.ui-button:hover{background:transparent;color:#fff}.site-header .nav-text-kinds{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.site-header .nav-text-kinds>:last-child{margin:0}.site-header .nav-link{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;margin:0;text-shadow:none;padding:5px}.site-header .nav-link a{padding:.6rem;color:#000;display:block;border:1px solid #333;border-radius:3px;text-align:center;-webkit-transform:scale(1);transform:scale(1)}.site-header .nav-link a.router-link-active{background:rgba(34,17,17,.8);-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;color:#fff;text-decoration:none}.site-header .editor-nav{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width:1000px) and (max-width:1000px){.site-header .editor-nav{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:1000px){.site-header .editor-nav .nav-link{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header .editor-nav .nav-link a{-webkit-box-flex:1;-ms-flex:1;flex:1}.site-header .editor-nav .nav-link.new{-webkit-box-flex:0!important;-ms-flex:0 0 50%!important;flex:0 0 50%!important}.site-header .editor-nav .ui-icon-button{color:#000!important;width:32px;height:32px;margin-bottom:2px;margin-left:2px}}.github-icon-link-wrapper{cursor:pointer}.github-icon-link-wrapper,.github-icon-link-wrapper a{display:-webkit-box;display:-ms-flexbox;display:flex}.github-icon-link-wrapper a svg{width:32px;height:32px;margin:2px}.slide-left-wrapper{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.slide-left-wrapper .settings-aside-wrap{-webkit-transition:opacity .3s;transition:opacity .3s}.slide-left-wrapper.slide{-webkit-transform:translateX(-40px);transform:translateX(-40px)}.slide-left-wrapper.slide .settings-aside-wrap{opacity:0}.site-footer[data-v-1083513b]{position:relative;font-size:.9rem;display:-webkit-box;display:-ms-flexbox;display:flex;height:128px;justify-items:space-between;padding-bottom:8px;background:#7c0f1d;background-image:repeating-linear-gradient(-45deg,transparent,transparent 1px,rgba(0,0,0,.1) 0,hsla(0,0%,100%,.045) 10px),repeating-linear-gradient(45deg,transparent,transparent 1px,rgba(0,0,0,.1) 0,hsla(0,0%,100%,.045) 10px),linear-gradient(5deg,#000,70%,#7c0f1d);background-size:100% 150px;background-position:0 100%}.site-footer .sentinel[data-v-1083513b]{position:absolute;bottom:100%;height:128px;width:100%;pointer-events:none}.site-footer .main[data-v-1083513b]{color:hsla(0,0%,100%,.7);-webkit-box-flex:1;-ms-flex:1;flex:1;padding:15px 0 10px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.site-footer .main[data-v-1083513b]>:not(:last-child){margin-right:2em}.site-footer .light[data-v-1083513b]{background:#eee}.site-footer .aside[data-v-1083513b]{-ms-flex-item-align:stretch;align-self:stretch;padding-right:14px;background:#eee}.site-footer .aside .github-link[data-v-1083513b]{text-decoration:none;line-height:1;padding:0;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:visible;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:-1rem}.site-footer .aside .github-link div[data-v-1083513b]{min-width:70px;margin:.4em;text-align:right}.site-footer .aside .github-link svg[data-v-1083513b]{margin:0}@media (max-width:600px){.extra-info[data-v-1083513b]{display:none}}.welcome .banner{font-size:6rem;text-align:center;margin:4vw 0 2rem;font-size:4vw}@media (max-width:800px){.welcome .banner{font-size:32px}}.welcome .banner .logo{height:4em;margin:-1em 0 -.6em;max-width:100%}.welcome .banner h1{font-size:1em;margin:0;line-height:1}.welcome .banner .subtitle{font-style:italic;font-size:.33em;position:relative;left:4.75em}.welcome .invitation{text-align:center;color:#aaa}.welcome .fold{margin-bottom:5vw;text-align:center}@media (max-width:1000px){.welcome .fold{margin-bottom:60px}}.welcome .ui-button{background:#ddd;margin-top:1rem;padding:.8rem 3.5rem;height:unset!important}.welcome .ui-button:hover{background:#e2e2e2!important}@media (max-width:500px){.welcome .ui-button{padding:.8rem .5rem;font-size:.8rem}}.welcome .readme{margin:20px 0 360px}@media (max-width:1000px){.welcome .readme{margin:20px 0 100px}}.welcome .drop-prompt{border:5px dashed #ddd;border-radius:1rem;padding:4vw 2rem;margin:3rem auto 3rem}.welcome .request-font{margin:1.5rem auto 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.welcome .request-font .ui-textbox{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:.8rem}@media (min-width:1000px){.welcome .request-font .ui-textbox{margin-left:8rem}}.welcome .request-font .ui-textbox .ui-textbox__input{text-align:center;font-size:.9em;padding-bottom:.3rem}@media (max-width:500px){.welcome .request-font .ui-textbox .ui-textbox__input{font-size:.8rem}}.home[data-v-0eadec82]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 80px;z-index:0;position:relative;overflow:hidden}@media (max-width:1000px){.home[data-v-0eadec82]{padding:0 7.5vw}}.home .background[data-v-0eadec82]{position:absolute;width:100vw;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:-1}.home .background.safari[data-v-0eadec82]{display:none}@media (max-width:1000px){.home .background[data-v-0eadec82]{display:none}}.home .background:not(.safari).background-overlay[data-v-0eadec82]{background:#eee;top:0;bottom:0;position:relative;position:absolute}.home .background:not(.safari).background-overlay.loaded[data-v-0eadec82]{width:600px}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{left:2px;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after{left:calc(100% - 2px)}.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{background:url(../img/background-holes-bar.25258b21.svg);background-position:0 -1500px;background-size:100% auto}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after{background:url(../img/background-holes-bar.25258b21.svg);background-position:0 0;background-size:100% auto}.home .background:not(.safari).background-overlay.webkit[data-v-0eadec82]:before{background:url(../img/background-holes-bar-webkit.410b23e3.svg);background-position:0 -1500px;background-size:100% auto}.home .background:not(.safari).background-overlay.webkit[data-v-0eadec82]:after{background:url(../img/background-holes-bar-webkit.410b23e3.svg);background-position:0 0;background-size:100% auto}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{width:calc((110vw - 600px)/2 + 10px);background-repeat:repeat-y}@media screen and (min-width:1420px){.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{width:510px}}.home .background:not(.safari).background-parallax[data-v-0eadec82]{font-family:Rywalka Bulletproof;font-size:1.8rem;line-height:1.2;top:-1.2em;bottom:-1.2em;width:1595px;background:#333;color:#bbb;opacity:0}@media screen and (max-width:1000px){.home .background:not(.safari).background-parallax[data-v-0eadec82]{font-size:2vw}}.home .background:not(.safari).background-parallax.webkit[data-v-0eadec82]{background:#222}.home .background:not(.safari).background-parallax.loaded[data-v-0eadec82]{-webkit-animation:fade-in-1-data-v-0eadec82 .3s forwards;animation:fade-in-1-data-v-0eadec82 .3s forwards}@-webkit-keyframes fade-in-1-data-v-0eadec82{0%{opacity:0}to{opacity:1}}@keyframes fade-in-1-data-v-0eadec82{0%{opacity:0}to{opacity:1}}.home .background:not(.safari).background-parallax .pane[data-v-0eadec82]{text-align:center;overflow:hidden}.kerning-editor .ui-select[data-v-7f7c4944] .ui-select__display-value:not(.is-placeholder),.kerning-editor .ui-textbox[data-v-7f7c4944]{font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;font-size:13px}.kerning-editor[data-v-7273fa36]{margin-bottom:.5em}.pinnable[data-v-82a5684e]{position:-webkit-sticky;position:sticky;-ms-flex-item-align:start;align-self:flex-start;max-height:100vh;-webkit-transition:max-height .1s,-webkit-transform .2s;transition:max-height .1s,-webkit-transform .2s;transition:transform .2s,max-height .1s;transition:transform .2s,max-height .1s,-webkit-transform .2s;top:64px;-webkit-transform:translateY(-64px);transform:translateY(-64px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pinnable.sticky[data-v-82a5684e]{-webkit-transform:translateY(0);transform:translateY(0);max-height:calc(100vh - 64px)}@media screen and (max-width:920px){.pinnable[data-v-82a5684e]{top:64px;-webkit-transform:translateY(-64px);transform:translateY(-64px)}.pinnable.sticky[data-v-82a5684e]{max-height:calc(100vh - 64px)}}.pinnable.footer-near[data-v-82a5684e]{margin-bottom:-128px;-webkit-transition:none;transition:none}.pinnable.footer-nearer[data-v-82a5684e]{max-height:calc(100vh - 128px)}.pinnable.pinned[data-v-82a5684e]{background:#eee}.pinnable[data-v-82a5684e]:not(.pinned){-webkit-box-shadow:7px 0 6px -5px rgba(0,0,0,.14),-7px 0 6px -5px rgba(0,0,0,.14);box-shadow:7px 0 6px -5px rgba(0,0,0,.14),-7px 0 6px -5px rgba(0,0,0,.14);position:fixed;background:hsla(0,0%,93.3%,.97);-webkit-transition:opacity .25s;transition:opacity .25s}.pinnable:not(.pinned).left[data-v-82a5684e]{-webkit-box-shadow:7px 0 6px -5px rgba(0,0,0,.14);box-shadow:7px 0 6px -5px rgba(0,0,0,.14)}.pinnable:not(.pinned).right[data-v-82a5684e]{-webkit-box-shadow:-7px 0 6px -5px rgba(0,0,0,.14);box-shadow:-7px 0 6px -5px rgba(0,0,0,.14)}.pinnable[data-v-82a5684e]:not(.pinned):not(:hover):not(.trigger-hover){-webkit-transition:opacity .25s .1s;transition:opacity .25s .1s;opacity:0}.pinnable .fixed-header[data-v-82a5684e],.pinnable .titlebar[data-v-82a5684e]{-webkit-box-flex:0;-ms-flex:0;flex:0}.pinnable .content[data-v-82a5684e]{-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.pinnable .content[data-v-82a5684e],.pinnable[data-v-82a5684e]:not(.pinnable-scrolled){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal}.pinnable[data-v-82a5684e]:not(.pinnable-scrolled){-ms-flex-direction:column;flex-direction:column}.scrolled.disable-overscroll[data-v-82a5684e]{-ms-scroll-chaining:none;overscroll-behavior:none;height:100%}.titlebar[data-v-82a5684e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;padding:2px}.titlebar h2[data-v-82a5684e]{padding:0 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:1.2rem;color:#a24263;margin:0}.titlebar .ui-icon-button.pin[data-v-82a5684e]{color:#a24263;width:24px;height:24px;opacity:.65}.titlebar .ui-icon-button.pin svg[data-v-82a5684e]{-webkit-transform:rotate(35deg);transform:rotate(35deg)}.titlebar .ui-icon-button.pin.active[data-v-82a5684e]{opacity:1}.titlebar .ui-icon-button.pin.active svg[data-v-82a5684e]{-webkit-transform:rotate(20deg);transform:rotate(20deg)}.ui-textbox__input-wrapper[data-v-7af82180]{display:grid;grid-template-areas:"input up" "input down";grid-template-columns:1fr auto;position:relative}@media (pointer:coarse){.ui-textbox__input-wrapper[data-v-7af82180]{grid-template-areas:"down input up";grid-template-columns:auto 1fr auto}}.ui-textbox__input[data-v-7af82180]{grid-area:input;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:right;padding-right:.3em}.ui-number__button[data-v-7af82180]{opacity:.54;-webkit-transition:opacity .3s;transition:opacity .3s;height:auto;-ms-flex-item-align:stretch;align-self:stretch;width:1.5rem;min-width:0;padding:0;margin:0;border-radius:2px;position:relative}.ui-number__button.up[data-v-7af82180]{grid-area:up}.ui-number__button.down[data-v-7af82180]{grid-area:down}@media (pointer:coarse){.ui-number__button[data-v-7af82180]{width:34px;background:#d8d8d8;margin:2px}}.ui-number__button[data-v-7af82180] .ui-icon-button__icon svg{height:.7em;-webkit-transform:scale(1.5);transform:scale(1.5)}@media (pointer:coarse){.ui-number__button svg[data-v-7af82180]{height:.7em;-webkit-transform:scale(1.5,1.7);transform:scale(1.5,1.7)}}.ui-number:not(.is-disabled):hover .ui-number-button[data-v-7af82180]{opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s}.ui-color-picker[data-v-50a2c3f2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.ui-color-picker .swatch[data-v-50a2c3f2]{height:1.36rem;width:1.36rem;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;border-radius:5px}.ui-color-picker .ui-textbox[data-v-50a2c3f2]{-webkit-box-flex:1;-ms-flex:1;flex:1}.vc-sketch[data-v-50a2c3f2]{padding:8px;-webkit-box-shadow:none;box-shadow:none}[data-v-50a2c3f2] .vc-sketch-presets{padding:0;margin:0;margin-top:2px}[data-v-50a2c3f2] .vc-sketch-presets-color{margin:2px;height:1.52rem;width:1.52rem}[data-v-50a2c3f2] .vc-sketch-alpha-wrap,[data-v-50a2c3f2] .vc-sketch-hue-wrap{height:1.2rem}[data-v-50a2c3f2] .vc-alpha-picker,[data-v-50a2c3f2] .vc-hue-picker{height:calc(1.2rem - 2px)}[data-v-50a2c3f2] .vc-sketch-color-wrap{display:none}.settings[data-v-0712b6d0]{padding:0 10px;overflow-x:hidden;padding-bottom:2rem}.settings h3[data-v-0712b6d0]{margin-bottom:.3em}.row-check[data-v-0712b6d0]{min-height:2rem;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.row-check .ui-checkbox[data-v-0712b6d0]{margin:.1rem 0}.ui-radio-group.is-vertical[data-v-0712b6d0] .ui-radio-group__radios{padding-top:0;margin-bottom:.5rem}.checkbox-small.ui-checkbox[data-v-0712b6d0]{margin:0;font-size:1em;-ms-flex-item-align:center;align-self:center}.checkbox-small.ui-checkbox[data-v-0712b6d0] .ui-checkbox__checkmark{height:1rem;width:1rem;margin-top:.2rem}.checkbox-small.ui-checkbox[data-v-0712b6d0] .ui-checkbox__label-text{font-size:1em;margin-left:.15em}.locl-select__option[data-v-0712b6d0]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.locl-select__option .name[data-v-0712b6d0]{-webkit-box-flex:1;-ms-flex:1;flex:1}.locl-select__option .tag[data-v-0712b6d0]{margin-left:.25em;opacity:.6}.axis-label[data-v-0712b6d0]{min-width:5em;margin:5px 0}.notice[data-v-0712b6d0]{padding:.5em 0;opacity:.7;font-size:.85rem!important}.row[data-v-0712b6d0]{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.row.busy[data-v-0712b6d0]{padding-bottom:.1rem}.fontSizeUnitSelect[data-v-0712b6d0]{-webkit-box-flex:0!important;-ms-flex:0 0 3em!important;flex:0 0 3em!important}@media (max-width:1000px){.fontSizeUnitSelect[data-v-0712b6d0]{-webkit-box-flex:0!important;-ms-flex:0 0 2.5em!important;flex:0 0 2.5em!important}}.settings .row-select-header[data-v-0712b6d0]{margin-bottom:.15em}.row-select[data-v-0712b6d0]{margin-bottom:.75rem}.font-sample .font-sample-content{font-family:var(--selectedFontFamily),var(--fallbackFontFamily);font-weight:400;font-weight:var(--selectedFontCssWeight);white-space:pre-wrap}.font-sample .font-sample-content:focus{outline:none}.font-sample .font-sample-content .font-sample-content-inner:after{content:"\A0"}.font-sample .font-sample-content h1,.font-sample .font-sample-content h2,.font-sample .font-sample-content h3,.font-sample .font-sample-content h4,.font-sample .font-sample-content h5,.font-sample .font-sample-content h6{font-family:var(--selectedHeaderFontFamily),var(--fallbackFontFamily);font-weight:var(--selectedBoldFontCssWeight,700)}.font-sample .font-sample-content b,.font-sample .font-sample-content strong{font-family:var(--selectedBoldFontFamily),var(--fallbackFontFamily);font-weight:var(--selectedBoldFontCssWeight,700)}.font-sample .font-sample-content b em,.font-sample .font-sample-content strong em{font-family:var(--selectedBoldItalicFontFamily),var(--fallbackFontFamily);font-weight:300}.font-sample .font-sample-content em,.font-sample .font-sample-content i{font-family:var(--selectedItalicFontFamily),var(--fallbackFontFamily);font-weight:var(--selectedItalicFontCssWeight);font-style:normal}.font-sample .font-sample-content em b,.font-sample .font-sample-content em strong,.font-sample .font-sample-content i b,.font-sample .font-sample-content i strong{font-family:var(--selectedBoldItalicFontFamily),var(--fallbackFontFamily);font-weight:var(--selectedBoldItalicFontCssWeight)}.dark.ui-button[data-v-6bcea090],.dark.ui-fileupload[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button [data-v-6bcea090],.dark.ui-fileupload [data-v-6bcea090]{color:#fff}.dark.ui-button[data-v-6bcea090]:before,.dark.ui-fileupload[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display [data-v-6bcea090]{color:#fff}.dark.ui-select .ui-select__display[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button[data-v-6bcea090]{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display[data-v-6bcea090]{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button[data-v-6bcea090]{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display[data-v-6bcea090]{border-color:#ff4081}.description-tooltip[data-v-6bcea090]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;font-size:1rem;text-align:left}.btn[data-v-6bcea090]{border:0;background:transparent}.btn[data-v-6bcea090]:hover{background:hsla(0,0%,100%,.2)}.btn[data-v-6bcea090],.btn[data-v-6bcea090]:active{padding:0;min-width:unset;height:1.6em!important}.tags[data-v-6bcea090]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.tags span[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative;padding:2px 4px;margin:0 2px}.tags span [data-v-6bcea090]{color:#fff}.tags span[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.topic[data-v-6bcea090]{grid-area:topic}.btn[data-v-6bcea090]{grid-area:btn}.language[data-v-6bcea090]{grid-area:language;justify-self:flex-end}.language-codes[data-v-6bcea090]{grid-area:language-codes;justify-self:flex-end}.language-speakers[data-v-6bcea090]{grid-area:language-speakers;justify-self:flex-end}.tags[data-v-6bcea090]{grid-area:tags;-ms-flex-wrap:wrap;flex-wrap:wrap}.dark.ui-button,.dark.ui-fileupload{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button *,.dark.ui-fileupload *{color:#fff}.dark.ui-button:before,.dark.ui-fileupload:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display *{color:#fff}.dark.ui-select .ui-select__display:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display{border-color:#ff4081}.tester-body{font-size:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px 15px;min-height:100vh;padding-bottom:10rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto hidden;position:relative}.tester-body .font-sample{-webkit-box-flex:1;-ms-flex:1;flex:1}.tester-body .font-sample .font-sample-content-inner:after{content:"\A0"}.tester-body h1{margin:1.8rem 0 .6rem 0}.tester-body h2{margin:.9rem 0 .3rem 0}.tester-body h3{margin:.6rem 0 .2rem 0}.tester-body h4{margin:.45rem 0 .15rem 0}.tester-body h5{margin:.36rem 0 .12rem 0}.tester-body h6{margin:.3rem 0 .1rem 0}.tester-body p{margin:.4rem 0}.tester-body .sample-paragraph{position:relative}.tester-body .font-size-label{font-size:8px;font-family:Arial;position:absolute;right:100%;padding:0 2px;top:0;width:2em;text-align:right}.tester-body .header-flex{font-weight:400;font-style:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid currentColor;margin-top:1rem;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif!important;font-size:1rem;z-index:1;background:transparent!important;color:#fff!important;position:relative;padding:0 .5em;min-width:10em}@media (max-width:1000px){.tester-body .header-flex{gap:4px 0;padding:4px 8px}.tester-body .header-flex .language-codes,.tester-body .header-flex .language-speakers,.tester-body .header-flex .tags{display:none!important}.tester-body .header-flex .btn{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.tester-body .header-flex .language{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:right;font-weight:400}}.tester-body .header-flex *{color:#fff}.tester-body .header-flex:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.tester-body .header-flex code,.tester-body .header-flex h3{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.tester-body .header-flex h3{margin-top:0;margin-bottom:0}.tester-body .header-flex>*{margin:0;margin-right:1rem}.tester-body .header-flex .light{font-size:.9em;opacity:.5}.gotchas .desc,.gotchas .desc>*,.gotchas .header,.gotchas h3,.gotchas h4{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif!important}.gotchas .desc>* em,.gotchas .desc em,.gotchas .header em,.gotchas h3 em,.gotchas h4 em{font-style:italic}.gotchas .desc>* strong,.gotchas .desc strong,.gotchas .header strong,.gotchas h3 strong,.gotchas h4 strong{font-weight:700}.font-characters{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.font-characters>*{-webkit-box-flex:0;-ms-flex:0 0 1em;flex:0 0 1em;text-align:center}.font-characters>:hover{background:hsla(0,0%,100%,.4)}.language-list[data-v-1b3d2b4c]{overflow-y:auto;-webkit-box-flex:1;-ms-flex:1;flex:1}.language-item[data-v-1b3d2b4c]{display:-webkit-box;display:-ms-flexbox;display:flex}.language-item .language-link[data-v-1b3d2b4c]{margin-left:.4em}.language-item .language-link.disabled[data-v-1b3d2b4c]{text-decoration:none;color:unset}.language-item .language-link[data-v-1b3d2b4c]:focus{color:#ff4081}.language-item:not(.has-text) .language-link[data-v-1b3d2b4c]{color:#999;cursor:not-allowed}.ui-checkbox[data-v-1b3d2b4c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.row-filter[data-v-1b3d2b4c]{margin-bottom:.5em}.filter-textbox[data-v-1b3d2b4c]{margin-right:-20px}.filter-textbox .ui-textbox__content[data-v-1b3d2b4c]{padding-right:20px}.ui-icon-button.btn-clear[data-v-1b3d2b4c]{color:#eee;margin:2px;width:18px;height:18px;opacity:.8}.ui-icon-button.btn-clear[data-v-1b3d2b4c]:not(:hover):not(:focus){background:#aaa}.ui-icon-button.btn-clear svg[data-v-1b3d2b4c]{margin:1px;width:18px;height:18px}.scrolled[data-v-002f2e82]{padding-bottom:2em}.right[data-v-002f2e82]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-left:auto}.kerning-pattern[data-v-002f2e82]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.kerning-pattern[data-v-002f2e82]:hover{background:hsla(0,0%,66.7%,.2)}.kerning-pattern[data-v-002f2e82]:focus{border-bottom:2px solid #ff4081}.kerning-pattern.selected[data-v-002f2e82]{font-weight:700;background:rgba(255,64,129,.2);border-radius:4px}.kerning-pattern>.ui-checkbox[data-v-002f2e82]{margin:0 .5rem 0 0}.kerning-pattern>.link[data-v-002f2e82]{color:#416bc5;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration:none;min-width:0}.kerning-pattern>.link[data-v-002f2e82]:hover{color:#1245b3;cursor:pointer}.kerning-pattern>.link>[data-v-002f2e82]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kerning-pattern[data-v-002f2e82]>:not(:last-child){margin-right:.5rem}#add-pattern-btn-wrapper[data-v-002f2e82]{outline:none;display:-webkit-box;display:-ms-flexbox;display:flex}#add-pattern-btn-wrapper .ui-button[data-v-002f2e82]{-webkit-box-flex:1;-ms-flex:1;flex:1}.info-bar[data-v-704de156]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.info-bar[data-v-704de156]>:not(:first-child){margin-left:1rem}.info-bar[data-v-704de156]>:last-child{margin-left:auto}.info-bar label[data-v-704de156]{color:grey;font-size:.85em}header[data-v-704de156]{text-transform:uppercase;font-weight:700;font-size:.8em;color:#888;margin-top:1em}p[data-v-704de156]{margin:.3em 0}.language-button.ui-button[data-v-f2446db8]{padding-left:.2em;padding-right:.2em;border-radius:2px;font-weight:500;text-transform:none}.language-button.ui-button[data-v-f2446db8] .ui-button__content>*{margin:0 .2em}.goals[data-v-f2446db8]{opacity:.45}.gotcha-warning-icon[data-v-f2446db8]{border-radius:50%;color:#eee;opacity:.75;font-weight:700;width:1.2em;height:1.2em;line-height:1.2}.character-info .character-font-preview[data-v-42b34de5]{font-size:6rem;text-align:center;font-family:var(--selectedFontFamily)}.character-info .info-bar[data-v-42b34de5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.character-info .info-bar>[data-v-42b34de5]{margin-right:1rem}.character-info .info-bar[data-v-42b34de5] :last-child{margin-left:auto}.character-panel[data-v-6c85dae4]{padding-top:1rem}.character-panel h4[data-v-6c85dae4]{margin:.7em 0 .3em}.character-panel h4[data-v-6c85dae4]:after{content:":"}.language-support-summary{margin-bottom:1.5rem;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:650px){.language-support-summary{-ms-flex-wrap:wrap;flex-wrap:wrap}}.language-support-summary .font-sample{background:transparent!important;color:#000!important}.language-support-summary .main-column{padding:1rem}.language-support-summary .sidebar{background:transparent!important;--backgroundColor:transparent;padding:1rem;-webkit-box-flex:1;-ms-flex:1 0 40%;flex:1 0 40%}@media (min-width:650.02px){.language-support-summary .sidebar{height:100%}}@media (max-width:650px){.language-support-summary .sidebar.pinnable{max-height:unset}}@media (min-width:650.02px){.language-support-summary .sidebar .language-character-sidebar{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}.language-support-summary .sidebar .language-character-sidebar>:first-child{margin-bottom:1.5em}.language-support-summary .sidebar .language-character-sidebar>*{border-radius:.8em;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;overflow-y:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#fff!important;padding:1em;padding-right:.1em}.language-support-summary .sidebar .language-character-sidebar>* .character-panel,.language-support-summary .sidebar .language-character-sidebar>* .language-panel{margin-right:1em}.language-support-summary .sidebar .language-character-sidebar>*>:not(.placeholder-info){height:100%}.language-support-summary .ui-button{border-radius:0;margin:1px}.language-support-summary .ui-tooltip,.language-support-summary .ui-tooltip-theme{font-size:1.1rem;text-align:left;background:#fff;color:#000}.language-support-summary .ui-tooltip-theme{-webkit-box-shadow:0 0 6px #aaa;box-shadow:0 0 6px #aaa}.language-support-summary .glyph{border:0;display:inline-block;background:#ddd;text-align:center;margin:1px;min-width:1.5em;line-height:1.5em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.language-support-summary .glyph:focus,.language-support-summary .glyph:hover{cursor:default;background-image:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.5)),to(hsla(0,0%,100%,.5)));background-image:linear-gradient(hsla(0,0%,100%,.5),hsla(0,0%,100%,.5))}.language-support-summary h2,.language-support-summary h3{margin:1.5em 0 .5em!important}.language-support-summary h3{margin:.5em 0!important}.language-support-summary .ui-select.inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin:0 .25em}.language-support-summary .ui-select.inline .ui-select__display,.language-support-summary .ui-select.inline ui-select__display-value{font-size:1em;min-width:10em}.language-support-summary .support-0{background:#92beff;color:#000;font-weight:500;text-transform:none}.language-support-summary .support-1{background:#a5c5f9;color:#091824;font-weight:500;text-transform:none}.language-support-summary .support-2{background:#b8cdf4;color:#123048;font-weight:500;text-transform:none}.language-support-summary .support-3{background:#cad4ee;color:#1c486c;font-weight:500;text-transform:none}.language-support-summary .support-4{background:#dddce9;color:#256090;font-weight:500;text-transform:none}.language-support-summary .support-5{background:#f0e3e3;color:#2e78b4;font-weight:500;text-transform:none}.language-support-summary .support-full{background:#9ce2a2;color:#000}.language-support-summary .support-0{background:#d0df90;color:#501111}.language-support-summary .support-1{background:#dfdb90;color:#400e0e}.language-support-summary .support-2{background:#dfc890;color:#300a0a}.language-support-summary .support-3{background:#dfb690;color:#200707}.language-support-summary .support-4{background:#dfa390;color:#100303}.language-support-summary .support-5{background:#df9090;color:#000}.language-support-summary .needed-0{background:#9ce2a2;color:#000}.language-support-summary .needed-1{background:#96e9dc;color:#400e0e}.language-support-summary .needed-2{background:#99eae8;color:#300a0a}.language-support-summary .needed-3{background:#9ce1eb;color:#200707}.language-support-summary .needed-4{background:#9fd7eb;color:#100303}.language-support-summary .needed-5{background:#a2ceec;color:#000}.placeholder-info{text-align:center;font-variant-caps:small-caps;color:#aaa}.editable-list-item[data-v-69007cc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.editable-list-item .ui-button[data-v-69007cc0]{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:2px 0}.editable-list-item[data-v-69007cc0]>:last-child{margin-left:.25em}.keyframes[data-v-0dcbafa4]{margin:8px 0}.keyframe[data-v-0dcbafa4]{text-transform:none;font-weight:400;padding:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.keyframe.ui-button[data-v-0dcbafa4]{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:2px 0}.keyframe[data-v-0dcbafa4] .ui-button__content{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.keyframe[data-v-0dcbafa4] .ui-button__content .label{z-index:1}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear{position:absolute;height:105%}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear.ui-progress-linear--color-primary{background:transparent!important}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear.ui-progress-linear--color-primary .ui-progress-linear__progress-bar{background:rgba(255,64,129,.2)!important;height:100%}.keyframe.active[data-v-0dcbafa4]{margin-left:4px;font-weight:700;border-color:rgba(255,64,129,.65)!important;position:relative}.keyframe.active[data-v-0dcbafa4]:after,.keyframe.active[data-v-0dcbafa4]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.keyframe.active[data-v-0dcbafa4]:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:solid;border-width:.85rem .765rem;border-color:transparent transparent transparent #ff4081}.ui-button[data-v-0dcbafa4]{min-width:4rem}.toolbar[data-v-1ab2b246]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.animation-editor[data-v-1ab2b246],.nav-links[data-v-1ab2b246]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.font-tester[data-v-64e504be]{min-height:100vh;z-index:0}.font-tester .font-tester-content[data-v-64e504be],.font-tester[data-v-64e504be]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.font-tester .font-tester-content[data-v-64e504be]{height:100%;width:100vw;max-width:100%;padding-bottom:12vh}.site-sidebar[data-v-64e504be]{z-index:4;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.sidebar-settings[data-v-64e504be]{width:260px}@media (min-width:1000px){.sidebar-settings[data-v-64e504be]{width:220px}}@media (min-width:1600px){.sidebar-settings[data-v-64e504be]{width:260px}}.sidebar-nav[data-v-64e504be]{width:210px}.sidebar-nav[data-v-64e504be]:not(.pinned){right:17px} \ No newline at end of file diff --git a/css/app.419635f2.css b/css/app.419635f2.css new file mode 100644 index 0000000..fa4b215 --- /dev/null +++ b/css/app.419635f2.css @@ -0,0 +1 @@ +@font-face{font-family:Iosevka SS09 Web;font-weight:400;font-style:normal;src:url(../fonts/iosevka-ss09-regular.2c6eec11.woff2) format("woff2"),url(../fonts/iosevka-ss09-regular.2aa43563.woff) format("woff"),url(../fonts/iosevka-ss09-regular.90349d65.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:400;font-style:italic;src:url(../fonts/iosevka-ss09-italic.4a1af94e.woff2) format("woff2"),url(../fonts/iosevka-ss09-italic.88f83720.woff) format("woff"),url(../fonts/iosevka-ss09-italic.47899172.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:700;font-style:normal;src:url(../fonts/iosevka-ss09-bold.7f360c90.woff2) format("woff2"),url(../fonts/iosevka-ss09-bold.d1c391ea.woff) format("woff"),url(../fonts/iosevka-ss09-bold.5505bbaf.ttf) format("truetype")}@font-face{font-family:Iosevka SS09 Web;font-weight:700;font-style:italic;src:url(../fonts/iosevka-ss09-bolditalic.ba491ead.woff2) format("woff2"),url(../fonts/iosevka-ss09-bolditalic.cf407df0.woff) format("woff"),url(../fonts/iosevka-ss09-bolditalic.8707d0dd.ttf) format("truetype")}@font-face{src:url(../fonts/Rywalka-Regular.cce2918c.ttf);font-family:Rywalka Bulletproof;font-weight:400;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Regular.9d1302b1.eot),url(../fonts/AlegreyaSans-Regular.c8891608.woff2),url(../fonts/AlegreyaSans-Regular.0f009e54.woff),url(../fonts/AlegreyaSans-Regular.7d58493c.ttf);font-family:Alegreya Bulletproof;font-weight:400;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Italic.53b72361.eot),url(../fonts/AlegreyaSans-Italic.244ebb23.woff2),url(../fonts/AlegreyaSans-Italic.7dafa911.woff),url(../fonts/AlegreyaSans-Italic.d3c9f816.ttf);font-family:Alegreya Bulletproof;font-weight:400;font-style:italic;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Medium.f74b7767.eot),url(../fonts/AlegreyaSans-Medium.d86bbf2e.woff2),url(../fonts/AlegreyaSans-Medium.aac16b36.woff),url(../fonts/AlegreyaSans-Medium.c51e6c6d.ttf);font-family:Alegreya Bulletproof;font-weight:500;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-Bold.a98656d0.eot),url(../fonts/AlegreyaSans-Bold.be0fb9b3.woff2),url(../fonts/AlegreyaSans-Bold.7bfb8dcc.woff),url(../fonts/AlegreyaSans-Bold.c254570e.ttf);font-family:Alegreya Bulletproof;font-weight:700;font-style:normal;font-display:swap}@font-face{src:url(../fonts/AlegreyaSans-ExtraBold.8605ff08.eot),url(../fonts/AlegreyaSans-ExtraBold.91881dc4.woff2),url(../fonts/AlegreyaSans-ExtraBold.52d1d7ca.woff),url(../fonts/AlegreyaSans-ExtraBold.5d9b7c0c.ttf);font-family:Alegreya Bulletproof;font-weight:800;font-style:normal;font-display:swap}.app *,.app .ui-select__display,.app .ui-textbox__input,.app :after,.app :before{-webkit-box-sizing:border-box;box-sizing:border-box}.app .ui-select__display,.app .ui-textbox__input{border-bottom-width:2px!important;max-height:46px;overflow:hidden}.app .ui-textbox.is-multi-line{background:#fff}.app .ui-select__display-value{max-height:2.5em;overflow:hidden}.app .ui-select__dropdown-button{-ms-flex-item-align:center;align-self:center}.app .ui-textbox__input{max-height:2.5em}.app .ui-textbox__label{height:1.7rem!important}.app .ui-select .ui-icon svg{-webkit-transform:scale(1.1,1.25);transform:scale(1.1,1.25)}.app .ui-select .ui-select__content{max-width:100%}.app .ui-select .ui-select__content .ui-select__display-value{overflow:hidden;text-overflow:ellipsis}.app .ui-select:not(.is-multiple) .ui-select__content .ui-select__display{line-height:unset}.app [x-placement=top-start]{-webkit-transform:translateY(8px);transform:translateY(8px)}.app .ui-checkbox:hover .ui-checkbox__label-text,.app .ui-checkbox__input:focus~.ui-checkbox__label-text{border-bottom:2px solid #ff4081;margin-bottom:-2px}.app .ui-checkbox__label-text,.app .ui-radio__label-text{margin-left:.25rem!important}.app .ui-radio-group.is-vertical .ui-radio-group__radio{margin-bottom:2px!important}.app .ui-button,.app .ui-fileupload{height:1.7rem!important}.app .font-select-popover .font-select:not(:last-child){margin-bottom:.5rem}.app .font-select .ui-select__label-text{font-size:.85rem!important}.app .ui-select:not(.is-multiple) .ui-select__display{height:unset!important}.app .ui-icon-button{-ms-flex-negative:0!important;flex-shrink:0!important}.app .ui-icon-button:focus:not(:hover){border-color:#ff4081}.app .ui-icon-button--color-primary:focus:not(:hover){background:#ff8cb3;border:2px solid #ff4081}.app .ui-icon-button--size-small{-ms-flex-item-align:center;align-self:center;width:24px;height:24px;margin:2px 0}.app .ui-icon-button--size-small--color-default{color:rgba(36,31,30,.8)}.app .ui-icon-button--size-small--color-primary{color:#eee}.app .ui-icon-button--size-small svg{width:24px;height:24px;margin:-10px}.app .ui-button--type-primary.ui-button--color-default:not(.has-dropdown-open).border,.app .ui-button--type-primary.ui-button--color-default:not(:hover).border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:not(.has-dropdown-open).border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:not(:hover).border{border:2px solid #bdbdbd}.app .ui-button--type-primary.ui-button--color-default.has-dropdown-open.border,.app .ui-button--type-primary.ui-button--color-default:focus.border,.app .ui-icon-button--type-primary.ui-icon-button--color-default.has-dropdown-open.border,.app .ui-icon-button--type-primary.ui-icon-button--color-default:focus.border{border:2px solid #ff4081}.ui-select-option kbd{margin-right:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ui-button.tiny{padding:0 .4em;opacity:.7;color:#241f1e;-webkit-box-flex:0!important;-ms-flex:0 1 auto!important;flex:0 1 auto!important}.vb{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.vb.vb-visible>.vb-content{padding-right:17px;-webkit-box-sizing:border-box!important;box-sizing:border-box!important}.vb>.vb-dragger{z-index:5;right:0}.vb>.vb-dragger>.vb-dragger-styler{background-clip:padding-box;background:#d7c1c4;background:#7c0f1d;opacity:.7;margin:2px 2px 2px 3px;border-radius:4px;height:calc(100% - 10px);display:block}.vb.vb-visible:after{content:"";display:block;position:absolute;top:0;height:100%;right:0;width:17px}.vb.vb-visible>.vb-dragger>.vb-dragger-styler{width:12px;-webkit-box-sizing:border-box;box-sizing:border-box;border:3px solid;border-color:#a91528 #a91528 #4f0912 #4f0912}.fade-enter-active,.fade-leave-active{-webkit-transition:all .3s;transition:all .3s}.fade-enter,.fade-leave-to{opacity:0!important}.fade-move{-webkit-transition:all .3s;transition:all .3s}.fade-transition-group{position:relative}.fade-transition-group>.fade-leave-active{position:absolute;width:100%}.fade-slow-enter-active,.fade-slow-reverse-enter-active{-webkit-transition:opacity .3s;transition:opacity .3s}.fade-slow-leave-active,.fade-slow-reverse-leave-active{-webkit-transition:opacity 1.5s .45s;transition:opacity 1.5s .45s}.fade-slow-enter,.fade-slow-leave-to,.fade-slow-reverse-enter,.fade-slow-reverse-leave-to{opacity:0}.fade-slow-reverse-enter-active{-webkit-transition:opacity 1.5s .45s;transition:opacity 1.5s .45s}.fade-slow-reverse-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.swap-enter-active,.swap-leave-active{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s}.swap-enter,.swap-leave-to{opacity:0;width:210px;-webkit-transform:translateX(60%);transform:translateX(60%)}.transition-wrapper{position:relative;height:100%;width:100%}.transition-wrapper>.fade-leave-active,.transition-wrapper>.swap-leave-active{position:absolute}.contextual-sidebar{padding:0 10px;padding-right:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}.contextual-sidebar,.contextual-sidebar .toolbar{display:-webkit-box;display:-ms-flexbox;display:flex}.contextual-sidebar .toolbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 -2px}.contextual-sidebar .toolbar>*{margin-right:2px;margin-left:2px}.contextual-sidebar.btn-group,.contextual-sidebar .btn-group{margin:4px 0}.contextual-sidebar.btn-group .ui-button,.contextual-sidebar .btn-group .ui-button,.contextual-sidebar.btn-group .ui-icon-button,.contextual-sidebar .btn-group .ui-icon-button{border:2px solid rgba(0,0,0,.12);height:1.75rem;border-radius:8px;margin:0 2px}.contextual-sidebar.btn-group .ui-button:focus,.contextual-sidebar .btn-group .ui-button:focus,.contextual-sidebar.btn-group .ui-icon-button:focus,.contextual-sidebar .btn-group .ui-icon-button:focus{border-color:#ff4081}.contextual-sidebar.btn-group .ui-button.ui-icon-button--color-primary,.contextual-sidebar .btn-group .ui-button.ui-icon-button--color-primary,.contextual-sidebar.btn-group .ui-button:focus,.contextual-sidebar .btn-group .ui-button:focus,.contextual-sidebar.btn-group .ui-button:hover,.contextual-sidebar .btn-group .ui-button:hover,.contextual-sidebar.btn-group .ui-icon-button.ui-icon-button--color-primary,.contextual-sidebar .btn-group .ui-icon-button.ui-icon-button--color-primary,.contextual-sidebar.btn-group .ui-icon-button:focus,.contextual-sidebar .btn-group .ui-icon-button:focus,.contextual-sidebar.btn-group .ui-icon-button:hover,.contextual-sidebar .btn-group .ui-icon-button:hover{z-index:1}.contextual-sidebar.btn-group .ui-button,.contextual-sidebar .btn-group .ui-button,.contextual-sidebar.btn-group .ui-icon-button,.contextual-sidebar .btn-group .ui-icon-button{border-radius:0;margin:0 -1px}.contextual-sidebar.btn-group .ui-button:hover,.contextual-sidebar .btn-group .ui-button:hover,.contextual-sidebar.btn-group .ui-icon-button:hover,.contextual-sidebar .btn-group .ui-icon-button:hover{border-color:rgba(0,0,0,.3);z-index:1}.contextual-sidebar.btn-group .ui-button:first-child,.contextual-sidebar .btn-group .ui-button:first-child,.contextual-sidebar.btn-group .ui-icon-button:first-child,.contextual-sidebar .btn-group .ui-icon-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.contextual-sidebar.btn-group .ui-button:last-child,.contextual-sidebar .btn-group .ui-button:last-child,.contextual-sidebar.btn-group .ui-icon-button:last-child,.contextual-sidebar .btn-group .ui-icon-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.contextual-sidebar .panel{padding:4px}.contextual-sidebar .heading-link{margin-left:18px;display:block;position:relative}.contextual-sidebar .heading-link:after,.contextual-sidebar .heading-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.contextual-sidebar .heading-link:before{left:-1.25em;width:18px;height:18px;background:url(../img/link.4b7cfc01.svg);background-size:18px 18px}.contextual-sidebar .heading-link:hover:before{-webkit-transform:scale(1.1);transform:scale(1.1)}.row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.row .ui-button{margin:5px 0}.row h3{-ms-flex-item-align:center;align-self:center;margin:2px 0}.row>*{margin:0 .2em 2px}.row>:first-child{margin-left:0}.row>:last-child{margin-right:0}.row-label{margin-right:.3em;min-width:4em}.row>[class^=ui]:not(.ui-icon-button):not(.ui-checkbox),.row>h3{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.row-label,.ui-checkbox__label-text,.ui-radio__label-text{opacity:.7;font-size:.85rem!important}.row .const1ch{-ms-flex:0.1 1 1ch;flex:0.1 1 1ch;min-width:1ch}.row .const1ch,.row .const2ch{display:block;-webkit-box-flex:0.1}.row .const2ch{-ms-flex:0.1 1 2ch;flex:0.1 1 2ch;min-width:2ch}.row .const3ch{-ms-flex:0.1 1 3ch;flex:0.1 1 3ch;min-width:3ch}.row .const3ch,.row .const4ch{display:block;-webkit-box-flex:0.1}.row .const4ch{-ms-flex:0.1 1 4ch;flex:0.1 1 4ch;min-width:4ch}.row .const5ch{-ms-flex:0.1 1 5ch;flex:0.1 1 5ch;min-width:5ch}.row .const5ch,.row .const6ch{display:block;-webkit-box-flex:0.1}.row .const6ch{-ms-flex:0.1 1 6ch;flex:0.1 1 6ch;min-width:6ch}.row .const7ch{-ms-flex:0.1 1 7ch;flex:0.1 1 7ch;min-width:7ch}.row .const7ch,.row .const8ch{display:block;-webkit-box-flex:0.1}.row .const8ch{-ms-flex:0.1 1 8ch;flex:0.1 1 8ch;min-width:8ch}.row .const9ch{-ms-flex:0.1 1 9ch;flex:0.1 1 9ch;min-width:9ch}.row .const9ch,.row .const10ch{display:block;-webkit-box-flex:0.1}.row .const10ch{-ms-flex:0.1 1 10ch;flex:0.1 1 10ch;min-width:10ch}.row .const11ch{-ms-flex:0.1 1 11ch;flex:0.1 1 11ch;min-width:11ch}.row .const11ch,.row .const12ch{display:block;-webkit-box-flex:0.1}.row .const12ch{-ms-flex:0.1 1 12ch;flex:0.1 1 12ch;min-width:12ch}.row .const13ch{-ms-flex:0.1 1 13ch;flex:0.1 1 13ch;min-width:13ch}.row .const13ch,.row .const14ch{display:block;-webkit-box-flex:0.1}.row .const14ch{-ms-flex:0.1 1 14ch;flex:0.1 1 14ch;min-width:14ch}.row .const15ch{-ms-flex:0.1 1 15ch;flex:0.1 1 15ch;min-width:15ch}.row .const15ch,.row .const16ch{display:block;-webkit-box-flex:0.1}.row .const16ch{-ms-flex:0.1 1 16ch;flex:0.1 1 16ch;min-width:16ch}.row .const17ch{-ms-flex:0.1 1 17ch;flex:0.1 1 17ch;min-width:17ch}.row .const17ch,.row .const18ch{display:block;-webkit-box-flex:0.1}.row .const18ch{-ms-flex:0.1 1 18ch;flex:0.1 1 18ch;min-width:18ch}.row .const19ch{-ms-flex:0.1 1 19ch;flex:0.1 1 19ch;min-width:19ch}.row .const19ch,.row .const20ch{display:block;-webkit-box-flex:0.1}.row .const20ch{-ms-flex:0.1 1 20ch;flex:0.1 1 20ch;min-width:20ch}.row .const21ch{-ms-flex:0.1 1 21ch;flex:0.1 1 21ch;min-width:21ch}.row .const21ch,.row .const22ch{display:block;-webkit-box-flex:0.1}.row .const22ch{-ms-flex:0.1 1 22ch;flex:0.1 1 22ch;min-width:22ch}.row .const23ch{-ms-flex:0.1 1 23ch;flex:0.1 1 23ch;min-width:23ch}.row .const23ch,.row .const24ch{display:block;-webkit-box-flex:0.1}.row .const24ch{-ms-flex:0.1 1 24ch;flex:0.1 1 24ch;min-width:24ch}.row .const25ch{-ms-flex:0.1 1 25ch;flex:0.1 1 25ch;min-width:25ch}.row .const25ch,.row .const26ch{display:block;-webkit-box-flex:0.1}.row .const26ch{-ms-flex:0.1 1 26ch;flex:0.1 1 26ch;min-width:26ch}.row .const27ch{-ms-flex:0.1 1 27ch;flex:0.1 1 27ch;min-width:27ch}.row .const27ch,.row .const28ch{display:block;-webkit-box-flex:0.1}.row .const28ch{-ms-flex:0.1 1 28ch;flex:0.1 1 28ch;min-width:28ch}.row .const29ch{display:block;-webkit-box-flex:0.1;-ms-flex:0.1 1 29ch;flex:0.1 1 29ch;min-width:29ch}.mask{mask-type:alpha}html{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:100%;overflow:hidden}*{font-variant-numeric:lining-nums}code,kbd,pre,samp{font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;font-size:13px}h3{margin:4px 0 0 0;font-size:1em}.reading{max-width:700px;margin:40px auto;font-size:1.35em;line-height:1.45}@media (max-width:800px){.reading{font-size:1.1em}}.reading h2{margin:1.2em 0 .6em}.reading code,.reading pre{background:#ffc6d9;padding:4px 6px;border-radius:4px;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;max-width:100%}.reading pre code{white-space:pre-wrap}body{margin:0}a{color:#416bc5}a:hover{color:#1245b3}.accent{background:#7c0f1d;color:#fff}.accent a,.accent a:hover{color:unset}.github-icon-link,.github-link,.u-dark a{color:#661a34;-webkit-transition:color .3s;transition:color .3s}.github-icon-link:hover,.github-link:hover,.u-dark a:hover{color:#cc3367}.u-dark a{color:#ff4081;text-decoration:none}.u-dark a:hover{color:#ff96ba;text-decoration:underline}.u-flex-v{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.help-link,.u-flex-v{display:-webkit-box;display:-ms-flexbox;display:flex}.help-link{margin:0 2px;text-decoration:none;font-size:.9em;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#416bc5}.help-link:hover{color:#1245b3}.help-link>.help-icon{-webkit-box-flex:unset;-ms-flex:unset;flex:unset;margin-right:.15em}.help-topic{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin-bottom:150px;padding:0 7.5vw}.help-topic .help{max-width:100%}@media (min-width:1000px){.help-topic .help{-webkit-box-flex:1;-ms-flex:1 1 60%;flex:1 1 60%;margin:0 40px 0 6rem}}.help-topic .help .reading{margin-right:0}.help-topic .example{width:300px;-webkit-box-flex:0;-ms-flex:0 1 30%;flex:0 1 30%;-ms-flex-item-align:start;align-self:flex-start;margin:0 40px;padding:20px 0;position:sticky;top:64px}@media (max-width:1000px){.help-topic .example{display:none}}@media screen and (max-width:920px){.help-topic .example{top:64px}}.help-topic .help-heading{position:relative}.help-topic .help-heading .router-link-active{color:#bbb;text-decoration:none;white-space:pre}@media (max-width:1000px){.help-topic .help-heading .router-link-active{display:block}}@media (min-width:1000.02px){.help-topic .help-heading .router-link-active{position:absolute;right:100%}}.help-topic .help-heading .router-link-active:hover{color:#416bc5}.app{background:#eee;color:#241f1e;height:100vh;overflow-y:hidden}.app .app-content{height:100%;overflow:auto}.app-content{scroll-padding-top:84px}@media screen and (max-width:920px){.app-content{scroll-padding-top:84px}}.site-content{min-height:100vh}.shade{z-index:20;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;background:#fff;-webkit-animation:shade-fade-out .3s .3s forwards;animation:shade-fade-out .3s .3s forwards}@-webkit-keyframes shade-fade-out{0%{opacity:1}to{opacity:0}}@keyframes shade-fade-out{0%{opacity:1}to{opacity:0}}.ui-select{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0;outline:none;position:relative}.ui-select:hover:not(.is-disabled) .ui-select__label-text{color:rgba(0,0,0,.75)}.ui-select:hover:not(.is-disabled) .ui-select__display{border-bottom-color:rgba(0,0,0,.3)}.ui-select:hover:not(.is-disabled) .ui-select__dropdown-button{color:rgba(0,0,0,.87)}.ui-select.is-active:not(.is-disabled).is-focused .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled).is-focused .ui-select__label-text,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__label-text,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__label-text{color:#ff4081}.ui-select.is-active:not(.is-disabled).is-focused .ui-select__display,.ui-select.is-active:not(.is-disabled) .ui-select__label.has-dropdown-open .ui-select__display,.ui-select.is-active:not(.is-disabled) .ui-select__label:focus .ui-select__display{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-select.has-floating-label .ui-select__label-text{display:table}.ui-select.has-floating-label .ui-select__label-text.is-inline{color:rgba(0,0,0,.54);cursor:pointer;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-select.has-floating-label .ui-select__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-select.has-label .ui-select__icon-wrapper{padding-top:1.5rem}.ui-select.has-label .ui-select__dropdown-button{top:1.6875rem}.ui-select:not(.is-multiple) .ui-select__display{height:1.7rem;line-height:1}.ui-select.is-multiple .ui-select__display{line-height:1.4;padding-bottom:.25rem;padding-top:.25rem}.ui-select.is-invalid:not(.is-disabled) .ui-select__display .ui-select__display-value{text-decoration:line-through;opacity:.6}.ui-select.is-disabled .ui-select__display{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38);cursor:default}.ui-select.is-disabled .ui-select__display-value.is-placeholder,.ui-select.is-disabled .ui-select__dropdown-button{color:rgba(0,0,0,.38);opacity:.6}.ui-select.is-disabled .ui-select__icon-wrapper .ui-icon{opacity:.6}.ui-select.is-disabled .ui-select__feedback{opacity:.8}.ui-select__label{display:block;margin:0;outline:none;padding:0;width:100%}.ui-select__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-select__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-select__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-select__display{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;color:rgba(0,0,0,.87);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:1rem;font-weight:400;min-height:1.7rem;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.ui-select__display:after{content:"\a0"}.ui-select__display-value{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;background:transparent;border:0;font-family:inherit;font-size:inherit;outline:none}.ui-select__display-value.is-placeholder{color:rgba(0,0,0,.38);opacity:1}.ui-select__dropdown-button{color:rgba(0,0,0,.54);font-size:1.125rem;margin-left:auto;margin-right:-.25rem}.ui-select__dropdown{display:block;list-style-type:none;margin:0;margin-bottom:.5rem;min-width:11.25rem;outline:none;padding:0;width:100%}.ui-select__dropdown-content{outline:none}.ui-select__search-input{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;font-family:inherit;font-size:.9375rem;font-weight:400;height:1.95rem;outline:none;padding:0 .75rem;padding-left:2.5rem;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-select__search-input::-ms-clear{display:none}.ui-select__search-input:focus+.ui-select__search-icon{color:#ff4081}.ui-select__search .ui-select__search-icon,.ui-select__search .ui-select__search-progress{position:absolute;top:.5rem}.ui-select__search-icon{color:rgba(0,0,0,.54);font-size:1.25rem;left:.75rem}.ui-select__search-progress{right:.75rem}.ui-select__options{background-color:#fff;color:rgba(0,0,0,.87);display:block;list-style-type:none;margin:0;max-height:16rem;min-width:100%;overflow-y:auto;padding:0;position:relative}.ui-select__no-results{color:rgba(0,0,0,.54);font-size:.875rem;padding:.5rem .75rem;width:100%}.ui-select__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-select--icon-position-right .ui-select__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tippy-iOS{cursor:pointer!important;-webkit-tap-highlight-color:transparent}.tippy-popper{max-height:100%;max-width:100%;outline:0;pointer-events:none;-webkit-transition-timing-function:cubic-bezier(.165,.84,.44,1);transition-timing-function:cubic-bezier(.165,.84,.44,1);z-index:60}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0;-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px) scale(.5);transform:translateY(-10px) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%;-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px) scale(.5);transform:translateY(10px) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px) scale(.5);transform:translateX(-10px) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0;-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px) scale(.5);transform:translateX(10px) scale(.5)}.tippy-tooltip{position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-backdrop{position:absolute;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;-webkit-transition:all cubic-bezier(.46,.1,.52,.98);transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{-webkit-transition-property:opacity;transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}.ui-tooltip-theme{border-radius:.125rem;color:#fff;font-size:.8125rem;line-height:1.4;padding:.3rem .5rem;text-align:center}.ui-tooltip-theme,.ui-tooltip-theme .tippy-backdrop{background-color:rgba(33,33,33,.9)}.fit-me[data-v-1f5793db]{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.font-select__dropdown{width:250px!important}.font-select__dropdown .ui-select-option>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.font-select__dropdown .ui-select-option>div>:not(:last-child){margin-right:.3ch}.font-select__dropdown .ui-select-option>div .col{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.font-select__dropdown .ui-select-option>div .col:nth-child(2){-webkit-box-flex:1;-ms-flex:1;flex:1}.font-select__dropdown .ui-select-option>div .col>:not(:last-child){margin-right:.3ch}.font-select__dropdown .ui-select-option>div .col.col-sample{margin-left:-.5em;margin-right:.45em;width:1.75rem;height:1.5rem;line-height:.85}.font-select__dropdown .ui-select-option>div .col.col-sample.icon-add{font-size:28px;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;place-content:center;margin:0;padding-bottom:.1em;-webkit-box-sizing:border-box;box-sizing:border-box}.font-select__dropdown .ui-select-option>div .col .font-style{opacity:.6}.font-select__dropdown .ui-select-option>div .col .font-version{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right}.file-drop[data-v-b51bf0cc]{z-index:1;position:fixed;top:0;bottom:0;left:0;right:0;height:100vh;background:hsla(0,0%,93.3%,.5);-webkit-box-shadow:inset 0 0 20vh #eee;box-shadow:inset 0 0 20vh #eee;-webkit-transition:opacity .3s;transition:opacity .3s}.file-drop.hidden[data-v-b51bf0cc]{-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0;pointer-events:none}.font-loader{-webkit-box-flex:1;-ms-flex:1 1 12em;flex:1 1 12em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.font-loader .font-loader-item{margin:0 2px}.font-loader .font-select{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;width:12em}.font-loader .font-select .ui-select__display-value{white-space:nowrap}.font-loader .ui-fileupload{padding:4px;min-width:0}.font-loader .ui-fileupload .ui-fileupload__icon{margin-right:0}.font-loader .ui-fileupload .ui-fileupload__display-text{display:none!important}.font-loader .font-select{margin-bottom:0}.font-loader .font-select .ui-select__display{padding:2px 8px;border-radius:3px}@media (max-width:1400px){.font-loader{display:grid;gap:3px;grid-template-columns:repeat(4,1fr)}.font-loader .font-loader-item{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.font-loader .font-loader-item>*{width:100%}.font-loader .font-select{width:100%;grid-column-end:span 3}}.font-select-popover{padding:8px;width:calc(24em + 16px)}.font-select-menu{display:grid;grid-template-columns:1fr 1fr}.bi-button{min-width:unset;text-transform:none;font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;padding:0 6px}.bi-button b{margin-right:.2em}.bi-button,.ui-fileupload{border-radius:3px;border-bottom:2px solid #b06f77}.bi-button:hover,.ui-fileupload:hover{border-color:#cb9fa5}.font-loading-progress{position:fixed;top:50%;left:30%;right:30%;width:40%;height:1rem}.font-loading-progress .ui-progress-linear__progress-bar{height:100%}.overlay{z-index:1;position:fixed;top:0;bottom:0;left:0;right:0;background:hsla(0,0%,93.3%,.8);-webkit-box-shadow:inset 0 0 20vh #eee;box-shadow:inset 0 0 20vh #eee;-webkit-transition:opacity .5s;transition:opacity .5s}.ui-modal .ui-focus-container.ui-modal__container{top:2em;bottom:2em;max-height:calc(100vh - 4em)}.ui-modal .ui-button{margin-top:1rem;margin-left:auto;margin-right:0}.add-font-modal-body .align-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.dark.ui-button[data-v-4f310594],.dark.ui-fileupload[data-v-4f310594]{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button [data-v-4f310594],.dark.ui-fileupload [data-v-4f310594]{color:#fff}.dark.ui-button[data-v-4f310594]:before,.dark.ui-fileupload[data-v-4f310594]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display[data-v-4f310594]{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display [data-v-4f310594]{color:#fff}.dark.ui-select .ui-select__display[data-v-4f310594]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button[data-v-4f310594]{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display[data-v-4f310594]{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button[data-v-4f310594]{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display[data-v-4f310594]{border-color:#ff4081}.editor-nav-link[data-v-4f310594]{margin:0 3px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:60px}.editor-nav-link a[data-v-4f310594]{-webkit-box-flex:unset;-ms-flex:unset;flex:unset;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.editor-nav-link .ui-icon-button[data-v-4f310594]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:20px;width:20px}.editor-nav-link .ui-icon-button[data-v-4f310594]:hover{z-index:1;background:transparent!important;color:#fff!important;position:relative}.editor-nav-link .ui-icon-button:hover [data-v-4f310594]{color:#fff}.editor-nav-link .ui-icon-button[data-v-4f310594]:hover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.editor-nav-link .ui-icon-button svg[data-v-4f310594]{height:20px;width:20px}.middle-ellipsis[data-v-4f310594]{white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.start[data-v-4f310594]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:1;flex-shrink:1}.end[data-v-4f310594]{white-space:nowrap;-ms-flex-preferred-size:content;flex-basis:content;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}.editor-nav{text-align:right;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.editor-nav .links-wrapper{min-width:0}.editor-nav .links{text-align:right;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.editor-nav .links,.editor-nav .nav-link{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.editor-nav .nav-link{white-space:nowrap;text-overflow:ellipsis;min-width:0}.editor-nav .nav-link.new{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.text-tools[data-v-7a15c57a]{overflow:visible}.toolbar[data-v-7a15c57a]{margin:0;padding:0;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.animation-editor[data-v-7a15c57a],.nav-links[data-v-7a15c57a]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}h1.site-logo{font-weight:400;font-size:1.8em;color:#eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (min-width:1000px){h1.site-logo{margin:0 20px 0 0}}h1.site-logo .logo{height:2em;display:inline-block;margin:0;position:relative;top:-3px;color:#eee}h1.site-logo .logo path{fill:currentColor}h1.site-logo .logotype span{display:block}h1.site-logo .strong{font-size:1.035em;font-family:Rywalka Bulletproof,sans-serif;line-height:1;font-weight:400}h1.site-logo .weak{opacity:.8;font-weight:500;font-size:1rem;line-height:1;text-align:center;letter-spacing:1.4px}.sigmoid[data-v-6ff99e0d]{overflow:hidden;position:absolute;top:0;bottom:0}.sigmoid.left[data-v-6ff99e0d]{right:calc(100% - .5px)}.sigmoid.right[data-v-6ff99e0d]{left:calc(100% - .5px)}.sigmoid>div[data-v-6ff99e0d]{height:calc(100% + .5px);width:calc(100% + .5px);-webkit-mask:url(../img/sigmoid.1601bd06.svg);mask:url(../img/sigmoid.1601bd06.svg);-webkit-mask-size:101% 101%;mask-size:101% 101%}.sigmoid.right[data-v-6ff99e0d]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.site-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;justify-items:space-between;padding-top:8px;background:#7c0f1d;background:-webkit-gradient(linear,right top,left top,from(#110e0f),to(#461a21));background:linear-gradient(-90deg,#110e0f,#461a21);z-index:5;position:sticky;top:0;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;height:64px}.site-header:not(.sticky){-webkit-transform:translateY(-64px);transform:translateY(-64px)}@media screen and (max-width:920px){.site-header{height:64px}.site-header:not(.sticky){-webkit-transform:translateY(-64px);transform:translateY(-64px)}}.site-header .light{background:#eee}.site-header .main{margin-top:-4px;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:0}.site-header .above-sidebar,.site-header .main{display:-webkit-box;display:-ms-flexbox;display:flex}@media (min-width:1000px){.site-header .above-sidebar{width:220px}}@media (min-width:1600px){.site-header .above-sidebar{width:260px}}.site-header .logo{margin-top:-4px;-ms-flex-pack:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.site-header .logo,.site-header .logo-top a.home,.site-header .logo a.home{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;justify-content:center}.site-header .logo-top a.home,.site-header .logo a.home{text-decoration:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:center}.site-header .nav{min-width:0}.site-header .font-loader{-webkit-box-flex:0;-ms-flex:0 1 15em;flex:0 1 15em}.site-header .text-tools{-ms-flex-negative:0;flex-shrink:0}.site-header .settings-aside-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header .settings-aside .nav-aside{padding-left:0}.site-header .settings-aside .nav-aside .ui-button{padding:0}.site-header .aside{padding-right:17px;padding-right:14px}.site-header .aside .nav-aside{padding-left:0}.site-header .aside .nav-aside .ui-button{padding:0}.site-header .nav-link{margin:0 5px}.site-header .nav-link a{display:inline-block;color:#fff;text-decoration:none;font-size:1.1em;font-weight:500;-webkit-transform:scale(.95);transform:scale(.95);-webkit-font-smoothing:antialiased}.site-header .nav-link a:hover{text-decoration:underline}.site-header .nav-link a.router-link-active{text-decoration:underline;-webkit-transform:scale(1);transform:scale(1)}.site-header .nav-text-kinds{-webkit-box-flex:1;-ms-flex:1 2 48em;flex:1 2 48em;-ms-flex-wrap:wrap;flex-wrap:wrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-right:0;text-shadow:0 0 15px #000}.site-header .nav-text-kinds>:last-child{margin-right:.75em}.site-header .collapse-mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.site-header .collapse-mobile.nav-menu{-webkit-box-flex:1;-ms-flex:1;flex:1}.site-header .collapse-mobile-trigger{display:none;overflow:hidden;padding:2px}.site-header .collapse-mobile-trigger>div{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.site-header .logo-top{display:none}@media (max-width:1400px){.site-header .site-logo{margin:0;font-size:18px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:.5em}.site-header .site-logo .weak{display:none}.site-header .logo{height:100%;padding-right:.2em;margin-top:-2px}}@media (max-width:1000px){.site-header{display:grid;grid-template-areas:"left top right" "left bottom right";grid-template-columns:auto 1fr auto}.site-header .logo{margin-left:0;height:1.5em}.site-header .logo-top{display:block;grid-area:top;margin:-5px 0 -25px}.site-header .logo-top.alone{padding-left:51px}.site-header .slide-left-wrapper{grid-area:left}.site-header .slide-left-wrapper .logo{display:none}.site-header .right-wrapper{grid-area:right}.site-header .main{grid-area:bottom;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 -10px}.site-header .font-loader{-ms-flex-preferred-size:25em;flex-basis:25em}.site-header .collapse-mobile{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:#eee;padding:.8rem .6rem;position:absolute;top:100%;left:0;right:0;overflow:auto;-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transform:scaleY(0);transform:scaleY(0)}.site-header .collapse-mobile.nav-menu{height:calc(100vh - 64px)}.site-header .collapse-mobile>*{opacity:0}.site-header .collapse-mobile.expanded{-webkit-transform:none;transform:none}.site-header .collapse-mobile.expanded>*{opacity:1}.site-header .collapse-mobile-trigger.ui-button{display:block;font-size:11px;-webkit-box-flex:1;-ms-flex:1 0 50%;flex:1 0 50%;margin:0;height:100%!important;border-radius:0 .8rem 0 0;padding-left:10px;background:transparent;color:#fff}.site-header .collapse-mobile-trigger.ui-button.right{border-radius:.8rem 0 0 0;padding-right:10px;padding-left:0}.site-header .collapse-mobile-trigger.ui-button.alone{border-radius:0;margin-left:-70px;padding-left:70px}.site-header .collapse-mobile-trigger.ui-button:hover{background:transparent;color:#fff}.site-header .nav-text-kinds{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.site-header .nav-text-kinds>:last-child{margin:0}.site-header .nav-link{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;margin:0;text-shadow:none;padding:5px}.site-header .nav-link a{padding:.6rem;color:#000;display:block;border:1px solid #333;border-radius:3px;text-align:center;-webkit-transform:scale(1);transform:scale(1)}.site-header .nav-link a.router-link-active{background:rgba(34,17,17,.8);-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;color:#fff;text-decoration:none}.site-header .editor-nav{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width:1000px) and (max-width:1000px){.site-header .editor-nav{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (max-width:1000px){.site-header .editor-nav .nav-link{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header .editor-nav .nav-link a{-webkit-box-flex:1;-ms-flex:1;flex:1}.site-header .editor-nav .nav-link.new{-webkit-box-flex:0!important;-ms-flex:0 0 50%!important;flex:0 0 50%!important}.site-header .editor-nav .ui-icon-button{color:#000!important;width:32px;height:32px;margin-bottom:2px;margin-left:2px}}.github-icon-link-wrapper{cursor:pointer}.github-icon-link-wrapper,.github-icon-link-wrapper a{display:-webkit-box;display:-ms-flexbox;display:flex}.github-icon-link-wrapper a svg{width:32px;height:32px;margin:2px}.slide-left-wrapper{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.slide-left-wrapper .settings-aside-wrap{-webkit-transition:opacity .3s;transition:opacity .3s}.slide-left-wrapper.slide{-webkit-transform:translateX(-40px);transform:translateX(-40px)}.slide-left-wrapper.slide .settings-aside-wrap{opacity:0}.site-footer[data-v-1083513b]{position:relative;font-size:.9rem;display:-webkit-box;display:-ms-flexbox;display:flex;height:128px;justify-items:space-between;padding-bottom:8px;background:#7c0f1d;background-image:repeating-linear-gradient(-45deg,transparent,transparent 1px,rgba(0,0,0,.1) 0,hsla(0,0%,100%,.045) 10px),repeating-linear-gradient(45deg,transparent,transparent 1px,rgba(0,0,0,.1) 0,hsla(0,0%,100%,.045) 10px),linear-gradient(5deg,#000,70%,#7c0f1d);background-size:100% 150px;background-position:0 100%}.site-footer .sentinel[data-v-1083513b]{position:absolute;bottom:100%;height:128px;width:100%;pointer-events:none}.site-footer .main[data-v-1083513b]{color:hsla(0,0%,100%,.7);-webkit-box-flex:1;-ms-flex:1;flex:1;padding:15px 0 10px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.site-footer .main[data-v-1083513b]>:not(:last-child){margin-right:2em}.site-footer .light[data-v-1083513b]{background:#eee}.site-footer .aside[data-v-1083513b]{-ms-flex-item-align:stretch;align-self:stretch;padding-right:14px;background:#eee}.site-footer .aside .github-link[data-v-1083513b]{text-decoration:none;line-height:1;padding:0;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:visible;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:-1rem}.site-footer .aside .github-link div[data-v-1083513b]{min-width:70px;margin:.4em;text-align:right}.site-footer .aside .github-link svg[data-v-1083513b]{margin:0}@media (max-width:600px){.extra-info[data-v-1083513b]{display:none}}.welcome .banner{font-size:6rem;text-align:center;margin:4vw 0 2rem;font-size:4vw}@media (max-width:800px){.welcome .banner{font-size:32px}}.welcome .banner .logo{height:4em;margin:-1em 0 -.6em;max-width:100%}.welcome .banner h1{font-size:1em;margin:0;line-height:1}.welcome .banner .subtitle{font-style:italic;font-size:.33em;position:relative;left:4.75em}.welcome .invitation{text-align:center;color:#aaa}.welcome .fold{margin-bottom:5vw;text-align:center}@media (max-width:1000px){.welcome .fold{margin-bottom:60px}}.welcome .ui-button{background:#ddd;margin-top:1rem;padding:.8rem 3.5rem;height:unset!important}.welcome .ui-button:hover{background:#e2e2e2!important}@media (max-width:500px){.welcome .ui-button{padding:.8rem .5rem;font-size:.8rem}}.welcome .readme{margin:20px 0 360px}@media (max-width:1000px){.welcome .readme{margin:20px 0 100px}}.welcome .drop-prompt{border:5px dashed #ddd;border-radius:1rem;padding:4vw 2rem;margin:3rem auto 3rem}.welcome .request-font{margin:1.5rem auto 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.welcome .request-font .ui-textbox{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:.8rem}@media (min-width:1000px){.welcome .request-font .ui-textbox{margin-left:8rem}}.welcome .request-font .ui-textbox .ui-textbox__input{text-align:center;font-size:.9em;padding-bottom:.3rem}@media (max-width:500px){.welcome .request-font .ui-textbox .ui-textbox__input{font-size:.8rem}}.home[data-v-0eadec82]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 80px;z-index:0;position:relative;overflow:hidden}@media (max-width:1000px){.home[data-v-0eadec82]{padding:0 7.5vw}}.home .background[data-v-0eadec82]{position:absolute;width:100vw;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:-1}.home .background.safari[data-v-0eadec82]{display:none}@media (max-width:1000px){.home .background[data-v-0eadec82]{display:none}}.home .background:not(.safari).background-overlay[data-v-0eadec82]{background:#eee;top:0;bottom:0;position:relative;position:absolute}.home .background:not(.safari).background-overlay.loaded[data-v-0eadec82]{width:600px}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{left:2px;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after{left:calc(100% - 2px)}.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{background:url(../img/background-holes-bar.25258b21.svg);background-position:0 -1500px;background-size:100% auto}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after{background:url(../img/background-holes-bar.25258b21.svg);background-position:0 0;background-size:100% auto}.home .background:not(.safari).background-overlay.webkit[data-v-0eadec82]:before{background:url(../img/background-holes-bar-webkit.410b23e3.svg);background-position:0 -1500px;background-size:100% auto}.home .background:not(.safari).background-overlay.webkit[data-v-0eadec82]:after{background:url(../img/background-holes-bar-webkit.410b23e3.svg);background-position:0 0;background-size:100% auto}.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{width:calc(55vw - 290px);background-repeat:repeat-y}@media screen and (min-width:1420px){.home .background:not(.safari).background-overlay[data-v-0eadec82]:after,.home .background:not(.safari).background-overlay[data-v-0eadec82]:before{width:510px}}.home .background:not(.safari).background-parallax[data-v-0eadec82]{font-family:Rywalka Bulletproof;font-size:1.8rem;line-height:1.2;top:-1.2em;bottom:-1.2em;width:1595px;background:#333;color:#bbb;opacity:0}@media screen and (max-width:1000px){.home .background:not(.safari).background-parallax[data-v-0eadec82]{font-size:2vw}}.home .background:not(.safari).background-parallax.webkit[data-v-0eadec82]{background:#222}.home .background:not(.safari).background-parallax.loaded[data-v-0eadec82]{-webkit-animation:fade-in-1-0eadec82 .3s forwards;animation:fade-in-1-0eadec82 .3s forwards}@-webkit-keyframes fade-in-1-0eadec82{0%{opacity:0}to{opacity:1}}@keyframes fade-in-1-0eadec82{0%{opacity:0}to{opacity:1}}.home .background:not(.safari).background-parallax .pane[data-v-0eadec82]{text-align:center;overflow:hidden}.kerning-editor .ui-select[data-v-7f7c4944] .ui-select__display-value:not(.is-placeholder),.kerning-editor .ui-textbox[data-v-7f7c4944]{font-family:Iosevka SS09 Web,Consolas,Courier New,Courier,monospace;font-size:13px}.kerning-editor[data-v-7273fa36]{margin-bottom:.5em}.pinnable[data-v-82a5684e]{position:sticky;-ms-flex-item-align:start;align-self:flex-start;max-height:100vh;-webkit-transition:max-height .1s,-webkit-transform .2s;transition:max-height .1s,-webkit-transform .2s;transition:transform .2s,max-height .1s;transition:transform .2s,max-height .1s,-webkit-transform .2s;top:64px;-webkit-transform:translateY(-64px);transform:translateY(-64px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pinnable.sticky[data-v-82a5684e]{-webkit-transform:translateY(0);transform:translateY(0);max-height:calc(100vh - 64px)}@media screen and (max-width:920px){.pinnable[data-v-82a5684e]{top:64px;-webkit-transform:translateY(-64px);transform:translateY(-64px)}.pinnable.sticky[data-v-82a5684e]{max-height:calc(100vh - 64px)}}.pinnable.footer-near[data-v-82a5684e]{margin-bottom:-128px;-webkit-transition:none;transition:none}.pinnable.footer-nearer[data-v-82a5684e]{max-height:calc(100vh - 128px)}.pinnable.pinned[data-v-82a5684e]{background:#eee}.pinnable[data-v-82a5684e]:not(.pinned){-webkit-box-shadow:7px 0 6px -5px rgba(0,0,0,.14),-7px 0 6px -5px rgba(0,0,0,.14);box-shadow:7px 0 6px -5px rgba(0,0,0,.14),-7px 0 6px -5px rgba(0,0,0,.14);position:fixed;background:hsla(0,0%,93.3%,.97);-webkit-transition:opacity .25s;transition:opacity .25s}.pinnable:not(.pinned).left[data-v-82a5684e]{-webkit-box-shadow:7px 0 6px -5px rgba(0,0,0,.14);box-shadow:7px 0 6px -5px rgba(0,0,0,.14)}.pinnable:not(.pinned).right[data-v-82a5684e]{-webkit-box-shadow:-7px 0 6px -5px rgba(0,0,0,.14);box-shadow:-7px 0 6px -5px rgba(0,0,0,.14)}.pinnable[data-v-82a5684e]:not(.pinned):not(:hover):not(.trigger-hover){-webkit-transition:opacity .25s .1s;transition:opacity .25s .1s;opacity:0}.pinnable .fixed-header[data-v-82a5684e],.pinnable .titlebar[data-v-82a5684e]{-webkit-box-flex:0;-ms-flex:0;flex:0}.pinnable .content[data-v-82a5684e]{-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.pinnable .content[data-v-82a5684e],.pinnable[data-v-82a5684e]:not(.pinnable-scrolled){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal}.pinnable[data-v-82a5684e]:not(.pinnable-scrolled){-ms-flex-direction:column;flex-direction:column}.scrolled.disable-overscroll[data-v-82a5684e]{-ms-scroll-chaining:none;overscroll-behavior:none;height:100%}.titlebar[data-v-82a5684e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;padding:2px}.titlebar h2[data-v-82a5684e]{padding:0 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:1.2rem;color:#a24263;margin:0}.titlebar .ui-icon-button.pin[data-v-82a5684e]{color:#a24263;width:24px;height:24px;opacity:.65}.titlebar .ui-icon-button.pin svg[data-v-82a5684e]{-webkit-transform:rotate(35deg);transform:rotate(35deg)}.titlebar .ui-icon-button.pin.active[data-v-82a5684e]{opacity:1}.titlebar .ui-icon-button.pin.active svg[data-v-82a5684e]{-webkit-transform:rotate(20deg);transform:rotate(20deg)}.ui-slider[data-v-5367bd16]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;outline:none}.ui-slider:not(.is-disabled).is-active:not(.has-marker) .ui-slider__thumb[data-v-5367bd16]:before,.ui-slider:not(.is-disabled).is-dragging:not(.has-marker) .ui-slider__thumb[data-v-5367bd16]:before{-webkit-transform:scale(1);transform:scale(1)}.ui-slider:not(.is-disabled).is-active .ui-slider__marker[data-v-5367bd16],.ui-slider:not(.is-disabled).is-dragging .ui-slider__marker[data-v-5367bd16]{opacity:1;-webkit-transform:scale(1) translateY(-1.625rem);transform:scale(1) translateY(-1.625rem)}.ui-slider:not(.is-disabled).is-active .ui-slider__marker-text[data-v-5367bd16],.ui-slider:not(.is-disabled).is-dragging .ui-slider__marker-text[data-v-5367bd16]{color:#fff}.ui-slider:not(.is-disabled).is-active .ui-slider__snap-point[data-v-5367bd16],.ui-slider:not(.is-disabled).is-dragging .ui-slider__snap-point[data-v-5367bd16]{opacity:1}.ui-slider:not(.is-disabled).is-active .ui-slider__icon .ui-icon[data-v-5367bd16],.ui-slider:not(.is-disabled).is-dragging .ui-slider__icon .ui-icon[data-v-5367bd16]{color:#ff4081}.ui-slider.is-disabled .ui-slider__icon[data-v-5367bd16]{opacity:.6}.ui-slider.is-disabled .ui-slider__track[data-v-5367bd16]{cursor:default}.ui-slider.is-disabled .ui-slider__track-fill[data-v-5367bd16]{background-color:transparent}.ui-slider.is-disabled .ui-slider__thumb[data-v-5367bd16]{background-color:#ddd;border:.125rem solid #fff}.ui-slider__icon[data-v-5367bd16]{margin-right:1rem}.ui-slider__icon .ui-icon[data-v-5367bd16]{color:rgba(0,0,0,.54);-webkit-transition:color .2s ease;transition:color .2s ease}.ui-slider__track[data-v-5367bd16]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:1.125rem;margin:0 auto;position:relative;width:100%}.ui-slider__track-background[data-v-5367bd16],.ui-slider__track-fill[data-v-5367bd16]{content:"";display:block;height:.1875rem;left:0;position:absolute;top:.46875rem}.ui-slider__track-background[data-v-5367bd16]{background-color:rgba(0,0,0,.12);width:100%}.ui-slider__snap-point[data-v-5367bd16]{background-color:rgba(0,0,0,.75);height:.1875rem;opacity:0;position:absolute;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:.125rem;z-index:1}.ui-slider__track-fill[data-v-5367bd16]{background-color:#ff4081;-webkit-transform-origin:left;transform-origin:left;width:100%}.ui-slider__thumb[data-v-5367bd16]{background-color:#ff4081;border-radius:50%;cursor:inherit;display:block;height:.875rem;left:0;position:relative;width:.875rem;z-index:1;margin-left:-.4375rem}.ui-slider__thumb[data-v-5367bd16]:before{background-color:rgba(255,64,129,.38);border-radius:50%;content:"";display:block;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.ui-slider__marker[data-v-5367bd16],.ui-slider__thumb[data-v-5367bd16]:before{height:2.25rem;margin-left:-.6875rem;margin-top:-.6875rem;position:absolute;width:2.25rem}.ui-slider__marker[data-v-5367bd16]{opacity:0;-webkit-transform:scale(0) translateY(0);transform:scale(0) translateY(0);-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-slider__marker svg[data-v-5367bd16]{fill:#ff4081;height:2.25rem;width:2.25rem}.ui-slider__marker-text[data-v-5367bd16]{color:#ff4081;font-size:.8125rem;font-weight:600;left:0;position:absolute;text-align:center;top:.25rem;-webkit-transition:color .2s ease;transition:color .2s ease;width:2.25rem}.ui-slider--is-dragging[data-v-5367bd16]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-textbox__input-wrapper[data-v-7af82180]{display:grid;grid-template-areas:"input up" "input down";grid-template-columns:1fr auto;position:relative}@media (pointer:coarse){.ui-textbox__input-wrapper[data-v-7af82180]{grid-template-areas:"down input up";grid-template-columns:auto 1fr auto}}.ui-textbox__input[data-v-7af82180]{grid-area:input;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:right;padding-right:.3em}.ui-number__button[data-v-7af82180]{opacity:.54;-webkit-transition:opacity .3s;transition:opacity .3s;height:auto;-ms-flex-item-align:stretch;align-self:stretch;width:1.5rem;min-width:0;padding:0;margin:0;border-radius:2px;position:relative}.ui-number__button.up[data-v-7af82180]{grid-area:up}.ui-number__button.down[data-v-7af82180]{grid-area:down}@media (pointer:coarse){.ui-number__button[data-v-7af82180]{width:34px;background:#d8d8d8;margin:2px}}.ui-number__button[data-v-7af82180] .ui-icon-button__icon svg{height:.7em;-webkit-transform:scale(1.5);transform:scale(1.5)}@media (pointer:coarse){.ui-number__button svg[data-v-7af82180]{height:.7em;-webkit-transform:scale(1.5,1.7);transform:scale(1.5,1.7)}}.ui-number:not(.is-disabled):hover .ui-number-button[data-v-7af82180]{opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s}.ui-color-picker[data-v-50a2c3f2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.ui-color-picker .swatch[data-v-50a2c3f2]{height:1.36rem;width:1.36rem;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;background-clip:padding-box;border-radius:5px}.ui-color-picker .ui-textbox[data-v-50a2c3f2]{-webkit-box-flex:1;-ms-flex:1;flex:1}.vc-sketch[data-v-50a2c3f2]{padding:8px;-webkit-box-shadow:none;box-shadow:none}[data-v-50a2c3f2] .vc-sketch-presets{padding:0;margin:0;margin-top:2px}[data-v-50a2c3f2] .vc-sketch-presets-color{margin:2px;height:1.52rem;width:1.52rem}[data-v-50a2c3f2] .vc-sketch-alpha-wrap,[data-v-50a2c3f2] .vc-sketch-hue-wrap{height:1.2rem}[data-v-50a2c3f2] .vc-alpha-picker,[data-v-50a2c3f2] .vc-hue-picker{height:calc(1.2rem - 2px)}[data-v-50a2c3f2] .vc-sketch-color-wrap{display:none}.settings[data-v-030b7c31]{padding:0 10px;overflow-x:hidden;padding-bottom:2rem}.settings h3[data-v-030b7c31]{margin-bottom:.3em}.row-check[data-v-030b7c31]{min-height:2rem;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.row-check .ui-checkbox[data-v-030b7c31]{margin:.1rem 0}.ui-radio-group.is-vertical[data-v-030b7c31] .ui-radio-group__radios{padding-top:0;margin-bottom:.5rem}.checkbox-small.ui-checkbox[data-v-030b7c31]{margin:0;font-size:1em;-ms-flex-item-align:center;align-self:center}.checkbox-small.ui-checkbox[data-v-030b7c31] .ui-checkbox__checkmark{height:1rem;width:1rem;margin-top:.2rem}.checkbox-small.ui-checkbox[data-v-030b7c31] .ui-checkbox__label-text{font-size:1em;margin-left:.15em}.locl-select__option[data-v-030b7c31]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.locl-select__option .name[data-v-030b7c31]{-webkit-box-flex:1;-ms-flex:1;flex:1}.locl-select__option .tag[data-v-030b7c31]{margin-left:.25em;opacity:.6}.axis-label[data-v-030b7c31]{min-width:5em;margin:5px 0}.notice[data-v-030b7c31]{padding:.5em 0;opacity:.7;font-size:.85rem!important}.row[data-v-030b7c31]{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.row.busy[data-v-030b7c31]{padding-bottom:.1rem}.fontSizeUnitSelect[data-v-030b7c31]{-webkit-box-flex:0!important;-ms-flex:0 0 3em!important;flex:0 0 3em!important}@media (max-width:1000px){.fontSizeUnitSelect[data-v-030b7c31]{-webkit-box-flex:0!important;-ms-flex:0 0 2.5em!important;flex:0 0 2.5em!important}}.settings .row-select-header[data-v-030b7c31]{margin-bottom:.15em}.row-select[data-v-030b7c31]{margin-bottom:.75rem}.font-sample .font-sample-content{font-family:var(--selectedFontFamily),var(--fallbackFontFamily);white-space:pre-wrap}.font-sample .font-sample-content:focus{outline:none}.font-sample .font-sample-content .font-sample-content-inner:after{content:"\A0"}.font-sample .font-sample-content h1,.font-sample .font-sample-content h2,.font-sample .font-sample-content h3,.font-sample .font-sample-content h4,.font-sample .font-sample-content h5,.font-sample .font-sample-content h6{font-family:var(--selectedHeaderFontFamily),var(--fallbackFontFamily);font-weight:var(--selectedBoldFontCssWeight,700)}.font-sample .font-sample-content b,.font-sample .font-sample-content strong{font-family:var(--selectedBoldFontFamily),var(--fallbackFontFamily);font-weight:calc(var(--font-weight, 400) + 200)}.font-sample .font-sample-content b em,.font-sample .font-sample-content strong em{font-family:var(--selectedBoldItalicFontFamily),var(--fallbackFontFamily);font-style:var(--selectedBoldItalicFontCssStyle);font-weight:calc(var(--font-weight, 400) + 200)}.font-sample .font-sample-content em,.font-sample .font-sample-content i{font-family:var(--selectedItalicFontFamily),var(--fallbackFontFamily);font-style:var(--selectedItalicFontCssStyle)}.font-sample .font-sample-content em b,.font-sample .font-sample-content em strong,.font-sample .font-sample-content i b,.font-sample .font-sample-content i strong{font-family:var(--selectedBoldItalicFontFamily),var(--fallbackFontFamily);font-style:var(--selectedBoldItalicFontCssStyle);font-weight:calc(var(--font-weight, 400) + 200)}.dark.ui-button[data-v-6bcea090],.dark.ui-fileupload[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button [data-v-6bcea090],.dark.ui-fileupload [data-v-6bcea090]{color:#fff}.dark.ui-button[data-v-6bcea090]:before,.dark.ui-fileupload[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display [data-v-6bcea090]{color:#fff}.dark.ui-select .ui-select__display[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button[data-v-6bcea090]{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display[data-v-6bcea090]{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button[data-v-6bcea090]{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display[data-v-6bcea090]{border-color:#ff4081}.description-tooltip[data-v-6bcea090]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;font-size:1rem;text-align:left}.btn[data-v-6bcea090]{border:0;background:transparent}.btn[data-v-6bcea090]:hover{background:hsla(0,0%,100%,.2)}.btn[data-v-6bcea090],.btn[data-v-6bcea090]:active{padding:0;min-width:unset;height:1.6em!important}.tags[data-v-6bcea090]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.tags span[data-v-6bcea090]{z-index:1;background:transparent!important;color:#fff!important;position:relative;padding:2px 4px;margin:0 2px}.tags span [data-v-6bcea090]{color:#fff}.tags span[data-v-6bcea090]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.topic[data-v-6bcea090]{grid-area:topic}.btn[data-v-6bcea090]{grid-area:btn}.language[data-v-6bcea090]{grid-area:language;justify-self:flex-end}.language-codes[data-v-6bcea090]{grid-area:language-codes;justify-self:flex-end}.language-speakers[data-v-6bcea090]{grid-area:language-speakers;justify-self:flex-end}.tags[data-v-6bcea090]{grid-area:tags;-ms-flex-wrap:wrap;flex-wrap:wrap}.dark.ui-button,.dark.ui-fileupload{z-index:1;background:transparent!important;color:#fff!important;position:relative}.dark.ui-button *,.dark.ui-fileupload *{color:#fff}.dark.ui-button:before,.dark.ui-fileupload:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display{z-index:1;background:transparent!important;color:#fff!important;position:relative;border-color:#b06f77}.dark.ui-select .ui-select__display *{color:#fff}.dark.ui-select .ui-select__display:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.dark.ui-select .ui-select__display .ui-select__dropdown-button{color:#b06f77}.dark.ui-select:not(.is-disabled):hover .ui-select__display{border-color:#cb9fa5}.dark.ui-select:not(.is-disabled):hover .ui-select__display .ui-select__dropdown-button{color:#cb9fa5}.dark.ui-select:not(.is-disabled).ui-select__label.has-dropdown-open .ui-select__display{border-color:#ff4081}.tester-body{font-size:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px 15px;min-height:100vh;padding-bottom:10rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto hidden;position:relative}.tester-body .font-sample{-webkit-box-flex:1;-ms-flex:1;flex:1}.tester-body .font-sample .font-sample-content-inner:after{content:"\A0"}.tester-body h1{margin:1.8rem 0 .6rem 0}.tester-body h2{margin:.9rem 0 .3rem 0}.tester-body h3{margin:.6rem 0 .2rem 0}.tester-body h4{margin:.45rem 0 .15rem 0}.tester-body h5{margin:.36rem 0 .12rem 0}.tester-body h6{margin:.3rem 0 .1rem 0}.tester-body p{margin:.4rem 0}.tester-body .sample-paragraph{position:relative}.tester-body .font-size-label{font-size:8px;font-family:Arial;position:absolute;right:100%;padding:0 2px;top:0;width:2em;text-align:right}.tester-body .header-flex{font-weight:400;font-style:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid currentColor;margin-top:1rem;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif!important;font-size:1rem;z-index:1;background:transparent!important;color:#fff!important;position:relative;padding:0 .5em;min-width:10em}@media (max-width:1000px){.tester-body .header-flex{gap:4px 0;padding:4px 8px}.tester-body .header-flex .language-codes,.tester-body .header-flex .language-speakers,.tester-body .header-flex .tags{display:none!important}.tester-body .header-flex .btn{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.tester-body .header-flex .language{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:right;font-weight:400}}.tester-body .header-flex *{color:#fff}.tester-body .header-flex:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:rgba(34,17,17,.8);border-radius:3px;-webkit-box-shadow:inset 0 0 5px #000;box-shadow:inset 0 0 5px #000;pointer-events:none}.tester-body .header-flex code,.tester-body .header-flex h3{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.tester-body .header-flex h3{margin-top:0;margin-bottom:0}.tester-body .header-flex>*{margin:0;margin-right:1rem}.tester-body .header-flex .light{font-size:.9em;opacity:.5}.gotchas .desc,.gotchas .desc>*,.gotchas .header,.gotchas h3,.gotchas h4{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif!important}.gotchas .desc>* em,.gotchas .desc em,.gotchas .header em,.gotchas h3 em,.gotchas h4 em{font-style:italic}.gotchas .desc>* strong,.gotchas .desc strong,.gotchas .header strong,.gotchas h3 strong,.gotchas h4 strong{font-weight:700}.font-characters{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.font-characters>*{-webkit-box-flex:0;-ms-flex:0 0 1em;flex:0 0 1em;text-align:center}.font-characters>:hover{background:hsla(0,0%,100%,.4)}.language-list[data-v-1b3d2b4c]{overflow-y:auto;-webkit-box-flex:1;-ms-flex:1;flex:1}.language-item[data-v-1b3d2b4c]{display:-webkit-box;display:-ms-flexbox;display:flex}.language-item .language-link[data-v-1b3d2b4c]{margin-left:.4em}.language-item .language-link.disabled[data-v-1b3d2b4c]{text-decoration:none;color:unset}.language-item .language-link[data-v-1b3d2b4c]:focus{color:#ff4081}.language-item:not(.has-text) .language-link[data-v-1b3d2b4c]{color:#999;cursor:not-allowed}.ui-checkbox[data-v-1b3d2b4c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.row-filter[data-v-1b3d2b4c]{margin-bottom:.5em}.filter-textbox[data-v-1b3d2b4c]{margin-right:-20px}.filter-textbox .ui-textbox__content[data-v-1b3d2b4c]{padding-right:20px}.ui-icon-button.btn-clear[data-v-1b3d2b4c]{color:#eee;margin:2px;width:18px;height:18px;opacity:.8}.ui-icon-button.btn-clear[data-v-1b3d2b4c]:not(:hover):not(:focus){background:#aaa}.ui-icon-button.btn-clear svg[data-v-1b3d2b4c]{margin:1px;width:18px;height:18px}.scrolled[data-v-002f2e82]{padding-bottom:2em}.right[data-v-002f2e82]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-left:auto}.kerning-pattern[data-v-002f2e82]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.kerning-pattern[data-v-002f2e82]:hover{background:hsla(0,0%,66.7%,.2)}.kerning-pattern[data-v-002f2e82]:focus{border-bottom:2px solid #ff4081}.kerning-pattern.selected[data-v-002f2e82]{font-weight:700;background:rgba(255,64,129,.2);border-radius:4px}.kerning-pattern>.ui-checkbox[data-v-002f2e82]{margin:0 .5rem 0 0}.kerning-pattern>.link[data-v-002f2e82]{color:#416bc5;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration:none;min-width:0}.kerning-pattern>.link[data-v-002f2e82]:hover{color:#1245b3;cursor:pointer}.kerning-pattern>.link>[data-v-002f2e82]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kerning-pattern[data-v-002f2e82]>:not(:last-child){margin-right:.5rem}#add-pattern-btn-wrapper[data-v-002f2e82]{outline:none;display:-webkit-box;display:-ms-flexbox;display:flex}#add-pattern-btn-wrapper .ui-button[data-v-002f2e82]{-webkit-box-flex:1;-ms-flex:1;flex:1}.info-bar[data-v-704de156]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.info-bar[data-v-704de156]>:not(:first-child){margin-left:1rem}.info-bar[data-v-704de156]>:last-child{margin-left:auto}.info-bar label[data-v-704de156]{color:grey;font-size:.85em}header[data-v-704de156]{text-transform:uppercase;font-weight:700;font-size:.8em;color:#888;margin-top:1em}p[data-v-704de156]{margin:.3em 0}.language-button.ui-button[data-v-f2446db8]{padding-left:.2em;padding-right:.2em;border-radius:2px;font-weight:500;text-transform:none}.language-button.ui-button[data-v-f2446db8] .ui-button__content>*{margin:0 .2em}.goals[data-v-f2446db8]{opacity:.45}.gotcha-warning-icon[data-v-f2446db8]{border-radius:50%;color:#eee;opacity:.75;font-weight:700;width:1.2em;height:1.2em;line-height:1.2}.character-info .character-font-preview[data-v-42b34de5]{font-size:6rem;text-align:center;font-family:var(--selectedFontFamily)}.character-info .info-bar[data-v-42b34de5]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.character-info .info-bar>[data-v-42b34de5]{margin-right:1rem}.character-info .info-bar[data-v-42b34de5] :last-child{margin-left:auto}.character-panel[data-v-6c85dae4]{padding-top:1rem}.character-panel h4[data-v-6c85dae4]{margin:.7em 0 .3em}.character-panel h4[data-v-6c85dae4]:after{content:":"}.language-support-summary{margin-bottom:1.5rem;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:650px){.language-support-summary{-ms-flex-wrap:wrap;flex-wrap:wrap}}.language-support-summary .font-sample{background:transparent!important;color:#000!important}.language-support-summary .main-column{padding:1rem}.language-support-summary .sidebar{background:transparent!important;--backgroundColor:transparent;padding:1rem;-webkit-box-flex:1;-ms-flex:1 0 40%;flex:1 0 40%}@media (min-width:650.02px){.language-support-summary .sidebar{height:100%}}@media (max-width:650px){.language-support-summary .sidebar.pinnable{max-height:unset}}@media (min-width:650.02px){.language-support-summary .sidebar .language-character-sidebar{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}.language-support-summary .sidebar .language-character-sidebar>:first-child{margin-bottom:1.5em}.language-support-summary .sidebar .language-character-sidebar>*{border-radius:.8em;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;overflow-y:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#fff!important;padding:1em;padding-right:.1em}.language-support-summary .sidebar .language-character-sidebar>* .character-panel,.language-support-summary .sidebar .language-character-sidebar>* .language-panel{margin-right:1em}.language-support-summary .sidebar .language-character-sidebar>*>:not(.placeholder-info){height:100%}.language-support-summary .ui-button{border-radius:0;margin:1px}.language-support-summary .ui-tooltip,.language-support-summary .ui-tooltip-theme{font-size:1.1rem;text-align:left;background:#fff;color:#000}.language-support-summary .ui-tooltip-theme{-webkit-box-shadow:0 0 6px #aaa;box-shadow:0 0 6px #aaa}.language-support-summary .glyph{border:0;display:inline-block;background:#ddd;text-align:center;margin:1px;min-width:1.5em;line-height:1.5em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.language-support-summary .glyph:focus,.language-support-summary .glyph:hover{cursor:default;background-image:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.5)),to(hsla(0,0%,100%,.5)));background-image:linear-gradient(hsla(0,0%,100%,.5),hsla(0,0%,100%,.5))}.language-support-summary h2,.language-support-summary h3{margin:1.5em 0 .5em!important}.language-support-summary h3{margin:.5em 0!important}.language-support-summary .ui-select.inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin:0 .25em}.language-support-summary .ui-select.inline .ui-select__display,.language-support-summary .ui-select.inline ui-select__display-value{font-size:1em;min-width:10em}.language-support-summary .support-0{background:#92beff;color:#000;font-weight:500;text-transform:none}.language-support-summary .support-1{background:#a5c5f9;color:#091824;font-weight:500;text-transform:none}.language-support-summary .support-2{background:#b8cdf4;color:#123048;font-weight:500;text-transform:none}.language-support-summary .support-3{background:#cad4ee;color:#1c486c;font-weight:500;text-transform:none}.language-support-summary .support-4{background:#dddce9;color:#256090;font-weight:500;text-transform:none}.language-support-summary .support-5{background:#f0e3e3;color:#2e78b4;font-weight:500;text-transform:none}.language-support-summary .support-full{background:#9ce2a2;color:#000}.language-support-summary .support-0{background:#d0df90;color:#501111}.language-support-summary .support-1{background:#dfdb90;color:#400e0e}.language-support-summary .support-2{background:#dfc890;color:#300a0a}.language-support-summary .support-3{background:#dfb690;color:#200707}.language-support-summary .support-4{background:#dfa390;color:#100303}.language-support-summary .support-5{background:#df9090;color:#000}.language-support-summary .needed-0{background:#9ce2a2;color:#000}.language-support-summary .needed-1{background:#96e9dc;color:#400e0e}.language-support-summary .needed-2{background:#99eae8;color:#300a0a}.language-support-summary .needed-3{background:#9ce1eb;color:#200707}.language-support-summary .needed-4{background:#9fd7eb;color:#100303}.language-support-summary .needed-5{background:#a2ceec;color:#000}.placeholder-info{text-align:center;font-variant-caps:small-caps;color:#aaa}.editable-list-item[data-v-69007cc0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.editable-list-item .ui-button[data-v-69007cc0]{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:2px 0}.editable-list-item[data-v-69007cc0]>:last-child{margin-left:.25em}.keyframes[data-v-0dcbafa4]{margin:8px 0}.keyframe[data-v-0dcbafa4]{text-transform:none;font-weight:400;padding:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.keyframe.ui-button[data-v-0dcbafa4]{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:2px 0}.keyframe[data-v-0dcbafa4] .ui-button__content{width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.keyframe[data-v-0dcbafa4] .ui-button__content .label{z-index:1}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear{position:absolute;height:105%}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear.ui-progress-linear--color-primary{background:transparent!important}.keyframe[data-v-0dcbafa4] .ui-button__content .ui-progress-linear.ui-progress-linear--color-primary .ui-progress-linear__progress-bar{background:rgba(255,64,129,.2)!important;height:100%}.keyframe.active[data-v-0dcbafa4]{margin-left:4px;font-weight:700;border-color:rgba(255,64,129,.65)!important;position:relative}.keyframe.active[data-v-0dcbafa4]:after,.keyframe.active[data-v-0dcbafa4]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.keyframe.active[data-v-0dcbafa4]:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:solid;border-width:.85rem .765rem;border-color:transparent transparent transparent #ff4081}.ui-button[data-v-0dcbafa4]{min-width:4rem}.toolbar[data-v-1ab2b246]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.animation-editor[data-v-1ab2b246],.nav-links[data-v-1ab2b246]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.font-tester[data-v-64e504be]{min-height:100vh;z-index:0}.font-tester .font-tester-content[data-v-64e504be],.font-tester[data-v-64e504be]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.font-tester .font-tester-content[data-v-64e504be]{height:100%;width:100vw;max-width:100%;padding-bottom:12vh}.site-sidebar[data-v-64e504be]{z-index:4;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.sidebar-settings[data-v-64e504be]{width:260px}@media (min-width:1000px){.sidebar-settings[data-v-64e504be]{width:220px}}@media (min-width:1600px){.sidebar-settings[data-v-64e504be]{width:260px}}.sidebar-nav[data-v-64e504be]{width:210px}.sidebar-nav[data-v-64e504be]:not(.pinned){right:17px} \ No newline at end of file diff --git a/css/chunk-vendors.43633879.css b/css/chunk-vendors.3d8e971b.css similarity index 80% rename from css/chunk-vendors.43633879.css rename to css/chunk-vendors.3d8e971b.css index 0329822..77d01a8 100644 --- a/css/chunk-vendors.43633879.css +++ b/css/chunk-vendors.3d8e971b.css @@ -1 +1 @@ -.ui-icon{cursor:inherit;display:inline-block;font-size:1.5rem;height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1em}.ui-icon svg{display:block;fill:currentColor;height:1em;margin:0;padding:0;width:1em}.ui-ripple-ink{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-ripple-ink__ink{background-clip:padding-box;background-color:currentColor;border-radius:50%;height:0;opacity:.2;pointer-events:none;position:absolute;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .6s ease-out,-webkit-transform .6s ease-out;transition:opacity .6s ease-out,-webkit-transform .6s ease-out;transition:transform .6s ease-out,opacity .6s ease-out;transition:transform .6s ease-out,opacity .6s ease-out,-webkit-transform .6s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:0}.ui-ripple-ink__ink.is-held{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}.ui-ripple-ink__ink.is-done{opacity:0!important}.ui-close-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;background:none;border-radius:50%;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0;outline:none;overflow:hidden;padding:0;position:relative;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-close-button::-moz-focus-inner{border:0}.ui-close-button:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}body[modality=keyboard] .ui-close-button:focus .ui-close-button__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-close-button.is-disabled{opacity:.6}.ui-close-button__icon{color:currentColor;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;width:100%;z-index:1}.ui-close-button__focus-ring{background-color:rgba(0,0,0,.15);border-radius:50%;left:0;opacity:0;position:absolute;top:0;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease}.ui-close-button--size-mini,.ui-close-button--size-mini .ui-close-button__focus-ring{height:1.5rem;width:1.5rem}.ui-close-button--size-mini .ui-icon{font-size:1.125rem}.ui-close-button--size-small,.ui-close-button--size-small .ui-close-button__focus-ring{height:2rem;width:2rem}.ui-close-button--size-small .ui-icon{font-size:1.125rem}.ui-close-button--size-normal,.ui-close-button--size-normal .ui-close-button__focus-ring{height:2.25rem;width:2.25rem}.ui-close-button--size-normal .ui-icon{font-size:1.25rem}.ui-close-button--size-large,.ui-close-button--size-large .ui-close-button__focus-ring{height:3rem;width:3rem}.ui-close-button--size-large .ui-icon{font-size:1.5rem}.ui-close-button--color-black{color:rgba(0,0,0,.38)}.ui-close-button--color-black:hover:not(.is-disabled) .ui-close-button__icon,body[modality=keyboard] .ui-close-button--color-black:focus .ui-close-button__icon{color:rgba(0,0,0,.87)}.ui-close-button--color-white{color:#fff}.ui-focus-container__focus-redirector,.ui-focus-container__last-focusable{opacity:0;position:absolute}.ui-focus-container__content{outline:none}.ui-modal{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem}.ui-modal.is-aligned-top .ui-modal__wrapper{vertical-align:initial}.ui-modal.has-footer .ui-modal__body,.ui-modal.is-aligned-top.has-footer .ui-modal__body{max-height:calc(100vh - 7.875rem)}.ui-modal:not(.has-footer) .ui-modal__body{padding:1rem 1.5rem 1.5rem}.ui-modal--is-open{overflow:hidden}.ui-modal__mask{background-color:rgba(0,0,0,.5);display:table;height:100%;left:0;position:fixed;top:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;width:100%;z-index:50}.ui-modal__wrapper{display:table-cell;vertical-align:middle;overflow-x:hidden;text-align:center}.ui-modal__wrapper.has-dummy-scrollbar{overflow-y:scroll}.ui-modal__container{background-color:#fff;border-radius:.125rem;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.33);box-shadow:0 2px 8px rgba(0,0,0,.33);display:inline-block;margin:0 auto;max-height:100vh;max-width:100vw;outline:none;overflow:hidden;padding:0;text-align:initial;-webkit-transition:all .3s ease;transition:all .3s ease;width:33rem}.ui-modal__header{background-color:#f5f5f5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 1px rgba(0,0,0,.16);height:3.5rem;padding:0 1.5rem;position:relative;z-index:1}.ui-modal__header,.ui-modal__header-text{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.ui-modal__header-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:1.125rem;font-weight:400;margin:0}.ui-modal__close-button{margin-left:auto;margin-right:-.5rem}.ui-modal__body{max-height:calc(100vh - 3.5rem);overflow-y:auto;padding:1rem 1.5rem}.ui-modal__footer{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:4.375rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 1.5rem}.ui-modal__footer .ui-button{margin-left:.5rem}.ui-modal__footer .ui-button:first-child{margin-left:0}.ui-modal--size-small>.ui-modal__wrapper>.ui-modal__container{width:20rem}.ui-modal--size-large>.ui-modal__wrapper>.ui-modal__container{width:53rem}.ui-modal--size-fullscreen>.ui-modal__wrapper>.ui-modal__container{width:100vw}.ui-modal--size-fullscreen>.ui-modal__wrapper>.ui-modal__container .ui-modal__body{height:calc(100vh - 3.5rem)}.ui-modal--size-auto>.ui-modal__wrapper>.ui-modal__container{width:auto}.ui-modal--transition-fade-enter,.ui-modal--transition-fade-leave-active,.ui-modal--transition-scale-down-enter,.ui-modal--transition-scale-down-leave-active{opacity:0}.ui-modal--transition-scale-down-enter .ui-modal__container,.ui-modal--transition-scale-down-leave-active .ui-modal__container{-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-modal--transition-scale-up-enter,.ui-modal--transition-scale-up-leave-active{opacity:0}.ui-modal--transition-scale-up-enter .ui-modal__container,.ui-modal--transition-scale-up-leave-active .ui-modal__container{-webkit-transform:scale(.8);transform:scale(.8)}.ui-fileupload{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:.125rem;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:600;height:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;letter-spacing:.02em;line-height:1;min-width:5rem;overflow:hidden;padding:0;padding-left:1rem;padding-right:1rem;position:relative;text-transform:uppercase}.ui-fileupload.has-focus-ring.is-active .ui-fileupload__focus-ring:before,body[modality=keyboard] .ui-fileupload.is-active .ui-fileupload__focus-ring:before{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-fileupload:not(.is-multiple) .ui-fileupload__display-text{text-transform:none}.ui-fileupload.is-raised{-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);-webkit-transition:-webkit-box-shadow .1s;transition:-webkit-box-shadow .1s;transition:box-shadow .1s;transition:box-shadow .1s,-webkit-box-shadow .1s}.ui-fileupload.is-raised.has-focus-ring.is-active,body[modality=keyboard] .ui-fileupload.is-raised.is-active{-webkit-box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3)}.ui-fileupload.is-disabled{cursor:default;opacity:.6}.ui-fileupload__input{height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1;width:.1px}.ui-fileupload__content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;z-index:1}.ui-fileupload__icon{margin-left:-.25rem;margin-right:.375rem;margin-top:-.125rem}.ui-fileupload__focus-ring{left:0;position:absolute;top:0;width:100%}.ui-fileupload__focus-ring:before{border-radius:50%;content:"";display:block;left:0;margin-top:calc(-50% - -1.125rem);padding-top:100%;position:relative;top:0;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.375rem;margin-right:-.25rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-fileupload--size-small{font-size:.875rem;height:2rem;padding-left:.75rem;padding-right:.75rem}.ui-fileupload--size-small .ui-fileupload__icon{margin-left:0;margin-top:0}.ui-fileupload--size-small .ui-fileupload__icon .ui-icon{font-size:1.125rem}.ui-fileupload--size-small.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.375rem;margin-right:0}.ui-fileupload--size-large{font-size:1rem;height:3rem;padding-left:1.5rem;padding-right:1.5rem}.ui-fileupload--size-large .ui-fileupload__icon{margin-left:-.25rem;margin-right:.5rem}.ui-fileupload--size-large.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.5rem;margin-right:-.25rem}.ui-fileupload--type-primary .ui-fileupload__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-fileupload--type-primary.ui-fileupload--color-default{background-color:#eee;color:rgba(0,0,0,.87)}.ui-fileupload--type-primary.ui-fileupload--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-fileupload--type-primary.ui-fileupload--color-default .ui-ripple-ink__ink{opacity:.2}.ui-fileupload--type-primary.ui-fileupload--color-default .ui-fileupload__icon{color:rgba(0,0,0,.54)}.ui-fileupload--type-primary.ui-fileupload--color-accent,.ui-fileupload--type-primary.ui-fileupload--color-primary{color:#fff}.ui-fileupload--type-primary.ui-fileupload--color-accent .ui-ripple-ink__ink,.ui-fileupload--type-primary.ui-fileupload--color-primary .ui-ripple-ink__ink{opacity:.4}.ui-fileupload--type-primary.ui-fileupload--color-primary{background-color:#ff4081}.ui-fileupload--type-primary.ui-fileupload--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-fileupload--type-primary.ui-fileupload--color-accent{background-color:#ff4081}.ui-fileupload--type-primary.ui-fileupload--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-fileupload--type-secondary{background-color:transparent}.ui-fileupload--type-secondary.ui-fileupload--color-default{color:rgba(0,0,0,.87)}.ui-fileupload--type-secondary.ui-fileupload--color-default:hover:not(.is-disabled){background-color:#eee}.ui-fileupload--type-secondary.ui-fileupload--color-default .ui-fileupload__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-default .ui-fileupload__icon{color:rgba(0,0,0,.54)}.ui-fileupload--type-secondary.ui-fileupload--color-primary{color:#ff4081}.ui-fileupload--type-secondary.ui-fileupload--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-primary .ui-fileupload__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-fileupload--type-secondary.ui-fileupload--color-accent{color:#ff4081}.ui-fileupload--type-secondary.ui-fileupload--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-accent .ui-fileupload__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-popover.is-raised{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.ui-popover .ui-menu{border:none}.ui-popover-theme{background-color:#fff}.ui-progress-circular{position:relative}.ui-progress-circular__determinate{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ui-progress-circular__determinate-path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset .3s;transition:stroke-dashoffset .3s}.ui-progress-circular__indeterminate{-webkit-animation:ui-progress-circular-rotate .7s linear infinite;animation:ui-progress-circular-rotate .7s linear infinite;bottom:0;height:100%;left:0;margin:auto;position:absolute;right:0;top:0;-webkit-transform-origin:center center;transform-origin:center center;width:100%}.ui-progress-circular__indeterminate-path{stroke-dasharray:89,200;stroke-dashoffset:-35px;stroke-linecap:round}.ui-progress-circular--color-multi-color .ui-progress-circular__determinate-path{stroke:#ff4081}.ui-progress-circular--color-multi-color .ui-progress-circular__indeterminate-path{-webkit-animation:ui-progress-circular-color 6s ease-in-out infinite;animation:ui-progress-circular-color 6s ease-in-out infinite}.ui-progress-circular--color-accent .ui-progress-circular__determinate-path,.ui-progress-circular--color-accent .ui-progress-circular__indeterminate-path,.ui-progress-circular--color-primary .ui-progress-circular__determinate-path,.ui-progress-circular--color-primary .ui-progress-circular__indeterminate-path{stroke:#ff4081}.ui-progress-circular--color-black .ui-progress-circular__determinate-path,.ui-progress-circular--color-black .ui-progress-circular__indeterminate-path{stroke:#212121}.ui-progress-circular--color-white .ui-progress-circular__determinate-path,.ui-progress-circular--color-white .ui-progress-circular__indeterminate-path{stroke:#fff}.ui-progress-circular--transition-fade-enter-active,.ui-progress-circular--transition-fade-leave-active{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-progress-circular--transition-fade-enter,.ui-progress-circular--transition-fade-leave-active{opacity:0;-webkit-transform:scale(0);transform:scale(0)}@-webkit-keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}@keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}.tippy-iOS{cursor:pointer!important;-webkit-tap-highlight-color:transparent}.tippy-popper{max-height:100%;max-width:100%;outline:0;pointer-events:none;-webkit-transition-timing-function:cubic-bezier(.165,.84,.44,1);transition-timing-function:cubic-bezier(.165,.84,.44,1);z-index:60}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0;-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px) scale(.5);transform:translateY(-10px) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%;-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px) scale(.5);transform:translateY(10px) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px) scale(.5);transform:translateX(-10px) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0;-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px) scale(.5);transform:translateX(10px) scale(.5)}.tippy-tooltip{position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-backdrop{position:absolute;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;-webkit-transition:all cubic-bezier(.46,.1,.52,.98);transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{-webkit-transition-property:opacity;transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}.ui-tooltip-theme{border-radius:.125rem;color:#fff;font-size:.8125rem;line-height:1.4;padding:.3rem .5rem;text-align:center}.ui-tooltip-theme,.ui-tooltip-theme .tippy-backdrop{background-color:rgba(33,33,33,.9)}.ui-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border-radius:.125rem;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:600;height:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;letter-spacing:.02em;line-height:1;min-width:5rem;outline:none;overflow:hidden;padding:0;padding-left:1rem;padding-right:1rem;position:relative;text-transform:uppercase;-ms-touch-action:manipulation;touch-action:manipulation}.ui-button::-moz-focus-inner{border:0}.ui-button.has-focus-ring:focus .ui-button__focus-ring:before,body[modality=keyboard] .ui-button:focus .ui-button__focus-ring:before{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-button.is-anchor{cursor:pointer;text-decoration:none}.ui-button.is-anchor.is-disabled{cursor:default}.ui-button.is-raised{-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);-webkit-transition:-webkit-box-shadow .3s ease;transition:-webkit-box-shadow .3s ease;transition:box-shadow .3s ease;transition:box-shadow .3s ease,-webkit-box-shadow .3s ease}.ui-button.is-raised.has-focus-ring:focus,body[modality=keyboard] .ui-button.is-raised:focus{-webkit-box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3)}.ui-button.is-loading .ui-button__content{opacity:0}.ui-button.is-disabled{opacity:.6}.ui-button__content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;z-index:1}.ui-button__icon{margin-left:-.25rem;margin-right:.375rem;margin-top:-.125rem}.ui-button__dropdown-icon{font-size:1.125rem;margin-left:.125rem;margin-right:-.375rem}.ui-button__focus-ring{left:0;position:absolute;top:0;width:100%}.ui-button__focus-ring:before{border-radius:50%;content:"";display:block;left:0;margin-top:calc(-50% - -1.125rem);padding-top:100%;position:relative;top:0;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-progress-circular.ui-button__progress{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ui-button-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui-button--icon-position-right .ui-button__icon{margin-left:.375rem;margin-right:-.25rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-button--size-small{font-size:.875rem;height:2rem;padding-left:.75rem;padding-right:.75rem}.ui-button--size-small .ui-button__icon{margin-left:0;margin-top:0}.ui-button--size-small .ui-button__icon .ui-icon{font-size:1.125rem}.ui-button--size-small .ui-button__dropdown-icon{margin-right:-.25rem}.ui-button--size-small.ui-button--icon-position-right .ui-button__icon{margin-left:.375rem;margin-right:0}.ui-button--size-large{font-size:1rem;height:3rem;padding-left:1.5rem;padding-right:1.5rem}.ui-button--size-large .ui-button__icon{margin-left:-.25rem;margin-right:.5rem}.ui-button--size-large .ui-button__dropdown-icon{font-size:1.5rem;margin-left:.25rem}.ui-button--size-large.ui-button--icon-position-right .ui-button__icon{margin-left:.5rem;margin-right:-.25rem}.ui-button--type-primary .ui-button__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-button--type-primary.ui-button--color-default{background-color:#eee;color:rgba(0,0,0,.87)}.ui-button--type-primary.ui-button--color-default.has-dropdown-open,.ui-button--type-primary.ui-button--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-button--type-primary.ui-button--color-default .ui-ripple-ink__ink{opacity:.2}.ui-button--type-primary.ui-button--color-default .ui-button__dropdown-icon,.ui-button--type-primary.ui-button--color-default .ui-button__icon{color:rgba(0,0,0,.54)}.ui-button--type-primary.ui-button--color-accent,.ui-button--type-primary.ui-button--color-green,.ui-button--type-primary.ui-button--color-orange,.ui-button--type-primary.ui-button--color-primary,.ui-button--type-primary.ui-button--color-red{color:#fff}.ui-button--type-primary.ui-button--color-accent .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-green .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-orange .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-primary .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-red .ui-ripple-ink__ink{opacity:.4}.ui-button--type-primary.ui-button--color-primary{background-color:#ff4081}.ui-button--type-primary.ui-button--color-primary.has-dropdown-open,.ui-button--type-primary.ui-button--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-button--type-primary.ui-button--color-accent{background-color:#ff4081}.ui-button--type-primary.ui-button--color-accent.has-dropdown-open,.ui-button--type-primary.ui-button--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-button--type-primary.ui-button--color-green{background-color:#4caf50}.ui-button--type-primary.ui-button--color-green.has-dropdown-open,.ui-button--type-primary.ui-button--color-green:hover:not(.is-disabled){background-color:#3d8b40}.ui-button--type-primary.ui-button--color-orange{background-color:#ff9800}.ui-button--type-primary.ui-button--color-orange.has-dropdown-open,.ui-button--type-primary.ui-button--color-orange:hover:not(.is-disabled){background-color:#cc7a00}.ui-button--type-primary.ui-button--color-red{background-color:#f44336}.ui-button--type-primary.ui-button--color-red.has-dropdown-open,.ui-button--type-primary.ui-button--color-red:hover:not(.is-disabled){background-color:#ea1c0d}.ui-button--type-secondary{background-color:transparent}.ui-button--type-secondary.ui-button--color-default{color:rgba(0,0,0,.87)}.ui-button--type-secondary.ui-button--color-default.has-dropdown-open,.ui-button--type-secondary.ui-button--color-default:hover:not(.is-disabled){background-color:#eee}.ui-button--type-secondary.ui-button--color-default .ui-button__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-button--type-secondary.ui-button--color-default .ui-button__icon{color:rgba(0,0,0,.54)}.ui-button--type-secondary.ui-button--color-primary{color:#ff4081}.ui-button--type-secondary.ui-button--color-primary.has-dropdown-open,.ui-button--type-secondary.ui-button--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-button--type-secondary.ui-button--color-primary .ui-button__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-button--type-secondary.ui-button--color-accent{color:#ff4081}.ui-button--type-secondary.ui-button--color-accent.has-dropdown-open,.ui-button--type-secondary.ui-button--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-button--type-secondary.ui-button--color-accent .ui-button__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-button--type-secondary.ui-button--color-green{color:#43a047}.ui-button--type-secondary.ui-button--color-green.has-dropdown-open,.ui-button--type-secondary.ui-button--color-green:hover:not(.is-disabled){background-color:rgba(67,160,71,.12)}.ui-button--type-secondary.ui-button--color-green .ui-button__focus-ring:before{background-color:rgba(67,160,71,.26)}.ui-button--type-secondary.ui-button--color-orange{color:#ff9800}.ui-button--type-secondary.ui-button--color-orange.has-dropdown-open,.ui-button--type-secondary.ui-button--color-orange:hover:not(.is-disabled){background-color:rgba(255,152,0,.12)}.ui-button--type-secondary.ui-button--color-orange .ui-button__focus-ring:before{background-color:rgba(255,152,0,.26)}.ui-button--type-secondary.ui-button--color-red{color:#f44336}.ui-button--type-secondary.ui-button--color-red.has-dropdown-open,.ui-button--type-secondary.ui-button--color-red:hover:not(.is-disabled){background-color:rgba(244,67,54,.12)}.ui-button--type-secondary.ui-button--color-red .ui-button__focus-ring:before{background-color:rgba(244,67,54,.26)}.ui-textbox{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0}.ui-textbox:hover:not(.is-disabled) .ui-textbox__label-text{color:rgba(0,0,0,.75)}.ui-textbox:hover:not(.is-disabled) .ui-textbox__input,.ui-textbox:hover:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:rgba(0,0,0,.3)}.ui-textbox.is-active:not(.is-disabled) .ui-textbox__input,.ui-textbox.is-active:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-textbox.is-active:not(.is-disabled) .ui-textbox__icon-wrapper .ui-icon,.ui-textbox.is-active:not(.is-disabled) .ui-textbox__label-text{color:#ff4081}.ui-textbox.has-label .ui-textbox__icon-wrapper{padding-top:1.5rem}.ui-textbox.has-counter .ui-textbox__feedback-text{padding-right:3rem}.ui-textbox.has-floating-label .ui-textbox__label-text{display:table;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ui-textbox.has-floating-label .ui-textbox__label-text.is-inline{color:rgba(0,0,0,.54);cursor:text;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-textbox.has-floating-label .ui-textbox__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-textbox.has-floating-label .ui-textbox__label>input:-webkit-autofill+.ui-textbox__label-text.is-inline{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__counter,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__icon-wrapper .ui-icon,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__label-text{color:#f44336}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__input,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:#f44336}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__feedback{color:#f44336}.ui-textbox.is-disabled .ui-textbox__input,.ui-textbox.is-disabled .ui-textbox__textarea{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38)}.ui-textbox.is-disabled .ui-textbox__icon-wrapper .ui-icon{opacity:.6}.ui-textbox.is-disabled .ui-textbox__feedback{opacity:.8}.ui-textbox__label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin:0;padding:0;width:100%}.ui-textbox__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-textbox__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-textbox__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-textbox__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-textbox__input,.ui-textbox__textarea{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;display:block;font-family:inherit;font-size:1rem;font-weight:400;margin:0;outline:none;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-textbox__input{height:1.7rem}.ui-textbox__textarea{overflow-x:hidden;overflow-y:auto;padding-bottom:.375rem;resize:vertical}.ui-textbox__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-textbox__counter{position:absolute;right:0;top:.25rem}.ui-textbox--icon-position-right .ui-textbox__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-progress-linear{display:block;height:.25rem;overflow:hidden;position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:height,opacity;transition-property:height,opacity;-webkit-transition-timing-function:ease;transition-timing-function:ease;width:100%}.ui-progress-linear__progress-bar{height:.25rem;left:0;position:absolute;top:0;-webkit-transform-origin:left;transform-origin:left;width:100%}.ui-progress-linear__progress-bar.is-determinate{-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.ui-progress-linear__progress-bar.is-indeterminate{-webkit-animation:ui-progress-linear-indeterminate 2.1s linear infinite;animation:ui-progress-linear-indeterminate 2.1s linear infinite;-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0);-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1)}@-webkit-keyframes ui-progress-linear-indeterminate{0%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}25%{-webkit-transform:translateX(50%) scaleX(.6);transform:translateX(50%) scaleX(.6)}49%{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}50%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}75%{-webkit-transform:translateX(0) scaleX(.6);transform:translateX(0) scaleX(.6)}to{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}}@keyframes ui-progress-linear-indeterminate{0%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}25%{-webkit-transform:translateX(50%) scaleX(.6);transform:translateX(50%) scaleX(.6)}49%{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}50%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}75%{-webkit-transform:translateX(0) scaleX(.6);transform:translateX(0) scaleX(.6)}to{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}}.ui-progress-linear--transition-fade-enter-active,.ui-progress-linear--transition-fade-leave-active{-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.ui-progress-linear--transition-fade-enter,.ui-progress-linear--transition-fade-leave-active{opacity:0}.ui-progress-linear--color-primary{background-color:rgba(255,64,129,.4)}.ui-progress-linear--color-primary .ui-progress-linear__progress-bar{background-color:#ff4081}.ui-progress-linear--color-accent{background-color:rgba(255,64,129,.4)}.ui-progress-linear--color-accent .ui-progress-linear__progress-bar{background-color:#ff4081}.ui-progress-linear--color-black{background-color:rgba(97,97,97,.4)}.ui-progress-linear--color-black .ui-progress-linear__progress-bar{background-color:#616161}.ui-progress-linear--color-white{background-color:hsla(0,0%,100%,.4)}.ui-progress-linear--color-white .ui-progress-linear__progress-bar{background-color:#fff}.ui-select-option{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:.9375rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-select-option.is-selected{background-color:rgba(0,0,0,.05);color:#ff4081;font-weight:600}.ui-select-option.is-selected .ui-select-option__checkbox{color:#ff4081}.ui-select-option.is-highlighted{background-color:rgba(0,0,0,.1)}.ui-select-option__basic,.ui-select-option__image-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-option__image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui-select-option__image-object{background-position:50%;background-size:cover;border-radius:50%;height:2rem;margin-right:.75rem;width:2rem}.ui-select-option__checkbox{color:rgba(0,0,0,.38);margin-left:auto}.ui-select-option--type-basic{padding:.375rem .75rem}.ui-select-option--type-image{padding:.25rem .75rem}.ui-icon-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border-radius:50%;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0;outline:none;overflow:hidden;padding:0;position:relative;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-icon-button,.ui-icon-button .ui-icon-button__focus-ring{height:2.25rem;width:2.25rem}body[modality=keyboard] .ui-icon-button:focus .ui-icon-button__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-icon-button::-moz-focus-inner{border:0}.ui-icon-button.is-anchor{cursor:pointer;text-decoration:none}.ui-icon-button.is-anchor.is-disabled{cursor:default}.ui-icon-button.is-loading .ui-icon-button__icon{opacity:0}.ui-icon-button.is-disabled{opacity:.6}.ui-icon-button__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:currentColor;display:-webkit-box;display:-ms-flexbox;display:flex;height:auto;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:1;position:relative;-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:100%;z-index:1}.ui-icon-button__icon .ui-icon{display:block}.ui-icon-button__focus-ring{border-radius:50%;height:2.25rem;left:0;opacity:0;position:absolute;top:0;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease;width:2.25rem}.ui-progress-circular.ui-icon-button__progress{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ui-icon-button--size-mini,.ui-icon-button--size-mini .ui-icon-button__focus-ring{height:1.5rem;width:1.5rem}.ui-icon-button--size-mini .ui-icon{font-size:1.125rem}.ui-icon-button--size-small,.ui-icon-button--size-small .ui-icon-button__focus-ring{height:2rem;width:2rem}.ui-icon-button--size-small .ui-icon{font-size:1.125rem}.ui-icon-button--size-large,.ui-icon-button--size-large .ui-icon-button__focus-ring{height:3rem;width:3rem}.ui-icon-button--color-black,.ui-icon-button--color-white{background-color:transparent}.ui-icon-button--color-black.has-dropdown-open,.ui-icon-button--color-black:hover:not(.is-disabled),.ui-icon-button--color-white.has-dropdown-open,.ui-icon-button--color-white:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}.ui-icon-button--color-black .ui-icon-button__focus-ring,.ui-icon-button--color-white .ui-icon-button__focus-ring{background-color:rgba(0,0,0,.12)}.ui-icon-button--color-black{color:rgba(0,0,0,.54)}.ui-icon-button--color-white{color:#fff}.ui-icon-button--type-primary.ui-icon-button--color-default{color:rgba(0,0,0,.87);background-color:#eee}.ui-icon-button--type-primary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-icon-button--type-primary.ui-icon-button--color-default .ui-icon-button__focus-ring{background-color:#cfcfcf}.ui-icon-button--type-primary.ui-icon-button--color-default .ui-ripple-ink__ink{opacity:.2}.ui-icon-button--type-primary.ui-icon-button--color-accent,.ui-icon-button--type-primary.ui-icon-button--color-green,.ui-icon-button--type-primary.ui-icon-button--color-orange,.ui-icon-button--type-primary.ui-icon-button--color-primary,.ui-icon-button--type-primary.ui-icon-button--color-red{color:#fff}.ui-icon-button--type-primary.ui-icon-button--color-accent .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-green .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-orange .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-primary .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-red .ui-ripple-ink__ink{opacity:.4}.ui-icon-button--type-primary.ui-icon-button--color-primary{background-color:#ff4081}.ui-icon-button--type-primary.ui-icon-button--color-primary.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-icon-button--type-primary.ui-icon-button--color-primary .ui-icon-button__focus-ring{background-color:#ff0359}.ui-icon-button--type-primary.ui-icon-button--color-accent{background-color:#ff4081}.ui-icon-button--type-primary.ui-icon-button--color-accent.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-icon-button--type-primary.ui-icon-button--color-accent .ui-icon-button__focus-ring{background-color:#ff0359}.ui-icon-button--type-primary.ui-icon-button--color-green{background-color:#4caf50}.ui-icon-button--type-primary.ui-icon-button--color-green.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-green:hover:not(.is-disabled){background-color:#3d8b40}.ui-icon-button--type-primary.ui-icon-button--color-green .ui-icon-button__focus-ring{background-color:#39843c}.ui-icon-button--type-primary.ui-icon-button--color-orange{background-color:#ff9800}.ui-icon-button--type-primary.ui-icon-button--color-orange.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-orange:hover:not(.is-disabled){background-color:#cc7a00}.ui-icon-button--type-primary.ui-icon-button--color-orange .ui-icon-button__focus-ring{background-color:#c27400}.ui-icon-button--type-primary.ui-icon-button--color-red{background-color:#f44336}.ui-icon-button--type-primary.ui-icon-button--color-red.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-red:hover:not(.is-disabled){background-color:#ea1c0d}.ui-icon-button--type-primary.ui-icon-button--color-red .ui-icon-button__focus-ring{background-color:#e11b0c}.ui-icon-button--type-secondary.ui-icon-button--color-default{color:rgba(0,0,0,.54)}.ui-icon-button--type-secondary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-default.has-focus-ring:focus,.ui-icon-button--type-secondary.ui-icon-button--color-default:hover:not(.is-disabled),body[modality=keyboard] .ui-icon-button--type-secondary.ui-icon-button--color-default:focus{color:rgba(0,0,0,.87)}.ui-icon-button--type-secondary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-default:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}.ui-icon-button--type-secondary.ui-icon-button--color-default .ui-icon-button__focus-ring{background-color:rgba(0,0,0,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-primary{color:#ff4081}.ui-icon-button--type-secondary.ui-icon-button--color-primary.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-primary .ui-icon-button__focus-ring{background-color:rgba(255,64,129,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-accent{color:#ff4081}.ui-icon-button--type-secondary.ui-icon-button--color-accent.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-accent .ui-icon-button__focus-ring{background-color:rgba(255,64,129,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-green{color:#43a047}.ui-icon-button--type-secondary.ui-icon-button--color-green.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-green:hover:not(.is-disabled){background-color:rgba(67,160,71,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-green .ui-icon-button__focus-ring{background-color:rgba(67,160,71,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-orange{color:#ff9800}.ui-icon-button--type-secondary.ui-icon-button--color-orange.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-orange:hover:not(.is-disabled){background-color:rgba(255,152,0,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-orange .ui-icon-button__focus-ring{background-color:rgba(255,152,0,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-red{color:#f44336}.ui-icon-button--type-secondary.ui-icon-button--color-red.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-red:hover:not(.is-disabled){background-color:rgba(244,67,54,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-red .ui-icon-button__focus-ring{background-color:rgba(244,67,54,.26)}.ui-checkbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-weight:400;margin:0;margin-bottom:.5rem;position:relative}.ui-checkbox:not(.is-disabled):not(.is-checked).is-active .ui-checkbox__checkmark-background,.ui-checkbox:not(.is-disabled):not(.is-checked):hover .ui-checkbox__checkmark-background{border-color:rgba(0,0,0,.6)}.ui-checkbox.is-checked .ui-checkbox__checkmark:after{border-bottom:.125rem solid #fff;border-right:.125rem solid #fff;opacity:1}.ui-checkbox.is-disabled .ui-checkbox__checkmark,.ui-checkbox.is-disabled .ui-checkbox__label-text{color:rgba(0,0,0,.38);cursor:default}.ui-checkbox.is-disabled .ui-checkbox__checkmark-background{border-color:rgba(0,0,0,.26)}.ui-checkbox.is-disabled.is-checked .ui-checkbox__checkmark-background{background-color:rgba(0,0,0,.26);border:none}.ui-checkbox__label-text{cursor:pointer;font-size:1rem;margin-left:.5rem}.ui-checkbox__checkmark{background-color:#fff;cursor:pointer;-ms-flex-negative:0;flex-shrink:0;height:1.25rem;position:relative;width:1.25rem;border-radius:.125rem}.ui-checkbox__checkmark:after{bottom:.3125rem;height:.8125rem;left:.4375rem;opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;width:.375rem}.ui-checkbox__checkmark-background,.ui-checkbox__checkmark:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:"";display:block;position:absolute}.ui-checkbox__checkmark-background{border-radius:.125rem;border:.125rem solid rgba(0,0,0,.38);height:100%;left:0;top:0;-webkit-transition:all .3s ease;transition:all .3s ease;width:100%}.ui-checkbox__input{position:absolute;opacity:0}body[modality=keyboard] .ui-checkbox__input:focus+.ui-checkbox__checkmark .ui-checkbox__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-checkbox__focus-ring{border-radius:50%;height:2.625rem;margin-left:-.6875rem;margin-top:-.6875rem;opacity:0;position:absolute;-webkit-transform:scale(0);transform:scale(0);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;width:2.625rem;background-color:rgba(0,0,0,.12)}.ui-checkbox--box-position-right .ui-checkbox__label-text{margin-left:0;margin-right:auto;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.ui-checkbox--color-primary:not(.is-disabled).is-checked.is-active .ui-checkbox__checkmark-background,.ui-checkbox--color-primary:not(.is-disabled).is-checked:hover .ui-checkbox__checkmark-background{background-color:#ff2770;border-color:#ff2770}.ui-checkbox--color-primary.is-checked .ui-checkbox__checkmark-background{background-color:#ff4081;border-color:#ff4081}.ui-checkbox--color-primary.is-checked .ui-checkbox__focus-ring{background-color:rgba(255,64,129,.18)}.ui-checkbox--color-accent:not(.is-disabled).is-checked.is-active .ui-checkbox__checkmark-background,.ui-checkbox--color-accent:not(.is-disabled).is-checked:hover .ui-checkbox__checkmark-background{background-color:#ff2770;border-color:#ff2770}.ui-checkbox--color-accent.is-checked .ui-checkbox__checkmark-background{background-color:#ff4081;border-color:#ff4081}.ui-checkbox--color-accent.is-checked .ui-checkbox__focus-ring{background-color:rgba(255,64,129,.18)}.ui-radio{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.9375rem;height:1.25rem;margin:0}.ui-radio:hover:not(.is-disabled):not(.is-checked) .ui-radio__outer-circle{border:.125rem solid rgba(0,0,0,.54)}.ui-radio.is-checked .ui-radio__inner-circle{opacity:1;-webkit-transform:scale(.5);transform:scale(.5);z-index:0}.ui-radio.is-disabled{opacity:.5}.ui-radio.is-disabled .ui-radio__input-wrapper,.ui-radio.is-disabled .ui-radio__label-text{cursor:default}.ui-radio__input-wrapper{cursor:pointer;height:1.25rem;position:relative;width:1.25rem}.ui-radio__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1px;left:0;margin:0;opacity:0;outline:none;padding:0;position:absolute;top:0;width:1px}body[modality=keyboard] .ui-radio__input:focus+.ui-radio__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-radio__outer-circle{background-color:transparent;border-radius:50%;border:.125rem solid rgba(0,0,0,.38);-webkit-transition:border-color .2s;transition:border-color .2s}.ui-radio__inner-circle,.ui-radio__outer-circle{height:1.25rem;left:0;position:absolute;top:0;width:1.25rem}.ui-radio__inner-circle{background-color:rgba(0,0,0,.38);border-radius:50%;opacity:0;-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,background-color,-webkit-transform;transition-property:opacity,background-color,-webkit-transform;transition-property:transform,opacity,background-color;transition-property:transform,opacity,background-color,-webkit-transform;z-index:-1}.ui-radio__focus-ring{background-color:rgba(0,0,0,.1);border-radius:50%;height:2.625rem;left:-.6875rem;opacity:0;position:absolute;top:-.6875rem;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:background-color .2s ease,opacity .15s ease,-webkit-transform .15s ease;transition:background-color .2s ease,opacity .15s ease,-webkit-transform .15s ease;transition:background-color .2s ease,transform .15s ease,opacity .15s ease;transition:background-color .2s ease,transform .15s ease,opacity .15s ease,-webkit-transform .15s ease;width:2.625rem;z-index:-1}.ui-radio__label-text{cursor:pointer;font-size:1rem;margin-left:.5rem}.ui-radio--button-position-right .ui-radio__label-text{margin-left:0;margin-right:auto;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__outer-circle{border-color:#ff4081}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__inner-circle{background-color:#ff4081}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__focus-ring{background-color:rgba(255,64,129,.2)}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__outer-circle{border-color:#ff4081}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__inner-circle{background-color:#ff4081}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__focus-ring{background-color:rgba(255,64,129,.2)}.ui-radio-group{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif}.ui-radio-group:not(.is-disabled):not(.is-invalid):hover .ui-radio-group__label-text{color:rgba(0,0,0,.75)}.ui-radio-group:not(.is-disabled):not(.is-invalid).is-active .ui-radio-group__label-text{color:#ff4081}.ui-radio-group.is-vertical .ui-radio-group__radios{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:.5rem}.ui-radio-group.is-vertical .ui-radio-group__radio{margin-bottom:.75rem;margin-left:0;width:100%}.ui-radio-group.is-invalid .ui-radio-group__feedback,.ui-radio-group.is-invalid .ui-radio-group__label-text{color:#f44336}.ui-radio-group.is-disabled .ui-radio-group__feedback{opacity:.8}.ui-radio-group__label-text{color:rgba(0,0,0,.54);font-size:.9375rem;line-height:normal;-webkit-transition:color .1s ease;transition:color .1s ease}.ui-radio-group__radios{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;min-height:1.7rem}.ui-radio.ui-radio-group__radio{margin-left:1.5rem}.ui-radio.ui-radio-group__radio:first-child{margin-left:0}.ui-radio-group__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:0;position:relative}.ui-radio-group--button-position-right:not(.is-vertical) .ui-radio__label-text{margin-right:.5rem}.ui-slider{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;outline:none}.ui-slider:not(.is-disabled).is-active:not(.has-marker) .ui-slider__thumb:before,.ui-slider:not(.is-disabled).is-dragging:not(.has-marker) .ui-slider__thumb:before{-webkit-transform:scale(1);transform:scale(1)}.ui-slider:not(.is-disabled).is-active .ui-slider__marker,.ui-slider:not(.is-disabled).is-dragging .ui-slider__marker{opacity:1;-webkit-transform:scale(1) translateY(-1.625rem);transform:scale(1) translateY(-1.625rem)}.ui-slider:not(.is-disabled).is-active .ui-slider__marker-text,.ui-slider:not(.is-disabled).is-dragging .ui-slider__marker-text{color:#fff}.ui-slider:not(.is-disabled).is-active .ui-slider__snap-point,.ui-slider:not(.is-disabled).is-dragging .ui-slider__snap-point{opacity:1}.ui-slider:not(.is-disabled).is-active .ui-slider__icon .ui-icon,.ui-slider:not(.is-disabled).is-dragging .ui-slider__icon .ui-icon{color:#ff4081}.ui-slider.is-disabled .ui-slider__icon{opacity:.6}.ui-slider.is-disabled .ui-slider__track{cursor:default}.ui-slider.is-disabled .ui-slider__track-fill{background-color:transparent}.ui-slider.is-disabled .ui-slider__thumb{background-color:#ddd;border:.125rem solid #fff}.ui-slider__icon{margin-right:1rem}.ui-slider__icon .ui-icon{color:rgba(0,0,0,.54);-webkit-transition:color .2s ease;transition:color .2s ease}.ui-slider__track{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:1.125rem;margin:0 auto;position:relative;width:100%}.ui-slider__track-background,.ui-slider__track-fill{content:"";display:block;height:.1875rem;left:0;position:absolute;top:.46875rem}.ui-slider__track-background{background-color:rgba(0,0,0,.12);width:100%}.ui-slider__snap-point{background-color:rgba(0,0,0,.75);height:.1875rem;opacity:0;position:absolute;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:.125rem;z-index:1}.ui-slider__track-fill{background-color:#ff4081;-webkit-transform-origin:left;transform-origin:left;width:100%}.ui-slider__thumb{background-color:#ff4081;border-radius:50%;cursor:inherit;display:block;height:.875rem;left:0;position:relative;width:.875rem;z-index:1;margin-left:-.4375rem}.ui-slider__thumb:before{background-color:rgba(255,64,129,.38);border-radius:50%;content:"";display:block;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.ui-slider__marker,.ui-slider__thumb:before{height:2.25rem;margin-left:-.6875rem;margin-top:-.6875rem;position:absolute;width:2.25rem}.ui-slider__marker{opacity:0;-webkit-transform:scale(0) translateY(0);transform:scale(0) translateY(0);-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-slider__marker svg{fill:#ff4081;height:2.25rem;width:2.25rem}.ui-slider__marker-text{color:#ff4081;font-size:.8125rem;font-weight:600;left:0;position:absolute;text-align:center;top:.25rem;-webkit-transition:color .2s ease;transition:color .2s ease;width:2.25rem}.ui-slider--is-dragging{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vc-editable-input{position:relative}.vc-input__input{padding:0;border:0;outline:none}.vc-input__label{text-transform:capitalize}.vc-saturation,.vc-saturation--black,.vc-saturation--white{cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0}.vc-saturation--white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.vc-hue{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px}.vc-hue--horizontal{background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:-webkit-gradient(linear,left bottom,left top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;margin:0 2px;position:relative;height:100%}.vc-hue-pointer{z-index:2;position:absolute}.vc-hue-picker{cursor:pointer;margin-top:1px;width:4px;border-radius:1px;height:8px;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.vc-checkerboard{background-size:contain}.vc-alpha,.vc-alpha-checkboard-wrap,.vc-checkerboard{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-container{cursor:pointer;position:relative;z-index:2;height:100%;margin:0 3px}.vc-alpha-pointer{z-index:2;position:absolute}.vc-alpha-picker{cursor:pointer;width:4px;border-radius:1px;height:8px;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;margin-top:1px;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.vc-sketch{position:relative;width:200px;padding:10px 10px 0;-webkit-box-sizing:initial;box-sizing:initial;background:#fff;border-radius:4px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15);box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15)}.vc-sketch-saturation-wrap{width:100%;padding-bottom:75%;position:relative;overflow:hidden}.vc-sketch-controls{display:-webkit-box;display:-ms-flexbox;display:flex}.vc-sketch-sliders{padding:4px 0;-webkit-box-flex:1;-ms-flex:1;flex:1}.vc-sketch-sliders .vc-alpha-gradient,.vc-sketch-sliders .vc-hue{border-radius:2px}.vc-sketch-alpha-wrap,.vc-sketch-hue-wrap{position:relative;height:10px}.vc-sketch-alpha-wrap{margin-top:4px;overflow:hidden}.vc-sketch-color-wrap{width:24px;height:24px;position:relative;margin-top:4px;margin-left:4px;border-radius:3px}.vc-sketch-active-color{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2px;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);z-index:2}.vc-sketch-color-wrap .vc-checkerboard{background-size:auto}.vc-sketch-field{display:-webkit-box;display:-ms-flexbox;display:flex;padding-top:4px}.vc-sketch-field .vc-input__input{width:90%;padding:4px 0 3px 10%;border:none;-webkit-box-shadow:inset 0 0 0 1px #ccc;box-shadow:inset 0 0 0 1px #ccc;font-size:10px}.vc-sketch-field .vc-input__label{display:block;text-align:center;font-size:11px;color:#222;padding-top:3px;padding-bottom:4px;text-transform:capitalize}.vc-sketch-field--single{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:6px}.vc-sketch-field--double{-webkit-box-flex:2;-ms-flex:2;flex:2}.vc-sketch-presets{margin-right:-10px;margin-left:-10px;padding-left:10px;padding-top:10px;border-top:1px solid #eee}.vc-sketch-presets-color{overflow:hidden;position:relative;display:inline-block;margin:0 10px 10px 0;vertical-align:top;cursor:pointer;width:16px;height:16px}.vc-sketch-presets-color,.vc-sketch-presets-color .vc-checkerboard{border-radius:3px;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.vc-sketch__disable-alpha .vc-sketch-color-wrap{height:10px}.ui-select{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0;outline:none;position:relative}.ui-select:hover:not(.is-disabled) .ui-select__label-text{color:rgba(0,0,0,.75)}.ui-select:hover:not(.is-disabled) .ui-select__display{border-bottom-color:rgba(0,0,0,.3)}.ui-select:hover:not(.is-disabled) .ui-select__dropdown-button{color:rgba(0,0,0,.87)}.ui-select.is-active:not(.is-disabled) .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label-text{color:#ff4081}.ui-select.is-active:not(.is-disabled) .ui-select__display{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-select.has-floating-label .ui-select__label-text{display:table}.ui-select.has-floating-label .ui-select__label-text.is-inline{color:rgba(0,0,0,.54);cursor:pointer;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-select.has-floating-label .ui-select__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-select.has-label .ui-select__icon-wrapper{padding-top:1.5rem}.ui-select.has-label .ui-select__dropdown-button{top:1.6875rem}.ui-select:not(.is-multiple) .ui-select__display{height:1.7rem;line-height:1}.ui-select.is-multiple .ui-select__display{line-height:1.4;padding-bottom:.25rem;padding-top:.25rem}.ui-select.is-invalid:not(.is-disabled) .ui-select__icon-wrapper .ui-icon,.ui-select.is-invalid:not(.is-disabled) .ui-select__label-text{color:#f44336}.ui-select.is-invalid:not(.is-disabled) .ui-select__display{border-bottom-color:#f44336}.ui-select.is-invalid:not(.is-disabled) .ui-select__feedback{color:#f44336}.ui-select.is-disabled .ui-select__display{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38);cursor:default}.ui-select.is-disabled .ui-select__display-value.is-placeholder,.ui-select.is-disabled .ui-select__dropdown-button{color:rgba(0,0,0,.38);opacity:.6}.ui-select.is-disabled .ui-select__icon-wrapper .ui-icon{opacity:.6}.ui-select.is-disabled .ui-select__feedback{opacity:.8}.ui-select__label{display:block;margin:0;outline:none;padding:0;width:100%}.ui-select__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-select__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-select__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-select__display{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;color:rgba(0,0,0,.87);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:1rem;font-weight:400;min-height:1.7rem;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.ui-select__display-value{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__display-value.is-placeholder{color:rgba(0,0,0,.38)}.ui-select__dropdown-button{color:rgba(0,0,0,.54);font-size:1.125rem;margin-left:auto;margin-right:-.25rem}.ui-select__dropdown{display:block;list-style-type:none;margin:0;margin-bottom:.5rem;min-width:11.25rem;outline:none;padding:0;width:100%}.ui-select__dropdown-content{outline:none}.ui-select__search-input{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;font-family:inherit;font-size:.9375rem;font-weight:400;height:1.95rem;outline:none;padding:0 .75rem;padding-left:2.5rem;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-select__search-input::-ms-clear{display:none}.ui-select__search-input:focus+.ui-select__search-icon{color:#ff4081}.ui-select__search .ui-select__search-icon,.ui-select__search .ui-select__search-progress{position:absolute;top:.5rem}.ui-select__search-icon{color:rgba(0,0,0,.54);font-size:1.25rem;left:.75rem}.ui-select__search-progress{right:.75rem}.ui-select__options{background-color:#fff;color:rgba(0,0,0,.87);display:block;list-style-type:none;margin:0;max-height:16rem;min-width:100%;overflow-y:auto;padding:0;position:relative}.ui-select__no-results{color:rgba(0,0,0,.54);font-size:.875rem;padding:.5rem .75rem;width:100%}.ui-select__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-select--icon-position-right .ui-select__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1} \ No newline at end of file +.ui-icon{cursor:inherit;display:inline-block;font-size:1.5rem;height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1em}.ui-icon svg{display:block;fill:currentColor;height:1em;margin:0;padding:0;width:1em}.ui-ripple-ink{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-ripple-ink__ink{background-clip:padding-box;background-color:currentColor;border-radius:50%;height:0;opacity:.2;pointer-events:none;position:absolute;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .6s ease-out,-webkit-transform .6s ease-out;transition:opacity .6s ease-out,-webkit-transform .6s ease-out;transition:transform .6s ease-out,opacity .6s ease-out;transition:transform .6s ease-out,opacity .6s ease-out,-webkit-transform .6s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:0}.ui-ripple-ink__ink.is-held{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}.ui-ripple-ink__ink.is-done{opacity:0!important}.ui-close-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;background:none;border-radius:50%;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0;outline:none;overflow:hidden;padding:0;position:relative;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-close-button::-moz-focus-inner{border:0}.ui-close-button:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}body[modality=keyboard] .ui-close-button:focus .ui-close-button__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-close-button.is-disabled{opacity:.6}.ui-close-button__icon{color:currentColor;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;width:100%;z-index:1}.ui-close-button__focus-ring{background-color:rgba(0,0,0,.15);border-radius:50%;left:0;opacity:0;position:absolute;top:0;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease}.ui-close-button--size-mini,.ui-close-button--size-mini .ui-close-button__focus-ring{height:1.5rem;width:1.5rem}.ui-close-button--size-mini .ui-icon{font-size:1.125rem}.ui-close-button--size-small,.ui-close-button--size-small .ui-close-button__focus-ring{height:2rem;width:2rem}.ui-close-button--size-small .ui-icon{font-size:1.125rem}.ui-close-button--size-normal,.ui-close-button--size-normal .ui-close-button__focus-ring{height:2.25rem;width:2.25rem}.ui-close-button--size-normal .ui-icon{font-size:1.25rem}.ui-close-button--size-large,.ui-close-button--size-large .ui-close-button__focus-ring{height:3rem;width:3rem}.ui-close-button--size-large .ui-icon{font-size:1.5rem}.ui-close-button--color-black{color:rgba(0,0,0,.38)}.ui-close-button--color-black:hover:not(.is-disabled) .ui-close-button__icon,body[modality=keyboard] .ui-close-button--color-black:focus .ui-close-button__icon{color:rgba(0,0,0,.87)}.ui-close-button--color-white{color:#fff}.ui-focus-container__focus-redirector,.ui-focus-container__last-focusable{opacity:0;position:absolute}.ui-focus-container__content{outline:none}.ui-modal{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem}.ui-modal.is-aligned-top .ui-modal__wrapper{vertical-align:initial}.ui-modal.has-footer .ui-modal__body,.ui-modal.is-aligned-top.has-footer .ui-modal__body{max-height:calc(100vh - 7.875rem)}.ui-modal:not(.has-footer) .ui-modal__body{padding:1rem 1.5rem 1.5rem}.ui-modal--is-open{overflow:hidden}.ui-modal__mask{background-color:rgba(0,0,0,.5);display:table;height:100%;left:0;position:fixed;top:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;width:100%;z-index:50}.ui-modal__wrapper{display:table-cell;vertical-align:middle;overflow-x:hidden;text-align:center}.ui-modal__wrapper.has-dummy-scrollbar{overflow-y:scroll}.ui-modal__container{background-color:#fff;border-radius:.125rem;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.33);box-shadow:0 2px 8px rgba(0,0,0,.33);display:inline-block;margin:0 auto;max-height:100vh;max-width:100vw;outline:none;overflow:hidden;padding:0;text-align:initial;-webkit-transition:all .3s ease;transition:all .3s ease;width:33rem}.ui-modal__header{background-color:#f5f5f5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 1px rgba(0,0,0,.16);height:3.5rem;padding:0 1.5rem;position:relative;z-index:1}.ui-modal__header,.ui-modal__header-text{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.ui-modal__header-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-size:1.125rem;font-weight:400;margin:0}.ui-modal__close-button{margin-left:auto;margin-right:-.5rem}.ui-modal__body{max-height:calc(100vh - 3.5rem);overflow-y:auto;padding:1rem 1.5rem}.ui-modal__footer{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:4.375rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 1.5rem}.ui-modal__footer .ui-button{margin-left:.5rem}.ui-modal__footer .ui-button:first-child{margin-left:0}.ui-modal--size-small>.ui-modal__wrapper>.ui-modal__container{width:20rem}.ui-modal--size-large>.ui-modal__wrapper>.ui-modal__container{width:53rem}.ui-modal--size-fullscreen>.ui-modal__wrapper>.ui-modal__container{width:100vw}.ui-modal--size-fullscreen>.ui-modal__wrapper>.ui-modal__container .ui-modal__body{height:calc(100vh - 3.5rem)}.ui-modal--size-auto>.ui-modal__wrapper>.ui-modal__container{width:auto}.ui-modal--transition-fade-enter,.ui-modal--transition-fade-leave-active,.ui-modal--transition-scale-down-enter,.ui-modal--transition-scale-down-leave-active{opacity:0}.ui-modal--transition-scale-down-enter .ui-modal__container,.ui-modal--transition-scale-down-leave-active .ui-modal__container{-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-modal--transition-scale-up-enter,.ui-modal--transition-scale-up-leave-active{opacity:0}.ui-modal--transition-scale-up-enter .ui-modal__container,.ui-modal--transition-scale-up-leave-active .ui-modal__container{-webkit-transform:scale(.8);transform:scale(.8)}.ui-fileupload{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:.125rem;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:600;height:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;letter-spacing:.02em;line-height:1;min-width:5rem;overflow:hidden;padding:0;padding-left:1rem;padding-right:1rem;position:relative;text-transform:uppercase}.ui-fileupload.has-focus-ring.is-active .ui-fileupload__focus-ring:before,body[modality=keyboard] .ui-fileupload.is-active .ui-fileupload__focus-ring:before{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-fileupload:not(.is-multiple) .ui-fileupload__display-text{text-transform:none}.ui-fileupload.is-raised{-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);-webkit-transition:-webkit-box-shadow .1s;transition:-webkit-box-shadow .1s;transition:box-shadow .1s;transition:box-shadow .1s,-webkit-box-shadow .1s}.ui-fileupload.is-raised.has-focus-ring.is-active,body[modality=keyboard] .ui-fileupload.is-raised.is-active{-webkit-box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3)}.ui-fileupload.is-disabled{cursor:default;opacity:.6}.ui-fileupload__input{height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1;width:.1px}.ui-fileupload__content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;z-index:1}.ui-fileupload__icon{margin-left:-.25rem;margin-right:.375rem;margin-top:-.125rem}.ui-fileupload__focus-ring{left:0;position:absolute;top:0;width:100%}.ui-fileupload__focus-ring:before{border-radius:50%;content:"";display:block;left:0;margin-top:calc(-50% - -1.125rem);padding-top:100%;position:relative;top:0;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.375rem;margin-right:-.25rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-fileupload--size-small{font-size:.875rem;height:2rem;padding-left:.75rem;padding-right:.75rem}.ui-fileupload--size-small .ui-fileupload__icon{margin-left:0;margin-top:0}.ui-fileupload--size-small .ui-fileupload__icon .ui-icon{font-size:1.125rem}.ui-fileupload--size-small.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.375rem;margin-right:0}.ui-fileupload--size-large{font-size:1rem;height:3rem;padding-left:1.5rem;padding-right:1.5rem}.ui-fileupload--size-large .ui-fileupload__icon{margin-left:-.25rem;margin-right:.5rem}.ui-fileupload--size-large.ui-fileupload--icon-position-right .ui-fileupload__icon{margin-left:.5rem;margin-right:-.25rem}.ui-fileupload--type-primary .ui-fileupload__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-fileupload--type-primary.ui-fileupload--color-default{background-color:#eee;color:rgba(0,0,0,.87)}.ui-fileupload--type-primary.ui-fileupload--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-fileupload--type-primary.ui-fileupload--color-default .ui-ripple-ink__ink{opacity:.2}.ui-fileupload--type-primary.ui-fileupload--color-default .ui-fileupload__icon{color:rgba(0,0,0,.54)}.ui-fileupload--type-primary.ui-fileupload--color-accent,.ui-fileupload--type-primary.ui-fileupload--color-primary{color:#fff}.ui-fileupload--type-primary.ui-fileupload--color-accent .ui-ripple-ink__ink,.ui-fileupload--type-primary.ui-fileupload--color-primary .ui-ripple-ink__ink{opacity:.4}.ui-fileupload--type-primary.ui-fileupload--color-primary{background-color:#ff4081}.ui-fileupload--type-primary.ui-fileupload--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-fileupload--type-primary.ui-fileupload--color-accent{background-color:#ff4081}.ui-fileupload--type-primary.ui-fileupload--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-fileupload--type-secondary{background-color:transparent}.ui-fileupload--type-secondary.ui-fileupload--color-default{color:rgba(0,0,0,.87)}.ui-fileupload--type-secondary.ui-fileupload--color-default:hover:not(.is-disabled){background-color:#eee}.ui-fileupload--type-secondary.ui-fileupload--color-default .ui-fileupload__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-default .ui-fileupload__icon{color:rgba(0,0,0,.54)}.ui-fileupload--type-secondary.ui-fileupload--color-primary{color:#ff4081}.ui-fileupload--type-secondary.ui-fileupload--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-primary .ui-fileupload__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-fileupload--type-secondary.ui-fileupload--color-accent{color:#ff4081}.ui-fileupload--type-secondary.ui-fileupload--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-fileupload--type-secondary.ui-fileupload--color-accent .ui-fileupload__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-popover.is-raised{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.ui-popover .ui-menu{border:none}.ui-popover-theme{background-color:#fff}.ui-progress-circular{position:relative}.ui-progress-circular__determinate{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ui-progress-circular__determinate-path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset .3s;transition:stroke-dashoffset .3s}.ui-progress-circular__indeterminate{-webkit-animation:ui-progress-circular-rotate .7s linear infinite;animation:ui-progress-circular-rotate .7s linear infinite;bottom:0;height:100%;left:0;margin:auto;position:absolute;right:0;top:0;-webkit-transform-origin:center center;transform-origin:center center;width:100%}.ui-progress-circular__indeterminate-path{stroke-dasharray:89,200;stroke-dashoffset:-35px;stroke-linecap:round}.ui-progress-circular--color-multi-color .ui-progress-circular__determinate-path{stroke:#ff4081}.ui-progress-circular--color-multi-color .ui-progress-circular__indeterminate-path{-webkit-animation:ui-progress-circular-color 6s ease-in-out infinite;animation:ui-progress-circular-color 6s ease-in-out infinite}.ui-progress-circular--color-accent .ui-progress-circular__determinate-path,.ui-progress-circular--color-accent .ui-progress-circular__indeterminate-path,.ui-progress-circular--color-primary .ui-progress-circular__determinate-path,.ui-progress-circular--color-primary .ui-progress-circular__indeterminate-path{stroke:#ff4081}.ui-progress-circular--color-black .ui-progress-circular__determinate-path,.ui-progress-circular--color-black .ui-progress-circular__indeterminate-path{stroke:#212121}.ui-progress-circular--color-white .ui-progress-circular__determinate-path,.ui-progress-circular--color-white .ui-progress-circular__indeterminate-path{stroke:#fff}.ui-progress-circular--transition-fade-enter-active,.ui-progress-circular--transition-fade-leave-active{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-progress-circular--transition-fade-enter,.ui-progress-circular--transition-fade-leave-active{opacity:0;-webkit-transform:scale(0);transform:scale(0)}@-webkit-keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}@keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}.tippy-iOS{cursor:pointer!important;-webkit-tap-highlight-color:transparent}.tippy-popper{max-height:100%;max-width:100%;outline:0;pointer-events:none;-webkit-transition-timing-function:cubic-bezier(.165,.84,.44,1);transition-timing-function:cubic-bezier(.165,.84,.44,1);z-index:60}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0;-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px) scale(.5);transform:translateY(-10px) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%;-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px) scale(.5);transform:translateY(10px) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px) scale(.5);transform:translateX(-10px) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0;-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px) scale(.5);transform:translateX(10px) scale(.5)}.tippy-tooltip{position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-backdrop{position:absolute;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;-webkit-transition:all cubic-bezier(.46,.1,.52,.98);transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{-webkit-transition-property:opacity;transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}.ui-tooltip-theme{border-radius:.125rem;color:#fff;font-size:.8125rem;line-height:1.4;padding:.3rem .5rem;text-align:center}.ui-tooltip-theme,.ui-tooltip-theme .tippy-backdrop{background-color:rgba(33,33,33,.9)}.ui-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border-radius:.125rem;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:600;height:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;letter-spacing:.02em;line-height:1;min-width:5rem;outline:none;overflow:hidden;padding:0;padding-left:1rem;padding-right:1rem;position:relative;text-transform:uppercase;-ms-touch-action:manipulation;touch-action:manipulation}.ui-button::-moz-focus-inner{border:0}.ui-button.has-focus-ring:focus .ui-button__focus-ring:before,body[modality=keyboard] .ui-button:focus .ui-button__focus-ring:before{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-button.is-anchor{cursor:pointer;text-decoration:none}.ui-button.is-anchor.is-disabled{cursor:default}.ui-button.is-raised{-webkit-box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);-webkit-transition:-webkit-box-shadow .3s ease;transition:-webkit-box-shadow .3s ease;transition:box-shadow .3s ease;transition:box-shadow .3s ease,-webkit-box-shadow .3s ease}.ui-button.is-raised.has-focus-ring:focus,body[modality=keyboard] .ui-button.is-raised:focus{-webkit-box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3)}.ui-button.is-loading .ui-button__content{opacity:0}.ui-button.is-disabled{opacity:.6}.ui-button__content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;z-index:1}.ui-button__icon{margin-left:-.25rem;margin-right:.375rem;margin-top:-.125rem}.ui-button__dropdown-icon{font-size:1.125rem;margin-left:.125rem;margin-right:-.375rem}.ui-button__focus-ring{left:0;position:absolute;top:0;width:100%}.ui-button__focus-ring:before{border-radius:50%;content:"";display:block;left:0;margin-top:calc(-50% - -1.125rem);padding-top:100%;position:relative;top:0;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui-progress-circular.ui-button__progress{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ui-button-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui-button--icon-position-right .ui-button__icon{margin-left:.375rem;margin-right:-.25rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-button--size-small{font-size:.875rem;height:2rem;padding-left:.75rem;padding-right:.75rem}.ui-button--size-small .ui-button__icon{margin-left:0;margin-top:0}.ui-button--size-small .ui-button__icon .ui-icon{font-size:1.125rem}.ui-button--size-small .ui-button__dropdown-icon{margin-right:-.25rem}.ui-button--size-small.ui-button--icon-position-right .ui-button__icon{margin-left:.375rem;margin-right:0}.ui-button--size-large{font-size:1rem;height:3rem;padding-left:1.5rem;padding-right:1.5rem}.ui-button--size-large .ui-button__icon{margin-left:-.25rem;margin-right:.5rem}.ui-button--size-large .ui-button__dropdown-icon{font-size:1.5rem;margin-left:.25rem}.ui-button--size-large.ui-button--icon-position-right .ui-button__icon{margin-left:.5rem;margin-right:-.25rem}.ui-button--type-primary .ui-button__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-button--type-primary.ui-button--color-default{background-color:#eee;color:rgba(0,0,0,.87)}.ui-button--type-primary.ui-button--color-default.has-dropdown-open,.ui-button--type-primary.ui-button--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-button--type-primary.ui-button--color-default .ui-ripple-ink__ink{opacity:.2}.ui-button--type-primary.ui-button--color-default .ui-button__dropdown-icon,.ui-button--type-primary.ui-button--color-default .ui-button__icon{color:rgba(0,0,0,.54)}.ui-button--type-primary.ui-button--color-accent,.ui-button--type-primary.ui-button--color-green,.ui-button--type-primary.ui-button--color-orange,.ui-button--type-primary.ui-button--color-primary,.ui-button--type-primary.ui-button--color-red{color:#fff}.ui-button--type-primary.ui-button--color-accent .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-green .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-orange .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-primary .ui-ripple-ink__ink,.ui-button--type-primary.ui-button--color-red .ui-ripple-ink__ink{opacity:.4}.ui-button--type-primary.ui-button--color-primary{background-color:#ff4081}.ui-button--type-primary.ui-button--color-primary.has-dropdown-open,.ui-button--type-primary.ui-button--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-button--type-primary.ui-button--color-accent{background-color:#ff4081}.ui-button--type-primary.ui-button--color-accent.has-dropdown-open,.ui-button--type-primary.ui-button--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-button--type-primary.ui-button--color-green{background-color:#4caf50}.ui-button--type-primary.ui-button--color-green.has-dropdown-open,.ui-button--type-primary.ui-button--color-green:hover:not(.is-disabled){background-color:#3d8b40}.ui-button--type-primary.ui-button--color-orange{background-color:#ff9800}.ui-button--type-primary.ui-button--color-orange.has-dropdown-open,.ui-button--type-primary.ui-button--color-orange:hover:not(.is-disabled){background-color:#cc7a00}.ui-button--type-primary.ui-button--color-red{background-color:#f44336}.ui-button--type-primary.ui-button--color-red.has-dropdown-open,.ui-button--type-primary.ui-button--color-red:hover:not(.is-disabled){background-color:#ea1c0d}.ui-button--type-secondary{background-color:transparent}.ui-button--type-secondary.ui-button--color-default{color:rgba(0,0,0,.87)}.ui-button--type-secondary.ui-button--color-default.has-dropdown-open,.ui-button--type-secondary.ui-button--color-default:hover:not(.is-disabled){background-color:#eee}.ui-button--type-secondary.ui-button--color-default .ui-button__focus-ring:before{background-color:rgba(0,0,0,.12)}.ui-button--type-secondary.ui-button--color-default .ui-button__icon{color:rgba(0,0,0,.54)}.ui-button--type-secondary.ui-button--color-primary{color:#ff4081}.ui-button--type-secondary.ui-button--color-primary.has-dropdown-open,.ui-button--type-secondary.ui-button--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-button--type-secondary.ui-button--color-primary .ui-button__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-button--type-secondary.ui-button--color-accent{color:#ff4081}.ui-button--type-secondary.ui-button--color-accent.has-dropdown-open,.ui-button--type-secondary.ui-button--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-button--type-secondary.ui-button--color-accent .ui-button__focus-ring:before{background-color:rgba(255,64,129,.26)}.ui-button--type-secondary.ui-button--color-green{color:#43a047}.ui-button--type-secondary.ui-button--color-green.has-dropdown-open,.ui-button--type-secondary.ui-button--color-green:hover:not(.is-disabled){background-color:rgba(67,160,71,.12)}.ui-button--type-secondary.ui-button--color-green .ui-button__focus-ring:before{background-color:rgba(67,160,71,.26)}.ui-button--type-secondary.ui-button--color-orange{color:#ff9800}.ui-button--type-secondary.ui-button--color-orange.has-dropdown-open,.ui-button--type-secondary.ui-button--color-orange:hover:not(.is-disabled){background-color:rgba(255,152,0,.12)}.ui-button--type-secondary.ui-button--color-orange .ui-button__focus-ring:before{background-color:rgba(255,152,0,.26)}.ui-button--type-secondary.ui-button--color-red{color:#f44336}.ui-button--type-secondary.ui-button--color-red.has-dropdown-open,.ui-button--type-secondary.ui-button--color-red:hover:not(.is-disabled){background-color:rgba(244,67,54,.12)}.ui-button--type-secondary.ui-button--color-red .ui-button__focus-ring:before{background-color:rgba(244,67,54,.26)}.ui-textbox{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0}.ui-textbox:hover:not(.is-disabled) .ui-textbox__label-text{color:rgba(0,0,0,.75)}.ui-textbox:hover:not(.is-disabled) .ui-textbox__input,.ui-textbox:hover:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:rgba(0,0,0,.3)}.ui-textbox.is-active:not(.is-disabled) .ui-textbox__input,.ui-textbox.is-active:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-textbox.is-active:not(.is-disabled) .ui-textbox__icon-wrapper .ui-icon,.ui-textbox.is-active:not(.is-disabled) .ui-textbox__label-text{color:#ff4081}.ui-textbox.has-label .ui-textbox__icon-wrapper{padding-top:1.5rem}.ui-textbox.has-counter .ui-textbox__feedback-text{padding-right:3rem}.ui-textbox.has-floating-label .ui-textbox__label-text{display:table;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ui-textbox.has-floating-label .ui-textbox__label-text.is-inline{color:rgba(0,0,0,.54);cursor:text;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-textbox.has-floating-label .ui-textbox__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-textbox.has-floating-label .ui-textbox__label>input:-webkit-autofill+.ui-textbox__label-text.is-inline{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__counter,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__icon-wrapper .ui-icon,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__label-text{color:#f44336}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__input,.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__textarea{border-bottom-color:#f44336}.ui-textbox.is-invalid:not(.is-disabled) .ui-textbox__feedback{color:#f44336}.ui-textbox.is-disabled .ui-textbox__input,.ui-textbox.is-disabled .ui-textbox__textarea{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38)}.ui-textbox.is-disabled .ui-textbox__icon-wrapper .ui-icon{opacity:.6}.ui-textbox.is-disabled .ui-textbox__feedback{opacity:.8}.ui-textbox__label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin:0;padding:0;width:100%}.ui-textbox__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-textbox__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-textbox__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-textbox__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-textbox__input,.ui-textbox__textarea{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;display:block;font-family:inherit;font-size:1rem;font-weight:400;margin:0;outline:none;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-textbox__input{height:1.7rem}.ui-textbox__textarea{overflow-x:hidden;overflow-y:auto;padding-bottom:.375rem;resize:vertical}.ui-textbox__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-textbox__counter{position:absolute;right:0;top:.25rem}.ui-textbox--icon-position-right .ui-textbox__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.ui-progress-linear{display:block;height:.25rem;overflow:hidden;position:relative;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:height,opacity;transition-property:height,opacity;-webkit-transition-timing-function:ease;transition-timing-function:ease;width:100%}.ui-progress-linear__progress-bar{height:.25rem;left:0;position:absolute;top:0;-webkit-transform-origin:left;transform-origin:left;width:100%}.ui-progress-linear__progress-bar.is-determinate{-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.ui-progress-linear__progress-bar.is-indeterminate{-webkit-animation:ui-progress-linear-indeterminate 2.1s linear infinite;animation:ui-progress-linear-indeterminate 2.1s linear infinite;-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0);-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1)}@-webkit-keyframes ui-progress-linear-indeterminate{0%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}25%{-webkit-transform:translateX(50%) scaleX(.6);transform:translateX(50%) scaleX(.6)}49%{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}50%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}75%{-webkit-transform:translateX(0) scaleX(.6);transform:translateX(0) scaleX(.6)}to{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}}@keyframes ui-progress-linear-indeterminate{0%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}25%{-webkit-transform:translateX(50%) scaleX(.6);transform:translateX(50%) scaleX(.6)}49%{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}50%{-webkit-transform:translateX(0) scaleX(0);transform:translateX(0) scaleX(0)}75%{-webkit-transform:translateX(0) scaleX(.6);transform:translateX(0) scaleX(.6)}to{-webkit-transform:translateX(110%) scaleX(0);transform:translateX(110%) scaleX(0)}}.ui-progress-linear--transition-fade-enter-active,.ui-progress-linear--transition-fade-leave-active{-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.ui-progress-linear--transition-fade-enter,.ui-progress-linear--transition-fade-leave-active{opacity:0}.ui-progress-linear--color-primary{background-color:rgba(255,64,129,.4)}.ui-progress-linear--color-primary .ui-progress-linear__progress-bar{background-color:#ff4081}.ui-progress-linear--color-accent{background-color:rgba(255,64,129,.4)}.ui-progress-linear--color-accent .ui-progress-linear__progress-bar{background-color:#ff4081}.ui-progress-linear--color-black{background-color:rgba(97,97,97,.4)}.ui-progress-linear--color-black .ui-progress-linear__progress-bar{background-color:#616161}.ui-progress-linear--color-white{background-color:hsla(0,0%,100%,.4)}.ui-progress-linear--color-white .ui-progress-linear__progress-bar{background-color:#fff}.ui-select-option{-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:.9375rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-select-option.is-selected{background-color:rgba(0,0,0,.05);color:#ff4081;font-weight:600}.ui-select-option.is-selected .ui-select-option__checkbox{color:#ff4081}.ui-select-option.is-highlighted{background-color:rgba(0,0,0,.1)}.ui-select-option__basic,.ui-select-option__image-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-option__image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui-select-option__image-object{background-position:50%;background-size:cover;border-radius:50%;height:2rem;margin-right:.75rem;width:2rem}.ui-select-option__checkbox{color:rgba(0,0,0,.38);margin-left:auto}.ui-select-option--type-basic{padding:.375rem .75rem}.ui-select-option--type-image{padding:.25rem .75rem}.ui-icon-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border-radius:50%;border:none;cursor:default;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0;outline:none;overflow:hidden;padding:0;position:relative;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-icon-button,.ui-icon-button .ui-icon-button__focus-ring{height:2.25rem;width:2.25rem}body[modality=keyboard] .ui-icon-button:focus .ui-icon-button__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-icon-button::-moz-focus-inner{border:0}.ui-icon-button.is-anchor{cursor:pointer;text-decoration:none}.ui-icon-button.is-anchor.is-disabled{cursor:default}.ui-icon-button.is-loading .ui-icon-button__icon{opacity:0}.ui-icon-button.is-disabled{opacity:.6}.ui-icon-button__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:currentColor;display:-webkit-box;display:-ms-flexbox;display:flex;height:auto;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:1;position:relative;-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:100%;z-index:1}.ui-icon-button__icon .ui-icon{display:block}.ui-icon-button__focus-ring{border-radius:50%;height:2.25rem;left:0;opacity:0;position:absolute;top:0;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease;width:2.25rem}.ui-progress-circular.ui-icon-button__progress{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ui-icon-button--size-mini,.ui-icon-button--size-mini .ui-icon-button__focus-ring{height:1.5rem;width:1.5rem}.ui-icon-button--size-mini .ui-icon{font-size:1.125rem}.ui-icon-button--size-small,.ui-icon-button--size-small .ui-icon-button__focus-ring{height:2rem;width:2rem}.ui-icon-button--size-small .ui-icon{font-size:1.125rem}.ui-icon-button--size-large,.ui-icon-button--size-large .ui-icon-button__focus-ring{height:3rem;width:3rem}.ui-icon-button--color-black,.ui-icon-button--color-white{background-color:transparent}.ui-icon-button--color-black.has-dropdown-open,.ui-icon-button--color-black:hover:not(.is-disabled),.ui-icon-button--color-white.has-dropdown-open,.ui-icon-button--color-white:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}.ui-icon-button--color-black .ui-icon-button__focus-ring,.ui-icon-button--color-white .ui-icon-button__focus-ring{background-color:rgba(0,0,0,.12)}.ui-icon-button--color-black{color:rgba(0,0,0,.54)}.ui-icon-button--color-white{color:#fff}.ui-icon-button--type-primary.ui-icon-button--color-default{color:rgba(0,0,0,.87);background-color:#eee}.ui-icon-button--type-primary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-default:hover:not(.is-disabled){background-color:#dbdbdb}.ui-icon-button--type-primary.ui-icon-button--color-default .ui-icon-button__focus-ring{background-color:#cfcfcf}.ui-icon-button--type-primary.ui-icon-button--color-default .ui-ripple-ink__ink{opacity:.2}.ui-icon-button--type-primary.ui-icon-button--color-accent,.ui-icon-button--type-primary.ui-icon-button--color-green,.ui-icon-button--type-primary.ui-icon-button--color-orange,.ui-icon-button--type-primary.ui-icon-button--color-primary,.ui-icon-button--type-primary.ui-icon-button--color-red{color:#fff}.ui-icon-button--type-primary.ui-icon-button--color-accent .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-green .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-orange .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-primary .ui-ripple-ink__ink,.ui-icon-button--type-primary.ui-icon-button--color-red .ui-ripple-ink__ink{opacity:.4}.ui-icon-button--type-primary.ui-icon-button--color-primary{background-color:#ff4081}.ui-icon-button--type-primary.ui-icon-button--color-primary.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-primary:hover:not(.is-disabled){background-color:#ff0d5f}.ui-icon-button--type-primary.ui-icon-button--color-primary .ui-icon-button__focus-ring{background-color:#ff0359}.ui-icon-button--type-primary.ui-icon-button--color-accent{background-color:#ff4081}.ui-icon-button--type-primary.ui-icon-button--color-accent.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-accent:hover:not(.is-disabled){background-color:#ff0d5f}.ui-icon-button--type-primary.ui-icon-button--color-accent .ui-icon-button__focus-ring{background-color:#ff0359}.ui-icon-button--type-primary.ui-icon-button--color-green{background-color:#4caf50}.ui-icon-button--type-primary.ui-icon-button--color-green.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-green:hover:not(.is-disabled){background-color:#3d8b40}.ui-icon-button--type-primary.ui-icon-button--color-green .ui-icon-button__focus-ring{background-color:#39843c}.ui-icon-button--type-primary.ui-icon-button--color-orange{background-color:#ff9800}.ui-icon-button--type-primary.ui-icon-button--color-orange.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-orange:hover:not(.is-disabled){background-color:#cc7a00}.ui-icon-button--type-primary.ui-icon-button--color-orange .ui-icon-button__focus-ring{background-color:#c27400}.ui-icon-button--type-primary.ui-icon-button--color-red{background-color:#f44336}.ui-icon-button--type-primary.ui-icon-button--color-red.has-dropdown-open,.ui-icon-button--type-primary.ui-icon-button--color-red:hover:not(.is-disabled){background-color:#ea1c0d}.ui-icon-button--type-primary.ui-icon-button--color-red .ui-icon-button__focus-ring{background-color:#e11b0c}.ui-icon-button--type-secondary.ui-icon-button--color-default{color:rgba(0,0,0,.54)}.ui-icon-button--type-secondary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-default.has-focus-ring:focus,.ui-icon-button--type-secondary.ui-icon-button--color-default:hover:not(.is-disabled),body[modality=keyboard] .ui-icon-button--type-secondary.ui-icon-button--color-default:focus{color:rgba(0,0,0,.87)}.ui-icon-button--type-secondary.ui-icon-button--color-default.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-default:hover:not(.is-disabled){background-color:rgba(0,0,0,.1)}.ui-icon-button--type-secondary.ui-icon-button--color-default .ui-icon-button__focus-ring{background-color:rgba(0,0,0,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-primary{color:#ff4081}.ui-icon-button--type-secondary.ui-icon-button--color-primary.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-primary:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-primary .ui-icon-button__focus-ring{background-color:rgba(255,64,129,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-accent{color:#ff4081}.ui-icon-button--type-secondary.ui-icon-button--color-accent.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-accent:hover:not(.is-disabled){background-color:rgba(255,64,129,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-accent .ui-icon-button__focus-ring{background-color:rgba(255,64,129,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-green{color:#43a047}.ui-icon-button--type-secondary.ui-icon-button--color-green.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-green:hover:not(.is-disabled){background-color:rgba(67,160,71,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-green .ui-icon-button__focus-ring{background-color:rgba(67,160,71,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-orange{color:#ff9800}.ui-icon-button--type-secondary.ui-icon-button--color-orange.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-orange:hover:not(.is-disabled){background-color:rgba(255,152,0,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-orange .ui-icon-button__focus-ring{background-color:rgba(255,152,0,.26)}.ui-icon-button--type-secondary.ui-icon-button--color-red{color:#f44336}.ui-icon-button--type-secondary.ui-icon-button--color-red.has-dropdown-open,.ui-icon-button--type-secondary.ui-icon-button--color-red:hover:not(.is-disabled){background-color:rgba(244,67,54,.12)}.ui-icon-button--type-secondary.ui-icon-button--color-red .ui-icon-button__focus-ring{background-color:rgba(244,67,54,.26)}.ui-checkbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-weight:400;margin:0;margin-bottom:.5rem;position:relative}.ui-checkbox:not(.is-disabled):not(.is-checked).is-active .ui-checkbox__checkmark-background,.ui-checkbox:not(.is-disabled):not(.is-checked):hover .ui-checkbox__checkmark-background{border-color:rgba(0,0,0,.6)}.ui-checkbox.is-checked .ui-checkbox__checkmark:after{border-bottom:.125rem solid #fff;border-right:.125rem solid #fff;opacity:1}.ui-checkbox.is-disabled .ui-checkbox__checkmark,.ui-checkbox.is-disabled .ui-checkbox__label-text{color:rgba(0,0,0,.38);cursor:default}.ui-checkbox.is-disabled .ui-checkbox__checkmark-background{border-color:rgba(0,0,0,.26)}.ui-checkbox.is-disabled.is-checked .ui-checkbox__checkmark-background{background-color:rgba(0,0,0,.26);border:none}.ui-checkbox__label-text{cursor:pointer;font-size:1rem;margin-left:.5rem}.ui-checkbox__checkmark{background-color:#fff;cursor:pointer;-ms-flex-negative:0;flex-shrink:0;height:1.25rem;position:relative;width:1.25rem;border-radius:.125rem}.ui-checkbox__checkmark:after{bottom:.3125rem;height:.8125rem;left:.4375rem;opacity:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;width:.375rem}.ui-checkbox__checkmark-background,.ui-checkbox__checkmark:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:"";display:block;position:absolute}.ui-checkbox__checkmark-background{border-radius:.125rem;border:.125rem solid rgba(0,0,0,.38);height:100%;left:0;top:0;-webkit-transition:all .3s ease;transition:all .3s ease;width:100%}.ui-checkbox__input{position:absolute;opacity:0}body[modality=keyboard] .ui-checkbox__input:focus+.ui-checkbox__checkmark .ui-checkbox__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-checkbox__focus-ring{border-radius:50%;height:2.625rem;margin-left:-.6875rem;margin-top:-.6875rem;opacity:0;position:absolute;-webkit-transform:scale(0);transform:scale(0);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;width:2.625rem;background-color:rgba(0,0,0,.12)}.ui-checkbox--box-position-right .ui-checkbox__label-text{margin-left:0;margin-right:auto;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.ui-checkbox--color-primary:not(.is-disabled).is-checked.is-active .ui-checkbox__checkmark-background,.ui-checkbox--color-primary:not(.is-disabled).is-checked:hover .ui-checkbox__checkmark-background{background-color:#ff2770;border-color:#ff2770}.ui-checkbox--color-primary.is-checked .ui-checkbox__checkmark-background{background-color:#ff4081;border-color:#ff4081}.ui-checkbox--color-primary.is-checked .ui-checkbox__focus-ring{background-color:rgba(255,64,129,.18)}.ui-checkbox--color-accent:not(.is-disabled).is-checked.is-active .ui-checkbox__checkmark-background,.ui-checkbox--color-accent:not(.is-disabled).is-checked:hover .ui-checkbox__checkmark-background{background-color:#ff2770;border-color:#ff2770}.ui-checkbox--color-accent.is-checked .ui-checkbox__checkmark-background{background-color:#ff4081;border-color:#ff4081}.ui-checkbox--color-accent.is-checked .ui-checkbox__focus-ring{background-color:rgba(255,64,129,.18)}.ui-radio{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;font-size:.9375rem;height:1.25rem;margin:0}.ui-radio:hover:not(.is-disabled):not(.is-checked) .ui-radio__outer-circle{border:.125rem solid rgba(0,0,0,.54)}.ui-radio.is-checked .ui-radio__inner-circle{opacity:1;-webkit-transform:scale(.5);transform:scale(.5);z-index:0}.ui-radio.is-disabled{opacity:.5}.ui-radio.is-disabled .ui-radio__input-wrapper,.ui-radio.is-disabled .ui-radio__label-text{cursor:default}.ui-radio__input-wrapper{cursor:pointer;height:1.25rem;position:relative;width:1.25rem}.ui-radio__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1px;left:0;margin:0;opacity:0;outline:none;padding:0;position:absolute;top:0;width:1px}body[modality=keyboard] .ui-radio__input:focus+.ui-radio__focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-radio__outer-circle{background-color:transparent;border-radius:50%;border:.125rem solid rgba(0,0,0,.38);-webkit-transition:border-color .2s;transition:border-color .2s}.ui-radio__inner-circle,.ui-radio__outer-circle{height:1.25rem;left:0;position:absolute;top:0;width:1.25rem}.ui-radio__inner-circle{background-color:rgba(0,0,0,.38);border-radius:50%;opacity:0;-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,background-color,-webkit-transform;transition-property:opacity,background-color,-webkit-transform;transition-property:transform,opacity,background-color;transition-property:transform,opacity,background-color,-webkit-transform;z-index:-1}.ui-radio__focus-ring{background-color:rgba(0,0,0,.1);border-radius:50%;height:2.625rem;left:-.6875rem;opacity:0;position:absolute;top:-.6875rem;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:background-color .2s ease,opacity .15s ease,-webkit-transform .15s ease;transition:background-color .2s ease,opacity .15s ease,-webkit-transform .15s ease;transition:background-color .2s ease,transform .15s ease,opacity .15s ease;transition:background-color .2s ease,transform .15s ease,opacity .15s ease,-webkit-transform .15s ease;width:2.625rem;z-index:-1}.ui-radio__label-text{cursor:pointer;font-size:1rem;margin-left:.5rem}.ui-radio--button-position-right .ui-radio__label-text{margin-left:0;margin-right:auto;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__outer-circle{border-color:#ff4081}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__inner-circle{background-color:#ff4081}.ui-radio--color-primary.is-checked:not(.is-disabled) .ui-radio__focus-ring{background-color:rgba(255,64,129,.2)}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__outer-circle{border-color:#ff4081}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__inner-circle{background-color:#ff4081}.ui-radio--color-accent.is-checked:not(.is-disabled) .ui-radio__focus-ring{background-color:rgba(255,64,129,.2)}.ui-radio-group{font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif}.ui-radio-group:not(.is-disabled):not(.is-invalid):hover .ui-radio-group__label-text{color:rgba(0,0,0,.75)}.ui-radio-group:not(.is-disabled):not(.is-invalid).is-active .ui-radio-group__label-text{color:#ff4081}.ui-radio-group.is-vertical .ui-radio-group__radios{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:.5rem}.ui-radio-group.is-vertical .ui-radio-group__radio{margin-bottom:.75rem;margin-left:0;width:100%}.ui-radio-group.is-invalid .ui-radio-group__feedback,.ui-radio-group.is-invalid .ui-radio-group__label-text{color:#f44336}.ui-radio-group.is-disabled .ui-radio-group__feedback{opacity:.8}.ui-radio-group__label-text{color:rgba(0,0,0,.54);font-size:.9375rem;line-height:normal;-webkit-transition:color .1s ease;transition:color .1s ease}.ui-radio-group__radios{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;min-height:1.7rem}.ui-radio.ui-radio-group__radio{margin-left:1.5rem}.ui-radio.ui-radio-group__radio:first-child{margin-left:0}.ui-radio-group__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:0;position:relative}.ui-radio-group--button-position-right:not(.is-vertical) .ui-radio__label-text{margin-right:.5rem}.vc-editable-input{position:relative}.vc-input__input{padding:0;border:0;outline:none}.vc-input__label{text-transform:capitalize}.vc-saturation,.vc-saturation--black,.vc-saturation--white{cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0}.vc-saturation--white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.vc-hue{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px}.vc-hue--horizontal{background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:-webkit-gradient(linear,left bottom,left top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;margin:0 2px;position:relative;height:100%}.vc-hue-pointer{z-index:2;position:absolute}.vc-hue-picker{cursor:pointer;margin-top:1px;width:4px;border-radius:1px;height:8px;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.vc-checkerboard{background-size:contain}.vc-alpha,.vc-alpha-checkboard-wrap,.vc-checkerboard{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-container{cursor:pointer;position:relative;z-index:2;height:100%;margin:0 3px}.vc-alpha-pointer{z-index:2;position:absolute}.vc-alpha-picker{cursor:pointer;width:4px;border-radius:1px;height:8px;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;margin-top:1px;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.vc-sketch{position:relative;width:200px;padding:10px 10px 0;-webkit-box-sizing:initial;box-sizing:initial;background:#fff;border-radius:4px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15);box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15)}.vc-sketch-saturation-wrap{width:100%;padding-bottom:75%;position:relative;overflow:hidden}.vc-sketch-controls{display:-webkit-box;display:-ms-flexbox;display:flex}.vc-sketch-sliders{padding:4px 0;-webkit-box-flex:1;-ms-flex:1;flex:1}.vc-sketch-sliders .vc-alpha-gradient,.vc-sketch-sliders .vc-hue{border-radius:2px}.vc-sketch-alpha-wrap,.vc-sketch-hue-wrap{position:relative;height:10px}.vc-sketch-alpha-wrap{margin-top:4px;overflow:hidden}.vc-sketch-color-wrap{width:24px;height:24px;position:relative;margin-top:4px;margin-left:4px;border-radius:3px}.vc-sketch-active-color{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2px;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);z-index:2}.vc-sketch-color-wrap .vc-checkerboard{background-size:auto}.vc-sketch-field{display:-webkit-box;display:-ms-flexbox;display:flex;padding-top:4px}.vc-sketch-field .vc-input__input{width:90%;padding:4px 0 3px 10%;border:none;-webkit-box-shadow:inset 0 0 0 1px #ccc;box-shadow:inset 0 0 0 1px #ccc;font-size:10px}.vc-sketch-field .vc-input__label{display:block;text-align:center;font-size:11px;color:#222;padding-top:3px;padding-bottom:4px;text-transform:capitalize}.vc-sketch-field--single{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:6px}.vc-sketch-field--double{-webkit-box-flex:2;-ms-flex:2;flex:2}.vc-sketch-presets{margin-right:-10px;margin-left:-10px;padding-left:10px;padding-top:10px;border-top:1px solid #eee}.vc-sketch-presets-color{overflow:hidden;position:relative;display:inline-block;margin:0 10px 10px 0;vertical-align:top;cursor:pointer;width:16px;height:16px}.vc-sketch-presets-color,.vc-sketch-presets-color .vc-checkerboard{border-radius:3px;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.vc-sketch__disable-alpha .vc-sketch-color-wrap{height:10px}.ui-select{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:Alegreya Bulletproof,Helvetica,Arial,sans-serif;margin-bottom:0;outline:none;position:relative}.ui-select:hover:not(.is-disabled) .ui-select__label-text{color:rgba(0,0,0,.75)}.ui-select:hover:not(.is-disabled) .ui-select__display{border-bottom-color:rgba(0,0,0,.3)}.ui-select:hover:not(.is-disabled) .ui-select__dropdown-button{color:rgba(0,0,0,.87)}.ui-select.is-active:not(.is-disabled) .ui-select__icon-wrapper .ui-icon,.ui-select.is-active:not(.is-disabled) .ui-select__label-text{color:#ff4081}.ui-select.is-active:not(.is-disabled) .ui-select__display{border-bottom-color:#ff4081;border-bottom-width:2px}.ui-select.has-floating-label .ui-select__label-text{display:table}.ui-select.has-floating-label .ui-select__label-text.is-inline{color:rgba(0,0,0,.54);cursor:pointer;-webkit-transform:translateY(1.625rem) scale(1.1);transform:translateY(1.625rem) scale(1.1)}.ui-select.has-floating-label .ui-select__label-text.is-floating{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.ui-select.has-label .ui-select__icon-wrapper{padding-top:1.5rem}.ui-select.has-label .ui-select__dropdown-button{top:1.6875rem}.ui-select:not(.is-multiple) .ui-select__display{height:1.7rem;line-height:1}.ui-select.is-multiple .ui-select__display{line-height:1.4;padding-bottom:.25rem;padding-top:.25rem}.ui-select.is-invalid:not(.is-disabled) .ui-select__icon-wrapper .ui-icon,.ui-select.is-invalid:not(.is-disabled) .ui-select__label-text{color:#f44336}.ui-select.is-invalid:not(.is-disabled) .ui-select__display{border-bottom-color:#f44336}.ui-select.is-invalid:not(.is-disabled) .ui-select__feedback{color:#f44336}.ui-select.is-disabled .ui-select__display{border-bottom-style:dotted;border-bottom-width:2px;color:rgba(0,0,0,.38);cursor:default}.ui-select.is-disabled .ui-select__display-value.is-placeholder,.ui-select.is-disabled .ui-select__dropdown-button{color:rgba(0,0,0,.38);opacity:.6}.ui-select.is-disabled .ui-select__icon-wrapper .ui-icon{opacity:.6}.ui-select.is-disabled .ui-select__feedback{opacity:.8}.ui-select__label{display:block;margin:0;outline:none;padding:0;width:100%}.ui-select__icon-wrapper{-ms-flex-negative:0;flex-shrink:0;margin-right:.75rem;padding-top:.25rem}.ui-select__icon-wrapper .ui-icon{color:rgba(0,0,0,.54)}.ui-select__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__label-text{color:rgba(0,0,0,.54);cursor:default;font-size:.9375rem;line-height:normal;margin-bottom:0;-webkit-transform-origin:left;transform-origin:left;-webkit-transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,-webkit-transform .2s ease;transition:color .1s ease,transform .2s ease;transition:color .1s ease,transform .2s ease,-webkit-transform .2s ease}.ui-select__display{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;color:rgba(0,0,0,.87);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:1rem;font-weight:400;min-height:1.7rem;padding:0;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.ui-select__display-value{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui-select__display-value.is-placeholder{color:rgba(0,0,0,.38)}.ui-select__dropdown-button{color:rgba(0,0,0,.54);font-size:1.125rem;margin-left:auto;margin-right:-.25rem}.ui-select__dropdown{display:block;list-style-type:none;margin:0;margin-bottom:.5rem;min-width:11.25rem;outline:none;padding:0;width:100%}.ui-select__dropdown-content{outline:none}.ui-select__search-input{background:none;border:none;border-bottom-color:rgba(0,0,0,.12);border-bottom-style:solid;border-bottom-width:1px;border-radius:0;color:rgba(0,0,0,.87);cursor:auto;font-family:inherit;font-size:.9375rem;font-weight:400;height:1.95rem;outline:none;padding:0 .75rem;padding-left:2.5rem;-webkit-transition:border .1s ease;transition:border .1s ease;width:100%}.ui-select__search-input::-ms-clear{display:none}.ui-select__search-input:focus+.ui-select__search-icon{color:#ff4081}.ui-select__search .ui-select__search-icon,.ui-select__search .ui-select__search-progress{position:absolute;top:.5rem}.ui-select__search-icon{color:rgba(0,0,0,.54);font-size:1.25rem;left:.75rem}.ui-select__search-progress{right:.75rem}.ui-select__options{background-color:#fff;color:rgba(0,0,0,.87);display:block;list-style-type:none;margin:0;max-height:16rem;min-width:100%;overflow-y:auto;padding:0;position:relative}.ui-select__no-results{color:rgba(0,0,0,.54);font-size:.875rem;padding:.5rem .75rem;width:100%}.ui-select__feedback{color:rgba(0,0,0,.54);font-size:.875rem;line-height:1.2;margin:0;padding-top:.25rem;position:relative}.ui-select--icon-position-right .ui-select__icon-wrapper{margin-left:.5rem;margin-right:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1} \ No newline at end of file diff --git a/e106d62cc6d652433a9c.worker.js b/e106d62cc6d652433a9c.worker.js new file mode 100644 index 0000000..03c54a4 --- /dev/null +++ b/e106d62cc6d652433a9c.worker.js @@ -0,0 +1,13 @@ +(function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s="c3bd")})({0:function(e,t){},"04f8":function(e,t,r){var n=r("2d00"),a=r("d039"),o=r("da84"),i=o.String;e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},"06cf":function(e,t,r){var n=r("83ab"),a=r("c65b"),o=r("d1e7"),i=r("5c6c"),s=r("fc6a"),u=r("a04b"),l=r("1a2d"),p=r("0cfb"),c=Object.getOwnPropertyDescriptor;t.f=n?c:function(e,t){if(e=s(e),t=u(t),p)try{return c(e,t)}catch(r){}if(l(e,t))return i(!a(o.f,e,t),e[t])}},"07fa":function(e,t,r){var n=r("50c4");e.exports=function(e){return n(e.length)}},"0cfb":function(e,t,r){var n=r("83ab"),a=r("d039"),o=r("cc12");e.exports=!n&&!a((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},"0d51":function(e,t){var r=String;e.exports=function(e){try{return r(e)}catch(t){return"Object"}}},"13d2":function(e,t,r){var n=r("e330"),a=r("d039"),o=r("1626"),i=r("1a2d"),s=r("83ab"),u=r("5e77").CONFIGURABLE,l=r("8925"),p=r("69f3"),c=p.enforce,f=p.get,h=String,d=Object.defineProperty,v=n("".slice),g=n("".replace),y=n([].join),m=s&&!a((function(){return 8!==d((function(){}),"length",{value:8}).length})),b=String(String).split("String"),S=e.exports=function(e,t,r){"Symbol("===v(h(t),0,7)&&(t="["+g(h(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!i(e,"name")||u&&e.name!==t)&&(s?d(e,"name",{value:t,configurable:!0}):e.name=t),m&&r&&i(r,"arity")&&e.length!==r.arity&&d(e,"length",{value:r.arity});try{r&&i(r,"constructor")&&r.constructor?s&&d(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(a){}var n=c(e);return i(n,"source")||(n.source=y(b,"string"==typeof t?t:"")),e};Function.prototype.toString=S((function(){return o(this)&&f(this).source||l(this)}),"toString")},1626:function(e,t,r){var n=r("8ea1"),a=n.all;e.exports=n.IS_HTMLDDA?function(e){return"function"==typeof e||e===a}:function(e){return"function"==typeof e}},"1a2d":function(e,t,r){var n=r("e330"),a=r("7b0b"),o=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return o(a(e),t)}},"1d80":function(e,t,r){var n=r("7234"),a=TypeError;e.exports=function(e){if(n(e))throw a("Can't call method on "+e);return e}},"1fb5":function(e,t,r){"use strict";t.byteLength=p,t.toByteArray=f,t.fromByteArray=v;for(var n=[],a=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function p(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n}function c(e,t,r){return 3*(t+r)/4-r}function f(e){var t,r,n=l(e),i=n[0],s=n[1],u=new o(c(e,i,s)),p=0,f=s>0?i-4:i;for(r=0;r>16&255,u[p++]=t>>8&255,u[p++]=255&t;return 2===s&&(t=a[e.charCodeAt(r)]<<2|a[e.charCodeAt(r+1)]>>4,u[p++]=255&t),1===s&&(t=a[e.charCodeAt(r)]<<10|a[e.charCodeAt(r+1)]<<4|a[e.charCodeAt(r+2)]>>2,u[p++]=t>>8&255,u[p++]=255&t),u}function h(e){return n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}function d(e,t,r){for(var n,a=[],o=t;ou?u:s+i));return 1===a?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===a&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},"23cb":function(e,t,r){var n=r("5926"),a=Math.max,o=Math.min;e.exports=function(e,t){var r=n(e);return r<0?a(r+t,0):o(r,t)}},"23e7":function(e,t,r){var n=r("da84"),a=r("06cf").f,o=r("9112"),i=r("cb2d"),s=r("6374"),u=r("e893"),l=r("94ca");e.exports=function(e,t){var r,p,c,f,h,d,v=e.target,g=e.global,y=e.stat;if(p=g?n:y?n[v]||s(v,{}):(n[v]||{}).prototype,p)for(c in t){if(h=t[c],e.dontCallGetSet?(d=a(p,c),f=d&&d.value):f=p[c],r=l(g?c:v+(y?".":"#")+c,e.forced),!r&&void 0!==f){if(typeof h==typeof f)continue;u(h,f)}(e.sham||f&&f.sham)&&o(h,"sham",!0),i(p,c,h,e)}}},"241c":function(e,t,r){var n=r("ca84"),a=r("7839"),o=a.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},"2d00":function(e,t,r){var n,a,o=r("da84"),i=r("342f"),s=o.process,u=o.Deno,l=s&&s.versions||u&&u.version,p=l&&l.v8;p&&(n=p.split("."),a=n[0]>0&&n[0]<4?1:+(n[0]+n[1])),!a&&i&&(n=i.match(/Edge\/(\d+)/),(!n||n[1]>=74)&&(n=i.match(/Chrome\/(\d+)/),n&&(a=+n[1]))),e.exports=a},"342f":function(e,t){e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},"3a9b":function(e,t,r){var n=r("e330");e.exports=n({}.isPrototypeOf)},"40d5":function(e,t,r){var n=r("d039");e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},"44ad":function(e,t,r){var n=r("e330"),a=r("d039"),o=r("c6b6"),i=Object,s=n("".split);e.exports=a((function(){return!i("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?s(e,""):i(e)}:i},"485a":function(e,t,r){var n=r("c65b"),a=r("1626"),o=r("861d"),i=TypeError;e.exports=function(e,t){var r,s;if("string"===t&&a(r=e.toString)&&!o(s=n(r,e)))return s;if(a(r=e.valueOf)&&!o(s=n(r,e)))return s;if("string"!==t&&a(r=e.toString)&&!o(s=n(r,e)))return s;throw i("Can't convert object to primitive value")}},"4d64":function(e,t,r){var n=r("fc6a"),a=r("23cb"),o=r("07fa"),i=function(e){return function(t,r,i){var s,u=n(t),l=o(u),p=a(i,l);if(e&&r!=r){while(l>p)if(s=u[p++],s!=s)return!0}else for(;l>p;p++)if((e||p in u)&&u[p]===r)return e||p||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},"50c4":function(e,t,r){var n=r("5926"),a=Math.min;e.exports=function(e){return e>0?a(n(e),9007199254740991):0}},5692:function(e,t,r){var n=r("c430"),a=r("c6cd");(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.31.1",mode:n?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE",source:"https://github.com/zloirock/core-js"})},"56ef":function(e,t,r){var n=r("d066"),a=r("e330"),o=r("241c"),i=r("7418"),s=r("825a"),u=a([].concat);e.exports=n("Reflect","ownKeys")||function(e){var t=o.f(s(e)),r=i.f;return r?u(t,r(e)):t}},5926:function(e,t,r){var n=r("b42e");e.exports=function(e){var t=+e;return t!==t||0===t?0:n(t)}},"59ed":function(e,t,r){var n=r("1626"),a=r("0d51"),o=TypeError;e.exports=function(e){if(n(e))return e;throw o(a(e)+" is not a function")}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"5e77":function(e,t,r){var n=r("83ab"),a=r("1a2d"),o=Function.prototype,i=n&&Object.getOwnPropertyDescriptor,s=a(o,"name"),u=s&&"something"===function(){}.name,l=s&&(!n||n&&i(o,"name").configurable);e.exports={EXISTS:s,PROPER:u,CONFIGURABLE:l}},6374:function(e,t,r){var n=r("da84"),a=Object.defineProperty;e.exports=function(e,t){try{a(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},"69f3":function(e,t,r){var n,a,o,i=r("cdce"),s=r("da84"),u=r("861d"),l=r("9112"),p=r("1a2d"),c=r("c6cd"),f=r("f772"),h=r("d012"),d="Object already initialized",v=s.TypeError,g=s.WeakMap,y=function(e){return o(e)?a(e):n(e,{})},m=function(e){return function(t){var r;if(!u(t)||(r=a(t)).type!==e)throw v("Incompatible receiver, "+e+" required");return r}};if(i||c.state){var b=c.state||(c.state=new g);b.get=b.get,b.has=b.has,b.set=b.set,n=function(e,t){if(b.has(e))throw v(d);return t.facade=e,b.set(e,t),t},a=function(e){return b.get(e)||{}},o=function(e){return b.has(e)}}else{var S=f("state");h[S]=!0,n=function(e,t){if(p(e,S))throw v(d);return t.facade=e,l(e,S,t),t},a=function(e){return p(e,S)?e[S]:{}},o=function(e){return p(e,S)}}e.exports={set:n,get:a,has:o,enforce:y,getterFor:m}},7234:function(e,t){e.exports=function(e){return null===e||void 0===e}},7418:function(e,t){t.f=Object.getOwnPropertySymbols},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,t,r){var n=r("1d80"),a=Object;e.exports=function(e){return a(n(e))}},"825a":function(e,t,r){var n=r("861d"),a=String,o=TypeError;e.exports=function(e){if(n(e))return e;throw o(a(e)+" is not an object")}},"83ab":function(e,t,r){var n=r("d039");e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"861d":function(e,t,r){var n=r("1626"),a=r("8ea1"),o=a.all;e.exports=a.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:n(e)||e===o}:function(e){return"object"==typeof e?null!==e:n(e)}},8925:function(e,t,r){var n=r("e330"),a=r("1626"),o=r("c6cd"),i=n(Function.toString);a(o.inspectSource)||(o.inspectSource=function(e){return i(e)}),e.exports=o.inspectSource},"8ea1":function(e,t){var r="object"==typeof document&&document.all,n="undefined"==typeof r&&void 0!==r;e.exports={all:r,IS_HTMLDDA:n}},"90e3":function(e,t,r){var n=r("e330"),a=0,o=Math.random(),i=n(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+i(++a+o,36)}},9112:function(e,t,r){var n=r("83ab"),a=r("9bf2"),o=r("5c6c");e.exports=n?function(e,t,r){return a.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},9152:function(e,t){ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +t.read=function(e,t,r,n,a){var o,i,s=8*a-n-1,u=(1<>1,p=-7,c=r?a-1:0,f=r?-1:1,h=e[t+c];for(c+=f,o=h&(1<<-p)-1,h>>=-p,p+=s;p>0;o=256*o+e[t+c],c+=f,p-=8);for(i=o&(1<<-p)-1,o>>=-p,p+=n;p>0;i=256*i+e[t+c],c+=f,p-=8);if(0===o)o=1-l;else{if(o===u)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),o-=l}return(h?-1:1)*i*Math.pow(2,o-n)},t.write=function(e,t,r,n,a,o){var i,s,u,l=8*o-a-1,p=(1<>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,d=n?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=p):(i=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-i))<1&&(i--,u*=2),t+=i+c>=1?f/u:f*Math.pow(2,1-c),t*u>=2&&(i++,u/=2),i+c>=p?(s=0,i=p):i+c>=1?(s=(t*u-1)*Math.pow(2,a),i+=c):(s=t*Math.pow(2,c-1)*Math.pow(2,a),i=0));a>=8;e[r+h]=255&s,h+=d,s/=256,a-=8);for(i=i<0;e[r+h]=255&i,h+=d,i/=256,l-=8);e[r+h-d]|=128*v}},"94ca":function(e,t,r){var n=r("d039"),a=r("1626"),o=/#|\.prototype\./,i=function(e,t){var r=u[s(e)];return r==p||r!=l&&(a(t)?n(t):!!t)},s=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},l=i.NATIVE="N",p=i.POLYFILL="P";e.exports=i},"9bf2":function(e,t,r){var n=r("83ab"),a=r("0cfb"),o=r("aed9"),i=r("825a"),s=r("a04b"),u=TypeError,l=Object.defineProperty,p=Object.getOwnPropertyDescriptor,c="enumerable",f="configurable",h="writable";t.f=n?o?function(e,t,r){if(i(e),t=s(t),i(r),"function"===typeof e&&"prototype"===t&&"value"in r&&h in r&&!r[h]){var n=p(e,t);n&&n[h]&&(e[t]=r.value,r={configurable:f in r?r[f]:n[f],enumerable:c in r?r[c]:n[c],writable:!1})}return l(e,t,r)}:l:function(e,t,r){if(i(e),t=s(t),i(r),a)try{return l(e,t,r)}catch(n){}if("get"in r||"set"in r)throw u("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},a04b:function(e,t,r){var n=r("c04e"),a=r("d9b5");e.exports=function(e){var t=n(e,"string");return a(t)?t:t+""}},a788:function(e,t,r){"use strict";r.r(t),function(e){r.d(t,"BoundingBox",(function(){return L})),r.d(t,"Font",(function(){return xi})),r.d(t,"Glyph",(function(){return Ne})),r.d(t,"Path",(function(){return C})),r.d(t,"_parse",(function(){return ye})),r.d(t,"load",(function(){return es})),r.d(t,"loadSync",(function(){return ts})),r.d(t,"parse",(function(){return $i})), +/*! https://mths.be/codepointat v0.2.0 by @mathias */ +String.prototype.codePointAt||function(){var e=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(n){}return r}(),t=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,o=t.charCodeAt(n);return o>=55296&&o<=56319&&r>n+1&&(a=t.charCodeAt(n+1),a>=56320&&a<=57343)?1024*(o-55296)+a-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var n=0,a=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var s=new o,u=new o,l=new Uint8Array(30),p=new Uint16Array(30),c=new Uint8Array(30),f=new Uint16Array(30),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new o,v=new Uint8Array(320);function g(e,t,r,n){var a,o;for(a=0;a>>=1,t}function x(e,t,r){if(!t)return r;while(e.bitcount<24)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function T(e,t){while(e.bitcount<24)e.tag|=e.source[e.sourceIndex++]<>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=o,e.bitcount-=a,t.trans[r+n]}function w(e,t,r){var n,a,o,i,s,u;for(n=x(e,5,257),a=x(e,5,1),o=x(e,4,4),i=0;i<19;++i)v[i]=0;for(i=0;i8)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],r=e.source[e.sourceIndex+3],r=256*r+e.source[e.sourceIndex+2],t!==(65535&~r))return a;for(e.sourceIndex+=4,o=t;o;--o)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}function O(e,t){var r,o,l,p=new i(e,t);do{switch(r=S(p),o=x(p,2,0),o){case 0:l=k(p);break;case 1:l=U(p,s,u);break;case 2:w(p,p.ltree,p.dtree),l=U(p,p.ltree,p.dtree);break;default:l=a}if(l!==n)throw new Error("Data error")}while(!r);return p.destLenthis.x2&&(this.x2=e)),"number"===typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},L.prototype.addX=function(e){this.addPoint(e,null)},L.prototype.addY=function(e){this.addPoint(null,e)},L.prototype.addBezier=function(e,t,r,n,a,o,i,s){var u=[e,t],l=[r,n],p=[a,o],c=[i,s];this.addPoint(e,t),this.addPoint(i,s);for(var f=0;f<=1;f++){var h=6*u[f]-12*l[f]+6*p[f],d=-3*u[f]+9*l[f]-9*p[f]+3*c[f],v=3*l[f]-3*u[f];if(0!==d){var g=Math.pow(h,2)-4*v*d;if(!(g<0)){var y=(-h+Math.sqrt(g))/(2*d);0=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a=0&&e<=255,"Byte value should be between 0 and 255."),[e]},G.BYTE=N(1),F.CHAR=function(e){return[e.charCodeAt(0)]},G.CHAR=N(1),F.CHARARRAY=function(e){"undefined"===typeof e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r>8&255,255&e]},G.USHORT=N(2),F.SHORT=function(e){return e>=P&&(e=-(2*P-e)),[e>>8&255,255&e]},G.SHORT=N(2),F.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},G.UINT24=N(3),F.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},G.ULONG=N(4),F.LONG=function(e){return e>=B&&(e=-(2*B-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},G.LONG=N(4),F.FIXED=F.ULONG,G.FIXED=G.ULONG,F.FWORD=F.SHORT,G.FWORD=G.SHORT,F.UFWORD=F.USHORT,G.UFWORD=G.USHORT,F.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},G.LONGDATETIME=N(8),F.TAG=function(e){return A.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},G.TAG=N(4),F.Card8=F.BYTE,G.Card8=G.BYTE,F.Card16=F.USHORT,G.Card16=G.USHORT,F.OffSize=F.BYTE,G.OffSize=G.BYTE,F.SID=F.USHORT,G.SID=G.USHORT,F.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e-=108,[247+(e>>8),255&e]):e>=-1131&&e<=-108?(e=-e-108,[251+(e>>8),255&e]):e>=-32768&&e<=32767?F.NUMBER16(e):F.NUMBER32(e)},G.NUMBER=function(e){return F.NUMBER(e).length},F.NUMBER16=function(e){return[28,e>>8&255,255&e]},G.NUMBER16=N(3),F.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},G.NUMBER32=N(5),F.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",o=0,i=t.length;o>8&255,t[t.length]=255&n}return t},G.UTF16=function(e){return 2*e.length};var H={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};M.MACSTRING=function(e,t,r,n){var a=H[n];if(void 0!==a){for(var o="",i=0;i=-128&&e<=127}function Y(e,t,r){var n=0,a=e.length;while(t>8&255,u+256&255)}return o}F.MACSTRING=function(e,t){var r=W(t);if(void 0!==r){for(var n=[],a=0;a=128&&(o=r[o],void 0===o))return;n[a]=o}return n}},G.MACSTRING=function(e,t){var r=F.MACSTRING(e,t);return void 0!==r?r.length:0},F.VARDELTAS=function(e){var t=0,r=[];while(t=-128&&n<=127?q(e,t,r):X(e,t,r)}return r},F.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a>8,t[f+1]=255&h;for(var d=0;d0){var n=this.offset+r,a=new ve(this.data,n).parseStruct(e);return t&&(a.tableOffset=n),a}},ve.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ve(this.data,this.offset+t).parseStruct(e)},ve.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),o=0;o>1,t.skip("uShort",3),e.glyphIndexMap={};for(var i=new ye.Parser(r,n+a+14),s=new ye.Parser(r,n+a+16+2*o),u=new ye.Parser(r,n+a+16+4*o),l=new ye.Parser(r,n+a+16+6*o),p=n+a+16+8*o,c=0;c=0;a-=1){var o=ye.getUShort(e,t+4+8*a),i=ye.getUShort(e,t+4+8*a+2);if(3===o&&(0===i||1===i||10===i)||0===o&&(0===i||1===i||2===i||3===i||4===i)){n=ye.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var s=new ye.Parser(e,t+n);if(r.format=s.parseUShort(),12===r.format)me(r,s);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,s,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function we(e){var t,r=!0;for(t=e.length-1;t>0;t-=1){var n=e.get(t);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}}var a=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(a=a.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),a=a.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var o=new ne.Table("cmap",a);for(o.segments=[],t=0;t>4,i=15&a;if(o===r)break;if(t+=n[o],i===r)break;t+=n[i]}return parseFloat(t)}function Je(e,t){var r,n,a,o;if(28===t)return r=e.parseByte(),n=e.parseByte(),r<<8|n;if(29===t)return r=e.parseByte(),n=e.parseByte(),a=e.parseByte(),o=e.parseByte(),r<<24|n<<16|a<<8|o;if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return r=e.parseByte(),256*(t-247)+r+108;if(t>=251&&t<=254)return r=e.parseByte(),256*-(t-251)-r-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r>1,f.length=0,d=!0}function w(r){var l,m,b,U,k,O,E,R,L,C,D,I,A=0;while(A1&&!d&&(S=f.shift()+p,d=!0),y+=f.pop(),x(g,y);break;case 5:while(f.length>0)g+=f.shift(),y+=f.shift(),c.lineTo(g,y);break;case 6:while(f.length>0){if(g+=f.shift(),c.lineTo(g,y),0===f.length)break;y+=f.shift(),c.lineTo(g,y)}break;case 7:while(f.length>0){if(y+=f.shift(),c.lineTo(g,y),0===f.length)break;g+=f.shift(),c.lineTo(g,y)}break;case 8:while(f.length>0)n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i+f.shift(),c.curveTo(n,a,o,i,g,y);break;case 10:k=f.pop()+u,O=s[k],O&&w(O);break;case 11:return;case 12:switch(P=r[A],A+=1,P){case 35:n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),E=o+f.shift(),R=i+f.shift(),L=E+f.shift(),C=R+f.shift(),D=L+f.shift(),I=C+f.shift(),g=D+f.shift(),y=I+f.shift(),f.shift(),c.curveTo(n,a,o,i,E,R),c.curveTo(L,C,D,I,g,y);break;case 34:n=g+f.shift(),a=y,o=n+f.shift(),i=a+f.shift(),E=o+f.shift(),R=i,L=E+f.shift(),C=i,D=L+f.shift(),I=y,g=D+f.shift(),c.curveTo(n,a,o,i,E,R),c.curveTo(L,C,D,I,g,y);break;case 36:n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),E=o+f.shift(),R=i,L=E+f.shift(),C=i,D=L+f.shift(),I=C+f.shift(),g=D+f.shift(),c.curveTo(n,a,o,i,E,R),c.curveTo(L,C,D,I,g,y);break;case 37:n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),E=o+f.shift(),R=i+f.shift(),L=E+f.shift(),C=R+f.shift(),D=L+f.shift(),I=C+f.shift(),Math.abs(D-g)>Math.abs(I-y)?g=D+f.shift():y=I+f.shift(),c.curveTo(n,a,o,i,E,R),c.curveTo(L,C,D,I,g,y);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+P),f.length=0}break;case 14:f.length>0&&!d&&(S=f.shift()+p,d=!0),v&&(c.closePath(),v=!1);break;case 18:T();break;case 19:case 20:T(),A+=h+7>>3;break;case 21:f.length>2&&!d&&(S=f.shift()+p,d=!0),y+=f.pop(),g+=f.pop(),x(g,y);break;case 22:f.length>1&&!d&&(S=f.shift()+p,d=!0),g+=f.pop(),x(g,y);break;case 23:T();break;case 24:while(f.length>2)n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i+f.shift(),c.curveTo(n,a,o,i,g,y);g+=f.shift(),y+=f.shift(),c.lineTo(g,y);break;case 25:while(f.length>6)g+=f.shift(),y+=f.shift(),c.lineTo(g,y);n=g+f.shift(),a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i+f.shift(),c.curveTo(n,a,o,i,g,y);break;case 26:f.length%2&&(g+=f.shift());while(f.length>0)n=g,a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o,y=i+f.shift(),c.curveTo(n,a,o,i,g,y);break;case 27:f.length%2&&(y+=f.shift());while(f.length>0)n=g+f.shift(),a=y,o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i,c.curveTo(n,a,o,i,g,y);break;case 28:l=r[A],m=r[A+1],f.push((l<<24|m<<16)>>16),A+=2;break;case 29:k=f.pop()+e.gsubrsBias,O=e.gsubrs[k],O&&w(O);break;case 30:while(f.length>0){if(n=g,a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i+(1===f.length?f.shift():0),c.curveTo(n,a,o,i,g,y),0===f.length)break;n=g+f.shift(),a=y,o=n+f.shift(),i=a+f.shift(),y=i+f.shift(),g=o+(1===f.length?f.shift():0),c.curveTo(n,a,o,i,g,y)}break;case 31:while(f.length>0){if(n=g+f.shift(),a=y,o=n+f.shift(),i=a+f.shift(),y=i+f.shift(),g=o+(1===f.length?f.shift():0),c.curveTo(n,a,o,i,g,y),0===f.length)break;n=g,a=y+f.shift(),o=n+f.shift(),i=a+f.shift(),g=o+f.shift(),y=i+(1===f.length?f.shift():0),c.curveTo(n,a,o,i,g,y)}break;default:P<32?console.log("Glyph "+t.index+": unknown operator "+P):P<247?f.push(P-139):P<251?(l=r[A],A+=1,f.push(256*(P-247)+l+108)):P<255?(l=r[A],A+=1,f.push(256*-(P-251)-l-108)):(l=r[A],m=r[A+1],b=r[A+2],U=r[A+3],A+=4,f.push((l<<24|m<<16|b<<8|U)/65536))}}}return w(r),t.advanceWidth=S,c}function ft(e,t,r,n){var a,o=[],i=new ye.Parser(e,t),s=i.parseCard8();if(0===s)for(var u=0;u=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");o.push(a)}else{if(3!==s)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+s);var l,p=i.parseCard16(),c=i.parseCard16();if(0!==c)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var f=0;f=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c=0&&(r=n),n=t.indexOf(e),n>=0?r=n+ke.length:(r=ke.length+t.length,t.push(e)),r}function vt(){return new ne.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function gt(e){var t=new ne.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function fr(e){return new ne.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var hr={parse:cr,make:fr,unicodeRanges:lr,getUnicodeRange:pr};function dr(e,t){var r={},n=new ye.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a=Re.length){var i=n.parseChar();r.names.push(n.parseString(i))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var s=0;s1&&A.argument(r,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new ne.Table("CPAL",[{name:"version",type:"USHORT",value:t},{name:"numPaletteEntries",type:"USHORT",value:r||n.length},{name:"numPalettes",type:"USHORT",value:a.length},{name:"numColorRecords",type:"USHORT",value:n.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*a.length}].concat(a.map((function(e,t){return{name:"colorRecordIndices_"+t,type:"USHORT",value:e}})),n.map((function(e,t){return{name:"colorRecords_"+t,type:"ULONG",value:e}}))))}var Dr={parse:Lr,make:Cr};function Ir(e){return Math.log(e)/Math.log(2)|0}function Ar(e){while(e.length%4!==0)e.push(0);for(var t=0,r=0;rt.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Mr(e,t,r){for(var n=0;n0){var o=e.glyphs.get(a);return o.getMetrics()}}return r}function Fr(e){for(var t=0,r=0;rg||void 0===t)&&g>0&&(t=g),l 123 are reserved for internal usage");h|=1<0?_t.make(M):void 0,N=gr.make(),H=Et.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:E,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),_=e.metas&&Object.keys(e.metas).length>0?kr.make(e.metas):void 0,z=[S,x,T,w,F,k,N,H,U];G&&z.push(G),e.tables.gsub&&z.push(Tr.make(e.tables.gsub)),e.tables.cpal&&z.push(Dr.make(e.tables.cpal)),e.tables.colr&&z.push(Rr.make(e.tables.colr)),_&&z.push(_);for(var W=Br(z),j=W.encode(),Y=Ar(j),q=W.fields,X=!1,V=0;V>>1,o=e[a].tag;if(o===t)return a;o>>1,o=e[a];if(o===t)return a;o>>1;r=e[o];var i=r.start;if(i===t)return r;i0)return r=e[n-1],t>r.end?0:r}function Wr(e,t){this.font=e,this.tableName=t}function jr(e){Wr.call(this,e,"gpos")}function Yr(e){Wr.call(this,e,"gsub")}function qr(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n0?(o=e.parseByte(),0===(t&a)&&(o=-o),o=r+o):o=(t&a)>0?r:r+e.parseShort(),o}function $r(e,t,r){var n,a,o=new ye.Parser(t,r);if(e.numberOfContours=o.parseShort(),e._xMin=o.parseShort(),e._yMin=o.parseShort(),e._xMax=o.parseShort(),e._yMax=o.parseShort(),e.numberOfContours>0){for(var i=e.endPointIndices=[],s=0;s0)for(var c=o.parseByte(),f=0;f0){var h,d=[];if(l>0){for(var v=0;v=0,d.push(h);for(var g=0,y=0;y0?(2&n)>0?(x.dx=o.parseShort(),x.dy=o.parseShort()):x.matchedPoints=[o.parseUShort(),o.parseUShort()]:(2&n)>0?(x.dx=o.parseChar(),x.dy=o.parseChar()):x.matchedPoints=[o.parseByte(),o.parseByte()],(8&n)>0?x.xScale=x.yScale=o.parseF2Dot14():(64&n)>0?(x.xScale=o.parseF2Dot14(),x.yScale=o.parseF2Dot14()):(128&n)>0&&(x.xScale=o.parseF2Dot14(),x.scale01=o.parseF2Dot14(),x.scale10=o.parseF2Dot14(),x.yScale=o.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=o.parseUShort(),e.instructions=[];for(var T=0;Tt.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var i=t.points[n.matchedPoints[0]],s=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};s=en([s],u)[0],u.dx=i.x-s.x,u.dy=i.y-s.y,o=en(a.points,u)}t.points=t.points.concat(o)}}return rn(t.points)}function an(e,t,r,n){for(var a=new Ye.GlyphSet(n),o=0;o=0)return n[a].script;if(t){var o={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,o),o.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Hr(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var o={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,o),o.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var o,i=a.featureIndexes,s=this.font.tables[this.tableName].features,u=0;u=s[l-1].tag,"Features must be added in alphabetical order."),o={tag:r,feature:{params:0,lookupListIndexes:[]}},s.push(o),i.push(l),o.feature}}},getLookupTables:function(e,t,r,n,a){var o=this.getFeatureTable(e,t,r,a),i=[];if(o){for(var s,u=o.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p=0?r:-1;case 2:var n=zr(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var a=this.getLookupTables(r,n,e,2,!0)[0],o=Xr(a,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});A.assert(1===o.coverage.format,"Multiple: unable to modify coverage table format "+o.coverage.format);var i=t.sub,s=this.binSearch(o.coverage.glyphs,i);s<0&&(s=-1-s,o.coverage.glyphs.splice(s,0,i),o.sequences.splice(s,0,0)),o.sequences[s]=t.by},Yr.prototype.addAlternate=function(e,t,r,n){var a=this.getLookupTables(r,n,e,3,!0)[0],o=Xr(a,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});A.assert(1===o.coverage.format,"Alternate: unable to modify coverage table format "+o.coverage.format);var i=t.sub,s=this.binSearch(o.coverage.glyphs,i);s<0&&(s=-1-s,o.coverage.glyphs.splice(s,0,i),o.alternateSets.splice(s,0,0)),o.alternateSets[s]=t.by},Yr.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],o=a.subtables[0];o||(o={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=o),A.assert(1===o.coverage.format,"Ligature: unable to modify coverage table format "+o.coverage.format);var i=t.sub[0],s=t.sub.slice(1),u={ligGlyph:t.by,components:s},l=this.binSearch(o.coverage.glyphs,i);if(l>=0){for(var p=o.ligatureSets[l],c=0;c=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===o&&27===r)break}while(o>0);e.ip=a}function Dn(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function In(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function An(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function Pn(e,t){var r,n,a=t.stack,o=a.pop(),i=a.pop(),s=t.z2[o],u=t.z1[i];exports.DEBUG&&console.log("SPVTL["+e+"]",o,i),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.pv=t.dpv=Un(r,n)}function Bn(e,t){var r,n,a=t.stack,o=a.pop(),i=a.pop(),s=t.z2[o],u=t.z1[i];exports.DEBUG&&console.log("SFVTL["+e+"]",o,i),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.fv=Un(r,n)}function Mn(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=Un(n,r)}function Fn(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=Un(n,r)}function Gn(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(16384*r.x),t.push(16384*r.y)}function Nn(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(16384*r.x),t.push(16384*r.y)}function Hn(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")}function _n(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop(),o=t.pop(),i=t.pop(),s=e.z0,u=e.z1,l=s[r],p=s[n],c=u[a],f=u[o],h=e.z2[i];exports.DEBUG&&console.log("ISECT[], ",r,n,a,o,i);var d=l.x,v=l.y,g=p.x,y=p.y,m=c.x,b=c.y,S=f.x,x=f.y,T=(d-g)*(b-x)-(v-y)*(m-S),w=d*y-v*g,U=m*x-b*S;h.x=(w*(m-S)-U*(d-g))/T,h.y=(w*(b-x)-U*(v-y))/T}function zn(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function Wn(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function jn(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function Yn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||Ln(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function qn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||Ln(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Xn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||Ln(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Vn(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||Ln(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Zn(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function Qn(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=vn}function Kn(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=yn}function Jn(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64}function $n(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),Cn(e,!1)}function ea(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1}function ta(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64}function ra(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])}function na(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function aa(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function oa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)}function ia(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)}function sa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var a=e.ip,o=e.prog;e.prog=e.funcs[r];for(var i=0;i1?"loop "+(t.loop-s)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}t.loop=1}function va(e,t){var r=t.stack,n=e?t.rp1:t.rp2,a=(e?t.z0:t.z1)[n],o=t.fv,i=t.pv,s=r.pop(),u=t.z2[t.contours[s]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",s);var p=i.distance(a,a,!1,!0);do{l!==a&&o.setRelative(l,l,p,i),l=l.nextPointOnContour}while(l!==u)}function ga(e,t){var r,n,a=t.stack,o=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[o],s=t.fv,u=t.pv,l=a.pop();switch(exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",l),l){case 0:r=t.tZone;break;case 1:r=t.gZone;break;default:throw new Error("Invalid zone")}for(var p=u.distance(i,i,!1,!0),c=r.length-2,f=0;f1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",i,a),n.setRelative(s,s,a),n.touch(s)}e.loop=1}function ma(e){var t=e.stack,r=e.rp1,n=e.rp2,a=e.loop,o=e.z0[r],i=e.z1[n],s=e.fv,u=e.dpv,l=e.z2;while(a--){var p=t.pop(),c=l[p];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"IP[]",p,r,"<->",n),s.interpolate(c,o,i,u),s.touch(c)}e.loop=1}function ba(e,t){var r=t.stack,n=r.pop()/64,a=r.pop(),o=t.z1[a],i=t.z0[t.rp0],s=t.fv,u=t.pv;s.setRelative(o,i,n,u),s.touch(o),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,a),t.rp1=t.rp0,t.rp2=a,e&&(t.rp0=a)}function Sa(e){var t=e.stack,r=e.rp0,n=e.z0[r],a=e.loop,o=e.fv,i=e.pv,s=e.z1;while(a--){var u=t.pop(),l=s[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"ALIGNRP[]",u),o.setRelative(l,n,0,i),o.touch(l)}e.loop=1}function xa(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=gn}function Ta(e,t){var r=t.stack,n=r.pop(),a=r.pop(),o=t.z0[a],i=t.fv,s=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",u,")",a);var l=s.distance(o,On);e&&(Math.abs(l-u)",s),t.stack.push(Math.round(64*s))}function Da(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function Ia(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function Aa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(nr?1:0)}function Ma(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)}function Fa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)}function Ga(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)}function Na(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)}function Ha(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)}function _a(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(Cn(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))}function za(e){exports.DEBUG&&console.log(e.step,"EIF[]")}function Wa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)}function ja(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)}function Ya(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)}function qa(e,t){var r=t.stack,n=r.pop(),a=t.fv,o=t.pv,i=t.ppem,s=t.deltaBase+16*(e-1),u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var p=0;p>4);if(h===i){var d=(15&f)-8;d>=0&&d++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",c,"by",d*u);var v=l[c];a.setRelative(v,v,d*u,o)}}}function Xa(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDB[]",r),e.deltaBase=r}function Va(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDS[]",r),e.deltaShift=Math.pow(.5,r)}function Za(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)}function Qa(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)}function Ka(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(64*n/r)}function Ja(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)}function $a(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))}function eo(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)}function to(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(64*Math.floor(r/64))}function ro(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(64*Math.ceil(r/64))}function no(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(n/64))}function ao(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm}function oo(e,t){var r=t.stack,n=r.pop(),a=t.ppem,o=t.deltaBase+16*(e-1),i=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var s=0;s>4);if(p===a){var c=(15&l)-8;c>=0&&c++;var f=c*i;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",f),t.cvt[u]+=f}}}function io(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=Sn,192&r){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t}function so(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=Sn,192&r){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t}function uo(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=dn}function lo(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=mn}function po(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=bn}function co(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}function fo(e,t){var r,n,a=t.stack,o=a.pop(),i=a.pop(),s=t.z2[o],u=t.z1[i];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",o,i),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.dpv=Un(r,n)}function ho(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),1&r&&(n=35),32&r&&(n|=4096),t.push(n)}function vo(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(a)}function go(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))}function yo(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))}function mo(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)}function bo(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:return void(e.inhibitGridFit=!!r);case 2:return void(e.ignoreCvt=!!r);default:throw new Error("invalid INSTCTRL[] selector")}}function So(e,t){var r=t.stack,n=t.prog,a=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var o=0;o=0?1:-1,s=Math.abs(s),e&&(l=o.cvt[c],n&&Math.abs(s-l)":"_")+(n?"R":"_")+(0===a?"Gr":1===a?"Bl":2===a?"Wh":"")+"]",e?c+"("+o.cvt[c]+","+l+")":"",f,"(d =",i,"->",u*s,")"),o.rp1=o.rp0,o.rp2=f,t&&(o.rp0=f)}function wo(e){this.char=e,this.state={},this.activeState=null}function Uo(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function ko(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function Oo(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function Eo(e){this.eventId=e,this.subscribers=[]}function Ro(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new Eo(e)})})),e&&r.forEach((function(r){var n=e[r];"function"===typeof n&&t.events[r].subscribe(n)}));var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Lo(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ro.call(this,e)}function Co(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Do(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Io(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function Ao(e){return/[A-z]/.test(e)}function Po(e){return/\s/.test(e)}function Bo(e){this.font=e,this.features={}}function Mo(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Fo(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n=a.start&&e<=a.end){var o=e-a.start;return a.index+o}}break;default:return-1}return-1}function Go(e,t){var r=Fo(e,t.coverage);return-1===r?null:e+t.deltaGlyphId}function No(e,t){var r=Fo(e,t.coverage);return-1===r?null:t.substitute[r]}function Ho(e,t){for(var r=[],n=0;n2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var a=this._fpgmState;if(!a){Rn.prototype=En,a=this._fpgmState=new Rn("fpgm",r.tables.fpgm),a.funcs=[],a.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),a.step=-1);try{ln(a)}catch(l){return console.log("Hinting error in FPGM:"+l),void(this._errorState=3)}}Rn.prototype=a,n=this._prepState=new Rn("prep",r.tables.prep),n.ppem=t;var o=r.tables.cvt;if(o)for(var i=n.cvt=new Array(o.length),s=t/r.unitsPerEm,u=0;u1))try{return pn(e,n)}catch(l){return this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},pn=function(e,t){var r,n,a,o=t.ppem/t.font.unitsPerEm,i=o,s=e.components;if(Rn.prototype=t,s){var u=t.font;n=[],r=[];for(var l=0;l=0&&e0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Lo.prototype.rangeToText=function(e){if(e instanceof Uo)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Lo.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Lo.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Lo.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Lo.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof Eo&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Lo.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!==typeof t)return{FAIL:"missing context start check."};if("function"!==typeof r)return{FAIL:"missing context end check."};var n=new ko(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Lo.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Lo.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Lo.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];r.ranges=[]}},Lo.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t=0;r--){var n=t[r],a=Do(n),o=Io(n);if(!a&&!o)return!0;if(a)return!1}return!1}function ni(e){if(Do(e.current))return!1;for(var t=0;t0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},xi.prototype.toTables=function(){return Nr.fontToTable(this)},xi.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},xi.prototype.toArrayBuffer=function(){for(var e=this.toTables(),t=e.encode(),r=new ArrayBuffer(t.length),n=new Uint8Array(r),a=0;a=1.2&&(a.markGlyphSets=r.parsePointer(Pi)),a}var Mi={parse:Bi},Fi=new Array(10);function Gi(e,t){t=t||0;var r=new ve(e,t),n=r.parseVersion(1);return A.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Fi)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Fi),variations:r.parseFeatureVariationsList()}}Fi[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ve.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ve.coverage),values:this.parseValueRecordList()}:void A.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Fi[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();A.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ve.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(ve.pointer(ve.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))))};if(2===t){var o=this.parsePointer(ve.classDef),i=this.parsePointer(ve.classDef),s=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:o,classDef2:i,class1Count:s,class2Count:u,classRecords:this.parseList(s,ve.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))}}},Fi[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Fi[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Fi[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Fi[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Fi[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Fi[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Fi[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Ni=new Array(10);function Hi(e){return new ne.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ne.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ne.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ne.LookupList(e.lookups,Ni)}])}var _i={parse:Gi,make:Hi};function zi(e){var t={};e.skip("uShort");var r=e.parseUShort();A.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var n=e.parseUShort(),a=255&n;if(e.skip("uShort"),0===a){var o=e.parseUShort();e.skip("uShort",3);for(var i=0;i0?n:r)(t)}},b622:function(e,t,r){var n=r("da84"),a=r("5692"),o=r("1a2d"),i=r("90e3"),s=r("04f8"),u=r("fdbf"),l=n.Symbol,p=a("wks"),c=u?l["for"]||l:l&&l.withoutSetter||i;e.exports=function(e){return o(p,e)||(p[e]=s&&o(l,e)?l[e]:c("Symbol."+e)),p[e]}},b639:function(e,t,r){"use strict";(function(e){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var n=r("1fb5"),a=r("9152"),o=r("e3db");function i(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function b(e){return+e!=e&&(e=0),l.alloc(+e)}function S(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(e).length;default:if(n)return Q(e).length;t=(""+t).toLowerCase(),n=!0}}function x(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return F(this,t,r);case"utf8":case"utf-8":return I(this,t,r);case"ascii":return B(this,t,r);case"latin1":case"binary":return M(this,t,r);case"base64":return D(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function T(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function w(e,t,r,n,a){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(a)return-1;r=e.length-1}else if(r<0){if(!a)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:U(e,t,r,n,a);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):U(e,[t],r,n,a);throw new TypeError("val must be string, number or Buffer")}function U(e,t,r,n,a){var o,i=1,s=e.length,u=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;i=2,s/=2,u/=2,r/=2}function l(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(a){var p=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var c=!0,f=0;fa&&(n=a)):n=a;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var i=0;i239?4:l>223?3:l>191?2:1;if(a+c<=r)switch(c){case 1:l<128&&(p=l);break;case 2:o=e[a+1],128===(192&o)&&(u=(31&l)<<6|63&o,u>127&&(p=u));break;case 3:o=e[a+1],i=e[a+2],128===(192&o)&&128===(192&i)&&(u=(15&l)<<12|(63&o)<<6|63&i,u>2047&&(u<55296||u>57343)&&(p=u));break;case 4:o=e[a+1],i=e[a+2],s=e[a+3],128===(192&o)&&128===(192&i)&&128===(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&i)<<6|63&s,u>65535&&u<1114112&&(p=u))}null===p?(p=65533,c=1):p>65535&&(p-=65536,n.push(p>>>10&1023|55296),p=56320|1023&p),n.push(p),a+=c}return P(n)}t.Buffer=l,t.SlowBuffer=b,t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:i(),t.kMaxLength=s(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return p(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return f(null,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,a=0,o=Math.min(r,n);a0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,a){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),t<0||r>e.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&t>=r)return 0;if(n>=a)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,a>>>=0,this===e)return 0;for(var o=a-n,i=r-t,s=Math.min(o,i),u=this.slice(n,a),p=e.slice(t,r),c=0;ca)&&(r=a),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return k(this,e,t,r);case"utf8":case"utf-8":return O(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return R(this,e,t,r);case"base64":return L(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function P(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);var r="",n=0;while(nn)&&(r=n);for(var a="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function H(e,t,r,n,a,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function _(e,t,r,n){t<0&&(t=65535+t+1);for(var a=0,o=Math.min(e.length-r,2);a>>8*(n?a:1-a)}function z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var a=0,o=Math.min(e.length-r,4);a>>8*(n?a:3-a)&255}function W(e,t,r,n,a,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(e,t,r,n,o){return o||W(e,t,r,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,r,n,23,4),r+4}function Y(e,t,r,n,o){return o||W(e,t,r,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t0&&(a*=256))n+=this[e+--t]*a;return n},l.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);var n=this[e],a=1,o=0;while(++o=a&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);var n=t,a=1,o=this[e+--n];while(n>0&&(a*=256))o+=this[e+--n]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){var a=Math.pow(2,8*r)-1;H(this,e,t,r,a,0)}var o=1,i=0;this[t]=255&e;while(++i=0&&(i*=256))this[t+o]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):_(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):_(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):z(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);H(this,e,t,r,a-1,-a)}var o=0,i=1,s=0;this[t]=255&e;while(++o>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);H(this,e,t,r,a-1,-a)}var o=r-1,i=1,s=0;this[t+o]=255&e;while(--o>=0&&(i*=256))e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/i>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):_(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):_(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):z(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||H(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return j(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return j(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return Y(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return Y(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--a)e[a+t]=this[a+r];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(o=t;o55295&&r<57344){if(!a){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(i+1===n){(t-=3)>-1&&o.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(t-=3)>-1&&o.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(e){for(var t=[],r=0;r>8,a=r%256,o.push(a),o.push(n)}return o}function $(e){return n.toByteArray(X(e))}function ee(e,t,r,n){for(var a=0;a=t.length||a>=e.length)break;t[a+r]=e[a]}return a}function te(e){return e!==e}}).call(this,r("c8ba"))},c04e:function(e,t,r){var n=r("c65b"),a=r("861d"),o=r("d9b5"),i=r("dc4a"),s=r("485a"),u=r("b622"),l=TypeError,p=u("toPrimitive");e.exports=function(e,t){if(!a(e)||o(e))return e;var r,u=i(e,p);if(u){if(void 0===t&&(t="default"),r=n(u,e,t),!a(r)||o(r))return r;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},c3bd:function(e,t,r){r("c73d"),self.window={};var n=r("a788");self.onmessage=function(e){var t=e.data,r=t.url,a=t.fileName;n.load(r,(function(e,t){e?self.postMessage({url:r,fileName:a,error:e.message||e}):self.postMessage({url:r,fileName:a,font:t})}))}},c430:function(e,t){e.exports=!1},c65b:function(e,t,r){var n=r("40d5"),a=Function.prototype.call;e.exports=n?a.bind(a):function(){return a.apply(a,arguments)}},c6b6:function(e,t,r){var n=r("e330"),a=n({}.toString),o=n("".slice);e.exports=function(e){return o(a(e),8,-1)}},c6cd:function(e,t,r){var n=r("da84"),a=r("6374"),o="__core-js_shared__",i=n[o]||a(o,{});e.exports=i},c73d:function(e,t,r){"use strict";var n=r("23e7"),a=r("da84"),o=r("edd0"),i=r("83ab"),s=TypeError,u=Object.defineProperty,l=a.self!==a;try{if(i){var p=Object.getOwnPropertyDescriptor(a,"self");!l&&p&&p.get&&p.enumerable||o(a,"self",{get:function(){return a},set:function(e){if(this!==a)throw s("Illegal invocation");u(a,"self",{value:e,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:l},{self:a})}catch(c){}},c8ba:function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},ca84:function(e,t,r){var n=r("e330"),a=r("1a2d"),o=r("fc6a"),i=r("4d64").indexOf,s=r("d012"),u=n([].push);e.exports=function(e,t){var r,n=o(e),l=0,p=[];for(r in n)!a(s,r)&&a(n,r)&&u(p,r);while(t.length>l)a(n,r=t[l++])&&(~i(p,r)||u(p,r));return p}},cb2d:function(e,t,r){var n=r("1626"),a=r("9bf2"),o=r("13d2"),i=r("6374");e.exports=function(e,t,r,s){s||(s={});var u=s.enumerable,l=void 0!==s.name?s.name:t;if(n(r)&&o(r,l,s),s.global)u?e[t]=r:i(t,r);else{try{s.unsafe?e[t]&&(u=!0):delete e[t]}catch(p){}u?e[t]=r:a.f(e,t,{value:r,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},cc12:function(e,t,r){var n=r("da84"),a=r("861d"),o=n.document,i=a(o)&&a(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},cdce:function(e,t,r){var n=r("da84"),a=r("1626"),o=n.WeakMap;e.exports=a(o)&&/native code/.test(String(o))},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,r){var n=r("da84"),a=r("1626"),o=function(e){return a(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?o(n[e]):n[e]&&n[e][t]}},d1e7:function(e,t,r){"use strict";var n={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,o=a&&!n.call({1:2},1);t.f=o?function(e){var t=a(this,e);return!!t&&t.enumerable}:n},d9b5:function(e,t,r){var n=r("d066"),a=r("1626"),o=r("3a9b"),i=r("fdbf"),s=Object;e.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return a(t)&&o(t.prototype,s(e))}},da84:function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||function(){return this}()||this||Function("return this")()}).call(this,r("c8ba"))},dc4a:function(e,t,r){var n=r("59ed"),a=r("7234");e.exports=function(e,t){var r=e[t];return a(r)?void 0:n(r)}},e330:function(e,t,r){var n=r("40d5"),a=Function.prototype,o=a.call,i=n&&a.bind.bind(o,o);e.exports=n?i:function(e){return function(){return o.apply(e,arguments)}}},e3db:function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},e893:function(e,t,r){var n=r("1a2d"),a=r("56ef"),o=r("06cf"),i=r("9bf2");e.exports=function(e,t,r){for(var s=a(t),u=i.f,l=o.f,p=0;p 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.31.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","/**\n * https://opentype.js.org v1.3.4 | (c) Frederik De Bleser and other contributors | MIT License | Uses tiny-inflate by Devon Govett and string.prototype.codepointat polyfill by Mathias Bynens\n */\n\n/*! https://mths.be/codepointat v0.2.0 by @mathias */\nif (!String.prototype.codePointAt) {\n\t(function() {\n\t\tvar defineProperty = (function() {\n\t\t\t// IE 8 only supports `Object.defineProperty` on DOM elements\n\t\t\ttry {\n\t\t\t\tvar object = {};\n\t\t\t\tvar $defineProperty = Object.defineProperty;\n\t\t\t\tvar result = $defineProperty(object, object, object) && $defineProperty;\n\t\t\t} catch(error) {}\n\t\t\treturn result;\n\t\t}());\n\t\tvar codePointAt = function(position) {\n\t\t\tif (this == null) {\n\t\t\t\tthrow TypeError();\n\t\t\t}\n\t\t\tvar string = String(this);\n\t\t\tvar size = string.length;\n\t\t\t// `ToInteger`\n\t\t\tvar index = position ? Number(position) : 0;\n\t\t\tif (index != index) { // better `isNaN`\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\t// Account for out-of-bounds indices:\n\t\t\tif (index < 0 || index >= size) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Get the first code unit\n\t\t\tvar first = string.charCodeAt(index);\n\t\t\tvar second;\n\t\t\tif ( // check if it’s the start of a surrogate pair\n\t\t\t\tfirst >= 0xD800 && first <= 0xDBFF && // high surrogate\n\t\t\t\tsize > index + 1 // there is a next code unit\n\t\t\t) {\n\t\t\t\tsecond = string.charCodeAt(index + 1);\n\t\t\t\tif (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate\n\t\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\t\treturn (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn first;\n\t\t};\n\t\tif (defineProperty) {\n\t\t\tdefineProperty(String.prototype, 'codePointAt', {\n\t\t\t\t'value': codePointAt,\n\t\t\t\t'configurable': true,\n\t\t\t\t'writable': true\n\t\t\t});\n\t\t} else {\n\t\t\tString.prototype.codePointAt = codePointAt;\n\t\t}\n\t}());\n}\n\nvar TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\n\nfunction Tree() {\n this.table = new Uint16Array(16); /* table of code length counts */\n this.trans = new Uint16Array(288); /* code -> symbol translation table */\n}\n\nfunction Data(source, dest) {\n this.source = source;\n this.sourceIndex = 0;\n this.tag = 0;\n this.bitcount = 0;\n \n this.dest = dest;\n this.destLen = 0;\n \n this.ltree = new Tree(); /* dynamic length/symbol tree */\n this.dtree = new Tree(); /* dynamic distance tree */\n}\n\n/* --------------------------------------------------- *\n * -- uninitialized global data (static structures) -- *\n * --------------------------------------------------- */\n\nvar sltree = new Tree();\nvar sdtree = new Tree();\n\n/* extra bits and base tables for length codes */\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\n\n/* extra bits and base tables for distance codes */\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\n\n/* special ordering of code length codes */\nvar clcidx = new Uint8Array([\n 16, 17, 18, 0, 8, 7, 9, 6,\n 10, 5, 11, 4, 12, 3, 13, 2,\n 14, 1, 15\n]);\n\n/* used by tinf_decode_trees, avoids allocations every call */\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\n\n/* ----------------------- *\n * -- utility functions -- *\n * ----------------------- */\n\n/* build extra bits and base tables */\nfunction tinf_build_bits_base(bits, base, delta, first) {\n var i, sum;\n\n /* build bits table */\n for (i = 0; i < delta; ++i) { bits[i] = 0; }\n for (i = 0; i < 30 - delta; ++i) { bits[i + delta] = i / delta | 0; }\n\n /* build base table */\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\n\n/* build the fixed huffman trees */\nfunction tinf_build_fixed_trees(lt, dt) {\n var i;\n\n /* build fixed length tree */\n for (i = 0; i < 7; ++i) { lt.table[i] = 0; }\n\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n\n for (i = 0; i < 24; ++i) { lt.trans[i] = 256 + i; }\n for (i = 0; i < 144; ++i) { lt.trans[24 + i] = i; }\n for (i = 0; i < 8; ++i) { lt.trans[24 + 144 + i] = 280 + i; }\n for (i = 0; i < 112; ++i) { lt.trans[24 + 144 + 8 + i] = 144 + i; }\n\n /* build fixed distance tree */\n for (i = 0; i < 5; ++i) { dt.table[i] = 0; }\n\n dt.table[5] = 32;\n\n for (i = 0; i < 32; ++i) { dt.trans[i] = i; }\n}\n\n/* given an array of code lengths, build a tree */\nvar offs = new Uint16Array(16);\n\nfunction tinf_build_tree(t, lengths, off, num) {\n var i, sum;\n\n /* clear code length count table */\n for (i = 0; i < 16; ++i) { t.table[i] = 0; }\n\n /* scan symbol lengths, and sum code length counts */\n for (i = 0; i < num; ++i) { t.table[lengths[off + i]]++; }\n\n t.table[0] = 0;\n\n /* compute offset table for distribution sort */\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n\n /* create code->symbol translation table (symbols sorted by code) */\n for (i = 0; i < num; ++i) {\n if (lengths[off + i]) { t.trans[offs[lengths[off + i]]++] = i; }\n }\n}\n\n/* ---------------------- *\n * -- decode functions -- *\n * ---------------------- */\n\n/* get one bit from source stream */\nfunction tinf_getbit(d) {\n /* check if tag is empty */\n if (!d.bitcount--) {\n /* load next tag */\n d.tag = d.source[d.sourceIndex++];\n d.bitcount = 7;\n }\n\n /* shift bit out of tag */\n var bit = d.tag & 1;\n d.tag >>>= 1;\n\n return bit;\n}\n\n/* read a num bit value from a stream and add base */\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n { return base; }\n\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n\n var val = d.tag & (0xffff >>> (16 - num));\n d.tag >>>= num;\n d.bitcount -= num;\n return val + base;\n}\n\n/* given a data stream and a tree, decode a symbol */\nfunction tinf_decode_symbol(d, t) {\n while (d.bitcount < 24) {\n d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n d.bitcount += 8;\n }\n \n var sum = 0, cur = 0, len = 0;\n var tag = d.tag;\n\n /* get more bits while code value is above sum */\n do {\n cur = 2 * cur + (tag & 1);\n tag >>>= 1;\n ++len;\n\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n \n d.tag = tag;\n d.bitcount -= len;\n\n return t.trans[sum + cur];\n}\n\n/* given a data stream, decode dynamic trees from it */\nfunction tinf_decode_trees(d, lt, dt) {\n var hlit, hdist, hclen;\n var i, num, length;\n\n /* get 5 bits HLIT (257-286) */\n hlit = tinf_read_bits(d, 5, 257);\n\n /* get 5 bits HDIST (1-32) */\n hdist = tinf_read_bits(d, 5, 1);\n\n /* get 4 bits HCLEN (4-19) */\n hclen = tinf_read_bits(d, 4, 4);\n\n for (i = 0; i < 19; ++i) { lengths[i] = 0; }\n\n /* read code lengths for code length alphabet */\n for (i = 0; i < hclen; ++i) {\n /* get 3 bits code length (0-7) */\n var clen = tinf_read_bits(d, 3, 0);\n lengths[clcidx[i]] = clen;\n }\n\n /* build code length tree */\n tinf_build_tree(code_tree, lengths, 0, 19);\n\n /* decode code lengths for the dynamic trees */\n for (num = 0; num < hlit + hdist;) {\n var sym = tinf_decode_symbol(d, code_tree);\n\n switch (sym) {\n case 16:\n /* copy previous code length 3-6 times (read 2 bits) */\n var prev = lengths[num - 1];\n for (length = tinf_read_bits(d, 2, 3); length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n /* repeat code length 0 for 3-10 times (read 3 bits) */\n for (length = tinf_read_bits(d, 3, 3); length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n /* repeat code length 0 for 11-138 times (read 7 bits) */\n for (length = tinf_read_bits(d, 7, 11); length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n /* values 0-15 represent the actual code lengths */\n lengths[num++] = sym;\n break;\n }\n }\n\n /* build dynamic trees */\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\n\n/* ----------------------------- *\n * -- block inflate functions -- *\n * ----------------------------- */\n\n/* given a stream and two trees, inflate a block of data */\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n var sym = tinf_decode_symbol(d, lt);\n\n /* check for end of block */\n if (sym === 256) {\n return TINF_OK;\n }\n\n if (sym < 256) {\n d.dest[d.destLen++] = sym;\n } else {\n var length, dist, offs;\n var i;\n\n sym -= 257;\n\n /* possibly get more bits from length code */\n length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n\n dist = tinf_decode_symbol(d, dt);\n\n /* possibly get more bits from distance code */\n offs = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n\n /* copy match */\n for (i = offs; i < offs + length; ++i) {\n d.dest[d.destLen++] = d.dest[i];\n }\n }\n }\n}\n\n/* inflate an uncompressed block of data */\nfunction tinf_inflate_uncompressed_block(d) {\n var length, invlength;\n var i;\n \n /* unread from bitbuffer */\n while (d.bitcount > 8) {\n d.sourceIndex--;\n d.bitcount -= 8;\n }\n\n /* get length */\n length = d.source[d.sourceIndex + 1];\n length = 256 * length + d.source[d.sourceIndex];\n\n /* get one's complement of length */\n invlength = d.source[d.sourceIndex + 3];\n invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n\n /* check length */\n if (length !== (~invlength & 0x0000ffff))\n { return TINF_DATA_ERROR; }\n\n d.sourceIndex += 4;\n\n /* copy block */\n for (i = length; i; --i)\n { d.dest[d.destLen++] = d.source[d.sourceIndex++]; }\n\n /* make sure we start next block on a byte boundary */\n d.bitcount = 0;\n\n return TINF_OK;\n}\n\n/* inflate stream from source to dest */\nfunction tinf_uncompress(source, dest) {\n var d = new Data(source, dest);\n var bfinal, btype, res;\n\n do {\n /* read final block flag */\n bfinal = tinf_getbit(d);\n\n /* read block type (2 bits) */\n btype = tinf_read_bits(d, 2, 0);\n\n /* decompress block */\n switch (btype) {\n case 0:\n /* decompress uncompressed block */\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n /* decompress block with fixed huffman trees */\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n /* decompress block with dynamic huffman trees */\n tinf_decode_trees(d, d.ltree, d.dtree);\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = TINF_DATA_ERROR;\n }\n\n if (res !== TINF_OK)\n { throw new Error('Data error'); }\n\n } while (!bfinal);\n\n if (d.destLen < d.dest.length) {\n if (typeof d.dest.slice === 'function')\n { return d.dest.slice(0, d.destLen); }\n else\n { return d.dest.subarray(0, d.destLen); }\n }\n \n return d.dest;\n}\n\n/* -------------------- *\n * -- initialization -- *\n * -------------------- */\n\n/* build fixed huffman trees */\ntinf_build_fixed_trees(sltree, sdtree);\n\n/* build extra bits and base tables */\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\n\n/* fix a special case */\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\nvar tinyInflate = tinf_uncompress;\n\n// The Bounding Box object\n\nfunction derive(v0, v1, v2, v3, t) {\n return Math.pow(1 - t, 3) * v0 +\n 3 * Math.pow(1 - t, 2) * t * v1 +\n 3 * (1 - t) * Math.pow(t, 2) * v2 +\n Math.pow(t, 3) * v3;\n}\n/**\n * A bounding box is an enclosing box that describes the smallest measure within which all the points lie.\n * It is used to calculate the bounding box of a glyph or text path.\n *\n * On initialization, x1/y1/x2/y2 will be NaN. Check if the bounding box is empty using `isEmpty()`.\n *\n * @exports opentype.BoundingBox\n * @class\n * @constructor\n */\nfunction BoundingBox() {\n this.x1 = Number.NaN;\n this.y1 = Number.NaN;\n this.x2 = Number.NaN;\n this.y2 = Number.NaN;\n}\n\n/**\n * Returns true if the bounding box is empty, that is, no points have been added to the box yet.\n */\nBoundingBox.prototype.isEmpty = function() {\n return isNaN(this.x1) || isNaN(this.y1) || isNaN(this.x2) || isNaN(this.y2);\n};\n\n/**\n * Add the point to the bounding box.\n * The x1/y1/x2/y2 coordinates of the bounding box will now encompass the given point.\n * @param {number} x - The X coordinate of the point.\n * @param {number} y - The Y coordinate of the point.\n */\nBoundingBox.prototype.addPoint = function(x, y) {\n if (typeof x === 'number') {\n if (isNaN(this.x1) || isNaN(this.x2)) {\n this.x1 = x;\n this.x2 = x;\n }\n if (x < this.x1) {\n this.x1 = x;\n }\n if (x > this.x2) {\n this.x2 = x;\n }\n }\n if (typeof y === 'number') {\n if (isNaN(this.y1) || isNaN(this.y2)) {\n this.y1 = y;\n this.y2 = y;\n }\n if (y < this.y1) {\n this.y1 = y;\n }\n if (y > this.y2) {\n this.y2 = y;\n }\n }\n};\n\n/**\n * Add a X coordinate to the bounding box.\n * This extends the bounding box to include the X coordinate.\n * This function is used internally inside of addBezier.\n * @param {number} x - The X coordinate of the point.\n */\nBoundingBox.prototype.addX = function(x) {\n this.addPoint(x, null);\n};\n\n/**\n * Add a Y coordinate to the bounding box.\n * This extends the bounding box to include the Y coordinate.\n * This function is used internally inside of addBezier.\n * @param {number} y - The Y coordinate of the point.\n */\nBoundingBox.prototype.addY = function(y) {\n this.addPoint(null, y);\n};\n\n/**\n * Add a Bézier curve to the bounding box.\n * This extends the bounding box to include the entire Bézier.\n * @param {number} x0 - The starting X coordinate.\n * @param {number} y0 - The starting Y coordinate.\n * @param {number} x1 - The X coordinate of the first control point.\n * @param {number} y1 - The Y coordinate of the first control point.\n * @param {number} x2 - The X coordinate of the second control point.\n * @param {number} y2 - The Y coordinate of the second control point.\n * @param {number} x - The ending X coordinate.\n * @param {number} y - The ending Y coordinate.\n */\nBoundingBox.prototype.addBezier = function(x0, y0, x1, y1, x2, y2, x, y) {\n // This code is based on http://nishiohirokazu.blogspot.com/2009/06/how-to-calculate-bezier-curves-bounding.html\n // and https://github.com/icons8/svg-path-bounding-box\n\n var p0 = [x0, y0];\n var p1 = [x1, y1];\n var p2 = [x2, y2];\n var p3 = [x, y];\n\n this.addPoint(x0, y0);\n this.addPoint(x, y);\n\n for (var i = 0; i <= 1; i++) {\n var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n var c = 3 * p1[i] - 3 * p0[i];\n\n if (a === 0) {\n if (b === 0) { continue; }\n var t = -c / b;\n if (0 < t && t < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t)); }\n }\n continue;\n }\n\n var b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) { continue; }\n var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (0 < t1 && t1 < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t1)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t1)); }\n }\n var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (0 < t2 && t2 < 1) {\n if (i === 0) { this.addX(derive(p0[i], p1[i], p2[i], p3[i], t2)); }\n if (i === 1) { this.addY(derive(p0[i], p1[i], p2[i], p3[i], t2)); }\n }\n }\n};\n\n/**\n * Add a quadratic curve to the bounding box.\n * This extends the bounding box to include the entire quadratic curve.\n * @param {number} x0 - The starting X coordinate.\n * @param {number} y0 - The starting Y coordinate.\n * @param {number} x1 - The X coordinate of the control point.\n * @param {number} y1 - The Y coordinate of the control point.\n * @param {number} x - The ending X coordinate.\n * @param {number} y - The ending Y coordinate.\n */\nBoundingBox.prototype.addQuad = function(x0, y0, x1, y1, x, y) {\n var cp1x = x0 + 2 / 3 * (x1 - x0);\n var cp1y = y0 + 2 / 3 * (y1 - y0);\n var cp2x = cp1x + 1 / 3 * (x - x0);\n var cp2y = cp1y + 1 / 3 * (y - y0);\n this.addBezier(x0, y0, cp1x, cp1y, cp2x, cp2y, x, y);\n};\n\n// Geometric objects\n\n/**\n * A bézier path containing a set of path commands similar to a SVG path.\n * Paths can be drawn on a context using `draw`.\n * @exports opentype.Path\n * @class\n * @constructor\n */\nfunction Path() {\n this.commands = [];\n this.fill = 'black';\n this.stroke = null;\n this.strokeWidth = 1;\n}\n\n/**\n * @param {number} x\n * @param {number} y\n */\nPath.prototype.moveTo = function(x, y) {\n this.commands.push({\n type: 'M',\n x: x,\n y: y\n });\n};\n\n/**\n * @param {number} x\n * @param {number} y\n */\nPath.prototype.lineTo = function(x, y) {\n this.commands.push({\n type: 'L',\n x: x,\n y: y\n });\n};\n\n/**\n * Draws cubic curve\n * @function\n * curveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control 1\n * @param {number} y1 - y of control 1\n * @param {number} x2 - x of control 2\n * @param {number} y2 - y of control 2\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\n\n/**\n * Draws cubic curve\n * @function\n * bezierCurveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control 1\n * @param {number} y1 - y of control 1\n * @param {number} x2 - x of control 2\n * @param {number} y2 - y of control 2\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n * @see curveTo\n */\nPath.prototype.curveTo = Path.prototype.bezierCurveTo = function(x1, y1, x2, y2, x, y) {\n this.commands.push({\n type: 'C',\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n x: x,\n y: y\n });\n};\n\n/**\n * Draws quadratic curve\n * @function\n * quadraticCurveTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control\n * @param {number} y1 - y of control\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\n\n/**\n * Draws quadratic curve\n * @function\n * quadTo\n * @memberof opentype.Path.prototype\n * @param {number} x1 - x of control\n * @param {number} y1 - y of control\n * @param {number} x - x of path point\n * @param {number} y - y of path point\n */\nPath.prototype.quadTo = Path.prototype.quadraticCurveTo = function(x1, y1, x, y) {\n this.commands.push({\n type: 'Q',\n x1: x1,\n y1: y1,\n x: x,\n y: y\n });\n};\n\n/**\n * Closes the path\n * @function closePath\n * @memberof opentype.Path.prototype\n */\n\n/**\n * Close the path\n * @function close\n * @memberof opentype.Path.prototype\n */\nPath.prototype.close = Path.prototype.closePath = function() {\n this.commands.push({\n type: 'Z'\n });\n};\n\n/**\n * Add the given path or list of commands to the commands of this path.\n * @param {Array} pathOrCommands - another opentype.Path, an opentype.BoundingBox, or an array of commands.\n */\nPath.prototype.extend = function(pathOrCommands) {\n if (pathOrCommands.commands) {\n pathOrCommands = pathOrCommands.commands;\n } else if (pathOrCommands instanceof BoundingBox) {\n var box = pathOrCommands;\n this.moveTo(box.x1, box.y1);\n this.lineTo(box.x2, box.y1);\n this.lineTo(box.x2, box.y2);\n this.lineTo(box.x1, box.y2);\n this.close();\n return;\n }\n\n Array.prototype.push.apply(this.commands, pathOrCommands);\n};\n\n/**\n * Calculate the bounding box of the path.\n * @returns {opentype.BoundingBox}\n */\nPath.prototype.getBoundingBox = function() {\n var box = new BoundingBox();\n\n var startX = 0;\n var startY = 0;\n var prevX = 0;\n var prevY = 0;\n for (var i = 0; i < this.commands.length; i++) {\n var cmd = this.commands[i];\n switch (cmd.type) {\n case 'M':\n box.addPoint(cmd.x, cmd.y);\n startX = prevX = cmd.x;\n startY = prevY = cmd.y;\n break;\n case 'L':\n box.addPoint(cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'Q':\n box.addQuad(prevX, prevY, cmd.x1, cmd.y1, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'C':\n box.addBezier(prevX, prevY, cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n prevX = cmd.x;\n prevY = cmd.y;\n break;\n case 'Z':\n prevX = startX;\n prevY = startY;\n break;\n default:\n throw new Error('Unexpected path command ' + cmd.type);\n }\n }\n if (box.isEmpty()) {\n box.addPoint(0, 0);\n }\n return box;\n};\n\n/**\n * Draw the path to a 2D context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context.\n */\nPath.prototype.draw = function(ctx) {\n ctx.beginPath();\n for (var i = 0; i < this.commands.length; i += 1) {\n var cmd = this.commands[i];\n if (cmd.type === 'M') {\n ctx.moveTo(cmd.x, cmd.y);\n } else if (cmd.type === 'L') {\n ctx.lineTo(cmd.x, cmd.y);\n } else if (cmd.type === 'C') {\n ctx.bezierCurveTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === 'Q') {\n ctx.quadraticCurveTo(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === 'Z') {\n ctx.closePath();\n }\n }\n\n if (this.fill) {\n ctx.fillStyle = this.fill;\n ctx.fill();\n }\n\n if (this.stroke) {\n ctx.strokeStyle = this.stroke;\n ctx.lineWidth = this.strokeWidth;\n ctx.stroke();\n }\n};\n\n/**\n * Convert the Path to a string of path data instructions\n * See http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {number} [decimalPlaces=2] - The amount of decimal places for floating-point values\n * @return {string}\n */\nPath.prototype.toPathData = function(decimalPlaces) {\n decimalPlaces = decimalPlaces !== undefined ? decimalPlaces : 2;\n\n function floatToString(v) {\n if (Math.round(v) === v) {\n return '' + Math.round(v);\n } else {\n return v.toFixed(decimalPlaces);\n }\n }\n\n function packValues() {\n var arguments$1 = arguments;\n\n var s = '';\n for (var i = 0; i < arguments.length; i += 1) {\n var v = arguments$1[i];\n if (v >= 0 && i > 0) {\n s += ' ';\n }\n\n s += floatToString(v);\n }\n\n return s;\n }\n\n var d = '';\n for (var i = 0; i < this.commands.length; i += 1) {\n var cmd = this.commands[i];\n if (cmd.type === 'M') {\n d += 'M' + packValues(cmd.x, cmd.y);\n } else if (cmd.type === 'L') {\n d += 'L' + packValues(cmd.x, cmd.y);\n } else if (cmd.type === 'C') {\n d += 'C' + packValues(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.x, cmd.y);\n } else if (cmd.type === 'Q') {\n d += 'Q' + packValues(cmd.x1, cmd.y1, cmd.x, cmd.y);\n } else if (cmd.type === 'Z') {\n d += 'Z';\n }\n }\n\n return d;\n};\n\n/**\n * Convert the path to an SVG element, as a string.\n * @param {number} [decimalPlaces=2] - The amount of decimal places for floating-point values\n * @return {string}\n */\nPath.prototype.toSVG = function(decimalPlaces) {\n var svg = '= 0 && v <= 255, 'Byte value should be between 0 and 255.');\n return [v];\n};\n/**\n * @constant\n * @type {number}\n */\nsizeOf.BYTE = constant(1);\n\n/**\n * Convert a 8-bit signed integer to a list of 1 byte.\n * @param {string}\n * @returns {Array}\n */\nencode.CHAR = function(v) {\n return [v.charCodeAt(0)];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.CHAR = constant(1);\n\n/**\n * Convert an ASCII string to a list of bytes.\n * @param {string}\n * @returns {Array}\n */\nencode.CHARARRAY = function(v) {\n if (typeof v === 'undefined') {\n v = '';\n console.warn('Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name.');\n }\n var b = [];\n for (var i = 0; i < v.length; i += 1) {\n b[i] = v.charCodeAt(i);\n }\n\n return b;\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.CHARARRAY = function(v) {\n if (typeof v === 'undefined') {\n return 0;\n }\n return v.length;\n};\n\n/**\n * Convert a 16-bit unsigned integer to a list of 2 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.USHORT = function(v) {\n return [(v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.USHORT = constant(2);\n\n/**\n * Convert a 16-bit signed integer to a list of 2 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.SHORT = function(v) {\n // Two's complement\n if (v >= LIMIT16) {\n v = -(2 * LIMIT16 - v);\n }\n\n return [(v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.SHORT = constant(2);\n\n/**\n * Convert a 24-bit unsigned integer to a list of 3 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.UINT24 = function(v) {\n return [(v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.UINT24 = constant(3);\n\n/**\n * Convert a 32-bit unsigned integer to a list of 4 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.ULONG = function(v) {\n return [(v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.ULONG = constant(4);\n\n/**\n * Convert a 32-bit unsigned integer to a list of 4 bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.LONG = function(v) {\n // Two's complement\n if (v >= LIMIT32) {\n v = -(2 * LIMIT32 - v);\n }\n\n return [(v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.LONG = constant(4);\n\nencode.FIXED = encode.ULONG;\nsizeOf.FIXED = sizeOf.ULONG;\n\nencode.FWORD = encode.SHORT;\nsizeOf.FWORD = sizeOf.SHORT;\n\nencode.UFWORD = encode.USHORT;\nsizeOf.UFWORD = sizeOf.USHORT;\n\n/**\n * Convert a 32-bit Apple Mac timestamp integer to a list of 8 bytes, 64-bit timestamp.\n * @param {number}\n * @returns {Array}\n */\nencode.LONGDATETIME = function(v) {\n return [0, 0, 0, 0, (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.LONGDATETIME = constant(8);\n\n/**\n * Convert a 4-char tag to a list of 4 bytes.\n * @param {string}\n * @returns {Array}\n */\nencode.TAG = function(v) {\n check.argument(v.length === 4, 'Tag should be exactly 4 ASCII characters.');\n return [v.charCodeAt(0),\n v.charCodeAt(1),\n v.charCodeAt(2),\n v.charCodeAt(3)];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.TAG = constant(4);\n\n// CFF data types ///////////////////////////////////////////////////////////\n\nencode.Card8 = encode.BYTE;\nsizeOf.Card8 = sizeOf.BYTE;\n\nencode.Card16 = encode.USHORT;\nsizeOf.Card16 = sizeOf.USHORT;\n\nencode.OffSize = encode.BYTE;\nsizeOf.OffSize = sizeOf.BYTE;\n\nencode.SID = encode.USHORT;\nsizeOf.SID = sizeOf.USHORT;\n\n// Convert a numeric operand or charstring number to a variable-size list of bytes.\n/**\n * Convert a numeric operand or charstring number to a variable-size list of bytes.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER = function(v) {\n if (v >= -107 && v <= 107) {\n return [v + 139];\n } else if (v >= 108 && v <= 1131) {\n v = v - 108;\n return [(v >> 8) + 247, v & 0xFF];\n } else if (v >= -1131 && v <= -108) {\n v = -v - 108;\n return [(v >> 8) + 251, v & 0xFF];\n } else if (v >= -32768 && v <= 32767) {\n return encode.NUMBER16(v);\n } else {\n return encode.NUMBER32(v);\n }\n};\n\n/**\n * @param {number}\n * @returns {number}\n */\nsizeOf.NUMBER = function(v) {\n return encode.NUMBER(v).length;\n};\n\n/**\n * Convert a signed number between -32768 and +32767 to a three-byte value.\n * This ensures we always use three bytes, but is not the most compact format.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER16 = function(v) {\n return [28, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.NUMBER16 = constant(3);\n\n/**\n * Convert a signed number between -(2^31) and +(2^31-1) to a five-byte value.\n * This is useful if you want to be sure you always use four bytes,\n * at the expense of wasting a few bytes for smaller numbers.\n * @param {number}\n * @returns {Array}\n */\nencode.NUMBER32 = function(v) {\n return [29, (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF];\n};\n\n/**\n * @constant\n * @type {number}\n */\nsizeOf.NUMBER32 = constant(5);\n\n/**\n * @param {number}\n * @returns {Array}\n */\nencode.REAL = function(v) {\n var value = v.toString();\n\n // Some numbers use an epsilon to encode the value. (e.g. JavaScript will store 0.0000001 as 1e-7)\n // This code converts it back to a number without the epsilon.\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n if (m) {\n var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(v * epsilon) / epsilon).toString();\n }\n\n var nibbles = '';\n for (var i = 0, ii = value.length; i < ii; i += 1) {\n var c = value[i];\n if (c === 'e') {\n nibbles += value[++i] === '-' ? 'c' : 'b';\n } else if (c === '.') {\n nibbles += 'a';\n } else if (c === '-') {\n nibbles += 'e';\n } else {\n nibbles += c;\n }\n }\n\n nibbles += (nibbles.length & 1) ? 'f' : 'ff';\n var out = [30];\n for (var i$1 = 0, ii$1 = nibbles.length; i$1 < ii$1; i$1 += 2) {\n out.push(parseInt(nibbles.substr(i$1, 2), 16));\n }\n\n return out;\n};\n\n/**\n * @param {number}\n * @returns {number}\n */\nsizeOf.REAL = function(v) {\n return encode.REAL(v).length;\n};\n\nencode.NAME = encode.CHARARRAY;\nsizeOf.NAME = sizeOf.CHARARRAY;\n\nencode.STRING = encode.CHARARRAY;\nsizeOf.STRING = sizeOf.CHARARRAY;\n\n/**\n * @param {DataView} data\n * @param {number} offset\n * @param {number} numBytes\n * @returns {string}\n */\ndecode.UTF8 = function(data, offset, numBytes) {\n var codePoints = [];\n var numChars = numBytes;\n for (var j = 0; j < numChars; j++, offset += 1) {\n codePoints[j] = data.getUint8(offset);\n }\n\n return String.fromCharCode.apply(null, codePoints);\n};\n\n/**\n * @param {DataView} data\n * @param {number} offset\n * @param {number} numBytes\n * @returns {string}\n */\ndecode.UTF16 = function(data, offset, numBytes) {\n var codePoints = [];\n var numChars = numBytes / 2;\n for (var j = 0; j < numChars; j++, offset += 2) {\n codePoints[j] = data.getUint16(offset);\n }\n\n return String.fromCharCode.apply(null, codePoints);\n};\n\n/**\n * Convert a JavaScript string to UTF16-BE.\n * @param {string}\n * @returns {Array}\n */\nencode.UTF16 = function(v) {\n var b = [];\n for (var i = 0; i < v.length; i += 1) {\n var codepoint = v.charCodeAt(i);\n b[b.length] = (codepoint >> 8) & 0xFF;\n b[b.length] = codepoint & 0xFF;\n }\n\n return b;\n};\n\n/**\n * @param {string}\n * @returns {number}\n */\nsizeOf.UTF16 = function(v) {\n return v.length * 2;\n};\n\n// Data for converting old eight-bit Macintosh encodings to Unicode.\n// This representation is optimized for decoding; encoding is slower\n// and needs more memory. The assumption is that all opentype.js users\n// want to open fonts, but saving a font will be comparatively rare\n// so it can be more expensive. Keyed by IANA character set name.\n//\n// Python script for generating these strings:\n//\n// s = u''.join([chr(c).decode('mac_greek') for c in range(128, 256)])\n// print(s.encode('utf-8'))\n/**\n * @private\n */\nvar eightBitMacEncodings = {\n 'x-mac-croatian': // Python: 'mac_croatian'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø' +\n '¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ',\n 'x-mac-cyrillic': // Python: 'mac_cyrillic'\n 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњ' +\n 'јЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю',\n 'x-mac-gaelic': // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/GAELIC.TXT\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæø' +\n 'ṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ',\n 'x-mac-greek': // Python: 'mac_greek'\n 'Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩ' +\n 'άΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ\\u00AD',\n 'x-mac-icelandic': // Python: 'mac_iceland'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-inuit': // http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/INUIT.TXT\n 'ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗ' +\n 'ᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł',\n 'x-mac-ce': // Python: 'mac_latin2'\n 'ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅ' +\n 'ņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ',\n macintosh: // Python: 'mac_roman'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-romanian': // Python: 'mac_romanian'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',\n 'x-mac-turkish': // Python: 'mac_turkish'\n 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø' +\n '¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ'\n};\n\n/**\n * Decodes an old-style Macintosh string. Returns either a Unicode JavaScript\n * string, or 'undefined' if the encoding is unsupported. For example, we do\n * not support Chinese, Japanese or Korean because these would need large\n * mapping tables.\n * @param {DataView} dataView\n * @param {number} offset\n * @param {number} dataLength\n * @param {string} encoding\n * @returns {string}\n */\ndecode.MACSTRING = function(dataView, offset, dataLength, encoding) {\n var table = eightBitMacEncodings[encoding];\n if (table === undefined) {\n return undefined;\n }\n\n var result = '';\n for (var i = 0; i < dataLength; i++) {\n var c = dataView.getUint8(offset + i);\n // In all eight-bit Mac encodings, the characters 0x00..0x7F are\n // mapped to U+0000..U+007F; we only need to look up the others.\n if (c <= 0x7F) {\n result += String.fromCharCode(c);\n } else {\n result += table[c & 0x7F];\n }\n }\n\n return result;\n};\n\n// Helper function for encode.MACSTRING. Returns a dictionary for mapping\n// Unicode character codes to their 8-bit MacOS equivalent. This table\n// is not exactly a super cheap data structure, but we do not care because\n// encoding Macintosh strings is only rarely needed in typical applications.\nvar macEncodingTableCache = typeof WeakMap === 'function' && new WeakMap();\nvar macEncodingCacheKeys;\nvar getMacEncodingTable = function (encoding) {\n // Since we use encoding as a cache key for WeakMap, it has to be\n // a String object and not a literal. And at least on NodeJS 2.10.1,\n // WeakMap requires that the same String instance is passed for cache hits.\n if (!macEncodingCacheKeys) {\n macEncodingCacheKeys = {};\n for (var e in eightBitMacEncodings) {\n /*jshint -W053 */ // Suppress \"Do not use String as a constructor.\"\n macEncodingCacheKeys[e] = new String(e);\n }\n }\n\n var cacheKey = macEncodingCacheKeys[encoding];\n if (cacheKey === undefined) {\n return undefined;\n }\n\n // We can't do \"if (cache.has(key)) {return cache.get(key)}\" here:\n // since garbage collection may run at any time, it could also kick in\n // between the calls to cache.has() and cache.get(). In that case,\n // we would return 'undefined' even though we do support the encoding.\n if (macEncodingTableCache) {\n var cachedTable = macEncodingTableCache.get(cacheKey);\n if (cachedTable !== undefined) {\n return cachedTable;\n }\n }\n\n var decodingTable = eightBitMacEncodings[encoding];\n if (decodingTable === undefined) {\n return undefined;\n }\n\n var encodingTable = {};\n for (var i = 0; i < decodingTable.length; i++) {\n encodingTable[decodingTable.charCodeAt(i)] = i + 0x80;\n }\n\n if (macEncodingTableCache) {\n macEncodingTableCache.set(cacheKey, encodingTable);\n }\n\n return encodingTable;\n};\n\n/**\n * Encodes an old-style Macintosh string. Returns a byte array upon success.\n * If the requested encoding is unsupported, or if the input string contains\n * a character that cannot be expressed in the encoding, the function returns\n * 'undefined'.\n * @param {string} str\n * @param {string} encoding\n * @returns {Array}\n */\nencode.MACSTRING = function(str, encoding) {\n var table = getMacEncodingTable(encoding);\n if (table === undefined) {\n return undefined;\n }\n\n var result = [];\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n\n // In all eight-bit Mac encodings, the characters 0x00..0x7F are\n // mapped to U+0000..U+007F; we only need to look up the others.\n if (c >= 0x80) {\n c = table[c];\n if (c === undefined) {\n // str contains a Unicode character that cannot be encoded\n // in the requested encoding.\n return undefined;\n }\n }\n result[i] = c;\n // result.push(c);\n }\n\n return result;\n};\n\n/**\n * @param {string} str\n * @param {string} encoding\n * @returns {number}\n */\nsizeOf.MACSTRING = function(str, encoding) {\n var b = encode.MACSTRING(str, encoding);\n if (b !== undefined) {\n return b.length;\n } else {\n return 0;\n }\n};\n\n// Helper for encode.VARDELTAS\nfunction isByteEncodable(value) {\n return value >= -128 && value <= 127;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsZeroes(deltas, pos, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n while (pos < numDeltas && runLength < 64 && deltas[pos] === 0) {\n ++pos;\n ++runLength;\n }\n result.push(0x80 | (runLength - 1));\n return pos;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsBytes(deltas, offset, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n var pos = offset;\n while (pos < numDeltas && runLength < 64) {\n var value = deltas[pos];\n if (!isByteEncodable(value)) {\n break;\n }\n\n // Within a byte-encoded run of deltas, a single zero is best\n // stored literally as 0x00 value. However, if we have two or\n // more zeroes in a sequence, it is better to start a new run.\n // Fore example, the sequence of deltas [15, 15, 0, 15, 15]\n // becomes 6 bytes (04 0F 0F 00 0F 0F) when storing the zero\n // within the current run, but 7 bytes (01 0F 0F 80 01 0F 0F)\n // when starting a new run.\n if (value === 0 && pos + 1 < numDeltas && deltas[pos + 1] === 0) {\n break;\n }\n\n ++pos;\n ++runLength;\n }\n result.push(runLength - 1);\n for (var i = offset; i < pos; ++i) {\n result.push((deltas[i] + 256) & 0xff);\n }\n return pos;\n}\n\n// Helper for encode.VARDELTAS\nfunction encodeVarDeltaRunAsWords(deltas, offset, result) {\n var runLength = 0;\n var numDeltas = deltas.length;\n var pos = offset;\n while (pos < numDeltas && runLength < 64) {\n var value = deltas[pos];\n\n // Within a word-encoded run of deltas, it is easiest to start\n // a new run (with a different encoding) whenever we encounter\n // a zero value. For example, the sequence [0x6666, 0, 0x7777]\n // needs 7 bytes when storing the zero inside the current run\n // (42 66 66 00 00 77 77), and equally 7 bytes when starting a\n // new run (40 66 66 80 40 77 77).\n if (value === 0) {\n break;\n }\n\n // Within a word-encoded run of deltas, a single value in the\n // range (-128..127) should be encoded within the current run\n // because it is more compact. For example, the sequence\n // [0x6666, 2, 0x7777] becomes 7 bytes when storing the value\n // literally (42 66 66 00 02 77 77), but 8 bytes when starting\n // a new run (40 66 66 00 02 40 77 77).\n if (isByteEncodable(value) && pos + 1 < numDeltas && isByteEncodable(deltas[pos + 1])) {\n break;\n }\n\n ++pos;\n ++runLength;\n }\n result.push(0x40 | (runLength - 1));\n for (var i = offset; i < pos; ++i) {\n var val = deltas[i];\n result.push(((val + 0x10000) >> 8) & 0xff, (val + 0x100) & 0xff);\n }\n return pos;\n}\n\n/**\n * Encode a list of variation adjustment deltas.\n *\n * Variation adjustment deltas are used in ‘gvar’ and ‘cvar’ tables.\n * They indicate how points (in ‘gvar’) or values (in ‘cvar’) get adjusted\n * when generating instances of variation fonts.\n *\n * @see https://www.microsoft.com/typography/otspec/gvar.htm\n * @see https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6gvar.html\n * @param {Array}\n * @return {Array}\n */\nencode.VARDELTAS = function(deltas) {\n var pos = 0;\n var result = [];\n while (pos < deltas.length) {\n var value = deltas[pos];\n if (value === 0) {\n pos = encodeVarDeltaRunAsZeroes(deltas, pos, result);\n } else if (value >= -128 && value <= 127) {\n pos = encodeVarDeltaRunAsBytes(deltas, pos, result);\n } else {\n pos = encodeVarDeltaRunAsWords(deltas, pos, result);\n }\n }\n return result;\n};\n\n// Convert a list of values to a CFF INDEX structure.\n// The values should be objects containing name / type / value.\n/**\n * @param {Array} l\n * @returns {Array}\n */\nencode.INDEX = function(l) {\n //var offset, offsets, offsetEncoder, encodedOffsets, encodedOffset, data,\n // i, v;\n // Because we have to know which data type to use to encode the offsets,\n // we have to go through the values twice: once to encode the data and\n // calculate the offsets, then again to encode the offsets using the fitting data type.\n var offset = 1; // First offset is always 1.\n var offsets = [offset];\n var data = [];\n for (var i = 0; i < l.length; i += 1) {\n var v = encode.OBJECT(l[i]);\n Array.prototype.push.apply(data, v);\n offset += v.length;\n offsets.push(offset);\n }\n\n if (data.length === 0) {\n return [0, 0];\n }\n\n var encodedOffsets = [];\n var offSize = (1 + Math.floor(Math.log(offset) / Math.log(2)) / 8) | 0;\n var offsetEncoder = [undefined, encode.BYTE, encode.USHORT, encode.UINT24, encode.ULONG][offSize];\n for (var i$1 = 0; i$1 < offsets.length; i$1 += 1) {\n var encodedOffset = offsetEncoder(offsets[i$1]);\n Array.prototype.push.apply(encodedOffsets, encodedOffset);\n }\n\n return Array.prototype.concat(encode.Card16(l.length),\n encode.OffSize(offSize),\n encodedOffsets,\n data);\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.INDEX = function(v) {\n return encode.INDEX(v).length;\n};\n\n/**\n * Convert an object to a CFF DICT structure.\n * The keys should be numeric.\n * The values should be objects containing name / type / value.\n * @param {Object} m\n * @returns {Array}\n */\nencode.DICT = function(m) {\n var d = [];\n var keys = Object.keys(m);\n var length = keys.length;\n\n for (var i = 0; i < length; i += 1) {\n // Object.keys() return string keys, but our keys are always numeric.\n var k = parseInt(keys[i], 0);\n var v = m[k];\n // Value comes before the key.\n var enc1 = encode.OPERAND(v.value, v.type);\n var enc2 = encode.OPERATOR(k);\n for (var j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n for (var j$1 = 0; j$1 < enc2.length; j$1++) {\n d.push(enc2[j$1]);\n }\n }\n\n return d;\n};\n\n/**\n * @param {Object}\n * @returns {number}\n */\nsizeOf.DICT = function(m) {\n return encode.DICT(m).length;\n};\n\n/**\n * @param {number}\n * @returns {Array}\n */\nencode.OPERATOR = function(v) {\n if (v < 1200) {\n return [v];\n } else {\n return [12, v - 1200];\n }\n};\n\n/**\n * @param {Array} v\n * @param {string}\n * @returns {Array}\n */\nencode.OPERAND = function(v, type) {\n var d = [];\n if (Array.isArray(type)) {\n for (var i = 0; i < type.length; i += 1) {\n check.argument(v.length === type.length, 'Not enough arguments given for type' + type);\n var enc1 = encode.OPERAND(v[i], type[i]);\n for (var j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n } else {\n if (type === 'SID') {\n var enc1$1 = encode.NUMBER(v);\n for (var j$1 = 0; j$1 < enc1$1.length; j$1++) {\n d.push(enc1$1[j$1]);\n }\n } else if (type === 'offset') {\n // We make it easy for ourselves and always encode offsets as\n // 4 bytes. This makes offset calculation for the top dict easier.\n var enc1$2 = encode.NUMBER32(v);\n for (var j$2 = 0; j$2 < enc1$2.length; j$2++) {\n d.push(enc1$2[j$2]);\n }\n } else if (type === 'number') {\n var enc1$3 = encode.NUMBER(v);\n for (var j$3 = 0; j$3 < enc1$3.length; j$3++) {\n d.push(enc1$3[j$3]);\n }\n } else if (type === 'real') {\n var enc1$4 = encode.REAL(v);\n for (var j$4 = 0; j$4 < enc1$4.length; j$4++) {\n d.push(enc1$4[j$4]);\n }\n } else {\n throw new Error('Unknown operand type ' + type);\n // FIXME Add support for booleans\n }\n }\n\n return d;\n};\n\nencode.OP = encode.BYTE;\nsizeOf.OP = sizeOf.BYTE;\n\n// memoize charstring encoding using WeakMap if available\nvar wmm = typeof WeakMap === 'function' && new WeakMap();\n\n/**\n * Convert a list of CharString operations to bytes.\n * @param {Array}\n * @returns {Array}\n */\nencode.CHARSTRING = function(ops) {\n // See encode.MACSTRING for why we don't do \"if (wmm && wmm.has(ops))\".\n if (wmm) {\n var cachedValue = wmm.get(ops);\n if (cachedValue !== undefined) {\n return cachedValue;\n }\n }\n\n var d = [];\n var length = ops.length;\n\n for (var i = 0; i < length; i += 1) {\n var op = ops[i];\n var enc1 = encode[op.type](op.value);\n for (var j = 0; j < enc1.length; j++) {\n d.push(enc1[j]);\n }\n }\n\n if (wmm) {\n wmm.set(ops, d);\n }\n\n return d;\n};\n\n/**\n * @param {Array}\n * @returns {number}\n */\nsizeOf.CHARSTRING = function(ops) {\n return encode.CHARSTRING(ops).length;\n};\n\n// Utility functions ////////////////////////////////////////////////////////\n\n/**\n * Convert an object containing name / type / value to bytes.\n * @param {Object}\n * @returns {Array}\n */\nencode.OBJECT = function(v) {\n var encodingFunction = encode[v.type];\n check.argument(encodingFunction !== undefined, 'No encoding function for type ' + v.type);\n return encodingFunction(v.value);\n};\n\n/**\n * @param {Object}\n * @returns {number}\n */\nsizeOf.OBJECT = function(v) {\n var sizeOfFunction = sizeOf[v.type];\n check.argument(sizeOfFunction !== undefined, 'No sizeOf function for type ' + v.type);\n return sizeOfFunction(v.value);\n};\n\n/**\n * Convert a table object to bytes.\n * A table contains a list of fields containing the metadata (name, type and default value).\n * The table itself has the field values set as attributes.\n * @param {opentype.Table}\n * @returns {Array}\n */\nencode.TABLE = function(table) {\n var d = [];\n var length = table.fields.length;\n var subtables = [];\n var subtableOffsets = [];\n\n for (var i = 0; i < length; i += 1) {\n var field = table.fields[i];\n var encodingFunction = encode[field.type];\n check.argument(encodingFunction !== undefined, 'No encoding function for field type ' + field.type + ' (' + field.name + ')');\n var value = table[field.name];\n if (value === undefined) {\n value = field.value;\n }\n\n var bytes = encodingFunction(value);\n\n if (field.type === 'TABLE') {\n subtableOffsets.push(d.length);\n d.push(0, 0);\n subtables.push(bytes);\n } else {\n for (var j = 0; j < bytes.length; j++) {\n d.push(bytes[j]);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < subtables.length; i$1 += 1) {\n var o = subtableOffsets[i$1];\n var offset = d.length;\n check.argument(offset < 65536, 'Table ' + table.tableName + ' too big.');\n d[o] = offset >> 8;\n d[o + 1] = offset & 0xff;\n for (var j$1 = 0; j$1 < subtables[i$1].length; j$1++) {\n d.push(subtables[i$1][j$1]);\n }\n }\n\n return d;\n};\n\n/**\n * @param {opentype.Table}\n * @returns {number}\n */\nsizeOf.TABLE = function(table) {\n var numBytes = 0;\n var length = table.fields.length;\n\n for (var i = 0; i < length; i += 1) {\n var field = table.fields[i];\n var sizeOfFunction = sizeOf[field.type];\n check.argument(sizeOfFunction !== undefined, 'No sizeOf function for field type ' + field.type + ' (' + field.name + ')');\n var value = table[field.name];\n if (value === undefined) {\n value = field.value;\n }\n\n numBytes += sizeOfFunction(value);\n\n // Subtables take 2 more bytes for offsets.\n if (field.type === 'TABLE') {\n numBytes += 2;\n }\n }\n\n return numBytes;\n};\n\nencode.RECORD = encode.TABLE;\nsizeOf.RECORD = sizeOf.TABLE;\n\n// Merge in a list of bytes.\nencode.LITERAL = function(v) {\n return v;\n};\n\nsizeOf.LITERAL = function(v) {\n return v.length;\n};\n\n// Table metadata\n\n/**\n * @exports opentype.Table\n * @class\n * @param {string} tableName\n * @param {Array} fields\n * @param {Object} options\n * @constructor\n */\nfunction Table(tableName, fields, options) {\n // For coverage tables with coverage format 2, we do not want to add the coverage data directly to the table object,\n // as this will result in wrong encoding order of the coverage data on serialization to bytes.\n // The fallback of using the field values directly when not present on the table is handled in types.encode.TABLE() already.\n if (fields.length && (fields[0].name !== 'coverageFormat' || fields[0].value === 1)) {\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n this[field.name] = field.value;\n }\n }\n\n this.tableName = tableName;\n this.fields = fields;\n if (options) {\n var optionKeys = Object.keys(options);\n for (var i$1 = 0; i$1 < optionKeys.length; i$1 += 1) {\n var k = optionKeys[i$1];\n var v = options[k];\n if (this[k] !== undefined) {\n this[k] = v;\n }\n }\n }\n}\n\n/**\n * Encodes the table and returns an array of bytes\n * @return {Array}\n */\nTable.prototype.encode = function() {\n return encode.TABLE(this);\n};\n\n/**\n * Get the size of the table.\n * @return {number}\n */\nTable.prototype.sizeOf = function() {\n return sizeOf.TABLE(this);\n};\n\n/**\n * @private\n */\nfunction ushortList(itemName, list, count) {\n if (count === undefined) {\n count = list.length;\n }\n var fields = new Array(list.length + 1);\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < list.length; i++) {\n fields[i + 1] = {name: itemName + i, type: 'USHORT', value: list[i]};\n }\n return fields;\n}\n\n/**\n * @private\n */\nfunction tableList(itemName, records, itemCallback) {\n var count = records.length;\n var fields = new Array(count + 1);\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < count; i++) {\n fields[i + 1] = {name: itemName + i, type: 'TABLE', value: itemCallback(records[i], i)};\n }\n return fields;\n}\n\n/**\n * @private\n */\nfunction recordList(itemName, records, itemCallback) {\n var count = records.length;\n var fields = [];\n fields[0] = {name: itemName + 'Count', type: 'USHORT', value: count};\n for (var i = 0; i < count; i++) {\n fields = fields.concat(itemCallback(records[i], i));\n }\n return fields;\n}\n\n// Common Layout Tables\n\n/**\n * @exports opentype.Coverage\n * @class\n * @param {opentype.Table}\n * @constructor\n * @extends opentype.Table\n */\nfunction Coverage(coverageTable) {\n if (coverageTable.format === 1) {\n Table.call(this, 'coverageTable',\n [{name: 'coverageFormat', type: 'USHORT', value: 1}]\n .concat(ushortList('glyph', coverageTable.glyphs))\n );\n } else if (coverageTable.format === 2) {\n Table.call(this, 'coverageTable',\n [{name: 'coverageFormat', type: 'USHORT', value: 2}]\n .concat(recordList('rangeRecord', coverageTable.ranges, function(RangeRecord) {\n return [\n {name: 'startGlyphID', type: 'USHORT', value: RangeRecord.start},\n {name: 'endGlyphID', type: 'USHORT', value: RangeRecord.end},\n {name: 'startCoverageIndex', type: 'USHORT', value: RangeRecord.index} ];\n }))\n );\n } else {\n check.assert(false, 'Coverage format must be 1 or 2.');\n }\n}\nCoverage.prototype = Object.create(Table.prototype);\nCoverage.prototype.constructor = Coverage;\n\nfunction ScriptList(scriptListTable) {\n Table.call(this, 'scriptListTable',\n recordList('scriptRecord', scriptListTable, function(scriptRecord, i) {\n var script = scriptRecord.script;\n var defaultLangSys = script.defaultLangSys;\n check.assert(!!defaultLangSys, 'Unable to write GSUB: script ' + scriptRecord.tag + ' has no default language system.');\n return [\n {name: 'scriptTag' + i, type: 'TAG', value: scriptRecord.tag},\n {name: 'script' + i, type: 'TABLE', value: new Table('scriptTable', [\n {name: 'defaultLangSys', type: 'TABLE', value: new Table('defaultLangSys', [\n {name: 'lookupOrder', type: 'USHORT', value: 0},\n {name: 'reqFeatureIndex', type: 'USHORT', value: defaultLangSys.reqFeatureIndex}]\n .concat(ushortList('featureIndex', defaultLangSys.featureIndexes)))}\n ].concat(recordList('langSys', script.langSysRecords, function(langSysRecord, i) {\n var langSys = langSysRecord.langSys;\n return [\n {name: 'langSysTag' + i, type: 'TAG', value: langSysRecord.tag},\n {name: 'langSys' + i, type: 'TABLE', value: new Table('langSys', [\n {name: 'lookupOrder', type: 'USHORT', value: 0},\n {name: 'reqFeatureIndex', type: 'USHORT', value: langSys.reqFeatureIndex}\n ].concat(ushortList('featureIndex', langSys.featureIndexes)))}\n ];\n })))}\n ];\n })\n );\n}\nScriptList.prototype = Object.create(Table.prototype);\nScriptList.prototype.constructor = ScriptList;\n\n/**\n * @exports opentype.FeatureList\n * @class\n * @param {opentype.Table}\n * @constructor\n * @extends opentype.Table\n */\nfunction FeatureList(featureListTable) {\n Table.call(this, 'featureListTable',\n recordList('featureRecord', featureListTable, function(featureRecord, i) {\n var feature = featureRecord.feature;\n return [\n {name: 'featureTag' + i, type: 'TAG', value: featureRecord.tag},\n {name: 'feature' + i, type: 'TABLE', value: new Table('featureTable', [\n {name: 'featureParams', type: 'USHORT', value: feature.featureParams} ].concat(ushortList('lookupListIndex', feature.lookupListIndexes)))}\n ];\n })\n );\n}\nFeatureList.prototype = Object.create(Table.prototype);\nFeatureList.prototype.constructor = FeatureList;\n\n/**\n * @exports opentype.LookupList\n * @class\n * @param {opentype.Table}\n * @param {Object}\n * @constructor\n * @extends opentype.Table\n */\nfunction LookupList(lookupListTable, subtableMakers) {\n Table.call(this, 'lookupListTable', tableList('lookup', lookupListTable, function(lookupTable) {\n var subtableCallback = subtableMakers[lookupTable.lookupType];\n check.assert(!!subtableCallback, 'Unable to write GSUB lookup type ' + lookupTable.lookupType + ' tables.');\n return new Table('lookupTable', [\n {name: 'lookupType', type: 'USHORT', value: lookupTable.lookupType},\n {name: 'lookupFlag', type: 'USHORT', value: lookupTable.lookupFlag}\n ].concat(tableList('subtable', lookupTable.subtables, subtableCallback)));\n }));\n}\nLookupList.prototype = Object.create(Table.prototype);\nLookupList.prototype.constructor = LookupList;\n\n// Record = same as Table, but inlined (a Table has an offset and its data is further in the stream)\n// Don't use offsets inside Records (probable bug), only in Tables.\nvar table = {\n Table: Table,\n Record: Table,\n Coverage: Coverage,\n ScriptList: ScriptList,\n FeatureList: FeatureList,\n LookupList: LookupList,\n ushortList: ushortList,\n tableList: tableList,\n recordList: recordList,\n};\n\n// Parsing utility functions\n\n// Retrieve an unsigned byte from the DataView.\nfunction getByte(dataView, offset) {\n return dataView.getUint8(offset);\n}\n\n// Retrieve an unsigned 16-bit short from the DataView.\n// The value is stored in big endian.\nfunction getUShort(dataView, offset) {\n return dataView.getUint16(offset, false);\n}\n\n// Retrieve a signed 16-bit short from the DataView.\n// The value is stored in big endian.\nfunction getShort(dataView, offset) {\n return dataView.getInt16(offset, false);\n}\n\n// Retrieve an unsigned 24-bit integer from the DataView.\n// Format optimal for the 21-bit Unicode Scalar Values:\n// https://developer.apple.com/documentation/swift/string/unicodescalarview\n// The value is stored in big endian.\nfunction getUInt24(dataView, offset) {\n var b = dataView.getUint16(offset, false);\n var a = dataView.getUint8(offset + 2, false);\n return b * Math.pow(2, 8) + a;\n}\n\n// Retrieve an unsigned 32-bit long from the DataView.\n// The value is stored in big endian.\nfunction getULong(dataView, offset) {\n return dataView.getUint32(offset, false);\n}\n\n// Retrieve a 32-bit signed fixed-point number (16.16) from the DataView.\n// The value is stored in big endian.\nfunction getFixed(dataView, offset) {\n var decimal = dataView.getInt16(offset, false);\n var fraction = dataView.getUint16(offset + 2, false);\n return decimal + fraction / 65535;\n}\n\n// Retrieve a 4-character tag from the DataView.\n// Tags are used to identify tables.\nfunction getTag(dataView, offset) {\n var tag = '';\n for (var i = offset; i < offset + 4; i += 1) {\n tag += String.fromCharCode(dataView.getInt8(i));\n }\n\n return tag;\n}\n\n// Retrieve an offset from the DataView.\n// Offsets are 1 to 4 bytes in length, depending on the offSize argument.\nfunction getOffset(dataView, offset, offSize) {\n var v = 0;\n for (var i = 0; i < offSize; i += 1) {\n v <<= 8;\n v += dataView.getUint8(offset + i);\n }\n\n return v;\n}\n\n// Retrieve a number of bytes from start offset to the end offset from the DataView.\nfunction getBytes(dataView, startOffset, endOffset) {\n var bytes = [];\n for (var i = startOffset; i < endOffset; i += 1) {\n bytes.push(dataView.getUint8(i));\n }\n\n return bytes;\n}\n\n// Convert the list of bytes to a string.\nfunction bytesToString(bytes) {\n var s = '';\n for (var i = 0; i < bytes.length; i += 1) {\n s += String.fromCharCode(bytes[i]);\n }\n\n return s;\n}\n\nvar typeOffsets = {\n byte: 1,\n uShort: 2,\n short: 2,\n uLong: 4,\n fixed: 4,\n longDateTime: 8,\n tag: 4\n};\n\n// A stateful parser that changes the offset whenever a value is retrieved.\n// The data is a DataView.\nfunction Parser(data, offset) {\n this.data = data;\n this.offset = offset;\n this.relativeOffset = 0;\n}\n\nParser.prototype.parseByte = function() {\n var v = this.data.getUint8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\n\nParser.prototype.parseChar = function() {\n var v = this.data.getInt8(this.offset + this.relativeOffset);\n this.relativeOffset += 1;\n return v;\n};\n\nParser.prototype.parseCard8 = Parser.prototype.parseByte;\n\nParser.prototype.parseUShort = function() {\n var v = this.data.getUint16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseCard16 = Parser.prototype.parseUShort;\nParser.prototype.parseSID = Parser.prototype.parseUShort;\nParser.prototype.parseOffset16 = Parser.prototype.parseUShort;\n\nParser.prototype.parseShort = function() {\n var v = this.data.getInt16(this.offset + this.relativeOffset);\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseF2Dot14 = function() {\n var v = this.data.getInt16(this.offset + this.relativeOffset) / 16384;\n this.relativeOffset += 2;\n return v;\n};\n\nParser.prototype.parseUInt24 = function() {\n var v = getUInt24(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 3;\n return v;\n};\n\nParser.prototype.parseULong = function() {\n var v = getULong(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\n\nParser.prototype.parseOffset32 = Parser.prototype.parseULong;\n\nParser.prototype.parseFixed = function() {\n var v = getFixed(this.data, this.offset + this.relativeOffset);\n this.relativeOffset += 4;\n return v;\n};\n\nParser.prototype.parseString = function(length) {\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n var string = '';\n this.relativeOffset += length;\n for (var i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i));\n }\n\n return string;\n};\n\nParser.prototype.parseTag = function() {\n return this.parseString(4);\n};\n\n// LONGDATETIME is a 64-bit integer.\n// JavaScript and unix timestamps traditionally use 32 bits, so we\n// only take the last 32 bits.\n// + Since until 2038 those bits will be filled by zeros we can ignore them.\nParser.prototype.parseLongDateTime = function() {\n var v = getULong(this.data, this.offset + this.relativeOffset + 4);\n // Subtract seconds between 01/01/1904 and 01/01/1970\n // to convert Apple Mac timestamp to Standard Unix timestamp\n v -= 2082844800;\n this.relativeOffset += 8;\n return v;\n};\n\nParser.prototype.parseVersion = function(minorBase) {\n var major = getUShort(this.data, this.offset + this.relativeOffset);\n\n // How to interpret the minor version is very vague in the spec. 0x5000 is 5, 0x1000 is 1\n // Default returns the correct number if minor = 0xN000 where N is 0-9\n // Set minorBase to 1 for tables that use minor = N where N is 0-9\n var minor = getUShort(this.data, this.offset + this.relativeOffset + 2);\n this.relativeOffset += 4;\n if (minorBase === undefined) { minorBase = 0x1000; }\n return major + minor / minorBase / 10;\n};\n\nParser.prototype.skip = function(type, amount) {\n if (amount === undefined) {\n amount = 1;\n }\n\n this.relativeOffset += typeOffsets[type] * amount;\n};\n\n///// Parsing lists and records ///////////////////////////////\n\n// Parse a list of 32 bit unsigned integers.\nParser.prototype.parseULongList = function(count) {\n if (count === undefined) { count = this.parseULong(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = dataView.getUint32(offset);\n offset += 4;\n }\n\n this.relativeOffset += count * 4;\n return offsets;\n};\n\n// Parse a list of 16 bit unsigned integers. The length of the list can be read on the stream\n// or provided as an argument.\nParser.prototype.parseOffset16List =\nParser.prototype.parseUShortList = function(count) {\n if (count === undefined) { count = this.parseUShort(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = dataView.getUint16(offset);\n offset += 2;\n }\n\n this.relativeOffset += count * 2;\n return offsets;\n};\n\n// Parses a list of 16 bit signed integers.\nParser.prototype.parseShortList = function(count) {\n var list = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n list[i] = dataView.getInt16(offset);\n offset += 2;\n }\n\n this.relativeOffset += count * 2;\n return list;\n};\n\n// Parse a list of 24 bit unsigned integers. The length of the list can be read on the stream\n// or provided as an argument.\nParser.prototype.parseUInt24List = function(count) {\n if (count === undefined) { count = this.parseUShort(); }\n var offsets = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n offsets[i] = getUInt24(dataView, offset);\n offset += 3;\n }\n\n this.relativeOffset += count * 3;\n return offsets;\n};\n\n// Parses a list of bytes.\nParser.prototype.parseByteList = function(count) {\n var list = new Array(count);\n var dataView = this.data;\n var offset = this.offset + this.relativeOffset;\n for (var i = 0; i < count; i++) {\n list[i] = dataView.getUint8(offset++);\n }\n\n this.relativeOffset += count;\n return list;\n};\n\n/**\n * Parse a list of items.\n * Record count is optional, if omitted it is read from the stream.\n * itemCallback is one of the Parser methods.\n */\nParser.prototype.parseList = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseUShort();\n }\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\n\nParser.prototype.parseList32 = function(count, itemCallback) {\n if (!itemCallback) {\n itemCallback = count;\n count = this.parseULong();\n }\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n list[i] = itemCallback.call(this);\n }\n return list;\n};\n\n/**\n * Parse a list of records.\n * Record count is optional, if omitted it is read from the stream.\n * Example of recordDescription: { sequenceIndex: Parser.uShort, lookupListIndex: Parser.uShort }\n */\nParser.prototype.parseRecordList = function(count, recordDescription) {\n // If the count argument is absent, read it in the stream.\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseUShort();\n }\n var records = new Array(count);\n var fields = Object.keys(recordDescription);\n for (var i = 0; i < count; i++) {\n var rec = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\n\nParser.prototype.parseRecordList32 = function(count, recordDescription) {\n // If the count argument is absent, read it in the stream.\n if (!recordDescription) {\n recordDescription = count;\n count = this.parseULong();\n }\n var records = new Array(count);\n var fields = Object.keys(recordDescription);\n for (var i = 0; i < count; i++) {\n var rec = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = recordDescription[fieldName];\n rec[fieldName] = fieldType.call(this);\n }\n records[i] = rec;\n }\n return records;\n};\n\n// Parse a data structure into an object\n// Example of description: { sequenceIndex: Parser.uShort, lookupListIndex: Parser.uShort }\nParser.prototype.parseStruct = function(description) {\n if (typeof description === 'function') {\n return description.call(this);\n } else {\n var fields = Object.keys(description);\n var struct = {};\n for (var j = 0; j < fields.length; j++) {\n var fieldName = fields[j];\n var fieldType = description[fieldName];\n struct[fieldName] = fieldType.call(this);\n }\n return struct;\n }\n};\n\n/**\n * Parse a GPOS valueRecord\n * https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#value-record\n * valueFormat is optional, if omitted it is read from the stream.\n */\nParser.prototype.parseValueRecord = function(valueFormat) {\n if (valueFormat === undefined) {\n valueFormat = this.parseUShort();\n }\n if (valueFormat === 0) {\n // valueFormat2 in kerning pairs is most often 0\n // in this case return undefined instead of an empty object, to save space\n return;\n }\n var valueRecord = {};\n\n if (valueFormat & 0x0001) { valueRecord.xPlacement = this.parseShort(); }\n if (valueFormat & 0x0002) { valueRecord.yPlacement = this.parseShort(); }\n if (valueFormat & 0x0004) { valueRecord.xAdvance = this.parseShort(); }\n if (valueFormat & 0x0008) { valueRecord.yAdvance = this.parseShort(); }\n\n // Device table (non-variable font) / VariationIndex table (variable font) not supported\n // https://docs.microsoft.com/fr-fr/typography/opentype/spec/chapter2#devVarIdxTbls\n if (valueFormat & 0x0010) { valueRecord.xPlaDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0020) { valueRecord.yPlaDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0040) { valueRecord.xAdvDevice = undefined; this.parseShort(); }\n if (valueFormat & 0x0080) { valueRecord.yAdvDevice = undefined; this.parseShort(); }\n\n return valueRecord;\n};\n\n/**\n * Parse a list of GPOS valueRecords\n * https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#value-record\n * valueFormat and valueCount are read from the stream.\n */\nParser.prototype.parseValueRecordList = function() {\n var valueFormat = this.parseUShort();\n var valueCount = this.parseUShort();\n var values = new Array(valueCount);\n for (var i = 0; i < valueCount; i++) {\n values[i] = this.parseValueRecord(valueFormat);\n }\n return values;\n};\n\nParser.prototype.parsePointer = function(description, storeOffset) {\n if ( storeOffset === void 0 ) storeOffset = false;\n\n var structOffset = this.parseOffset16();\n if (structOffset > 0) {\n // NULL offset => return undefined\n var offset = this.offset + structOffset;\n var struct = new Parser(this.data, offset).parseStruct(description);\n if (storeOffset) {\n struct.tableOffset = offset;\n }\n return struct;\n }\n return undefined;\n};\n\nParser.prototype.parsePointer32 = function(description) {\n var structOffset = this.parseOffset32();\n if (structOffset > 0) {\n // NULL offset => return undefined\n return new Parser(this.data, this.offset + structOffset).parseStruct(description);\n }\n return undefined;\n};\n\n/**\n * Parse a list of offsets to lists of 16-bit integers,\n * or a list of offsets to lists of offsets to any kind of items.\n * If itemCallback is not provided, a list of list of UShort is assumed.\n * If provided, itemCallback is called on each item and must parse the item.\n * See examples in tables/gsub.js\n */\nParser.prototype.parseListOfLists = function(itemCallback) {\n var offsets = this.parseOffset16List();\n var count = offsets.length;\n var relativeOffset = this.relativeOffset;\n var list = new Array(count);\n for (var i = 0; i < count; i++) {\n var start = offsets[i];\n if (start === 0) {\n // NULL offset\n // Add i as owned property to list. Convenient with assert.\n list[i] = undefined;\n continue;\n }\n this.relativeOffset = start;\n if (itemCallback) {\n var subOffsets = this.parseOffset16List();\n var subList = new Array(subOffsets.length);\n for (var j = 0; j < subOffsets.length; j++) {\n this.relativeOffset = start + subOffsets[j];\n subList[j] = itemCallback.call(this);\n }\n list[i] = subList;\n } else {\n list[i] = this.parseUShortList();\n }\n }\n this.relativeOffset = relativeOffset;\n return list;\n};\n\n///// Complex tables parsing //////////////////////////////////\n\n// Parse a coverage table in a GSUB, GPOS or GDEF table.\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\n// parser.offset must point to the start of the table containing the coverage.\nParser.prototype.parseCoverage = function() {\n var startOffset = this.offset + this.relativeOffset;\n var format = this.parseUShort();\n var count = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n glyphs: this.parseUShortList(count)\n };\n } else if (format === 2) {\n var ranges = new Array(count);\n for (var i = 0; i < count; i++) {\n ranges[i] = {\n start: this.parseUShort(),\n end: this.parseUShort(),\n index: this.parseUShort()\n };\n }\n return {\n format: 2,\n ranges: ranges\n };\n }\n throw new Error('0x' + startOffset.toString(16) + ': Coverage format must be 1 or 2.');\n};\n\n// Parse a Class Definition Table in a GSUB, GPOS or GDEF table.\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\nParser.prototype.parseClassDef = function() {\n var startOffset = this.offset + this.relativeOffset;\n var format = this.parseUShort();\n if (format === 1) {\n return {\n format: 1,\n startGlyph: this.parseUShort(),\n classes: this.parseUShortList()\n };\n } else if (format === 2) {\n return {\n format: 2,\n ranges: this.parseRecordList({\n start: Parser.uShort,\n end: Parser.uShort,\n classId: Parser.uShort\n })\n };\n }\n throw new Error('0x' + startOffset.toString(16) + ': ClassDef format must be 1 or 2.');\n};\n\n///// Static methods ///////////////////////////////////\n// These convenience methods can be used as callbacks and should be called with \"this\" context set to a Parser instance.\n\nParser.list = function(count, itemCallback) {\n return function() {\n return this.parseList(count, itemCallback);\n };\n};\n\nParser.list32 = function(count, itemCallback) {\n return function() {\n return this.parseList32(count, itemCallback);\n };\n};\n\nParser.recordList = function(count, recordDescription) {\n return function() {\n return this.parseRecordList(count, recordDescription);\n };\n};\n\nParser.recordList32 = function(count, recordDescription) {\n return function() {\n return this.parseRecordList32(count, recordDescription);\n };\n};\n\nParser.pointer = function(description, storeOffset) {\n if ( storeOffset === void 0 ) storeOffset = false;\n\n return function() {\n return this.parsePointer(description, storeOffset);\n };\n};\n\nParser.pointer32 = function(description) {\n return function() {\n return this.parsePointer32(description);\n };\n};\n\nParser.tag = Parser.prototype.parseTag;\nParser.byte = Parser.prototype.parseByte;\nParser.uShort = Parser.offset16 = Parser.prototype.parseUShort;\nParser.uShortList = Parser.prototype.parseUShortList;\nParser.uInt24 = Parser.prototype.parseUInt24;\nParser.uLong = Parser.offset32 = Parser.prototype.parseULong;\nParser.uLongList = Parser.prototype.parseULongList;\nParser.uInt24List = Parser.prototype.parseUInt24List;\nParser.struct = Parser.prototype.parseStruct;\nParser.coverage = Parser.prototype.parseCoverage;\nParser.classDef = Parser.prototype.parseClassDef;\n\n///// Script, Feature, Lookup lists ///////////////////////////////////////////////\n// https://www.microsoft.com/typography/OTSPEC/chapter2.htm\n\nvar langSysTable = {\n reserved: Parser.uShort,\n reqFeatureIndex: Parser.uShort,\n featureIndexes: Parser.uShortList\n};\n\nParser.prototype.parseScriptList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n script: Parser.pointer({\n defaultLangSys: Parser.pointer(langSysTable),\n langSysRecords: Parser.recordList({\n tag: Parser.tag,\n langSys: Parser.pointer(langSysTable)\n })\n })\n })) || [];\n};\n\nParser.prototype.parseFeatureList = function() {\n return this.parsePointer(Parser.recordList({\n tag: Parser.tag,\n feature: Parser.pointer({\n featureParams: Parser.offset16,\n lookupListIndexes: Parser.uShortList\n }, true)\n })) || [];\n};\n\nParser.prototype.parseStylisticSetFeatureParams = function() {\n return this.parsePointer({\n version: Parser.uShort,\n uiNameId: Parser.uShort\n }) || [];\n};\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#tag-cv01--cv99\nParser.prototype.parseCharacterVariantFeatureParams = function() {\n return this.parsePointer({\n format: Parser.uShort,\n featUiLabelNameId: Parser.uShort,\n featUiTooltipTextNameId: Parser.uShort,\n sampleTextNameId: Parser.uShort,\n numNamedParameters: Parser.uShort,\n firstParamUiLabelNameId: Parser.uShort,\n characters: Parser.uInt24List\n }) || [];\n};\n\nParser.prototype.parseLookupList = function(lookupTableParsers) {\n return this.parsePointer(Parser.list(Parser.pointer(function() {\n var lookupType = this.parseUShort();\n check.argument(1 <= lookupType && lookupType <= 9, 'GPOS/GSUB lookup type ' + lookupType + ' unknown.');\n var lookupFlag = this.parseUShort();\n var useMarkFilteringSet = lookupFlag & 0x10;\n return {\n lookupType: lookupType,\n lookupFlag: lookupFlag,\n subtables: this.parseList(Parser.pointer(lookupTableParsers[lookupType])),\n markFilteringSet: useMarkFilteringSet ? this.parseUShort() : undefined\n };\n }))) || [];\n};\n\nParser.prototype.parseFeatureVariationsList = function() {\n return this.parsePointer32(function() {\n var majorVersion = this.parseUShort();\n var minorVersion = this.parseUShort();\n check.argument(majorVersion === 1 && minorVersion < 1, 'GPOS/GSUB feature variations table unknown.');\n var featureVariations = this.parseRecordList32({\n conditionSetOffset: Parser.offset32,\n featureTableSubstitutionOffset: Parser.offset32\n });\n return featureVariations;\n }) || [];\n};\n\nvar parse = {\n getByte: getByte,\n getCard8: getByte,\n getUShort: getUShort,\n getCard16: getUShort,\n getShort: getShort,\n getUInt24: getUInt24,\n getULong: getULong,\n getFixed: getFixed,\n getTag: getTag,\n getOffset: getOffset,\n getBytes: getBytes,\n bytesToString: bytesToString,\n Parser: Parser,\n};\n\n// The `cmap` table stores the mappings from characters to glyphs.\n\nfunction parseCmapTableFormat12(cmap, p) {\n //Skip reserved.\n p.parseUShort();\n\n // Length in bytes of the sub-tables.\n cmap.length = p.parseULong();\n cmap.language = p.parseULong();\n\n var groupCount;\n cmap.groupCount = groupCount = p.parseULong();\n cmap.glyphIndexMap = {};\n\n for (var i = 0; i < groupCount; i += 1) {\n var startCharCode = p.parseULong();\n var endCharCode = p.parseULong();\n var startGlyphId = p.parseULong();\n\n for (var c = startCharCode; c <= endCharCode; c += 1) {\n cmap.glyphIndexMap[c] = startGlyphId;\n startGlyphId++;\n }\n }\n}\n\nfunction parseCmapTableFormat4(cmap, p, data, start, offset) {\n // Length in bytes of the sub-tables.\n cmap.length = p.parseUShort();\n cmap.language = p.parseUShort();\n\n // segCount is stored x 2.\n var segCount;\n cmap.segCount = segCount = p.parseUShort() >> 1;\n\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n\n // The \"unrolled\" mapping from character codes to glyph indices.\n cmap.glyphIndexMap = {};\n var endCountParser = new parse.Parser(data, start + offset + 14);\n var startCountParser = new parse.Parser(data, start + offset + 16 + segCount * 2);\n var idDeltaParser = new parse.Parser(data, start + offset + 16 + segCount * 4);\n var idRangeOffsetParser = new parse.Parser(data, start + offset + 16 + segCount * 6);\n var glyphIndexOffset = start + offset + 16 + segCount * 8;\n for (var i = 0; i < segCount - 1; i += 1) {\n var glyphIndex = (void 0);\n var endCount = endCountParser.parseUShort();\n var startCount = startCountParser.parseUShort();\n var idDelta = idDeltaParser.parseShort();\n var idRangeOffset = idRangeOffsetParser.parseUShort();\n for (var c = startCount; c <= endCount; c += 1) {\n if (idRangeOffset !== 0) {\n // The idRangeOffset is relative to the current position in the idRangeOffset array.\n // Take the current offset in the idRangeOffset array.\n glyphIndexOffset = (idRangeOffsetParser.offset + idRangeOffsetParser.relativeOffset - 2);\n\n // Add the value of the idRangeOffset, which will move us into the glyphIndex array.\n glyphIndexOffset += idRangeOffset;\n\n // Then add the character index of the current segment, multiplied by 2 for USHORTs.\n glyphIndexOffset += (c - startCount) * 2;\n glyphIndex = parse.getUShort(data, glyphIndexOffset);\n if (glyphIndex !== 0) {\n glyphIndex = (glyphIndex + idDelta) & 0xFFFF;\n }\n } else {\n glyphIndex = (c + idDelta) & 0xFFFF;\n }\n\n cmap.glyphIndexMap[c] = glyphIndex;\n }\n }\n}\n\n// Parse the `cmap` table. This table stores the mappings from characters to glyphs.\n// There are many available formats, but we only support the Windows format 4 and 12.\n// This function returns a `CmapEncoding` object or null if no supported format could be found.\nfunction parseCmapTable(data, start) {\n var cmap = {};\n cmap.version = parse.getUShort(data, start);\n check.argument(cmap.version === 0, 'cmap table version should be 0.');\n\n // The cmap table can contain many sub-tables, each with their own format.\n // We're only interested in a \"platform 0\" (Unicode format) and \"platform 3\" (Windows format) table.\n cmap.numTables = parse.getUShort(data, start + 2);\n var offset = -1;\n for (var i = cmap.numTables - 1; i >= 0; i -= 1) {\n var platformId = parse.getUShort(data, start + 4 + (i * 8));\n var encodingId = parse.getUShort(data, start + 4 + (i * 8) + 2);\n if ((platformId === 3 && (encodingId === 0 || encodingId === 1 || encodingId === 10)) ||\n (platformId === 0 && (encodingId === 0 || encodingId === 1 || encodingId === 2 || encodingId === 3 || encodingId === 4))) {\n offset = parse.getULong(data, start + 4 + (i * 8) + 4);\n break;\n }\n }\n\n if (offset === -1) {\n // There is no cmap table in the font that we support.\n throw new Error('No valid cmap sub-tables found.');\n }\n\n var p = new parse.Parser(data, start + offset);\n cmap.format = p.parseUShort();\n\n if (cmap.format === 12) {\n parseCmapTableFormat12(cmap, p);\n } else if (cmap.format === 4) {\n parseCmapTableFormat4(cmap, p, data, start, offset);\n } else {\n throw new Error('Only format 4 and 12 cmap tables are supported (found format ' + cmap.format + ').');\n }\n\n return cmap;\n}\n\nfunction addSegment(t, code, glyphIndex) {\n t.segments.push({\n end: code,\n start: code,\n delta: -(code - glyphIndex),\n offset: 0,\n glyphIndex: glyphIndex\n });\n}\n\nfunction addTerminatorSegment(t) {\n t.segments.push({\n end: 0xFFFF,\n start: 0xFFFF,\n delta: 1,\n offset: 0\n });\n}\n\n// Make cmap table, format 4 by default, 12 if needed only\nfunction makeCmapTable(glyphs) {\n // Plan 0 is the base Unicode Plan but emojis, for example are on another plan, and needs cmap 12 format (with 32bit)\n var isPlan0Only = true;\n var i;\n\n // Check if we need to add cmap format 12 or if format 4 only is fine\n for (i = glyphs.length - 1; i > 0; i -= 1) {\n var g = glyphs.get(i);\n if (g.unicode > 65535) {\n console.log('Adding CMAP format 12 (needed!)');\n isPlan0Only = false;\n break;\n }\n }\n\n var cmapTable = [\n {name: 'version', type: 'USHORT', value: 0},\n {name: 'numTables', type: 'USHORT', value: isPlan0Only ? 1 : 2},\n\n // CMAP 4 header\n {name: 'platformID', type: 'USHORT', value: 3},\n {name: 'encodingID', type: 'USHORT', value: 1},\n {name: 'offset', type: 'ULONG', value: isPlan0Only ? 12 : (12 + 8)}\n ];\n\n if (!isPlan0Only)\n { cmapTable = cmapTable.concat([\n // CMAP 12 header\n {name: 'cmap12PlatformID', type: 'USHORT', value: 3}, // We encode only for PlatformID = 3 (Windows) because it is supported everywhere\n {name: 'cmap12EncodingID', type: 'USHORT', value: 10},\n {name: 'cmap12Offset', type: 'ULONG', value: 0}\n ]); }\n\n cmapTable = cmapTable.concat([\n // CMAP 4 Subtable\n {name: 'format', type: 'USHORT', value: 4},\n {name: 'cmap4Length', type: 'USHORT', value: 0},\n {name: 'language', type: 'USHORT', value: 0},\n {name: 'segCountX2', type: 'USHORT', value: 0},\n {name: 'searchRange', type: 'USHORT', value: 0},\n {name: 'entrySelector', type: 'USHORT', value: 0},\n {name: 'rangeShift', type: 'USHORT', value: 0}\n ]);\n\n var t = new table.Table('cmap', cmapTable);\n\n t.segments = [];\n for (i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n for (var j = 0; j < glyph.unicodes.length; j += 1) {\n addSegment(t, glyph.unicodes[j], i);\n }\n\n t.segments = t.segments.sort(function (a, b) {\n return a.start - b.start;\n });\n }\n\n addTerminatorSegment(t);\n\n var segCount = t.segments.length;\n var segCountToRemove = 0;\n\n // CMAP 4\n // Set up parallel segment arrays.\n var endCounts = [];\n var startCounts = [];\n var idDeltas = [];\n var idRangeOffsets = [];\n var glyphIds = [];\n\n // CMAP 12\n var cmap12Groups = [];\n\n // Reminder this loop is not following the specification at 100%\n // The specification -> find suites of characters and make a group\n // Here we're doing one group for each letter\n // Doing as the spec can save 8 times (or more) space\n for (i = 0; i < segCount; i += 1) {\n var segment = t.segments[i];\n\n // CMAP 4\n if (segment.end <= 65535 && segment.start <= 65535) {\n endCounts = endCounts.concat({name: 'end_' + i, type: 'USHORT', value: segment.end});\n startCounts = startCounts.concat({name: 'start_' + i, type: 'USHORT', value: segment.start});\n idDeltas = idDeltas.concat({name: 'idDelta_' + i, type: 'SHORT', value: segment.delta});\n idRangeOffsets = idRangeOffsets.concat({name: 'idRangeOffset_' + i, type: 'USHORT', value: segment.offset});\n if (segment.glyphId !== undefined) {\n glyphIds = glyphIds.concat({name: 'glyph_' + i, type: 'USHORT', value: segment.glyphId});\n }\n } else {\n // Skip Unicode > 65535 (16bit unsigned max) for CMAP 4, will be added in CMAP 12\n segCountToRemove += 1;\n }\n\n // CMAP 12\n // Skip Terminator Segment\n if (!isPlan0Only && segment.glyphIndex !== undefined) {\n cmap12Groups = cmap12Groups.concat({name: 'cmap12Start_' + i, type: 'ULONG', value: segment.start});\n cmap12Groups = cmap12Groups.concat({name: 'cmap12End_' + i, type: 'ULONG', value: segment.end});\n cmap12Groups = cmap12Groups.concat({name: 'cmap12Glyph_' + i, type: 'ULONG', value: segment.glyphIndex});\n }\n }\n\n // CMAP 4 Subtable\n t.segCountX2 = (segCount - segCountToRemove) * 2;\n t.searchRange = Math.pow(2, Math.floor(Math.log((segCount - segCountToRemove)) / Math.log(2))) * 2;\n t.entrySelector = Math.log(t.searchRange / 2) / Math.log(2);\n t.rangeShift = t.segCountX2 - t.searchRange;\n\n t.fields = t.fields.concat(endCounts);\n t.fields.push({name: 'reservedPad', type: 'USHORT', value: 0});\n t.fields = t.fields.concat(startCounts);\n t.fields = t.fields.concat(idDeltas);\n t.fields = t.fields.concat(idRangeOffsets);\n t.fields = t.fields.concat(glyphIds);\n\n t.cmap4Length = 14 + // Subtable header\n endCounts.length * 2 +\n 2 + // reservedPad\n startCounts.length * 2 +\n idDeltas.length * 2 +\n idRangeOffsets.length * 2 +\n glyphIds.length * 2;\n\n if (!isPlan0Only) {\n // CMAP 12 Subtable\n var cmap12Length = 16 + // Subtable header\n cmap12Groups.length * 4;\n\n t.cmap12Offset = 12 + (2 * 2) + 4 + t.cmap4Length;\n t.fields = t.fields.concat([\n {name: 'cmap12Format', type: 'USHORT', value: 12},\n {name: 'cmap12Reserved', type: 'USHORT', value: 0},\n {name: 'cmap12Length', type: 'ULONG', value: cmap12Length},\n {name: 'cmap12Language', type: 'ULONG', value: 0},\n {name: 'cmap12nGroups', type: 'ULONG', value: cmap12Groups.length / 3}\n ]);\n\n t.fields = t.fields.concat(cmap12Groups);\n }\n\n return t;\n}\n\nvar cmap = { parse: parseCmapTable, make: makeCmapTable };\n\n// Glyph encoding\n\nvar cffStandardStrings = [\n '.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright',\n 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two',\n 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater',\n 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',\n 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore',\n 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\n 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling',\n 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft',\n 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph',\n 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand',\n 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring',\n 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE',\n 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu',\n 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn',\n 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright',\n 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex',\n 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex',\n 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute',\n 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute',\n 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute',\n 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave',\n 'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior',\n 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', '266 ff', 'onedotenleader',\n 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle',\n 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior',\n 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior',\n 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl',\n 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall',\n 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall',\n 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall',\n 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall',\n 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall',\n 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall',\n 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds',\n 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior',\n 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior',\n 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior',\n 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall',\n 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall',\n 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall',\n 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall',\n 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000',\n '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 'Semibold'];\n\nvar cffStandardEncoding = [\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright',\n 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two',\n 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater',\n 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',\n 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore',\n 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\n 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle',\n 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger',\n 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright',\n 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde',\n 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron',\n 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '',\n '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '',\n 'lslash', 'oslash', 'oe', 'germandbls'];\n\nvar cffExpertEncoding = [\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior',\n 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader',\n 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle',\n 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon',\n 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior',\n 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior',\n 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl',\n 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall',\n 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall',\n 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall',\n 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '',\n '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',\n 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall',\n 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior',\n '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters',\n 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '',\n '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior',\n 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior',\n 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior',\n 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall',\n 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall',\n 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall',\n 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall',\n 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall',\n 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\n\nvar standardNames = [\n '.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent',\n 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash',\n 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less',\n 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',\n 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright',\n 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',\n 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde',\n 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave',\n 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis',\n 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis',\n 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section',\n 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal',\n 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation',\n 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown',\n 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright',\n 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft',\n 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction',\n 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase',\n 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute',\n 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex',\n 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut',\n 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth',\n 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior',\n 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla',\n 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\n\n/**\n * This is the encoding used for fonts created from scratch.\n * It loops through all glyphs and finds the appropriate unicode value.\n * Since it's linear time, other encodings will be faster.\n * @exports opentype.DefaultEncoding\n * @class\n * @constructor\n * @param {opentype.Font}\n */\nfunction DefaultEncoding(font) {\n this.font = font;\n}\n\nDefaultEncoding.prototype.charToGlyphIndex = function(c) {\n var code = c.codePointAt(0);\n var glyphs = this.font.glyphs;\n if (glyphs) {\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n for (var j = 0; j < glyph.unicodes.length; j += 1) {\n if (glyph.unicodes[j] === code) {\n return i;\n }\n }\n }\n }\n return null;\n};\n\n/**\n * @exports opentype.CmapEncoding\n * @class\n * @constructor\n * @param {Object} cmap - a object with the cmap encoded data\n */\nfunction CmapEncoding(cmap) {\n this.cmap = cmap;\n}\n\n/**\n * @param {string} c - the character\n * @return {number} The glyph index.\n */\nCmapEncoding.prototype.charToGlyphIndex = function(c) {\n return this.cmap.glyphIndexMap[c.codePointAt(0)] || 0;\n};\n\n/**\n * @exports opentype.CffEncoding\n * @class\n * @constructor\n * @param {string} encoding - The encoding\n * @param {Array} charset - The character set.\n */\nfunction CffEncoding(encoding, charset) {\n this.encoding = encoding;\n this.charset = charset;\n}\n\n/**\n * @param {string} s - The character\n * @return {number} The index.\n */\nCffEncoding.prototype.charToGlyphIndex = function(s) {\n var code = s.codePointAt(0);\n var charName = this.encoding[code];\n return this.charset.indexOf(charName);\n};\n\n/**\n * @exports opentype.GlyphNames\n * @class\n * @constructor\n * @param {Object} post\n */\nfunction GlyphNames(post) {\n switch (post.version) {\n case 1:\n this.names = standardNames.slice();\n break;\n case 2:\n this.names = new Array(post.numberOfGlyphs);\n for (var i = 0; i < post.numberOfGlyphs; i++) {\n if (post.glyphNameIndex[i] < standardNames.length) {\n this.names[i] = standardNames[post.glyphNameIndex[i]];\n } else {\n this.names[i] = post.names[post.glyphNameIndex[i] - standardNames.length];\n }\n }\n\n break;\n case 2.5:\n this.names = new Array(post.numberOfGlyphs);\n for (var i$1 = 0; i$1 < post.numberOfGlyphs; i$1++) {\n this.names[i$1] = standardNames[i$1 + post.glyphNameIndex[i$1]];\n }\n\n break;\n case 3:\n this.names = [];\n break;\n default:\n this.names = [];\n break;\n }\n}\n\n/**\n * Gets the index of a glyph by name.\n * @param {string} name - The glyph name\n * @return {number} The index\n */\nGlyphNames.prototype.nameToGlyphIndex = function(name) {\n return this.names.indexOf(name);\n};\n\n/**\n * @param {number} gid\n * @return {string}\n */\nGlyphNames.prototype.glyphIndexToName = function(gid) {\n return this.names[gid];\n};\n\nfunction addGlyphNamesAll(font) {\n var glyph;\n var glyphIndexMap = font.tables.cmap.glyphIndexMap;\n var charCodes = Object.keys(glyphIndexMap);\n\n for (var i = 0; i < charCodes.length; i += 1) {\n var c = charCodes[i];\n var glyphIndex = glyphIndexMap[c];\n glyph = font.glyphs.get(glyphIndex);\n glyph.addUnicode(parseInt(c));\n }\n\n for (var i$1 = 0; i$1 < font.glyphs.length; i$1 += 1) {\n glyph = font.glyphs.get(i$1);\n if (font.cffEncoding) {\n if (font.isCIDFont) {\n glyph.name = 'gid' + i$1;\n } else {\n glyph.name = font.cffEncoding.charset[i$1];\n }\n } else if (font.glyphNames.names) {\n glyph.name = font.glyphNames.glyphIndexToName(i$1);\n }\n }\n}\n\nfunction addGlyphNamesToUnicodeMap(font) {\n font._IndexToUnicodeMap = {};\n\n var glyphIndexMap = font.tables.cmap.glyphIndexMap;\n var charCodes = Object.keys(glyphIndexMap);\n\n for (var i = 0; i < charCodes.length; i += 1) {\n var c = charCodes[i];\n var glyphIndex = glyphIndexMap[c];\n if (font._IndexToUnicodeMap[glyphIndex] === undefined) {\n font._IndexToUnicodeMap[glyphIndex] = {\n unicodes: [parseInt(c)]\n };\n } else {\n font._IndexToUnicodeMap[glyphIndex].unicodes.push(parseInt(c));\n }\n }\n}\n\n/**\n * @alias opentype.addGlyphNames\n * @param {opentype.Font}\n * @param {Object}\n */\nfunction addGlyphNames(font, opt) {\n if (opt.lowMemory) {\n addGlyphNamesToUnicodeMap(font);\n } else {\n addGlyphNamesAll(font);\n }\n}\n\n// Drawing utility functions.\n\n// Draw a line on the given context from point `x1,y1` to point `x2,y2`.\nfunction line(ctx, x1, y1, x2, y2) {\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n}\n\nvar draw = { line: line };\n\n// The Glyph object\n// import glyf from './tables/glyf' Can't be imported here, because it's a circular dependency\n\nfunction getPathDefinition(glyph, path) {\n var _path = path || new Path();\n return {\n configurable: true,\n\n get: function() {\n if (typeof _path === 'function') {\n _path = _path();\n }\n\n return _path;\n },\n\n set: function(p) {\n _path = p;\n }\n };\n}\n\n/**\n * @typedef GlyphOptions\n * @type Object\n * @property {string} [name] - The glyph name\n * @property {number} [unicode]\n * @property {Array} [unicodes]\n * @property {number} [xMin]\n * @property {number} [yMin]\n * @property {number} [xMax]\n * @property {number} [yMax]\n * @property {number} [advanceWidth]\n * @property {number} [leftSideBearing]\n */\n\n// A Glyph is an individual mark that often corresponds to a character.\n// Some glyphs, such as ligatures, are a combination of many characters.\n// Glyphs are the basic building blocks of a font.\n//\n// The `Glyph` class contains utility methods for drawing the path and its points.\n/**\n * @exports opentype.Glyph\n * @class\n * @param {GlyphOptions}\n * @constructor\n */\nfunction Glyph(options) {\n // By putting all the code on a prototype function (which is only declared once)\n // we reduce the memory requirements for larger fonts by some 2%\n this.bindConstructorValues(options);\n}\n\n/**\n * @param {GlyphOptions}\n */\nGlyph.prototype.bindConstructorValues = function(options) {\n this.index = options.index || 0;\n\n // These three values cannot be deferred for memory optimization:\n this.name = options.name || null;\n this.unicode = options.unicode || undefined;\n this.unicodes = options.unicodes || options.unicode !== undefined ? [options.unicode] : [];\n\n // But by binding these values only when necessary, we reduce can\n // the memory requirements by almost 3% for larger fonts.\n if ('xMin' in options) {\n this.xMin = options.xMin;\n }\n\n if ('yMin' in options) {\n this.yMin = options.yMin;\n }\n\n if ('xMax' in options) {\n this.xMax = options.xMax;\n }\n\n if ('yMax' in options) {\n this.yMax = options.yMax;\n }\n\n if ('advanceWidth' in options) {\n this.advanceWidth = options.advanceWidth;\n }\n\n if ('leftSideBearing' in options) {\n this.leftSideBearing = options.leftSideBearing;\n }\n\n // The path for a glyph is the most memory intensive, and is bound as a value\n // with a getter/setter to ensure we actually do path parsing only once the\n // path is actually needed by anything.\n Object.defineProperty(this, 'path', getPathDefinition(this, options.path));\n};\n\n/**\n * @param {number}\n */\nGlyph.prototype.addUnicode = function(unicode) {\n if (this.unicodes.length === 0) {\n this.unicode = unicode;\n }\n\n this.unicodes.push(unicode);\n};\n\n/**\n * Calculate the minimum bounding box for this glyph.\n * @return {opentype.BoundingBox}\n */\nGlyph.prototype.getBoundingBox = function() {\n return this.path.getBoundingBox();\n};\n\n/**\n * Convert the glyph to a Path we can draw on a drawing context.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {Object=} options - xScale, yScale to stretch the glyph.\n * @param {opentype.Font} if hinting is to be used, the font\n * @return {opentype.Path}\n */\nGlyph.prototype.getPath = function(x, y, fontSize, options, font) {\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 72;\n var commands;\n var hPoints;\n if (!options) { options = { }; }\n var xScale = options.xScale;\n var yScale = options.yScale;\n\n if (options.hinting && font && font.hinting) {\n // in case of hinting, the hinting engine takes care\n // of scaling the points (not the path) before hinting.\n hPoints = this.path && font.hinting.exec(this, fontSize);\n // in case the hinting engine failed hPoints is undefined\n // and thus reverts to plain rending\n }\n\n if (hPoints) {\n // Call font.hinting.getCommands instead of `glyf.getPath(hPoints).commands` to avoid a circular dependency\n commands = font.hinting.getCommands(hPoints);\n x = Math.round(x);\n y = Math.round(y);\n // TODO in case of hinting xyScaling is not yet supported\n xScale = yScale = 1;\n } else {\n commands = this.path.commands;\n var scale = 1 / (this.path.unitsPerEm || 1000) * fontSize;\n if (xScale === undefined) { xScale = scale; }\n if (yScale === undefined) { yScale = scale; }\n }\n\n var p = new Path();\n for (var i = 0; i < commands.length; i += 1) {\n var cmd = commands[i];\n if (cmd.type === 'M') {\n p.moveTo(x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'L') {\n p.lineTo(x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'Q') {\n p.quadraticCurveTo(x + (cmd.x1 * xScale), y + (-cmd.y1 * yScale),\n x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'C') {\n p.curveTo(x + (cmd.x1 * xScale), y + (-cmd.y1 * yScale),\n x + (cmd.x2 * xScale), y + (-cmd.y2 * yScale),\n x + (cmd.x * xScale), y + (-cmd.y * yScale));\n } else if (cmd.type === 'Z') {\n p.closePath();\n }\n }\n\n return p;\n};\n\n/**\n * Split the glyph into contours.\n * This function is here for backwards compatibility, and to\n * provide raw access to the TrueType glyph outlines.\n * @return {Array}\n */\nGlyph.prototype.getContours = function() {\n if (this.points === undefined) {\n return [];\n }\n\n var contours = [];\n var currentContour = [];\n for (var i = 0; i < this.points.length; i += 1) {\n var pt = this.points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n\n check.argument(currentContour.length === 0, 'There are still points left in the current contour.');\n return contours;\n};\n\n/**\n * Calculate the xMin/yMin/xMax/yMax/lsb/rsb for a Glyph.\n * @return {Object}\n */\nGlyph.prototype.getMetrics = function() {\n var commands = this.path.commands;\n var xCoords = [];\n var yCoords = [];\n for (var i = 0; i < commands.length; i += 1) {\n var cmd = commands[i];\n if (cmd.type !== 'Z') {\n xCoords.push(cmd.x);\n yCoords.push(cmd.y);\n }\n\n if (cmd.type === 'Q' || cmd.type === 'C') {\n xCoords.push(cmd.x1);\n yCoords.push(cmd.y1);\n }\n\n if (cmd.type === 'C') {\n xCoords.push(cmd.x2);\n yCoords.push(cmd.y2);\n }\n }\n\n var metrics = {\n xMin: Math.min.apply(null, xCoords),\n yMin: Math.min.apply(null, yCoords),\n xMax: Math.max.apply(null, xCoords),\n yMax: Math.max.apply(null, yCoords),\n leftSideBearing: this.leftSideBearing\n };\n\n if (!isFinite(metrics.xMin)) {\n metrics.xMin = 0;\n }\n\n if (!isFinite(metrics.xMax)) {\n metrics.xMax = this.advanceWidth;\n }\n\n if (!isFinite(metrics.yMin)) {\n metrics.yMin = 0;\n }\n\n if (!isFinite(metrics.yMax)) {\n metrics.yMax = 0;\n }\n\n metrics.rightSideBearing = this.advanceWidth - metrics.leftSideBearing - (metrics.xMax - metrics.xMin);\n return metrics;\n};\n\n/**\n * Draw the glyph on the given context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {Object=} options - xScale, yScale to stretch the glyph.\n */\nGlyph.prototype.draw = function(ctx, x, y, fontSize, options) {\n this.getPath(x, y, fontSize, options).draw(ctx);\n};\n\n/**\n * Draw the points of the glyph.\n * On-curve points will be drawn in blue, off-curve points will be drawn in red.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n */\nGlyph.prototype.drawPoints = function(ctx, x, y, fontSize) {\n function drawCircles(l, x, y, scale) {\n ctx.beginPath();\n for (var j = 0; j < l.length; j += 1) {\n ctx.moveTo(x + (l[j].x * scale), y + (l[j].y * scale));\n ctx.arc(x + (l[j].x * scale), y + (l[j].y * scale), 2, 0, Math.PI * 2, false);\n }\n\n ctx.closePath();\n ctx.fill();\n }\n\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 24;\n var scale = 1 / this.path.unitsPerEm * fontSize;\n\n var blueCircles = [];\n var redCircles = [];\n var path = this.path;\n for (var i = 0; i < path.commands.length; i += 1) {\n var cmd = path.commands[i];\n if (cmd.x !== undefined) {\n blueCircles.push({x: cmd.x, y: -cmd.y});\n }\n\n if (cmd.x1 !== undefined) {\n redCircles.push({x: cmd.x1, y: -cmd.y1});\n }\n\n if (cmd.x2 !== undefined) {\n redCircles.push({x: cmd.x2, y: -cmd.y2});\n }\n }\n\n ctx.fillStyle = 'blue';\n drawCircles(blueCircles, x, y, scale);\n ctx.fillStyle = 'red';\n drawCircles(redCircles, x, y, scale);\n};\n\n/**\n * Draw lines indicating important font measurements.\n * Black lines indicate the origin of the coordinate system (point 0,0).\n * Blue lines indicate the glyph bounding box.\n * Green line indicates the advance width of the glyph.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n */\nGlyph.prototype.drawMetrics = function(ctx, x, y, fontSize) {\n var scale;\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 24;\n scale = 1 / this.path.unitsPerEm * fontSize;\n ctx.lineWidth = 1;\n\n // Draw the origin\n ctx.strokeStyle = 'black';\n draw.line(ctx, x, -10000, x, 10000);\n draw.line(ctx, -10000, y, 10000, y);\n\n // This code is here due to memory optimization: by not using\n // defaults in the constructor, we save a notable amount of memory.\n var xMin = this.xMin || 0;\n var yMin = this.yMin || 0;\n var xMax = this.xMax || 0;\n var yMax = this.yMax || 0;\n var advanceWidth = this.advanceWidth || 0;\n\n // Draw the glyph box\n ctx.strokeStyle = 'blue';\n draw.line(ctx, x + (xMin * scale), -10000, x + (xMin * scale), 10000);\n draw.line(ctx, x + (xMax * scale), -10000, x + (xMax * scale), 10000);\n draw.line(ctx, -10000, y + (-yMin * scale), 10000, y + (-yMin * scale));\n draw.line(ctx, -10000, y + (-yMax * scale), 10000, y + (-yMax * scale));\n\n // Draw the advance width\n ctx.strokeStyle = 'green';\n draw.line(ctx, x + (advanceWidth * scale), -10000, x + (advanceWidth * scale), 10000);\n};\n\n// The GlyphSet object\n\n// Define a property on the glyph that depends on the path being loaded.\nfunction defineDependentProperty(glyph, externalName, internalName) {\n Object.defineProperty(glyph, externalName, {\n get: function() {\n // Request the path property to make sure the path is loaded.\n glyph.path; // jshint ignore:line\n return glyph[internalName];\n },\n set: function(newValue) {\n glyph[internalName] = newValue;\n },\n enumerable: true,\n configurable: true\n });\n}\n\n/**\n * A GlyphSet represents all glyphs available in the font, but modelled using\n * a deferred glyph loader, for retrieving glyphs only once they are absolutely\n * necessary, to keep the memory footprint down.\n * @exports opentype.GlyphSet\n * @class\n * @param {opentype.Font}\n * @param {Array}\n */\nfunction GlyphSet(font, glyphs) {\n this.font = font;\n this.glyphs = {};\n if (Array.isArray(glyphs)) {\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n glyph.path.unitsPerEm = font.unitsPerEm;\n this.glyphs[i] = glyph;\n }\n }\n\n this.length = (glyphs && glyphs.length) || 0;\n}\n\n/**\n * @param {number} index\n * @return {opentype.Glyph}\n */\nGlyphSet.prototype.get = function(index) {\n // this.glyphs[index] is 'undefined' when low memory mode is on. glyph is pushed on request only.\n if (this.glyphs[index] === undefined) {\n this.font._push(index);\n if (typeof this.glyphs[index] === 'function') {\n this.glyphs[index] = this.glyphs[index]();\n }\n\n var glyph = this.glyphs[index];\n var unicodeObj = this.font._IndexToUnicodeMap[index];\n\n if (unicodeObj) {\n for (var j = 0; j < unicodeObj.unicodes.length; j++)\n { glyph.addUnicode(unicodeObj.unicodes[j]); }\n }\n\n if (this.font.cffEncoding) {\n if (this.font.isCIDFont) {\n glyph.name = 'gid' + index;\n } else {\n glyph.name = this.font.cffEncoding.charset[index];\n }\n } else if (this.font.glyphNames.names) {\n glyph.name = this.font.glyphNames.glyphIndexToName(index);\n }\n\n this.glyphs[index].advanceWidth = this.font._hmtxTableData[index].advanceWidth;\n this.glyphs[index].leftSideBearing = this.font._hmtxTableData[index].leftSideBearing;\n } else {\n if (typeof this.glyphs[index] === 'function') {\n this.glyphs[index] = this.glyphs[index]();\n }\n }\n\n return this.glyphs[index];\n};\n\n/**\n * @param {number} index\n * @param {Object}\n */\nGlyphSet.prototype.push = function(index, loader) {\n this.glyphs[index] = loader;\n this.length++;\n};\n\n/**\n * @alias opentype.glyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @return {opentype.Glyph}\n */\nfunction glyphLoader(font, index) {\n return new Glyph({index: index, font: font});\n}\n\n/**\n * Generate a stub glyph that can be filled with all metadata *except*\n * the \"points\" and \"path\" properties, which must be loaded only once\n * the glyph's path is actually requested for text shaping.\n * @alias opentype.ttfGlyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @param {Function} parseGlyph\n * @param {Object} data\n * @param {number} position\n * @param {Function} buildPath\n * @return {opentype.Glyph}\n */\nfunction ttfGlyphLoader(font, index, parseGlyph, data, position, buildPath) {\n return function() {\n var glyph = new Glyph({index: index, font: font});\n\n glyph.path = function() {\n parseGlyph(glyph, data, position);\n var path = buildPath(font.glyphs, glyph);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n\n defineDependentProperty(glyph, 'xMin', '_xMin');\n defineDependentProperty(glyph, 'xMax', '_xMax');\n defineDependentProperty(glyph, 'yMin', '_yMin');\n defineDependentProperty(glyph, 'yMax', '_yMax');\n\n return glyph;\n };\n}\n/**\n * @alias opentype.cffGlyphLoader\n * @param {opentype.Font} font\n * @param {number} index\n * @param {Function} parseCFFCharstring\n * @param {string} charstring\n * @return {opentype.Glyph}\n */\nfunction cffGlyphLoader(font, index, parseCFFCharstring, charstring) {\n return function() {\n var glyph = new Glyph({index: index, font: font});\n\n glyph.path = function() {\n var path = parseCFFCharstring(font, glyph, charstring);\n path.unitsPerEm = font.unitsPerEm;\n return path;\n };\n\n return glyph;\n };\n}\n\nvar glyphset = { GlyphSet: GlyphSet, glyphLoader: glyphLoader, ttfGlyphLoader: ttfGlyphLoader, cffGlyphLoader: cffGlyphLoader };\n\n// The `CFF` table contains the glyph outlines in PostScript format.\n\n// Custom equals function that can also check lists.\nfunction equals(a, b) {\n if (a === b) {\n return true;\n } else if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n for (var i = 0; i < a.length; i += 1) {\n if (!equals(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n } else {\n return false;\n }\n}\n\n// Subroutines are encoded using the negative half of the number space.\n// See type 2 chapter 4.7 \"Subroutine operators\".\nfunction calcCFFSubroutineBias(subrs) {\n var bias;\n if (subrs.length < 1240) {\n bias = 107;\n } else if (subrs.length < 33900) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n return bias;\n}\n\n// Parse a `CFF` INDEX array.\n// An index array consists of a list of offsets, then a list of objects at those offsets.\nfunction parseCFFIndex(data, start, conversionFn) {\n var offsets = [];\n var objects = [];\n var count = parse.getCard16(data, start);\n var objectOffset;\n var endOffset;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n var pos = start + 3;\n for (var i = 0; i < count + 1; i += 1) {\n offsets.push(parse.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n\n // The total size of the index array is 4 header bytes + the value of the last offset.\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + 2;\n }\n\n for (var i$1 = 0; i$1 < offsets.length - 1; i$1 += 1) {\n var value = parse.getBytes(data, objectOffset + offsets[i$1], objectOffset + offsets[i$1 + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n\n objects.push(value);\n }\n\n return {objects: objects, startOffset: start, endOffset: endOffset};\n}\n\nfunction parseCFFIndexLowMemory(data, start) {\n var offsets = [];\n var count = parse.getCard16(data, start);\n var objectOffset;\n var endOffset;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n var pos = start + 3;\n for (var i = 0; i < count + 1; i += 1) {\n offsets.push(parse.getOffset(data, pos, offsetSize));\n pos += offsetSize;\n }\n\n // The total size of the index array is 4 header bytes + the value of the last offset.\n endOffset = objectOffset + offsets[count];\n } else {\n endOffset = start + 2;\n }\n\n return {offsets: offsets, startOffset: start, endOffset: endOffset};\n}\nfunction getCffIndexObject(i, offsets, data, start, conversionFn) {\n var count = parse.getCard16(data, start);\n var objectOffset = 0;\n if (count !== 0) {\n var offsetSize = parse.getByte(data, start + 2);\n objectOffset = start + ((count + 1) * offsetSize) + 2;\n }\n\n var value = parse.getBytes(data, objectOffset + offsets[i], objectOffset + offsets[i + 1]);\n if (conversionFn) {\n value = conversionFn(value);\n }\n return value;\n}\n\n// Parse a `CFF` DICT real value.\nfunction parseFloatOperand(parser) {\n var s = '';\n var eof = 15;\n var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n while (true) {\n var b = parser.parseByte();\n var n1 = b >> 4;\n var n2 = b & 15;\n\n if (n1 === eof) {\n break;\n }\n\n s += lookup[n1];\n\n if (n2 === eof) {\n break;\n }\n\n s += lookup[n2];\n }\n\n return parseFloat(s);\n}\n\n// Parse a `CFF` DICT operand.\nfunction parseOperand(parser, b0) {\n var b1;\n var b2;\n var b3;\n var b4;\n if (b0 === 28) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n return b1 << 8 | b2;\n }\n\n if (b0 === 29) {\n b1 = parser.parseByte();\n b2 = parser.parseByte();\n b3 = parser.parseByte();\n b4 = parser.parseByte();\n return b1 << 24 | b2 << 16 | b3 << 8 | b4;\n }\n\n if (b0 === 30) {\n return parseFloatOperand(parser);\n }\n\n if (b0 >= 32 && b0 <= 246) {\n return b0 - 139;\n }\n\n if (b0 >= 247 && b0 <= 250) {\n b1 = parser.parseByte();\n return (b0 - 247) * 256 + b1 + 108;\n }\n\n if (b0 >= 251 && b0 <= 254) {\n b1 = parser.parseByte();\n return -(b0 - 251) * 256 - b1 - 108;\n }\n\n throw new Error('Invalid b0 ' + b0);\n}\n\n// Convert the entries returned by `parseDict` to a proper dictionary.\n// If a value is a list of one, it is unpacked.\nfunction entriesToObject(entries) {\n var o = {};\n for (var i = 0; i < entries.length; i += 1) {\n var key = entries[i][0];\n var values = entries[i][1];\n var value = (void 0);\n if (values.length === 1) {\n value = values[0];\n } else {\n value = values;\n }\n\n if (o.hasOwnProperty(key) && !isNaN(o[key])) {\n throw new Error('Object ' + o + ' already has key ' + key);\n }\n\n o[key] = value;\n }\n\n return o;\n}\n\n// Parse a `CFF` DICT object.\n// A dictionary contains key-value pairs in a compact tokenized format.\nfunction parseCFFDict(data, start, size) {\n start = start !== undefined ? start : 0;\n var parser = new parse.Parser(data, start);\n var entries = [];\n var operands = [];\n size = size !== undefined ? size : data.length;\n\n while (parser.relativeOffset < size) {\n var op = parser.parseByte();\n\n // The first byte for each dict item distinguishes between operator (key) and operand (value).\n // Values <= 21 are operators.\n if (op <= 21) {\n // Two-byte operators have an initial escape byte of 12.\n if (op === 12) {\n op = 1200 + parser.parseByte();\n }\n\n entries.push([op, operands]);\n operands = [];\n } else {\n // Since the operands (values) come before the operators (keys), we store all operands in a list\n // until we encounter an operator.\n operands.push(parseOperand(parser, op));\n }\n }\n\n return entriesToObject(entries);\n}\n\n// Given a String Index (SID), return the value of the string.\n// Strings below index 392 are standard CFF strings and are not encoded in the font.\nfunction getCFFString(strings, index) {\n if (index <= 390) {\n index = cffStandardStrings[index];\n } else {\n index = strings[index - 391];\n }\n\n return index;\n}\n\n// Interpret a dictionary and return a new dictionary with readable keys and values for missing entries.\n// This function takes `meta` which is a list of objects containing `operand`, `name` and `default`.\nfunction interpretDict(dict, meta, strings) {\n var newDict = {};\n var value;\n\n // Because we also want to include missing values, we start out from the meta list\n // and lookup values in the dict.\n for (var i = 0; i < meta.length; i += 1) {\n var m = meta[i];\n\n if (Array.isArray(m.type)) {\n var values = [];\n values.length = m.type.length;\n for (var j = 0; j < m.type.length; j++) {\n value = dict[m.op] !== undefined ? dict[m.op][j] : undefined;\n if (value === undefined) {\n value = m.value !== undefined && m.value[j] !== undefined ? m.value[j] : null;\n }\n if (m.type[j] === 'SID') {\n value = getCFFString(strings, value);\n }\n values[j] = value;\n }\n newDict[m.name] = values;\n } else {\n value = dict[m.op];\n if (value === undefined) {\n value = m.value !== undefined ? m.value : null;\n }\n\n if (m.type === 'SID') {\n value = getCFFString(strings, value);\n }\n newDict[m.name] = value;\n }\n }\n\n return newDict;\n}\n\n// Parse the CFF header.\nfunction parseCFFHeader(data, start) {\n var header = {};\n header.formatMajor = parse.getCard8(data, start);\n header.formatMinor = parse.getCard8(data, start + 1);\n header.size = parse.getCard8(data, start + 2);\n header.offsetSize = parse.getCard8(data, start + 3);\n header.startOffset = start;\n header.endOffset = start + 4;\n return header;\n}\n\nvar TOP_DICT_META = [\n {name: 'version', op: 0, type: 'SID'},\n {name: 'notice', op: 1, type: 'SID'},\n {name: 'copyright', op: 1200, type: 'SID'},\n {name: 'fullName', op: 2, type: 'SID'},\n {name: 'familyName', op: 3, type: 'SID'},\n {name: 'weight', op: 4, type: 'SID'},\n {name: 'isFixedPitch', op: 1201, type: 'number', value: 0},\n {name: 'italicAngle', op: 1202, type: 'number', value: 0},\n {name: 'underlinePosition', op: 1203, type: 'number', value: -100},\n {name: 'underlineThickness', op: 1204, type: 'number', value: 50},\n {name: 'paintType', op: 1205, type: 'number', value: 0},\n {name: 'charstringType', op: 1206, type: 'number', value: 2},\n {\n name: 'fontMatrix',\n op: 1207,\n type: ['real', 'real', 'real', 'real', 'real', 'real'],\n value: [0.001, 0, 0, 0.001, 0, 0]\n },\n {name: 'uniqueId', op: 13, type: 'number'},\n {name: 'fontBBox', op: 5, type: ['number', 'number', 'number', 'number'], value: [0, 0, 0, 0]},\n {name: 'strokeWidth', op: 1208, type: 'number', value: 0},\n {name: 'xuid', op: 14, type: [], value: null},\n {name: 'charset', op: 15, type: 'offset', value: 0},\n {name: 'encoding', op: 16, type: 'offset', value: 0},\n {name: 'charStrings', op: 17, type: 'offset', value: 0},\n {name: 'private', op: 18, type: ['number', 'offset'], value: [0, 0]},\n {name: 'ros', op: 1230, type: ['SID', 'SID', 'number']},\n {name: 'cidFontVersion', op: 1231, type: 'number', value: 0},\n {name: 'cidFontRevision', op: 1232, type: 'number', value: 0},\n {name: 'cidFontType', op: 1233, type: 'number', value: 0},\n {name: 'cidCount', op: 1234, type: 'number', value: 8720},\n {name: 'uidBase', op: 1235, type: 'number'},\n {name: 'fdArray', op: 1236, type: 'offset'},\n {name: 'fdSelect', op: 1237, type: 'offset'},\n {name: 'fontName', op: 1238, type: 'SID'}\n];\n\nvar PRIVATE_DICT_META = [\n {name: 'subrs', op: 19, type: 'offset', value: 0},\n {name: 'defaultWidthX', op: 20, type: 'number', value: 0},\n {name: 'nominalWidthX', op: 21, type: 'number', value: 0}\n];\n\n// Parse the CFF top dictionary. A CFF table can contain multiple fonts, each with their own top dictionary.\n// The top dictionary contains the essential metadata for the font, together with the private dictionary.\nfunction parseCFFTopDict(data, strings) {\n var dict = parseCFFDict(data, 0, data.byteLength);\n return interpretDict(dict, TOP_DICT_META, strings);\n}\n\n// Parse the CFF private dictionary. We don't fully parse out all the values, only the ones we need.\nfunction parseCFFPrivateDict(data, start, size, strings) {\n var dict = parseCFFDict(data, start, size);\n return interpretDict(dict, PRIVATE_DICT_META, strings);\n}\n\n// Returns a list of \"Top DICT\"s found using an INDEX list.\n// Used to read both the usual high-level Top DICTs and also the FDArray\n// discovered inside CID-keyed fonts. When a Top DICT has a reference to\n// a Private DICT that is read and saved into the Top DICT.\n//\n// In addition to the expected/optional values as outlined in TOP_DICT_META\n// the following values might be saved into the Top DICT.\n//\n// _subrs [] array of local CFF subroutines from Private DICT\n// _subrsBias bias value computed from number of subroutines\n// (see calcCFFSubroutineBias() and parseCFFCharstring())\n// _defaultWidthX default widths for CFF characters\n// _nominalWidthX bias added to width embedded within glyph description\n//\n// _privateDict saved copy of parsed Private DICT from Top DICT\nfunction gatherCFFTopDicts(data, start, cffIndex, strings) {\n var topDictArray = [];\n for (var iTopDict = 0; iTopDict < cffIndex.length; iTopDict += 1) {\n var topDictData = new DataView(new Uint8Array(cffIndex[iTopDict]).buffer);\n var topDict = parseCFFTopDict(topDictData, strings);\n topDict._subrs = [];\n topDict._subrsBias = 0;\n topDict._defaultWidthX = 0;\n topDict._nominalWidthX = 0;\n var privateSize = topDict.private[0];\n var privateOffset = topDict.private[1];\n if (privateSize !== 0 && privateOffset !== 0) {\n var privateDict = parseCFFPrivateDict(data, privateOffset + start, privateSize, strings);\n topDict._defaultWidthX = privateDict.defaultWidthX;\n topDict._nominalWidthX = privateDict.nominalWidthX;\n if (privateDict.subrs !== 0) {\n var subrOffset = privateOffset + privateDict.subrs;\n var subrIndex = parseCFFIndex(data, subrOffset + start);\n topDict._subrs = subrIndex.objects;\n topDict._subrsBias = calcCFFSubroutineBias(topDict._subrs);\n }\n topDict._privateDict = privateDict;\n }\n topDictArray.push(topDict);\n }\n return topDictArray;\n}\n\n// Parse the CFF charset table, which contains internal names for all the glyphs.\n// This function will return a list of glyph names.\n// See Adobe TN #5176 chapter 13, \"Charsets\".\nfunction parseCFFCharset(data, start, nGlyphs, strings) {\n var sid;\n var count;\n var parser = new parse.Parser(data, start);\n\n // The .notdef glyph is not included, so subtract 1.\n nGlyphs -= 1;\n var charset = ['.notdef'];\n\n var format = parser.parseCard8();\n if (format === 0) {\n for (var i = 0; i < nGlyphs; i += 1) {\n sid = parser.parseSID();\n charset.push(getCFFString(strings, sid));\n }\n } else if (format === 1) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard8();\n for (var i$1 = 0; i$1 <= count; i$1 += 1) {\n charset.push(getCFFString(strings, sid));\n sid += 1;\n }\n }\n } else if (format === 2) {\n while (charset.length <= nGlyphs) {\n sid = parser.parseSID();\n count = parser.parseCard16();\n for (var i$2 = 0; i$2 <= count; i$2 += 1) {\n charset.push(getCFFString(strings, sid));\n sid += 1;\n }\n }\n } else {\n throw new Error('Unknown charset format ' + format);\n }\n\n return charset;\n}\n\n// Parse the CFF encoding data. Only one encoding can be specified per font.\n// See Adobe TN #5176 chapter 12, \"Encodings\".\nfunction parseCFFEncoding(data, start, charset) {\n var code;\n var enc = {};\n var parser = new parse.Parser(data, start);\n var format = parser.parseCard8();\n if (format === 0) {\n var nCodes = parser.parseCard8();\n for (var i = 0; i < nCodes; i += 1) {\n code = parser.parseCard8();\n enc[code] = i;\n }\n } else if (format === 1) {\n var nRanges = parser.parseCard8();\n code = 1;\n for (var i$1 = 0; i$1 < nRanges; i$1 += 1) {\n var first = parser.parseCard8();\n var nLeft = parser.parseCard8();\n for (var j = first; j <= first + nLeft; j += 1) {\n enc[j] = code;\n code += 1;\n }\n }\n } else {\n throw new Error('Unknown encoding format ' + format);\n }\n\n return new CffEncoding(enc, charset);\n}\n\n// Take in charstring code and return a Glyph object.\n// The encoding is described in the Type 2 Charstring Format\n// https://www.microsoft.com/typography/OTSPEC/charstr2.htm\nfunction parseCFFCharstring(font, glyph, code) {\n var c1x;\n var c1y;\n var c2x;\n var c2y;\n var p = new Path();\n var stack = [];\n var nStems = 0;\n var haveWidth = false;\n var open = false;\n var x = 0;\n var y = 0;\n var subrs;\n var subrsBias;\n var defaultWidthX;\n var nominalWidthX;\n if (font.isCIDFont) {\n var fdIndex = font.tables.cff.topDict._fdSelect[glyph.index];\n var fdDict = font.tables.cff.topDict._fdArray[fdIndex];\n subrs = fdDict._subrs;\n subrsBias = fdDict._subrsBias;\n defaultWidthX = fdDict._defaultWidthX;\n nominalWidthX = fdDict._nominalWidthX;\n } else {\n subrs = font.tables.cff.topDict._subrs;\n subrsBias = font.tables.cff.topDict._subrsBias;\n defaultWidthX = font.tables.cff.topDict._defaultWidthX;\n nominalWidthX = font.tables.cff.topDict._nominalWidthX;\n }\n var width = defaultWidthX;\n\n function newContour(x, y) {\n if (open) {\n p.closePath();\n }\n\n p.moveTo(x, y);\n open = true;\n }\n\n function parseStems() {\n var hasWidthArg;\n\n // The number of stem operators on the stack is always even.\n // If the value is uneven, that means a width is specified.\n hasWidthArg = stack.length % 2 !== 0;\n if (hasWidthArg && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n }\n\n nStems += stack.length >> 1;\n stack.length = 0;\n haveWidth = true;\n }\n\n function parse(code) {\n var b1;\n var b2;\n var b3;\n var b4;\n var codeIndex;\n var subrCode;\n var jpx;\n var jpy;\n var c3x;\n var c3y;\n var c4x;\n var c4y;\n\n var i = 0;\n while (i < code.length) {\n var v = code[i];\n i += 1;\n switch (v) {\n case 1: // hstem\n parseStems();\n break;\n case 3: // vstem\n parseStems();\n break;\n case 4: // vmoveto\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n y += stack.pop();\n newContour(x, y);\n break;\n case 5: // rlineto\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 6: // hlineto\n while (stack.length > 0) {\n x += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 7: // vlineto\n while (stack.length > 0) {\n y += stack.shift();\n p.lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n p.lineTo(x, y);\n }\n\n break;\n case 8: // rrcurveto\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 10: // callsubr\n codeIndex = stack.pop() + subrsBias;\n subrCode = subrs[codeIndex];\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n case 11: // return\n return;\n case 12: // flex operators\n v = code[i];\n i += 1;\n switch (v) {\n case 35: // flex\n // |- dx1 dy1 dx2 dy2 dx3 dy3 dx4 dy4 dx5 dy5 dx6 dy6 fd flex (12 35) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y + stack.shift(); // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = jpy + stack.shift(); // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n x = c4x + stack.shift(); // dx6\n y = c4y + stack.shift(); // dy6\n stack.shift(); // flex depth\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 34: // hflex\n // |- dx1 dx2 dy2 dx3 dx4 dx5 dx6 hflex (12 34) |-\n c1x = x + stack.shift(); // dx1\n c1y = y; // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y; // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = c2y; // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = y; // dy5\n x = c4x + stack.shift(); // dx6\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 36: // hflex1\n // |- dx1 dy1 dx2 dy2 dx3 dx4 dx5 dy5 dx6 hflex1 (12 36) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y; // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = c2y; // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n x = c4x + stack.shift(); // dx6\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n case 37: // flex1\n // |- dx1 dy1 dx2 dy2 dx3 dy3 dx4 dy4 dx5 dy5 d6 flex1 (12 37) |-\n c1x = x + stack.shift(); // dx1\n c1y = y + stack.shift(); // dy1\n c2x = c1x + stack.shift(); // dx2\n c2y = c1y + stack.shift(); // dy2\n jpx = c2x + stack.shift(); // dx3\n jpy = c2y + stack.shift(); // dy3\n c3x = jpx + stack.shift(); // dx4\n c3y = jpy + stack.shift(); // dy4\n c4x = c3x + stack.shift(); // dx5\n c4y = c3y + stack.shift(); // dy5\n if (Math.abs(c4x - x) > Math.abs(c4y - y)) {\n x = c4x + stack.shift();\n } else {\n y = c4y + stack.shift();\n }\n\n p.curveTo(c1x, c1y, c2x, c2y, jpx, jpy);\n p.curveTo(c3x, c3y, c4x, c4y, x, y);\n break;\n default:\n console.log('Glyph ' + glyph.index + ': unknown operator ' + 1200 + v);\n stack.length = 0;\n }\n break;\n case 14: // endchar\n if (stack.length > 0 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n if (open) {\n p.closePath();\n open = false;\n }\n\n break;\n case 18: // hstemhm\n parseStems();\n break;\n case 19: // hintmask\n case 20: // cntrmask\n parseStems();\n i += (nStems + 7) >> 3;\n break;\n case 21: // rmoveto\n if (stack.length > 2 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n y += stack.pop();\n x += stack.pop();\n newContour(x, y);\n break;\n case 22: // hmoveto\n if (stack.length > 1 && !haveWidth) {\n width = stack.shift() + nominalWidthX;\n haveWidth = true;\n }\n\n x += stack.pop();\n newContour(x, y);\n break;\n case 23: // vstemhm\n parseStems();\n break;\n case 24: // rcurveline\n while (stack.length > 2) {\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n break;\n case 25: // rlinecurve\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n p.lineTo(x, y);\n }\n\n c1x = x + stack.shift();\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n break;\n case 26: // vvcurveto\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x;\n y = c2y + stack.shift();\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 27: // hhcurveto\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y;\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 28: // shortint\n b1 = code[i];\n b2 = code[i + 1];\n stack.push(((b1 << 24) | (b2 << 16)) >> 16);\n i += 2;\n break;\n case 29: // callgsubr\n codeIndex = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[codeIndex];\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n case 30: // vhcurveto\n while (stack.length > 0) {\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n case 31: // hvcurveto\n while (stack.length > 0) {\n c1x = x + stack.shift();\n c1y = y;\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n y = c2y + stack.shift();\n x = c2x + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n if (stack.length === 0) {\n break;\n }\n\n c1x = x;\n c1y = y + stack.shift();\n c2x = c1x + stack.shift();\n c2y = c1y + stack.shift();\n x = c2x + stack.shift();\n y = c2y + (stack.length === 1 ? stack.shift() : 0);\n p.curveTo(c1x, c1y, c2x, c2y, x, y);\n }\n\n break;\n default:\n if (v < 32) {\n console.log('Glyph ' + glyph.index + ': unknown operator ' + v);\n } else if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n b1 = code[i];\n i += 1;\n stack.push((v - 247) * 256 + b1 + 108);\n } else if (v < 255) {\n b1 = code[i];\n i += 1;\n stack.push(-(v - 251) * 256 - b1 - 108);\n } else {\n b1 = code[i];\n b2 = code[i + 1];\n b3 = code[i + 2];\n b4 = code[i + 3];\n i += 4;\n stack.push(((b1 << 24) | (b2 << 16) | (b3 << 8) | b4) / 65536);\n }\n }\n }\n }\n\n parse(code);\n\n glyph.advanceWidth = width;\n return p;\n}\n\nfunction parseCFFFDSelect(data, start, nGlyphs, fdArrayCount) {\n var fdSelect = [];\n var fdIndex;\n var parser = new parse.Parser(data, start);\n var format = parser.parseCard8();\n if (format === 0) {\n // Simple list of nGlyphs elements\n for (var iGid = 0; iGid < nGlyphs; iGid++) {\n fdIndex = parser.parseCard8();\n if (fdIndex >= fdArrayCount) {\n throw new Error('CFF table CID Font FDSelect has bad FD index value ' + fdIndex + ' (FD count ' + fdArrayCount + ')');\n }\n fdSelect.push(fdIndex);\n }\n } else if (format === 3) {\n // Ranges\n var nRanges = parser.parseCard16();\n var first = parser.parseCard16();\n if (first !== 0) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad initial GID ' + first);\n }\n var next;\n for (var iRange = 0; iRange < nRanges; iRange++) {\n fdIndex = parser.parseCard8();\n next = parser.parseCard16();\n if (fdIndex >= fdArrayCount) {\n throw new Error('CFF table CID Font FDSelect has bad FD index value ' + fdIndex + ' (FD count ' + fdArrayCount + ')');\n }\n if (next > nGlyphs) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad GID ' + next);\n }\n for (; first < next; first++) {\n fdSelect.push(fdIndex);\n }\n first = next;\n }\n if (next !== nGlyphs) {\n throw new Error('CFF Table CID Font FDSelect format 3 range has bad final GID ' + next);\n }\n } else {\n throw new Error('CFF Table CID Font FDSelect table has unsupported format ' + format);\n }\n return fdSelect;\n}\n\n// Parse the `CFF` table, which contains the glyph outlines in PostScript format.\nfunction parseCFFTable(data, start, font, opt) {\n font.tables.cff = {};\n var header = parseCFFHeader(data, start);\n var nameIndex = parseCFFIndex(data, header.endOffset, parse.bytesToString);\n var topDictIndex = parseCFFIndex(data, nameIndex.endOffset);\n var stringIndex = parseCFFIndex(data, topDictIndex.endOffset, parse.bytesToString);\n var globalSubrIndex = parseCFFIndex(data, stringIndex.endOffset);\n font.gsubrs = globalSubrIndex.objects;\n font.gsubrsBias = calcCFFSubroutineBias(font.gsubrs);\n\n var topDictArray = gatherCFFTopDicts(data, start, topDictIndex.objects, stringIndex.objects);\n if (topDictArray.length !== 1) {\n throw new Error('CFF table has too many fonts in \\'FontSet\\' - count of fonts NameIndex.length = ' + topDictArray.length);\n }\n\n var topDict = topDictArray[0];\n font.tables.cff.topDict = topDict;\n\n if (topDict._privateDict) {\n font.defaultWidthX = topDict._privateDict.defaultWidthX;\n font.nominalWidthX = topDict._privateDict.nominalWidthX;\n }\n\n if (topDict.ros[0] !== undefined && topDict.ros[1] !== undefined) {\n font.isCIDFont = true;\n }\n\n if (font.isCIDFont) {\n var fdArrayOffset = topDict.fdArray;\n var fdSelectOffset = topDict.fdSelect;\n if (fdArrayOffset === 0 || fdSelectOffset === 0) {\n throw new Error('Font is marked as a CID font, but FDArray and/or FDSelect information is missing');\n }\n fdArrayOffset += start;\n var fdArrayIndex = parseCFFIndex(data, fdArrayOffset);\n var fdArray = gatherCFFTopDicts(data, start, fdArrayIndex.objects, stringIndex.objects);\n topDict._fdArray = fdArray;\n fdSelectOffset += start;\n topDict._fdSelect = parseCFFFDSelect(data, fdSelectOffset, font.numGlyphs, fdArray.length);\n }\n\n var privateDictOffset = start + topDict.private[1];\n var privateDict = parseCFFPrivateDict(data, privateDictOffset, topDict.private[0], stringIndex.objects);\n font.defaultWidthX = privateDict.defaultWidthX;\n font.nominalWidthX = privateDict.nominalWidthX;\n\n if (privateDict.subrs !== 0) {\n var subrOffset = privateDictOffset + privateDict.subrs;\n var subrIndex = parseCFFIndex(data, subrOffset);\n font.subrs = subrIndex.objects;\n font.subrsBias = calcCFFSubroutineBias(font.subrs);\n } else {\n font.subrs = [];\n font.subrsBias = 0;\n }\n\n // Offsets in the top dict are relative to the beginning of the CFF data, so add the CFF start offset.\n var charStringsIndex;\n if (opt.lowMemory) {\n charStringsIndex = parseCFFIndexLowMemory(data, start + topDict.charStrings);\n font.nGlyphs = charStringsIndex.offsets.length;\n } else {\n charStringsIndex = parseCFFIndex(data, start + topDict.charStrings);\n font.nGlyphs = charStringsIndex.objects.length;\n }\n\n var charset = parseCFFCharset(data, start + topDict.charset, font.nGlyphs, stringIndex.objects);\n if (topDict.encoding === 0) {\n // Standard encoding\n font.cffEncoding = new CffEncoding(cffStandardEncoding, charset);\n } else if (topDict.encoding === 1) {\n // Expert encoding\n font.cffEncoding = new CffEncoding(cffExpertEncoding, charset);\n } else {\n font.cffEncoding = parseCFFEncoding(data, start + topDict.encoding, charset);\n }\n\n // Prefer the CMAP encoding to the CFF encoding.\n font.encoding = font.encoding || font.cffEncoding;\n\n font.glyphs = new glyphset.GlyphSet(font);\n if (opt.lowMemory) {\n font._push = function(i) {\n var charString = getCffIndexObject(i, charStringsIndex.offsets, data, start + topDict.charStrings);\n font.glyphs.push(i, glyphset.cffGlyphLoader(font, i, parseCFFCharstring, charString));\n };\n } else {\n for (var i = 0; i < font.nGlyphs; i += 1) {\n var charString = charStringsIndex.objects[i];\n font.glyphs.push(i, glyphset.cffGlyphLoader(font, i, parseCFFCharstring, charString));\n }\n }\n}\n\n// Convert a string to a String ID (SID).\n// The list of strings is modified in place.\nfunction encodeString(s, strings) {\n var sid;\n\n // Is the string in the CFF standard strings?\n var i = cffStandardStrings.indexOf(s);\n if (i >= 0) {\n sid = i;\n }\n\n // Is the string already in the string index?\n i = strings.indexOf(s);\n if (i >= 0) {\n sid = i + cffStandardStrings.length;\n } else {\n sid = cffStandardStrings.length + strings.length;\n strings.push(s);\n }\n\n return sid;\n}\n\nfunction makeHeader() {\n return new table.Record('Header', [\n {name: 'major', type: 'Card8', value: 1},\n {name: 'minor', type: 'Card8', value: 0},\n {name: 'hdrSize', type: 'Card8', value: 4},\n {name: 'major', type: 'Card8', value: 1}\n ]);\n}\n\nfunction makeNameIndex(fontNames) {\n var t = new table.Record('Name INDEX', [\n {name: 'names', type: 'INDEX', value: []}\n ]);\n t.names = [];\n for (var i = 0; i < fontNames.length; i += 1) {\n t.names.push({name: 'name_' + i, type: 'NAME', value: fontNames[i]});\n }\n\n return t;\n}\n\n// Given a dictionary's metadata, create a DICT structure.\nfunction makeDict(meta, attrs, strings) {\n var m = {};\n for (var i = 0; i < meta.length; i += 1) {\n var entry = meta[i];\n var value = attrs[entry.name];\n if (value !== undefined && !equals(value, entry.value)) {\n if (entry.type === 'SID') {\n value = encodeString(value, strings);\n }\n\n m[entry.op] = {name: entry.name, type: entry.type, value: value};\n }\n }\n\n return m;\n}\n\n// The Top DICT houses the global font attributes.\nfunction makeTopDict(attrs, strings) {\n var t = new table.Record('Top DICT', [\n {name: 'dict', type: 'DICT', value: {}}\n ]);\n t.dict = makeDict(TOP_DICT_META, attrs, strings);\n return t;\n}\n\nfunction makeTopDictIndex(topDict) {\n var t = new table.Record('Top DICT INDEX', [\n {name: 'topDicts', type: 'INDEX', value: []}\n ]);\n t.topDicts = [{name: 'topDict_0', type: 'TABLE', value: topDict}];\n return t;\n}\n\nfunction makeStringIndex(strings) {\n var t = new table.Record('String INDEX', [\n {name: 'strings', type: 'INDEX', value: []}\n ]);\n t.strings = [];\n for (var i = 0; i < strings.length; i += 1) {\n t.strings.push({name: 'string_' + i, type: 'STRING', value: strings[i]});\n }\n\n return t;\n}\n\nfunction makeGlobalSubrIndex() {\n // Currently we don't use subroutines.\n return new table.Record('Global Subr INDEX', [\n {name: 'subrs', type: 'INDEX', value: []}\n ]);\n}\n\nfunction makeCharsets(glyphNames, strings) {\n var t = new table.Record('Charsets', [\n {name: 'format', type: 'Card8', value: 0}\n ]);\n for (var i = 0; i < glyphNames.length; i += 1) {\n var glyphName = glyphNames[i];\n var glyphSID = encodeString(glyphName, strings);\n t.fields.push({name: 'glyph_' + i, type: 'SID', value: glyphSID});\n }\n\n return t;\n}\n\nfunction glyphToOps(glyph) {\n var ops = [];\n var path = glyph.path;\n ops.push({name: 'width', type: 'NUMBER', value: glyph.advanceWidth});\n var x = 0;\n var y = 0;\n for (var i = 0; i < path.commands.length; i += 1) {\n var dx = (void 0);\n var dy = (void 0);\n var cmd = path.commands[i];\n if (cmd.type === 'Q') {\n // CFF only supports bézier curves, so convert the quad to a bézier.\n var _13 = 1 / 3;\n var _23 = 2 / 3;\n\n // We're going to create a new command so we don't change the original path.\n // Since all coordinates are relative, we round() them ASAP to avoid propagating errors.\n cmd = {\n type: 'C',\n x: cmd.x,\n y: cmd.y,\n x1: Math.round(_13 * x + _23 * cmd.x1),\n y1: Math.round(_13 * y + _23 * cmd.y1),\n x2: Math.round(_13 * cmd.x + _23 * cmd.x1),\n y2: Math.round(_13 * cmd.y + _23 * cmd.y1)\n };\n }\n\n if (cmd.type === 'M') {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rmoveto', type: 'OP', value: 21});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === 'L') {\n dx = Math.round(cmd.x - x);\n dy = Math.round(cmd.y - y);\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rlineto', type: 'OP', value: 5});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n } else if (cmd.type === 'C') {\n var dx1 = Math.round(cmd.x1 - x);\n var dy1 = Math.round(cmd.y1 - y);\n var dx2 = Math.round(cmd.x2 - cmd.x1);\n var dy2 = Math.round(cmd.y2 - cmd.y1);\n dx = Math.round(cmd.x - cmd.x2);\n dy = Math.round(cmd.y - cmd.y2);\n ops.push({name: 'dx1', type: 'NUMBER', value: dx1});\n ops.push({name: 'dy1', type: 'NUMBER', value: dy1});\n ops.push({name: 'dx2', type: 'NUMBER', value: dx2});\n ops.push({name: 'dy2', type: 'NUMBER', value: dy2});\n ops.push({name: 'dx', type: 'NUMBER', value: dx});\n ops.push({name: 'dy', type: 'NUMBER', value: dy});\n ops.push({name: 'rrcurveto', type: 'OP', value: 8});\n x = Math.round(cmd.x);\n y = Math.round(cmd.y);\n }\n\n // Contours are closed automatically.\n }\n\n ops.push({name: 'endchar', type: 'OP', value: 14});\n return ops;\n}\n\nfunction makeCharStringsIndex(glyphs) {\n var t = new table.Record('CharStrings INDEX', [\n {name: 'charStrings', type: 'INDEX', value: []}\n ]);\n\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n var ops = glyphToOps(glyph);\n t.charStrings.push({name: glyph.name, type: 'CHARSTRING', value: ops});\n }\n\n return t;\n}\n\nfunction makePrivateDict(attrs, strings) {\n var t = new table.Record('Private DICT', [\n {name: 'dict', type: 'DICT', value: {}}\n ]);\n t.dict = makeDict(PRIVATE_DICT_META, attrs, strings);\n return t;\n}\n\nfunction makeCFFTable(glyphs, options) {\n var t = new table.Table('CFF ', [\n {name: 'header', type: 'RECORD'},\n {name: 'nameIndex', type: 'RECORD'},\n {name: 'topDictIndex', type: 'RECORD'},\n {name: 'stringIndex', type: 'RECORD'},\n {name: 'globalSubrIndex', type: 'RECORD'},\n {name: 'charsets', type: 'RECORD'},\n {name: 'charStringsIndex', type: 'RECORD'},\n {name: 'privateDict', type: 'RECORD'}\n ]);\n\n var fontScale = 1 / options.unitsPerEm;\n // We use non-zero values for the offsets so that the DICT encodes them.\n // This is important because the size of the Top DICT plays a role in offset calculation,\n // and the size shouldn't change after we've written correct offsets.\n var attrs = {\n version: options.version,\n fullName: options.fullName,\n familyName: options.familyName,\n weight: options.weightName,\n fontBBox: options.fontBBox || [0, 0, 0, 0],\n fontMatrix: [fontScale, 0, 0, fontScale, 0, 0],\n charset: 999,\n encoding: 0,\n charStrings: 999,\n private: [0, 999]\n };\n\n var privateAttrs = {};\n\n var glyphNames = [];\n var glyph;\n\n // Skip first glyph (.notdef)\n for (var i = 1; i < glyphs.length; i += 1) {\n glyph = glyphs.get(i);\n glyphNames.push(glyph.name);\n }\n\n var strings = [];\n\n t.header = makeHeader();\n t.nameIndex = makeNameIndex([options.postScriptName]);\n var topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n t.globalSubrIndex = makeGlobalSubrIndex();\n t.charsets = makeCharsets(glyphNames, strings);\n t.charStringsIndex = makeCharStringsIndex(glyphs);\n t.privateDict = makePrivateDict(privateAttrs, strings);\n\n // Needs to come at the end, to encode all custom strings used in the font.\n t.stringIndex = makeStringIndex(strings);\n\n var startOffset = t.header.sizeOf() +\n t.nameIndex.sizeOf() +\n t.topDictIndex.sizeOf() +\n t.stringIndex.sizeOf() +\n t.globalSubrIndex.sizeOf();\n attrs.charset = startOffset;\n\n // We use the CFF standard encoding; proper encoding will be handled in cmap.\n attrs.encoding = 0;\n attrs.charStrings = attrs.charset + t.charsets.sizeOf();\n attrs.private[1] = attrs.charStrings + t.charStringsIndex.sizeOf();\n\n // Recreate the Top DICT INDEX with the correct offsets.\n topDict = makeTopDict(attrs, strings);\n t.topDictIndex = makeTopDictIndex(topDict);\n\n return t;\n}\n\nvar cff = { parse: parseCFFTable, make: makeCFFTable };\n\n// The `head` table contains global information about the font.\n\n// Parse the header `head` table\nfunction parseHeadTable(data, start) {\n var head = {};\n var p = new parse.Parser(data, start);\n head.version = p.parseVersion();\n head.fontRevision = Math.round(p.parseFixed() * 1000) / 1000;\n head.checkSumAdjustment = p.parseULong();\n head.magicNumber = p.parseULong();\n check.argument(head.magicNumber === 0x5F0F3CF5, 'Font header has wrong magic number.');\n head.flags = p.parseUShort();\n head.unitsPerEm = p.parseUShort();\n head.created = p.parseLongDateTime();\n head.modified = p.parseLongDateTime();\n head.xMin = p.parseShort();\n head.yMin = p.parseShort();\n head.xMax = p.parseShort();\n head.yMax = p.parseShort();\n head.macStyle = p.parseUShort();\n head.lowestRecPPEM = p.parseUShort();\n head.fontDirectionHint = p.parseShort();\n head.indexToLocFormat = p.parseShort();\n head.glyphDataFormat = p.parseShort();\n return head;\n}\n\nfunction makeHeadTable(options) {\n // Apple Mac timestamp epoch is 01/01/1904 not 01/01/1970\n var timestamp = Math.round(new Date().getTime() / 1000) + 2082844800;\n var createdTimestamp = timestamp;\n\n if (options.createdTimestamp) {\n createdTimestamp = options.createdTimestamp + 2082844800;\n }\n\n return new table.Table('head', [\n {name: 'version', type: 'FIXED', value: 0x00010000},\n {name: 'fontRevision', type: 'FIXED', value: 0x00010000},\n {name: 'checkSumAdjustment', type: 'ULONG', value: 0},\n {name: 'magicNumber', type: 'ULONG', value: 0x5F0F3CF5},\n {name: 'flags', type: 'USHORT', value: 0},\n {name: 'unitsPerEm', type: 'USHORT', value: 1000},\n {name: 'created', type: 'LONGDATETIME', value: createdTimestamp},\n {name: 'modified', type: 'LONGDATETIME', value: timestamp},\n {name: 'xMin', type: 'SHORT', value: 0},\n {name: 'yMin', type: 'SHORT', value: 0},\n {name: 'xMax', type: 'SHORT', value: 0},\n {name: 'yMax', type: 'SHORT', value: 0},\n {name: 'macStyle', type: 'USHORT', value: 0},\n {name: 'lowestRecPPEM', type: 'USHORT', value: 0},\n {name: 'fontDirectionHint', type: 'SHORT', value: 2},\n {name: 'indexToLocFormat', type: 'SHORT', value: 0},\n {name: 'glyphDataFormat', type: 'SHORT', value: 0}\n ], options);\n}\n\nvar head = { parse: parseHeadTable, make: makeHeadTable };\n\n// The `hhea` table contains information for horizontal layout.\n\n// Parse the horizontal header `hhea` table\nfunction parseHheaTable(data, start) {\n var hhea = {};\n var p = new parse.Parser(data, start);\n hhea.version = p.parseVersion();\n hhea.ascender = p.parseShort();\n hhea.descender = p.parseShort();\n hhea.lineGap = p.parseShort();\n hhea.advanceWidthMax = p.parseUShort();\n hhea.minLeftSideBearing = p.parseShort();\n hhea.minRightSideBearing = p.parseShort();\n hhea.xMaxExtent = p.parseShort();\n hhea.caretSlopeRise = p.parseShort();\n hhea.caretSlopeRun = p.parseShort();\n hhea.caretOffset = p.parseShort();\n p.relativeOffset += 8;\n hhea.metricDataFormat = p.parseShort();\n hhea.numberOfHMetrics = p.parseUShort();\n return hhea;\n}\n\nfunction makeHheaTable(options) {\n return new table.Table('hhea', [\n {name: 'version', type: 'FIXED', value: 0x00010000},\n {name: 'ascender', type: 'FWORD', value: 0},\n {name: 'descender', type: 'FWORD', value: 0},\n {name: 'lineGap', type: 'FWORD', value: 0},\n {name: 'advanceWidthMax', type: 'UFWORD', value: 0},\n {name: 'minLeftSideBearing', type: 'FWORD', value: 0},\n {name: 'minRightSideBearing', type: 'FWORD', value: 0},\n {name: 'xMaxExtent', type: 'FWORD', value: 0},\n {name: 'caretSlopeRise', type: 'SHORT', value: 1},\n {name: 'caretSlopeRun', type: 'SHORT', value: 0},\n {name: 'caretOffset', type: 'SHORT', value: 0},\n {name: 'reserved1', type: 'SHORT', value: 0},\n {name: 'reserved2', type: 'SHORT', value: 0},\n {name: 'reserved3', type: 'SHORT', value: 0},\n {name: 'reserved4', type: 'SHORT', value: 0},\n {name: 'metricDataFormat', type: 'SHORT', value: 0},\n {name: 'numberOfHMetrics', type: 'USHORT', value: 0}\n ], options);\n}\n\nvar hhea = { parse: parseHheaTable, make: makeHheaTable };\n\n// The `hmtx` table contains the horizontal metrics for all glyphs.\n\nfunction parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs) {\n var advanceWidth;\n var leftSideBearing;\n var p = new parse.Parser(data, start);\n for (var i = 0; i < numGlyphs; i += 1) {\n // If the font is monospaced, only one entry is needed. This last entry applies to all subsequent glyphs.\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n\n var glyph = glyphs.get(i);\n glyph.advanceWidth = advanceWidth;\n glyph.leftSideBearing = leftSideBearing;\n }\n}\n\nfunction parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs) {\n font._hmtxTableData = {};\n\n var advanceWidth;\n var leftSideBearing;\n var p = new parse.Parser(data, start);\n for (var i = 0; i < numGlyphs; i += 1) {\n // If the font is monospaced, only one entry is needed. This last entry applies to all subsequent glyphs.\n if (i < numMetrics) {\n advanceWidth = p.parseUShort();\n leftSideBearing = p.parseShort();\n }\n\n font._hmtxTableData[i] = {\n advanceWidth: advanceWidth,\n leftSideBearing: leftSideBearing\n };\n }\n}\n\n// Parse the `hmtx` table, which contains the horizontal metrics for all glyphs.\n// This function augments the glyph array, adding the advanceWidth and leftSideBearing to each glyph.\nfunction parseHmtxTable(font, data, start, numMetrics, numGlyphs, glyphs, opt) {\n if (opt.lowMemory)\n { parseHmtxTableOnLowMemory(font, data, start, numMetrics, numGlyphs); }\n else\n { parseHmtxTableAll(data, start, numMetrics, numGlyphs, glyphs); }\n}\n\nfunction makeHmtxTable(glyphs) {\n var t = new table.Table('hmtx', []);\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs.get(i);\n var advanceWidth = glyph.advanceWidth || 0;\n var leftSideBearing = glyph.leftSideBearing || 0;\n t.fields.push({name: 'advanceWidth_' + i, type: 'USHORT', value: advanceWidth});\n t.fields.push({name: 'leftSideBearing_' + i, type: 'SHORT', value: leftSideBearing});\n }\n\n return t;\n}\n\nvar hmtx = { parse: parseHmtxTable, make: makeHmtxTable };\n\n// The `ltag` table stores IETF BCP-47 language tags. It allows supporting\n\nfunction makeLtagTable(tags) {\n var result = new table.Table('ltag', [\n {name: 'version', type: 'ULONG', value: 1},\n {name: 'flags', type: 'ULONG', value: 0},\n {name: 'numTags', type: 'ULONG', value: tags.length}\n ]);\n\n var stringPool = '';\n var stringPoolOffset = 12 + tags.length * 4;\n for (var i = 0; i < tags.length; ++i) {\n var pos = stringPool.indexOf(tags[i]);\n if (pos < 0) {\n pos = stringPool.length;\n stringPool += tags[i];\n }\n\n result.fields.push({name: 'offset ' + i, type: 'USHORT', value: stringPoolOffset + pos});\n result.fields.push({name: 'length ' + i, type: 'USHORT', value: tags[i].length});\n }\n\n result.fields.push({name: 'stringPool', type: 'CHARARRAY', value: stringPool});\n return result;\n}\n\nfunction parseLtagTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 1, 'Unsupported ltag table version.');\n // The 'ltag' specification does not define any flags; skip the field.\n p.skip('uLong', 1);\n var numTags = p.parseULong();\n\n var tags = [];\n for (var i = 0; i < numTags; i++) {\n var tag = '';\n var offset = start + p.parseUShort();\n var length = p.parseUShort();\n for (var j = offset; j < offset + length; ++j) {\n tag += String.fromCharCode(data.getInt8(j));\n }\n\n tags.push(tag);\n }\n\n return tags;\n}\n\nvar ltag = { make: makeLtagTable, parse: parseLtagTable };\n\n// The `maxp` table establishes the memory requirements for the font.\n\n// Parse the maximum profile `maxp` table.\nfunction parseMaxpTable(data, start) {\n var maxp = {};\n var p = new parse.Parser(data, start);\n maxp.version = p.parseVersion();\n maxp.numGlyphs = p.parseUShort();\n if (maxp.version === 1.0) {\n maxp.maxPoints = p.parseUShort();\n maxp.maxContours = p.parseUShort();\n maxp.maxCompositePoints = p.parseUShort();\n maxp.maxCompositeContours = p.parseUShort();\n maxp.maxZones = p.parseUShort();\n maxp.maxTwilightPoints = p.parseUShort();\n maxp.maxStorage = p.parseUShort();\n maxp.maxFunctionDefs = p.parseUShort();\n maxp.maxInstructionDefs = p.parseUShort();\n maxp.maxStackElements = p.parseUShort();\n maxp.maxSizeOfInstructions = p.parseUShort();\n maxp.maxComponentElements = p.parseUShort();\n maxp.maxComponentDepth = p.parseUShort();\n }\n\n return maxp;\n}\n\nfunction makeMaxpTable(numGlyphs) {\n return new table.Table('maxp', [\n {name: 'version', type: 'FIXED', value: 0x00005000},\n {name: 'numGlyphs', type: 'USHORT', value: numGlyphs}\n ]);\n}\n\nvar maxp = { parse: parseMaxpTable, make: makeMaxpTable };\n\n// The `name` naming table.\n\n// NameIDs for the name table.\nvar nameTableNames = [\n 'copyright', // 0\n 'fontFamily', // 1\n 'fontSubfamily', // 2\n 'uniqueID', // 3\n 'fullName', // 4\n 'version', // 5\n 'postScriptName', // 6\n 'trademark', // 7\n 'manufacturer', // 8\n 'designer', // 9\n 'description', // 10\n 'manufacturerURL', // 11\n 'designerURL', // 12\n 'license', // 13\n 'licenseURL', // 14\n 'reserved', // 15\n 'preferredFamily', // 16\n 'preferredSubfamily', // 17\n 'compatibleFullName', // 18\n 'sampleText', // 19\n 'postScriptFindFontName', // 20\n 'wwsFamily', // 21\n 'wwsSubfamily' // 22\n];\n\nvar macLanguages = {\n 0: 'en',\n 1: 'fr',\n 2: 'de',\n 3: 'it',\n 4: 'nl',\n 5: 'sv',\n 6: 'es',\n 7: 'da',\n 8: 'pt',\n 9: 'no',\n 10: 'he',\n 11: 'ja',\n 12: 'ar',\n 13: 'fi',\n 14: 'el',\n 15: 'is',\n 16: 'mt',\n 17: 'tr',\n 18: 'hr',\n 19: 'zh-Hant',\n 20: 'ur',\n 21: 'hi',\n 22: 'th',\n 23: 'ko',\n 24: 'lt',\n 25: 'pl',\n 26: 'hu',\n 27: 'es',\n 28: 'lv',\n 29: 'se',\n 30: 'fo',\n 31: 'fa',\n 32: 'ru',\n 33: 'zh',\n 34: 'nl-BE',\n 35: 'ga',\n 36: 'sq',\n 37: 'ro',\n 38: 'cz',\n 39: 'sk',\n 40: 'si',\n 41: 'yi',\n 42: 'sr',\n 43: 'mk',\n 44: 'bg',\n 45: 'uk',\n 46: 'be',\n 47: 'uz',\n 48: 'kk',\n 49: 'az-Cyrl',\n 50: 'az-Arab',\n 51: 'hy',\n 52: 'ka',\n 53: 'mo',\n 54: 'ky',\n 55: 'tg',\n 56: 'tk',\n 57: 'mn-CN',\n 58: 'mn',\n 59: 'ps',\n 60: 'ks',\n 61: 'ku',\n 62: 'sd',\n 63: 'bo',\n 64: 'ne',\n 65: 'sa',\n 66: 'mr',\n 67: 'bn',\n 68: 'as',\n 69: 'gu',\n 70: 'pa',\n 71: 'or',\n 72: 'ml',\n 73: 'kn',\n 74: 'ta',\n 75: 'te',\n 76: 'si',\n 77: 'my',\n 78: 'km',\n 79: 'lo',\n 80: 'vi',\n 81: 'id',\n 82: 'tl',\n 83: 'ms',\n 84: 'ms-Arab',\n 85: 'am',\n 86: 'ti',\n 87: 'om',\n 88: 'so',\n 89: 'sw',\n 90: 'rw',\n 91: 'rn',\n 92: 'ny',\n 93: 'mg',\n 94: 'eo',\n 128: 'cy',\n 129: 'eu',\n 130: 'ca',\n 131: 'la',\n 132: 'qu',\n 133: 'gn',\n 134: 'ay',\n 135: 'tt',\n 136: 'ug',\n 137: 'dz',\n 138: 'jv',\n 139: 'su',\n 140: 'gl',\n 141: 'af',\n 142: 'br',\n 143: 'iu',\n 144: 'gd',\n 145: 'gv',\n 146: 'ga',\n 147: 'to',\n 148: 'el-polyton',\n 149: 'kl',\n 150: 'az',\n 151: 'nn'\n};\n\n// MacOS language ID → MacOS script ID\n//\n// Note that the script ID is not sufficient to determine what encoding\n// to use in TrueType files. For some languages, MacOS used a modification\n// of a mainstream script. For example, an Icelandic name would be stored\n// with smRoman in the TrueType naming table, but the actual encoding\n// is a special Icelandic version of the normal Macintosh Roman encoding.\n// As another example, Inuktitut uses an 8-bit encoding for Canadian Aboriginal\n// Syllables but MacOS had run out of available script codes, so this was\n// done as a (pretty radical) \"modification\" of Ethiopic.\n//\n// http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt\nvar macLanguageToScript = {\n 0: 0, // langEnglish → smRoman\n 1: 0, // langFrench → smRoman\n 2: 0, // langGerman → smRoman\n 3: 0, // langItalian → smRoman\n 4: 0, // langDutch → smRoman\n 5: 0, // langSwedish → smRoman\n 6: 0, // langSpanish → smRoman\n 7: 0, // langDanish → smRoman\n 8: 0, // langPortuguese → smRoman\n 9: 0, // langNorwegian → smRoman\n 10: 5, // langHebrew → smHebrew\n 11: 1, // langJapanese → smJapanese\n 12: 4, // langArabic → smArabic\n 13: 0, // langFinnish → smRoman\n 14: 6, // langGreek → smGreek\n 15: 0, // langIcelandic → smRoman (modified)\n 16: 0, // langMaltese → smRoman\n 17: 0, // langTurkish → smRoman (modified)\n 18: 0, // langCroatian → smRoman (modified)\n 19: 2, // langTradChinese → smTradChinese\n 20: 4, // langUrdu → smArabic\n 21: 9, // langHindi → smDevanagari\n 22: 21, // langThai → smThai\n 23: 3, // langKorean → smKorean\n 24: 29, // langLithuanian → smCentralEuroRoman\n 25: 29, // langPolish → smCentralEuroRoman\n 26: 29, // langHungarian → smCentralEuroRoman\n 27: 29, // langEstonian → smCentralEuroRoman\n 28: 29, // langLatvian → smCentralEuroRoman\n 29: 0, // langSami → smRoman\n 30: 0, // langFaroese → smRoman (modified)\n 31: 4, // langFarsi → smArabic (modified)\n 32: 7, // langRussian → smCyrillic\n 33: 25, // langSimpChinese → smSimpChinese\n 34: 0, // langFlemish → smRoman\n 35: 0, // langIrishGaelic → smRoman (modified)\n 36: 0, // langAlbanian → smRoman\n 37: 0, // langRomanian → smRoman (modified)\n 38: 29, // langCzech → smCentralEuroRoman\n 39: 29, // langSlovak → smCentralEuroRoman\n 40: 0, // langSlovenian → smRoman (modified)\n 41: 5, // langYiddish → smHebrew\n 42: 7, // langSerbian → smCyrillic\n 43: 7, // langMacedonian → smCyrillic\n 44: 7, // langBulgarian → smCyrillic\n 45: 7, // langUkrainian → smCyrillic (modified)\n 46: 7, // langByelorussian → smCyrillic\n 47: 7, // langUzbek → smCyrillic\n 48: 7, // langKazakh → smCyrillic\n 49: 7, // langAzerbaijani → smCyrillic\n 50: 4, // langAzerbaijanAr → smArabic\n 51: 24, // langArmenian → smArmenian\n 52: 23, // langGeorgian → smGeorgian\n 53: 7, // langMoldavian → smCyrillic\n 54: 7, // langKirghiz → smCyrillic\n 55: 7, // langTajiki → smCyrillic\n 56: 7, // langTurkmen → smCyrillic\n 57: 27, // langMongolian → smMongolian\n 58: 7, // langMongolianCyr → smCyrillic\n 59: 4, // langPashto → smArabic\n 60: 4, // langKurdish → smArabic\n 61: 4, // langKashmiri → smArabic\n 62: 4, // langSindhi → smArabic\n 63: 26, // langTibetan → smTibetan\n 64: 9, // langNepali → smDevanagari\n 65: 9, // langSanskrit → smDevanagari\n 66: 9, // langMarathi → smDevanagari\n 67: 13, // langBengali → smBengali\n 68: 13, // langAssamese → smBengali\n 69: 11, // langGujarati → smGujarati\n 70: 10, // langPunjabi → smGurmukhi\n 71: 12, // langOriya → smOriya\n 72: 17, // langMalayalam → smMalayalam\n 73: 16, // langKannada → smKannada\n 74: 14, // langTamil → smTamil\n 75: 15, // langTelugu → smTelugu\n 76: 18, // langSinhalese → smSinhalese\n 77: 19, // langBurmese → smBurmese\n 78: 20, // langKhmer → smKhmer\n 79: 22, // langLao → smLao\n 80: 30, // langVietnamese → smVietnamese\n 81: 0, // langIndonesian → smRoman\n 82: 0, // langTagalog → smRoman\n 83: 0, // langMalayRoman → smRoman\n 84: 4, // langMalayArabic → smArabic\n 85: 28, // langAmharic → smEthiopic\n 86: 28, // langTigrinya → smEthiopic\n 87: 28, // langOromo → smEthiopic\n 88: 0, // langSomali → smRoman\n 89: 0, // langSwahili → smRoman\n 90: 0, // langKinyarwanda → smRoman\n 91: 0, // langRundi → smRoman\n 92: 0, // langNyanja → smRoman\n 93: 0, // langMalagasy → smRoman\n 94: 0, // langEsperanto → smRoman\n 128: 0, // langWelsh → smRoman (modified)\n 129: 0, // langBasque → smRoman\n 130: 0, // langCatalan → smRoman\n 131: 0, // langLatin → smRoman\n 132: 0, // langQuechua → smRoman\n 133: 0, // langGuarani → smRoman\n 134: 0, // langAymara → smRoman\n 135: 7, // langTatar → smCyrillic\n 136: 4, // langUighur → smArabic\n 137: 26, // langDzongkha → smTibetan\n 138: 0, // langJavaneseRom → smRoman\n 139: 0, // langSundaneseRom → smRoman\n 140: 0, // langGalician → smRoman\n 141: 0, // langAfrikaans → smRoman\n 142: 0, // langBreton → smRoman (modified)\n 143: 28, // langInuktitut → smEthiopic (modified)\n 144: 0, // langScottishGaelic → smRoman (modified)\n 145: 0, // langManxGaelic → smRoman (modified)\n 146: 0, // langIrishGaelicScript → smRoman (modified)\n 147: 0, // langTongan → smRoman\n 148: 6, // langGreekAncient → smRoman\n 149: 0, // langGreenlandic → smRoman\n 150: 0, // langAzerbaijanRoman → smRoman\n 151: 0 // langNynorsk → smRoman\n};\n\n// While Microsoft indicates a region/country for all its language\n// IDs, we omit the region code if it's equal to the \"most likely\n// region subtag\" according to Unicode CLDR. For scripts, we omit\n// the subtag if it is equal to the Suppress-Script entry in the\n// IANA language subtag registry for IETF BCP 47.\n//\n// For example, Microsoft states that its language code 0x041A is\n// Croatian in Croatia. We transform this to the BCP 47 language code 'hr'\n// and not 'hr-HR' because Croatia is the default country for Croatian,\n// according to Unicode CLDR. As another example, Microsoft states\n// that 0x101A is Croatian (Latin) in Bosnia-Herzegovina. We transform\n// this to 'hr-BA' and not 'hr-Latn-BA' because Latin is the default script\n// for the Croatian language, according to IANA.\n//\n// http://www.unicode.org/cldr/charts/latest/supplemental/likely_subtags.html\n// http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry\nvar windowsLanguages = {\n 0x0436: 'af',\n 0x041C: 'sq',\n 0x0484: 'gsw',\n 0x045E: 'am',\n 0x1401: 'ar-DZ',\n 0x3C01: 'ar-BH',\n 0x0C01: 'ar',\n 0x0801: 'ar-IQ',\n 0x2C01: 'ar-JO',\n 0x3401: 'ar-KW',\n 0x3001: 'ar-LB',\n 0x1001: 'ar-LY',\n 0x1801: 'ary',\n 0x2001: 'ar-OM',\n 0x4001: 'ar-QA',\n 0x0401: 'ar-SA',\n 0x2801: 'ar-SY',\n 0x1C01: 'aeb',\n 0x3801: 'ar-AE',\n 0x2401: 'ar-YE',\n 0x042B: 'hy',\n 0x044D: 'as',\n 0x082C: 'az-Cyrl',\n 0x042C: 'az',\n 0x046D: 'ba',\n 0x042D: 'eu',\n 0x0423: 'be',\n 0x0845: 'bn',\n 0x0445: 'bn-IN',\n 0x201A: 'bs-Cyrl',\n 0x141A: 'bs',\n 0x047E: 'br',\n 0x0402: 'bg',\n 0x0403: 'ca',\n 0x0C04: 'zh-HK',\n 0x1404: 'zh-MO',\n 0x0804: 'zh',\n 0x1004: 'zh-SG',\n 0x0404: 'zh-TW',\n 0x0483: 'co',\n 0x041A: 'hr',\n 0x101A: 'hr-BA',\n 0x0405: 'cs',\n 0x0406: 'da',\n 0x048C: 'prs',\n 0x0465: 'dv',\n 0x0813: 'nl-BE',\n 0x0413: 'nl',\n 0x0C09: 'en-AU',\n 0x2809: 'en-BZ',\n 0x1009: 'en-CA',\n 0x2409: 'en-029',\n 0x4009: 'en-IN',\n 0x1809: 'en-IE',\n 0x2009: 'en-JM',\n 0x4409: 'en-MY',\n 0x1409: 'en-NZ',\n 0x3409: 'en-PH',\n 0x4809: 'en-SG',\n 0x1C09: 'en-ZA',\n 0x2C09: 'en-TT',\n 0x0809: 'en-GB',\n 0x0409: 'en',\n 0x3009: 'en-ZW',\n 0x0425: 'et',\n 0x0438: 'fo',\n 0x0464: 'fil',\n 0x040B: 'fi',\n 0x080C: 'fr-BE',\n 0x0C0C: 'fr-CA',\n 0x040C: 'fr',\n 0x140C: 'fr-LU',\n 0x180C: 'fr-MC',\n 0x100C: 'fr-CH',\n 0x0462: 'fy',\n 0x0456: 'gl',\n 0x0437: 'ka',\n 0x0C07: 'de-AT',\n 0x0407: 'de',\n 0x1407: 'de-LI',\n 0x1007: 'de-LU',\n 0x0807: 'de-CH',\n 0x0408: 'el',\n 0x046F: 'kl',\n 0x0447: 'gu',\n 0x0468: 'ha',\n 0x040D: 'he',\n 0x0439: 'hi',\n 0x040E: 'hu',\n 0x040F: 'is',\n 0x0470: 'ig',\n 0x0421: 'id',\n 0x045D: 'iu',\n 0x085D: 'iu-Latn',\n 0x083C: 'ga',\n 0x0434: 'xh',\n 0x0435: 'zu',\n 0x0410: 'it',\n 0x0810: 'it-CH',\n 0x0411: 'ja',\n 0x044B: 'kn',\n 0x043F: 'kk',\n 0x0453: 'km',\n 0x0486: 'quc',\n 0x0487: 'rw',\n 0x0441: 'sw',\n 0x0457: 'kok',\n 0x0412: 'ko',\n 0x0440: 'ky',\n 0x0454: 'lo',\n 0x0426: 'lv',\n 0x0427: 'lt',\n 0x082E: 'dsb',\n 0x046E: 'lb',\n 0x042F: 'mk',\n 0x083E: 'ms-BN',\n 0x043E: 'ms',\n 0x044C: 'ml',\n 0x043A: 'mt',\n 0x0481: 'mi',\n 0x047A: 'arn',\n 0x044E: 'mr',\n 0x047C: 'moh',\n 0x0450: 'mn',\n 0x0850: 'mn-CN',\n 0x0461: 'ne',\n 0x0414: 'nb',\n 0x0814: 'nn',\n 0x0482: 'oc',\n 0x0448: 'or',\n 0x0463: 'ps',\n 0x0415: 'pl',\n 0x0416: 'pt',\n 0x0816: 'pt-PT',\n 0x0446: 'pa',\n 0x046B: 'qu-BO',\n 0x086B: 'qu-EC',\n 0x0C6B: 'qu',\n 0x0418: 'ro',\n 0x0417: 'rm',\n 0x0419: 'ru',\n 0x243B: 'smn',\n 0x103B: 'smj-NO',\n 0x143B: 'smj',\n 0x0C3B: 'se-FI',\n 0x043B: 'se',\n 0x083B: 'se-SE',\n 0x203B: 'sms',\n 0x183B: 'sma-NO',\n 0x1C3B: 'sms',\n 0x044F: 'sa',\n 0x1C1A: 'sr-Cyrl-BA',\n 0x0C1A: 'sr',\n 0x181A: 'sr-Latn-BA',\n 0x081A: 'sr-Latn',\n 0x046C: 'nso',\n 0x0432: 'tn',\n 0x045B: 'si',\n 0x041B: 'sk',\n 0x0424: 'sl',\n 0x2C0A: 'es-AR',\n 0x400A: 'es-BO',\n 0x340A: 'es-CL',\n 0x240A: 'es-CO',\n 0x140A: 'es-CR',\n 0x1C0A: 'es-DO',\n 0x300A: 'es-EC',\n 0x440A: 'es-SV',\n 0x100A: 'es-GT',\n 0x480A: 'es-HN',\n 0x080A: 'es-MX',\n 0x4C0A: 'es-NI',\n 0x180A: 'es-PA',\n 0x3C0A: 'es-PY',\n 0x280A: 'es-PE',\n 0x500A: 'es-PR',\n\n // Microsoft has defined two different language codes for\n // “Spanish with modern sorting” and “Spanish with traditional\n // sorting”. This makes sense for collation APIs, and it would be\n // possible to express this in BCP 47 language tags via Unicode\n // extensions (eg., es-u-co-trad is Spanish with traditional\n // sorting). However, for storing names in fonts, the distinction\n // does not make sense, so we give “es” in both cases.\n 0x0C0A: 'es',\n 0x040A: 'es',\n\n 0x540A: 'es-US',\n 0x380A: 'es-UY',\n 0x200A: 'es-VE',\n 0x081D: 'sv-FI',\n 0x041D: 'sv',\n 0x045A: 'syr',\n 0x0428: 'tg',\n 0x085F: 'tzm',\n 0x0449: 'ta',\n 0x0444: 'tt',\n 0x044A: 'te',\n 0x041E: 'th',\n 0x0451: 'bo',\n 0x041F: 'tr',\n 0x0442: 'tk',\n 0x0480: 'ug',\n 0x0422: 'uk',\n 0x042E: 'hsb',\n 0x0420: 'ur',\n 0x0843: 'uz-Cyrl',\n 0x0443: 'uz',\n 0x042A: 'vi',\n 0x0452: 'cy',\n 0x0488: 'wo',\n 0x0485: 'sah',\n 0x0478: 'ii',\n 0x046A: 'yo'\n};\n\n// Returns a IETF BCP 47 language code, for example 'zh-Hant'\n// for 'Chinese in the traditional script'.\nfunction getLanguageCode(platformID, languageID, ltag) {\n switch (platformID) {\n case 0: // Unicode\n if (languageID === 0xFFFF) {\n return 'und';\n } else if (ltag) {\n return ltag[languageID];\n }\n\n break;\n\n case 1: // Macintosh\n return macLanguages[languageID];\n\n case 3: // Windows\n return windowsLanguages[languageID];\n }\n\n return undefined;\n}\n\nvar utf16 = 'utf-16';\n\n// MacOS script ID → encoding. This table stores the default case,\n// which can be overridden by macLanguageEncodings.\nvar macScriptEncodings = {\n 0: 'macintosh', // smRoman\n 1: 'x-mac-japanese', // smJapanese\n 2: 'x-mac-chinesetrad', // smTradChinese\n 3: 'x-mac-korean', // smKorean\n 6: 'x-mac-greek', // smGreek\n 7: 'x-mac-cyrillic', // smCyrillic\n 9: 'x-mac-devanagai', // smDevanagari\n 10: 'x-mac-gurmukhi', // smGurmukhi\n 11: 'x-mac-gujarati', // smGujarati\n 12: 'x-mac-oriya', // smOriya\n 13: 'x-mac-bengali', // smBengali\n 14: 'x-mac-tamil', // smTamil\n 15: 'x-mac-telugu', // smTelugu\n 16: 'x-mac-kannada', // smKannada\n 17: 'x-mac-malayalam', // smMalayalam\n 18: 'x-mac-sinhalese', // smSinhalese\n 19: 'x-mac-burmese', // smBurmese\n 20: 'x-mac-khmer', // smKhmer\n 21: 'x-mac-thai', // smThai\n 22: 'x-mac-lao', // smLao\n 23: 'x-mac-georgian', // smGeorgian\n 24: 'x-mac-armenian', // smArmenian\n 25: 'x-mac-chinesesimp', // smSimpChinese\n 26: 'x-mac-tibetan', // smTibetan\n 27: 'x-mac-mongolian', // smMongolian\n 28: 'x-mac-ethiopic', // smEthiopic\n 29: 'x-mac-ce', // smCentralEuroRoman\n 30: 'x-mac-vietnamese', // smVietnamese\n 31: 'x-mac-extarabic' // smExtArabic\n};\n\n// MacOS language ID → encoding. This table stores the exceptional\n// cases, which override macScriptEncodings. For writing MacOS naming\n// tables, we need to emit a MacOS script ID. Therefore, we cannot\n// merge macScriptEncodings into macLanguageEncodings.\n//\n// http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt\nvar macLanguageEncodings = {\n 15: 'x-mac-icelandic', // langIcelandic\n 17: 'x-mac-turkish', // langTurkish\n 18: 'x-mac-croatian', // langCroatian\n 24: 'x-mac-ce', // langLithuanian\n 25: 'x-mac-ce', // langPolish\n 26: 'x-mac-ce', // langHungarian\n 27: 'x-mac-ce', // langEstonian\n 28: 'x-mac-ce', // langLatvian\n 30: 'x-mac-icelandic', // langFaroese\n 37: 'x-mac-romanian', // langRomanian\n 38: 'x-mac-ce', // langCzech\n 39: 'x-mac-ce', // langSlovak\n 40: 'x-mac-ce', // langSlovenian\n 143: 'x-mac-inuit', // langInuktitut\n 146: 'x-mac-gaelic' // langIrishGaelicScript\n};\n\nfunction getEncoding(platformID, encodingID, languageID) {\n switch (platformID) {\n case 0: // Unicode\n return utf16;\n\n case 1: // Apple Macintosh\n return macLanguageEncodings[languageID] || macScriptEncodings[encodingID];\n\n case 3: // Microsoft Windows\n if (encodingID === 1 || encodingID === 10) {\n return utf16;\n }\n\n break;\n }\n\n return undefined;\n}\n\nvar platforms = {\n 0: 'unicode',\n 1: 'macintosh',\n 2: 'reserved',\n 3: 'windows'\n};\n\nfunction getPlatform(platformID) {\n return platforms[platformID];\n}\n\n// Parse the naming `name` table.\n// FIXME: Format 1 additional fields are not supported yet.\n// ltag is the content of the `ltag' table, such as ['en', 'zh-Hans', 'de-CH-1904'].\nfunction parseNameTable(data, start, ltag) {\n var name = {};\n var p = new parse.Parser(data, start);\n var format = p.parseUShort();\n var count = p.parseUShort();\n var stringOffset = p.offset + p.parseUShort();\n for (var i = 0; i < count; i++) {\n var platformID = p.parseUShort();\n var encodingID = p.parseUShort();\n var languageID = p.parseUShort();\n var nameID = p.parseUShort();\n var property = nameTableNames[nameID] || nameID;\n var byteLength = p.parseUShort();\n var offset = p.parseUShort();\n var language = getLanguageCode(platformID, languageID, ltag);\n var encoding = getEncoding(platformID, encodingID, languageID);\n var platformName = getPlatform(platformID);\n if (encoding !== undefined && language !== undefined && platformName !== undefined) {\n var text = (void 0);\n if (encoding === utf16) {\n text = decode.UTF16(data, stringOffset + offset, byteLength);\n } else {\n text = decode.MACSTRING(data, stringOffset + offset, byteLength, encoding);\n }\n\n if (text) {\n var platform = name[platformName];\n if (platform === undefined) {\n platform = name[platformName] = {};\n }\n var translations = platform[property];\n if (translations === undefined) {\n translations = platform[property] = {};\n }\n\n translations[language] = text;\n }\n }\n }\n\n var langTagCount = 0;\n if (format === 1) {\n // FIXME: Also handle Microsoft's 'name' table 1.\n langTagCount = p.parseUShort();\n }\n\n return name;\n}\n\n// {23: 'foo'} → {'foo': 23}\n// ['bar', 'baz'] → {'bar': 0, 'baz': 1}\nfunction reverseDict(dict) {\n var result = {};\n for (var key in dict) {\n result[dict[key]] = parseInt(key);\n }\n\n return result;\n}\n\nfunction makeNameRecord(platformID, encodingID, languageID, nameID, length, offset) {\n return new table.Record('NameRecord', [\n {name: 'platformID', type: 'USHORT', value: platformID},\n {name: 'encodingID', type: 'USHORT', value: encodingID},\n {name: 'languageID', type: 'USHORT', value: languageID},\n {name: 'nameID', type: 'USHORT', value: nameID},\n {name: 'length', type: 'USHORT', value: length},\n {name: 'offset', type: 'USHORT', value: offset}\n ]);\n}\n\n// Finds the position of needle in haystack, or -1 if not there.\n// Like String.indexOf(), but for arrays.\nfunction findSubArray(needle, haystack) {\n var needleLength = needle.length;\n var limit = haystack.length - needleLength + 1;\n\n loop:\n for (var pos = 0; pos < limit; pos++) {\n for (; pos < limit; pos++) {\n for (var k = 0; k < needleLength; k++) {\n if (haystack[pos + k] !== needle[k]) {\n continue loop;\n }\n }\n\n return pos;\n }\n }\n\n return -1;\n}\n\nfunction addStringToPool(s, pool) {\n var offset = findSubArray(s, pool);\n if (offset < 0) {\n offset = pool.length;\n var i = 0;\n var len = s.length;\n for (; i < len; ++i) {\n pool.push(s[i]);\n }\n\n }\n\n return offset;\n}\n\nfunction makeNameTable(names, ltag) {\n var platformNameIds = reverseDict(platforms);\n var macLanguageIds = reverseDict(macLanguages);\n var windowsLanguageIds = reverseDict(windowsLanguages);\n\n var nameRecords = [];\n var stringPool = [];\n\n for (var platform in names) {\n var nameID = (void 0);\n var nameIDs = [];\n\n var namesWithNumericKeys = {};\n var nameTableIds = reverseDict(nameTableNames);\n\n var platformID = platformNameIds[platform];\n\n for (var key in names[platform]) {\n var id = nameTableIds[key];\n if (id === undefined) {\n id = key;\n }\n\n nameID = parseInt(id);\n\n if (isNaN(nameID)) {\n throw new Error('Name table entry \"' + key + '\" does not exist, see nameTableNames for complete list.');\n }\n\n namesWithNumericKeys[nameID] = names[platform][key];\n nameIDs.push(nameID);\n }\n\n for (var i = 0; i < nameIDs.length; i++) {\n nameID = nameIDs[i];\n var translations = namesWithNumericKeys[nameID];\n for (var lang in translations) {\n var text = translations[lang];\n\n // For MacOS, we try to emit the name in the form that was introduced\n // in the initial version of the TrueType spec (in the late 1980s).\n // However, this can fail for various reasons: the requested BCP 47\n // language code might not have an old-style Mac equivalent;\n // we might not have a codec for the needed character encoding;\n // or the name might contain characters that cannot be expressed\n // in the old-style Macintosh encoding. In case of failure, we emit\n // the name in a more modern fashion (Unicode encoding with BCP 47\n // language tags) that is recognized by MacOS 10.5, released in 2009.\n // If fonts were only read by operating systems, we could simply\n // emit all names in the modern form; this would be much easier.\n // However, there are many applications and libraries that read\n // 'name' tables directly, and these will usually only recognize\n // the ancient form (silently skipping the unrecognized names).\n if (platformID === 1 || platformID === 0) {\n var macLanguage = macLanguageIds[lang];\n var macScript = macLanguageToScript[macLanguage];\n var macEncoding = getEncoding(platformID, macScript, macLanguage);\n var macName = encode.MACSTRING(text, macEncoding);\n if (platformID === 0) {\n macLanguage = ltag.indexOf(lang);\n if (macLanguage < 0) {\n macLanguage = ltag.length;\n ltag.push(lang);\n }\n\n macScript = 4; // Unicode 2.0 and later\n macName = encode.UTF16(text);\n }\n\n if (macName !== undefined) {\n var macNameOffset = addStringToPool(macName, stringPool);\n nameRecords.push(makeNameRecord(platformID, macScript,\n macLanguage, nameID, macName.length, macNameOffset));\n }\n }\n\n if (platformID === 3) {\n var winLanguage = windowsLanguageIds[lang];\n if (winLanguage !== undefined) {\n var winName = encode.UTF16(text);\n var winNameOffset = addStringToPool(winName, stringPool);\n nameRecords.push(makeNameRecord(3, 1, winLanguage,\n nameID, winName.length, winNameOffset));\n }\n }\n }\n }\n }\n\n nameRecords.sort(function(a, b) {\n return ((a.platformID - b.platformID) ||\n (a.encodingID - b.encodingID) ||\n (a.languageID - b.languageID) ||\n (a.nameID - b.nameID));\n });\n\n var t = new table.Table('name', [\n {name: 'format', type: 'USHORT', value: 0},\n {name: 'count', type: 'USHORT', value: nameRecords.length},\n {name: 'stringOffset', type: 'USHORT', value: 6 + nameRecords.length * 12}\n ]);\n\n for (var r = 0; r < nameRecords.length; r++) {\n t.fields.push({name: 'record_' + r, type: 'RECORD', value: nameRecords[r]});\n }\n\n t.fields.push({name: 'strings', type: 'LITERAL', value: stringPool});\n return t;\n}\n\nvar _name = { parse: parseNameTable, make: makeNameTable };\n\n// The `OS/2` table contains metrics required in OpenType fonts.\n\nvar unicodeRanges = [\n {begin: 0x0000, end: 0x007F}, // Basic Latin\n {begin: 0x0080, end: 0x00FF}, // Latin-1 Supplement\n {begin: 0x0100, end: 0x017F}, // Latin Extended-A\n {begin: 0x0180, end: 0x024F}, // Latin Extended-B\n {begin: 0x0250, end: 0x02AF}, // IPA Extensions\n {begin: 0x02B0, end: 0x02FF}, // Spacing Modifier Letters\n {begin: 0x0300, end: 0x036F}, // Combining Diacritical Marks\n {begin: 0x0370, end: 0x03FF}, // Greek and Coptic\n {begin: 0x2C80, end: 0x2CFF}, // Coptic\n {begin: 0x0400, end: 0x04FF}, // Cyrillic\n {begin: 0x0530, end: 0x058F}, // Armenian\n {begin: 0x0590, end: 0x05FF}, // Hebrew\n {begin: 0xA500, end: 0xA63F}, // Vai\n {begin: 0x0600, end: 0x06FF}, // Arabic\n {begin: 0x07C0, end: 0x07FF}, // NKo\n {begin: 0x0900, end: 0x097F}, // Devanagari\n {begin: 0x0980, end: 0x09FF}, // Bengali\n {begin: 0x0A00, end: 0x0A7F}, // Gurmukhi\n {begin: 0x0A80, end: 0x0AFF}, // Gujarati\n {begin: 0x0B00, end: 0x0B7F}, // Oriya\n {begin: 0x0B80, end: 0x0BFF}, // Tamil\n {begin: 0x0C00, end: 0x0C7F}, // Telugu\n {begin: 0x0C80, end: 0x0CFF}, // Kannada\n {begin: 0x0D00, end: 0x0D7F}, // Malayalam\n {begin: 0x0E00, end: 0x0E7F}, // Thai\n {begin: 0x0E80, end: 0x0EFF}, // Lao\n {begin: 0x10A0, end: 0x10FF}, // Georgian\n {begin: 0x1B00, end: 0x1B7F}, // Balinese\n {begin: 0x1100, end: 0x11FF}, // Hangul Jamo\n {begin: 0x1E00, end: 0x1EFF}, // Latin Extended Additional\n {begin: 0x1F00, end: 0x1FFF}, // Greek Extended\n {begin: 0x2000, end: 0x206F}, // General Punctuation\n {begin: 0x2070, end: 0x209F}, // Superscripts And Subscripts\n {begin: 0x20A0, end: 0x20CF}, // Currency Symbol\n {begin: 0x20D0, end: 0x20FF}, // Combining Diacritical Marks For Symbols\n {begin: 0x2100, end: 0x214F}, // Letterlike Symbols\n {begin: 0x2150, end: 0x218F}, // Number Forms\n {begin: 0x2190, end: 0x21FF}, // Arrows\n {begin: 0x2200, end: 0x22FF}, // Mathematical Operators\n {begin: 0x2300, end: 0x23FF}, // Miscellaneous Technical\n {begin: 0x2400, end: 0x243F}, // Control Pictures\n {begin: 0x2440, end: 0x245F}, // Optical Character Recognition\n {begin: 0x2460, end: 0x24FF}, // Enclosed Alphanumerics\n {begin: 0x2500, end: 0x257F}, // Box Drawing\n {begin: 0x2580, end: 0x259F}, // Block Elements\n {begin: 0x25A0, end: 0x25FF}, // Geometric Shapes\n {begin: 0x2600, end: 0x26FF}, // Miscellaneous Symbols\n {begin: 0x2700, end: 0x27BF}, // Dingbats\n {begin: 0x3000, end: 0x303F}, // CJK Symbols And Punctuation\n {begin: 0x3040, end: 0x309F}, // Hiragana\n {begin: 0x30A0, end: 0x30FF}, // Katakana\n {begin: 0x3100, end: 0x312F}, // Bopomofo\n {begin: 0x3130, end: 0x318F}, // Hangul Compatibility Jamo\n {begin: 0xA840, end: 0xA87F}, // Phags-pa\n {begin: 0x3200, end: 0x32FF}, // Enclosed CJK Letters And Months\n {begin: 0x3300, end: 0x33FF}, // CJK Compatibility\n {begin: 0xAC00, end: 0xD7AF}, // Hangul Syllables\n {begin: 0xD800, end: 0xDFFF}, // Non-Plane 0 *\n {begin: 0x10900, end: 0x1091F}, // Phoenicia\n {begin: 0x4E00, end: 0x9FFF}, // CJK Unified Ideographs\n {begin: 0xE000, end: 0xF8FF}, // Private Use Area (plane 0)\n {begin: 0x31C0, end: 0x31EF}, // CJK Strokes\n {begin: 0xFB00, end: 0xFB4F}, // Alphabetic Presentation Forms\n {begin: 0xFB50, end: 0xFDFF}, // Arabic Presentation Forms-A\n {begin: 0xFE20, end: 0xFE2F}, // Combining Half Marks\n {begin: 0xFE10, end: 0xFE1F}, // Vertical Forms\n {begin: 0xFE50, end: 0xFE6F}, // Small Form Variants\n {begin: 0xFE70, end: 0xFEFF}, // Arabic Presentation Forms-B\n {begin: 0xFF00, end: 0xFFEF}, // Halfwidth And Fullwidth Forms\n {begin: 0xFFF0, end: 0xFFFF}, // Specials\n {begin: 0x0F00, end: 0x0FFF}, // Tibetan\n {begin: 0x0700, end: 0x074F}, // Syriac\n {begin: 0x0780, end: 0x07BF}, // Thaana\n {begin: 0x0D80, end: 0x0DFF}, // Sinhala\n {begin: 0x1000, end: 0x109F}, // Myanmar\n {begin: 0x1200, end: 0x137F}, // Ethiopic\n {begin: 0x13A0, end: 0x13FF}, // Cherokee\n {begin: 0x1400, end: 0x167F}, // Unified Canadian Aboriginal Syllabics\n {begin: 0x1680, end: 0x169F}, // Ogham\n {begin: 0x16A0, end: 0x16FF}, // Runic\n {begin: 0x1780, end: 0x17FF}, // Khmer\n {begin: 0x1800, end: 0x18AF}, // Mongolian\n {begin: 0x2800, end: 0x28FF}, // Braille Patterns\n {begin: 0xA000, end: 0xA48F}, // Yi Syllables\n {begin: 0x1700, end: 0x171F}, // Tagalog\n {begin: 0x10300, end: 0x1032F}, // Old Italic\n {begin: 0x10330, end: 0x1034F}, // Gothic\n {begin: 0x10400, end: 0x1044F}, // Deseret\n {begin: 0x1D000, end: 0x1D0FF}, // Byzantine Musical Symbols\n {begin: 0x1D400, end: 0x1D7FF}, // Mathematical Alphanumeric Symbols\n {begin: 0xFF000, end: 0xFFFFD}, // Private Use (plane 15)\n {begin: 0xFE00, end: 0xFE0F}, // Variation Selectors\n {begin: 0xE0000, end: 0xE007F}, // Tags\n {begin: 0x1900, end: 0x194F}, // Limbu\n {begin: 0x1950, end: 0x197F}, // Tai Le\n {begin: 0x1980, end: 0x19DF}, // New Tai Lue\n {begin: 0x1A00, end: 0x1A1F}, // Buginese\n {begin: 0x2C00, end: 0x2C5F}, // Glagolitic\n {begin: 0x2D30, end: 0x2D7F}, // Tifinagh\n {begin: 0x4DC0, end: 0x4DFF}, // Yijing Hexagram Symbols\n {begin: 0xA800, end: 0xA82F}, // Syloti Nagri\n {begin: 0x10000, end: 0x1007F}, // Linear B Syllabary\n {begin: 0x10140, end: 0x1018F}, // Ancient Greek Numbers\n {begin: 0x10380, end: 0x1039F}, // Ugaritic\n {begin: 0x103A0, end: 0x103DF}, // Old Persian\n {begin: 0x10450, end: 0x1047F}, // Shavian\n {begin: 0x10480, end: 0x104AF}, // Osmanya\n {begin: 0x10800, end: 0x1083F}, // Cypriot Syllabary\n {begin: 0x10A00, end: 0x10A5F}, // Kharoshthi\n {begin: 0x1D300, end: 0x1D35F}, // Tai Xuan Jing Symbols\n {begin: 0x12000, end: 0x123FF}, // Cuneiform\n {begin: 0x1D360, end: 0x1D37F}, // Counting Rod Numerals\n {begin: 0x1B80, end: 0x1BBF}, // Sundanese\n {begin: 0x1C00, end: 0x1C4F}, // Lepcha\n {begin: 0x1C50, end: 0x1C7F}, // Ol Chiki\n {begin: 0xA880, end: 0xA8DF}, // Saurashtra\n {begin: 0xA900, end: 0xA92F}, // Kayah Li\n {begin: 0xA930, end: 0xA95F}, // Rejang\n {begin: 0xAA00, end: 0xAA5F}, // Cham\n {begin: 0x10190, end: 0x101CF}, // Ancient Symbols\n {begin: 0x101D0, end: 0x101FF}, // Phaistos Disc\n {begin: 0x102A0, end: 0x102DF}, // Carian\n {begin: 0x1F030, end: 0x1F09F} // Domino Tiles\n];\n\nfunction getUnicodeRange(unicode) {\n for (var i = 0; i < unicodeRanges.length; i += 1) {\n var range = unicodeRanges[i];\n if (unicode >= range.begin && unicode < range.end) {\n return i;\n }\n }\n\n return -1;\n}\n\n// Parse the OS/2 and Windows metrics `OS/2` table\nfunction parseOS2Table(data, start) {\n var os2 = {};\n var p = new parse.Parser(data, start);\n os2.version = p.parseUShort();\n os2.xAvgCharWidth = p.parseShort();\n os2.usWeightClass = p.parseUShort();\n os2.usWidthClass = p.parseUShort();\n os2.fsType = p.parseUShort();\n os2.ySubscriptXSize = p.parseShort();\n os2.ySubscriptYSize = p.parseShort();\n os2.ySubscriptXOffset = p.parseShort();\n os2.ySubscriptYOffset = p.parseShort();\n os2.ySuperscriptXSize = p.parseShort();\n os2.ySuperscriptYSize = p.parseShort();\n os2.ySuperscriptXOffset = p.parseShort();\n os2.ySuperscriptYOffset = p.parseShort();\n os2.yStrikeoutSize = p.parseShort();\n os2.yStrikeoutPosition = p.parseShort();\n os2.sFamilyClass = p.parseShort();\n os2.panose = [];\n for (var i = 0; i < 10; i++) {\n os2.panose[i] = p.parseByte();\n }\n\n os2.ulUnicodeRange1 = p.parseULong();\n os2.ulUnicodeRange2 = p.parseULong();\n os2.ulUnicodeRange3 = p.parseULong();\n os2.ulUnicodeRange4 = p.parseULong();\n os2.achVendID = String.fromCharCode(p.parseByte(), p.parseByte(), p.parseByte(), p.parseByte());\n os2.fsSelection = p.parseUShort();\n os2.usFirstCharIndex = p.parseUShort();\n os2.usLastCharIndex = p.parseUShort();\n os2.sTypoAscender = p.parseShort();\n os2.sTypoDescender = p.parseShort();\n os2.sTypoLineGap = p.parseShort();\n os2.usWinAscent = p.parseUShort();\n os2.usWinDescent = p.parseUShort();\n if (os2.version >= 1) {\n os2.ulCodePageRange1 = p.parseULong();\n os2.ulCodePageRange2 = p.parseULong();\n }\n\n if (os2.version >= 2) {\n os2.sxHeight = p.parseShort();\n os2.sCapHeight = p.parseShort();\n os2.usDefaultChar = p.parseUShort();\n os2.usBreakChar = p.parseUShort();\n os2.usMaxContent = p.parseUShort();\n }\n\n return os2;\n}\n\nfunction makeOS2Table(options) {\n return new table.Table('OS/2', [\n {name: 'version', type: 'USHORT', value: 0x0003},\n {name: 'xAvgCharWidth', type: 'SHORT', value: 0},\n {name: 'usWeightClass', type: 'USHORT', value: 0},\n {name: 'usWidthClass', type: 'USHORT', value: 0},\n {name: 'fsType', type: 'USHORT', value: 0},\n {name: 'ySubscriptXSize', type: 'SHORT', value: 650},\n {name: 'ySubscriptYSize', type: 'SHORT', value: 699},\n {name: 'ySubscriptXOffset', type: 'SHORT', value: 0},\n {name: 'ySubscriptYOffset', type: 'SHORT', value: 140},\n {name: 'ySuperscriptXSize', type: 'SHORT', value: 650},\n {name: 'ySuperscriptYSize', type: 'SHORT', value: 699},\n {name: 'ySuperscriptXOffset', type: 'SHORT', value: 0},\n {name: 'ySuperscriptYOffset', type: 'SHORT', value: 479},\n {name: 'yStrikeoutSize', type: 'SHORT', value: 49},\n {name: 'yStrikeoutPosition', type: 'SHORT', value: 258},\n {name: 'sFamilyClass', type: 'SHORT', value: 0},\n {name: 'bFamilyType', type: 'BYTE', value: 0},\n {name: 'bSerifStyle', type: 'BYTE', value: 0},\n {name: 'bWeight', type: 'BYTE', value: 0},\n {name: 'bProportion', type: 'BYTE', value: 0},\n {name: 'bContrast', type: 'BYTE', value: 0},\n {name: 'bStrokeVariation', type: 'BYTE', value: 0},\n {name: 'bArmStyle', type: 'BYTE', value: 0},\n {name: 'bLetterform', type: 'BYTE', value: 0},\n {name: 'bMidline', type: 'BYTE', value: 0},\n {name: 'bXHeight', type: 'BYTE', value: 0},\n {name: 'ulUnicodeRange1', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange2', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange3', type: 'ULONG', value: 0},\n {name: 'ulUnicodeRange4', type: 'ULONG', value: 0},\n {name: 'achVendID', type: 'CHARARRAY', value: 'XXXX'},\n {name: 'fsSelection', type: 'USHORT', value: 0},\n {name: 'usFirstCharIndex', type: 'USHORT', value: 0},\n {name: 'usLastCharIndex', type: 'USHORT', value: 0},\n {name: 'sTypoAscender', type: 'SHORT', value: 0},\n {name: 'sTypoDescender', type: 'SHORT', value: 0},\n {name: 'sTypoLineGap', type: 'SHORT', value: 0},\n {name: 'usWinAscent', type: 'USHORT', value: 0},\n {name: 'usWinDescent', type: 'USHORT', value: 0},\n {name: 'ulCodePageRange1', type: 'ULONG', value: 0},\n {name: 'ulCodePageRange2', type: 'ULONG', value: 0},\n {name: 'sxHeight', type: 'SHORT', value: 0},\n {name: 'sCapHeight', type: 'SHORT', value: 0},\n {name: 'usDefaultChar', type: 'USHORT', value: 0},\n {name: 'usBreakChar', type: 'USHORT', value: 0},\n {name: 'usMaxContext', type: 'USHORT', value: 0}\n ], options);\n}\n\nvar os2 = { parse: parseOS2Table, make: makeOS2Table, unicodeRanges: unicodeRanges, getUnicodeRange: getUnicodeRange };\n\n// The `post` table stores additional PostScript information, such as glyph names.\n\n// Parse the PostScript `post` table\nfunction parsePostTable(data, start) {\n var post = {};\n var p = new parse.Parser(data, start);\n post.version = p.parseVersion();\n post.italicAngle = p.parseFixed();\n post.underlinePosition = p.parseShort();\n post.underlineThickness = p.parseShort();\n post.isFixedPitch = p.parseULong();\n post.minMemType42 = p.parseULong();\n post.maxMemType42 = p.parseULong();\n post.minMemType1 = p.parseULong();\n post.maxMemType1 = p.parseULong();\n switch (post.version) {\n case 1:\n post.names = standardNames.slice();\n break;\n case 2:\n post.numberOfGlyphs = p.parseUShort();\n post.glyphNameIndex = new Array(post.numberOfGlyphs);\n for (var i = 0; i < post.numberOfGlyphs; i++) {\n post.glyphNameIndex[i] = p.parseUShort();\n }\n\n post.names = [];\n for (var i$1 = 0; i$1 < post.numberOfGlyphs; i$1++) {\n if (post.glyphNameIndex[i$1] >= standardNames.length) {\n var nameLength = p.parseChar();\n post.names.push(p.parseString(nameLength));\n }\n }\n\n break;\n case 2.5:\n post.numberOfGlyphs = p.parseUShort();\n post.offset = new Array(post.numberOfGlyphs);\n for (var i$2 = 0; i$2 < post.numberOfGlyphs; i$2++) {\n post.offset[i$2] = p.parseChar();\n }\n\n break;\n }\n return post;\n}\n\nfunction makePostTable() {\n return new table.Table('post', [\n {name: 'version', type: 'FIXED', value: 0x00030000},\n {name: 'italicAngle', type: 'FIXED', value: 0},\n {name: 'underlinePosition', type: 'FWORD', value: 0},\n {name: 'underlineThickness', type: 'FWORD', value: 0},\n {name: 'isFixedPitch', type: 'ULONG', value: 0},\n {name: 'minMemType42', type: 'ULONG', value: 0},\n {name: 'maxMemType42', type: 'ULONG', value: 0},\n {name: 'minMemType1', type: 'ULONG', value: 0},\n {name: 'maxMemType1', type: 'ULONG', value: 0}\n ]);\n}\n\nvar post = { parse: parsePostTable, make: makePostTable };\n\n// The `GSUB` table contains ligatures, among other things.\n\nvar subtableParsers = new Array(9); // subtableParsers[0] is unused\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#SS\nsubtableParsers[1] = function parseLookup1() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n deltaGlyphId: this.parseShort()\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n substitute: this.parseOffset16List()\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 1 format must be 1 or 2.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#MS\nsubtableParsers[2] = function parseLookup2() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Multiple Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n sequences: this.parseListOfLists()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#AS\nsubtableParsers[3] = function parseLookup3() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Alternate Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n alternateSets: this.parseListOfLists()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#LS\nsubtableParsers[4] = function parseLookup4() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB ligature table identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ligatureSets: this.parseListOfLists(function() {\n return {\n ligGlyph: this.parseUShort(),\n components: this.parseUShortList(this.parseUShort() - 1)\n };\n })\n };\n};\n\nvar lookupRecordDesc = {\n sequenceIndex: Parser.uShort,\n lookupListIndex: Parser.uShort\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#CSF\nsubtableParsers[5] = function parseLookup5() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n\n if (substFormat === 1) {\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n ruleSets: this.parseListOfLists(function() {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n input: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n classDef: this.parsePointer(Parser.classDef),\n classSets: this.parseListOfLists(function() {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n classes: this.parseUShortList(glyphCount - 1),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n var glyphCount = this.parseUShort();\n var substCount = this.parseUShort();\n return {\n substFormat: substFormat,\n coverages: this.parseList(glyphCount, Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(substCount, lookupRecordDesc)\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 5 format must be 1, 2 or 3.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#CC\nsubtableParsers[6] = function parseLookup6() {\n var start = this.offset + this.relativeOffset;\n var substFormat = this.parseUShort();\n if (substFormat === 1) {\n return {\n substFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n chainRuleSets: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 2) {\n return {\n substFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n backtrackClassDef: this.parsePointer(Parser.classDef),\n inputClassDef: this.parsePointer(Parser.classDef),\n lookaheadClassDef: this.parsePointer(Parser.classDef),\n chainClassSet: this.parseListOfLists(function() {\n return {\n backtrack: this.parseUShortList(),\n input: this.parseUShortList(this.parseShort() - 1),\n lookahead: this.parseUShortList(),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n })\n };\n } else if (substFormat === 3) {\n return {\n substFormat: 3,\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n inputCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookupRecords: this.parseRecordList(lookupRecordDesc)\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': lookup type 6 format must be 1, 2 or 3.');\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#ES\nsubtableParsers[7] = function parseLookup7() {\n // Extension Substitution subtable\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Extension Substitution subtable identifier-format must be 1');\n var extensionLookupType = this.parseUShort();\n var extensionParser = new Parser(this.data, this.offset + this.parseULong());\n return {\n substFormat: 1,\n lookupType: extensionLookupType,\n extension: subtableParsers[extensionLookupType].call(extensionParser)\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/GSUB.htm#RCCS\nsubtableParsers[8] = function parseLookup8() {\n var substFormat = this.parseUShort();\n check.argument(substFormat === 1, 'GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1');\n return {\n substFormat: substFormat,\n coverage: this.parsePointer(Parser.coverage),\n backtrackCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n lookaheadCoverage: this.parseList(Parser.pointer(Parser.coverage)),\n substitutes: this.parseUShortList()\n };\n};\n\n// https://www.microsoft.com/typography/OTSPEC/gsub.htm\nfunction parseGsubTable(data, start) {\n start = start || 0;\n var p = new Parser(data, start);\n var tableVersion = p.parseVersion(1);\n check.argument(tableVersion === 1 || tableVersion === 1.1, 'Unsupported GSUB table version.');\n var table;\n if (tableVersion === 1) {\n table = {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers)\n };\n } else {\n table = {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers),\n variations: p.parseFeatureVariationsList()\n };\n }\n\n table.features.forEach(function (f) {\n // Match `ss01` to `ss20`\n if (f.tag.match(/ss(?:0[1-9]|1\\d|20)/)) {\n var p = new Parser(data, f.feature.tableOffset);\n f.feature.featureParamsTable = p.parseStylisticSetFeatureParams();\n }\n // Match `cv01` to `cv99`\n else if (f.tag.match(/cv(?:0[1-9]|[1-9]\\d)/)) {\n var p$1 = new Parser(data, f.feature.tableOffset);\n f.feature.featureParamsTable = p$1.parseCharacterVariantFeatureParams();\n }\n delete f.feature.tableOffset;\n });\n return table;\n\n}\n\n// GSUB Writing //////////////////////////////////////////////\nvar subtableMakers = new Array(9);\n\nsubtableMakers[1] = function makeLookup1(subtable) {\n if (subtable.substFormat === 1) {\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)},\n {name: 'deltaGlyphID', type: 'SHORT', value: subtable.deltaGlyphId}\n ]);\n } else {\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 2},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.ushortList('substitute', subtable.substitute)));\n }\n};\n\nsubtableMakers[2] = function makeLookup2(subtable) {\n check.assert(subtable.substFormat === 1, 'Lookup type 2 substFormat must be 1.');\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('seqSet', subtable.sequences, function(sequenceSet) {\n return new table.Table('sequenceSetTable', table.ushortList('sequence', sequenceSet));\n })));\n};\n\nsubtableMakers[3] = function makeLookup3(subtable) {\n check.assert(subtable.substFormat === 1, 'Lookup type 3 substFormat must be 1.');\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('altSet', subtable.alternateSets, function(alternateSet) {\n return new table.Table('alternateSetTable', table.ushortList('alternate', alternateSet));\n })));\n};\n\nsubtableMakers[4] = function makeLookup4(subtable) {\n check.assert(subtable.substFormat === 1, 'Lookup type 4 substFormat must be 1.');\n return new table.Table('substitutionTable', [\n {name: 'substFormat', type: 'USHORT', value: 1},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('ligSet', subtable.ligatureSets, function(ligatureSet) {\n return new table.Table('ligatureSetTable', table.tableList('ligature', ligatureSet, function(ligature) {\n return new table.Table('ligatureTable',\n [{name: 'ligGlyph', type: 'USHORT', value: ligature.ligGlyph}]\n .concat(table.ushortList('component', ligature.components, ligature.components.length + 1))\n );\n }));\n })));\n};\n\nsubtableMakers[6] = function makeLookup6(subtable) {\n if (subtable.substFormat === 1) {\n var returnTable = new table.Table('chainContextTable', [\n {name: 'substFormat', type: 'USHORT', value: subtable.substFormat},\n {name: 'coverage', type: 'TABLE', value: new table.Coverage(subtable.coverage)}\n ].concat(table.tableList('chainRuleSet', subtable.chainRuleSets, function(chainRuleSet) {\n return new table.Table('chainRuleSetTable', table.tableList('chainRule', chainRuleSet, function(chainRule) {\n var tableData = table.ushortList('backtrackGlyph', chainRule.backtrack, chainRule.backtrack.length)\n .concat(table.ushortList('inputGlyph', chainRule.input, chainRule.input.length + 1))\n .concat(table.ushortList('lookaheadGlyph', chainRule.lookahead, chainRule.lookahead.length))\n .concat(table.ushortList('substitution', [], chainRule.lookupRecords.length));\n\n chainRule.lookupRecords.forEach(function (record, i) {\n tableData = tableData\n .concat({name: 'sequenceIndex' + i, type: 'USHORT', value: record.sequenceIndex})\n .concat({name: 'lookupListIndex' + i, type: 'USHORT', value: record.lookupListIndex});\n });\n return new table.Table('chainRuleTable', tableData);\n }));\n })));\n return returnTable;\n } else if (subtable.substFormat === 2) {\n check.assert(false, 'lookup type 6 format 2 is not yet supported.');\n } else if (subtable.substFormat === 3) {\n var tableData = [\n {name: 'substFormat', type: 'USHORT', value: subtable.substFormat} ];\n\n tableData.push({name: 'backtrackGlyphCount', type: 'USHORT', value: subtable.backtrackCoverage.length});\n subtable.backtrackCoverage.forEach(function (coverage, i) {\n tableData.push({name: 'backtrackCoverage' + i, type: 'TABLE', value: new table.Coverage(coverage)});\n });\n tableData.push({name: 'inputGlyphCount', type: 'USHORT', value: subtable.inputCoverage.length});\n subtable.inputCoverage.forEach(function (coverage, i) {\n tableData.push({name: 'inputCoverage' + i, type: 'TABLE', value: new table.Coverage(coverage)});\n });\n tableData.push({name: 'lookaheadGlyphCount', type: 'USHORT', value: subtable.lookaheadCoverage.length});\n subtable.lookaheadCoverage.forEach(function (coverage, i) {\n tableData.push({name: 'lookaheadCoverage' + i, type: 'TABLE', value: new table.Coverage(coverage)});\n });\n\n tableData.push({name: 'substitutionCount', type: 'USHORT', value: subtable.lookupRecords.length});\n subtable.lookupRecords.forEach(function (record, i) {\n tableData = tableData\n .concat({name: 'sequenceIndex' + i, type: 'USHORT', value: record.sequenceIndex})\n .concat({name: 'lookupListIndex' + i, type: 'USHORT', value: record.lookupListIndex});\n });\n\n var returnTable$1 = new table.Table('chainContextTable', tableData);\n\n return returnTable$1;\n }\n\n check.assert(false, 'lookup type 6 format must be 1, 2 or 3.');\n};\n\nfunction makeGsubTable(gsub) {\n return new table.Table('GSUB', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'scripts', type: 'TABLE', value: new table.ScriptList(gsub.scripts)},\n {name: 'features', type: 'TABLE', value: new table.FeatureList(gsub.features)},\n {name: 'lookups', type: 'TABLE', value: new table.LookupList(gsub.lookups, subtableMakers)}\n ]);\n}\n\nvar gsub = { parse: parseGsubTable, make: makeGsubTable };\n\n// The `GPOS` table contains kerning pairs, among other things.\n\n// Parse the metadata `meta` table.\n// https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6meta.html\nfunction parseMetaTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 1, 'Unsupported META table version.');\n p.parseULong(); // flags - currently unused and set to 0\n p.parseULong(); // tableOffset\n var numDataMaps = p.parseULong();\n\n var tags = {};\n for (var i = 0; i < numDataMaps; i++) {\n var tag = p.parseTag();\n var dataOffset = p.parseULong();\n var dataLength = p.parseULong();\n if (tag === 'appl' || tag === 'bild')\n { continue; }\n var text = decode.UTF8(data, start + dataOffset, dataLength);\n\n tags[tag] = text;\n }\n return tags;\n}\n\nfunction makeMetaTable(tags) {\n var numTags = Object.keys(tags).length;\n var stringPool = '';\n var stringPoolOffset = 16 + numTags * 12;\n\n var result = new table.Table('meta', [\n {name: 'version', type: 'ULONG', value: 1},\n {name: 'flags', type: 'ULONG', value: 0},\n {name: 'offset', type: 'ULONG', value: stringPoolOffset},\n {name: 'numTags', type: 'ULONG', value: numTags}\n ]);\n\n for (var tag in tags) {\n var pos = stringPool.length;\n stringPool += tags[tag];\n\n result.fields.push({name: 'tag ' + tag, type: 'TAG', value: tag});\n result.fields.push({name: 'offset ' + tag, type: 'ULONG', value: stringPoolOffset + pos});\n result.fields.push({name: 'length ' + tag, type: 'ULONG', value: tags[tag].length});\n }\n\n result.fields.push({name: 'stringPool', type: 'CHARARRAY', value: stringPool});\n\n return result;\n}\n\nvar meta = { parse: parseMetaTable, make: makeMetaTable };\n\n// The `COLR` table adds support for multi-colored glyphs\n\nfunction parseColrTable(data, start) {\n var p = new Parser(data, start);\n var version = p.parseUShort();\n check.argument(version === 0x0000, 'Only COLRv0 supported.');\n var numBaseGlyphRecords = p.parseUShort();\n var baseGlyphRecordsOffset = p.parseOffset32();\n var layerRecordsOffset = p.parseOffset32();\n var numLayerRecords = p.parseUShort();\n p.relativeOffset = baseGlyphRecordsOffset;\n var baseGlyphRecords = p.parseRecordList(numBaseGlyphRecords, {\n glyphID: Parser.uShort,\n firstLayerIndex: Parser.uShort,\n numLayers: Parser.uShort,\n });\n p.relativeOffset = layerRecordsOffset;\n var layerRecords = p.parseRecordList(numLayerRecords, {\n glyphID: Parser.uShort,\n paletteIndex: Parser.uShort\n });\n\n return {\n version: version,\n baseGlyphRecords: baseGlyphRecords,\n layerRecords: layerRecords,\n };\n}\n\nfunction makeColrTable(ref) {\n var version = ref.version; if ( version === void 0 ) version = 0x0000;\n var baseGlyphRecords = ref.baseGlyphRecords; if ( baseGlyphRecords === void 0 ) baseGlyphRecords = [];\n var layerRecords = ref.layerRecords; if ( layerRecords === void 0 ) layerRecords = [];\n\n check.argument(version === 0x0000, 'Only COLRv0 supported.');\n var baseGlyphRecordsOffset = 14;\n var layerRecordsOffset = baseGlyphRecordsOffset + (baseGlyphRecords.length * 6);\n return new table.Table('COLR', [\n { name: 'version', type: 'USHORT', value: version },\n { name: 'numBaseGlyphRecords', type: 'USHORT', value: baseGlyphRecords.length },\n { name: 'baseGlyphRecordsOffset', type: 'ULONG', value: baseGlyphRecordsOffset },\n { name: 'layerRecordsOffset', type: 'ULONG', value: layerRecordsOffset },\n { name: 'numLayerRecords', type: 'USHORT', value: layerRecords.length } ].concat( baseGlyphRecords.map(function (glyph, i) { return [\n { name: 'glyphID_' + i, type: 'USHORT', value: glyph.glyphID },\n { name: 'firstLayerIndex_' + i, type: 'USHORT', value: glyph.firstLayerIndex },\n { name: 'numLayers_' + i, type: 'USHORT', value: glyph.numLayers } ]; }).flat(),\n layerRecords.map(function (layer, i) { return [\n { name: 'LayerGlyphID_' + i, type: 'USHORT', value: layer.glyphID },\n { name: 'paletteIndex_' + i, type: 'USHORT', value: layer.paletteIndex } ]; }).flat() ));\n}\n\nvar colr = { parse: parseColrTable, make: makeColrTable };\n\n// The `CPAL` define a contiguous list of colors (colorRecords)\n\n// Parse the header `head` table\nfunction parseCpalTable(data, start) {\n var p = new Parser(data, start);\n var version = p.parseShort();\n var numPaletteEntries = p.parseShort();\n var numPalettes = p.parseShort();\n var numColorRecords = p.parseShort();\n var colorRecordsArrayOffset = p.parseOffset32();\n var colorRecordIndices = p.parseUShortList(numPalettes);\n p.relativeOffset = colorRecordsArrayOffset;\n var colorRecords = p.parseULongList(numColorRecords);\n return {\n version: version,\n numPaletteEntries: numPaletteEntries,\n colorRecords: colorRecords,\n colorRecordIndices: colorRecordIndices,\n };\n}\n\nfunction makeCpalTable(ref) {\n var version = ref.version; if ( version === void 0 ) version = 0;\n var numPaletteEntries = ref.numPaletteEntries; if ( numPaletteEntries === void 0 ) numPaletteEntries = 0;\n var colorRecords = ref.colorRecords; if ( colorRecords === void 0 ) colorRecords = [];\n var colorRecordIndices = ref.colorRecordIndices; if ( colorRecordIndices === void 0 ) colorRecordIndices = [0];\n\n check.argument(version === 0, 'Only CPALv0 are supported.');\n check.argument(colorRecords.length, 'No colorRecords given.');\n check.argument(colorRecordIndices.length, 'No colorRecordIndices given.');\n if (colorRecordIndices.length > 1) {\n check.argument(numPaletteEntries, 'Can\\'t infer numPaletteEntries on multiple colorRecordIndices');\n }\n return new table.Table('CPAL', [\n { name: 'version', type: 'USHORT', value: version },\n { name: 'numPaletteEntries', type: 'USHORT', value: numPaletteEntries || colorRecords.length },\n { name: 'numPalettes', type: 'USHORT', value: colorRecordIndices.length },\n { name: 'numColorRecords', type: 'USHORT', value: colorRecords.length },\n { name: 'colorRecordsArrayOffset', type: 'ULONG', value: 12 + 2 * colorRecordIndices.length } ].concat( colorRecordIndices.map(function (palette, i) { return ({ name: 'colorRecordIndices_' + i, type: 'USHORT', value: palette }); }),\n colorRecords.map(function (color, i) { return ({ name: 'colorRecords_' + i, type: 'ULONG', value: color }); }) ));\n}\n\nvar cpal = { parse: parseCpalTable, make: makeCpalTable };\n\n// The `sfnt` wrapper provides organization for the tables in the font.\n\nfunction log2(v) {\n return Math.log(v) / Math.log(2) | 0;\n}\n\nfunction computeCheckSum(bytes) {\n while (bytes.length % 4 !== 0) {\n bytes.push(0);\n }\n\n var sum = 0;\n for (var i = 0; i < bytes.length; i += 4) {\n sum += (bytes[i] << 24) +\n (bytes[i + 1] << 16) +\n (bytes[i + 2] << 8) +\n (bytes[i + 3]);\n }\n\n sum %= Math.pow(2, 32);\n return sum;\n}\n\nfunction makeTableRecord(tag, checkSum, offset, length) {\n return new table.Record('Table Record', [\n {name: 'tag', type: 'TAG', value: tag !== undefined ? tag : ''},\n {name: 'checkSum', type: 'ULONG', value: checkSum !== undefined ? checkSum : 0},\n {name: 'offset', type: 'ULONG', value: offset !== undefined ? offset : 0},\n {name: 'length', type: 'ULONG', value: length !== undefined ? length : 0}\n ]);\n}\n\nfunction makeSfntTable(tables) {\n var sfnt = new table.Table('sfnt', [\n {name: 'version', type: 'TAG', value: 'OTTO'},\n {name: 'numTables', type: 'USHORT', value: 0},\n {name: 'searchRange', type: 'USHORT', value: 0},\n {name: 'entrySelector', type: 'USHORT', value: 0},\n {name: 'rangeShift', type: 'USHORT', value: 0}\n ]);\n sfnt.tables = tables;\n sfnt.numTables = tables.length;\n var highestPowerOf2 = Math.pow(2, log2(sfnt.numTables));\n sfnt.searchRange = 16 * highestPowerOf2;\n sfnt.entrySelector = log2(highestPowerOf2);\n sfnt.rangeShift = sfnt.numTables * 16 - sfnt.searchRange;\n\n var recordFields = [];\n var tableFields = [];\n\n var offset = sfnt.sizeOf() + (makeTableRecord().sizeOf() * sfnt.numTables);\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({name: 'padding', type: 'BYTE', value: 0});\n }\n\n for (var i = 0; i < tables.length; i += 1) {\n var t = tables[i];\n check.argument(t.tableName.length === 4, 'Table name' + t.tableName + ' is invalid.');\n var tableLength = t.sizeOf();\n var tableRecord = makeTableRecord(t.tableName, computeCheckSum(t.encode()), offset, tableLength);\n recordFields.push({name: tableRecord.tag + ' Table Record', type: 'RECORD', value: tableRecord});\n tableFields.push({name: t.tableName + ' table', type: 'RECORD', value: t});\n offset += tableLength;\n check.argument(!isNaN(offset), 'Something went wrong calculating the offset.');\n while (offset % 4 !== 0) {\n offset += 1;\n tableFields.push({name: 'padding', type: 'BYTE', value: 0});\n }\n }\n\n // Table records need to be sorted alphabetically.\n recordFields.sort(function(r1, r2) {\n if (r1.value.tag > r2.value.tag) {\n return 1;\n } else {\n return -1;\n }\n });\n\n sfnt.fields = sfnt.fields.concat(recordFields);\n sfnt.fields = sfnt.fields.concat(tableFields);\n return sfnt;\n}\n\n// Get the metrics for a character. If the string has more than one character\n// this function returns metrics for the first available character.\n// You can provide optional fallback metrics if no characters are available.\nfunction metricsForChar(font, chars, notFoundMetrics) {\n for (var i = 0; i < chars.length; i += 1) {\n var glyphIndex = font.charToGlyphIndex(chars[i]);\n if (glyphIndex > 0) {\n var glyph = font.glyphs.get(glyphIndex);\n return glyph.getMetrics();\n }\n }\n\n return notFoundMetrics;\n}\n\nfunction average(vs) {\n var sum = 0;\n for (var i = 0; i < vs.length; i += 1) {\n sum += vs[i];\n }\n\n return sum / vs.length;\n}\n\n// Convert the font object to a SFNT data structure.\n// This structure contains all the necessary tables and metadata to create a binary OTF file.\nfunction fontToSfntTable(font) {\n var xMins = [];\n var yMins = [];\n var xMaxs = [];\n var yMaxs = [];\n var advanceWidths = [];\n var leftSideBearings = [];\n var rightSideBearings = [];\n var firstCharIndex;\n var lastCharIndex = 0;\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n\n for (var i = 0; i < font.glyphs.length; i += 1) {\n var glyph = font.glyphs.get(i);\n var unicode = glyph.unicode | 0;\n\n if (isNaN(glyph.advanceWidth)) {\n throw new Error('Glyph ' + glyph.name + ' (' + i + '): advanceWidth is not a number.');\n }\n\n if (firstCharIndex > unicode || firstCharIndex === undefined) {\n // ignore .notdef char\n if (unicode > 0) {\n firstCharIndex = unicode;\n }\n }\n\n if (lastCharIndex < unicode) {\n lastCharIndex = unicode;\n }\n\n var position = os2.getUnicodeRange(unicode);\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new Error('Unicode ranges bits > 123 are reserved for internal usage');\n }\n // Skip non-important characters.\n if (glyph.name === '.notdef') { continue; }\n var metrics = glyph.getMetrics();\n xMins.push(metrics.xMin);\n yMins.push(metrics.yMin);\n xMaxs.push(metrics.xMax);\n yMaxs.push(metrics.yMax);\n leftSideBearings.push(metrics.leftSideBearing);\n rightSideBearings.push(metrics.rightSideBearing);\n advanceWidths.push(glyph.advanceWidth);\n }\n\n var globals = {\n xMin: Math.min.apply(null, xMins),\n yMin: Math.min.apply(null, yMins),\n xMax: Math.max.apply(null, xMaxs),\n yMax: Math.max.apply(null, yMaxs),\n advanceWidthMax: Math.max.apply(null, advanceWidths),\n advanceWidthAvg: average(advanceWidths),\n minLeftSideBearing: Math.min.apply(null, leftSideBearings),\n maxLeftSideBearing: Math.max.apply(null, leftSideBearings),\n minRightSideBearing: Math.min.apply(null, rightSideBearings)\n };\n globals.ascender = font.ascender;\n globals.descender = font.descender;\n\n var headTable = head.make({\n flags: 3, // 00000011 (baseline for font at y=0; left sidebearing point at x=0)\n unitsPerEm: font.unitsPerEm,\n xMin: globals.xMin,\n yMin: globals.yMin,\n xMax: globals.xMax,\n yMax: globals.yMax,\n lowestRecPPEM: 3,\n createdTimestamp: font.createdTimestamp\n });\n\n var hheaTable = hhea.make({\n ascender: globals.ascender,\n descender: globals.descender,\n advanceWidthMax: globals.advanceWidthMax,\n minLeftSideBearing: globals.minLeftSideBearing,\n minRightSideBearing: globals.minRightSideBearing,\n xMaxExtent: globals.maxLeftSideBearing + (globals.xMax - globals.xMin),\n numberOfHMetrics: font.glyphs.length\n });\n\n var maxpTable = maxp.make(font.glyphs.length);\n\n var os2Table = os2.make(Object.assign({\n xAvgCharWidth: Math.round(globals.advanceWidthAvg),\n usFirstCharIndex: firstCharIndex,\n usLastCharIndex: lastCharIndex,\n ulUnicodeRange1: ulUnicodeRange1,\n ulUnicodeRange2: ulUnicodeRange2,\n ulUnicodeRange3: ulUnicodeRange3,\n ulUnicodeRange4: ulUnicodeRange4,\n // See http://typophile.com/node/13081 for more info on vertical metrics.\n // We get metrics for typical characters (such as \"x\" for xHeight).\n // We provide some fallback characters if characters are unavailable: their\n // ordering was chosen experimentally.\n sTypoAscender: globals.ascender,\n sTypoDescender: globals.descender,\n sTypoLineGap: 0,\n usWinAscent: globals.yMax,\n usWinDescent: Math.abs(globals.yMin),\n ulCodePageRange1: 1, // FIXME: hard-code Latin 1 support for now\n sxHeight: metricsForChar(font, 'xyvw', {yMax: Math.round(globals.ascender / 2)}).yMax,\n sCapHeight: metricsForChar(font, 'HIKLEFJMNTZBDPRAGOQSUVWXY', globals).yMax,\n usDefaultChar: font.hasChar(' ') ? 32 : 0, // Use space as the default character, if available.\n usBreakChar: font.hasChar(' ') ? 32 : 0, // Use space as the break character, if available.\n }, font.tables.os2));\n\n var hmtxTable = hmtx.make(font.glyphs);\n var cmapTable = cmap.make(font.glyphs);\n\n var englishFamilyName = font.getEnglishName('fontFamily');\n var englishStyleName = font.getEnglishName('fontSubfamily');\n var englishFullName = englishFamilyName + ' ' + englishStyleName;\n var postScriptName = font.getEnglishName('postScriptName');\n if (!postScriptName) {\n postScriptName = englishFamilyName.replace(/\\s/g, '') + '-' + englishStyleName;\n }\n\n var names = {};\n for (var n in font.names) {\n names[n] = font.names[n];\n }\n\n names.unicode = names.unicode || {};\n names.macintosh = names.macintosh || {};\n names.windows = names.windows || {};\n\n var fontNamesUnicode = font.names.unicode || {};\n var fontNamesMacintosh = font.names.macintosh || {};\n var fontNamesWindows = font.names.windows || {};\n\n // do this as a loop to reduce redundant code\n for (var platform in ['unicode', 'macintosh', 'windows']) {\n\n names[platform] = names[platform] || {};\n\n if (!names[platform].uniqueID) {\n names.unicode.uniqueID = {en: font.getEnglishName('manufacturer') + ':' + englishFullName};\n }\n\n if (!names[platform].postScriptName) {\n names.unicode.postScriptName = {en: postScriptName};\n }\n }\n\n // this cannot be done as a loop as each one is unique.\n if (!names.unicode.preferredFamily) {\n names.unicode.preferredFamily = fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily || fontNamesWindows.fontFamily;\n }\n\n if (!names.macintosh.preferredFamily) {\n names.macintosh.preferredFamily = fontNamesMacintosh.fontFamily || fontNamesUnicode.fontFamily || fontNamesWindows.fontFamily;\n }\n\n if (!names.windows.preferredFamily) {\n names.windows.preferredFamily = fontNamesWindows.fontFamily || fontNamesUnicode.fontFamily || fontNamesMacintosh.fontFamily;\n }\n\n if (!names.unicode.preferredSubfamily) {\n names.unicode.preferredSubfamily = fontNamesUnicode.fontSubFamily || fontNamesMacintosh.fontSubFamily || fontNamesWindows.fontSubFamily;\n }\n\n if (!names.macintosh.preferredSubfamily) {\n names.macintosh.preferredSubfamily = fontNamesMacintosh.fontSubFamily || fontNamesUnicode.fontSubFamily || fontNamesWindows.fontSubFamily;\n }\n\n if (!names.windows.preferredSubfamily) {\n names.windows.preferredSubfamily = fontNamesWindows.fontSubFamily || fontNamesUnicode.fontSubFamily || fontNamesMacintosh.fontSubFamily;\n }\n\n var languageTags = [];\n var nameTable = _name.make(names, languageTags);\n var ltagTable = (languageTags.length > 0 ? ltag.make(languageTags) : undefined);\n\n var postTable = post.make();\n var cffTable = cff.make(font.glyphs, {\n version: font.getEnglishName('version'),\n fullName: englishFullName,\n familyName: englishFamilyName,\n weightName: englishStyleName,\n postScriptName: postScriptName,\n unitsPerEm: font.unitsPerEm,\n fontBBox: [0, globals.yMin, globals.ascender, globals.advanceWidthMax]\n });\n\n var metaTable = (font.metas && Object.keys(font.metas).length > 0) ? meta.make(font.metas) : undefined;\n\n // The order does not matter because makeSfntTable() will sort them.\n var tables = [headTable, hheaTable, maxpTable, os2Table, nameTable, cmapTable, postTable, cffTable, hmtxTable];\n if (ltagTable) {\n tables.push(ltagTable);\n }\n // Optional tables\n if (font.tables.gsub) {\n tables.push(gsub.make(font.tables.gsub));\n }\n if (font.tables.cpal) {\n tables.push(cpal.make(font.tables.cpal));\n }\n if (font.tables.colr) {\n tables.push(colr.make(font.tables.colr));\n }\n if (metaTable) {\n tables.push(metaTable);\n }\n\n var sfntTable = makeSfntTable(tables);\n\n // Compute the font's checkSum and store it in head.checkSumAdjustment.\n var bytes = sfntTable.encode();\n var checkSum = computeCheckSum(bytes);\n var tableFields = sfntTable.fields;\n var checkSumAdjusted = false;\n for (var i$1 = 0; i$1 < tableFields.length; i$1 += 1) {\n if (tableFields[i$1].name === 'head table') {\n tableFields[i$1].value.checkSumAdjustment = 0xB1B0AFBA - checkSum;\n checkSumAdjusted = true;\n break;\n }\n }\n\n if (!checkSumAdjusted) {\n throw new Error('Could not find head table with checkSum to adjust.');\n }\n\n return sfntTable;\n}\n\nvar sfnt = { make: makeSfntTable, fontToTable: fontToSfntTable, computeCheckSum: computeCheckSum };\n\n// The Layout object is the prototype of Substitution objects, and provides\n\nfunction searchTag(arr, tag) {\n /* jshint bitwise: false */\n var imin = 0;\n var imax = arr.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n var val = arr[imid].tag;\n if (val === tag) {\n return imid;\n } else if (val < tag) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n // Not found: return -1-insertion point\n return -imin - 1;\n}\n\nfunction binSearch(arr, value) {\n /* jshint bitwise: false */\n var imin = 0;\n var imax = arr.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n var val = arr[imid];\n if (val === value) {\n return imid;\n } else if (val < value) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n // Not found: return -1-insertion point\n return -imin - 1;\n}\n\n// binary search in a list of ranges (coverage, class definition)\nfunction searchRange(ranges, value) {\n // jshint bitwise: false\n var range;\n var imin = 0;\n var imax = ranges.length - 1;\n while (imin <= imax) {\n var imid = (imin + imax) >>> 1;\n range = ranges[imid];\n var start = range.start;\n if (start === value) {\n return range;\n } else if (start < value) {\n imin = imid + 1;\n } else { imax = imid - 1; }\n }\n if (imin > 0) {\n range = ranges[imin - 1];\n if (value > range.end) { return 0; }\n return range;\n }\n}\n\n/**\n * @exports opentype.Layout\n * @class\n */\nfunction Layout(font, tableName) {\n this.font = font;\n this.tableName = tableName;\n}\n\nLayout.prototype = {\n\n /**\n * Binary search an object by \"tag\" property\n * @instance\n * @function searchTag\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {string} tag\n * @return {number}\n */\n searchTag: searchTag,\n\n /**\n * Binary search in a list of numbers\n * @instance\n * @function binSearch\n * @memberof opentype.Layout\n * @param {Array} arr\n * @param {number} value\n * @return {number}\n */\n binSearch: binSearch,\n\n /**\n * Get or create the Layout table (GSUB, GPOS etc).\n * @param {boolean} create - Whether to create a new one.\n * @return {Object} The GSUB or GPOS table.\n */\n getTable: function(create) {\n var layout = this.font.tables[this.tableName];\n if (!layout && create) {\n layout = this.font.tables[this.tableName] = this.createDefaultTable();\n }\n return layout;\n },\n\n /**\n * Returns all scripts in the substitution table.\n * @instance\n * @return {Array}\n */\n getScriptNames: function() {\n var layout = this.getTable();\n if (!layout) { return []; }\n return layout.scripts.map(function(script) {\n return script.tag;\n });\n },\n\n /**\n * Returns the best bet for a script name.\n * Returns 'DFLT' if it exists.\n * If not, returns 'latn' if it exists.\n * If neither exist, returns undefined.\n */\n getDefaultScriptName: function() {\n var layout = this.getTable();\n if (!layout) { return; }\n var hasLatn = false;\n for (var i = 0; i < layout.scripts.length; i++) {\n var name = layout.scripts[i].tag;\n if (name === 'DFLT') { return name; }\n if (name === 'latn') { hasLatn = true; }\n }\n if (hasLatn) { return 'latn'; }\n },\n\n /**\n * Returns all LangSysRecords in the given script.\n * @instance\n * @param {string} [script='DFLT']\n * @param {boolean} create - forces the creation of this script table if it doesn't exist.\n * @return {Object} An object with tag and script properties.\n */\n getScriptTable: function(script, create) {\n var layout = this.getTable(create);\n if (layout) {\n script = script || 'DFLT';\n var scripts = layout.scripts;\n var pos = searchTag(layout.scripts, script);\n if (pos >= 0) {\n return scripts[pos].script;\n } else if (create) {\n var scr = {\n tag: script,\n script: {\n defaultLangSys: {reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: []},\n langSysRecords: []\n }\n };\n scripts.splice(-1 - pos, 0, scr);\n return scr.script;\n }\n }\n },\n\n /**\n * Returns a language system table\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {boolean} create - forces the creation of this langSysTable if it doesn't exist.\n * @return {Object}\n */\n getLangSysTable: function(script, language, create) {\n var scriptTable = this.getScriptTable(script, create);\n if (scriptTable) {\n if (!language || language === 'dflt' || language === 'DFLT') {\n return scriptTable.defaultLangSys;\n }\n var pos = searchTag(scriptTable.langSysRecords, language);\n if (pos >= 0) {\n return scriptTable.langSysRecords[pos].langSys;\n } else if (create) {\n var langSysRecord = {\n tag: language,\n langSys: {reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: []}\n };\n scriptTable.langSysRecords.splice(-1 - pos, 0, langSysRecord);\n return langSysRecord.langSys;\n }\n }\n },\n\n /**\n * Get a specific feature table.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - One of the codes listed at https://www.microsoft.com/typography/OTSPEC/featurelist.htm\n * @param {boolean} create - forces the creation of the feature table if it doesn't exist.\n * @return {Object}\n */\n getFeatureTable: function(script, language, feature, create) {\n var langSysTable = this.getLangSysTable(script, language, create);\n if (langSysTable) {\n var featureRecord;\n var featIndexes = langSysTable.featureIndexes;\n var allFeatures = this.font.tables[this.tableName].features;\n // The FeatureIndex array of indices is in arbitrary order,\n // even if allFeatures is sorted alphabetically by feature tag.\n for (var i = 0; i < featIndexes.length; i++) {\n featureRecord = allFeatures[featIndexes[i]];\n if (featureRecord.tag === feature) {\n return featureRecord.feature;\n }\n }\n if (create) {\n var index = allFeatures.length;\n // Automatic ordering of features would require to shift feature indexes in the script list.\n check.assert(index === 0 || feature >= allFeatures[index - 1].tag, 'Features must be added in alphabetical order.');\n featureRecord = {\n tag: feature,\n feature: { params: 0, lookupListIndexes: [] }\n };\n allFeatures.push(featureRecord);\n featIndexes.push(index);\n return featureRecord.feature;\n }\n }\n },\n\n /**\n * Get the lookup tables of a given type for a script/language/feature.\n * @instance\n * @param {string} [script='DFLT']\n * @param {string} [language='dlft']\n * @param {string} feature - 4-letter feature code\n * @param {number} lookupType - 1 to 9\n * @param {boolean} create - forces the creation of the lookup table if it doesn't exist, with no subtables.\n * @return {Object[]}\n */\n getLookupTables: function(script, language, feature, lookupType, create) {\n var featureTable = this.getFeatureTable(script, language, feature, create);\n var tables = [];\n if (featureTable) {\n var lookupTable;\n var lookupListIndexes = featureTable.lookupListIndexes;\n var allLookups = this.font.tables[this.tableName].lookups;\n // lookupListIndexes are in no particular order, so use naive search.\n for (var i = 0; i < lookupListIndexes.length; i++) {\n lookupTable = allLookups[lookupListIndexes[i]];\n if (lookupTable.lookupType === lookupType) {\n tables.push(lookupTable);\n }\n }\n if (tables.length === 0 && create) {\n lookupTable = {\n lookupType: lookupType,\n lookupFlag: 0,\n subtables: [],\n markFilteringSet: undefined\n };\n var index = allLookups.length;\n allLookups.push(lookupTable);\n lookupListIndexes.push(index);\n return [lookupTable];\n }\n }\n return tables;\n },\n\n /**\n * Find a glyph in a class definition table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#class-definition-table\n * @param {object} classDefTable - an OpenType Layout class definition table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getGlyphClass: function(classDefTable, glyphIndex) {\n switch (classDefTable.format) {\n case 1:\n if (classDefTable.startGlyph <= glyphIndex && glyphIndex < classDefTable.startGlyph + classDefTable.classes.length) {\n return classDefTable.classes[glyphIndex - classDefTable.startGlyph];\n }\n return 0;\n case 2:\n var range = searchRange(classDefTable.ranges, glyphIndex);\n return range ? range.classId : 0;\n }\n },\n\n /**\n * Find a glyph in a coverage table\n * https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2#coverage-table\n * @param {object} coverageTable - an OpenType Layout coverage table\n * @param {number} glyphIndex - the index of the glyph to find\n * @returns {number} -1 if not found\n */\n getCoverageIndex: function(coverageTable, glyphIndex) {\n switch (coverageTable.format) {\n case 1:\n var index = binSearch(coverageTable.glyphs, glyphIndex);\n return index >= 0 ? index : -1;\n case 2:\n var range = searchRange(coverageTable.ranges, glyphIndex);\n return range ? range.index + glyphIndex - range.start : -1;\n }\n },\n\n /**\n * Returns the list of glyph indexes of a coverage table.\n * Format 1: the list is stored raw\n * Format 2: compact list as range records.\n * @instance\n * @param {Object} coverageTable\n * @return {Array}\n */\n expandCoverage: function(coverageTable) {\n if (coverageTable.format === 1) {\n return coverageTable.glyphs;\n } else {\n var glyphs = [];\n var ranges = coverageTable.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var start = range.start;\n var end = range.end;\n for (var j = start; j <= end; j++) {\n glyphs.push(j);\n }\n }\n return glyphs;\n }\n }\n\n};\n\n// The Position object provides utility methods to manipulate\n\n/**\n * @exports opentype.Position\n * @class\n * @extends opentype.Layout\n * @param {opentype.Font}\n * @constructor\n */\nfunction Position(font) {\n Layout.call(this, font, 'gpos');\n}\n\nPosition.prototype = Layout.prototype;\n\n/**\n * Init some data for faster and easier access later.\n */\nPosition.prototype.init = function() {\n var script = this.getDefaultScriptName();\n this.defaultKerningTables = this.getKerningTables(script);\n};\n\n/**\n * Find a glyph pair in a list of lookup tables of type 2 and retrieve the xAdvance kerning value.\n *\n * @param {integer} leftIndex - left glyph index\n * @param {integer} rightIndex - right glyph index\n * @returns {integer}\n */\nPosition.prototype.getKerningValue = function(kerningLookups, leftIndex, rightIndex) {\n for (var i = 0; i < kerningLookups.length; i++) {\n var subtables = kerningLookups[i].subtables;\n for (var j = 0; j < subtables.length; j++) {\n var subtable = subtables[j];\n var covIndex = this.getCoverageIndex(subtable.coverage, leftIndex);\n if (covIndex < 0) { continue; }\n switch (subtable.posFormat) {\n case 1:\n // Search Pair Adjustment Positioning Format 1\n var pairSet = subtable.pairSets[covIndex];\n for (var k = 0; k < pairSet.length; k++) {\n var pair = pairSet[k];\n if (pair.secondGlyph === rightIndex) {\n return pair.value1 && pair.value1.xAdvance || 0;\n }\n }\n break; // left glyph found, not right glyph - try next subtable\n case 2:\n // Search Pair Adjustment Positioning Format 2\n var class1 = this.getGlyphClass(subtable.classDef1, leftIndex);\n var class2 = this.getGlyphClass(subtable.classDef2, rightIndex);\n var pair$1 = subtable.classRecords[class1][class2];\n return pair$1.value1 && pair$1.value1.xAdvance || 0;\n }\n }\n }\n return 0;\n};\n\n/**\n * List all kerning lookup tables.\n *\n * @param {string} [script='DFLT'] - use font.position.getDefaultScriptName() for a better default value\n * @param {string} [language='dflt']\n * @return {object[]} The list of kerning lookup tables (may be empty), or undefined if there is no GPOS table (and we should use the kern table)\n */\nPosition.prototype.getKerningTables = function(script, language) {\n if (this.font.tables.gpos) {\n return this.getLookupTables(script, language, 'kern', 2);\n }\n};\n\n// The Substitution object provides utility methods to manipulate\n\n/**\n * @exports opentype.Substitution\n * @class\n * @extends opentype.Layout\n * @param {opentype.Font}\n * @constructor\n */\nfunction Substitution(font) {\n Layout.call(this, font, 'gsub');\n}\n\n// Check if 2 arrays of primitives are equal.\nfunction arraysEqual(ar1, ar2) {\n var n = ar1.length;\n if (n !== ar2.length) { return false; }\n for (var i = 0; i < n; i++) {\n if (ar1[i] !== ar2[i]) { return false; }\n }\n return true;\n}\n\n// Find the first subtable of a lookup table in a particular format.\nfunction getSubstFormat(lookupTable, format, defaultSubtable) {\n var subtables = lookupTable.subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n if (subtable.substFormat === format) {\n return subtable;\n }\n }\n if (defaultSubtable) {\n subtables.push(defaultSubtable);\n return defaultSubtable;\n }\n return undefined;\n}\n\nSubstitution.prototype = Layout.prototype;\n\n/**\n * Create a default GSUB table.\n * @return {Object} gsub - The GSUB table.\n */\nSubstitution.prototype.createDefaultTable = function() {\n // Generate a default empty GSUB table with just a DFLT script and dflt lang sys.\n return {\n version: 1,\n scripts: [{\n tag: 'DFLT',\n script: {\n defaultLangSys: { reserved: 0, reqFeatureIndex: 0xffff, featureIndexes: [] },\n langSysRecords: []\n }\n }],\n features: [],\n lookups: []\n };\n};\n\n/**\n * List all single substitutions (lookup type 1) for a given script, language, and feature.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @param {string} feature - 4-character feature name ('aalt', 'salt', 'ss01'...)\n * @return {Array} substitutions - The list of substitutions.\n */\nSubstitution.prototype.getSingle = function(feature, script, language) {\n var substitutions = [];\n var lookupTables = this.getLookupTables(script, language, feature, 1);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var j = (void 0);\n if (subtable.substFormat === 1) {\n var delta = subtable.deltaGlyphId;\n for (j = 0; j < glyphs.length; j++) {\n var glyph = glyphs[j];\n substitutions.push({ sub: glyph, by: glyph + delta });\n }\n } else {\n var substitute = subtable.substitute;\n for (j = 0; j < glyphs.length; j++) {\n substitutions.push({ sub: glyphs[j], by: substitute[j] });\n }\n }\n }\n }\n return substitutions;\n};\n\n/**\n * List all multiple substitutions (lookup type 2) for a given script, language, and feature.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @param {string} feature - 4-character feature name ('ccmp', 'stch')\n * @return {Array} substitutions - The list of substitutions.\n */\nSubstitution.prototype.getMultiple = function(feature, script, language) {\n var substitutions = [];\n var lookupTables = this.getLookupTables(script, language, feature, 2);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var j = (void 0);\n\n for (j = 0; j < glyphs.length; j++) {\n var glyph = glyphs[j];\n var replacements = subtable.sequences[j];\n substitutions.push({ sub: glyph, by: replacements });\n }\n }\n }\n return substitutions;\n};\n\n/**\n * List all alternates (lookup type 3) for a given script, language, and feature.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @param {string} feature - 4-character feature name ('aalt', 'salt'...)\n * @return {Array} alternates - The list of alternates\n */\nSubstitution.prototype.getAlternates = function(feature, script, language) {\n var alternates = [];\n var lookupTables = this.getLookupTables(script, language, feature, 3);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var alternateSets = subtable.alternateSets;\n for (var j = 0; j < glyphs.length; j++) {\n alternates.push({ sub: glyphs[j], by: alternateSets[j] });\n }\n }\n }\n return alternates;\n};\n\n/**\n * List all ligatures (lookup type 4) for a given script, language, and feature.\n * The result is an array of ligature objects like { sub: [ids], by: id }\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @return {Array} ligatures - The list of ligatures.\n */\nSubstitution.prototype.getLigatures = function(feature, script, language) {\n var ligatures = [];\n var lookupTables = this.getLookupTables(script, language, feature, 4);\n for (var idx = 0; idx < lookupTables.length; idx++) {\n var subtables = lookupTables[idx].subtables;\n for (var i = 0; i < subtables.length; i++) {\n var subtable = subtables[i];\n var glyphs = this.expandCoverage(subtable.coverage);\n var ligatureSets = subtable.ligatureSets;\n for (var j = 0; j < glyphs.length; j++) {\n var startGlyph = glyphs[j];\n var ligSet = ligatureSets[j];\n for (var k = 0; k < ligSet.length; k++) {\n var lig = ligSet[k];\n ligatures.push({\n sub: [startGlyph].concat(lig.components),\n by: lig.ligGlyph\n });\n }\n }\n }\n }\n return ligatures;\n};\n\n/**\n * Add or modify a single substitution (lookup type 1)\n * Format 2, more flexible, is always used.\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} substitution - { sub: id, by: id } (format 1 is not supported)\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addSingle = function(feature, substitution, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 1, true)[0];\n var subtable = getSubstFormat(lookupTable, 2, { // lookup type 1 subtable, format 2, coverage format 1\n substFormat: 2,\n coverage: {format: 1, glyphs: []},\n substitute: []\n });\n check.assert(subtable.coverage.format === 1, 'Single: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = substitution.sub;\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.substitute.splice(pos, 0, 0);\n }\n subtable.substitute[pos] = substitution.by;\n};\n\n/**\n * Add or modify a multiple substitution (lookup type 2)\n * @param {string} feature - 4-letter feature name ('ccmp', 'stch')\n * @param {Object} substitution - { sub: id, by: [id] } for format 2.\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addMultiple = function(feature, substitution, script, language) {\n check.assert(substitution.by instanceof Array && substitution.by.length > 1, 'Multiple: \"by\" must be an array of two or more ids');\n var lookupTable = this.getLookupTables(script, language, feature, 2, true)[0];\n var subtable = getSubstFormat(lookupTable, 1, { // lookup type 2 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: {format: 1, glyphs: []},\n sequences: []\n });\n check.assert(subtable.coverage.format === 1, 'Multiple: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = substitution.sub;\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.sequences.splice(pos, 0, 0);\n }\n subtable.sequences[pos] = substitution.by;\n};\n\n/**\n * Add or modify an alternate substitution (lookup type 3)\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} substitution - { sub: id, by: [ids] }\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addAlternate = function(feature, substitution, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 3, true)[0];\n var subtable = getSubstFormat(lookupTable, 1, { // lookup type 3 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: {format: 1, glyphs: []},\n alternateSets: []\n });\n check.assert(subtable.coverage.format === 1, 'Alternate: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = substitution.sub;\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos < 0) {\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.alternateSets.splice(pos, 0, 0);\n }\n subtable.alternateSets[pos] = substitution.by;\n};\n\n/**\n * Add a ligature (lookup type 4)\n * Ligatures with more components must be stored ahead of those with fewer components in order to be found\n * @param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)\n * @param {Object} ligature - { sub: [ids], by: id }\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.addLigature = function(feature, ligature, script, language) {\n var lookupTable = this.getLookupTables(script, language, feature, 4, true)[0];\n var subtable = lookupTable.subtables[0];\n if (!subtable) {\n subtable = { // lookup type 4 subtable, format 1, coverage format 1\n substFormat: 1,\n coverage: { format: 1, glyphs: [] },\n ligatureSets: []\n };\n lookupTable.subtables[0] = subtable;\n }\n check.assert(subtable.coverage.format === 1, 'Ligature: unable to modify coverage table format ' + subtable.coverage.format);\n var coverageGlyph = ligature.sub[0];\n var ligComponents = ligature.sub.slice(1);\n var ligatureTable = {\n ligGlyph: ligature.by,\n components: ligComponents\n };\n var pos = this.binSearch(subtable.coverage.glyphs, coverageGlyph);\n if (pos >= 0) {\n // ligatureSet already exists\n var ligatureSet = subtable.ligatureSets[pos];\n for (var i = 0; i < ligatureSet.length; i++) {\n // If ligature already exists, return.\n if (arraysEqual(ligatureSet[i].components, ligComponents)) {\n return;\n }\n }\n // ligature does not exist: add it.\n ligatureSet.push(ligatureTable);\n } else {\n // Create a new ligatureSet and add coverage for the first glyph.\n pos = -1 - pos;\n subtable.coverage.glyphs.splice(pos, 0, coverageGlyph);\n subtable.ligatureSets.splice(pos, 0, [ligatureTable]);\n }\n};\n\n/**\n * List all feature data for a given script and language.\n * @param {string} feature - 4-letter feature name\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n * @return {Array} substitutions - The list of substitutions.\n */\nSubstitution.prototype.getFeature = function(feature, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n // ss01 - ss20\n return this.getSingle(feature, script, language);\n }\n switch (feature) {\n case 'aalt':\n case 'salt':\n return this.getSingle(feature, script, language)\n .concat(this.getAlternates(feature, script, language));\n case 'dlig':\n case 'liga':\n case 'rlig':\n return this.getLigatures(feature, script, language);\n case 'ccmp':\n return this.getMultiple(feature, script, language)\n .concat(this.getLigatures(feature, script, language));\n case 'stch':\n return this.getMultiple(feature, script, language);\n }\n return undefined;\n};\n\n/**\n * Add a substitution to a feature for a given script and language.\n * @param {string} feature - 4-letter feature name\n * @param {Object} sub - the substitution to add (an object like { sub: id or [ids], by: id or [ids] })\n * @param {string} [script='DFLT']\n * @param {string} [language='dflt']\n */\nSubstitution.prototype.add = function(feature, sub, script, language) {\n if (/ss\\d\\d/.test(feature)) {\n // ss01 - ss20\n return this.addSingle(feature, sub, script, language);\n }\n switch (feature) {\n case 'aalt':\n case 'salt':\n if (typeof sub.by === 'number') {\n return this.addSingle(feature, sub, script, language);\n }\n return this.addAlternate(feature, sub, script, language);\n case 'dlig':\n case 'liga':\n case 'rlig':\n return this.addLigature(feature, sub, script, language);\n case 'ccmp':\n if (sub.by instanceof Array) {\n return this.addMultiple(feature, sub, script, language);\n }\n return this.addLigature(feature, sub, script, language);\n }\n return undefined;\n};\n\nfunction isBrowser() {\n return typeof window !== 'undefined';\n}\n\nfunction nodeBufferToArrayBuffer(buffer) {\n var ab = new ArrayBuffer(buffer.length);\n var view = new Uint8Array(ab);\n for (var i = 0; i < buffer.length; ++i) {\n view[i] = buffer[i];\n }\n\n return ab;\n}\n\nfunction arrayBufferToNodeBuffer(ab) {\n var buffer = Buffer.alloc(ab.byteLength);\n var view = new Uint8Array(ab);\n for (var i = 0; i < buffer.length; ++i) {\n buffer[i] = view[i];\n }\n\n return buffer;\n}\n\nfunction checkArgument(expression, message) {\n if (!expression) {\n throw message;\n }\n}\n\n// The `glyf` table describes the glyphs in TrueType outline format.\n\n// Parse the coordinate data for a glyph.\nfunction parseGlyphCoordinate(p, flag, previousValue, shortVectorBitMask, sameBitMask) {\n var v;\n if ((flag & shortVectorBitMask) > 0) {\n // The coordinate is 1 byte long.\n v = p.parseByte();\n // The `same` bit is re-used for short values to signify the sign of the value.\n if ((flag & sameBitMask) === 0) {\n v = -v;\n }\n\n v = previousValue + v;\n } else {\n // The coordinate is 2 bytes long.\n // If the `same` bit is set, the coordinate is the same as the previous coordinate.\n if ((flag & sameBitMask) > 0) {\n v = previousValue;\n } else {\n // Parse the coordinate as a signed 16-bit delta value.\n v = previousValue + p.parseShort();\n }\n }\n\n return v;\n}\n\n// Parse a TrueType glyph.\nfunction parseGlyph(glyph, data, start) {\n var p = new parse.Parser(data, start);\n glyph.numberOfContours = p.parseShort();\n glyph._xMin = p.parseShort();\n glyph._yMin = p.parseShort();\n glyph._xMax = p.parseShort();\n glyph._yMax = p.parseShort();\n var flags;\n var flag;\n\n if (glyph.numberOfContours > 0) {\n // This glyph is not a composite.\n var endPointIndices = glyph.endPointIndices = [];\n for (var i = 0; i < glyph.numberOfContours; i += 1) {\n endPointIndices.push(p.parseUShort());\n }\n\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (var i$1 = 0; i$1 < glyph.instructionLength; i$1 += 1) {\n glyph.instructions.push(p.parseByte());\n }\n\n var numberOfCoordinates = endPointIndices[endPointIndices.length - 1] + 1;\n flags = [];\n for (var i$2 = 0; i$2 < numberOfCoordinates; i$2 += 1) {\n flag = p.parseByte();\n flags.push(flag);\n // If bit 3 is set, we repeat this flag n times, where n is the next byte.\n if ((flag & 8) > 0) {\n var repeatCount = p.parseByte();\n for (var j = 0; j < repeatCount; j += 1) {\n flags.push(flag);\n i$2 += 1;\n }\n }\n }\n\n check.argument(flags.length === numberOfCoordinates, 'Bad flags.');\n\n if (endPointIndices.length > 0) {\n var points = [];\n var point;\n // X/Y coordinates are relative to the previous point, except for the first point which is relative to 0,0.\n if (numberOfCoordinates > 0) {\n for (var i$3 = 0; i$3 < numberOfCoordinates; i$3 += 1) {\n flag = flags[i$3];\n point = {};\n point.onCurve = !!(flag & 1);\n point.lastPointOfContour = endPointIndices.indexOf(i$3) >= 0;\n points.push(point);\n }\n\n var px = 0;\n for (var i$4 = 0; i$4 < numberOfCoordinates; i$4 += 1) {\n flag = flags[i$4];\n point = points[i$4];\n point.x = parseGlyphCoordinate(p, flag, px, 2, 16);\n px = point.x;\n }\n\n var py = 0;\n for (var i$5 = 0; i$5 < numberOfCoordinates; i$5 += 1) {\n flag = flags[i$5];\n point = points[i$5];\n point.y = parseGlyphCoordinate(p, flag, py, 4, 32);\n py = point.y;\n }\n }\n\n glyph.points = points;\n } else {\n glyph.points = [];\n }\n } else if (glyph.numberOfContours === 0) {\n glyph.points = [];\n } else {\n glyph.isComposite = true;\n glyph.points = [];\n glyph.components = [];\n var moreComponents = true;\n while (moreComponents) {\n flags = p.parseUShort();\n var component = {\n glyphIndex: p.parseUShort(),\n xScale: 1,\n scale01: 0,\n scale10: 0,\n yScale: 1,\n dx: 0,\n dy: 0\n };\n if ((flags & 1) > 0) {\n // The arguments are words\n if ((flags & 2) > 0) {\n // values are offset\n component.dx = p.parseShort();\n component.dy = p.parseShort();\n } else {\n // values are matched points\n component.matchedPoints = [p.parseUShort(), p.parseUShort()];\n }\n\n } else {\n // The arguments are bytes\n if ((flags & 2) > 0) {\n // values are offset\n component.dx = p.parseChar();\n component.dy = p.parseChar();\n } else {\n // values are matched points\n component.matchedPoints = [p.parseByte(), p.parseByte()];\n }\n }\n\n if ((flags & 8) > 0) {\n // We have a scale\n component.xScale = component.yScale = p.parseF2Dot14();\n } else if ((flags & 64) > 0) {\n // We have an X / Y scale\n component.xScale = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n } else if ((flags & 128) > 0) {\n // We have a 2x2 transformation\n component.xScale = p.parseF2Dot14();\n component.scale01 = p.parseF2Dot14();\n component.scale10 = p.parseF2Dot14();\n component.yScale = p.parseF2Dot14();\n }\n\n glyph.components.push(component);\n moreComponents = !!(flags & 32);\n }\n if (flags & 0x100) {\n // We have instructions\n glyph.instructionLength = p.parseUShort();\n glyph.instructions = [];\n for (var i$6 = 0; i$6 < glyph.instructionLength; i$6 += 1) {\n glyph.instructions.push(p.parseByte());\n }\n }\n }\n}\n\n// Transform an array of points and return a new array.\nfunction transformPoints(points, transform) {\n var newPoints = [];\n for (var i = 0; i < points.length; i += 1) {\n var pt = points[i];\n var newPt = {\n x: transform.xScale * pt.x + transform.scale01 * pt.y + transform.dx,\n y: transform.scale10 * pt.x + transform.yScale * pt.y + transform.dy,\n onCurve: pt.onCurve,\n lastPointOfContour: pt.lastPointOfContour\n };\n newPoints.push(newPt);\n }\n\n return newPoints;\n}\n\nfunction getContours(points) {\n var contours = [];\n var currentContour = [];\n for (var i = 0; i < points.length; i += 1) {\n var pt = points[i];\n currentContour.push(pt);\n if (pt.lastPointOfContour) {\n contours.push(currentContour);\n currentContour = [];\n }\n }\n\n check.argument(currentContour.length === 0, 'There are still points left in the current contour.');\n return contours;\n}\n\n// Convert the TrueType glyph outline to a Path.\nfunction getPath(points) {\n var p = new Path();\n if (!points) {\n return p;\n }\n\n var contours = getContours(points);\n\n for (var contourIndex = 0; contourIndex < contours.length; ++contourIndex) {\n var contour = contours[contourIndex];\n\n var prev = null;\n var curr = contour[contour.length - 1];\n var next = contour[0];\n\n if (curr.onCurve) {\n p.moveTo(curr.x, curr.y);\n } else {\n if (next.onCurve) {\n p.moveTo(next.x, next.y);\n } else {\n // If both first and last points are off-curve, start at their middle.\n var start = {x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5};\n p.moveTo(start.x, start.y);\n }\n }\n\n for (var i = 0; i < contour.length; ++i) {\n prev = curr;\n curr = next;\n next = contour[(i + 1) % contour.length];\n\n if (curr.onCurve) {\n // This is a straight line.\n p.lineTo(curr.x, curr.y);\n } else {\n var prev2 = prev;\n var next2 = next;\n\n if (!prev.onCurve) {\n prev2 = { x: (curr.x + prev.x) * 0.5, y: (curr.y + prev.y) * 0.5 };\n }\n\n if (!next.onCurve) {\n next2 = { x: (curr.x + next.x) * 0.5, y: (curr.y + next.y) * 0.5 };\n }\n\n p.quadraticCurveTo(curr.x, curr.y, next2.x, next2.y);\n }\n }\n\n p.closePath();\n }\n return p;\n}\n\nfunction buildPath(glyphs, glyph) {\n if (glyph.isComposite) {\n for (var j = 0; j < glyph.components.length; j += 1) {\n var component = glyph.components[j];\n var componentGlyph = glyphs.get(component.glyphIndex);\n // Force the ttfGlyphLoader to parse the glyph.\n componentGlyph.getPath();\n if (componentGlyph.points) {\n var transformedPoints = (void 0);\n if (component.matchedPoints === undefined) {\n // component positioned by offset\n transformedPoints = transformPoints(componentGlyph.points, component);\n } else {\n // component positioned by matched points\n if ((component.matchedPoints[0] > glyph.points.length - 1) ||\n (component.matchedPoints[1] > componentGlyph.points.length - 1)) {\n throw Error('Matched points out of range in ' + glyph.name);\n }\n var firstPt = glyph.points[component.matchedPoints[0]];\n var secondPt = componentGlyph.points[component.matchedPoints[1]];\n var transform = {\n xScale: component.xScale, scale01: component.scale01,\n scale10: component.scale10, yScale: component.yScale,\n dx: 0, dy: 0\n };\n secondPt = transformPoints([secondPt], transform)[0];\n transform.dx = firstPt.x - secondPt.x;\n transform.dy = firstPt.y - secondPt.y;\n transformedPoints = transformPoints(componentGlyph.points, transform);\n }\n glyph.points = glyph.points.concat(transformedPoints);\n }\n }\n }\n\n return getPath(glyph.points);\n}\n\nfunction parseGlyfTableAll(data, start, loca, font) {\n var glyphs = new glyphset.GlyphSet(font);\n\n // The last element of the loca table is invalid.\n for (var i = 0; i < loca.length - 1; i += 1) {\n var offset = loca[i];\n var nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset.glyphLoader(font, i));\n }\n }\n\n return glyphs;\n}\n\nfunction parseGlyfTableOnLowMemory(data, start, loca, font) {\n var glyphs = new glyphset.GlyphSet(font);\n\n font._push = function(i) {\n var offset = loca[i];\n var nextOffset = loca[i + 1];\n if (offset !== nextOffset) {\n glyphs.push(i, glyphset.ttfGlyphLoader(font, i, parseGlyph, data, start + offset, buildPath));\n } else {\n glyphs.push(i, glyphset.glyphLoader(font, i));\n }\n };\n\n return glyphs;\n}\n\n// Parse all the glyphs according to the offsets from the `loca` table.\nfunction parseGlyfTable(data, start, loca, font, opt) {\n if (opt.lowMemory)\n { return parseGlyfTableOnLowMemory(data, start, loca, font); }\n else\n { return parseGlyfTableAll(data, start, loca, font); }\n}\n\nvar glyf = { getPath: getPath, parse: parseGlyfTable};\n\n/* A TrueType font hinting interpreter.\n*\n* (c) 2017 Axel Kittenberger\n*\n* This interpreter has been implemented according to this documentation:\n* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM05/Chap5.html\n*\n* According to the documentation F24DOT6 values are used for pixels.\n* That means calculation is 1/64 pixel accurate and uses integer operations.\n* However, Javascript has floating point operations by default and only\n* those are available. One could make a case to simulate the 1/64 accuracy\n* exactly by truncating after every division operation\n* (for example with << 0) to get pixel exactly results as other TrueType\n* implementations. It may make sense since some fonts are pixel optimized\n* by hand using DELTAP instructions. The current implementation doesn't\n* and rather uses full floating point precision.\n*\n* xScale, yScale and rotation is currently ignored.\n*\n* A few non-trivial instructions are missing as I didn't encounter yet\n* a font that used them to test a possible implementation.\n*\n* Some fonts seem to use undocumented features regarding the twilight zone.\n* Only some of them are implemented as they were encountered.\n*\n* The exports.DEBUG statements are removed on the minified distribution file.\n*/\n\nvar instructionTable;\nvar exec;\nvar execGlyph;\nvar execComponent;\n\n/*\n* Creates a hinting object.\n*\n* There ought to be exactly one\n* for each truetype font that is used for hinting.\n*/\nfunction Hinting(font) {\n // the font this hinting object is for\n this.font = font;\n\n this.getCommands = function (hPoints) {\n return glyf.getPath(hPoints).commands;\n };\n\n // cached states\n this._fpgmState =\n this._prepState =\n undefined;\n\n // errorState\n // 0 ... all okay\n // 1 ... had an error in a glyf,\n // continue working but stop spamming\n // the console\n // 2 ... error at prep, stop hinting at this ppem\n // 3 ... error at fpeg, stop hinting for this font at all\n this._errorState = 0;\n}\n\n/*\n* Not rounding.\n*/\nfunction roundOff(v) {\n return v;\n}\n\n/*\n* Rounding to grid.\n*/\nfunction roundToGrid(v) {\n //Rounding in TT is supposed to \"symmetrical around zero\"\n return Math.sign(v) * Math.round(Math.abs(v));\n}\n\n/*\n* Rounding to double grid.\n*/\nfunction roundToDoubleGrid(v) {\n return Math.sign(v) * Math.round(Math.abs(v * 2)) / 2;\n}\n\n/*\n* Rounding to half grid.\n*/\nfunction roundToHalfGrid(v) {\n return Math.sign(v) * (Math.round(Math.abs(v) + 0.5) - 0.5);\n}\n\n/*\n* Rounding to up to grid.\n*/\nfunction roundUpToGrid(v) {\n return Math.sign(v) * Math.ceil(Math.abs(v));\n}\n\n/*\n* Rounding to down to grid.\n*/\nfunction roundDownToGrid(v) {\n return Math.sign(v) * Math.floor(Math.abs(v));\n}\n\n/*\n* Super rounding.\n*/\nvar roundSuper = function (v) {\n var period = this.srPeriod;\n var phase = this.srPhase;\n var threshold = this.srThreshold;\n var sign = 1;\n\n if (v < 0) {\n v = -v;\n sign = -1;\n }\n\n v += threshold - phase;\n\n v = Math.trunc(v / period) * period;\n\n v += phase;\n\n // according to http://xgridfit.sourceforge.net/round.html\n if (v < 0) { return phase * sign; }\n\n return v * sign;\n};\n\n/*\n* Unit vector of x-axis.\n*/\nvar xUnitVector = {\n x: 1,\n\n y: 0,\n\n axis: 'x',\n\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function (p1, p2, o1, o2) {\n return (o1 ? p1.xo : p1.x) - (o2 ? p2.xo : p2.x);\n },\n\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function (p, rp1, rp2, pv) {\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dm1;\n var dm2;\n var dt;\n\n if (!pv || pv === this) {\n do1 = p.xo - rp1.xo;\n do2 = p.xo - rp2.xo;\n dm1 = rp1.x - rp1.xo;\n dm2 = rp2.x - rp2.xo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n p.x = p.xo + (dm1 + dm2) / 2;\n return;\n }\n\n p.x = p.xo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n xUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n xUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n\n // Slope of line normal to this\n normalSlope: Number.NEGATIVE_INFINITY,\n\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'.\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function (p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.x = (org ? rp.xo : rp.x) + d;\n return;\n }\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n p.x = rpdx + (p.y - rpdy) / pv.normalSlope;\n },\n\n // Slope of vector line.\n slope: 0,\n\n // Touches the point p.\n touch: function (p) {\n p.xTouched = true;\n },\n\n // Tests if a point p is touched.\n touched: function (p) {\n return p.xTouched;\n },\n\n // Untouches the point p.\n untouch: function (p) {\n p.xTouched = false;\n }\n};\n\n/*\n* Unit vector of y-axis.\n*/\nvar yUnitVector = {\n x: 0,\n\n y: 1,\n\n axis: 'y',\n\n // Gets the projected distance between two points.\n // o1/o2 ... if true, respective original position is used.\n distance: function (p1, p2, o1, o2) {\n return (o1 ? p1.yo : p1.y) - (o2 ? p2.yo : p2.y);\n },\n\n // Moves point p so the moved position has the same relative\n // position to the moved positions of rp1 and rp2 than the\n // original positions had.\n //\n // See APPENDIX on INTERPOLATE at the bottom of this file.\n interpolate: function (p, rp1, rp2, pv) {\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dm1;\n var dm2;\n var dt;\n\n if (!pv || pv === this) {\n do1 = p.yo - rp1.yo;\n do2 = p.yo - rp2.yo;\n dm1 = rp1.y - rp1.yo;\n dm2 = rp2.y - rp2.yo;\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n p.y = p.yo + (dm1 + dm2) / 2;\n return;\n }\n\n p.y = p.yo + (dm1 * doa2 + dm2 * doa1) / dt;\n return;\n }\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n yUnitVector.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n yUnitVector.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n },\n\n // Slope of line normal to this.\n normalSlope: 0,\n\n // Sets the point 'p' relative to point 'rp'\n // by the distance 'd'\n //\n // See APPENDIX on SETRELATIVE at the bottom of this file.\n //\n // p ... point to set\n // rp ... reference point\n // d ... distance on projection vector\n // pv ... projection vector (undefined = this)\n // org ... if true, uses the original position of rp as reference.\n setRelative: function (p, rp, d, pv, org) {\n if (!pv || pv === this) {\n p.y = (org ? rp.yo : rp.y) + d;\n return;\n }\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n p.y = rpdy + pv.normalSlope * (p.x - rpdx);\n },\n\n // Slope of vector line.\n slope: Number.POSITIVE_INFINITY,\n\n // Touches the point p.\n touch: function (p) {\n p.yTouched = true;\n },\n\n // Tests if a point p is touched.\n touched: function (p) {\n return p.yTouched;\n },\n\n // Untouches the point p.\n untouch: function (p) {\n p.yTouched = false;\n }\n};\n\nObject.freeze(xUnitVector);\nObject.freeze(yUnitVector);\n\n/*\n* Creates a unit vector that is not x- or y-axis.\n*/\nfunction UnitVector(x, y) {\n this.x = x;\n this.y = y;\n this.axis = undefined;\n this.slope = y / x;\n this.normalSlope = -x / y;\n Object.freeze(this);\n}\n\n/*\n* Gets the projected distance between two points.\n* o1/o2 ... if true, respective original position is used.\n*/\nUnitVector.prototype.distance = function(p1, p2, o1, o2) {\n return (\n this.x * xUnitVector.distance(p1, p2, o1, o2) +\n this.y * yUnitVector.distance(p1, p2, o1, o2)\n );\n};\n\n/*\n* Moves point p so the moved position has the same relative\n* position to the moved positions of rp1 and rp2 than the\n* original positions had.\n*\n* See APPENDIX on INTERPOLATE at the bottom of this file.\n*/\nUnitVector.prototype.interpolate = function(p, rp1, rp2, pv) {\n var dm1;\n var dm2;\n var do1;\n var do2;\n var doa1;\n var doa2;\n var dt;\n\n do1 = pv.distance(p, rp1, true, true);\n do2 = pv.distance(p, rp2, true, true);\n dm1 = pv.distance(rp1, rp1, false, true);\n dm2 = pv.distance(rp2, rp2, false, true);\n doa1 = Math.abs(do1);\n doa2 = Math.abs(do2);\n dt = doa1 + doa2;\n\n if (dt === 0) {\n this.setRelative(p, p, (dm1 + dm2) / 2, pv, true);\n return;\n }\n\n this.setRelative(p, p, (dm1 * doa2 + dm2 * doa1) / dt, pv, true);\n};\n\n/*\n* Sets the point 'p' relative to point 'rp'\n* by the distance 'd'\n*\n* See APPENDIX on SETRELATIVE at the bottom of this file.\n*\n* p ... point to set\n* rp ... reference point\n* d ... distance on projection vector\n* pv ... projection vector (undefined = this)\n* org ... if true, uses the original position of rp as reference.\n*/\nUnitVector.prototype.setRelative = function(p, rp, d, pv, org) {\n pv = pv || this;\n\n var rpx = org ? rp.xo : rp.x;\n var rpy = org ? rp.yo : rp.y;\n var rpdx = rpx + d * pv.x;\n var rpdy = rpy + d * pv.y;\n\n var pvns = pv.normalSlope;\n var fvs = this.slope;\n\n var px = p.x;\n var py = p.y;\n\n p.x = (fvs * px - pvns * rpdx + rpdy - py) / (fvs - pvns);\n p.y = fvs * (p.x - px) + py;\n};\n\n/*\n* Touches the point p.\n*/\nUnitVector.prototype.touch = function(p) {\n p.xTouched = true;\n p.yTouched = true;\n};\n\n/*\n* Returns a unit vector with x/y coordinates.\n*/\nfunction getUnitVector(x, y) {\n var d = Math.sqrt(x * x + y * y);\n\n x /= d;\n y /= d;\n\n if (x === 1 && y === 0) { return xUnitVector; }\n else if (x === 0 && y === 1) { return yUnitVector; }\n else { return new UnitVector(x, y); }\n}\n\n/*\n* Creates a point in the hinting engine.\n*/\nfunction HPoint(\n x,\n y,\n lastPointOfContour,\n onCurve\n) {\n this.x = this.xo = Math.round(x * 64) / 64; // hinted x value and original x-value\n this.y = this.yo = Math.round(y * 64) / 64; // hinted y value and original y-value\n\n this.lastPointOfContour = lastPointOfContour;\n this.onCurve = onCurve;\n this.prevPointOnContour = undefined;\n this.nextPointOnContour = undefined;\n this.xTouched = false;\n this.yTouched = false;\n\n Object.preventExtensions(this);\n}\n\n/*\n* Returns the next touched point on the contour.\n*\n* v ... unit vector to test touch axis.\n*/\nHPoint.prototype.nextTouched = function(v) {\n var p = this.nextPointOnContour;\n\n while (!v.touched(p) && p !== this) { p = p.nextPointOnContour; }\n\n return p;\n};\n\n/*\n* Returns the previous touched point on the contour\n*\n* v ... unit vector to test touch axis.\n*/\nHPoint.prototype.prevTouched = function(v) {\n var p = this.prevPointOnContour;\n\n while (!v.touched(p) && p !== this) { p = p.prevPointOnContour; }\n\n return p;\n};\n\n/*\n* The zero point.\n*/\nvar HPZero = Object.freeze(new HPoint(0, 0));\n\n/*\n* The default state of the interpreter.\n*\n* Note: Freezing the defaultState and then deriving from it\n* makes the V8 Javascript engine going awkward,\n* so this is avoided, albeit the defaultState shouldn't\n* ever change.\n*/\nvar defaultState = {\n cvCutIn: 17 / 16, // control value cut in\n deltaBase: 9,\n deltaShift: 0.125,\n loop: 1, // loops some instructions\n minDis: 1, // minimum distance\n autoFlip: true\n};\n\n/*\n* The current state of the interpreter.\n*\n* env ... 'fpgm' or 'prep' or 'glyf'\n* prog ... the program\n*/\nfunction State(env, prog) {\n this.env = env;\n this.stack = [];\n this.prog = prog;\n\n switch (env) {\n case 'glyf' :\n this.zp0 = this.zp1 = this.zp2 = 1;\n this.rp0 = this.rp1 = this.rp2 = 0;\n /* fall through */\n case 'prep' :\n this.fv = this.pv = this.dpv = xUnitVector;\n this.round = roundToGrid;\n }\n}\n\n/*\n* Executes a glyph program.\n*\n* This does the hinting for each glyph.\n*\n* Returns an array of moved points.\n*\n* glyph: the glyph to hint\n* ppem: the size the glyph is rendered for\n*/\nHinting.prototype.exec = function(glyph, ppem) {\n if (typeof ppem !== 'number') {\n throw new Error('Point size is not a number!');\n }\n\n // Received a fatal error, don't do any hinting anymore.\n if (this._errorState > 2) { return; }\n\n var font = this.font;\n var prepState = this._prepState;\n\n if (!prepState || prepState.ppem !== ppem) {\n var fpgmState = this._fpgmState;\n\n if (!fpgmState) {\n // Executes the fpgm state.\n // This is used by fonts to define functions.\n State.prototype = defaultState;\n\n fpgmState =\n this._fpgmState =\n new State('fpgm', font.tables.fpgm);\n\n fpgmState.funcs = [ ];\n fpgmState.font = font;\n\n if (exports.DEBUG) {\n console.log('---EXEC FPGM---');\n fpgmState.step = -1;\n }\n\n try {\n exec(fpgmState);\n } catch (e) {\n console.log('Hinting error in FPGM:' + e);\n this._errorState = 3;\n return;\n }\n }\n\n // Executes the prep program for this ppem setting.\n // This is used by fonts to set cvt values\n // depending on to be rendered font size.\n\n State.prototype = fpgmState;\n prepState =\n this._prepState =\n new State('prep', font.tables.prep);\n\n prepState.ppem = ppem;\n\n // Creates a copy of the cvt table\n // and scales it to the current ppem setting.\n var oCvt = font.tables.cvt;\n if (oCvt) {\n var cvt = prepState.cvt = new Array(oCvt.length);\n var scale = ppem / font.unitsPerEm;\n for (var c = 0; c < oCvt.length; c++) {\n cvt[c] = oCvt[c] * scale;\n }\n } else {\n prepState.cvt = [];\n }\n\n if (exports.DEBUG) {\n console.log('---EXEC PREP---');\n prepState.step = -1;\n }\n\n try {\n exec(prepState);\n } catch (e) {\n if (this._errorState < 2) {\n console.log('Hinting error in PREP:' + e);\n }\n this._errorState = 2;\n }\n }\n\n if (this._errorState > 1) { return; }\n\n try {\n return execGlyph(glyph, prepState);\n } catch (e) {\n if (this._errorState < 1) {\n console.log('Hinting error:' + e);\n console.log('Note: further hinting errors are silenced');\n }\n this._errorState = 1;\n return undefined;\n }\n};\n\n/*\n* Executes the hinting program for a glyph.\n*/\nexecGlyph = function(glyph, prepState) {\n // original point positions\n var xScale = prepState.ppem / prepState.font.unitsPerEm;\n var yScale = xScale;\n var components = glyph.components;\n var contours;\n var gZone;\n var state;\n\n State.prototype = prepState;\n if (!components) {\n state = new State('glyf', glyph.instructions);\n if (exports.DEBUG) {\n console.log('---EXEC GLYPH---');\n state.step = -1;\n }\n execComponent(glyph, state, xScale, yScale);\n gZone = state.gZone;\n } else {\n var font = prepState.font;\n gZone = [];\n contours = [];\n for (var i = 0; i < components.length; i++) {\n var c = components[i];\n var cg = font.glyphs.get(c.glyphIndex);\n\n state = new State('glyf', cg.instructions);\n\n if (exports.DEBUG) {\n console.log('---EXEC COMP ' + i + '---');\n state.step = -1;\n }\n\n execComponent(cg, state, xScale, yScale);\n // appends the computed points to the result array\n // post processes the component points\n var dx = Math.round(c.dx * xScale);\n var dy = Math.round(c.dy * yScale);\n var gz = state.gZone;\n var cc = state.contours;\n for (var pi = 0; pi < gz.length; pi++) {\n var p = gz[pi];\n p.xTouched = p.yTouched = false;\n p.xo = p.x = p.x + dx;\n p.yo = p.y = p.y + dy;\n }\n\n var gLen = gZone.length;\n gZone.push.apply(gZone, gz);\n for (var j = 0; j < cc.length; j++) {\n contours.push(cc[j] + gLen);\n }\n }\n\n if (glyph.instructions && !state.inhibitGridFit) {\n // the composite has instructions on its own\n state = new State('glyf', glyph.instructions);\n\n state.gZone = state.z0 = state.z1 = state.z2 = gZone;\n\n state.contours = contours;\n\n // note: HPZero cannot be used here, since\n // the point might be modified\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n\n if (exports.DEBUG) {\n console.log('---EXEC COMPOSITE---');\n state.step = -1;\n }\n\n exec(state);\n\n gZone.length -= 2;\n }\n }\n\n return gZone;\n};\n\n/*\n* Executes the hinting program for a component of a multi-component glyph\n* or of the glyph itself for a non-component glyph.\n*/\nexecComponent = function(glyph, state, xScale, yScale)\n{\n var points = glyph.points || [];\n var pLen = points.length;\n var gZone = state.gZone = state.z0 = state.z1 = state.z2 = [];\n var contours = state.contours = [];\n\n // Scales the original points and\n // makes copies for the hinted points.\n var cp; // current point\n for (var i = 0; i < pLen; i++) {\n cp = points[i];\n\n gZone[i] = new HPoint(\n cp.x * xScale,\n cp.y * yScale,\n cp.lastPointOfContour,\n cp.onCurve\n );\n }\n\n // Chain links the contours.\n var sp; // start point\n var np; // next point\n\n for (var i$1 = 0; i$1 < pLen; i$1++) {\n cp = gZone[i$1];\n\n if (!sp) {\n sp = cp;\n contours.push(i$1);\n }\n\n if (cp.lastPointOfContour) {\n cp.nextPointOnContour = sp;\n sp.prevPointOnContour = cp;\n sp = undefined;\n } else {\n np = gZone[i$1 + 1];\n cp.nextPointOnContour = np;\n np.prevPointOnContour = cp;\n }\n }\n\n if (state.inhibitGridFit) { return; }\n\n if (exports.DEBUG) {\n console.log('PROCESSING GLYPH', state.stack);\n for (var i$2 = 0; i$2 < pLen; i$2++) {\n console.log(i$2, gZone[i$2].x, gZone[i$2].y);\n }\n }\n\n gZone.push(\n new HPoint(0, 0),\n new HPoint(Math.round(glyph.advanceWidth * xScale), 0)\n );\n\n exec(state);\n\n // Removes the extra points.\n gZone.length -= 2;\n\n if (exports.DEBUG) {\n console.log('FINISHED GLYPH', state.stack);\n for (var i$3 = 0; i$3 < pLen; i$3++) {\n console.log(i$3, gZone[i$3].x, gZone[i$3].y);\n }\n }\n};\n\n/*\n* Executes the program loaded in state.\n*/\nexec = function(state) {\n var prog = state.prog;\n\n if (!prog) { return; }\n\n var pLen = prog.length;\n var ins;\n\n for (state.ip = 0; state.ip < pLen; state.ip++) {\n if (exports.DEBUG) { state.step++; }\n ins = instructionTable[prog[state.ip]];\n\n if (!ins) {\n throw new Error(\n 'unknown instruction: 0x' +\n Number(prog[state.ip]).toString(16)\n );\n }\n\n ins(state);\n\n // very extensive debugging for each step\n /*\n if (exports.DEBUG) {\n var da;\n if (state.gZone) {\n da = [];\n for (let i = 0; i < state.gZone.length; i++)\n {\n da.push(i + ' ' +\n state.gZone[i].x * 64 + ' ' +\n state.gZone[i].y * 64 + ' ' +\n (state.gZone[i].xTouched ? 'x' : '') +\n (state.gZone[i].yTouched ? 'y' : '')\n );\n }\n console.log('GZ', da);\n }\n\n if (state.tZone) {\n da = [];\n for (let i = 0; i < state.tZone.length; i++) {\n da.push(i + ' ' +\n state.tZone[i].x * 64 + ' ' +\n state.tZone[i].y * 64 + ' ' +\n (state.tZone[i].xTouched ? 'x' : '') +\n (state.tZone[i].yTouched ? 'y' : '')\n );\n }\n console.log('TZ', da);\n }\n\n if (state.stack.length > 10) {\n console.log(\n state.stack.length,\n '...', state.stack.slice(state.stack.length - 10)\n );\n } else {\n console.log(state.stack.length, state.stack);\n }\n }\n */\n }\n};\n\n/*\n* Initializes the twilight zone.\n*\n* This is only done if a SZPx instruction\n* refers to the twilight zone.\n*/\nfunction initTZone(state)\n{\n var tZone = state.tZone = new Array(state.gZone.length);\n\n // no idea if this is actually correct...\n for (var i = 0; i < tZone.length; i++)\n {\n tZone[i] = new HPoint(0, 0);\n }\n}\n\n/*\n* Skips the instruction pointer ahead over an IF/ELSE block.\n* handleElse .. if true breaks on matching ELSE\n*/\nfunction skip(state, handleElse)\n{\n var prog = state.prog;\n var ip = state.ip;\n var nesting = 1;\n var ins;\n\n do {\n ins = prog[++ip];\n if (ins === 0x58) // IF\n { nesting++; }\n else if (ins === 0x59) // EIF\n { nesting--; }\n else if (ins === 0x40) // NPUSHB\n { ip += prog[ip + 1] + 1; }\n else if (ins === 0x41) // NPUSHW\n { ip += 2 * prog[ip + 1] + 1; }\n else if (ins >= 0xB0 && ins <= 0xB7) // PUSHB\n { ip += ins - 0xB0 + 1; }\n else if (ins >= 0xB8 && ins <= 0xBF) // PUSHW\n { ip += (ins - 0xB8 + 1) * 2; }\n else if (handleElse && nesting === 1 && ins === 0x1B) // ELSE\n { break; }\n } while (nesting > 0);\n\n state.ip = ip;\n}\n\n/*----------------------------------------------------------*\n* And then a lot of instructions... *\n*----------------------------------------------------------*/\n\n// SVTCA[a] Set freedom and projection Vectors To Coordinate Axis\n// 0x00-0x01\nfunction SVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SVTCA[' + v.axis + ']'); }\n\n state.fv = state.pv = state.dpv = v;\n}\n\n// SPVTCA[a] Set Projection Vector to Coordinate Axis\n// 0x02-0x03\nfunction SPVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SPVTCA[' + v.axis + ']'); }\n\n state.pv = state.dpv = v;\n}\n\n// SFVTCA[a] Set Freedom Vector to Coordinate Axis\n// 0x04-0x05\nfunction SFVTCA(v, state) {\n if (exports.DEBUG) { console.log(state.step, 'SFVTCA[' + v.axis + ']'); }\n\n state.fv = v;\n}\n\n// SPVTL[a] Set Projection Vector To Line\n// 0x06-0x07\nfunction SPVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log('SPVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.pv = state.dpv = getUnitVector(dx, dy);\n}\n\n// SFVTL[a] Set Freedom Vector To Line\n// 0x08-0x09\nfunction SFVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log('SFVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.fv = getUnitVector(dx, dy);\n}\n\n// SPVFS[] Set Projection Vector From Stack\n// 0x0A\nfunction SPVFS(state) {\n var stack = state.stack;\n var y = stack.pop();\n var x = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SPVFS[]', y, x); }\n\n state.pv = state.dpv = getUnitVector(x, y);\n}\n\n// SFVFS[] Set Freedom Vector From Stack\n// 0x0B\nfunction SFVFS(state) {\n var stack = state.stack;\n var y = stack.pop();\n var x = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SPVFS[]', y, x); }\n\n state.fv = getUnitVector(x, y);\n}\n\n// GPV[] Get Projection Vector\n// 0x0C\nfunction GPV(state) {\n var stack = state.stack;\n var pv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'GPV[]'); }\n\n stack.push(pv.x * 0x4000);\n stack.push(pv.y * 0x4000);\n}\n\n// GFV[] Get Freedom Vector\n// 0x0C\nfunction GFV(state) {\n var stack = state.stack;\n var fv = state.fv;\n\n if (exports.DEBUG) { console.log(state.step, 'GFV[]'); }\n\n stack.push(fv.x * 0x4000);\n stack.push(fv.y * 0x4000);\n}\n\n// SFVTPV[] Set Freedom Vector To Projection Vector\n// 0x0E\nfunction SFVTPV(state) {\n state.fv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'SFVTPV[]'); }\n}\n\n// ISECT[] moves point p to the InterSECTion of two lines\n// 0x0F\nfunction ISECT(state)\n{\n var stack = state.stack;\n var pa0i = stack.pop();\n var pa1i = stack.pop();\n var pb0i = stack.pop();\n var pb1i = stack.pop();\n var pi = stack.pop();\n var z0 = state.z0;\n var z1 = state.z1;\n var pa0 = z0[pa0i];\n var pa1 = z0[pa1i];\n var pb0 = z1[pb0i];\n var pb1 = z1[pb1i];\n var p = state.z2[pi];\n\n if (exports.DEBUG) { console.log('ISECT[], ', pa0i, pa1i, pb0i, pb1i, pi); }\n\n // math from\n // en.wikipedia.org/wiki/Line%E2%80%93line_intersection#Given_two_points_on_each_line\n\n var x1 = pa0.x;\n var y1 = pa0.y;\n var x2 = pa1.x;\n var y2 = pa1.y;\n var x3 = pb0.x;\n var y3 = pb0.y;\n var x4 = pb1.x;\n var y4 = pb1.y;\n\n var div = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n var f1 = x1 * y2 - y1 * x2;\n var f2 = x3 * y4 - y3 * x4;\n\n p.x = (f1 * (x3 - x4) - f2 * (x1 - x2)) / div;\n p.y = (f1 * (y3 - y4) - f2 * (y1 - y2)) / div;\n}\n\n// SRP0[] Set Reference Point 0\n// 0x10\nfunction SRP0(state) {\n state.rp0 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP0[]', state.rp0); }\n}\n\n// SRP1[] Set Reference Point 1\n// 0x11\nfunction SRP1(state) {\n state.rp1 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP1[]', state.rp1); }\n}\n\n// SRP1[] Set Reference Point 2\n// 0x12\nfunction SRP2(state) {\n state.rp2 = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SRP2[]', state.rp2); }\n}\n\n// SZP0[] Set Zone Pointer 0\n// 0x13\nfunction SZP0(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP0[]', n); }\n\n state.zp0 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z0 = state.tZone;\n break;\n case 1 :\n state.z0 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZP1[] Set Zone Pointer 1\n// 0x14\nfunction SZP1(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP1[]', n); }\n\n state.zp1 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z1 = state.tZone;\n break;\n case 1 :\n state.z1 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZP2[] Set Zone Pointer 2\n// 0x15\nfunction SZP2(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZP2[]', n); }\n\n state.zp2 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z2 = state.tZone;\n break;\n case 1 :\n state.z2 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SZPS[] Set Zone PointerS\n// 0x16\nfunction SZPS(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SZPS[]', n); }\n\n state.zp0 = state.zp1 = state.zp2 = n;\n\n switch (n) {\n case 0:\n if (!state.tZone) { initTZone(state); }\n state.z0 = state.z1 = state.z2 = state.tZone;\n break;\n case 1 :\n state.z0 = state.z1 = state.z2 = state.gZone;\n break;\n default :\n throw new Error('Invalid zone pointer');\n }\n}\n\n// SLOOP[] Set LOOP variable\n// 0x17\nfunction SLOOP(state) {\n state.loop = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SLOOP[]', state.loop); }\n}\n\n// RTG[] Round To Grid\n// 0x18\nfunction RTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTG[]'); }\n\n state.round = roundToGrid;\n}\n\n// RTHG[] Round To Half Grid\n// 0x19\nfunction RTHG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTHG[]'); }\n\n state.round = roundToHalfGrid;\n}\n\n// SMD[] Set Minimum Distance\n// 0x1A\nfunction SMD(state) {\n var d = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SMD[]', d); }\n\n state.minDis = d / 0x40;\n}\n\n// ELSE[] ELSE clause\n// 0x1B\nfunction ELSE(state) {\n // This instruction has been reached by executing a then branch\n // so it just skips ahead until matching EIF.\n //\n // In case the IF was negative the IF[] instruction already\n // skipped forward over the ELSE[]\n\n if (exports.DEBUG) { console.log(state.step, 'ELSE[]'); }\n\n skip(state, false);\n}\n\n// JMPR[] JuMP Relative\n// 0x1C\nfunction JMPR(state) {\n var o = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'JMPR[]', o); }\n\n // A jump by 1 would do nothing.\n state.ip += o - 1;\n}\n\n// SCVTCI[] Set Control Value Table Cut-In\n// 0x1D\nfunction SCVTCI(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SCVTCI[]', n); }\n\n state.cvCutIn = n / 0x40;\n}\n\n// DUP[] DUPlicate top stack element\n// 0x20\nfunction DUP(state) {\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.step, 'DUP[]'); }\n\n stack.push(stack[stack.length - 1]);\n}\n\n// POP[] POP top stack element\n// 0x21\nfunction POP(state) {\n if (exports.DEBUG) { console.log(state.step, 'POP[]'); }\n\n state.stack.pop();\n}\n\n// CLEAR[] CLEAR the stack\n// 0x22\nfunction CLEAR(state) {\n if (exports.DEBUG) { console.log(state.step, 'CLEAR[]'); }\n\n state.stack.length = 0;\n}\n\n// SWAP[] SWAP the top two elements on the stack\n// 0x23\nfunction SWAP(state) {\n var stack = state.stack;\n\n var a = stack.pop();\n var b = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SWAP[]'); }\n\n stack.push(a);\n stack.push(b);\n}\n\n// DEPTH[] DEPTH of the stack\n// 0x24\nfunction DEPTH(state) {\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.step, 'DEPTH[]'); }\n\n stack.push(stack.length);\n}\n\n// LOOPCALL[] LOOPCALL function\n// 0x2A\nfunction LOOPCALL(state) {\n var stack = state.stack;\n var fn = stack.pop();\n var c = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LOOPCALL[]', fn, c); }\n\n // saves callers program\n var cip = state.ip;\n var cprog = state.prog;\n\n state.prog = state.funcs[fn];\n\n // executes the function\n for (var i = 0; i < c; i++) {\n exec(state);\n\n if (exports.DEBUG) { console.log(\n ++state.step,\n i + 1 < c ? 'next loopcall' : 'done loopcall',\n i\n ); }\n }\n\n // restores the callers program\n state.ip = cip;\n state.prog = cprog;\n}\n\n// CALL[] CALL function\n// 0x2B\nfunction CALL(state) {\n var fn = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CALL[]', fn); }\n\n // saves callers program\n var cip = state.ip;\n var cprog = state.prog;\n\n state.prog = state.funcs[fn];\n\n // executes the function\n exec(state);\n\n // restores the callers program\n state.ip = cip;\n state.prog = cprog;\n\n if (exports.DEBUG) { console.log(++state.step, 'returning from', fn); }\n}\n\n// CINDEX[] Copy the INDEXed element to the top of the stack\n// 0x25\nfunction CINDEX(state) {\n var stack = state.stack;\n var k = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CINDEX[]', k); }\n\n // In case of k == 1, it copies the last element after popping\n // thus stack.length - k.\n stack.push(stack[stack.length - k]);\n}\n\n// MINDEX[] Move the INDEXed element to the top of the stack\n// 0x26\nfunction MINDEX(state) {\n var stack = state.stack;\n var k = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MINDEX[]', k); }\n\n stack.push(stack.splice(stack.length - k, 1)[0]);\n}\n\n// FDEF[] Function DEFinition\n// 0x2C\nfunction FDEF(state) {\n if (state.env !== 'fpgm') { throw new Error('FDEF not allowed here'); }\n var stack = state.stack;\n var prog = state.prog;\n var ip = state.ip;\n\n var fn = stack.pop();\n var ipBegin = ip;\n\n if (exports.DEBUG) { console.log(state.step, 'FDEF[]', fn); }\n\n while (prog[++ip] !== 0x2D){ }\n\n state.ip = ip;\n state.funcs[fn] = prog.slice(ipBegin + 1, ip);\n}\n\n// MDAP[a] Move Direct Absolute Point\n// 0x2E-0x2F\nfunction MDAP(round, state) {\n var pi = state.stack.pop();\n var p = state.z0[pi];\n var fv = state.fv;\n var pv = state.pv;\n\n if (exports.DEBUG) { console.log(state.step, 'MDAP[' + round + ']', pi); }\n\n var d = pv.distance(p, HPZero);\n\n if (round) { d = state.round(d); }\n\n fv.setRelative(p, HPZero, d, pv);\n fv.touch(p);\n\n state.rp0 = state.rp1 = pi;\n}\n\n// IUP[a] Interpolate Untouched Points through the outline\n// 0x30\nfunction IUP(v, state) {\n var z2 = state.z2;\n var pLen = z2.length - 2;\n var cp;\n var pp;\n var np;\n\n if (exports.DEBUG) { console.log(state.step, 'IUP[' + v.axis + ']'); }\n\n for (var i = 0; i < pLen; i++) {\n cp = z2[i]; // current point\n\n // if this point has been touched go on\n if (v.touched(cp)) { continue; }\n\n pp = cp.prevTouched(v);\n\n // no point on the contour has been touched?\n if (pp === cp) { continue; }\n\n np = cp.nextTouched(v);\n\n if (pp === np) {\n // only one point on the contour has been touched\n // so simply moves the point like that\n\n v.setRelative(cp, cp, v.distance(pp, pp, false, true), v, true);\n }\n\n v.interpolate(cp, pp, np, v);\n }\n}\n\n// SHP[] SHift Point using reference point\n// 0x32-0x33\nfunction SHP(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n var loop = state.loop;\n var z2 = state.z2;\n\n while (loop--)\n {\n var pi = stack.pop();\n var p = z2[pi];\n\n var d = pv.distance(rp, rp, false, true);\n fv.setRelative(p, p, d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ?\n 'loop ' + (state.loop - loop) + ': ' :\n ''\n ) +\n 'SHP[' + (a ? 'rp1' : 'rp2') + ']', pi\n );\n }\n }\n\n state.loop = 1;\n}\n\n// SHC[] SHift Contour using reference point\n// 0x36-0x37\nfunction SHC(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n var ci = stack.pop();\n var sp = state.z2[state.contours[ci]];\n var p = sp;\n\n if (exports.DEBUG) { console.log(state.step, 'SHC[' + a + ']', ci); }\n\n var d = pv.distance(rp, rp, false, true);\n\n do {\n if (p !== rp) { fv.setRelative(p, p, d, pv); }\n p = p.nextPointOnContour;\n } while (p !== sp);\n}\n\n// SHZ[] SHift Zone using reference point\n// 0x36-0x37\nfunction SHZ(a, state) {\n var stack = state.stack;\n var rpi = a ? state.rp1 : state.rp2;\n var rp = (a ? state.z0 : state.z1)[rpi];\n var fv = state.fv;\n var pv = state.pv;\n\n var e = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SHZ[' + a + ']', e); }\n\n var z;\n switch (e) {\n case 0 : z = state.tZone; break;\n case 1 : z = state.gZone; break;\n default : throw new Error('Invalid zone');\n }\n\n var p;\n var d = pv.distance(rp, rp, false, true);\n var pLen = z.length - 2;\n for (var i = 0; i < pLen; i++)\n {\n p = z[i];\n fv.setRelative(p, p, d, pv);\n //if (p !== rp) fv.setRelative(p, p, d, pv);\n }\n}\n\n// SHPIX[] SHift point by a PIXel amount\n// 0x38\nfunction SHPIX(state) {\n var stack = state.stack;\n var loop = state.loop;\n var fv = state.fv;\n var d = stack.pop() / 0x40;\n var z2 = state.z2;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z2[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'SHPIX[]', pi, d\n );\n }\n\n fv.setRelative(p, p, d);\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// IP[] Interpolate Point\n// 0x39\nfunction IP(state) {\n var stack = state.stack;\n var rp1i = state.rp1;\n var rp2i = state.rp2;\n var loop = state.loop;\n var rp1 = state.z0[rp1i];\n var rp2 = state.z1[rp2i];\n var fv = state.fv;\n var pv = state.dpv;\n var z2 = state.z2;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z2[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'IP[]', pi, rp1i, '<->', rp2i\n );\n }\n\n fv.interpolate(p, rp1, rp2, pv);\n\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// MSIRP[a] Move Stack Indirect Relative Point\n// 0x3A-0x3B\nfunction MSIRP(a, state) {\n var stack = state.stack;\n var d = stack.pop() / 64;\n var pi = stack.pop();\n var p = state.z1[pi];\n var rp0 = state.z0[state.rp0];\n var fv = state.fv;\n var pv = state.pv;\n\n fv.setRelative(p, rp0, d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) { console.log(state.step, 'MSIRP[' + a + ']', d, pi); }\n\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (a) { state.rp0 = pi; }\n}\n\n// ALIGNRP[] Align to reference point.\n// 0x3C\nfunction ALIGNRP(state) {\n var stack = state.stack;\n var rp0i = state.rp0;\n var rp0 = state.z0[rp0i];\n var loop = state.loop;\n var fv = state.fv;\n var pv = state.pv;\n var z1 = state.z1;\n\n while (loop--) {\n var pi = stack.pop();\n var p = z1[pi];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (state.loop > 1 ? 'loop ' + (state.loop - loop) + ': ' : '') +\n 'ALIGNRP[]', pi\n );\n }\n\n fv.setRelative(p, rp0, 0, pv);\n fv.touch(p);\n }\n\n state.loop = 1;\n}\n\n// RTG[] Round To Double Grid\n// 0x3D\nfunction RTDG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RTDG[]'); }\n\n state.round = roundToDoubleGrid;\n}\n\n// MIAP[a] Move Indirect Absolute Point\n// 0x3E-0x3F\nfunction MIAP(round, state) {\n var stack = state.stack;\n var n = stack.pop();\n var pi = stack.pop();\n var p = state.z0[pi];\n var fv = state.fv;\n var pv = state.pv;\n var cv = state.cvt[n];\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n 'MIAP[' + round + ']',\n n, '(', cv, ')', pi\n );\n }\n\n var d = pv.distance(p, HPZero);\n\n if (round) {\n if (Math.abs(d - cv) < state.cvCutIn) { d = cv; }\n\n d = state.round(d);\n }\n\n fv.setRelative(p, HPZero, d, pv);\n\n if (state.zp0 === 0) {\n p.xo = p.x;\n p.yo = p.y;\n }\n\n fv.touch(p);\n\n state.rp0 = state.rp1 = pi;\n}\n\n// NPUSB[] PUSH N Bytes\n// 0x40\nfunction NPUSHB(state) {\n var prog = state.prog;\n var ip = state.ip;\n var stack = state.stack;\n\n var n = prog[++ip];\n\n if (exports.DEBUG) { console.log(state.step, 'NPUSHB[]', n); }\n\n for (var i = 0; i < n; i++) { stack.push(prog[++ip]); }\n\n state.ip = ip;\n}\n\n// NPUSHW[] PUSH N Words\n// 0x41\nfunction NPUSHW(state) {\n var ip = state.ip;\n var prog = state.prog;\n var stack = state.stack;\n var n = prog[++ip];\n\n if (exports.DEBUG) { console.log(state.step, 'NPUSHW[]', n); }\n\n for (var i = 0; i < n; i++) {\n var w = (prog[++ip] << 8) | prog[++ip];\n if (w & 0x8000) { w = -((w ^ 0xffff) + 1); }\n stack.push(w);\n }\n\n state.ip = ip;\n}\n\n// WS[] Write Store\n// 0x42\nfunction WS(state) {\n var stack = state.stack;\n var store = state.store;\n\n if (!store) { store = state.store = []; }\n\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WS', v, l); }\n\n store[l] = v;\n}\n\n// RS[] Read Store\n// 0x43\nfunction RS(state) {\n var stack = state.stack;\n var store = state.store;\n\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'RS', l); }\n\n var v = (store && store[l]) || 0;\n\n stack.push(v);\n}\n\n// WCVTP[] Write Control Value Table in Pixel units\n// 0x44\nfunction WCVTP(state) {\n var stack = state.stack;\n\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WCVTP', v, l); }\n\n state.cvt[l] = v / 0x40;\n}\n\n// RCVT[] Read Control Value Table entry\n// 0x45\nfunction RCVT(state) {\n var stack = state.stack;\n var cvte = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'RCVT', cvte); }\n\n stack.push(state.cvt[cvte] * 0x40);\n}\n\n// GC[] Get Coordinate projected onto the projection vector\n// 0x46-0x47\nfunction GC(a, state) {\n var stack = state.stack;\n var pi = stack.pop();\n var p = state.z2[pi];\n\n if (exports.DEBUG) { console.log(state.step, 'GC[' + a + ']', pi); }\n\n stack.push(state.dpv.distance(p, HPZero, a, false) * 0x40);\n}\n\n// MD[a] Measure Distance\n// 0x49-0x4A\nfunction MD(a, state) {\n var stack = state.stack;\n var pi2 = stack.pop();\n var pi1 = stack.pop();\n var p2 = state.z1[pi2];\n var p1 = state.z0[pi1];\n var d = state.dpv.distance(p1, p2, a, a);\n\n if (exports.DEBUG) { console.log(state.step, 'MD[' + a + ']', pi2, pi1, '->', d); }\n\n state.stack.push(Math.round(d * 64));\n}\n\n// MPPEM[] Measure Pixels Per EM\n// 0x4B\nfunction MPPEM(state) {\n if (exports.DEBUG) { console.log(state.step, 'MPPEM[]'); }\n state.stack.push(state.ppem);\n}\n\n// FLIPON[] set the auto FLIP Boolean to ON\n// 0x4D\nfunction FLIPON(state) {\n if (exports.DEBUG) { console.log(state.step, 'FLIPON[]'); }\n state.autoFlip = true;\n}\n\n// LT[] Less Than\n// 0x50\nfunction LT(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LT[]', e2, e1); }\n\n stack.push(e1 < e2 ? 1 : 0);\n}\n\n// LTEQ[] Less Than or EQual\n// 0x53\nfunction LTEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'LTEQ[]', e2, e1); }\n\n stack.push(e1 <= e2 ? 1 : 0);\n}\n\n// GTEQ[] Greater Than\n// 0x52\nfunction GT(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'GT[]', e2, e1); }\n\n stack.push(e1 > e2 ? 1 : 0);\n}\n\n// GTEQ[] Greater Than or EQual\n// 0x53\nfunction GTEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'GTEQ[]', e2, e1); }\n\n stack.push(e1 >= e2 ? 1 : 0);\n}\n\n// EQ[] EQual\n// 0x54\nfunction EQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'EQ[]', e2, e1); }\n\n stack.push(e2 === e1 ? 1 : 0);\n}\n\n// NEQ[] Not EQual\n// 0x55\nfunction NEQ(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NEQ[]', e2, e1); }\n\n stack.push(e2 !== e1 ? 1 : 0);\n}\n\n// ODD[] ODD\n// 0x56\nfunction ODD(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ODD[]', n); }\n\n stack.push(Math.trunc(n) % 2 ? 1 : 0);\n}\n\n// EVEN[] EVEN\n// 0x57\nfunction EVEN(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'EVEN[]', n); }\n\n stack.push(Math.trunc(n) % 2 ? 0 : 1);\n}\n\n// IF[] IF test\n// 0x58\nfunction IF(state) {\n var test = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'IF[]', test); }\n\n // if test is true it just continues\n // if not the ip is skipped until matching ELSE or EIF\n if (!test) {\n skip(state, true);\n\n if (exports.DEBUG) { console.log(state.step, 'EIF[]'); }\n }\n}\n\n// EIF[] End IF\n// 0x59\nfunction EIF(state) {\n // this can be reached normally when\n // executing an else branch.\n // -> just ignore it\n\n if (exports.DEBUG) { console.log(state.step, 'EIF[]'); }\n}\n\n// AND[] logical AND\n// 0x5A\nfunction AND(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'AND[]', e2, e1); }\n\n stack.push(e2 && e1 ? 1 : 0);\n}\n\n// OR[] logical OR\n// 0x5B\nfunction OR(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'OR[]', e2, e1); }\n\n stack.push(e2 || e1 ? 1 : 0);\n}\n\n// NOT[] logical NOT\n// 0x5C\nfunction NOT(state) {\n var stack = state.stack;\n var e = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NOT[]', e); }\n\n stack.push(e ? 0 : 1);\n}\n\n// DELTAP1[] DELTA exception P1\n// DELTAP2[] DELTA exception P2\n// DELTAP3[] DELTA exception P3\n// 0x5D, 0x71, 0x72\nfunction DELTAP123(b, state) {\n var stack = state.stack;\n var n = stack.pop();\n var fv = state.fv;\n var pv = state.pv;\n var ppem = state.ppem;\n var base = state.deltaBase + (b - 1) * 16;\n var ds = state.deltaShift;\n var z0 = state.z0;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTAP[' + b + ']', n, stack); }\n\n for (var i = 0; i < n; i++) {\n var pi = stack.pop();\n var arg = stack.pop();\n var appem = base + ((arg & 0xF0) >> 4);\n if (appem !== ppem) { continue; }\n\n var mag = (arg & 0x0F) - 8;\n if (mag >= 0) { mag++; }\n if (exports.DEBUG) { console.log(state.step, 'DELTAPFIX', pi, 'by', mag * ds); }\n\n var p = z0[pi];\n fv.setRelative(p, p, mag * ds, pv);\n }\n}\n\n// SDB[] Set Delta Base in the graphics state\n// 0x5E\nfunction SDB(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SDB[]', n); }\n\n state.deltaBase = n;\n}\n\n// SDS[] Set Delta Shift in the graphics state\n// 0x5F\nfunction SDS(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SDS[]', n); }\n\n state.deltaShift = Math.pow(0.5, n);\n}\n\n// ADD[] ADD\n// 0x60\nfunction ADD(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ADD[]', n2, n1); }\n\n stack.push(n1 + n2);\n}\n\n// SUB[] SUB\n// 0x61\nfunction SUB(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SUB[]', n2, n1); }\n\n stack.push(n1 - n2);\n}\n\n// DIV[] DIV\n// 0x62\nfunction DIV(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'DIV[]', n2, n1); }\n\n stack.push(n1 * 64 / n2);\n}\n\n// MUL[] MUL\n// 0x63\nfunction MUL(state) {\n var stack = state.stack;\n var n2 = stack.pop();\n var n1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MUL[]', n2, n1); }\n\n stack.push(n1 * n2 / 64);\n}\n\n// ABS[] ABSolute value\n// 0x64\nfunction ABS(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ABS[]', n); }\n\n stack.push(Math.abs(n));\n}\n\n// NEG[] NEGate\n// 0x65\nfunction NEG(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'NEG[]', n); }\n\n stack.push(-n);\n}\n\n// FLOOR[] FLOOR\n// 0x66\nfunction FLOOR(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'FLOOR[]', n); }\n\n stack.push(Math.floor(n / 0x40) * 0x40);\n}\n\n// CEILING[] CEILING\n// 0x67\nfunction CEILING(state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'CEILING[]', n); }\n\n stack.push(Math.ceil(n / 0x40) * 0x40);\n}\n\n// ROUND[ab] ROUND value\n// 0x68-0x6B\nfunction ROUND(dt, state) {\n var stack = state.stack;\n var n = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ROUND[]'); }\n\n stack.push(state.round(n / 0x40) * 0x40);\n}\n\n// WCVTF[] Write Control Value Table in Funits\n// 0x70\nfunction WCVTF(state) {\n var stack = state.stack;\n var v = stack.pop();\n var l = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'WCVTF[]', v, l); }\n\n state.cvt[l] = v * state.ppem / state.font.unitsPerEm;\n}\n\n// DELTAC1[] DELTA exception C1\n// DELTAC2[] DELTA exception C2\n// DELTAC3[] DELTA exception C3\n// 0x73, 0x74, 0x75\nfunction DELTAC123(b, state) {\n var stack = state.stack;\n var n = stack.pop();\n var ppem = state.ppem;\n var base = state.deltaBase + (b - 1) * 16;\n var ds = state.deltaShift;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTAC[' + b + ']', n, stack); }\n\n for (var i = 0; i < n; i++) {\n var c = stack.pop();\n var arg = stack.pop();\n var appem = base + ((arg & 0xF0) >> 4);\n if (appem !== ppem) { continue; }\n\n var mag = (arg & 0x0F) - 8;\n if (mag >= 0) { mag++; }\n\n var delta = mag * ds;\n\n if (exports.DEBUG) { console.log(state.step, 'DELTACFIX', c, 'by', delta); }\n\n state.cvt[c] += delta;\n }\n}\n\n// SROUND[] Super ROUND\n// 0x76\nfunction SROUND(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'SROUND[]', n); }\n\n state.round = roundSuper;\n\n var period;\n\n switch (n & 0xC0) {\n case 0x00:\n period = 0.5;\n break;\n case 0x40:\n period = 1;\n break;\n case 0x80:\n period = 2;\n break;\n default:\n throw new Error('invalid SROUND value');\n }\n\n state.srPeriod = period;\n\n switch (n & 0x30) {\n case 0x00:\n state.srPhase = 0;\n break;\n case 0x10:\n state.srPhase = 0.25 * period;\n break;\n case 0x20:\n state.srPhase = 0.5 * period;\n break;\n case 0x30:\n state.srPhase = 0.75 * period;\n break;\n default: throw new Error('invalid SROUND value');\n }\n\n n &= 0x0F;\n\n if (n === 0) { state.srThreshold = 0; }\n else { state.srThreshold = (n / 8 - 0.5) * period; }\n}\n\n// S45ROUND[] Super ROUND 45 degrees\n// 0x77\nfunction S45ROUND(state) {\n var n = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'S45ROUND[]', n); }\n\n state.round = roundSuper;\n\n var period;\n\n switch (n & 0xC0) {\n case 0x00:\n period = Math.sqrt(2) / 2;\n break;\n case 0x40:\n period = Math.sqrt(2);\n break;\n case 0x80:\n period = 2 * Math.sqrt(2);\n break;\n default:\n throw new Error('invalid S45ROUND value');\n }\n\n state.srPeriod = period;\n\n switch (n & 0x30) {\n case 0x00:\n state.srPhase = 0;\n break;\n case 0x10:\n state.srPhase = 0.25 * period;\n break;\n case 0x20:\n state.srPhase = 0.5 * period;\n break;\n case 0x30:\n state.srPhase = 0.75 * period;\n break;\n default:\n throw new Error('invalid S45ROUND value');\n }\n\n n &= 0x0F;\n\n if (n === 0) { state.srThreshold = 0; }\n else { state.srThreshold = (n / 8 - 0.5) * period; }\n}\n\n// ROFF[] Round Off\n// 0x7A\nfunction ROFF(state) {\n if (exports.DEBUG) { console.log(state.step, 'ROFF[]'); }\n\n state.round = roundOff;\n}\n\n// RUTG[] Round Up To Grid\n// 0x7C\nfunction RUTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RUTG[]'); }\n\n state.round = roundUpToGrid;\n}\n\n// RDTG[] Round Down To Grid\n// 0x7D\nfunction RDTG(state) {\n if (exports.DEBUG) { console.log(state.step, 'RDTG[]'); }\n\n state.round = roundDownToGrid;\n}\n\n// SCANCTRL[] SCAN conversion ConTRoL\n// 0x85\nfunction SCANCTRL(state) {\n var n = state.stack.pop();\n\n // ignored by opentype.js\n\n if (exports.DEBUG) { console.log(state.step, 'SCANCTRL[]', n); }\n}\n\n// SDPVTL[a] Set Dual Projection Vector To Line\n// 0x86-0x87\nfunction SDPVTL(a, state) {\n var stack = state.stack;\n var p2i = stack.pop();\n var p1i = stack.pop();\n var p2 = state.z2[p2i];\n var p1 = state.z1[p1i];\n\n if (exports.DEBUG) { console.log(state.step, 'SDPVTL[' + a + ']', p2i, p1i); }\n\n var dx;\n var dy;\n\n if (!a) {\n dx = p1.x - p2.x;\n dy = p1.y - p2.y;\n } else {\n dx = p2.y - p1.y;\n dy = p1.x - p2.x;\n }\n\n state.dpv = getUnitVector(dx, dy);\n}\n\n// GETINFO[] GET INFOrmation\n// 0x88\nfunction GETINFO(state) {\n var stack = state.stack;\n var sel = stack.pop();\n var r = 0;\n\n if (exports.DEBUG) { console.log(state.step, 'GETINFO[]', sel); }\n\n // v35 as in no subpixel hinting\n if (sel & 0x01) { r = 35; }\n\n // TODO rotation and stretch currently not supported\n // and thus those GETINFO are always 0.\n\n // opentype.js is always gray scaling\n if (sel & 0x20) { r |= 0x1000; }\n\n stack.push(r);\n}\n\n// ROLL[] ROLL the top three stack elements\n// 0x8A\nfunction ROLL(state) {\n var stack = state.stack;\n var a = stack.pop();\n var b = stack.pop();\n var c = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'ROLL[]'); }\n\n stack.push(b);\n stack.push(a);\n stack.push(c);\n}\n\n// MAX[] MAXimum of top two stack elements\n// 0x8B\nfunction MAX(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MAX[]', e2, e1); }\n\n stack.push(Math.max(e1, e2));\n}\n\n// MIN[] MINimum of top two stack elements\n// 0x8C\nfunction MIN(state) {\n var stack = state.stack;\n var e2 = stack.pop();\n var e1 = stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'MIN[]', e2, e1); }\n\n stack.push(Math.min(e1, e2));\n}\n\n// SCANTYPE[] SCANTYPE\n// 0x8D\nfunction SCANTYPE(state) {\n var n = state.stack.pop();\n // ignored by opentype.js\n if (exports.DEBUG) { console.log(state.step, 'SCANTYPE[]', n); }\n}\n\n// INSTCTRL[] INSTCTRL\n// 0x8D\nfunction INSTCTRL(state) {\n var s = state.stack.pop();\n var v = state.stack.pop();\n\n if (exports.DEBUG) { console.log(state.step, 'INSTCTRL[]', s, v); }\n\n switch (s) {\n case 1 : state.inhibitGridFit = !!v; return;\n case 2 : state.ignoreCvt = !!v; return;\n default: throw new Error('invalid INSTCTRL[] selector');\n }\n}\n\n// PUSHB[abc] PUSH Bytes\n// 0xB0-0xB7\nfunction PUSHB(n, state) {\n var stack = state.stack;\n var prog = state.prog;\n var ip = state.ip;\n\n if (exports.DEBUG) { console.log(state.step, 'PUSHB[' + n + ']'); }\n\n for (var i = 0; i < n; i++) { stack.push(prog[++ip]); }\n\n state.ip = ip;\n}\n\n// PUSHW[abc] PUSH Words\n// 0xB8-0xBF\nfunction PUSHW(n, state) {\n var ip = state.ip;\n var prog = state.prog;\n var stack = state.stack;\n\n if (exports.DEBUG) { console.log(state.ip, 'PUSHW[' + n + ']'); }\n\n for (var i = 0; i < n; i++) {\n var w = (prog[++ip] << 8) | prog[++ip];\n if (w & 0x8000) { w = -((w ^ 0xffff) + 1); }\n stack.push(w);\n }\n\n state.ip = ip;\n}\n\n// MDRP[abcde] Move Direct Relative Point\n// 0xD0-0xEF\n// (if indirect is 0)\n//\n// and\n//\n// MIRP[abcde] Move Indirect Relative Point\n// 0xE0-0xFF\n// (if indirect is 1)\n\nfunction MDRP_MIRP(indirect, setRp0, keepD, ro, dt, state) {\n var stack = state.stack;\n var cvte = indirect && stack.pop();\n var pi = stack.pop();\n var rp0i = state.rp0;\n var rp = state.z0[rp0i];\n var p = state.z1[pi];\n\n var md = state.minDis;\n var fv = state.fv;\n var pv = state.dpv;\n var od; // original distance\n var d; // moving distance\n var sign; // sign of distance\n var cv;\n\n d = od = pv.distance(p, rp, true, true);\n sign = d >= 0 ? 1 : -1; // Math.sign would be 0 in case of 0\n\n // TODO consider autoFlip\n d = Math.abs(d);\n\n if (indirect) {\n cv = state.cvt[cvte];\n\n if (ro && Math.abs(d - cv) < state.cvCutIn) { d = cv; }\n }\n\n if (keepD && d < md) { d = md; }\n\n if (ro) { d = state.round(d); }\n\n fv.setRelative(p, rp, sign * d, pv);\n fv.touch(p);\n\n if (exports.DEBUG) {\n console.log(\n state.step,\n (indirect ? 'MIRP[' : 'MDRP[') +\n (setRp0 ? 'M' : 'm') +\n (keepD ? '>' : '_') +\n (ro ? 'R' : '_') +\n (dt === 0 ? 'Gr' : (dt === 1 ? 'Bl' : (dt === 2 ? 'Wh' : ''))) +\n ']',\n indirect ?\n cvte + '(' + state.cvt[cvte] + ',' + cv + ')' :\n '',\n pi,\n '(d =', od, '->', sign * d, ')'\n );\n }\n\n state.rp1 = state.rp0;\n state.rp2 = pi;\n if (setRp0) { state.rp0 = pi; }\n}\n\n/*\n* The instruction table.\n*/\ninstructionTable = [\n /* 0x00 */ SVTCA.bind(undefined, yUnitVector),\n /* 0x01 */ SVTCA.bind(undefined, xUnitVector),\n /* 0x02 */ SPVTCA.bind(undefined, yUnitVector),\n /* 0x03 */ SPVTCA.bind(undefined, xUnitVector),\n /* 0x04 */ SFVTCA.bind(undefined, yUnitVector),\n /* 0x05 */ SFVTCA.bind(undefined, xUnitVector),\n /* 0x06 */ SPVTL.bind(undefined, 0),\n /* 0x07 */ SPVTL.bind(undefined, 1),\n /* 0x08 */ SFVTL.bind(undefined, 0),\n /* 0x09 */ SFVTL.bind(undefined, 1),\n /* 0x0A */ SPVFS,\n /* 0x0B */ SFVFS,\n /* 0x0C */ GPV,\n /* 0x0D */ GFV,\n /* 0x0E */ SFVTPV,\n /* 0x0F */ ISECT,\n /* 0x10 */ SRP0,\n /* 0x11 */ SRP1,\n /* 0x12 */ SRP2,\n /* 0x13 */ SZP0,\n /* 0x14 */ SZP1,\n /* 0x15 */ SZP2,\n /* 0x16 */ SZPS,\n /* 0x17 */ SLOOP,\n /* 0x18 */ RTG,\n /* 0x19 */ RTHG,\n /* 0x1A */ SMD,\n /* 0x1B */ ELSE,\n /* 0x1C */ JMPR,\n /* 0x1D */ SCVTCI,\n /* 0x1E */ undefined, // TODO SSWCI\n /* 0x1F */ undefined, // TODO SSW\n /* 0x20 */ DUP,\n /* 0x21 */ POP,\n /* 0x22 */ CLEAR,\n /* 0x23 */ SWAP,\n /* 0x24 */ DEPTH,\n /* 0x25 */ CINDEX,\n /* 0x26 */ MINDEX,\n /* 0x27 */ undefined, // TODO ALIGNPTS\n /* 0x28 */ undefined,\n /* 0x29 */ undefined, // TODO UTP\n /* 0x2A */ LOOPCALL,\n /* 0x2B */ CALL,\n /* 0x2C */ FDEF,\n /* 0x2D */ undefined, // ENDF (eaten by FDEF)\n /* 0x2E */ MDAP.bind(undefined, 0),\n /* 0x2F */ MDAP.bind(undefined, 1),\n /* 0x30 */ IUP.bind(undefined, yUnitVector),\n /* 0x31 */ IUP.bind(undefined, xUnitVector),\n /* 0x32 */ SHP.bind(undefined, 0),\n /* 0x33 */ SHP.bind(undefined, 1),\n /* 0x34 */ SHC.bind(undefined, 0),\n /* 0x35 */ SHC.bind(undefined, 1),\n /* 0x36 */ SHZ.bind(undefined, 0),\n /* 0x37 */ SHZ.bind(undefined, 1),\n /* 0x38 */ SHPIX,\n /* 0x39 */ IP,\n /* 0x3A */ MSIRP.bind(undefined, 0),\n /* 0x3B */ MSIRP.bind(undefined, 1),\n /* 0x3C */ ALIGNRP,\n /* 0x3D */ RTDG,\n /* 0x3E */ MIAP.bind(undefined, 0),\n /* 0x3F */ MIAP.bind(undefined, 1),\n /* 0x40 */ NPUSHB,\n /* 0x41 */ NPUSHW,\n /* 0x42 */ WS,\n /* 0x43 */ RS,\n /* 0x44 */ WCVTP,\n /* 0x45 */ RCVT,\n /* 0x46 */ GC.bind(undefined, 0),\n /* 0x47 */ GC.bind(undefined, 1),\n /* 0x48 */ undefined, // TODO SCFS\n /* 0x49 */ MD.bind(undefined, 0),\n /* 0x4A */ MD.bind(undefined, 1),\n /* 0x4B */ MPPEM,\n /* 0x4C */ undefined, // TODO MPS\n /* 0x4D */ FLIPON,\n /* 0x4E */ undefined, // TODO FLIPOFF\n /* 0x4F */ undefined, // TODO DEBUG\n /* 0x50 */ LT,\n /* 0x51 */ LTEQ,\n /* 0x52 */ GT,\n /* 0x53 */ GTEQ,\n /* 0x54 */ EQ,\n /* 0x55 */ NEQ,\n /* 0x56 */ ODD,\n /* 0x57 */ EVEN,\n /* 0x58 */ IF,\n /* 0x59 */ EIF,\n /* 0x5A */ AND,\n /* 0x5B */ OR,\n /* 0x5C */ NOT,\n /* 0x5D */ DELTAP123.bind(undefined, 1),\n /* 0x5E */ SDB,\n /* 0x5F */ SDS,\n /* 0x60 */ ADD,\n /* 0x61 */ SUB,\n /* 0x62 */ DIV,\n /* 0x63 */ MUL,\n /* 0x64 */ ABS,\n /* 0x65 */ NEG,\n /* 0x66 */ FLOOR,\n /* 0x67 */ CEILING,\n /* 0x68 */ ROUND.bind(undefined, 0),\n /* 0x69 */ ROUND.bind(undefined, 1),\n /* 0x6A */ ROUND.bind(undefined, 2),\n /* 0x6B */ ROUND.bind(undefined, 3),\n /* 0x6C */ undefined, // TODO NROUND[ab]\n /* 0x6D */ undefined, // TODO NROUND[ab]\n /* 0x6E */ undefined, // TODO NROUND[ab]\n /* 0x6F */ undefined, // TODO NROUND[ab]\n /* 0x70 */ WCVTF,\n /* 0x71 */ DELTAP123.bind(undefined, 2),\n /* 0x72 */ DELTAP123.bind(undefined, 3),\n /* 0x73 */ DELTAC123.bind(undefined, 1),\n /* 0x74 */ DELTAC123.bind(undefined, 2),\n /* 0x75 */ DELTAC123.bind(undefined, 3),\n /* 0x76 */ SROUND,\n /* 0x77 */ S45ROUND,\n /* 0x78 */ undefined, // TODO JROT[]\n /* 0x79 */ undefined, // TODO JROF[]\n /* 0x7A */ ROFF,\n /* 0x7B */ undefined,\n /* 0x7C */ RUTG,\n /* 0x7D */ RDTG,\n /* 0x7E */ POP, // actually SANGW, supposed to do only a pop though\n /* 0x7F */ POP, // actually AA, supposed to do only a pop though\n /* 0x80 */ undefined, // TODO FLIPPT\n /* 0x81 */ undefined, // TODO FLIPRGON\n /* 0x82 */ undefined, // TODO FLIPRGOFF\n /* 0x83 */ undefined,\n /* 0x84 */ undefined,\n /* 0x85 */ SCANCTRL,\n /* 0x86 */ SDPVTL.bind(undefined, 0),\n /* 0x87 */ SDPVTL.bind(undefined, 1),\n /* 0x88 */ GETINFO,\n /* 0x89 */ undefined, // TODO IDEF\n /* 0x8A */ ROLL,\n /* 0x8B */ MAX,\n /* 0x8C */ MIN,\n /* 0x8D */ SCANTYPE,\n /* 0x8E */ INSTCTRL,\n /* 0x8F */ undefined,\n /* 0x90 */ undefined,\n /* 0x91 */ undefined,\n /* 0x92 */ undefined,\n /* 0x93 */ undefined,\n /* 0x94 */ undefined,\n /* 0x95 */ undefined,\n /* 0x96 */ undefined,\n /* 0x97 */ undefined,\n /* 0x98 */ undefined,\n /* 0x99 */ undefined,\n /* 0x9A */ undefined,\n /* 0x9B */ undefined,\n /* 0x9C */ undefined,\n /* 0x9D */ undefined,\n /* 0x9E */ undefined,\n /* 0x9F */ undefined,\n /* 0xA0 */ undefined,\n /* 0xA1 */ undefined,\n /* 0xA2 */ undefined,\n /* 0xA3 */ undefined,\n /* 0xA4 */ undefined,\n /* 0xA5 */ undefined,\n /* 0xA6 */ undefined,\n /* 0xA7 */ undefined,\n /* 0xA8 */ undefined,\n /* 0xA9 */ undefined,\n /* 0xAA */ undefined,\n /* 0xAB */ undefined,\n /* 0xAC */ undefined,\n /* 0xAD */ undefined,\n /* 0xAE */ undefined,\n /* 0xAF */ undefined,\n /* 0xB0 */ PUSHB.bind(undefined, 1),\n /* 0xB1 */ PUSHB.bind(undefined, 2),\n /* 0xB2 */ PUSHB.bind(undefined, 3),\n /* 0xB3 */ PUSHB.bind(undefined, 4),\n /* 0xB4 */ PUSHB.bind(undefined, 5),\n /* 0xB5 */ PUSHB.bind(undefined, 6),\n /* 0xB6 */ PUSHB.bind(undefined, 7),\n /* 0xB7 */ PUSHB.bind(undefined, 8),\n /* 0xB8 */ PUSHW.bind(undefined, 1),\n /* 0xB9 */ PUSHW.bind(undefined, 2),\n /* 0xBA */ PUSHW.bind(undefined, 3),\n /* 0xBB */ PUSHW.bind(undefined, 4),\n /* 0xBC */ PUSHW.bind(undefined, 5),\n /* 0xBD */ PUSHW.bind(undefined, 6),\n /* 0xBE */ PUSHW.bind(undefined, 7),\n /* 0xBF */ PUSHW.bind(undefined, 8),\n /* 0xC0 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 0),\n /* 0xC1 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 1),\n /* 0xC2 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 2),\n /* 0xC3 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 0, 3),\n /* 0xC4 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 0),\n /* 0xC5 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 1),\n /* 0xC6 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 2),\n /* 0xC7 */ MDRP_MIRP.bind(undefined, 0, 0, 0, 1, 3),\n /* 0xC8 */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 0),\n /* 0xC9 */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 1),\n /* 0xCA */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 2),\n /* 0xCB */ MDRP_MIRP.bind(undefined, 0, 0, 1, 0, 3),\n /* 0xCC */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 0),\n /* 0xCD */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 1),\n /* 0xCE */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 2),\n /* 0xCF */ MDRP_MIRP.bind(undefined, 0, 0, 1, 1, 3),\n /* 0xD0 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 0),\n /* 0xD1 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 1),\n /* 0xD2 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 2),\n /* 0xD3 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 0, 3),\n /* 0xD4 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 0),\n /* 0xD5 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 1),\n /* 0xD6 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 2),\n /* 0xD7 */ MDRP_MIRP.bind(undefined, 0, 1, 0, 1, 3),\n /* 0xD8 */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 0),\n /* 0xD9 */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 1),\n /* 0xDA */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 2),\n /* 0xDB */ MDRP_MIRP.bind(undefined, 0, 1, 1, 0, 3),\n /* 0xDC */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 0),\n /* 0xDD */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 1),\n /* 0xDE */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 2),\n /* 0xDF */ MDRP_MIRP.bind(undefined, 0, 1, 1, 1, 3),\n /* 0xE0 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 0),\n /* 0xE1 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 1),\n /* 0xE2 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 2),\n /* 0xE3 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 0, 3),\n /* 0xE4 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 0),\n /* 0xE5 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 1),\n /* 0xE6 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 2),\n /* 0xE7 */ MDRP_MIRP.bind(undefined, 1, 0, 0, 1, 3),\n /* 0xE8 */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 0),\n /* 0xE9 */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 1),\n /* 0xEA */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 2),\n /* 0xEB */ MDRP_MIRP.bind(undefined, 1, 0, 1, 0, 3),\n /* 0xEC */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 0),\n /* 0xED */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 1),\n /* 0xEE */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 2),\n /* 0xEF */ MDRP_MIRP.bind(undefined, 1, 0, 1, 1, 3),\n /* 0xF0 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 0),\n /* 0xF1 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 1),\n /* 0xF2 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 2),\n /* 0xF3 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 0, 3),\n /* 0xF4 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 0),\n /* 0xF5 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 1),\n /* 0xF6 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 2),\n /* 0xF7 */ MDRP_MIRP.bind(undefined, 1, 1, 0, 1, 3),\n /* 0xF8 */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 0),\n /* 0xF9 */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 1),\n /* 0xFA */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 2),\n /* 0xFB */ MDRP_MIRP.bind(undefined, 1, 1, 1, 0, 3),\n /* 0xFC */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 0),\n /* 0xFD */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 1),\n /* 0xFE */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 2),\n /* 0xFF */ MDRP_MIRP.bind(undefined, 1, 1, 1, 1, 3)\n];\n\n/*****************************\n Mathematical Considerations\n******************************\n\nfv ... refers to freedom vector\npv ... refers to projection vector\nrp ... refers to reference point\np ... refers to to point being operated on\nd ... refers to distance\n\nSETRELATIVE:\n============\n\ncase freedom vector == x-axis:\n------------------------------\n\n (pv)\n .-'\n rpd .-'\n .-*\n d .-'90°'\n .-' '\n .-' '\n *-' ' b\n rp '\n '\n '\n p *----------*-------------- (fv)\n pm\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b\n\n y - rpdy = pvns * (x- rpdx)\n\n y = p.y\n\n x = rpdx + ( p.y - rpdy ) / pvns\n\n\ncase freedom vector == y-axis:\n------------------------------\n\n * pm\n |\\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\\n | \\ b\n | \\\n | \\\n | \\ .-' (pv)\n | 90° \\.-'\n | .-'* rpd\n | .-'\n * *-' d\n p rp\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b:\n pvns ... normal slope to pv\n\n y - rpdy = pvns * (x - rpdx)\n\n x = p.x\n\n y = rpdy + pvns * (p.x - rpdx)\n\n\n\ngeneric case:\n-------------\n\n\n .'(fv)\n .'\n .* pm\n .' !\n .' .\n .' !\n .' . b\n .' !\n * .\n p !\n 90° . ... (pv)\n ...-*-'''\n ...---''' rpd\n ...---''' d\n *--'''\n rp\n\n rpdx = rpx + d * pv.x\n rpdy = rpy + d * pv.y\n\n equation of line b:\n pvns... normal slope to pv\n\n y - rpdy = pvns * (x - rpdx)\n\n equation of freedom vector line:\n fvs ... slope of freedom vector (=fy/fx)\n\n y - py = fvs * (x - px)\n\n\n on pm both equations are true for same x/y\n\n y - rpdy = pvns * (x - rpdx)\n\n y - py = fvs * (x - px)\n\n form to y and set equal:\n\n pvns * (x - rpdx) + rpdy = fvs * (x - px) + py\n\n expand:\n\n pvns * x - pvns * rpdx + rpdy = fvs * x - fvs * px + py\n\n switch:\n\n fvs * x - fvs * px + py = pvns * x - pvns * rpdx + rpdy\n\n solve for x:\n\n fvs * x - pvns * x = fvs * px - pvns * rpdx - py + rpdy\n\n\n\n fvs * px - pvns * rpdx + rpdy - py\n x = -----------------------------------\n fvs - pvns\n\n and:\n\n y = fvs * (x - px) + py\n\n\n\nINTERPOLATE:\n============\n\nExamples of point interpolation.\n\nThe weight of the movement of the reference point gets bigger\nthe further the other reference point is away, thus the safest\noption (that is avoiding 0/0 divisions) is to weight the\noriginal distance of the other point by the sum of both distances.\n\nIf the sum of both distances is 0, then move the point by the\narithmetic average of the movement of both reference points.\n\n\n\n\n (+6)\n rp1o *---->*rp1\n . . (+12)\n . . rp2o *---------->* rp2\n . . . .\n . . . .\n . 10 20 . .\n |.........|...................| .\n . . .\n . . (+8) .\n po *------>*p .\n . . .\n . 12 . 24 .\n |...........|.......................|\n 36\n\n\n-------\n\n\n\n (+10)\n rp1o *-------->*rp1\n . . (-10)\n . . rp2 *<---------* rpo2\n . . . .\n . . . .\n . 10 . 30 . .\n |.........|.............................|\n . .\n . (+5) .\n po *--->* p .\n . . .\n . . 20 .\n |....|..............|\n 5 15\n\n\n-------\n\n\n (+10)\n rp1o *-------->*rp1\n . .\n . .\n rp2o *-------->*rp2\n\n\n (+10)\n po *-------->* p\n\n-------\n\n\n (+10)\n rp1o *-------->*rp1\n . .\n . .(+30)\n rp2o *---------------------------->*rp2\n\n\n (+25)\n po *----------------------->* p\n\n\n\nvim: set ts=4 sw=4 expandtab:\n*****/\n\n/**\n * Converts a string into a list of tokens.\n */\n\n/**\n * Create a new token\n * @param {string} char a single char\n */\nfunction Token(char) {\n this.char = char;\n this.state = {};\n this.activeState = null;\n}\n\n/**\n * Create a new context range\n * @param {number} startIndex range start index\n * @param {number} endOffset range end index offset\n * @param {string} contextName owner context name\n */\nfunction ContextRange(startIndex, endOffset, contextName) {\n this.contextName = contextName;\n this.startIndex = startIndex;\n this.endOffset = endOffset;\n}\n\n/**\n * Check context start and end\n * @param {string} contextName a unique context name\n * @param {function} checkStart a predicate function the indicates a context's start\n * @param {function} checkEnd a predicate function the indicates a context's end\n */\nfunction ContextChecker(contextName, checkStart, checkEnd) {\n this.contextName = contextName;\n this.openRange = null;\n this.ranges = [];\n this.checkStart = checkStart;\n this.checkEnd = checkEnd;\n}\n\n/**\n * @typedef ContextParams\n * @type Object\n * @property {array} context context items\n * @property {number} currentIndex current item index\n */\n\n/**\n * Create a context params\n * @param {array} context a list of items\n * @param {number} currentIndex current item index\n */\nfunction ContextParams(context, currentIndex) {\n this.context = context;\n this.index = currentIndex;\n this.length = context.length;\n this.current = context[currentIndex];\n this.backtrack = context.slice(0, currentIndex);\n this.lookahead = context.slice(currentIndex + 1);\n}\n\n/**\n * Create an event instance\n * @param {string} eventId event unique id\n */\nfunction Event(eventId) {\n this.eventId = eventId;\n this.subscribers = [];\n}\n\n/**\n * Initialize a core events and auto subscribe required event handlers\n * @param {any} events an object that enlists core events handlers\n */\nfunction initializeCoreEvents(events) {\n var this$1 = this;\n\n var coreEvents = [\n 'start', 'end', 'next', 'newToken', 'contextStart',\n 'contextEnd', 'insertToken', 'removeToken', 'removeRange',\n 'replaceToken', 'replaceRange', 'composeRUD', 'updateContextsRanges'\n ];\n\n coreEvents.forEach(function (eventId) {\n Object.defineProperty(this$1.events, eventId, {\n value: new Event(eventId)\n });\n });\n\n if (!!events) {\n coreEvents.forEach(function (eventId) {\n var event = events[eventId];\n if (typeof event === 'function') {\n this$1.events[eventId].subscribe(event);\n }\n });\n }\n var requiresContextUpdate = [\n 'insertToken', 'removeToken', 'removeRange',\n 'replaceToken', 'replaceRange', 'composeRUD'\n ];\n requiresContextUpdate.forEach(function (eventId) {\n this$1.events[eventId].subscribe(\n this$1.updateContextsRanges\n );\n });\n}\n\n/**\n * Converts a string into a list of tokens\n * @param {any} events tokenizer core events\n */\nfunction Tokenizer(events) {\n this.tokens = [];\n this.registeredContexts = {};\n this.contextCheckers = [];\n this.events = {};\n this.registeredModifiers = [];\n\n initializeCoreEvents.call(this, events);\n}\n\n/**\n * Sets the state of a token, usually called by a state modifier.\n * @param {string} key state item key\n * @param {any} value state item value\n */\nToken.prototype.setState = function(key, value) {\n this.state[key] = value;\n this.activeState = { key: key, value: this.state[key] };\n return this.activeState;\n};\n\nToken.prototype.getState = function (stateId) {\n return this.state[stateId] || null;\n};\n\n/**\n * Checks if an index exists in the tokens list.\n * @param {number} index token index\n */\nTokenizer.prototype.inboundIndex = function(index) {\n return index >= 0 && index < this.tokens.length;\n};\n\n/**\n * Compose and apply a list of operations (replace, update, delete)\n * @param {array} RUDs replace, update and delete operations\n * TODO: Perf. Optimization (lengthBefore === lengthAfter ? dispatch once)\n */\nTokenizer.prototype.composeRUD = function (RUDs) {\n var this$1 = this;\n\n var silent = true;\n var state = RUDs.map(function (RUD) { return (\n this$1[RUD[0]].apply(this$1, RUD.slice(1).concat(silent))\n ); });\n var hasFAILObject = function (obj) { return (\n typeof obj === 'object' &&\n obj.hasOwnProperty('FAIL')\n ); };\n if (state.every(hasFAILObject)) {\n return {\n FAIL: \"composeRUD: one or more operations hasn't completed successfully\",\n report: state.filter(hasFAILObject)\n };\n }\n this.dispatch('composeRUD', [state.filter(function (op) { return !hasFAILObject(op); })]);\n};\n\n/**\n * Replace a range of tokens with a list of tokens\n * @param {number} startIndex range start index\n * @param {number} offset range offset\n * @param {token} tokens a list of tokens to replace\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.replaceRange = function (startIndex, offset, tokens, silent) {\n offset = offset !== null ? offset : this.tokens.length;\n var isTokenType = tokens.every(function (token) { return token instanceof Token; });\n if (!isNaN(startIndex) && this.inboundIndex(startIndex) && isTokenType) {\n var replaced = this.tokens.splice.apply(\n this.tokens, [startIndex, offset].concat(tokens)\n );\n if (!silent) { this.dispatch('replaceToken', [startIndex, offset, tokens]); }\n return [replaced, tokens];\n } else {\n return { FAIL: 'replaceRange: invalid tokens or startIndex.' };\n }\n};\n\n/**\n * Replace a token with another token\n * @param {number} index token index\n * @param {token} token a token to replace\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.replaceToken = function (index, token, silent) {\n if (!isNaN(index) && this.inboundIndex(index) && token instanceof Token) {\n var replaced = this.tokens.splice(index, 1, token);\n if (!silent) { this.dispatch('replaceToken', [index, token]); }\n return [replaced[0], token];\n } else {\n return { FAIL: 'replaceToken: invalid token or index.' };\n }\n};\n\n/**\n * Removes a range of tokens\n * @param {number} startIndex range start index\n * @param {number} offset range offset\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.removeRange = function(startIndex, offset, silent) {\n offset = !isNaN(offset) ? offset : this.tokens.length;\n var tokens = this.tokens.splice(startIndex, offset);\n if (!silent) { this.dispatch('removeRange', [tokens, startIndex, offset]); }\n return tokens;\n};\n\n/**\n * Remove a token at a certain index\n * @param {number} index token index\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.removeToken = function(index, silent) {\n if (!isNaN(index) && this.inboundIndex(index)) {\n var token = this.tokens.splice(index, 1);\n if (!silent) { this.dispatch('removeToken', [token, index]); }\n return token;\n } else {\n return { FAIL: 'removeToken: invalid token index.' };\n }\n};\n\n/**\n * Insert a list of tokens at a certain index\n * @param {array} tokens a list of tokens to insert\n * @param {number} index insert the list of tokens at index\n * @param {boolean} silent dispatch events and update context ranges\n */\nTokenizer.prototype.insertToken = function (tokens, index, silent) {\n var tokenType = tokens.every(\n function (token) { return token instanceof Token; }\n );\n if (tokenType) {\n this.tokens.splice.apply(\n this.tokens, [index, 0].concat(tokens)\n );\n if (!silent) { this.dispatch('insertToken', [tokens, index]); }\n return tokens;\n } else {\n return { FAIL: 'insertToken: invalid token(s).' };\n }\n};\n\n/**\n * A state modifier that is called on 'newToken' event\n * @param {string} modifierId state modifier id\n * @param {function} condition a predicate function that returns true or false\n * @param {function} modifier a function to update token state\n */\nTokenizer.prototype.registerModifier = function(modifierId, condition, modifier) {\n this.events.newToken.subscribe(function(token, contextParams) {\n var conditionParams = [token, contextParams];\n var canApplyModifier = (\n condition === null ||\n condition.apply(this, conditionParams) === true\n );\n var modifierParams = [token, contextParams];\n if (canApplyModifier) {\n var newStateValue = modifier.apply(this, modifierParams);\n token.setState(modifierId, newStateValue);\n }\n });\n this.registeredModifiers.push(modifierId);\n};\n\n/**\n * Subscribe a handler to an event\n * @param {function} eventHandler an event handler function\n */\nEvent.prototype.subscribe = function (eventHandler) {\n if (typeof eventHandler === 'function') {\n return ((this.subscribers.push(eventHandler)) - 1);\n } else {\n return { FAIL: (\"invalid '\" + (this.eventId) + \"' event handler\")};\n }\n};\n\n/**\n * Unsubscribe an event handler\n * @param {string} subsId subscription id\n */\nEvent.prototype.unsubscribe = function (subsId) {\n this.subscribers.splice(subsId, 1);\n};\n\n/**\n * Sets context params current value index\n * @param {number} index context params current value index\n */\nContextParams.prototype.setCurrentIndex = function(index) {\n this.index = index;\n this.current = this.context[index];\n this.backtrack = this.context.slice(0, index);\n this.lookahead = this.context.slice(index + 1);\n};\n\n/**\n * Get an item at an offset from the current value\n * example (current value is 3):\n * 1 2 [3] 4 5 | items values\n * -2 -1 0 1 2 | offset values\n * @param {number} offset an offset from current value index\n */\nContextParams.prototype.get = function (offset) {\n switch (true) {\n case (offset === 0):\n return this.current;\n case (offset < 0 && Math.abs(offset) <= this.backtrack.length):\n return this.backtrack.slice(offset)[0];\n case (offset > 0 && offset <= this.lookahead.length):\n return this.lookahead[offset - 1];\n default:\n return null;\n }\n};\n\n/**\n * Converts a context range into a string value\n * @param {contextRange} range a context range\n */\nTokenizer.prototype.rangeToText = function (range) {\n if (range instanceof ContextRange) {\n return (\n this.getRangeTokens(range)\n .map(function (token) { return token.char; }).join('')\n );\n }\n};\n\n/**\n * Converts all tokens into a string\n */\nTokenizer.prototype.getText = function () {\n return this.tokens.map(function (token) { return token.char; }).join('');\n};\n\n/**\n * Get a context by name\n * @param {string} contextName context name to get\n */\nTokenizer.prototype.getContext = function (contextName) {\n var context = this.registeredContexts[contextName];\n return !!context ? context : null;\n};\n\n/**\n * Subscribes a new event handler to an event\n * @param {string} eventName event name to subscribe to\n * @param {function} eventHandler a function to be invoked on event\n */\nTokenizer.prototype.on = function(eventName, eventHandler) {\n var event = this.events[eventName];\n if (!!event) {\n return event.subscribe(eventHandler);\n } else {\n return null;\n }\n};\n\n/**\n * Dispatches an event\n * @param {string} eventName event name\n * @param {any} args event handler arguments\n */\nTokenizer.prototype.dispatch = function(eventName, args) {\n var this$1 = this;\n\n var event = this.events[eventName];\n if (event instanceof Event) {\n event.subscribers.forEach(function (subscriber) {\n subscriber.apply(this$1, args || []);\n });\n }\n};\n\n/**\n * Register a new context checker\n * @param {string} contextName a unique context name\n * @param {function} contextStartCheck a predicate function that returns true on context start\n * @param {function} contextEndCheck a predicate function that returns true on context end\n * TODO: call tokenize on registration to update context ranges with the new context.\n */\nTokenizer.prototype.registerContextChecker = function(contextName, contextStartCheck, contextEndCheck) {\n if (!!this.getContext(contextName)) { return {\n FAIL:\n (\"context name '\" + contextName + \"' is already registered.\")\n }; }\n if (typeof contextStartCheck !== 'function') { return {\n FAIL:\n \"missing context start check.\"\n }; }\n if (typeof contextEndCheck !== 'function') { return {\n FAIL:\n \"missing context end check.\"\n }; }\n var contextCheckers = new ContextChecker(\n contextName, contextStartCheck, contextEndCheck\n );\n this.registeredContexts[contextName] = contextCheckers;\n this.contextCheckers.push(contextCheckers);\n return contextCheckers;\n};\n\n/**\n * Gets a context range tokens\n * @param {contextRange} range a context range\n */\nTokenizer.prototype.getRangeTokens = function(range) {\n var endIndex = range.startIndex + range.endOffset;\n return [].concat(\n this.tokens\n .slice(range.startIndex, endIndex)\n );\n};\n\n/**\n * Gets the ranges of a context\n * @param {string} contextName context name\n */\nTokenizer.prototype.getContextRanges = function(contextName) {\n var context = this.getContext(contextName);\n if (!!context) {\n return context.ranges;\n } else {\n return { FAIL: (\"context checker '\" + contextName + \"' is not registered.\") };\n }\n};\n\n/**\n * Resets context ranges to run context update\n */\nTokenizer.prototype.resetContextsRanges = function () {\n var registeredContexts = this.registeredContexts;\n for (var contextName in registeredContexts) {\n if (registeredContexts.hasOwnProperty(contextName)) {\n var context = registeredContexts[contextName];\n context.ranges = [];\n }\n }\n};\n\n/**\n * Updates context ranges\n */\nTokenizer.prototype.updateContextsRanges = function () {\n this.resetContextsRanges();\n var chars = this.tokens.map(function (token) { return token.char; });\n for (var i = 0; i < chars.length; i++) {\n var contextParams = new ContextParams(chars, i);\n this.runContextCheck(contextParams);\n }\n this.dispatch('updateContextsRanges', [this.registeredContexts]);\n};\n\n/**\n * Sets the end offset of an open range\n * @param {number} offset range end offset\n * @param {string} contextName context name\n */\nTokenizer.prototype.setEndOffset = function (offset, contextName) {\n var startIndex = this.getContext(contextName).openRange.startIndex;\n var range = new ContextRange(startIndex, offset, contextName);\n var ranges = this.getContext(contextName).ranges;\n range.rangeId = contextName + \".\" + (ranges.length);\n ranges.push(range);\n this.getContext(contextName).openRange = null;\n return range;\n};\n\n/**\n * Runs a context check on the current context\n * @param {contextParams} contextParams current context params\n */\nTokenizer.prototype.runContextCheck = function(contextParams) {\n var this$1 = this;\n\n var index = contextParams.index;\n this.contextCheckers.forEach(function (contextChecker) {\n var contextName = contextChecker.contextName;\n var openRange = this$1.getContext(contextName).openRange;\n if (!openRange && contextChecker.checkStart(contextParams)) {\n openRange = new ContextRange(index, null, contextName);\n this$1.getContext(contextName).openRange = openRange;\n this$1.dispatch('contextStart', [contextName, index]);\n }\n if (!!openRange && contextChecker.checkEnd(contextParams)) {\n var offset = (index - openRange.startIndex) + 1;\n var range = this$1.setEndOffset(offset, contextName);\n this$1.dispatch('contextEnd', [contextName, range]);\n }\n });\n};\n\n/**\n * Converts a text into a list of tokens\n * @param {string} text a text to tokenize\n */\nTokenizer.prototype.tokenize = function (text) {\n this.tokens = [];\n this.resetContextsRanges();\n var chars = Array.from(text);\n this.dispatch('start');\n for (var i = 0; i < chars.length; i++) {\n var char = chars[i];\n var contextParams = new ContextParams(chars, i);\n this.dispatch('next', [contextParams]);\n this.runContextCheck(contextParams);\n var token = new Token(char);\n this.tokens.push(token);\n this.dispatch('newToken', [token, contextParams]);\n }\n this.dispatch('end', [this.tokens]);\n return this.tokens;\n};\n\n// ╭─┄┄┄────────────────────────┄─────────────────────────────────────────────╮\n// ┊ Character Class Assertions ┊ Checks if a char belongs to a certain class ┊\n// ╰─╾──────────────────────────┄─────────────────────────────────────────────╯\n// jscs:disable maximumLineLength\n/**\n * Check if a char is Arabic\n * @param {string} c a single char\n */\nfunction isArabicChar(c) {\n return /[\\u0600-\\u065F\\u066A-\\u06D2\\u06FA-\\u06FF]/.test(c);\n}\n\n/**\n * Check if a char is an isolated arabic char\n * @param {string} c a single char\n */\nfunction isIsolatedArabicChar(char) {\n return /[\\u0630\\u0690\\u0621\\u0631\\u0661\\u0671\\u0622\\u0632\\u0672\\u0692\\u06C2\\u0623\\u0673\\u0693\\u06C3\\u0624\\u0694\\u06C4\\u0625\\u0675\\u0695\\u06C5\\u06E5\\u0676\\u0696\\u06C6\\u0627\\u0677\\u0697\\u06C7\\u0648\\u0688\\u0698\\u06C8\\u0689\\u0699\\u06C9\\u068A\\u06CA\\u066B\\u068B\\u06CB\\u068C\\u068D\\u06CD\\u06FD\\u068E\\u06EE\\u06FE\\u062F\\u068F\\u06CF\\u06EF]/.test(char);\n}\n\n/**\n * Check if a char is an Arabic Tashkeel char\n * @param {string} c a single char\n */\nfunction isTashkeelArabicChar(char) {\n return /[\\u0600-\\u0605\\u060C-\\u060E\\u0610-\\u061B\\u061E\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED]/.test(char);\n}\n\n/**\n * Check if a char is Latin\n * @param {string} c a single char\n */\nfunction isLatinChar(c) {\n return /[A-z]/.test(c);\n}\n\n/**\n * Check if a char is whitespace char\n * @param {string} c a single char\n */\nfunction isWhiteSpace(c) {\n return /\\s/.test(c);\n}\n\n/**\n * Query a feature by some of it's properties to lookup a glyph substitution.\n */\n\n/**\n * Create feature query instance\n * @param {Font} font opentype font instance\n */\nfunction FeatureQuery(font) {\n this.font = font;\n this.features = {};\n}\n\n/**\n * @typedef SubstitutionAction\n * @type Object\n * @property {number} id substitution type\n * @property {string} tag feature tag\n * @property {any} substitution substitution value(s)\n */\n\n/**\n * Create a substitution action instance\n * @param {SubstitutionAction} action\n */\nfunction SubstitutionAction(action) {\n this.id = action.id;\n this.tag = action.tag;\n this.substitution = action.substitution;\n}\n\n/**\n * Lookup a coverage table\n * @param {number} glyphIndex glyph index\n * @param {CoverageTable} coverage coverage table\n */\nfunction lookupCoverage(glyphIndex, coverage) {\n if (!glyphIndex) { return -1; }\n switch (coverage.format) {\n case 1:\n return coverage.glyphs.indexOf(glyphIndex);\n\n case 2:\n var ranges = coverage.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (glyphIndex >= range.start && glyphIndex <= range.end) {\n var offset = glyphIndex - range.start;\n return range.index + offset;\n }\n }\n break;\n default:\n return -1; // not found\n }\n return -1;\n}\n\n/**\n * Handle a single substitution - format 1\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction singleSubstitutionFormat1(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return glyphIndex + subtable.deltaGlyphId;\n}\n\n/**\n * Handle a single substitution - format 2\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction singleSubstitutionFormat2(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return subtable.substitute[substituteIndex];\n}\n\n/**\n * Lookup a list of coverage tables\n * @param {any} coverageList a list of coverage tables\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction lookupCoverageList(coverageList, contextParams) {\n var lookupList = [];\n for (var i = 0; i < coverageList.length; i++) {\n var coverage = coverageList[i];\n var glyphIndex = contextParams.current;\n glyphIndex = Array.isArray(glyphIndex) ? glyphIndex[0] : glyphIndex;\n var lookupIndex = lookupCoverage(glyphIndex, coverage);\n if (lookupIndex !== -1) {\n lookupList.push(lookupIndex);\n }\n }\n if (lookupList.length !== coverageList.length) { return -1; }\n return lookupList;\n}\n\n/**\n * Handle chaining context substitution - format 3\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction chainingSubstitutionFormat3(contextParams, subtable) {\n var lookupsCount = (\n subtable.inputCoverage.length +\n subtable.lookaheadCoverage.length +\n subtable.backtrackCoverage.length\n );\n if (contextParams.context.length < lookupsCount) { return []; }\n // INPUT LOOKUP //\n var inputLookups = lookupCoverageList(\n subtable.inputCoverage, contextParams\n );\n if (inputLookups === -1) { return []; }\n // LOOKAHEAD LOOKUP //\n var lookaheadOffset = subtable.inputCoverage.length - 1;\n if (contextParams.lookahead.length < subtable.lookaheadCoverage.length) { return []; }\n var lookaheadContext = contextParams.lookahead.slice(lookaheadOffset);\n while (lookaheadContext.length && isTashkeelArabicChar(lookaheadContext[0].char)) {\n lookaheadContext.shift();\n }\n var lookaheadParams = new ContextParams(lookaheadContext, 0);\n var lookaheadLookups = lookupCoverageList(\n subtable.lookaheadCoverage, lookaheadParams\n );\n // BACKTRACK LOOKUP //\n var backtrackContext = [].concat(contextParams.backtrack);\n backtrackContext.reverse();\n while (backtrackContext.length && isTashkeelArabicChar(backtrackContext[0].char)) {\n backtrackContext.shift();\n }\n if (backtrackContext.length < subtable.backtrackCoverage.length) { return []; }\n var backtrackParams = new ContextParams(backtrackContext, 0);\n var backtrackLookups = lookupCoverageList(\n subtable.backtrackCoverage, backtrackParams\n );\n var contextRulesMatch = (\n inputLookups.length === subtable.inputCoverage.length &&\n lookaheadLookups.length === subtable.lookaheadCoverage.length &&\n backtrackLookups.length === subtable.backtrackCoverage.length\n );\n var substitutions = [];\n if (contextRulesMatch) {\n for (var i = 0; i < subtable.lookupRecords.length; i++) {\n var lookupRecord = subtable.lookupRecords[i];\n var lookupListIndex = lookupRecord.lookupListIndex;\n var lookupTable = this.getLookupByIndex(lookupListIndex);\n for (var s = 0; s < lookupTable.subtables.length; s++) {\n var subtable$1 = lookupTable.subtables[s];\n var lookup = this.getLookupMethod(lookupTable, subtable$1);\n var substitutionType = this.getSubstitutionType(lookupTable, subtable$1);\n if (substitutionType === '12') {\n for (var n = 0; n < inputLookups.length; n++) {\n var glyphIndex = contextParams.get(n);\n var substitution = lookup(glyphIndex);\n if (substitution) { substitutions.push(substitution); }\n }\n }\n }\n }\n }\n return substitutions;\n}\n\n/**\n * Handle ligature substitution - format 1\n * @param {ContextParams} contextParams context params to lookup\n */\nfunction ligatureSubstitutionFormat1(contextParams, subtable) {\n // COVERAGE LOOKUP //\n var glyphIndex = contextParams.current;\n var ligSetIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (ligSetIndex === -1) { return null; }\n // COMPONENTS LOOKUP\n // (!) note, components are ordered in the written direction.\n var ligature;\n var ligatureSet = subtable.ligatureSets[ligSetIndex];\n for (var s = 0; s < ligatureSet.length; s++) {\n ligature = ligatureSet[s];\n for (var l = 0; l < ligature.components.length; l++) {\n var lookaheadItem = contextParams.lookahead[l];\n var component = ligature.components[l];\n if (lookaheadItem !== component) { break; }\n if (l === ligature.components.length - 1) { return ligature; }\n }\n }\n return null;\n}\n\n/**\n * Handle decomposition substitution - format 1\n * @param {number} glyphIndex glyph index\n * @param {any} subtable subtable\n */\nfunction decompositionSubstitutionFormat1(glyphIndex, subtable) {\n var substituteIndex = lookupCoverage(glyphIndex, subtable.coverage);\n if (substituteIndex === -1) { return null; }\n return subtable.sequences[substituteIndex];\n}\n\n/**\n * Get default script features indexes\n */\nFeatureQuery.prototype.getDefaultScriptFeaturesIndexes = function () {\n var scripts = this.font.tables.gsub.scripts;\n for (var s = 0; s < scripts.length; s++) {\n var script = scripts[s];\n if (script.tag === 'DFLT') { return (\n script.script.defaultLangSys.featureIndexes\n ); }\n }\n return [];\n};\n\n/**\n * Get feature indexes of a specific script\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.getScriptFeaturesIndexes = function(scriptTag) {\n var tables = this.font.tables;\n if (!tables.gsub) { return []; }\n if (!scriptTag) { return this.getDefaultScriptFeaturesIndexes(); }\n var scripts = this.font.tables.gsub.scripts;\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n if (script.tag === scriptTag && script.script.defaultLangSys) {\n return script.script.defaultLangSys.featureIndexes;\n } else {\n var langSysRecords = script.langSysRecords;\n if (!!langSysRecords) {\n for (var j = 0; j < langSysRecords.length; j++) {\n var langSysRecord = langSysRecords[j];\n if (langSysRecord.tag === scriptTag) {\n var langSys = langSysRecord.langSys;\n return langSys.featureIndexes;\n }\n }\n }\n }\n }\n return this.getDefaultScriptFeaturesIndexes();\n};\n\n/**\n * Map a feature tag to a gsub feature\n * @param {any} features gsub features\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.mapTagsToFeatures = function (features, scriptTag) {\n var tags = {};\n for (var i = 0; i < features.length; i++) {\n var tag = features[i].tag;\n var feature = features[i].feature;\n tags[tag] = feature;\n }\n this.features[scriptTag].tags = tags;\n};\n\n/**\n * Get features of a specific script\n * @param {string} scriptTag script tag\n */\nFeatureQuery.prototype.getScriptFeatures = function (scriptTag) {\n var features = this.features[scriptTag];\n if (this.features.hasOwnProperty(scriptTag)) { return features; }\n var featuresIndexes = this.getScriptFeaturesIndexes(scriptTag);\n if (!featuresIndexes) { return null; }\n var gsub = this.font.tables.gsub;\n features = featuresIndexes.map(function (index) { return gsub.features[index]; });\n this.features[scriptTag] = features;\n this.mapTagsToFeatures(features, scriptTag);\n return features;\n};\n\n/**\n * Get substitution type\n * @param {any} lookupTable lookup table\n * @param {any} subtable subtable\n */\nFeatureQuery.prototype.getSubstitutionType = function(lookupTable, subtable) {\n var lookupType = lookupTable.lookupType.toString();\n var substFormat = subtable.substFormat.toString();\n return lookupType + substFormat;\n};\n\n/**\n * Get lookup method\n * @param {any} lookupTable lookup table\n * @param {any} subtable subtable\n */\nFeatureQuery.prototype.getLookupMethod = function(lookupTable, subtable) {\n var this$1 = this;\n\n var substitutionType = this.getSubstitutionType(lookupTable, subtable);\n switch (substitutionType) {\n case '11':\n return function (glyphIndex) { return singleSubstitutionFormat1.apply(\n this$1, [glyphIndex, subtable]\n ); };\n case '12':\n return function (glyphIndex) { return singleSubstitutionFormat2.apply(\n this$1, [glyphIndex, subtable]\n ); };\n case '63':\n return function (contextParams) { return chainingSubstitutionFormat3.apply(\n this$1, [contextParams, subtable]\n ); };\n case '41':\n return function (contextParams) { return ligatureSubstitutionFormat1.apply(\n this$1, [contextParams, subtable]\n ); };\n case '21':\n return function (glyphIndex) { return decompositionSubstitutionFormat1.apply(\n this$1, [glyphIndex, subtable]\n ); };\n default:\n throw new Error(\n \"lookupType: \" + (lookupTable.lookupType) + \" - \" +\n \"substFormat: \" + (subtable.substFormat) + \" \" +\n \"is not yet supported\"\n );\n }\n};\n\n/**\n * [ LOOKUP TYPES ]\n * -------------------------------\n * Single 1;\n * Multiple 2;\n * Alternate 3;\n * Ligature 4;\n * Context 5;\n * ChainingContext 6;\n * ExtensionSubstitution 7;\n * ReverseChainingContext 8;\n * -------------------------------\n *\n */\n\n/**\n * @typedef FQuery\n * @type Object\n * @param {string} tag feature tag\n * @param {string} script feature script\n * @param {ContextParams} contextParams context params\n */\n\n/**\n * Lookup a feature using a query parameters\n * @param {FQuery} query feature query\n */\nFeatureQuery.prototype.lookupFeature = function (query) {\n var contextParams = query.contextParams;\n var currentIndex = contextParams.index;\n var feature = this.getFeature({\n tag: query.tag, script: query.script\n });\n if (!feature) { return new Error(\n \"font '\" + ((this.font.names.unicode || this.font.names.windows || this.font.names.macintosh).fullName.en) + \"' \" +\n \"doesn't support feature '\" + (query.tag) + \"' \" +\n \"for script '\" + (query.script) + \"'.\"\n ); }\n var lookups = this.getFeatureLookups(feature);\n var substitutions = [].concat(contextParams.context);\n for (var l = 0; l < lookups.length; l++) {\n var lookupTable = lookups[l];\n var subtables = this.getLookupSubtables(lookupTable);\n for (var s = 0; s < subtables.length; s++) {\n var subtable = subtables[s];\n var substType = this.getSubstitutionType(lookupTable, subtable);\n var lookup = this.getLookupMethod(lookupTable, subtable);\n var substitution = (void 0);\n switch (substType) {\n case '11':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 11, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '12':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 12, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '63':\n substitution = lookup(contextParams);\n if (Array.isArray(substitution) && substitution.length) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 63, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '41':\n substitution = lookup(contextParams);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 41, tag: query.tag, substitution: substitution\n }));\n }\n break;\n case '21':\n substitution = lookup(contextParams.current);\n if (substitution) {\n substitutions.splice(currentIndex, 1, new SubstitutionAction({\n id: 21, tag: query.tag, substitution: substitution\n }));\n }\n break;\n }\n contextParams = new ContextParams(substitutions, currentIndex);\n if (Array.isArray(substitution) && !substitution.length) { continue; }\n substitution = null;\n }\n }\n return substitutions.length ? substitutions : null;\n};\n\n/**\n * Checks if a font supports a specific features\n * @param {FQuery} query feature query object\n */\nFeatureQuery.prototype.supports = function (query) {\n if (!query.script) { return false; }\n this.getScriptFeatures(query.script);\n var supportedScript = this.features.hasOwnProperty(query.script);\n if (!query.tag) { return supportedScript; }\n var supportedFeature = (\n this.features[query.script].some(function (feature) { return feature.tag === query.tag; })\n );\n return supportedScript && supportedFeature;\n};\n\n/**\n * Get lookup table subtables\n * @param {any} lookupTable lookup table\n */\nFeatureQuery.prototype.getLookupSubtables = function (lookupTable) {\n return lookupTable.subtables || null;\n};\n\n/**\n * Get lookup table by index\n * @param {number} index lookup table index\n */\nFeatureQuery.prototype.getLookupByIndex = function (index) {\n var lookups = this.font.tables.gsub.lookups;\n return lookups[index] || null;\n};\n\n/**\n * Get lookup tables for a feature\n * @param {string} feature\n */\nFeatureQuery.prototype.getFeatureLookups = function (feature) {\n // TODO: memoize\n return feature.lookupListIndexes.map(this.getLookupByIndex.bind(this));\n};\n\n/**\n * Query a feature by it's properties\n * @param {any} query an object that describes the properties of a query\n */\nFeatureQuery.prototype.getFeature = function getFeature(query) {\n if (!this.font) { return { FAIL: \"No font was found\"}; }\n if (!this.features.hasOwnProperty(query.script)) {\n this.getScriptFeatures(query.script);\n }\n var scriptFeatures = this.features[query.script];\n if (!scriptFeatures) { return (\n { FAIL: (\"No feature for script \" + (query.script))}\n ); }\n if (!scriptFeatures.tags[query.tag]) { return null; }\n return this.features[query.script].tags[query.tag];\n};\n\n/**\n * Arabic word context checkers\n */\n\nfunction arabicWordStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? arabic first char\n (prevChar === null && isArabicChar(char)) ||\n // ? arabic char preceded with a non arabic char\n (!isArabicChar(prevChar) && isArabicChar(char))\n );\n}\n\nfunction arabicWordEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n return (\n // ? last arabic char\n (nextChar === null) ||\n // ? next char is not arabic\n (!isArabicChar(nextChar))\n );\n}\n\nvar arabicWordCheck = {\n startCheck: arabicWordStartCheck,\n endCheck: arabicWordEndCheck\n};\n\n/**\n * Arabic sentence context checkers\n */\n\nfunction arabicSentenceStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? an arabic char preceded with a non arabic char\n (isArabicChar(char) || isTashkeelArabicChar(char)) &&\n !isArabicChar(prevChar)\n );\n}\n\nfunction arabicSentenceEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n switch (true) {\n case nextChar === null:\n return true;\n case (!isArabicChar(nextChar) && !isTashkeelArabicChar(nextChar)):\n var nextIsWhitespace = isWhiteSpace(nextChar);\n if (!nextIsWhitespace) { return true; }\n if (nextIsWhitespace) {\n var arabicCharAhead = false;\n arabicCharAhead = (\n contextParams.lookahead.some(\n function (c) { return isArabicChar(c) || isTashkeelArabicChar(c); }\n )\n );\n if (!arabicCharAhead) { return true; }\n }\n break;\n default:\n return false;\n }\n}\n\nvar arabicSentenceCheck = {\n startCheck: arabicSentenceStartCheck,\n endCheck: arabicSentenceEndCheck\n};\n\n/**\n * Apply single substitution format 1\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction singleSubstitutionFormat1$1(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\n\n/**\n * Apply single substitution format 2\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction singleSubstitutionFormat2$1(action, tokens, index) {\n tokens[index].setState(action.tag, action.substitution);\n}\n\n/**\n * Apply chaining context substitution format 3\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction chainingSubstitutionFormat3$1(action, tokens, index) {\n action.substitution.forEach(function (subst, offset) {\n var token = tokens[index + offset];\n token.setState(action.tag, subst);\n });\n}\n\n/**\n * Apply ligature substitution format 1\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction ligatureSubstitutionFormat1$1(action, tokens, index) {\n var token = tokens[index];\n token.setState(action.tag, action.substitution.ligGlyph);\n var compsCount = action.substitution.components.length;\n for (var i = 0; i < compsCount; i++) {\n token = tokens[index + i + 1];\n token.setState('deleted', true);\n }\n}\n\n/**\n * Supported substitutions\n */\nvar SUBSTITUTIONS = {\n 11: singleSubstitutionFormat1$1,\n 12: singleSubstitutionFormat2$1,\n 63: chainingSubstitutionFormat3$1,\n 41: ligatureSubstitutionFormat1$1\n};\n\n/**\n * Apply substitutions to a list of tokens\n * @param {Array} substitutions substitutions\n * @param {any} tokens a list of tokens\n * @param {number} index token index\n */\nfunction applySubstitution(action, tokens, index) {\n if (action instanceof SubstitutionAction && SUBSTITUTIONS[action.id]) {\n SUBSTITUTIONS[action.id](action, tokens, index);\n }\n}\n\n/**\n * Apply Arabic presentation forms to a range of tokens\n */\n\n/**\n * Check if a char can be connected to it's preceding char\n * @param {ContextParams} charContextParams context params of a char\n */\nfunction willConnectPrev(charContextParams) {\n var backtrack = [].concat(charContextParams.backtrack);\n for (var i = backtrack.length - 1; i >= 0; i--) {\n var prevChar = backtrack[i];\n var isolated = isIsolatedArabicChar(prevChar);\n var tashkeel = isTashkeelArabicChar(prevChar);\n if (!isolated && !tashkeel) { return true; }\n if (isolated) { return false; }\n }\n return false;\n}\n\n/**\n * Check if a char can be connected to it's proceeding char\n * @param {ContextParams} charContextParams context params of a char\n */\nfunction willConnectNext(charContextParams) {\n if (isIsolatedArabicChar(charContextParams.current)) { return false; }\n for (var i = 0; i < charContextParams.lookahead.length; i++) {\n var nextChar = charContextParams.lookahead[i];\n var tashkeel = isTashkeelArabicChar(nextChar);\n if (!tashkeel) { return true; }\n }\n return false;\n}\n\n/**\n * Apply arabic presentation forms to a list of tokens\n * @param {ContextRange} range a range of tokens\n */\nfunction arabicPresentationForms(range) {\n var this$1 = this;\n\n var script = 'arab';\n var tags = this.featuresTags[script];\n var tokens = this.tokenizer.getRangeTokens(range);\n if (tokens.length === 1) { return; }\n var contextParams = new ContextParams(\n tokens.map(function (token) { return token.getState('glyphIndex'); }\n ), 0);\n var charContextParams = new ContextParams(\n tokens.map(function (token) { return token.char; }\n ), 0);\n tokens.forEach(function (token, index) {\n if (isTashkeelArabicChar(token.char)) { return; }\n contextParams.setCurrentIndex(index);\n charContextParams.setCurrentIndex(index);\n var CONNECT = 0; // 2 bits 00 (10: can connect next) (01: can connect prev)\n if (willConnectPrev(charContextParams)) { CONNECT |= 1; }\n if (willConnectNext(charContextParams)) { CONNECT |= 2; }\n var tag;\n switch (CONNECT) {\n case 1: (tag = 'fina'); break;\n case 2: (tag = 'init'); break;\n case 3: (tag = 'medi'); break;\n }\n if (tags.indexOf(tag) === -1) { return; }\n var substitutions = this$1.query.lookupFeature({\n tag: tag, script: script, contextParams: contextParams\n });\n if (substitutions instanceof Error) { return console.info(substitutions.message); }\n substitutions.forEach(function (action, index) {\n if (action instanceof SubstitutionAction) {\n applySubstitution(action, tokens, index);\n contextParams.context[index] = action.substitution;\n }\n });\n });\n}\n\n/**\n * Apply Arabic required ligatures feature to a range of tokens\n */\n\n/**\n * Update context params\n * @param {any} tokens a list of tokens\n * @param {number} index current item index\n */\nfunction getContextParams(tokens, index) {\n var context = tokens.map(function (token) { return token.activeState.value; });\n return new ContextParams(context, index || 0);\n}\n\n/**\n * Apply Arabic required ligatures to a context range\n * @param {ContextRange} range a range of tokens\n */\nfunction arabicRequiredLigatures(range) {\n var this$1 = this;\n\n var script = 'arab';\n var tokens = this.tokenizer.getRangeTokens(range);\n var contextParams = getContextParams(tokens);\n contextParams.context.forEach(function (glyphIndex, index) {\n contextParams.setCurrentIndex(index);\n var substitutions = this$1.query.lookupFeature({\n tag: 'rlig', script: script, contextParams: contextParams\n });\n if (substitutions.length) {\n substitutions.forEach(\n function (action) { return applySubstitution(action, tokens, index); }\n );\n contextParams = getContextParams(tokens);\n }\n });\n}\n\n/**\n * Latin word context checkers\n */\n\nfunction latinWordStartCheck(contextParams) {\n var char = contextParams.current;\n var prevChar = contextParams.get(-1);\n return (\n // ? latin first char\n (prevChar === null && isLatinChar(char)) ||\n // ? latin char preceded with a non latin char\n (!isLatinChar(prevChar) && isLatinChar(char))\n );\n}\n\nfunction latinWordEndCheck(contextParams) {\n var nextChar = contextParams.get(1);\n return (\n // ? last latin char\n (nextChar === null) ||\n // ? next char is not latin\n (!isLatinChar(nextChar))\n );\n}\n\nvar latinWordCheck = {\n startCheck: latinWordStartCheck,\n endCheck: latinWordEndCheck\n};\n\n/**\n * Apply Latin ligature feature to a range of tokens\n */\n\n/**\n * Update context params\n * @param {any} tokens a list of tokens\n * @param {number} index current item index\n */\nfunction getContextParams$1(tokens, index) {\n var context = tokens.map(function (token) { return token.activeState.value; });\n return new ContextParams(context, index || 0);\n}\n\n/**\n * Apply Arabic required ligatures to a context range\n * @param {ContextRange} range a range of tokens\n */\nfunction latinLigature(range) {\n var this$1 = this;\n\n var script = 'latn';\n var tokens = this.tokenizer.getRangeTokens(range);\n var contextParams = getContextParams$1(tokens);\n contextParams.context.forEach(function (glyphIndex, index) {\n contextParams.setCurrentIndex(index);\n var substitutions = this$1.query.lookupFeature({\n tag: 'liga', script: script, contextParams: contextParams\n });\n if (substitutions.length) {\n substitutions.forEach(\n function (action) { return applySubstitution(action, tokens, index); }\n );\n contextParams = getContextParams$1(tokens);\n }\n });\n}\n\n/**\n * Infer bidirectional properties for a given text and apply\n * the corresponding layout rules.\n */\n\n/**\n * Create Bidi. features\n * @param {string} baseDir text base direction. value either 'ltr' or 'rtl'\n */\nfunction Bidi(baseDir) {\n this.baseDir = baseDir || 'ltr';\n this.tokenizer = new Tokenizer();\n this.featuresTags = {};\n}\n\n/**\n * Sets Bidi text\n * @param {string} text a text input\n */\nBidi.prototype.setText = function (text) {\n this.text = text;\n};\n\n/**\n * Store essential context checks:\n * arabic word check for applying gsub features\n * arabic sentence check for adjusting arabic layout\n */\nBidi.prototype.contextChecks = ({\n latinWordCheck: latinWordCheck,\n arabicWordCheck: arabicWordCheck,\n arabicSentenceCheck: arabicSentenceCheck\n});\n\n/**\n * Register arabic word check\n */\nfunction registerContextChecker(checkId) {\n var check = this.contextChecks[(checkId + \"Check\")];\n return this.tokenizer.registerContextChecker(\n checkId, check.startCheck, check.endCheck\n );\n}\n\n/**\n * Perform pre tokenization procedure then\n * tokenize text input\n */\nfunction tokenizeText() {\n registerContextChecker.call(this, 'latinWord');\n registerContextChecker.call(this, 'arabicWord');\n registerContextChecker.call(this, 'arabicSentence');\n return this.tokenizer.tokenize(this.text);\n}\n\n/**\n * Reverse arabic sentence layout\n * TODO: check base dir before applying adjustments - priority low\n */\nfunction reverseArabicSentences() {\n var this$1 = this;\n\n var ranges = this.tokenizer.getContextRanges('arabicSentence');\n ranges.forEach(function (range) {\n var rangeTokens = this$1.tokenizer.getRangeTokens(range);\n this$1.tokenizer.replaceRange(\n range.startIndex,\n range.endOffset,\n rangeTokens.reverse()\n );\n });\n}\n\n/**\n * Register supported features tags\n * @param {script} script script tag\n * @param {Array} tags features tags list\n */\nBidi.prototype.registerFeatures = function (script, tags) {\n var this$1 = this;\n\n var supportedTags = tags.filter(\n function (tag) { return this$1.query.supports({script: script, tag: tag}); }\n );\n if (!this.featuresTags.hasOwnProperty(script)) {\n this.featuresTags[script] = supportedTags;\n } else {\n this.featuresTags[script] =\n this.featuresTags[script].concat(supportedTags);\n }\n};\n\n/**\n * Apply GSUB features\n * @param {Array} tagsList a list of features tags\n * @param {string} script a script tag\n * @param {Font} font opentype font instance\n */\nBidi.prototype.applyFeatures = function (font, features) {\n if (!font) { throw new Error(\n 'No valid font was provided to apply features'\n ); }\n if (!this.query) { this.query = new FeatureQuery(font); }\n for (var f = 0; f < features.length; f++) {\n var feature = features[f];\n if (!this.query.supports({script: feature.script})) { continue; }\n this.registerFeatures(feature.script, feature.tags);\n }\n};\n\n/**\n * Register a state modifier\n * @param {string} modifierId state modifier id\n * @param {function} condition a predicate function that returns true or false\n * @param {function} modifier a modifier function to set token state\n */\nBidi.prototype.registerModifier = function (modifierId, condition, modifier) {\n this.tokenizer.registerModifier(modifierId, condition, modifier);\n};\n\n/**\n * Check if 'glyphIndex' is registered\n */\nfunction checkGlyphIndexStatus() {\n if (this.tokenizer.registeredModifiers.indexOf('glyphIndex') === -1) {\n throw new Error(\n 'glyphIndex modifier is required to apply ' +\n 'arabic presentation features.'\n );\n }\n}\n\n/**\n * Apply arabic presentation forms features\n */\nfunction applyArabicPresentationForms() {\n var this$1 = this;\n\n var script = 'arab';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('arabicWord');\n ranges.forEach(function (range) {\n arabicPresentationForms.call(this$1, range);\n });\n}\n\n/**\n * Apply required arabic ligatures\n */\nfunction applyArabicRequireLigatures() {\n var this$1 = this;\n\n var script = 'arab';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n var tags = this.featuresTags[script];\n if (tags.indexOf('rlig') === -1) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('arabicWord');\n ranges.forEach(function (range) {\n arabicRequiredLigatures.call(this$1, range);\n });\n}\n\n/**\n * Apply required arabic ligatures\n */\nfunction applyLatinLigatures() {\n var this$1 = this;\n\n var script = 'latn';\n if (!this.featuresTags.hasOwnProperty(script)) { return; }\n var tags = this.featuresTags[script];\n if (tags.indexOf('liga') === -1) { return; }\n checkGlyphIndexStatus.call(this);\n var ranges = this.tokenizer.getContextRanges('latinWord');\n ranges.forEach(function (range) {\n latinLigature.call(this$1, range);\n });\n}\n\n/**\n * Check if a context is registered\n * @param {string} contextId context id\n */\nBidi.prototype.checkContextReady = function (contextId) {\n return !!this.tokenizer.getContext(contextId);\n};\n\n/**\n * Apply features to registered contexts\n */\nBidi.prototype.applyFeaturesToContexts = function () {\n if (this.checkContextReady('arabicWord')) {\n applyArabicPresentationForms.call(this);\n applyArabicRequireLigatures.call(this);\n }\n if (this.checkContextReady('latinWord')) {\n applyLatinLigatures.call(this);\n }\n if (this.checkContextReady('arabicSentence')) {\n reverseArabicSentences.call(this);\n }\n};\n\n/**\n * process text input\n * @param {string} text an input text\n */\nBidi.prototype.processText = function(text) {\n if (!this.text || this.text !== text) {\n this.setText(text);\n tokenizeText.call(this);\n this.applyFeaturesToContexts();\n }\n};\n\n/**\n * Process a string of text to identify and adjust\n * bidirectional text entities.\n * @param {string} text input text\n */\nBidi.prototype.getBidiText = function (text) {\n this.processText(text);\n return this.tokenizer.getText();\n};\n\n/**\n * Get the current state index of each token\n * @param {text} text an input text\n */\nBidi.prototype.getTextGlyphs = function (text) {\n this.processText(text);\n var indexes = [];\n for (var i = 0; i < this.tokenizer.tokens.length; i++) {\n var token = this.tokenizer.tokens[i];\n if (token.state.deleted) { continue; }\n var index = token.activeState.value;\n indexes.push(Array.isArray(index) ? index[0] : index);\n }\n return indexes;\n};\n\n// The Font object\n\nfunction createDefaultNamesInfo(options) {\n return {\n fontFamily: {en: options.familyName || ' '},\n fontSubfamily: {en: options.styleName || ' '},\n fullName: {en: options.fullName || options.familyName + ' ' + options.styleName},\n // postScriptName may not contain any whitespace\n postScriptName: {en: options.postScriptName || (options.familyName + options.styleName).replace(/\\s/g, '')},\n designer: {en: options.designer || ' '},\n designerURL: {en: options.designerURL || ' '},\n manufacturer: {en: options.manufacturer || ' '},\n manufacturerURL: {en: options.manufacturerURL || ' '},\n license: {en: options.license || ' '},\n licenseURL: {en: options.licenseURL || ' '},\n version: {en: options.version || 'Version 0.1'},\n description: {en: options.description || ' '},\n copyright: {en: options.copyright || ' '},\n trademark: {en: options.trademark || ' '}\n };\n}\n\n/**\n * @typedef FontOptions\n * @type Object\n * @property {Boolean} empty - whether to create a new empty font\n * @property {string} familyName\n * @property {string} styleName\n * @property {string=} fullName\n * @property {string=} postScriptName\n * @property {string=} designer\n * @property {string=} designerURL\n * @property {string=} manufacturer\n * @property {string=} manufacturerURL\n * @property {string=} license\n * @property {string=} licenseURL\n * @property {string=} version\n * @property {string=} description\n * @property {string=} copyright\n * @property {string=} trademark\n * @property {Number} unitsPerEm\n * @property {Number} ascender\n * @property {Number} descender\n * @property {Number} createdTimestamp\n * @property {string=} weightClass\n * @property {string=} widthClass\n * @property {string=} fsSelection\n */\n\n/**\n * A Font represents a loaded OpenType font file.\n * It contains a set of glyphs and methods to draw text on a drawing context,\n * or to get a path representing the text.\n * @exports opentype.Font\n * @class\n * @param {FontOptions}\n * @constructor\n */\nfunction Font(options) {\n options = options || {};\n options.tables = options.tables || {};\n\n if (!options.empty) {\n // Check that we've provided the minimum set of names.\n checkArgument(options.familyName, 'When creating a new Font object, familyName is required.');\n checkArgument(options.styleName, 'When creating a new Font object, styleName is required.');\n checkArgument(options.unitsPerEm, 'When creating a new Font object, unitsPerEm is required.');\n checkArgument(options.ascender, 'When creating a new Font object, ascender is required.');\n checkArgument(options.descender <= 0, 'When creating a new Font object, negative descender value is required.');\n\n // OS X will complain if the names are empty, so we put a single space everywhere by default.\n this.names = {};\n this.names.unicode = createDefaultNamesInfo(options);\n this.names.macintosh = createDefaultNamesInfo(options);\n this.names.windows = createDefaultNamesInfo(options);\n this.unitsPerEm = options.unitsPerEm || 1000;\n this.ascender = options.ascender;\n this.descender = options.descender;\n this.createdTimestamp = options.createdTimestamp;\n this.tables = Object.assign(options.tables, {\n os2: Object.assign({\n usWeightClass: options.weightClass || this.usWeightClasses.MEDIUM,\n usWidthClass: options.widthClass || this.usWidthClasses.MEDIUM,\n fsSelection: options.fsSelection || this.fsSelectionValues.REGULAR,\n }, options.tables.os2)\n });\n }\n\n this.supported = true; // Deprecated: parseBuffer will throw an error if font is not supported.\n this.glyphs = new glyphset.GlyphSet(this, options.glyphs || []);\n this.encoding = new DefaultEncoding(this);\n this.position = new Position(this);\n this.substitution = new Substitution(this);\n this.tables = this.tables || {};\n\n // needed for low memory mode only.\n this._push = null;\n this._hmtxTableData = {};\n\n Object.defineProperty(this, 'hinting', {\n get: function() {\n if (this._hinting) { return this._hinting; }\n if (this.outlinesFormat === 'truetype') {\n return (this._hinting = new Hinting(this));\n }\n }\n });\n}\n\n/**\n * Check if the font has a glyph for the given character.\n * @param {string}\n * @return {Boolean}\n */\nFont.prototype.hasChar = function(c) {\n return this.encoding.charToGlyphIndex(c) !== null;\n};\n\n/**\n * Convert the given character to a single glyph index.\n * Note that this function assumes that there is a one-to-one mapping between\n * the given character and a glyph; for complex scripts this might not be the case.\n * @param {string}\n * @return {Number}\n */\nFont.prototype.charToGlyphIndex = function(s) {\n return this.encoding.charToGlyphIndex(s);\n};\n\n/**\n * Convert the given character to a single Glyph object.\n * Note that this function assumes that there is a one-to-one mapping between\n * the given character and a glyph; for complex scripts this might not be the case.\n * @param {string}\n * @return {opentype.Glyph}\n */\nFont.prototype.charToGlyph = function(c) {\n var glyphIndex = this.charToGlyphIndex(c);\n var glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n // .notdef\n glyph = this.glyphs.get(0);\n }\n\n return glyph;\n};\n\n/**\n * Update features\n * @param {any} options features options\n */\nFont.prototype.updateFeatures = function (options) {\n // TODO: update all features options not only 'latn'.\n return this.defaultRenderOptions.features.map(function (feature) {\n if (feature.script === 'latn') {\n return {\n script: 'latn',\n tags: feature.tags.filter(function (tag) { return options[tag]; })\n };\n } else {\n return feature;\n }\n });\n};\n\n/**\n * Convert the given text to a list of Glyph objects.\n * Note that there is no strict one-to-one mapping between characters and\n * glyphs, so the list of returned glyphs can be larger or smaller than the\n * length of the given string.\n * @param {string}\n * @param {GlyphRenderOptions} [options]\n * @return {opentype.Glyph[]}\n */\nFont.prototype.stringToGlyphs = function(s, options) {\n var this$1 = this;\n\n\n var bidi = new Bidi();\n\n // Create and register 'glyphIndex' state modifier\n var charToGlyphIndexMod = function (token) { return this$1.charToGlyphIndex(token.char); };\n bidi.registerModifier('glyphIndex', null, charToGlyphIndexMod);\n\n // roll-back to default features\n var features = options ?\n this.updateFeatures(options.features) :\n this.defaultRenderOptions.features;\n\n bidi.applyFeatures(this, features);\n\n var indexes = bidi.getTextGlyphs(s);\n\n var length = indexes.length;\n\n // convert glyph indexes to glyph objects\n var glyphs = new Array(length);\n var notdef = this.glyphs.get(0);\n for (var i = 0; i < length; i += 1) {\n glyphs[i] = this.glyphs.get(indexes[i]) || notdef;\n }\n return glyphs;\n};\n\n/**\n * @param {string}\n * @return {Number}\n */\nFont.prototype.nameToGlyphIndex = function(name) {\n return this.glyphNames.nameToGlyphIndex(name);\n};\n\n/**\n * @param {string}\n * @return {opentype.Glyph}\n */\nFont.prototype.nameToGlyph = function(name) {\n var glyphIndex = this.nameToGlyphIndex(name);\n var glyph = this.glyphs.get(glyphIndex);\n if (!glyph) {\n // .notdef\n glyph = this.glyphs.get(0);\n }\n\n return glyph;\n};\n\n/**\n * @param {Number}\n * @return {String}\n */\nFont.prototype.glyphIndexToName = function(gid) {\n if (!this.glyphNames.glyphIndexToName) {\n return '';\n }\n\n return this.glyphNames.glyphIndexToName(gid);\n};\n\n/**\n * Retrieve the value of the kerning pair between the left glyph (or its index)\n * and the right glyph (or its index). If no kerning pair is found, return 0.\n * The kerning value gets added to the advance width when calculating the spacing\n * between glyphs.\n * For GPOS kerning, this method uses the default script and language, which covers\n * most use cases. To have greater control, use font.position.getKerningValue .\n * @param {opentype.Glyph} leftGlyph\n * @param {opentype.Glyph} rightGlyph\n * @return {Number}\n */\nFont.prototype.getKerningValue = function(leftGlyph, rightGlyph) {\n leftGlyph = leftGlyph.index || leftGlyph;\n rightGlyph = rightGlyph.index || rightGlyph;\n var gposKerning = this.position.defaultKerningTables;\n if (gposKerning) {\n return this.position.getKerningValue(gposKerning, leftGlyph, rightGlyph);\n }\n // \"kern\" table\n return this.kerningPairs[leftGlyph + ',' + rightGlyph] || 0;\n};\n\n/**\n * @typedef GlyphRenderOptions\n * @type Object\n * @property {string} [script] - script used to determine which features to apply. By default, 'DFLT' or 'latn' is used.\n * See https://www.microsoft.com/typography/otspec/scripttags.htm\n * @property {string} [language='dflt'] - language system used to determine which features to apply.\n * See https://www.microsoft.com/typography/developers/opentype/languagetags.aspx\n * @property {boolean} [kerning=true] - whether to include kerning values\n * @property {object} [features] - OpenType Layout feature tags. Used to enable or disable the features of the given script/language system.\n * See https://www.microsoft.com/typography/otspec/featuretags.htm\n */\nFont.prototype.defaultRenderOptions = {\n kerning: true,\n features: [\n /**\n * these 4 features are required to render Arabic text properly\n * and shouldn't be turned off when rendering arabic text.\n */\n { script: 'arab', tags: ['init', 'medi', 'fina', 'rlig'] },\n { script: 'latn', tags: ['liga', 'rlig'] }\n ]\n};\n\n/**\n * Helper function that invokes the given callback for each glyph in the given text.\n * The callback gets `(glyph, x, y, fontSize, options)`.* @param {string} text\n * @param {string} text - The text to apply.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @param {Function} callback\n */\nFont.prototype.forEachGlyph = function(text, x, y, fontSize, options, callback) {\n x = x !== undefined ? x : 0;\n y = y !== undefined ? y : 0;\n fontSize = fontSize !== undefined ? fontSize : 72;\n options = Object.assign({}, this.defaultRenderOptions, options);\n var fontScale = 1 / this.unitsPerEm * fontSize;\n var glyphs = this.stringToGlyphs(text, options);\n var kerningLookups;\n if (options.kerning) {\n var script = options.script || this.position.getDefaultScriptName();\n kerningLookups = this.position.getKerningTables(script, options.language);\n }\n for (var i = 0; i < glyphs.length; i += 1) {\n var glyph = glyphs[i];\n callback.call(this, glyph, x, y, fontSize, options);\n if (glyph.advanceWidth) {\n x += glyph.advanceWidth * fontScale;\n }\n\n if (options.kerning && i < glyphs.length - 1) {\n // We should apply position adjustment lookups in a more generic way.\n // Here we only use the xAdvance value.\n var kerningValue = kerningLookups ?\n this.position.getKerningValue(kerningLookups, glyph.index, glyphs[i + 1].index) :\n this.getKerningValue(glyph, glyphs[i + 1]);\n x += kerningValue * fontScale;\n }\n\n if (options.letterSpacing) {\n x += options.letterSpacing * fontSize;\n } else if (options.tracking) {\n x += (options.tracking / 1000) * fontSize;\n }\n }\n return x;\n};\n\n/**\n * Create a Path object that represents the given text.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return {opentype.Path}\n */\nFont.prototype.getPath = function(text, x, y, fontSize, options) {\n var fullPath = new Path();\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n var glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n fullPath.extend(glyphPath);\n });\n return fullPath;\n};\n\n/**\n * Create an array of Path objects that represent the glyphs of a given text.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return {opentype.Path[]}\n */\nFont.prototype.getPaths = function(text, x, y, fontSize, options) {\n var glyphPaths = [];\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n var glyphPath = glyph.getPath(gX, gY, gFontSize, options, this);\n glyphPaths.push(glyphPath);\n });\n\n return glyphPaths;\n};\n\n/**\n * Returns the advance width of a text.\n *\n * This is something different than Path.getBoundingBox() as for example a\n * suffixed whitespace increases the advanceWidth but not the bounding box\n * or an overhanging letter like a calligraphic 'f' might have a quite larger\n * bounding box than its advance width.\n *\n * This corresponds to canvas2dContext.measureText(text).width\n *\n * @param {string} text - The text to create.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n * @return advance width\n */\nFont.prototype.getAdvanceWidth = function(text, fontSize, options) {\n return this.forEachGlyph(text, 0, 0, fontSize, options, function() {});\n};\n\n/**\n * Draw the text on the given drawing context.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.draw = function(ctx, text, x, y, fontSize, options) {\n this.getPath(text, x, y, fontSize, options).draw(ctx);\n};\n\n/**\n * Draw the points of all glyphs in the text.\n * On-curve points will be drawn in blue, off-curve points will be drawn in red.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.drawPoints = function(ctx, text, x, y, fontSize, options) {\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawPoints(ctx, gX, gY, gFontSize);\n });\n};\n\n/**\n * Draw lines indicating important font measurements for all glyphs in the text.\n * Black lines indicate the origin of the coordinate system (point 0,0).\n * Blue lines indicate the glyph bounding box.\n * Green line indicates the advance width of the glyph.\n * @param {CanvasRenderingContext2D} ctx - A 2D drawing context, like Canvas.\n * @param {string} text - The text to create.\n * @param {number} [x=0] - Horizontal position of the beginning of the text.\n * @param {number} [y=0] - Vertical position of the *baseline* of the text.\n * @param {number} [fontSize=72] - Font size in pixels. We scale the glyph units by `1 / unitsPerEm * fontSize`.\n * @param {GlyphRenderOptions=} options\n */\nFont.prototype.drawMetrics = function(ctx, text, x, y, fontSize, options) {\n this.forEachGlyph(text, x, y, fontSize, options, function(glyph, gX, gY, gFontSize) {\n glyph.drawMetrics(ctx, gX, gY, gFontSize);\n });\n};\n\n/**\n * @param {string}\n * @return {string}\n */\nFont.prototype.getEnglishName = function(name) {\n var translations = (this.names.unicode || this.names.macintosh || this.names.windows)[name];\n if (translations) {\n return translations.en;\n }\n};\n\n/**\n * Validate\n */\nFont.prototype.validate = function() {\n var _this = this;\n\n function assert(predicate, message) {\n }\n\n function assertNamePresent(name) {\n var englishName = _this.getEnglishName(name);\n assert(englishName && englishName.trim().length > 0);\n }\n\n // Identification information\n assertNamePresent('fontFamily');\n assertNamePresent('weightName');\n assertNamePresent('manufacturer');\n assertNamePresent('copyright');\n assertNamePresent('version');\n\n // Dimension information\n assert(this.unitsPerEm > 0);\n};\n\n/**\n * Convert the font object to a SFNT data structure.\n * This structure contains all the necessary tables and metadata to create a binary OTF file.\n * @return {opentype.Table}\n */\nFont.prototype.toTables = function() {\n return sfnt.fontToTable(this);\n};\n/**\n * @deprecated Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\n */\nFont.prototype.toBuffer = function() {\n console.warn('Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.');\n return this.toArrayBuffer();\n};\n/**\n * Converts a `opentype.Font` into an `ArrayBuffer`\n * @return {ArrayBuffer}\n */\nFont.prototype.toArrayBuffer = function() {\n var sfntTable = this.toTables();\n var bytes = sfntTable.encode();\n var buffer = new ArrayBuffer(bytes.length);\n var intArray = new Uint8Array(buffer);\n for (var i = 0; i < bytes.length; i++) {\n intArray[i] = bytes[i];\n }\n\n return buffer;\n};\n\n/**\n * Initiate a download of the OpenType font.\n */\nFont.prototype.download = function(fileName) {\n var familyName = this.getEnglishName('fontFamily');\n var styleName = this.getEnglishName('fontSubfamily');\n fileName = fileName || familyName.replace(/\\s/g, '') + '-' + styleName + '.otf';\n var arrayBuffer = this.toArrayBuffer();\n\n if (isBrowser()) {\n window.URL = window.URL || window.webkitURL;\n\n if (window.URL) {\n var dataView = new DataView(arrayBuffer);\n var blob = new Blob([dataView], {type: 'font/opentype'});\n\n var link = document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n\n var event = document.createEvent('MouseEvents');\n event.initEvent('click', true, false);\n link.dispatchEvent(event);\n } else {\n console.warn('Font file could not be downloaded. Try using a different browser.');\n }\n } else {\n var fs = require('fs');\n var buffer = arrayBufferToNodeBuffer(arrayBuffer);\n fs.writeFileSync(fileName, buffer);\n }\n};\n/**\n * @private\n */\nFont.prototype.fsSelectionValues = {\n ITALIC: 0x001, //1\n UNDERSCORE: 0x002, //2\n NEGATIVE: 0x004, //4\n OUTLINED: 0x008, //8\n STRIKEOUT: 0x010, //16\n BOLD: 0x020, //32\n REGULAR: 0x040, //64\n USER_TYPO_METRICS: 0x080, //128\n WWS: 0x100, //256\n OBLIQUE: 0x200 //512\n};\n\n/**\n * @private\n */\nFont.prototype.usWidthClasses = {\n ULTRA_CONDENSED: 1,\n EXTRA_CONDENSED: 2,\n CONDENSED: 3,\n SEMI_CONDENSED: 4,\n MEDIUM: 5,\n SEMI_EXPANDED: 6,\n EXPANDED: 7,\n EXTRA_EXPANDED: 8,\n ULTRA_EXPANDED: 9\n};\n\n/**\n * @private\n */\nFont.prototype.usWeightClasses = {\n THIN: 100,\n EXTRA_LIGHT: 200,\n LIGHT: 300,\n NORMAL: 400,\n MEDIUM: 500,\n SEMI_BOLD: 600,\n BOLD: 700,\n EXTRA_BOLD: 800,\n BLACK: 900\n};\n\n// The `fvar` table stores font variation axes and instances.\n\nfunction addName(name, names) {\n var nameString = JSON.stringify(name);\n var nameID = 256;\n for (var nameKey in names) {\n var n = parseInt(nameKey);\n if (!n || n < 256) {\n continue;\n }\n\n if (JSON.stringify(names[nameKey]) === nameString) {\n return n;\n }\n\n if (nameID <= n) {\n nameID = n + 1;\n }\n }\n\n names[nameID] = name;\n return nameID;\n}\n\nfunction makeFvarAxis(n, axis, names) {\n var nameID = addName(axis.name, names);\n return [\n {name: 'tag_' + n, type: 'TAG', value: axis.tag},\n {name: 'minValue_' + n, type: 'FIXED', value: axis.minValue << 16},\n {name: 'defaultValue_' + n, type: 'FIXED', value: axis.defaultValue << 16},\n {name: 'maxValue_' + n, type: 'FIXED', value: axis.maxValue << 16},\n {name: 'flags_' + n, type: 'USHORT', value: 0},\n {name: 'nameID_' + n, type: 'USHORT', value: nameID}\n ];\n}\n\nfunction parseFvarAxis(data, start, names) {\n var axis = {};\n var p = new parse.Parser(data, start);\n axis.tag = p.parseTag();\n axis.minValue = p.parseFixed();\n axis.defaultValue = p.parseFixed();\n axis.maxValue = p.parseFixed();\n p.skip('uShort', 1); // reserved for flags; no values defined\n axis.name = names[p.parseUShort()] || {};\n return axis;\n}\n\nfunction makeFvarInstance(n, inst, axes, names) {\n var nameID = addName(inst.name, names);\n var fields = [\n {name: 'nameID_' + n, type: 'USHORT', value: nameID},\n {name: 'flags_' + n, type: 'USHORT', value: 0}\n ];\n\n for (var i = 0; i < axes.length; ++i) {\n var axisTag = axes[i].tag;\n fields.push({\n name: 'axis_' + n + ' ' + axisTag,\n type: 'FIXED',\n value: inst.coordinates[axisTag] << 16\n });\n }\n\n return fields;\n}\n\nfunction parseFvarInstance(data, start, axes, names) {\n var inst = {};\n var p = new parse.Parser(data, start);\n inst.name = names[p.parseUShort()] || {};\n p.skip('uShort', 1); // reserved for flags; no values defined\n\n inst.coordinates = {};\n for (var i = 0; i < axes.length; ++i) {\n inst.coordinates[axes[i].tag] = p.parseFixed();\n }\n\n return inst;\n}\n\nfunction makeFvarTable(fvar, names) {\n var result = new table.Table('fvar', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'offsetToData', type: 'USHORT', value: 0},\n {name: 'countSizePairs', type: 'USHORT', value: 2},\n {name: 'axisCount', type: 'USHORT', value: fvar.axes.length},\n {name: 'axisSize', type: 'USHORT', value: 20},\n {name: 'instanceCount', type: 'USHORT', value: fvar.instances.length},\n {name: 'instanceSize', type: 'USHORT', value: 4 + fvar.axes.length * 4}\n ]);\n result.offsetToData = result.sizeOf();\n\n for (var i = 0; i < fvar.axes.length; i++) {\n result.fields = result.fields.concat(makeFvarAxis(i, fvar.axes[i], names));\n }\n\n for (var j = 0; j < fvar.instances.length; j++) {\n result.fields = result.fields.concat(makeFvarInstance(j, fvar.instances[j], fvar.axes, names));\n }\n\n return result;\n}\n\nfunction parseFvarTable(data, start, names) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseULong();\n check.argument(tableVersion === 0x00010000, 'Unsupported fvar table version.');\n var offsetToData = p.parseOffset16();\n // Skip countSizePairs.\n p.skip('uShort', 1);\n var axisCount = p.parseUShort();\n var axisSize = p.parseUShort();\n var instanceCount = p.parseUShort();\n var instanceSize = p.parseUShort();\n\n var axes = [];\n for (var i = 0; i < axisCount; i++) {\n axes.push(parseFvarAxis(data, start + offsetToData + i * axisSize, names));\n }\n\n var instances = [];\n var instanceStart = start + offsetToData + axisCount * axisSize;\n for (var j = 0; j < instanceCount; j++) {\n instances.push(parseFvarInstance(data, instanceStart + j * instanceSize, axes, names));\n }\n\n return {axes: axes, instances: instances};\n}\n\nvar fvar = { make: makeFvarTable, parse: parseFvarTable };\n\n// The `GDEF` table contains various glyph properties\n\nvar attachList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n attachPoints: this.parseList(Parser.pointer(Parser.uShortList))\n };\n};\n\nvar caretValue = function() {\n var format = this.parseUShort();\n check.argument(format === 1 || format === 2 || format === 3,\n 'Unsupported CaretValue table version.');\n if (format === 1) {\n return { coordinate: this.parseShort() };\n } else if (format === 2) {\n return { pointindex: this.parseShort() };\n } else if (format === 3) {\n // Device / Variation Index tables unsupported\n return { coordinate: this.parseShort() };\n }\n};\n\nvar ligGlyph = function() {\n return this.parseList(Parser.pointer(caretValue));\n};\n\nvar ligCaretList = function() {\n return {\n coverage: this.parsePointer(Parser.coverage),\n ligGlyphs: this.parseList(Parser.pointer(ligGlyph))\n };\n};\n\nvar markGlyphSets = function() {\n this.parseUShort(); // Version\n return this.parseList(Parser.pointer(Parser.coverage));\n};\n\nfunction parseGDEFTable(data, start) {\n start = start || 0;\n var p = new Parser(data, start);\n var tableVersion = p.parseVersion(1);\n check.argument(tableVersion === 1 || tableVersion === 1.2 || tableVersion === 1.3,\n 'Unsupported GDEF table version.');\n var gdef = {\n version: tableVersion,\n classDef: p.parsePointer(Parser.classDef),\n attachList: p.parsePointer(attachList),\n ligCaretList: p.parsePointer(ligCaretList),\n markAttachClassDef: p.parsePointer(Parser.classDef)\n };\n if (tableVersion >= 1.2) {\n gdef.markGlyphSets = p.parsePointer(markGlyphSets);\n }\n return gdef;\n}\nvar gdef = { parse: parseGDEFTable };\n\n// The `GPOS` table contains kerning pairs, among other things.\n\nvar subtableParsers$1 = new Array(10); // subtableParsers[0] is unused\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#lookup-type-1-single-adjustment-positioning-subtable\n// this = Parser instance\nsubtableParsers$1[1] = function parseLookup1() {\n var start = this.offset + this.relativeOffset;\n var posformat = this.parseUShort();\n if (posformat === 1) {\n return {\n posFormat: 1,\n coverage: this.parsePointer(Parser.coverage),\n value: this.parseValueRecord()\n };\n } else if (posformat === 2) {\n return {\n posFormat: 2,\n coverage: this.parsePointer(Parser.coverage),\n values: this.parseValueRecordList()\n };\n }\n check.assert(false, '0x' + start.toString(16) + ': GPOS lookup type 1 format must be 1 or 2.');\n};\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos#lookup-type-2-pair-adjustment-positioning-subtable\nsubtableParsers$1[2] = function parseLookup2() {\n var start = this.offset + this.relativeOffset;\n var posFormat = this.parseUShort();\n check.assert(posFormat === 1 || posFormat === 2, '0x' + start.toString(16) + ': GPOS lookup type 2 format must be 1 or 2.');\n var coverage = this.parsePointer(Parser.coverage);\n var valueFormat1 = this.parseUShort();\n var valueFormat2 = this.parseUShort();\n if (posFormat === 1) {\n // Adjustments for Glyph Pairs\n return {\n posFormat: posFormat,\n coverage: coverage,\n valueFormat1: valueFormat1,\n valueFormat2: valueFormat2,\n pairSets: this.parseList(Parser.pointer(Parser.list(function() {\n return { // pairValueRecord\n secondGlyph: this.parseUShort(),\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n })))\n };\n } else if (posFormat === 2) {\n var classDef1 = this.parsePointer(Parser.classDef);\n var classDef2 = this.parsePointer(Parser.classDef);\n var class1Count = this.parseUShort();\n var class2Count = this.parseUShort();\n return {\n // Class Pair Adjustment\n posFormat: posFormat,\n coverage: coverage,\n valueFormat1: valueFormat1,\n valueFormat2: valueFormat2,\n classDef1: classDef1,\n classDef2: classDef2,\n class1Count: class1Count,\n class2Count: class2Count,\n classRecords: this.parseList(class1Count, Parser.list(class2Count, function() {\n return {\n value1: this.parseValueRecord(valueFormat1),\n value2: this.parseValueRecord(valueFormat2)\n };\n }))\n };\n }\n};\n\nsubtableParsers$1[3] = function parseLookup3() { return { error: 'GPOS Lookup 3 not supported' }; };\nsubtableParsers$1[4] = function parseLookup4() { return { error: 'GPOS Lookup 4 not supported' }; };\nsubtableParsers$1[5] = function parseLookup5() { return { error: 'GPOS Lookup 5 not supported' }; };\nsubtableParsers$1[6] = function parseLookup6() { return { error: 'GPOS Lookup 6 not supported' }; };\nsubtableParsers$1[7] = function parseLookup7() { return { error: 'GPOS Lookup 7 not supported' }; };\nsubtableParsers$1[8] = function parseLookup8() { return { error: 'GPOS Lookup 8 not supported' }; };\nsubtableParsers$1[9] = function parseLookup9() { return { error: 'GPOS Lookup 9 not supported' }; };\n\n// https://docs.microsoft.com/en-us/typography/opentype/spec/gpos\nfunction parseGposTable(data, start) {\n start = start || 0;\n var p = new Parser(data, start);\n var tableVersion = p.parseVersion(1);\n check.argument(tableVersion === 1 || tableVersion === 1.1, 'Unsupported GPOS table version ' + tableVersion);\n\n if (tableVersion === 1) {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers$1)\n };\n } else {\n return {\n version: tableVersion,\n scripts: p.parseScriptList(),\n features: p.parseFeatureList(),\n lookups: p.parseLookupList(subtableParsers$1),\n variations: p.parseFeatureVariationsList()\n };\n }\n\n}\n\n// GPOS Writing //////////////////////////////////////////////\n// NOT SUPPORTED\nvar subtableMakers$1 = new Array(10);\n\nfunction makeGposTable(gpos) {\n return new table.Table('GPOS', [\n {name: 'version', type: 'ULONG', value: 0x10000},\n {name: 'scripts', type: 'TABLE', value: new table.ScriptList(gpos.scripts)},\n {name: 'features', type: 'TABLE', value: new table.FeatureList(gpos.features)},\n {name: 'lookups', type: 'TABLE', value: new table.LookupList(gpos.lookups, subtableMakers$1)}\n ]);\n}\n\nvar gpos = { parse: parseGposTable, make: makeGposTable };\n\n// The `kern` table contains kerning pairs.\n\nfunction parseWindowsKernTable(p) {\n var pairs = {};\n // Skip nTables.\n p.skip('uShort');\n var subtableVersion = p.parseUShort();\n check.argument(subtableVersion === 0, 'Unsupported kern sub-table version.');\n // Skip subtableLength, subtableCoverage\n p.skip('uShort', 2);\n var nPairs = p.parseUShort();\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n for (var i = 0; i < nPairs; i += 1) {\n var leftIndex = p.parseUShort();\n var rightIndex = p.parseUShort();\n var value = p.parseShort();\n pairs[leftIndex + ',' + rightIndex] = value;\n }\n return pairs;\n}\n\nfunction parseMacKernTable(p) {\n var pairs = {};\n // The Mac kern table stores the version as a fixed (32 bits) but we only loaded the first 16 bits.\n // Skip the rest.\n p.skip('uShort');\n var nTables = p.parseULong();\n //check.argument(nTables === 1, 'Only 1 subtable is supported (got ' + nTables + ').');\n if (nTables > 1) {\n console.warn('Only the first kern subtable is supported.');\n }\n p.skip('uLong');\n var coverage = p.parseUShort();\n var subtableVersion = coverage & 0xFF;\n p.skip('uShort');\n if (subtableVersion === 0) {\n var nPairs = p.parseUShort();\n // Skip searchRange, entrySelector, rangeShift.\n p.skip('uShort', 3);\n for (var i = 0; i < nPairs; i += 1) {\n var leftIndex = p.parseUShort();\n var rightIndex = p.parseUShort();\n var value = p.parseShort();\n pairs[leftIndex + ',' + rightIndex] = value;\n }\n }\n return pairs;\n}\n\n// Parse the `kern` table which contains kerning pairs.\nfunction parseKernTable(data, start) {\n var p = new parse.Parser(data, start);\n var tableVersion = p.parseUShort();\n if (tableVersion === 0) {\n return parseWindowsKernTable(p);\n } else if (tableVersion === 1) {\n return parseMacKernTable(p);\n } else {\n throw new Error('Unsupported kern table version (' + tableVersion + ').');\n }\n}\n\nvar kern = { parse: parseKernTable };\n\n// The `loca` table stores the offsets to the locations of the glyphs in the font.\n\n// Parse the `loca` table. This table stores the offsets to the locations of the glyphs in the font,\n// relative to the beginning of the glyphData table.\n// The number of glyphs stored in the `loca` table is specified in the `maxp` table (under numGlyphs)\n// The loca table has two versions: a short version where offsets are stored as uShorts, and a long\n// version where offsets are stored as uLongs. The `head` table specifies which version to use\n// (under indexToLocFormat).\nfunction parseLocaTable(data, start, numGlyphs, shortVersion) {\n var p = new parse.Parser(data, start);\n var parseFn = shortVersion ? p.parseUShort : p.parseULong;\n // There is an extra entry after the last index element to compute the length of the last glyph.\n // That's why we use numGlyphs + 1.\n var glyphOffsets = [];\n for (var i = 0; i < numGlyphs + 1; i += 1) {\n var glyphOffset = parseFn.call(p);\n if (shortVersion) {\n // The short table version stores the actual offset divided by 2.\n glyphOffset *= 2;\n }\n\n glyphOffsets.push(glyphOffset);\n }\n\n return glyphOffsets;\n}\n\nvar loca = { parse: parseLocaTable };\n\n// opentype.js\n\n/**\n * The opentype library.\n * @namespace opentype\n */\n\n// File loaders /////////////////////////////////////////////////////////\n/**\n * Loads a font from a file. The callback throws an error message as the first parameter if it fails\n * and the font as an ArrayBuffer in the second parameter if it succeeds.\n * @param {string} path - The path of the file\n * @param {Function} callback - The function to call when the font load completes\n */\nfunction loadFromFile(path, callback) {\n var fs = require('fs');\n fs.readFile(path, function(err, buffer) {\n if (err) {\n return callback(err.message);\n }\n\n callback(null, nodeBufferToArrayBuffer(buffer));\n });\n}\n/**\n * Loads a font from a URL. The callback throws an error message as the first parameter if it fails\n * and the font as an ArrayBuffer in the second parameter if it succeeds.\n * @param {string} url - The URL of the font file.\n * @param {Function} callback - The function to call when the font load completes\n */\nfunction loadFromUrl(url, callback) {\n var request = new XMLHttpRequest();\n request.open('get', url, true);\n request.responseType = 'arraybuffer';\n request.onload = function() {\n if (request.response) {\n return callback(null, request.response);\n } else {\n return callback('Font could not be loaded: ' + request.statusText);\n }\n };\n\n request.onerror = function () {\n callback('Font could not be loaded');\n };\n\n request.send();\n}\n\n// Table Directory Entries //////////////////////////////////////////////\n/**\n * Parses OpenType table entries.\n * @param {DataView}\n * @param {Number}\n * @return {Object[]}\n */\nfunction parseOpenTypeTableEntries(data, numTables) {\n var tableEntries = [];\n var p = 12;\n for (var i = 0; i < numTables; i += 1) {\n var tag = parse.getTag(data, p);\n var checksum = parse.getULong(data, p + 4);\n var offset = parse.getULong(data, p + 8);\n var length = parse.getULong(data, p + 12);\n tableEntries.push({tag: tag, checksum: checksum, offset: offset, length: length, compression: false});\n p += 16;\n }\n\n return tableEntries;\n}\n\n/**\n * Parses WOFF table entries.\n * @param {DataView}\n * @param {Number}\n * @return {Object[]}\n */\nfunction parseWOFFTableEntries(data, numTables) {\n var tableEntries = [];\n var p = 44; // offset to the first table directory entry.\n for (var i = 0; i < numTables; i += 1) {\n var tag = parse.getTag(data, p);\n var offset = parse.getULong(data, p + 4);\n var compLength = parse.getULong(data, p + 8);\n var origLength = parse.getULong(data, p + 12);\n var compression = (void 0);\n if (compLength < origLength) {\n compression = 'WOFF';\n } else {\n compression = false;\n }\n\n tableEntries.push({tag: tag, offset: offset, compression: compression,\n compressedLength: compLength, length: origLength});\n p += 20;\n }\n\n return tableEntries;\n}\n\n/**\n * @typedef TableData\n * @type Object\n * @property {DataView} data - The DataView\n * @property {number} offset - The data offset.\n */\n\n/**\n * @param {DataView}\n * @param {Object}\n * @return {TableData}\n */\nfunction uncompressTable(data, tableEntry) {\n if (tableEntry.compression === 'WOFF') {\n var inBuffer = new Uint8Array(data.buffer, tableEntry.offset + 2, tableEntry.compressedLength - 2);\n var outBuffer = new Uint8Array(tableEntry.length);\n tinyInflate(inBuffer, outBuffer);\n if (outBuffer.byteLength !== tableEntry.length) {\n throw new Error('Decompression error: ' + tableEntry.tag + ' decompressed length doesn\\'t match recorded length');\n }\n\n var view = new DataView(outBuffer.buffer, 0);\n return {data: view, offset: 0};\n } else {\n return {data: data, offset: tableEntry.offset};\n }\n}\n\n// Public API ///////////////////////////////////////////////////////////\n\n/**\n * Parse the OpenType file data (as an ArrayBuffer) and return a Font object.\n * Throws an error if the font could not be parsed.\n * @param {ArrayBuffer}\n * @param {Object} opt - options for parsing\n * @return {opentype.Font}\n */\nfunction parseBuffer(buffer, opt) {\n opt = (opt === undefined || opt === null) ? {} : opt;\n\n var indexToLocFormat;\n var ltagTable;\n\n // Since the constructor can also be called to create new fonts from scratch, we indicate this\n // should be an empty font that we'll fill with our own data.\n var font = new Font({empty: true});\n\n // OpenType fonts use big endian byte ordering.\n // We can't rely on typed array view types, because they operate with the endianness of the host computer.\n // Instead we use DataViews where we can specify endianness.\n var data = new DataView(buffer, 0);\n var numTables;\n var tableEntries = [];\n var signature = parse.getTag(data, 0);\n if (signature === String.fromCharCode(0, 1, 0, 0) || signature === 'true' || signature === 'typ1') {\n font.outlinesFormat = 'truetype';\n numTables = parse.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === 'OTTO') {\n font.outlinesFormat = 'cff';\n numTables = parse.getUShort(data, 4);\n tableEntries = parseOpenTypeTableEntries(data, numTables);\n } else if (signature === 'wOFF') {\n var flavor = parse.getTag(data, 4);\n if (flavor === String.fromCharCode(0, 1, 0, 0)) {\n font.outlinesFormat = 'truetype';\n } else if (flavor === 'OTTO') {\n font.outlinesFormat = 'cff';\n } else {\n throw new Error('Unsupported OpenType flavor ' + signature);\n }\n\n numTables = parse.getUShort(data, 12);\n tableEntries = parseWOFFTableEntries(data, numTables);\n } else if (signature === 'wOF2') {\n var issue = 'https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025';\n throw new Error('WOFF2 require an external decompressor library, see examples at: ' + issue);\n } else {\n throw new Error('Unsupported OpenType signature ' + signature);\n }\n\n var cffTableEntry;\n var fvarTableEntry;\n var glyfTableEntry;\n var gdefTableEntry;\n var gposTableEntry;\n var gsubTableEntry;\n var hmtxTableEntry;\n var kernTableEntry;\n var locaTableEntry;\n var nameTableEntry;\n var metaTableEntry;\n var p;\n\n for (var i = 0; i < numTables; i += 1) {\n var tableEntry = tableEntries[i];\n var table = (void 0);\n switch (tableEntry.tag) {\n case 'cmap':\n table = uncompressTable(data, tableEntry);\n font.tables.cmap = cmap.parse(table.data, table.offset);\n font.encoding = new CmapEncoding(font.tables.cmap);\n break;\n case 'cvt ' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.cvt = p.parseShortList(tableEntry.length / 2);\n break;\n case 'fvar':\n fvarTableEntry = tableEntry;\n break;\n case 'fpgm' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.fpgm = p.parseByteList(tableEntry.length);\n break;\n case 'head':\n table = uncompressTable(data, tableEntry);\n font.tables.head = head.parse(table.data, table.offset);\n font.unitsPerEm = font.tables.head.unitsPerEm;\n indexToLocFormat = font.tables.head.indexToLocFormat;\n break;\n case 'hhea':\n table = uncompressTable(data, tableEntry);\n font.tables.hhea = hhea.parse(table.data, table.offset);\n font.ascender = font.tables.hhea.ascender;\n font.descender = font.tables.hhea.descender;\n font.numberOfHMetrics = font.tables.hhea.numberOfHMetrics;\n break;\n case 'hmtx':\n hmtxTableEntry = tableEntry;\n break;\n case 'ltag':\n table = uncompressTable(data, tableEntry);\n ltagTable = ltag.parse(table.data, table.offset);\n break;\n case 'COLR':\n table = uncompressTable(data, tableEntry);\n font.tables.colr = colr.parse(table.data, table.offset);\n break;\n case 'CPAL':\n table = uncompressTable(data, tableEntry);\n font.tables.cpal = cpal.parse(table.data, table.offset);\n break;\n case 'maxp':\n table = uncompressTable(data, tableEntry);\n font.tables.maxp = maxp.parse(table.data, table.offset);\n font.numGlyphs = font.tables.maxp.numGlyphs;\n break;\n case 'name':\n nameTableEntry = tableEntry;\n break;\n case 'OS/2':\n table = uncompressTable(data, tableEntry);\n font.tables.os2 = os2.parse(table.data, table.offset);\n break;\n case 'post':\n table = uncompressTable(data, tableEntry);\n font.tables.post = post.parse(table.data, table.offset);\n font.glyphNames = new GlyphNames(font.tables.post);\n break;\n case 'prep' :\n table = uncompressTable(data, tableEntry);\n p = new parse.Parser(table.data, table.offset);\n font.tables.prep = p.parseByteList(tableEntry.length);\n break;\n case 'glyf':\n glyfTableEntry = tableEntry;\n break;\n case 'loca':\n locaTableEntry = tableEntry;\n break;\n case 'CFF ':\n cffTableEntry = tableEntry;\n break;\n case 'kern':\n kernTableEntry = tableEntry;\n break;\n case 'GDEF':\n gdefTableEntry = tableEntry;\n break;\n case 'GPOS':\n gposTableEntry = tableEntry;\n break;\n case 'GSUB':\n gsubTableEntry = tableEntry;\n break;\n case 'meta':\n metaTableEntry = tableEntry;\n break;\n }\n }\n\n var nameTable = uncompressTable(data, nameTableEntry);\n font.tables.name = _name.parse(nameTable.data, nameTable.offset, ltagTable);\n font.names = font.tables.name;\n\n if (glyfTableEntry && locaTableEntry) {\n var shortVersion = indexToLocFormat === 0;\n var locaTable = uncompressTable(data, locaTableEntry);\n var locaOffsets = loca.parse(locaTable.data, locaTable.offset, font.numGlyphs, shortVersion);\n var glyfTable = uncompressTable(data, glyfTableEntry);\n font.glyphs = glyf.parse(glyfTable.data, glyfTable.offset, locaOffsets, font, opt);\n } else if (cffTableEntry) {\n var cffTable = uncompressTable(data, cffTableEntry);\n cff.parse(cffTable.data, cffTable.offset, font, opt);\n } else {\n throw new Error('Font doesn\\'t contain TrueType or CFF outlines.');\n }\n\n var hmtxTable = uncompressTable(data, hmtxTableEntry);\n hmtx.parse(font, hmtxTable.data, hmtxTable.offset, font.numberOfHMetrics, font.numGlyphs, font.glyphs, opt);\n addGlyphNames(font, opt);\n\n if (kernTableEntry) {\n var kernTable = uncompressTable(data, kernTableEntry);\n font.kerningPairs = kern.parse(kernTable.data, kernTable.offset);\n } else {\n font.kerningPairs = {};\n }\n\n if (gdefTableEntry) {\n var gdefTable = uncompressTable(data, gdefTableEntry);\n font.tables.gdef = gdef.parse(gdefTable.data, gdefTable.offset);\n }\n\n if (gposTableEntry) {\n var gposTable = uncompressTable(data, gposTableEntry);\n font.tables.gpos = gpos.parse(gposTable.data, gposTable.offset);\n font.position.init();\n }\n\n if (gsubTableEntry) {\n var gsubTable = uncompressTable(data, gsubTableEntry);\n font.tables.gsub = gsub.parse(gsubTable.data, gsubTable.offset);\n font.tables.gsub.features.forEach(function (f) {\n // Match `ss01` to `ss20`\n if (f.tag.match(/ss(?:0[1-9]|1\\d|20)/)) {\n var ref = f.feature.featureParamsTable;\n var uiNameId = ref.uiNameId;\n f.feature.uiName = font.tables.name[uiNameId];\n }\n // Match `cv01` to `cv99`\n else if (f.tag.match(/cv(?:0[1-9]|[1-9]\\d)/)) {\n var ref$1 = f.feature.featureParamsTable;\n var featUiLabelNameId = ref$1.featUiLabelNameId;\n f.feature.featUiLabelName = font.tables.name[featUiLabelNameId];\n }\n });\n }\n\n if (fvarTableEntry) {\n var fvarTable = uncompressTable(data, fvarTableEntry);\n font.tables.fvar = fvar.parse(fvarTable.data, fvarTable.offset, font.names);\n }\n\n if (metaTableEntry) {\n var metaTable = uncompressTable(data, metaTableEntry);\n font.tables.meta = meta.parse(metaTable.data, metaTable.offset);\n font.metas = font.tables.meta;\n }\n\n return font;\n}\n\n/**\n * Asynchronously load the font from a URL or a filesystem. When done, call the callback\n * with two arguments `(err, font)`. The `err` will be null on success,\n * the `font` is a Font object.\n * We use the node.js callback convention so that\n * opentype.js can integrate with frameworks like async.js.\n * @alias opentype.load\n * @param {string} url - The URL of the font to load.\n * @param {Function} callback - The callback.\n */\nfunction load(url, callback, opt) {\n opt = (opt === undefined || opt === null) ? {} : opt;\n var isNode = typeof window === 'undefined';\n var loadFn = isNode && !opt.isUrl ? loadFromFile : loadFromUrl;\n\n return new Promise(function (resolve, reject) {\n loadFn(url, function(err, arrayBuffer) {\n if (err) {\n if (callback) {\n return callback(err);\n } else {\n reject(err);\n }\n }\n var font;\n try {\n font = parseBuffer(arrayBuffer, opt);\n } catch (e) {\n if (callback) {\n return callback(e, null);\n } else {\n reject(e);\n }\n }\n if (callback) {\n return callback(null, font);\n } else {\n resolve(font);\n }\n });\n });\n}\n\n/**\n * Synchronously load the font from a URL or file.\n * When done, returns the font object or throws an error.\n * @alias opentype.loadSync\n * @param {string} url - The URL of the font to load.\n * @param {Object} opt - opt.lowMemory\n * @return {opentype.Font}\n */\nfunction loadSync(url, opt) {\n var fs = require('fs');\n var buffer = fs.readFileSync(url);\n return parseBuffer(nodeBufferToArrayBuffer(buffer), opt);\n}\n\nvar opentype = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tFont: Font,\n\tGlyph: Glyph,\n\tPath: Path,\n\tBoundingBox: BoundingBox,\n\t_parse: parse,\n\tparse: parseBuffer,\n\tload: load,\n\tloadSync: loadSync\n});\n\nexport default opentype;\nexport { BoundingBox, Font, Glyph, Path, parse as _parse, load, loadSync, parseBuffer as parse };\n//# sourceMappingURL=opentype.module.js.map\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","self.window = {};\nconst opentype = require(\"opentype.js\");\n\nself.onmessage = function (e) {\n const { url, fileName } = e.data;\n opentype.load(url, (error, font) => {\n if (error) {\n self.postMessage({ url, fileName, error: error.message || error });\n }\n else {\n self.postMessage({ url, fileName, font });\n }\n });\n};\n","module.exports = false;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar INCORRECT_VALUE = global.self !== global;\n\n// `self` getter\n// https://html.spec.whatwg.org/multipage/window-object.html#dom-self\ntry {\n if (DESCRIPTORS) {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var descriptor = Object.getOwnPropertyDescriptor(global, 'self');\n // some engines have `self`, but with incorrect descriptor\n // https://github.com/denoland/deno/issues/15765\n if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {\n defineBuiltInAccessor(global, 'self', {\n get: function self() {\n return global;\n },\n set: function self(value) {\n if (this !== global) throw $TypeError('Illegal invocation');\n defineProperty(global, 'self', {\n value: value,\n writable: true,\n configurable: true,\n enumerable: true\n });\n },\n configurable: true,\n enumerable: true\n });\n }\n } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {\n self: global\n });\n} catch (error) { /* empty */ }\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/fonts/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf b/fonts/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..970ddc3978ae24af8dfaad1a005179763a93bb2b GIT binary patch literal 407152 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⪻@oQ{e*}_y4taJr;hvU^!Cwbmdo@ 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�?Yncf=oV`>Oe-#m31szu|BC%ik})Xw>U@=bw3uN47PT zX@T|4;;tFLY0wL-|HNdR^W1lkagnv`nGNdJ)nkU$&A1fb);?so$5)7Vmu-PrdBN_GQIw`}(Ul>RjOiRzEN38Sx){ zIh>8x7>~bf|K~5zY$mgXY;l&Ef$I`YF-F;Z!VcqaZ1xJwaUwubmC{Y5)?-p?uR%^JoU_n*zohK@0fv%X)*%T}NNZ#rng@&7HP zEfi~i9^SUEnr~|H2xQ-oZ3CDYd2I@4Y4Zb_zdgP~P_B@5;BTHsn2ips`LvZ2_|H6# zH$ijg^BDi}_`rq(VfR~s)r-dv!0;Dtf8T^~&pC=MJuLLg_J1GW>wKadCce)8b#}IT zex2Jtv$K`qe+$L)MBaI4#Y(>=Dn-UpLQYd$s}>an+`?Vrsa zhmrP^fb*bRd%UlpUEf4LJz%cRKO3_sZj6UK2E^OS;RO#+%8R)d0?JuDpp8M+_-u7y zi`}F~c;Ni!56!g694u@N{u^a-ei<7}KYL!ttJd#7>*zb{SZz%W*_aBlMstK~ZSx7c zj>tb~#5xXw`y{xBGI#VxJz)l4u)10OSwq5KUmK3UdcWLvGa1J8ZcYC*-d2u?FU2&J zW|}^;x!c+w?2)EdpTFCtUJdt8zR~XfkB>F~FQ*mxnN<_*%Y8WHt(2Pma7~{!vrXzF^*2!@M8gM_+t1lWn~FvhCmhvdIv(5bWD@!S)67 zwHoGVe8auwW0SpW+Wp_mHRUhVQMwHqX#ExbW8=GwFZ}NwYdp5`_lr3{TYvl_CdRM+ z%fsegiAq%FV2L)i`u!O1$@GBsA$t>|jlnwrZ+7;%KHhgQGmCIyG&{eojm8(agZ7H@ zbrWCA&u*OlV7kaRpi$bRd=u!W`DTjVoavafW;m9S<}^iIjni2~T(96+t>D>#Y3A>Fx@ioQiW~R4iI=@EI z(L!KetLW<#{bxmAujm^T9jyj_HYxgMMc<<6=*fUhB0@O34K)BdZuf$Y6MoQn;;rbO z&?VvwT}3p|LFUkT;sjk%Y9#dq{Rm2gxRGnsP%2`|zaZq$uMQ46ggr$nF4rPr| zf{mUqY$~FKj(;^%^t#Y>3QnBVRBY-&$6sMW*Ao#sR-2&f6kSjBFdLM-V>Ll>W%%_9 z28q;B%vKv~+G@iFcUeN0h!1pLNiDD7w^Q)wl=SF`3a)y>(kUsfI>oG0N?Wg#KTo_A zSAXbO`hc!i${8zvFiVP!q@+qxN`NSFsT5sOV&SW6ljVX``(fp#s;*x~1E@nqXSu)% znqp=;ujB$Hq1Z4A5tQ^3B~`qVS}a#7t}HJoCq)+(-CDLR{h&KVx7HL(iAu3iDgGtJ zEGng;sxFN{_>qX8qSsQwdMIW_6_S#2+!(5unY~I$gG#|5DftDJ!Ja29EU%;={~oNE zSuR8+7rdgYm9RL^tGKfC8x$LLwI5b8JYli$gq0fv5a?3%P@mBihI-I7ihrp(4a^UG zDY~^CS#!-wQc_A)rIb03`V?>$3}>LhRs3-}tT$ReJDJuMrz5A~)LI2jqxHZEc@23N z=g9_>_i!pInry|1pE#WEdWIAJ^>OxPJ2xHa8wXqhQ4_XE#-UWu0`Z0RiPULe)-sw# zjCyb~15P<}IL+n+duJ$)xIhUwhvo`1yN6W|j)!xf-+#`%o~1d zL8-8s=7Sj6sWcwEJOKD=L)j}Q^)%qv^^u}LD0i&1HiXYcII$<<%w9A2XJ>DHaHjAL zn1i51-1X2BX>A4NfRlW!QDW@g2OYS0JH*i*N{3Ur9gxP3P+lmxPDo2APWUCC5HUDJxkgrDTn`58`)Vu7FaLN>YWq%UFNsaF2n2(|RIK2y(dX zL5(wq_|sNm$JyaDABUR=@SlS?FV`6MO}Or`3FG>}{3hy#L){D^9yql&4(89fg|J`5 zErt0WU$DQpQi7IDBCrq%fG$2I&`qQm*4?Wh-?%s_eCXwhGxMFUD3 z?E|#LPE#_9G@zCl{TrZsKrQy58wXIFl_F~^wCJMHqN75Kj1q0MXr;uu3N1P*v}jUj z5j+=)2c7tWlKh}_ph|z38D07+bmUUIP_+byMh7qtL6nLa&@cuUds(8z}UuRp`}Aq1So}z1COg)kC3I zKZRbs6?*kk=+#@HR1bwxy+NUsC^s2OAQY+&Zu-EwzCx)+g;JfXX_WB^lXC7<0HxZa zb{(G6s{v;seVD1iD*VmwRH-*+U3az^*;&vdQgifdzF))5i9o-o-) zPgsAXug1xGCA1UhI>LHVEnz)1+Y{pf3WgkxE?5LDhJw~YiFKDlh_cHegovMh^5qE9 ze%$DhpOBDAUtu3a>o31-{swp@M;MOj2+7_JtH0Z#mDnEUgSnxngbu~Az9a&pWLh1H z-P_HhpTd8Kp`A1Z-|kd>ZnN`Cr!8>;^2PZ_g!l@*2;0m7IRHGt4!nT%O?s4;y}|*U zzzJS=CR&A%GjZO13{HSD*}N{=XcM%*j_l+pUmLX<%!jZOpUQbpiF1!AND3gk&cP@sTPsSg@tZ&p%l#9}QSRyGX* zJ^&Bp&FuXYS8K@yAQSjEx;7OcEBAF9OBV~icnr81nNIMr^)I6!e#pFwHZ{2iv?#?t(GUme6@;d z$*Ar0v;MIGumY2Kj$18Xvd*RigNHx?CjJIsa7_<*1*7za5pRzowQeb)+p4 zwDqj7rqqY_OQ)@^gJ?^acXz;3=wpKqZATr; zJyK~G+TeiHn1;zigpSwg0J*Hi@B}(o-d)f6ARSCYVsA93qv+r)!9+*P@%haP=|nk= z?{*b0`H%LL&Y+*&5WMKOa_N>pZ>4}(K`Gpnl{F38S**=$puBRgT3?>lS6%wq!^)_b zc3>?`>}I9JDqSh3h@DcNRCZ(TZ(dDQN#*l4*+mJ7`b7&(g(WFIk#k(GxMx*FM!J@y zW*XNPIp5$jZ>}qLiQ+PD{aoOBi_5;geY^d+jC{>+f?-!i0V`navU^d)w4uC|d>3|< zHlmHl-5C*xoN=ET)g<4P4?pzM)}sFM=FWYDrSuKjEh(9AL0izUgi5XrZ6nX@(3Cr^ zl#GW~q|@Zma$|Oi!gpTDihMMBT+^&Wx$@DXaXN09ESDcKMPEx9LHS6B?Rj~Vs7q9@ zApU%Q^}ASkw?BV~x<&O2Dn75G?$>*?aQGvUdaU${ub=NqJ+Ftg$ooS@y}EZl_R+Cj zwAOdsU4|d~mA2+hH>c(;r|mAcZr!@uez?MJbXBRq-eapuIXYDIiSmpuqMy!_eoK)1)6u`W%G!(@ zbo|1)Yn>ix>4Xh+*VTFCLcgf0^Qg_^t#s0wIuE&oI68Gp&;c>dgHGS$dRdz((CJ6~ zH}G+d>9-4g=L*k!!OJ<6_zN0Avyd;Cg|~`Q{ph!5pJSf!i8N%k%BQrXvHZ;<&vZkU zfxfxOl;e@2rsEd*Tun-ImKT0kXJf~0Iy!xc#~*2_8XEkAbBCPl)wKT)nhv@&iN3Sk z-Qb+;FCSdtK1>tsSpBX;16T0vOEV30;0m!(Wv+*ObCs%zw%9~_Z{!-5=b32TUjwsZ zVghNO?e+)r^Bv?%JE}ZOWVDVQRerfe0kr4NV&|L+7pmS>piScH%XfF{jusW^<(Pds zCsno|)gQwOv?R2O}^_c5SgHIG_GH6}e<)peIC(ruM%d1U$oKzR(75LM> zC)L?GMgH{NlWKKdju-84s-WtQ5GE&`O@Fq}X%MY{R!mDQZa_Pn&nvZ8>F8(YMNMID zt?GAeYWhPcNhoYWgD;gh7FE`#^{-}R-Oz2oj(um^=uWO2BZklq?#Ss+%e&Hs z_i`%lsk+jx_Y+roH%g@A9#+olx}xvp zt}e(i^p$`7YVOIQpBmw6ZCz}?Gx)VUofOg*S6eA>?bRXjZL){H-T8aS&zO^VxtYtK z$sw+d#%5lU7t8C~oxF5$s=SU42|O`2{-k`AN<|eex)$ku$#+kzFUL^gbI3C_UXGJ*Ih@hwwUVF8`+d&kB{YW?Pn|Rl@g*IZp}xcU2ZN|V zp5WZtu{fW4QbQ2mDJq?M)7qx)6)7rOi#GNw@Jo&d&-HUCc5xAC9r}T5o&(xwUHWyF z!QUm0Hj)>mhm3KbMH|y0_K$P(Thpd=vIDitD+4$73UqfZO`@&kZ+zZz$;x3I*|l8E ztc1b6{dw0L2HKJGu7Mtzsk9TF=#C3LeQ7Xl&}KtXd_D~Cw9#L_+>CaUo3uJj(dY{$wtI+V5&)AI1grX%DmC%;&~1Uiy-)Wu)K&G2L78~WjfI1R4(>{Yi& zc$y8vCysBM63Ss1rcS9U_l04c`iXP73;LCt+7VK$9i2!$_3@g*5*YfnyL0(sC=4^| zEO&bBM5oY^0e8}4>(H<0Wc$0?d@nkcej88}8XHZg(GPs?WhXenFx00o`%wY9@2~w= zIL0~A8S*f{?24yq)@KFYD2=H{zpdJDFcx}&H_1JU+?s^D_A1^Z7t8VF$Ie%;pL*`k+N>0x@=Edt9pE`F zc^=h~2>SWmHyix{42t-NG&4Cu5pb$1sS7zk`?!ogAdjN{WFeh$vRkD*NghV#(P>ki z>cguo5JPW8?jV1})uLRBUiam&s%>N^9p*DA0Vpx+_q=apepOW+s~pJ|l8TlZU)8V5 zlguTz>6E~jsykKtaRbs#Iw&wkc9S=8A>=A;-EX(NR!+pNjhm_Ns|6Sp{0SeT>xps0 zeQXZTmMwCB+)-6R^|)*5$Eum~3f$Ut0_KCr@=v5Yoe&fSM$iv8m7b>WV64N_NV=UK zB0C)NXlvRPw|v#3?p{4(*sN|3_oUb=*~g#ApI_t6f-hn}K)Niw}n6CvsEhQP$rr__s{ zqif0Br`|N5=F9D98*()tBR|jM?Sc$Gu?$-T%goRQo`BYaQpN&AtN^hdG=lE=^VA@C7aQuIwO2(v-kFrd{N^coi- zTotYfl4fh#NG5TKdX7OC>tz2t<+#~(#rJxiLW=_t8q?6qdeOTvFBii_12agjKW zGi!9>GEEC{mN-W}Tl`7|LoNJK8`RWKwV~wl0P~#^qkTe>###>|5bP^&A z_Uy(XgTW9Xt`L`tE5+3YUW^bef<;_va51P~43YUHWA#%cOX^y73 zrnv#vl45e6lT=W4lBgw;C^<;>l2(#1sioF&1}9B`)=NK28>DrbKut?kgk;n-)Vu-Zqv@#WihAZGSB*)7KRqyDaubst zff|>8rc|IJo6-a^CC&Z^$|OBk;u5CRbN;h3h}AS23Ocnay=0J_Y>G{q{}ZK}^IXkS z%~j8;sib)|6-ujGNiP3I;V;Chm5bJFRcJdeD_==b29?BX8W`*}4jM0whsIOmuBopH zlbj8b#!=&}X|HLgkI;r|F!7`}YdCed#!fVg;Tn}jqv6HH|4c~&TJ8%qPlV!dtM1=Z zl82_%3x#&i)EuTXA+J;F+3MMvcA9pKGccv;q3Bi~F&liss^*H%l>rs`|E45Ilvm@I zl&hwO5*OA~8ow7xT=3UQ<789f0&p>_GJ==YRGq+|*=!OTK1{Bd`y!Yl<|j=2aylEn z40t>2U9cl=DlXFE(EYyucHcf&oe)M({$w0Dwuo7$Ak5?q!u^R6I2pGcHxNdXWZXJu z&joO;(Uaog95K6w2_8UTI1@SWa88(UwtkPp+iK^m^c?J)^&m_x=Q$UctPk5_#Ow&? zia4=G4CwRR&JA;N)^GM^A`Y&QRqWXJrRR2PuCeu-8&Yk@V_gODv2U*Mxj!xcf%O~z zz+}Ux$8G(DeG7ii?d)-@zw*uAh!q_G=MGc#6K=HwBWEcGTZc1VOg7;;He1JR$hXQr zKq@YdikmAW7I#($&r43}Q#r!wf#phxmBolDQC3IHq&#qgol;NAH;YY)8FTd_%&Zm^ zKURBXeMzxZ$_19pH|Fx~V1i#(GRnhjHJsLJ%gW}ttqzP=@ykl*xvc?n|B9_rF3g%? zU}sR-BNFZD>iIfc@q4{iY^_-TW{v99F}M4u(b`UdK_S70cK3qkhL8|Un=qd@$+hb- zeUJW3m*-b)Pz`boUuJvD!*h2~FnodYhxW6@&kp6yz4CDzJ z1h*lJ2^j$@7=!l&%(_g9!oQ!{6EYp8`R}HLn41$~L0aaWCuA}FEE`X7H8mk?!wFfB z@SBmAUn2?Z?mqH2NwSSfUw1_G7| zhaG;LmzHqen5pzxPPhO}K?V!~>?T~@dVooUtKSqbi*OAF0yYw^X=lJ0B?&h z0C2VfzP8wH(+=^pcP3niwuI|AoN%2Gwi9;UbjFN!=NW|S9!t1B2=`7Y;Rc;2+{f1l zHyqz%R}=1Y#5-{?;U-@q+_Wgd{ku8g%#nnfl}Wg{@W1dl;TGfly**$&;eOZ-C?wp{ z)&QhwSwF%pM?RLr|B6b&t^5oSk11=UX-#{=tz|F|kWaXE9{|o0ZUg*m1ddH_5^nom z!tFzv4^1Q7@npiC6A5>5E8(sqZFj;5_W)^)TR^zvo`g$BTJq`RB?QMi^r zjPRPLgm+9Qyvt6)n;sJ0=Mv%T_z}KAAmN)FC4AG~gl|0@hpb`Ou_fU<_a%I{9fa=* z|8Gqq{M+ED?`$Ugdou|Cucm|_Tu%6*Ljl11$q)c=4nx>sp8*hNSRvs*Z4U?sTp;{# z>=_x}AFv*fO!yIv0h0;;*-65W_9pz8F@zrnf8*hA0_?s(oL_1QKY1PDzuHRpsn-bq z^&-N9j`Iky)W$R z?f~Gs-kSj2JYO%L2=%)Gwi6)`Og|9gr$G1#MEC~q(;yOnThtp40>Dp0gl*ItfUu1a zws9C>HxZhMfDZr&+tdf}Js^i*BeLWGvv;d?z3~B4p8n6)nzdezbo_C1Q3%Gkt13V-`Zdja!sm$VbHw#I%3-_@0Jz2@PZNN5 z0?bq3{&hYPrX%0q!rv@}pWmJc-y!Wk>?OkTOGH?WG_8aC2Bde39}%{%Bf@T^VP7Z_ z4o(6fo=D%25txtc0F)EqC~zDFu46o)FJLtwnFz;Q0~P~NW+&AbuQfVi%}{mS=%r$o4lc(2X`Tp+?V;J-EquoD2B*TVoy0f|J2Y7T(ED3tS!007c- z<0KJoqAYGk0HTR-3+7wn07r>%4}KItdESd6!hMwS{pr>rH*oF>9!l*41#KSr9LAk9w}5Fx%PU={#&2|)m)F9GRDL|lnq0Z?yA zh$m?>;0h6vfg>65Bp)V1iWV>wuoocX4_EsF)&ug1kk$>b900uO4FL$Bj`U>M0}wuA zHvr|634fVO0r5o03Id=UvQmkV-5-E5$Uz)A;{nk`$VHlR7XylkkcV)2%K(W)$ZrXl z1-L_m0{AHg-jdz`)MZIF5lTY=D*-T)fonle_ZFPfitHNFY zw&;j`rjX+~yj1{!ER;N&Hudm;W?3kuMn|WnLbEI+fo481FmQHFJ4wjS#!Oarwnf2) zy|cgpff*Rtk~Eu$4JS*@mT(frv`nToVOlga7XLpBf!&svMHC_G6Wsi+#=Y`9S%Y}K z1D+q)xN1u`EC__s4VW6A;=by1_|~geub$lg>)zB%wOAx;ot&JqF80FoeQWBhs9H1t zD-lg;Lw?o5h#r_nA58lwY6AU2m(5MfLRjzLg7Rh0t#`TMvEw(YP-rzSGg)qVn%JVEh+TyJ2d0DHcNp z(67aaA9ljK`sw-IKQ5RZ(FGT~3>OVyD^@K;P+``h<-07-xsqeT?AaSmMy0FO>Z&q# z2d=yaWd9{(0j}d;NER{0eKBBw93vl-*C}c<^p)~Y@^@HZ@kLBQm~*eCsJ3*Vy4l;K zN00vK-L7OA)F$l9bdkH!Nmvn>PRG&@gjLIClMre!t4^H?47`?TQ72qIwt4mH@4C`2 z=m2t_tW!<@d{~dxwJfSyZF+w?c5+uFpW|xv z3A8;Xn8%BARz+?-W(oEP3HE&BjR2Rnfu5e8e)R)A?d=QlON$G$v$HF8t-B8xFrZJD zZhd-dot=$-ATUo|Ge2i%XOo|wkIB77-LBoFX5Kyl4ew?HIXMB&7DwlRM(skw zLK-)?a{knrbGKu&EDl+*(Pxex-MRCdPv7hj+!UUiodcS5?%F-9-v?ze9XfaG(LJo2FH z5-n2V^%KATx^>l(F60~O4s7Y-;^N!9d0D5#uM0pBh4zYRb-h^xj9G<65nrmf(yl z*ON0ciiI1oU;ydQo@AGmh-xaTFkxMie*41lvHn zS_TDoSheT!)tgV?$vH3i>75%lqOM#lt99qrwJX4c(^G3@CzP`Sy?2Nle%>K1UPapAfBo%U1Rh3Jl!;Edk#SvG%tCXOzDCp!*5mVHt#%l zE6L)Vdh6`Yt=qP5{HeUbigBL{-k!%Go`VzbdV+b^J4rUepvqB)D z^c$#|u1nUONlHpObNd!W=+TlrWMM&G2LfJregP~z-mzpa`bLcg(JA_%8XpE!E- z=+>WBtzW;s3tH5_>>?Je*|cfX&m_W3s%D8#&;K+lJPg6Uq?5>I{8!a%5-!Xb+tJrz zq?{z$IXGlz=asf^pOBD{S}gka8#8817x1(RcFXbXepG5|Z|N#;h1xD(bIH)6#W@9c z?1ZOduoFJC8U3hQ&XLb4ezwX-nB72%W51vK7yn+RTva6{B`R8J(N?6FTz%_<*cC8{0FGA5pbeEu6rMgs zPhhXA%DQv@{Q1xNcfixsO_l%D(z&!$rS=s-Iz=jq^c9t>itr)$4r!|^EiF|Cw2e#1 zF7?>8i{?MQfB$~E=%m-{UETfd3c)M#NtKzCWQ&7m^LIZPGk(;td5eEs{_~ETDV6}0 zo#^D|=;-U~p-)SzQ>RWnZ+*e#y?ggg8{QXBCtpo*nx(TKxVQ%UfqH9c9JP3Knp*hq z3;s03g!ynsqf5ELUhqAAx*#hJX(FE9Mx(LyfIv@mMMZ^yh-L`nqIcWjlc#kjX7m$t z=y0(2Z^e0wA}=Lbj2tbO%kuM)Z@Y^ZLqbB@)^X0dC_9_ zpcU!GvMiUy<)e;ieq0$oiqlIeAK_e8l8Y&NQd+;h$YT|eR+d*rh-C#uW%69EinloA zCEvex>1s@DKw#^(EgN_`Sk&-QTEX*X6DJ#uD8hpLGPPI3h7HeMMfu&2%`Vp%EuG8C zvh!}Gp|>lo$VYvbRH{nxk#=jviL}bf%G}$hjACio<8Ivwh?AF>mtA&zMn=Y+^S3i8 zWRD7xVCKqri%7a2pLEMECzi&PNsJL#kdM+xJ9haYyl9G{EpsmH_M;+a^5{y+33~WQfKAL zU(P(u<^6(!g6cU}7N~vedbyN5xN&mZhF>-vy_V$Y>0EVvZBMX~0JP41ipqqH@|EUf zNq+LBLt9poo#uwWpG&MjVXC>Rs`3&vw)k7OZaqv)OssHg8uIbT2}8rWy+3yB*mvq= zT;10VB0)bz&E!^Ey5MUj7qP~I`xpg}} zuc)B7B0?`$R;1rgs<4yPSa388X{7=dKk+whB4@$hu&7jgM6LV;sVp-yyO0zlJbwK6 z(c{D{DWFlKMovX?Woc2C#kV9kyFf-UmY0`Tlx04C5_S6gxjmb<9=LEVF*W-9PD==# z;r`>k%TZ_lxCgd+|9bSrwpzU#ZqyKf~GVONm3)%`SThuU>?bFz~WdASUJ zMBy##lD9+h)0kB5{^muC7A@U$F3u3#zkh$PCq)9SOtnbmW#yF|UsV;+Se7{z<;AMv z{8E}*lrKl+sKz!RF;!6vtV?ySD{$B@+vxuN87a2(z-rQ z&B@8id{zkV@8IBQZ(o&zCXz`?)mnqIrA>Cs(LJZ`-Fbp)&nUKYb*a;$VVy=n&6;>Q zS5`<)f&B))6B^X)4SxwV$s6oS8aMQ}t0*cYH_Wa0gef#z~ zA#^wd?;&R4{PJ1m?&t-_(2vP_H2K-$xBni~2{N~xlpB3L$)by!KY!(gBHsa@Pn|lo z3k{*8xcT!fjtv?(hji+Ur&EY?g9Z(BnZ2kzb-}hKU+fZPsvgXQ&(t*tp*^{CgF~^! z1B##EFuyx(SKZkikPjdcZ<|%G>)uqn|19~oH#M= zy{=s?xE-;GuR^;nq@)b2hxe^t*IfjorENoq#l=@h>EKk1dKDe*(P(+F%WSiK^8vW+ zdeY?iOO~!!x9didMO9L$@-=BKIuz|yp;%2zb7gxL!L z=#YFvdUt8$jvmP~WN?UoRb6ivdwY9VleY)9Jv8Y}9L+-8PbW`heb6$pN~z9o#rX@@ zUQDp4O3NIZK>*Oz8aeW#Hu|JP8&<7a)dl}?yO0|>(o(;wsx&qaG$!Z8mLi_QG__Dw zQe0eI#gnw6s`P?Vm<#jriz0-|5>jclf3>esQOr-MMf5^ZQIGN}^#M)6I8R=Vin5p_ zsno6vg;H9gEd)EuxOMsRy|jXYf~z6~oE zbOjTffQ-ylO&K+`Pjiz+r7=`IODVGGQg`e)5nJlorq6rty%$19@C$bAsP09sg6^|H z_nScX$3gcOK=;3c?lFTy8hM{fa&*$9MsHp7$H}Nvu2E~R!uwI)XaH;8ZXf8FcX92K z$RD?!O>nQBy8|3}JRK{5>gRSv>A$;^pYi|7`%xQ<$$asf@gqiz=mN>;TlE?|KQ3CrYIqFx z)J>Hl_y2Ym)JIe*$q_Ob7G#nYrb>Pc!+{N*EoE^`ep%eWTPlC(=3 z*K9g@H7)n%y(@=*nQvac|BrJ^z!Q8zK|90fSM}ztIT4%rEbZ~7-HRfQRMzkDFR%oy z=IwvAh*`S&R7|c~)>g$H+4y}IjQo2!`S2j2LXj%WMJ!AqSItHY%q#9B735}K^HFD| z#HHpxJd3f{&6HVA==EX`_Gx2smfQpLk8k_smtR6ignsE5O_Iz;h~6a^Gel90@#UXAz8#-`_rQ)FJ0KoAvyL6=&oSQioEg{D(xv5DCc=yxI&F?%KtG27Cl38WvMFU^1YI3+Qsyvj~5 z7No>Csj4bU^Uzcjm!>?po0%oKIQ#m8GR~fisF$C7_-ukhqlVtDQYDQ|EZ}&9Pa`n9 zmslZ5GaJFdiv*2>y}>&%yOKgy!d!sS2m!mk2u^Hln39y8k&ya0&m|BO1Sceun(G41KYGY4~Wa&8>DeJILr$h$#qG`A!!-L7%izh;DxEl$ztV60{8 z5{1jE%WzoVY>bVKtqjytUR^h?#KFbeN!zen_wL;xmOB?iJTbKT{lc^K^0fP!j_)W; zbeMk5Z+OnTjOyR5*V~gq$Q;$RTz7YOokf*)Ywv~?^I2OR%fx$O3dDP>l(7Tc_Aa>X zQgGW<;I>=9ZI^-DZemhKa6`AsI3nzDM+PdRXg=^E+!ENd^XwtZGV~g|C)ckV6 zt!^U^F9TPa8einzv_*uYS|zAKwH2Aq*`cp(bf4gDR8>^kIr!H%)p8MOeqNcz)jfgK zHJd%z03s{K!%$vQRApaq11#~QzHjyH*s>nx`u;TBH@l(ZUJPL2bQX$HuI)1!gyJ!)M3up^=`GGOk}dbu;PWmK7^jSe#8_d3k=)!@C)2g|eNi zQMh~Pa70U;cUdVL6F9!gxftWCbvv$*(t^ymhp9y2g;-fqIMs4+svY1|d%&q8!Kr=&r&6z2aX2RJ(xPtkUHTUG zIFF!TxX=6f_~SHGLHwhq+1GciSulHl?Cld9R(8RlXR`0oo!6-*^YWoR$F4+2M_=2u zXwmXbzvJ1ycj-1vYOP0K%N+n zmHSBm@!O44m3XBZ@qc%$;Iuty}$bEs}Bt)_W;jyrc4n_BG-RB@aK*rlz@WD6TQzRbtVK&m;C1W^Q_GxOHC)og6FZhK z`RRvkM{mn^H2dt*FgjE&ub#LlrK9*?pM`{xIm(>}?B0V-WFguA-u>7?u8~X^!q}nj^U6+Tq#VAYd}} z8J(_Owd>BKXR)#OPwiOV)tW~--ER4BC+kgw59ivo>wEjz(~8`bmww>Xtk9fo-j3=0JmvPQ6zB8aP*t7RXd zt|&lC3(M#5ausGVty3b+s;5K>NbWO;ehHb`c0PW7eqOEy?Um>|_aDS(m20qY;;AXm zdHU$lgF9C&!S3!PBUua@GJ4dgPu}iO+pZkZ30f{w@N5v&K%1Rfs(02ID$;NNy77U| zx3P}~{ePuLS0A+wy^crYV3l)aR#ukEFIB|ch>LTD1Mtb_0F#zYUnmczFDg{VrX5<; zcEdCZ7@N)oDUd2c$gIZGKYH)24=4Hmv3Bj+vkq_e8#a0JNsMqNrf<~2yObUA${xnx;E@iehH=jW=dS08T`(auGlro)O?SblP2yv@yC_x zw{ulK?eWx7-y<^7PGy^#a<}N%*LWCEiS33itv&vDk@9zvXWyTK245!{4gV> zSd<)1?yAy?%Bl!eNq!kGsVq)qB}4^jUMSWRbR$KToGOB3n7RCl2(`+=)z#Hr9if)1 zDsi}mvnbOx&2-jjo2+MLdhlB(2VF%zLK1_Aw{JkR#`S%T4s0M_Dmu9N)eUUy=WCHp zow}P|^k^rR3cd}te7|<%&j)WkjgOCi5}PfS#+^TMB04eYS@iYWw;!hP4Vq~S({DxJ zfB5j>lXEN2Ji2oM&$*KiVZMD&y;6>P%S5?qpe z>%z_WLQoCMkP2_T$I5j_&fPrwdsY956DM{`*tThDczF1t$Q{483u@M=uAjCn=^CEo zGRZTbPF=29JF9FK>nCETF9DZRL!RWZc5CH$C&2OAv}PAXpcXMf$m)`rnfBc9A6$5^ zRjK>;?mDwJWlPT0Cl6y{9zMC6ld~md?buVEFumw&RYq?E>?3K77_sW*%!R-M|RgNEhQ=env-MGw<7R zMmNl4&B587|K^V^*uh`8u;#{%HNE8HiaIK%%C{7iOYL3KHTCP)ckJAuBc2YO9r2+_ zA3*Kp+-g6m^3m#WcVwobabz!zDQZXSx$yqM!NGw82fT}Cz`#I!`18FmX=PXKhse=N zs5_ABFcowCdh6DZ-_)}fF8yiCe-hs;YVVdGjvYT`Mi(5X`n!HHy0Zw>$A_97M6Tjx zan8Xe&SfeN9Oh*HyPw&*fPkc=!F_x8?B4oyA{|@ey>jgE!M&UR!jEM0W9gKZl$2Ip zo|9hACVXzXm&e7$WmcA;pUW(%%*02z`^^kEm8a*Fm!sLr_7Em$Vncg01mdW(xab@S zjP?x^DIDx&!QP&fgYmR{@PLVTpS=4z>CWPia&yPe%a<;m_ZNO7n;(l?JUS{YVTifl zdf8E}+!3J*l`I`3>H?#CtEg-^)MK?HY)WM!gdR zIH^pI*m>w-7D7VKo()B#`-wz|(A(qYF=O!~!NiSzJ{;?MfMQ}>GpPHOZQq97ZD=k_uiEz4V;mQrWtpefh z4J#Ki5n>#~(Rr#bM}FK7<6M=oS-+1*e%TePN-O?>|1QjbwbVEQJaiIxXdm!U?2W}t zI)}H43;_@I!iLxX#6fw}_HA1Z{rF@J)}Aph$YuqT);#&~$3t7TZ3i#>?<~*8%KknV z!&Lg8xmb9JT#Ct>f5KM&4o8_S{VgugKorXgMXdG~J@gaP($b369J<(IPF;)-(eGgq zoW#O1QAFF8{#Ki9U@)lc%OMSw#=LGk7E=nRa(k7*K#b;p)(CA4ssR?EJ!Fh_IK#6n z3}bTdrLi=p-OI&C)-wYKC)q<)T8goX^tYNpgPfe=^z3KPp2_aj%dB~j7)y$(ms#Cq zIAuT0%gG@r=6^!hHR%+4*2o6X>BpecaM0;G(CKi{DchITRoRNvj((tCaQX7(-+!Jz z5}OySY82)r2hsNw)g6-*e$^@vW?VCYp%7E;F(Fb1a~^Su%9HbP6-c>N;T*dQtpzHJ zGJELlFd9fcu@%$UKkwVHaoxIgNAEtXG_~&=iY-fvh*>pr`jq$E`&vZ5j^n3)8%kz@ zMgA-Xy%Ff;h&>T4pnj$GRGYCnl)1e(W`&)ql^bn9yRwZM^c%zMWk9=b&H8yOFwmd> zHcoX<#KC12wuRhV_LhB~t2%NMxdjr|&#YQ|9YgU8-LadaHO}Tk(YCrp$4(qOcI-xK z((QfNATgXoNZ))he%#2un7p?2$6e7Mzl9^^Q@Oc6Ss*3R3L3%F3fUr67Uw|j%P6rp z=4F)TL7K17+WOjA;0P8D3-jKNb?ac2Gq6$p0Bn;nI%q1gp4{2IXYb+T=N@1~gx=Ow zCMKojmRda9w*BD4F6dJNn}ssr;@w_h*bUO|I-Q!OpG@O}cjN*|TROZQ+AcE3m)AE^@{46&to3 zi%zlVlW%U{u>8lxix#dsaQ>DhRKa3)`m#SJX*+ZqfHnFdpN$@meF+~S_BCW@wK_x& z!n6@|#ndkB1)K|6?YyE6l0$IYSFL`*X|o04A>_0<+{mUv>i7A0+O%n(4IDdW{P^+j zwr}cM6n&B{tT1Ans++ZN<`{m4;GrwSU#kwN;IZ`@K zoIC%AAAabIjKup;i5xUw;&1{ddeBu2ty6o}Bs}JAd|`+wm)Q z6rE14G`{iSze6!cx|o>lzZv=Qhn?y}$Z!k{9{Ty$tVygS8^q60aeh`AJ`?SlqFwJm zyT)*I|K0LmF&Vcqgnq$oGk1lE%+zFV4K@&t!M!>zayftE z*n-~3#ds_SenCIPJq%2J4oUor7AvuS@Y~wGza2cWefzFmR}cKhN!cfdezf*p+mSba zvsfNi*5#WJViu=Q?2lC~d%sQtKA$;tXeUF)C{gV ztrA}#ZKLVes_+lxAa;oVkLI)(p+CbXVCr@&{yO#-=CM(Lvx(8pFq^o38G3EJ%dD&)1%I6nB0?dnlKF|B7 zfx&F8;6ff8KXmL&G+2^rR_v{#`}giSm7>2PXLbpDvv*gvlheuBziIof-TS=LZ*Z@W zPTfKpzjk==Li7)QeC^P0QB}$DklFGL7vj)g<|HH++P5EEVOPt|tyWzoI#)e)ufl$a zwAA9VyfmKAP0cQWq!)Ld&Hj4TT=rtqzcB@n7Ww=Vo+q8n+C`1s?)@NoWgii<9Y%kPkop^s_I%o;GRXm`~mde(iwa#bCgA zt1|IHslON7XlCm8Q~(=v$gJ?`hINp|!L-EDpb}L^j25NDMs`e+5wr5r5)1~dL14>T zeEeTZBfNq1F>8g!&X>QNyLjckONkcygp2!DFZkit>s5Y{T<(}}!MVlhU%c1WhwTXM zJ!;~lX*0WFYhff=jh@pYP8r?zZ;T^sB24po8I@Y02%GIxs`6~E0O`f<1EDZ#o2~*U zyRlIQWo_qL$YU}{s}gv@&RoaY*TJ4mH2J=67TLyHadN<{b$*uX)}n2T|Btfw0Bb5+ zyT?y@NQ2OO2L+`Gh@Ga`dl`Eh9UXPXI-@gAF*z0-dspm=V($tfqKFD2y%*`d*8mBS z^Is=8bMNpZ!=!PQuAKd%tD9YrWgW1~yb*+tk))#K_@JtWs~bX>xqrr^J%# zHd5MJU6hlY5c~E`QDIg_Qc6h`5|aN}0K=PklCQ}G>1(O)>|<2lO;e>BGwek`5Y<{- zW%*s1jYMHqE&0V=*oP#3Ck9eWQ)4O@*==sYL$yFr3HZ}In^$TYX z@ArqP`jxxu(3N}iB>SiQ^#}D6UHarU9H|zKlhq7cf)&6LeMo{Q2V~&1G8w zFnuYtmbdTf?F_hK_5UpF|HDUR0{tMFJwPcexI$eWZLX@ku8S!)H}-U~5VDjlHUF3| z$^XDLP`)?R;1P2s)1~<_&N?N{Si1$E2kP$oKLsh0iExWF*5n#&c2`-@NJ&oAo}=N( z<%-6Vj3);Jfl{tTkZEQ5U-J|qTV|@k78cB>tLo#76%XI1C&XMo6ljHC+xvfOO(YXY z11Z*IBVw_!t(gtu(>;Iq-5va!F$GOkwZ##q`hV|SYOLvhwI4_`7zcv`zd{6u_5YyB zqAN!lzAI|3DUQ10Xa3)6;$Nw!Oh62zJ>OQF4xCt=%98Rfjs>tyWnE)xc6p16A+q=f zG?4ra8W;(I?Sk5As7dy*gz?C16nHz?T3h)97PjvDzpI&vaEdf(C~1WYYO1L=;c0t} z-?4GR5F33nE2jx-e+xi77)_L$rq;kJb+Hw6Ql(&b;fI=3xPy`sLMmhay_^gVoW6#~ zow$m@W>OOyzq#@CD4S^gYbk!MME|`MnaK3}Gj{0s*+lNwi0LKPU^3Pq&Hs6UHRwl8 zV|?7b4i#N*6mG{+mS2+?2^trQL3yEv3&ucX93xPxHPwtU2<}XJW-D+vveK_ZDG*F&%1!9zJ+8J)@+&wl2RO zvBxuE?xnprD+09HSmG9Ai8INz8a3yq--58z_rZJ|M9{W{E^O~UaQE#O5;~WMhj#Cx z>p`2Tjrx3}=k>7J%z_8@L+;-s$wMa}#1zrh?>mQ(^Z(A?b?woprT+LBFx0or8AUQ2 zSAjR=!@jy|s&VyPbv?M{Pc$P&{Q-RQi;%FKQNO@=i&tvZmFj%W=%n(0)BhTZT^PsloUbGB?)yCP@^$#C94`g-@7I1HQO zG%P46X!Ni#V@He};_2n-;xT;q@ImH*-tgS+-mcC=JUr(vnCj;-z(mBd^ziXenlWX*h-Bo) zlLKb7@XdoZ`YzhKb?e&iN6%TiYSJVh3qN0+x{Gx493a#FLF;D)j++&Loc=m-#AVI6 z!Mv)hN{_`$t!rn`q!T-zg@L7b!bmO8QSFT?-ZQ88q zBPXKJ>Z6ZW1nVYEn)J>0^B2yVwKR~3gzD`fZq%wN1NchY07x@V5~uA}PMNt7yq@uP zKhH+hIdIWpKV2!&%TS6G$d_C{H9Gkc%Q0EJsp*Wn;4N0fzc_s`n9d4+!#2);5qr5i zcWnD{#wc5o3-!!~Z9D$($70!!PMqTnV2TO*X~k)?R{rtRhSgI>T9X1C^ZoXn+viP4 z39L;@J||{mCB;LGlwR~Y9;smJ=l35z ze@?r8>*?F%oXS>JX+}zNd1r1es0?LIUuunk2sPE_Rrd5zOjdUv3ov}MuBxt_$dIwt zZuB-IrP`*}gFQ!#7@(7r7#o+AQCQJJTC`S`W+%nPrsw69Csg2kTMOe1SS_V-v1wUF zm5}MQRu!atj`>j1sx}=y!e@wsImxi|BF!$=XT;q(8F69XzI_LdJPA8?>cPE7Q4tZ4 zF(gzXJ`kJ)cjxBSkg!J&uLZz7Eu+@E1YeKHYV2Z#kg~{(-FtWM-W~GdLO3{zpCYeB zR92}OEc8$YU$59hx8xJTBxG~UpdnhM)Y#2;{_^iPt((4bvaFLIG|EE7D@NUNZ(fAnNiKwJYVK0!xvIbYk~ALw1HVZfg@c zcN= z1bmI5Z5Ie4Xv`_zGG*M)fB@;tqdY$H%|+ zg*=3U2x_(aA^Q$}>iA*lDEFCDe7(#_p_Q$T=k7?+sGolMZZ_#VbEb!6#TZEPv!>*+GR*V@m|&)CR?CN{3yzV@drTei#^vB*X2;^HB6 z1wb~!Y2Zv^rHnbuf<8BkVc%}wxpSu1@jFRH$8SV}#my*7rRUnX#QUg1v-j-3j$~4& zBL33;J-Z(z{<>nspoP=@kwvo1EuB^%jOSkQn)Aob?JG%Pc6NDlHMl^OGQXT0&6H~E z0hW}CeB7-iw#Xe6l^lc;M4PG!%ddt<;KG)c7Bx0QEYqnD!`l1!`35XvOYfI#;){$~ z)k>dUYgK+?%=;=TV2Fdspuq!-B&4ugc(;IIJi=F_Khn`Q9pL3V#*}g6Rc3MKm%_?6 zQdrll>|AfJuKN&^m`7TiKmR!CW(-t?(a#D{rPsG`Q1Jj?)+C!Lin6NZgFoC<(P%-r zpb18xwKwwu9>;@^?FkMJz8P^lJ3BkGwfWJbNA;2y=ZU*AW?BtB)oRino)6w1kvqtk zQp^kTLDI*t^YNp;;YSUev~$Pm$!^A^j2 z=fT0}AN5 zr1+SqsK^LBB0+ITPD>#U$ObetwDzFy9apSjBA{VpUwcDNmB3~4;>C;S290(ma>GMI zLvKZsdL8-EPw|DGyh^KL+PGpZx!McIGDczyLd&N_=2oA$@j#?PHRCDJE*(fKuIu{~ z$&8V^5V7ki6s^q)s3v62f@H) z_#uI1aG5e=fY$_ML@IbRit3}aefU|~)!i%SK`J5CVgcNian*#Dfq+5D%@`~wlEA4j z(rWpV^x?yY1p)NnhC83Wr`_Q<_&?r%{$Exk*Xsxs_cEEnVQZ`Vx+! zp)e(hD3uKm3VB4gLd~Q#JQSPR*UR7u-3AC6Qlg`y;}YMcv>6SCWM;~v`0jL#gHD-NGOwO$U=|{$85?%G36hkh;mx0EIMJ#hEy@x{K zZ<_HZC-~4u(^)7G$~0p?@jGd*P^t0p=+@5V@wpmq1VI;4DX1K|EV-7tr%Ta=s{_go zpQ4zAqFRC0I%ZTK#X>7ds=Aq>YYlT~X=JL;YAS@V;$IFD}n+H zv+tjTAm`Yv{uz22GxQ>6=myNtt(c+ckAzNd9O4hm&;amRf2RI0J|B5EELSl_1H*PC)a(oSdyc&BfQ76)GzD$o`&F&~Z%o@jz`iW?JM~TE7>{HI16;i6 znBOKjGaF%Ala9H|^#3OoEy>U_C1oNep&~k36zz>IJ(xF4CZ+mMjM;zmump#_+mh;` z=Xpbot{E)~)fd2jAR1r%-}$j5L)}N34IJoXN;v9v_drO=FtB%YbTlGb5Dm1|S9i$G z%HyFPs;=(j(Im;@8!GE1qT2h*rgHEO62(uF`Dla}b)w{LIVx?%md zOU6Seqiy0gd&RnqTecrPcKr0Edudf9gQr7|K&64*!d15SA-d{gQh;W0=|FPj2t;QGBGjH*BOV755Z_OpkW5`ex2&r@4}0r7fie;KkQ;vrud5Y~Vqj+AMZ}1c}G%Vs#=K?^ZAr_@O3MQI;4-ypS0*D@FL? z7Scy=-oXn#izyNMf-dh*_krdfKYj7))3iF0Q2um&yiNI1P*?&UXhm^qK|y|Y>c_Xyv?qBP z^)4|Z_e(*msyX!mItcuZD090=7V_l9`}a>nFJ23K{EXI&Y~#raM2%930A>D{N?n$F&e)YunyXeW2?WmKJs zk)E!>|1WPPLZ6U-ywyo911dW)rm!{l{-GdT4thX|h@@bfNPZ;b{;NKk*kx~NOq%m) ze4Fm}OOyX7xC@G+oyJ$M=J2;yQ}zgr%q^@8b)*t*OKnS22Z%j>v{&ir zVZ_9IOet*Z7sdc$Q6LTPMeSfTOLIshN)t&sp2fbC3wJ ztM9)%Oa`CR?=T&CRdLUsKY#n_U0RogAF9ZcMcmu9)g-akAtYA_7np5&8e_ZgGM8-Rf!&vR~xYVeRV5EH7eA6 ziJl(a1HfW{sjj)hAlHFyDx5=aUmx0XG&CzTsbgM*RfZll)w?7yGdm>l~#AuBg4`Ew+64|l`vBNVvb zU-Q}a=?)#5E=U+`UG!P}-M1#fXt1k7& zvA=QTdymjHV&40gS3}O9Jr_#ORPWLZQvH|ut~!TeLCt7O36M{>p!Q3^KzvJWBA&>J zoGHMHhN8Sdk6874pt+`+hC{m4^#4czole=Q8`Rg;yQq_DXZ0TSUNrOxSI46~LXR>E z`@CW=irN}IGYb>KPyL6?#6*H`DYkZVb8{c!Q&N--b151)bjtks^EG6v{l`yTk4*e8 z6%Qd(B(6Cfat7uX#a~|H`)7B;E?l`n%5+#FV=>iQ)!5S9(X3D@+u<3REK05|6tb|P z7WJ=6uFc=25FYwLh`AM2wF)JyT6={B{)Y6XySs<9VF@HUdb$jF%C^R89c?|p4W?36 zF7yeDCk6TW4tKKszsem_*r%3Ar%#_L= z)7akD*o>H`y{8Z9T1Q=MBCf!>uf-FZf&CB3OV?bY8ZbsB)^o6-c^b``6A?s6#X8K| zHe#gAhNo?4ZfhaJx9e6Y{6_h~N{z8+r($ldT#LHx9AEc;@906R6_Jk%SzM{^uM3tg znopN?dG6jpQzlQHF_!c#FIN~iOIdYq%RAaT>nlo%3TZuO6N`_qfnc|ZP^$gAQmbk5 zK`Rq!9gmrTs@!gPTZbNm1Bj7Yk_X|twc-wxRs+G%<_X0ji54Hmk=5Jz{kA^>`V$83 ze6x<{XyOqFi2aDB5zMcfW)AyD*z>P8Ab)(V#jwh6qw6Q7z|0tP6rs-ieAuPD2a^aXXZDzmnQF_6`v>Je+Pc@haswy?Jo<(|$umI4dJ ztiQISYNhXgi>kl2Q&!TYo$#V5SMOrzt9S3-<+Y#0-=98b<+V0|8wB}QU#~)`!W$5h zhF%K+%j8ihYXmB6G5{Q${YTG-zE1lO?L}yQCyP?2rJ+K=y%>7y(K}RXd1-Oao<4r~ z@Y&a>>l&=$7g$9adAtg%7zV3&4p#9FtfDmh_LZBD-@Lqi<#tSVL3&oy6!4;5~zOKS)#J07p2IPUtX-51mA z&4R{H7-?^$(b*e)c@Xd{?t3ckVwkoQEehhpr}WdafRM8rkdnuPI}993P)t6#VX zH!1!A+`gNp_#X_5T zfxt!2z`tD4{d3`X+T_${Wo1>vFB%6;T@#2P_Y@q_0j=#nu7$SJy7b-Nu>fG_Lijin ziu!$biu*_lH8N;;Z)kU#tIH}&Yul7M=E7c;x(8Q=%eA-RbTIZx-Fzm^3JMrEb?*GJ-X7jV zgBEP^2hHu`uyyV>Zq}9-=BB**ZV4cB18yhV(tDJrg-BpIe5{j;wN`t^C!L`VCZ>4N zWazi!9L%7Fw}*lAWiT2+Q>X-ag{d>}NmP1%dDd&zc;G%0y=^#ste&d!mS&o?-HXdd z$2wI}4tmYi#Z8RQH_&z}`h%d9#Z#!c0wI@HHwi2T4=~oT@EGo9tt~V*besBvKMc<) zt(A`2+I`@8RA0wEG&)#>4{FLw%qVK<<>ZGalyndkbyc5k`lE38gH~8(No6BWr_;}m zc*9?3j9-rR(JYhM(zmfpftQTD&fibXFH3vKUj%^i+dxkBzOk9PwW*$@yBT}IcF`)a z?g&3>z2l<>a8P=b?G?3(<{AYLDzf_W!d8kW)>TziH_=?%dY#!0EICU}_so!Sc%T3Y zIC7J&22W=TGZS+=Mqx@yNFIuqYU+g`~w)R&4VQ+FgRHr7_g z>e4bwqU_tlxN!(IAo1Sw=Pz8ka^c3^M-T6x-yMkjbP*u&O)iJdK|=c}Ab6%vzb0+>eQ*{gM+U=eOuBgv9}&z){~WZ3jr0*(NreasHDA?{XQP$%9p4py#wF$ z8Vt>DCK#nSiqkK%`6ueaQ}iq2!K%E71H1zW(^8}aSW{^)IXVHcr=DMPb* zD`VXC>Z{AzB`N3OxxX^*S+wj0VGtmo9RZ*ZqfLVpuU^lUw3k)a>$%5N;+@>xqdvHq zo0#cw+L}Atdbv90R;<#(dYYML=7czHSQKKA)X#Yhu!~y8x-D5b=>5i0a~Lh9IR!aH z2YvYwdKwLSmsn9UR?l*g@NoI578((<&uc|Vgdx_Lx$^XT$1X)AmUp$c zSAPn-jJddG7xFi`ly2mrH>|K--_S(T<2n!RUHoB5eqkRtbM;{ws4D3X(GiWV2(Fjn zwb_GuBqoOX?S&%@faj@p_xCV-jTIh)6@C&c{5)3p1+4JnSm9T(!o_9fWl?9Z#$YBy zoC%c&;>OWqCo|;gvGG{U;76nDOFu>b&%rO!lheSs{8Id-x~j6R6t%d{th@-+!yY9? zym}S&=pm{K5%-=Yqr6iF<1tOfVh^3UovvugSUcvUbrZ{G^!%S`*$ILt>4G41nqvud zQLoS;nv~WyU1O0~p2Skxg(~sZuZRCK7C-L79X>&XiZ~s)$#-#^!%~|R6e-HdFD$Eg z`589oJCrd`!(M?#8@RSEiR4*!KPW)3(i9zVo&u4J^H zXeXLzxt*#FUQG$lfC>xWK$nBr+YJhdmbx_cRd_^Xa$zGWX)H{Rj0lfT&h6<{Q+;Z= zq>m8j4<9DJem^`S{0)vUz!9$_BElbpQhXzGpNSJEjN>yP8 z=4fYSSeCWb04L`G*4*-h5+$Wlwl=ghHu5C(P=r>fYS8x&?fdfTWD;nn#rg`OJtO*k z+Ch@>P80;WdLyAlKhTplJu53#K@LkkX&VUM;-%zdeaQ7I3VA2Hb z33-T#nSG4TuHF_F7Iv$ol8J*vEkI})+B$IV+I>V@N_cqqOTtE`CC+$#Y|p-958_Hm zNom}Jpu8wg439yBTaSXhmfU6EIo3v4N)s1^UfGbSVy^cir}az})oK$r*~l4LPc z#Dq^%^Tp7w(OcXwdKjy+k$YS zNo~XW822*##ml!zd1WQV6*aZ(Dzu_$>ro=jqUyTKQPVD{>F#W4DJ>}~5M)+oR0wQg zKZ%cM_2)Txhaa(vy=KV-4>OW&<}rTJ8k+aDm$x{ms2l~SZaG)kRNFn&mxaih``eZc zYZkbhkvuc^3Cq9Ru<;K+;;6`gD*A8>!OHd5*@~vG`O_^}rzfyZzrs3UHwP?qdN*(m z{spQO8F_jR@`(dr#rbN+ECduAQCg(=7hq$f;d1}@nL0#mmmWf)@!tIhC(ebv2uJIJ z2f-(44FatNo&;O=BmTc0f3MLBu8#Zk=)j2^kuXvM8H3gqSdE(g{kC6!nLjPQsHOqU zS%0a(~apg`F1GfmLoT8)~y;iq501v*LG`Nxl7Pa_90D?Mgzc6&|xRb_(|4eXKsM8JEzt zb)kBZdbxTr_=7WepFgGMA31joXF6WSp!xq6L&q;(wR&>^Z1@vuJNta(r{ZRk)BGjw zwFb`tUZRuCh26 zj9do58A(<0+xs`qUx_m}BZ`U~CFQv7Xw=2|jxK3J&5{ z#6LfO{P16NadS0)04wFq;e#hGJSE4Jm*;%Wq#G+oeoTye`7$9Ht1_pwCbIw#Kt+9B zb!|gy7iL6j1!9Z*{Nl2Py1M#yRaJdyR{ocA_#Xys5yZw8PVPR#94)blnxM6t6nD4q z1=K2h_uaIq zWiVi+&7`=wxT9Uwy>s)rl?$ih0G_ei=-CUGulyaV2L4mQ;Nh!QE|}@pzuFll1e@W6 z)&3c)y#TBI3s(DQto9tNb|NPTG3yVwX8qNc-x-&mLr`XMknVc&Fgzo_vA3=dbEM`? z90nntK0|oK7om*#u+{LjT{oT)7claYEh+^F+{Aym-Zu|AuMGJ2v z)&Kp*uFB8;pbh`U-LY-!dis4_2%I+V*oHTrBwq0^7fznH?Wav^r;)_%36wX;vQ2=Y zH3M*pq3+1>w195OaxIa*g;*O57FE$osE9Jr&zT+{)xTrN)qf&E`VQ!{6HTb6IQW=E z&B%dBF#+7$W_5>pv-+2R#&Pv!otPxed~8O8>Pv@?ojrSYE-uM3^=@oqJXtg5sF$d9 z)KYAIDg}_;sfoH)gWYaJ+0p%`)MYZ>RR2@g-eecjrl~MHJt5kUIKumL)Ay@ajP*vJ zd2`R%%a^SR0IqP1TE~1uTPri~phc@zZ}Ep+yT>{8B<}C`W~INU-@Em@Zdp58WpA8$U$^3s(T(Qh=J?O`Uz~N#7@? zBATVdZYW0oHax^y?I7b9;rKi_(E<6WN5g!{K+tiRxH|c$1l(j<$b1O6XwRQ(-41 zIa0fdnwDN{f56*w>ip&FZ)j&&mGU_B#x;K|w5_c10@?uAq{N`NddSNt2Y&nCZ>y|U z&|K;hSFeZNdz(@PWH;r_?Q5ae_R+G?@yf(km#^P>{GRk}-M)GWxV+yCb67bAQMjAe z02_0mT34;fb$YA;saZ`7@Et!U+1lFgTl?`~u`L|yJ7xQ}RSVIlY2GmV0W(Hf;$fpd z!qw1dh!wE@5lbxszWw&wxxOpr&Ry=Es8Cpq8t!6E_z@>$*!*?w7!$&aw$xrqo)%>N zOQ_A<-3Jeyc}#aKEswi$>?Haj{yDbqyn`1m zoVoH0Z{tE+b>_%P=xqL=X7InUihg<$omRt1-@Z?E4YWEz$#_Szdo%L0E9&Z7nrJCP z{TF@@(DCl3=9b1*vyzg`__9noI!wes4vbdEFqF)Jf^Bu+1JtBO#=DqAiDXJ14j?_9BgF*iX0si4jCRa zIYX_9Ax$iu-F=2S+PBs!{yx61g*kch2=sQb>USA7P9EOFr%y^~G;?$t;^JgQ`s#m>HlTra z4MQ@pjK(53Je`Urb!P|N+qEdRJqNtr_el}aZ(b@^dw6QA8|#{gH?m#aj`Z9Pt-J=3 z(~zgbHmFAk$@^v9x69@S4lyOUChpT0EnETt+X2?wUfKs4xsRT);M-N>0y63;VG(U( zilidbZa*TJw`|tzxzl_>PvM!k`+l=z;nIzM#9#a@i1?JX=6%iA?9!D-JAml4&03o83(e&Zv+Dd>St<){<)}kPp)3Q`o89I4i;`r zQkg={Kt#6@Vp{MCfO!4E-mR%bLRfL{kZe2_+9pJ-vrxr81TchT|GsJVC^!i0HnMs9 z&roacCC&DrI~^^ae-(Arq$h#623lH#q?rxVUGkw*_4JVh5a`6cfkpWMAiw&x_e z&uu~DtKFyIGm)<+PXbk>7(66;bYZKw6L^>DqdULVsI5rxKVbqD2C9etG-CdV)nrlGNp7&dS!E;nLu35 za`&(?(8H!A)_QDrdVdmA2MZ%06Am)|oT+G8qbXKOb#2}K$Io80bmfyrk6%Q-OM`*e zYbr{Mef|3R<2xmt_4%(}Mro9;(&F@(@Tk;GqQ=f~OhCYB7h64&uWRc%I%r%_;Am1O zA|m=_*nQL>FUTV`rReDS%f`=ONSuH_~VytYbT?g$+s9bW$m^ff86>LV0IpP;PBxKPeG{G zD~*2^T$llE}3lzV^o-R!r&tfQhTO(G!m}ZmO$o zY^sChZRw3pz=>z1zxY_+&QPmmzD&%R-WDedr;Z?b8nB=C) z;<8M8PEiF<8?^xjLuArUz*F;BLJ_l@APQvsjI7keq_mPM$W_~Giqn$bMZJ1qKgi3+ z%heuMS5IPU>*C?z<>sj??csP2^K_##eyORgtGBx$)6l-MJ~b&NvlujXerr`>c5+Hq z)+f@HrS3#+6a^IHA*Nnarc9ZZ)589+t3>TN#YLNG=fb+#@~PB^!cmz-=o+m ztxAr*clCP6!QhEA7c5>f+uzNEbTV}vHFM$oCEv_+)HnB@zi`>i01s1~4%21moYjlQ zxN7OAybil^^GQr<4au)bd;j>xtuwp#eYLxHVRzrb?$R8!GqAfCVRz}hozBDVI>ekw z$SEkTqLt@G5k)kv7!h*y=IIZUpn#8hlR#sX#}cjwV2xm~4qZ5VkXFB~r8XIUfN{Ni z;Q>gi4>FHOpd25O5clB&EbMj}WB6zQ(!huJa{k=DaT;tT+j{g5JAb9?>z9ZaL8bBN z$-n%zeKT!Eh1R2IuK(%hZ7Zftt7-pQn*g8Wl!kChZ_4tuI01#5y>N}8rHw6ShLsh& zY7!_Sjp`iDC{*84ho}#!_fZZ;=k*K>3{%o*?)l~SHzBxyxaIJ%^VcU6`w_$U4;}ym zOU)QfE#mmhLy>k#AdEguf84)|xFKWM4?`-&`)$*@)yo6vNZH&AeF1-f8ulooM%N#i z$4Tx_-+i~7Hkfp9ylCaxAAk2pLHZt}sYyc>`CqNU@EqyOv9h(aF*c;PH!*c$(J`*B zrO?=#SKF!JNOeSrJaugt*w4huSkJ)BZh$?Voum08>25uJ z*<#Wtqlc$fc4y>)Y~L)5F9%58t>TFcQv#5LLA*2g^xe;inA9b`7a~D`N<_P(tfGQK z*odOM8XWuOE&6|@rhaLzFD#_9WQma&9W!1MB98Y0+2O%fQ_CcZm%@Yp%pWC_dSUYtLE{MhAZQAQ$vp!LC= zKl^)paWs3s;MVRYE`TOhTGvq54$e76byVxneFW7i?e2CqLrt|*mz1GYU69gIL&FHg z#d%rTd5wT3nc50E0%hk`G&JxUs*|!C8_@_~z_gz-#n;DUFl~NxwM`woyv7DiDe5+X zMIYiyKM6}^=L}{hc4y{ti$0?OLig_CY2@}FN!+zqI6GO%10zz5NJ4gdVGQfvC%yT>~EO=_BMgWbwy= zWo$rfx}6vD^g%X$aWAP=m!0zbh8V2f^|Z4%%lJVfLX-3VTsv#=aNHOX$5gou7gO`>`AW?B=I)Hv+;XOK z&}3gTVOvpYYL?2@ZN%7#k7MB7KLcDhxNnTqbGjF=IHjt!vHJbJAV(}&4ry%Y>@j&! zI~eW}Rl0+W_4JM0Cp=C-A*+pKwSLKbO)?Vf{3r*hnHCtq`;MIZP}(i#saoSML*noY zO3(95N0=i};u}Ot3%cy*?)-i8q=CX-Mn|v1xTTu@4d-}Q-U4gOL32|`we_8m)-E2Y zimheqYKux^{ml9&fz^mfn=t$JiV@J=ud}z|wJ9l^aWU11ZMh_??Bk1r+_2%7s5VOsX0ttaYOR!>xcgu zHV|b#6ZG~lSXE1d^pRQ3L(Fvzj7QH&sD-a#Arvdjj0`h@@OXk98ygTb)?`MEu))`6 zlPsx|*OYz^>K&}(&sfJlVjUmHI>w&fSj!yzAN#B9-HVXn?3J_VV|^y{bt%-<1-Ez2 z!F2C0YAyjxwGh?JUL|}xT=tDt|VVVlTOtZbk#gAS;{A>4xb0-g<0PJ=8_`&^u z?FtTk^0^pG+gs+F`T3<-h`6w`x~>PYR(VmzTSV}$p5M5F0OV#=GZqWgy?^lc7T7FXwrp4)Ig1*j?(H9F z7zCt`G6IE47c2+9x({8^Fc2+l5kIONK4XSKeyzUi6zA+46M%akWmDy8@^ew-Eq`NlJeVte1-%Us;H0`9RKMaDe z7UEoMyYs><%T06c}qHz&E+sInGCL@(wP~GsQ4C+E(1BqeuM+6N8N;VyE3M3LCK2zUu z=42E_d>rYbgaP`2f}Wv+eVkC3V6zj3!yZ-=UnC6>}`3qsMLK%~&AMNnwn!xPfAV`Y06 zOG~7M@?tmX8&}lgVFxhT%D%P^PQ1Pz5EC-U?$6nXs`K)Sf$X$)^x$Ty%dtsCFZSFO z@^SeX?NvCsS7OiB#Y;+nNBThMxB^Wt#?C%NTuo~;<8I{Q+PcQJ4h~j2B0g@KSlnBS zeF6a!YG-tB@C!yj|j{Zio#@;ntoWk3zu;$ie+I;~Q$H z?%})Lrg66qlDqfp-Mjb5`Kym&vE)2u{3+EXJ(y3m3I3pg92flg>(&k5jQ2E?*l5dj z2K_vi3%$#Syn>ou9FuzwdrpYLS;5sZW`xR&&=K%I0UEZ!`%URQ&4xk>9z$*7-x`e|%q zI0E1yyZopi8J|6`fdKMRp9x6K<+sfnRxh1AdXR~BX*z=JhLLu?nCOYA*+rc=J8MTG z2b9bgsFl~gW9Kg2xc53f zueQCc1v4S%%++GNfSro@^qCr1kD&!BQ(RPuH__lRjAZEQ`VlcYKlqL^!)Y+6ZiyO) z@v$%1df};e@h!U5;qhuaLoTV0Ch%`>HZrxf*>t0;y5`o#2JBD8e`RP1hN;>N!rzTT z*@<(PZbioBHuaTu$ccP3En@7Bkh8IuUbj-t7%<6?*d^Qwr@zd-GyXJ5B8S{U%GkQC zgos1xW4{-AoprTgAB)NkqDz7HoxP+GORT54qpcV12U&oDBsx?#IM)UpCFVM`JGHd4 zurf8#lZvt2l}fp#vc3@sL0?Y~^rbj2k+6ntlAqhe7waPiQ)#|1wN)pstxareYiDO^ ztl1xc+X{qKZ`-tKF1pV12byWyxI^&fGGy#Ddc#=lseU89eS<&`nKW_IAXCsx47?r6 z=w^onpMKuFdfCDmenTDg`Ib6zORJ4*2f@S$1?n#PcICuezXq@OFpcZ8;)fr8SpIbd zZo&%OjTJZ$D{v83-~z0`*;s)Ku>u1$^|vj0drl(yIT!Zi$t%pq$gqnq;zENbz&EWz zwLg#w0N;2ReE3%WvG=G`vAU%q6+WVps{2xq z->XllF&)~9inHEe`Mu3TunqQr)}4-#Xf*PxdtGP{K3iKetWiCj#o8NtWls>i;(9Fl zxi~ifaDuC8mHO}iR*muK#IT8)joavpp08(P`Cz}{rA%;?34?zv@AOZD zyB9!QdiWu&73YBdFSY4dWM3%qD8Cn^yABixlzR#4;4XsNqgxFUM_M`L+z6|6z{w>j z-ig6|eHA%Lw0JhVxTYC_URzuJ>$6EUsy?oc)X+f8he4>Vt*q;4Xze4~Wef&i?!at) z^nf-r6$-XBoGhbH3p+w6tJ;)sSy+&LYu~GVOFYabzXFEeF7rMk& z5@jXYM}QQ#$GERo&1VXPLJ`=HA_<$GqTmE$+3j&|r;*P3##$!8DJy;KAA-5dL^n<$ zHWt$2;V?EAP2=&TQbF42>)SiI0VH&_km_iIVkwcDjs0$zrH&ZF@y-@hM_S}Oo={+9 zrcap39Jn+cTgzhQQhJ9EYl%jg(xq-|tglsz=wGAmYHcAnat4##A74Jl?7WBBxg4`| zA7E(f$q+mrNtT1xV2@HDPE{^+B4Jdqs4cB-Fy`)-am7m;+84ONb$5K zOO`BOropwPJ?CeDBsUjx+fv=rKM-I_p^bJ!Cn|cNX|#5MdfK#M!<={xH62wGe6ueE z;fo3STh~)eYQFGDq`oKiQ*m?m8itdeA!F1l;6_aT&5dNxZiIc{%I$mio_)%!CH0=4 z>FxM}`TpcydJkN=d2`{1LjiDP82o)_9%bQNxl9r_g8z?Kkug~U7Rh2Ulqxx=tw}24 zaQ1O}*fb4F&f$oqA|CaZ$jp=Ljs>R6=_R;0fsTR=^?f&nM2EFA~Iq#OuoH1=`kmo={(rV_;9*X|F`jU6_HqXz}xkJAN zMR@V|OYPuY5Q&Jouu!W@I;-I5TBNiM`qlH+vpjr`s=KSa8Edoj{k9-L0zEx_glObk zNhccG^Kqh5i9n*QKi0D^w@T4NP%?)9@c-p_+U1P=S8z1Eb<3A5ndJ+#mY4x@?Jfp( zD3Rp7*mV?U^=g`6*t*|;2aI$W?ZAGUAcyXeBzolHfBB%ArdkClV)D_BfXkIiyE}V& zWI_gu&5?>E%$`nVpIq3}-ooN*3AF{-`gOOYwEW*aQMX*6?8wN)#uP=>O`W?fwHUOp zv9GyB&&1i;*zQjI!_>gcj#glG9E;QSU)!kU~0jv7fS#qML>Cjf{ z7#v<8w(7b<52jz!?Qx*K_xq?()J#@z-1Xof03tuYl+1_unM$n^TuH5tKIa zry1CEF>CiwVI_=?zWJCgVl*IVcLl0mQ~wM7l_3iG^$V|F~hFi zEG;3UPtH)YNZpK#=U3F~yZGL@<;8T*^ZZXVsbGSU{L-TrZ{p+Mf6mD*NA6P(eMVPJ z2612JykIDdJW{eC0`Ceh77rRTW=!S#G(`Px@5RyJZ)0gmbq^ewWdP~SVx?Z!(@TLn zfyP*bH+GcY-Ssf81WZ~cQ>ZJ|rxkh7c^K)iNQ(dtWQxe7JWJr1FD3NYqm6azo3x^m z($}{?H6e`c?CwD1rsqM*SP~=b!fQn5NO-V?rUdQDbl6a!AlK!|**pP5i?`cZBca4p zSL(o(nIS5rfnnObXeoQqLj(zGUnc|C4O$yg&)$B_G!DlHR9^{C!p6nW9{}j*n$h>O z{6|3p?`CHRR2NSx)l4K-#BiCz?F{^OOu5%=zz5SE6e$25^@h6G*;tR5rJP|RhzE7nEKWm>Vd0p-Lw5KIk6mkfHWF*p~FT1D)= z+*tUyXYcYZL?gwFJO|8@k7*hC5z$A;9Jqstlo6B_7!(H*FiQ=+h^80;g}?{)Q!|#*g$WwAcW>V z<-flvm&3iUMMP*0uSX9HtQT!m#4&K-dUY|rN4|{r*ZHtpckh45AZ_ciKRmp3_vYCH zKW^T*cJ+d>LmhDYxnkSVlO_gO(f2oKHb)lwvvZ z2aj5a1aZw;I@X#uF2EOvzq7eSj5NR9d>~e>QLzKDSjJmAW5R@~Q@ou>zTv>()8dH zo*ptnZuZMgJl1`?7Hrd{L9SpA@I5DBJ`L>~0nR7y&voB?vvl#;A*c&^1TI`Tf9X~~ zVjq9c(aU!(-20GKE4OLxB6>QMB3f6csHTtXsw~LM%g;?QF|)IGayHiC$!$8yi*hpaN~&QB8*0l+ zii(N~i}ZvDpSbL{+)wd2H7smrCNYCQCf#FW-+p{^7b$UU)Mwn{j89b+IKHT~G`|$+ zP*utuWZT(aumoQ`3_G!B&z`+t^qcL)mgfggpE(F@;Kr*oyx8*Vgu}N#QK0Lqw;^~d^Q)f*Gm>D$G(Lip~)}l5aY^&vf+hbvAqldd?VL5L0f(7#f z9Q1iCW^ap7&XL-9VjA_^u}ZK;C9q?UV8`CWj=h5&i-sMe_gh99?RfDiV(KS%pC%OI z^s6$T+@Vvg1Bb7^M1R-I=dWd=E`Tb|;e}sun>k46F2h|0;pgFiQaliy`{IA}|LNg} zpGP6LBQ?Cn9|XY{pJ%})lx4n$cHswVndJKU+c&NrJ#+r_v6E-6-oz;^mf0mGB;}Mf zcD9rime$l()+;&{m5FcepGS(6t%Vq=p+khw&%3FjAT_bEC!eP4y@hV;M#wQ7aqND4 zFS(a)?Rz< z))J+(F8jp4zgxZcdQk&QrJD-(z623LKaq7gUfGM%D^YL)Ge-}N@x$(ENnJh3nN36? zqbNWC`0`9xgGgcFBO<~j1z-T*nqMX$P>?wE>@>yu&!k)=W1gd-w|W?&2YDDa`VWLQNigQ`2I@AQ z%qZ;PQyuoG*)P2Rx7YtX(N|%-h)>}1UFAC;eeiZtRIpr2zrKmo??IIpW?npu0dsrL zqvznuNoXk!a+t}YCi`s4&b|#~HovN&p&s|WGT&34eq_(*->iwb?YDOrWD;4m`F%?G-uS}ChBp*p#H8yz(DIhdAHld+U?yheo<(8|NWYBf5HCN=JR(bnkT#F6C z4ojfyZuYIOhcsDRI}BKL_O*)U`n$*XU9Dlte1}GQaNA2TqAnAOsJdC*wmr9EH`^+H<}P+si_v&=0h@@_^WDgliI?h>jz5f}Ii1u~LPAk4Da30lb5 zc_i+IWv?tMCvC6T9L zQ(U{Fhb;lJCKWpO6xhEM5vyYmjf~#L;&vOQ&(CY23l+ZM{z_IatxHGaX#5fXF)2G~ zIoG!sfsdN>bp)U85pwA^AEp^&5g`*t=ShSuO&!=U3`!e}f8aehC^{eTDgJ_hLz=#r zY>C^mD-s>u`pixLI^F_ZpKl82c-Um^W|MM9XZF!d8(fvB&nm^6$VzMEqi@60-^&7v zUAE5;$`X|&MWvPHZTMJBt@SjyFD6>@nNk5Zo-`ufN9h)mI3w1jv-H-*>&0zMPg<-d zh}l|F*>3JN+Bs@3wP#qun2`~}hWvAg{H$T#sz9zPj4R}6M<`7co0T|zI4C1t9)u49 zxYA_m7Bn@ILW-rcwS|NOwart;T;H;K)#{&ee5X&DH89J$5tdvDOMVWP{PKV$zcgUU z2^HewpnpN^;>YjSpDct+smpoDlyBUyITI(Pv}Wxhz}sX!ho_uG$?65faHLIJqE-CJ^g2j*kEL%kwdtNCi}FS`$&IS-}9%^P6J zpVcHn(4)Dvv&Ya_Q`gem*lBmz^#wOi?LvjGM&%+E^JoHv3s^H2LsL~*ov{vLOQ2p~ zxpM5l4m8v6IF;vhzTuQw#5Phl}Fr}p5oF`KM0Xi_SNl*2o) z=ObXx|Kk1Gp37OqW_8?P>1oZu$bpMl9fmnD7!(C}Bh712Y2v7N50pMY2M zXX+(Udrb~(La6~8_!7twOZ)w)udbk^suTvjps~BN6Go)1Mk%*j>h~W!bpGo3JgbY& zPvt_U)k>sd4#CqcwudabLMi8H{n65gQ!bVD$bb{LC<*w79WO$Dgl zZK(N}i83%7;*5|PVlns#)$Ut&y8~snYFbDb`XK{FttGm|1rx?&=6Q1R3uB3zgax8H z1YcG7D=EA{j>X-IJ==QQh7wrlm~5zS@PJQBB(9`BM(ZoPruI?0sl>J(9OGUKTk5J7 z`SI-?G)$Fs@d^%7V>W!EMe3@M@o98{SjuC_q}KM@4ypg}sdMJcQMI(SnQGe&on3f^ z9Hzr)gb9Luz&|NUC{iO2a2LqDB&68J=cBtFKadG;Wu{%UO_?$KiD#BX8}8^5eGxTA zL<9u*%GtQC*I@2wM%>uPV{?#cMFs_^@J1}R+Tgn={#}tmq7d^~l*L9&q1oD6)#uaa zKxE0s4dgP|cvEU$c3(@k*+dho{ro*>oti`s4~2l^FavQGiDW8;P$cmkGj++^2)sww zP+qlj*(?Dmp!z@oqa>>U(Qi{HiG-m5#$pK_R+gQ3OpVIcM@q?7^RYvRGpvadC#Q@X zCCN|I#Z@*!^%C-^Wlh~MfOhy{+)kUxXd$1R!)hShV6Kv6Q{63U4x7%v&oyEARTP)Q zQ6QTFLd7J8m(B#xOxe47;3;8+@!UQuO$aSCJ2biMs1f1IX6&X3cs4K|y_5h)ZXg_=J#!UWZpUJD2)OTzao0XuCJ!Z9AXb`iw5Gvi7HEfkG zaqr2KXr4ZH?7M@vK!U3?bP~M|s=27f2sc;TlvRs!WAqmgbi#yT85US=A8hOx%BF5GEjU&6TA zlXz#+j-~F}Q>-32P~Eu##Nj&Z`xmh9>tWxwB2xbv_WcJ$>JiYW`R3o70lD4UbQ#wD z?xnjJTbP|)Seadh?N)GNK~zu0$!~v5&))m_)3DAn5MFv9I3EHt5`&O526IEm8jrF{ z%mCEZ-_`jF0{SH|s&7&sGgtn&9%h`bp%KuW{n_euKkdCvRQ=CvTfc4%fcQ6lRgaZv z`H{++=F9MMl-ENzJNx?HpVqBLvhxOKSRl-kLIqTg>s%^;0h0(ahxM*2%Man zLy6{<6|eaQL;T2_yKB{-@It2}vc{}Wa6D&Hp^jb{rdWaJqqyc?%n()EU^EtG4~-{ zw{~RZja}bu-?MMu(d)q8d3Vn2Pu;!aJHMwVfTV*(e=R|$#a6d!8GQ<=78T}GU#)<&}TQD*EjL*al%XHmLOIMWk`L`4Ru2|q9>cI3#>iPHz+ z@t-n_44^Ow=rkuT56ZJdCsqeUMh!`rUXYJnURJ2{#qsQJC1>{>uLH?$O>1-Iuj{}O ztB+l+p-X!US{vJFzQJDJE;7CZ7Rg#O1lykm*~zYMeM4n=Lmy45;R1@EH+yDslrB;o z7B_Y7>^bwF`3+oOM{g!%kIdaKEt)xF<|G2!i=z@}&Yt(gOFth*gGyGu&KH1#hdXgO z#mNCM9;yHd8ImpJGu#N@K@o?PC*tQD1y(PQp89T^EGRfwu9QkF97Mx?Wi#-+01<40 zi(Cp$qyp{cG=j^sUw>}tk{NO6O&OB7VCm9juYz#*aOv2nWtE(+D=};7wN-cm_cZ|d z3ki@fj+?avV-?=pxEmy+Bgb`GDF+M_e07picc0B{*Zm5?*97o-YkO$WfMPMBK}lY| ziwll0lVf+V*nJj`RD_8+-0s|pn!5VdE}hDxM}t{OL2=&0U_PtQP2_0T3Y1>A@(Y1S zH0ez`aaU`7T}{cYq+zYI^(LbAErc^5gP`=qZ!Jq0=7K>{ zzG{V~tFr^NRlchN7x<012?N<_;?dY_3R1`%friG@a7S!SJ#hF~dah2@Qh4Lcp~FWG zY;#`yPNJ2m538?4akv9{$W2{K+=U=T||Hlj( z%#lpPgN;dtjWMzwV`I1;ZcZEXhs_o(Qnz5hutcDiX9R#*Jg{0p5mN)0LPwP8Sk!+qR4eI4hJm`D)4r%4wlB2bHBet93XM5c=$}N;twKu$ z7w5dYGzjsZskaLis>afy!Yb46St#ZJRfXd;Q6QtpVOj(*EqNDTS~P3Gw5XzzXU?Ag z#7oD{I8Doa1LgjB1Eov!?5S&QXlKEWD5O#=&uLXsa9%w6OAs^`M?mIkJk~@p2W%9_ zX`{e7WuC4tMKvSuDzPfBE?c^E5wR-lxEZi2ualphI1Iyb==dKsQ?wEt$4u*OH1+lB zqz(ofQ7u;{LyThw-$ln_@mRgULjIGDTFDerW`h<-8HAay;OiiqTtg0EnBwihfR4|Lt{K-OYR3b_^H>kQ%A&x z2Z-&>chd_qP$sHgyLS7=bx`hFw{iPg-Hbtpf1*0S=7sqi)El_v<%JpkqDR5 z*vM7cX(<2#-JR=I*n}k-zV$)9e{hhZ^?du~=a(#+Fg!rUDI%KXwab@B8qZ<4!dYYF za^1?uj^zoQfi!2U1EpdlkRk!o9l0V?IUH@!iY>Qt zt=?+#bFtb7N7V;J>#_r2m@ZD{vrA1ho82exRTe>S8hQ1QlLQ_ z8BfdL(abBg^84lZ2M!;y$oFYu2GGXLJ;)MzAfN}RQ=oxf;6M%Dqzk_9+XK9O+}+UN z!^3mUh@Z@$;M0l77!n_=ZUme$C6)>B|8CI*ZOCByj9m;EG#=C5(~AJGwcyPshsP;; zdwOtFyL(J{yFJLU`SDv196Ef|c~pX13U8i2cKGoAZSTMR(()w>CX5PG3;Yx~n*Jh@ zyNew6O`$?l0qz9N4`+jg&RZI4>>RK$8DQP?>%V-8^TGJ`Tk!io0+N9hf3$(-3*L_> z&w`JzvpkoCkolOF^iT>BW~@5-?Qf6DxSaDRE@ov_<3;qLbOkV?ylK~7Xg{3IENn$@ zvgtSHh4IjVnL-W>V3KA>DOuDQ-kQSj*|TS}um6h_o!9H|Ep zdlBO#A_UWVGT2ek;LZiQ%QzGW=Ys-z8np(R;0l6Vuv**n$VI_W0|2O2vpZ2XE-oSG zt-PYn(0|}Q*?1wl6&*ch0_o5=@CdpO!ufB(-x8d;BW<7NJB7{Pz3s4MWQFi*pix;owkP!@dRp^f_C;%P|BX2Qx za-DUu05rxbzd3uQMJNQ{%wn;!MDXw;G$HsRt+CTNHW<|Aj*c!oW^Bh8l$aP_DMYj~ zbIOUF%Ri(zjynb&$FxD`QNsg#%V5v|Bxt2fE(b4^%i)Ret{@>fI1+E`Y&2=O_fICx zrsG(QUA+!4ZsHscI}i4OW6v!GNUwLWgc7c;%XvZ-gHEXNp(7drpn;I|1a5LJUV+un zMv#vVx*L=fB7=QEfA>&JxqQ4+JNl?TRlYH0Vi4F6JUj)^6CxcR&0RC@)}7qq^2$=s zxs7y*6fa&RyG{h$(kt3HDi4AA?{DGg&Yv(UTrKcd;?D$(e#F@=#n~;#+5H)3_W;iB z5uDv^@NEZhc4Hso%A7g=gTT2kyZZ9hHCy-X+Xn^k*XbKSnS!H2*89{iIQf{|!8rQO z%6UL3-$g}^1fgWDfWq52)QtKk%)g4CqluoW{qAS@#bk}9<2qNX>!TC? z+4rL4LGJZFOh7%)#~(PkX$wkXUo6JkkwLt&+PRDX06f4nSU|->xg`~|5ev`&Vs^BU zg^Gfk=y(Po_2N>in}_5ZyvJ~jX0VU_%JtVF^}Wbjqo&W9J1Qy^Qxm)J8%hiem*|8E zPrV4n^53}Uc5K~sJiDY-$8XNhx_I&^@YtE)2tNiB&^a-K7))BOYc_)p0en$qqOi@V zF1DvXn@x&4M*Ot9*;NX!z-FV_ut%WNJQ5rD>>hNW;nREDZ{50`Uyb>_@~+yFjP$Jf z);#)zl+g_K&FtL#W<)Bv=K`g0%r<6QVddQp8W%hKcL0Qb3g7_Lpy5AjDc-+( z@1YCXwP@$gJG*|(rt8g8=3ifb;kkJUQSLgvN6hG{^B2rp@|M4j=j?QO6qcYHJ`l+> zj9o@UOCd0to9P(NfUm}!3ztkC0e;@j%!Ds>%80WRDuJt_MW=ZjsK5h5upf884(RLi z^Yis`#qd?RQ0)~J;@Q*VA-Pjq^gnRTIe>K~6Tz>E)I5aG{) z^(a{q%~GN9$IqU_hrc6s7iSbi%*N`z!E?YF!&%JHO)wpHzo z#{z|=1WCGjIw7Es&y zBeotqeE6sn_v_bQyMFBX(d8c3?hsU?hC;_up&BA@iduk*vV znsP(iqZj^r1eFY?-DwT>Q>qjdZ3L3*W+bD4{148zYu0Ub zipw}JgoyVC9Os2<&;JtlUvxhV=*RsdphItlK1A)nGNJV$V1N)gUz~#q7d?6uV1-Hc zTZhPV{W0)a4mu_q@@#n!aytOF%}t24l{*^I14;-*mu9Eup&VR z{d*MYh<>5zehlG%KbN=J(9LS&^l&g^2bbKxv>)zU8P4Vk*tRzO0!xpftE02a(1ggm zqq>|ZAcJ?@jUe5M7E&wC1huHgz$chlXp`P7_Kpx=YyUXUynw}J;^NmWLHGkoPWhbrzTD+NG z&u(x&e)+G@%$?KUj)1zxEO_^)Ph7(l*Kg~5!GiSi;=nCdB?SVyQ2O^n7kq{{N%~cQ zF8-dl{dOtk@6u7(Qr*fX@R?FA0p`&%0_I6bx029@NntdNxVcK{>l5ecN~7B-D<65F ztuhV|BE>={0~%&rTxDVi%Fs?F(X{LpFDzS1N*|c~JAcX2Wh)?JMZKx~#0hz%7qs-1 z>9Hw_&NNpHpp;*;|MtSNr|}GV+>E8mUwHZblV<@?9z1@gsSwqX4zvw^$$jUA<uT>~by+%VI?d=Q0im78#m(T~ zgD)dEY^u}D5?LE9EQUxRLD5>NM(X6_gNi6$gtD}d$r8(@6a%$kuJK+4#ru&c3#sIq z0dsb0fydt}t*&oqgC5XekW-;Vg+>266&7!IojYC|S4H?X<7-UV1UO76HG>b$gVe9F z>b+;jj&QT{yoQEPorZocd_j^)sZ8h&2ng_0_@jq9EPT}PFu7Y~vXV_9k3bo2L|haa zFGkOy#YkgfLVTh}438eB7Ab-PXmO~(Y~G)G@F*%U-mQfw2cqTDs& z&eDNu(BP{c1bz>$;|yH)|B;8{fIXV$$aGv7Sa$)A*-(lC?Fc+l4&^UCfRLh`?*gmi zU%Ur>n&X@v%Kd-cL;c5c6#e!8p@(uK9%_*PqU=ex;c;X<7WCr#GJWAt4PEVUVKt>i1@#tE{knCl z0ftY=q|A1$vgNJ^GLY8xCW7M?XAoBi-diWy&a)Qy-4Jv!ho-w1}GYu|! z4SM`uSxo$JSh(0s|B8c>^Yw60gUfXHC;-kf9eUUkar0S9H#n%ID&nA^ z<>7QtVlIs!rKYNPpBp>E)lOGMg{4diC!SfPCNdjy>rt%}Nj-d{k&B1NjSLnkLjJVq zjlV2}oZyJ~^}CN8JKpc22G{X|S;4mcLf_HBB!YW|zRBYUa`?;0;Ro}Yw!=q#gAD3N z_^AJvye95{>0}LVSIM zHghL(37L;OTvO=S92CCHHX&CeVxVj$5n&9_A2V8EB0siP;5q)c)TWQ-BXAx)e84JQ z7_drYb_QWv?u1qPYQQS}!N~dlngPXjGN1rU%Kl4}^t&vm|I2vx*G$Xs|B?_za3X&o zC&+sqjhsBnB>ka~^FI-oG=%!Zcog;N@$||8J2XIjN*Fov;Ycy>(bUSv+aSb&)xXbz zsy2b!^dJ!YeH-*^{?l&)y$6Ml$5u%Csg;9BP_RLdCP9Jd@ZUyp4`@&zSN@6y#W``r zNrQS6zfyG{KWHNg2{h23nw<0}>QVG3Gq{z1!~{JcKo$LpTp1OFh)Ax~B_fdFyLp2j zKdG8DZm}G8F)T6q91!e+e^LFxOUa|XAX^dXGkQ{7e`FQpSrGqD;#03=D(c&_J= zp`osPjGFyJanlfmFJv4>KCylu0wX7_!^y5hVDvmOLCM4W*_Cr(fu07kJPsCUGAvLE zEKo8mPzvHA`bKSvlQlFO%%SD(D>t4j#jvN+Q~&2a(#Mb=FnoX71i!fLgd; zOn8trFaO5jZMsij^%+^}g2bpnS|;Rd(RX45Kd7WAuh>)YBpz`X`{SHJ;-Un68N z0Y>2y$81ujM*8xr)7?4Er+(hB{&=0;YubxC4UN*Wz^rvRv~s{xP}-qG7pl9{&||hT z`8r>8H(=H?nQ%@Avx-h-=av~bE)j7tVV=CcmYf?p2(S@F9tOyTJTyr1JXTUR^!oEnyzIX-uVjbQT zQ63;VjU-;?{qz&G(mvI#))Dz;EdSLf)|`aVx|VkBDkK@wZ{?@w05-@1e&we# zUHRInXz7{-P=~a)MuBvXQID*(b)2I=OaW2gO)vxg+D{UqK4h)>_s<8hrF=CEhC%pP zf}G!dKqfDvpCI?2McHP74r3?6Y*@X(@MogKtX~OkF=Rm+7&vh*!V%*h(rerJC$xM0 z2?Qa3bWZ%9UfaCK>a|VL2(4F}0O;>eJxzNDF{A`d+N8{d$UTi;tho*g$e?k-hU@9!MNUn@=aIto zY|BnXhx=w-Ae-pXDwUKFNQ1poqUCo*Ne7az0m~eD3*qicK2iwq13{cpk9bk;V8||UkYyjuSk7O=At$N zBMb<`sjZmZ(T&XAKjnj0A?f>6l=12h1F~={LH6VFfoUid576sD8gY&Kx`#F54EHqR zSWb;NozU3Vky}(yTvFKxvVMF&EL~Wfcc1)cM_&?wrQ15Xahp+$A=3mYv8cHgEXU#w zzLa#1S#^PQI_L+z99JR}?mPU<9dHwh@3dNBB*=(wbx#Iso(SLfrZ%y3qyE=h(Pc2 z20wv?fflsnD~J*N^d*YxYuAp@AKo|zWTO5tmSmviVkl272HB3R7pX6R=uQ!AxOJx* z@2BL%_D?5(^zTZ&D*XHxsC9vwwC#s)HOXi*eGVbw&_VPfVqNmf((&SQy9Qet^iRI$ zN(8uiYJMxzl>!KwEXZ`}#Q6rWP#BgebCxb$TKx4Kn3OS;7lK#ka%yvp!5q10=SrcT zRSf8E{f;~ri^y}~4x~6KLYc=?_wU|gw+Q&{4**mJFU&(E7abz1U}K$*qzLNZ*fwWqa~baivNO$Dfaov!psTK?**ufFtGoiLDv zP{hnK=y8&hsPVC1UN~2SgW#}Q8wrQ0{`%B-dRa>!{*$7!WQk8I>;{9C*cTPLAC+#j zhJFf;^PJ=KGn&eK(Xn%Fup!X!-cE^!8VVZjCVgXN zNpV3@?syF5gRT)Rueh+Jv=aR}8gGe!ymSTw4$I*%bh>zf9T+C<))VC|x?Cshl>m|V zPxZu;tUg2_J1NuAlzTpo;|xaubzxr&9lz+Jox7COaA@E zs#X8`_t)Qk|NQ~LluY?$nSi* znUuNgJfO#38;M>{DCtl{bV9oz( z!{!~k_g~6=I5hZ7`nMG?J^SS3Q6Wk}#dTEsi*-RA9eNXTP12ld0msG+q79rRag^2` z1CfX5Y`tH)mkpHenF4NGb4RC{)}vwQ(bK_z$g9?+w_R^QIibDN)=i&2J`!_v;k0#x zol+*E zOEVTtn>%yqevX`W~%XR0v$>s`*F>c$>6O|D^- zwcE8GJ#7_umHGLFMc^Now|8HOfA9Hcmpr#*5}A66BKLwNOP8;hfFd_W5lb|y{`KST z6W1$R>m0Ce?Ycdf@tH1Bs`(tKLR5#F6td zLLmk1fsSI>IhIUBYWEVAlIqPZuCJ*mYw0lQU>=&Pz$Gir^KtV~xkwQ4^^i*3U@rUvgFWysA0NNS?<&A< zI5QWX^Dpq(PdV$gFJbKKKOo7o2>(aq+{fYPe`9Pp_QOO}djAH)@DZEHGOvS%I2yiyY?PTFF3b3^-R{??1Ie0m@Duqe#=|*&tWCJH15AZ6yj`lRXh6X+6rJV zkOUt)ihpM|BvDUB>5gBxk@i!*5TT7+NNdi!nSMF9#X#Y6L}S16%UV0$y|by@C@=j* zCrPiy9W#_qPQjtwahFHt`nBNxAuQtI8|LjqVwO5M7^f5L%?<=1iiVa@TFS(urM(w}MT{ zI%^q0^&+dBBIoivtTn34qox+pNvO~R*}jlC8-&7t)nbJo$b#^`QJ zj1h2IVzq_PVIjoP-fd?w?HU>#sVxkbT`SEp}?zhjF8UCcv-#vN$ z(@#G6RDyRv^!Q2RrY1$Idg|rlXV09Cw#O(pk;hPs798#)v30gJ)H>XhJd3H5ueS*O zlV*(wqD|5yjvF_A)DV9;(^ym8;((fg0B4nGfKp8_PxALrc*k|)E@o!mE$xweg+_Vv zScn&_3>*_=#C=?^YusW(FTJ;gJ5HC_)du_2&2|*u#@nc8hAu#+gakyT1KFn%VNq{0!8@L6*xD{7u6_KiWV%Gku=Oxz_7N~ zHZ^}1N93LLcVC|1CSfRJ92Y<-KYTeyPh+s%JehPG?vn|jY!^Bi8R{c-7P`n%z*zts ziS$Qxl;n31QdOs(D}%m4Zy&xp8!B22mayT&Ty4FC;>7g#?jXY?OdKVL1?`32&h{3A z(Z*+(_4<;$(k5D?CJ~K7EVZwPn$ud}(+#WA2dhC^Js9k)JDokq4tiKb5Q1xU2t`ug z0Fi_!>kv&w@^2o0C^rgXrfx2_UR|P7dqXX;^f2(S(9&4bP*Z8*($Hdr3j;=up6JWz zsU^XARhenz5aPaQ424MO<13>x6fSBupKfiqacE1L5oRe7QKS9T_2L_mr!2vtVK74p0#j5o>LS5p)GxldMI-`!46^7nZlv z#lAyE$i3zE#%srqoVc&8@-3V*D#KN2mP7ooo}2g%e>@@&u(>l~H%4Lo!; zgo9S|EZ~_{)W>+ou^N`2Usnch)jwhXrsKUnMSbkMp%5=0O}})ENZ=ZarS<2I?>}`X zZ698DohV=q2I8)w{mbKTvxbVv)X6Li)*uq4b3H{I|paiPyCu}Tj(fV;I zsT6Ds9$&<1sqSp(r3uDQAM4BKnZajmWrz8Qv}(4@-6OzT02Z)=sc?01S1@U{rJX{Z z2>Kaay%bl>=P;mM;7?>kNCYi%yL7jw&t`1lcq4B1c2y}wOvp?jK8L<3?my~*=8mvn z%tH{#o62>GV@WfS55wp^8qD(`dutU0tgI>}%WATBTBX607DYG=T?RxJve02cgg7bi zA2$8z7v6sNPva-fUb1`^e{NEom%WqY30d338#k`qE^6pyxdexJ^WZvdxKl)kLEyXj zN`1SjIZpv~#qkLvqvWR6s?t^{XCqr@-~uLW7p*mk8>E(Tq~7!!xmr583`2MAI&eC(vdc_K-4w{VoL|sRvx&mLKM5V<#w`07jINkADqLhS_taGNS{zyh zW>)iwtd6;Es)}YYFoSw_=@Pr43)IPU_hnm1kilVcpt>w#Gnj6E0x6r;n{hU?m0_14 zYU|1?;`ZgNV3_ZtA%4)(0 zlU{U@n!38phP?Bq_Ggrv)$Z7}9v+O#S>*FDoB9Ndii*}=i@vR`hu>?Lgp8X#Q9`TH zKzVfH=dZtt$;;Z4vX{>A|_YE)qFIyrSHCUc&(1rnto^l zMoX^ze*LFYVX8hsNbw55$Qd|xqp2qa-|sm|(xmDGr&mvexPcQMVXQ8Jl^LsXbMtkh z8wyBI)ZR7cwt*i0%lQ*KF-HnO2>5d9pSGPZD(JusFxE_o^N+=4c}?8dSe}Z1zYkqzQYjLu=^=t_@@PAX!2#n0&%tC0()Pzd z9AR^aeFB4r2Qhmg+Ks+JW^cV6VQTY1bRV-f{J1d_1(N{=OJdaW6RFtr*e8BTVt`bm#lbw;bJXI5jYZ3qW%5G$8dTs z;PenZ5Hdk(6HX75=V_~PdPG|7ci(;Y)3)z6L*5&z$A4$4^{2MZfq(0lG+qG7xw-IW zbK$4SdX~~T8Yq7^?Qf^WAaD8l^G~PX#QhE5Gtu0)47c^4j9o=IUj6_Grz!6gE=d_0 z73{dBv9Pd-v|${mZVRyS+GlS9Rj>aEN`68LjWe z$K6&i4_wy82pZf0OcV^PI!7D21q9$@lI2CkOH*^hF$8Mq5}6viO=4a*4ef|?ahAOL zH8`QdIf{BwsLkZ5yUXdr#!Pt%FFFJ-`b~QJtt6Vp{jHatdwOAVoWGP^n2DobV|mc~ zPu~dL8jXC=71y0t9KlcmBr{~a$Xmbt=IKVf{1zRZ{W#Ho7NkHpZ0(?SWin?*C+yL; zR#aCRs-Sw-yHec9;5a*!`)lHZM*v7VXoDW1Q7Z)zk+4ibp$y>^29yi8z8R~{2UKn01$@_SP9c@^}*Yv7IMxaVq(M9G`EC^5yL&( zXci5I9C`)0uHU}zP}=$1C9PI=HysYRIqyMplFzGC2S3bkKD=<|v}x1E#szVG9a`E5 zow%dp*K+|r^ck27fOaSYKHlo|k4JaFL(=-B6ka_)0v$2xAFpI~l4`J<8c9AoV(iHH zXcdFjidVIp?jgT7AYfPjWSR#90-ylmY;U5!0Lp*=^qPTdy0x;BGbvL6*v*)dBy}g9 z)1f-L^|uoOgpefQkj;~Z1%&y9kMwa>u9OCHcurX%MgO##hi3%n zB+Bl=kM?P0ecgA8!9v9VDm#k=NRT&DDq+c7Bna&Id|P7@?UVQwQ<4I(jd)5Qf1>Oh zK7LI$Vf{J!K=ADDZp?XQK}@s=u|;QDeqMPu)tXmu`BDi1FO#U}ysFyYe&e|%f0{im zE>O<)lpy-|8V07iv!|+A7qI#4;D^P|hYz0wj&|`*p`~4jKXbd^AO8~;p|EBvd#Ts{Ce5kozX0g)Pa9E-b0!eirNqk@#| zPSRM+aS4iu8k#f%3YzXe%}9)miU?Bnw;Xq}Wq}cqvGZO#h4JnqnF@}%1EPv7ArCpD z(4`BZfT6vIE8sKjjZLk+G#k=LiqDaOu;8WwsN@~uEk?VW7=MzIpWc5pGxJV4T7?x2 z<#(=Sq^F&{PT#%jQpPps4~52tirj1Im#t;!Tz6!6TThzux7U3>c2Mmu~IN6OBsv&CcaSK1&w`KRfwDi06I?mk- zhxYFM+fDUd|=nGAr8oSlCFPQw5j!Owd?|7Pum4ZESs{%1I% zP4L}h{nd#RlH7Yfj^9!g3Ew~*JRh0tlL&Lknt@I4M==LF^&yUpib@X}LyY(~Q9}UJ z=W4Xxm1$Fk1V1>M#m=)C5ck{@xx6{&8+Ah}(x!}v3?)Yw&hV^(>E+|0j$ghwcMcG^ zhfl7Lr{B2q4LG@PNV*l{ri~jPfA8eZ2L^a={s0Zt1cM_7oZBm?F}#RuIu@CCFpvVK zNV_eo=+xO$sb7B!X>rK1I@UT~ajv%Mk# zhtbCqsHB{*gjinymqLaRN~0n^cAA?JQK!ChvFO;IJ6RbS#pUP{G_W#D@nTx)J1H8E z-fD~+70KvfHeETXZ>h#OW)w4px8X~T-PI?aiBy`Y*X}{m zVb_>)BMgVYrVMiPXVvN_&loFfr5e&w^$kreRfP~}r!FA@=xjtlCN$)woy&2p)|a99 z(c@ZYg-aGW=&Ipfi6ewGwbPIdUHI9qt(({GISqq_BLB6c`}Q8#zVh1WLqEc3;VX9G zXFsp`e#?%tw{?oUm(XT*^2e3e6Lyl;u_G4;j9lu@okwr4nLPwA)==GIv@)0oHQ3k@ zmM#I|Y6y6gm1b$_WK`#uHMiI6Z6G!Qhh-rwGAW4f@B`*-Z|h>w`K}>^@1az?b&@op zqN<>*yeOxnfmY`OpFhU2y*YYl5Sq1K|@A`TlfGDLVZU3=@~Z%ay^5&A~ zmd}}y5CJnAKQU!y$_Gg_ogno5>x)ySq>LK@Gs|@kA3kaN%*it_r<$?vN=d(^g@zNf z&1tmLu(U*%`#db|DOlPJSX$aI)15>Kl4vhRDDVvIBUx_?zukWW_0`g=+1HQmmXSPg3)Ugx*B3ZNXtLA|<@d2#RFpcWxTbowz+PP)d`CCL0 zf)0V#9Y6dF;KX~>3PC`288{o8_FjZ`%ZP?M7Z2>-wf$&jd->=gA>InAy@=T0!VU@w z^&$TLz380Rxage;$SJqeHVem0RSD#5(hFm*o)-DvA3 ztJG2GNOOGa_!PfoHe<`0ABf5g8B*+=i-wyW5A7%4ffBL|t?^;Fsei${_temHTF8WZ z?JxTeoxGOYq+>VbT|c&aBMI6TQey=XMNM0N-ko~%N-{^7C1V|+L-KQSUYB0$mq<4%quWY~niC($r( z92y+tB@OiO3l4U7cSB35k80FVXp@JLlK>fHrHG44BAqUB0VfjW6M@6AA3QxV84};o?oqCYyxB62`{KXD?4lnUokC>O#;g zb@+&>3!i%RLlkTT=UF|$W2dH!jfNh~2xVaOh|!a$gxWgnsrwEcKbM*31bS-kUOROp zb>Fe{qSHIqZaaMH>K$j8S$ikr@Xk%&tku!RCDGO;F8u2|uTEMFYEW`GW)=wqQpgml zhd$vN%5<15B=2c2o*9p9)i!B{&Ou5_4oCPb%|LilqI zqtDpZ=F`^FQfX*!HqxT$4{TRkXzQGQ|QZc3vQpgm`lmn ze|~n_gwaET)H;PKbm*AG$&*rMC(L>B*+rAb#6rNBs}37JZP8P&{%HW`+Je}*1Qz{s zSo9xY(Z7U6C%qwSV9|rVzUHgwGxouc)?Ljx0ZPu!Q#+2H*nh3^^p!J*PwYB{3QOuY zGhypzff`5F7?`8sD6l6WQ%s=#qS$e)29BI(D$lub{aX6Xo7q{kBq~Ug_ejh@gRPt6z?(K|7GL&O*xC^{b@yqT>{D}i2K!D6h1mHeM^ez6P=;GF9yI5#~WP;%lZTy$UkYHxkSbdyPw(i2e;1D zc9uG-YT2R$5T@_vw$gy;gvBe8QKWx~m4WxNVHSL32r_Fdc!lwJDRb~m)^ci@Zn#IJ zzYnMwIBh}~8~B|HE}bUz^J}Sb)Hl?(8d?yc7%T{T@g;L}RgD}LAQJ)vbI@26xc&%= zndId1FKj-0`Eur+D#WBN#)k46*D|i3JjtrHpS^f1>t;4dkOc@;@7%nZo<2OzT`Lh0 zctovq^9ey+YKV_6QJS-D|NaZtuU)%V-c@cu1;k+~@95V5a;og&wc8aH#n=J0y?Pdc z6P03=pDNggYcw^IIZ!o5lbxa&*|i1d_CeX-{Ywt7IrY$qdqHaUrNjI8?mBQ`_YFHf z6vZmAxb|PXRY~I0s@oaI_U>AR;iWEC3m^Pax9Cv38o$7ZF;74Jv|G9^v3~u&bGS5tZcb48*1VrXS_VwGPRdrSD zlDzbz5CP|3pUSJ)ymepNwMv~!{oRWv_U_%defyU;$L{@k^PZhYNFpsjB7O9i&3k_M zen+uZqKq02SFvEs@JNt_MMrgs&Do93?ao4*rJHU+RNrHxnOmBNc{AJ$i_`&MjJOjw{RqDvRP!Zkc1EFfm+JbzYV zw7-8y5J|JW1WNDV(4g=zHzpUq)=TXQSLyGH5xG_?D_o}zdVk5BL{BNKeRqwA2(FAv zSFt2&$X`TH_Fk}H%CN`?_%UDE)Dh5S^!4wtNJj*PMtJyR26{|jcz{|i_K6+)n-QvW6E2EX>!iFxz2a-h_qu8!XIwurP1I!jM_&qE+c9IQ3b1 zHOBgLyZ$u+)un$>A4{~GPu?nO`~Es0p1Pd%7^d}S>I25=9}pP6hT$yhkKU**ttz{) z^Ly-(x9Qiun>Y{&y^E9i7mYHh2E#}8WR#h!@(RoB%36}M=$LiaPlCJmkw*#cnk%j4 zVor5Q-odrSH{k9_m{;7*ia?)1yyLthml?;)goM#MApHIlaq3h61R^!kNEyf^74WvGC76>?VWtr z1YLpzDoAv`R3ehPqsBCJC_+`WN;)Y5j0m+dR2}G#4>ux6?Sgs8G=|W{(>su_K!)Ik zxsb}UG6;71%D@W6oN$v-!b3!&bMcE!oSD*zseWZmT_R|C()hwI%V$h|*`0LMj})Vm zLHPN5%<*d%)@{9%Q{U0v+FpG1XIsXJS;rv!+G5FuOqwgrN(IJXxuQ zByFBXxrLAOl9(_G#dD?DSkEL%lsaGZl1y7<1p(t=>f!qGoZ?Emti6%YLhw~{>&iYI zx4>*)wL5L|Dl!%IA44{u%qqw&DZF^_=O4dHb^%Ol6(IXeh!{HY`KRK&M0Bo|a*0S7 zJ9R@A0){$TrbhWM4-7qr+PCNy+A zcSn8pm2J9&lLD@X3%$9bp|P?&?^bqRenl17MOP{jf7m>3mKT=Pwi~M{O4T z6+>$3@!{N|UDGH{Hs}DEx*N=nK8Wh_S)_46=URuXxR1nA9)3YKD^e%$fCvXe$CUbn zdgvH0^%f?h0p>Ht?Agl^6UKhfe{w>D?b!K}tE z@SwVy3t(TDCE}wTN1Finex0Hh*zoZ)nSE_d?VVyb8=3#5W47MCc?i@I1$Q!L+0UM) z^bPS+TbsSf>=_+X9XjNh{*2CwjBWu=XBCY@cf$ZzHcn?djZNp^bS7Hr&Ok-_NY;&v zQ$@Y_=xjZ$K(%aCpWaWccM7aR9{4hV;vYJ-8ihx54LZaPjo?w6?VaPZjoC!k#li~Y|<S zgnkXd)}J((er~#bF8vmGvUPQ=kqhy>J!HAQ7~}1z&AC%2!d42Ab>BI-b1h<{)n84( z+j*7xF!<-471+6ajBu{M)6R7DaOX6^O7sMc!MKcBBRpiOCCv819Rq_keUH`Z?aCkz zMuDL0%8@gfE%0(y2jhAw6m`DZvhzxZPDC+<2xJ62rbxkOV4O6yQcZ$d22ajttgFTD zsmHXs*5?yja>%7&*kWo4OjX!^&#(y`G`r(Qt?n0e(RN z;;v?#;}#1`s#NCYmNs>EL+%`7Eb~a%XG-P7OUnuR~I}P~7e1w$#&J~WB zc{=q%;J;JTj-JD)(wmpgKst2C&NCUiH|^eyjvyTBdB)+%Y+}l@oVb{5g?Z?4_ZEmAMtI}Yg(OZSyY9XqV9VO|jcI9VS!F$zULJ`C!u>n~gKSrC;AIr{b+&i*)>jl%b~KZUL{T%V z`eyd+Ce#0+?LEMoy0W&>quyn?+mhwpa4*PWo52Ne!M*q1t0c>o)$Y4xGBaPknfd3x&%N4U%ST6BNBiu(_A2js*O05) zd2&=JXgNY7;$|xruUIrIyievT)Qyi|B>|!7_uTFJvA#|s z9y&>NzaGNGT;4L8`^8*Dytl$@L)z0sFHcN6eEoiQ4jhViZeP89`*uc7L3Q2@m{AZL zSqSy@8f|2ZfG^V)(ET05gY6MUd9WX;%IajN2%bKF=IrD;H-(hJCV-rA zGiRy~Y&>&CO>HeLW|&3*l+=!?dk01gX_LoIr2I8k2vb&I9PVNYx}nVi%n7p``Iwmc zu!-RzVKOax7V%?p`9grlkWtn*Y+^|{hBPHpJ%o#40JOwpf}2{8w~T8v1N~6Dg$|N5 zXrr_$aj5v_!@71o5cpj!EktZ{_(GYBySu^(`hvnD>A0I!2v9;}S6@#r%ZJ>3M;4o9 z(D(!f$OTd-S6f$Cxvj;)!`)rVq{IrQ(PT*T7*qGPRTo#ajrr+KEG}Ds>m&w;7GHqx z>=6)1dnM1E1B|@BtiI^ljT;!kUk?6!^ytxRmDrwJ@~<|T1uIfuV3M{o@y+Mvd05ms za^IQ}#5I|Od~FZc7P68xHr$?v8GiQg;mhi9dxS}D@Op9B!YE>vt0&~hUAk0hV>_Hq?P6lO6WQ2=ImNQhA zTR{TOwY5ce;VeIQ!@;qqStI0$a9P8h-Fd|@0?eLX(Bmg?Bn{YK9kIXOfcBdU?Y9y8 zYX-F6D(tU<^a8BX@~Z0VP<`JdE%Eb{H}5{c#P6c``lhkY>-$H_AvTKIheq^!f4PuR zMx3B$ez|Zl7xTT~{K2aQmrwz9n#{g4=1vJ!a-myLLK}O9n?fGdq^3h#@1NTJ&6l6=Oo?$9TFi>zgykO8 zKz&2k5aDjNV;7dek>BqW5*g%a|HKn7q@X<3Ef9GBjq^6)+SxJ((92!;`!Z6j&r;tp zwydXpw+gUvR20`#HcOIIr%g?oH9f)wF9uJyqjHmh-9h7hcCpsv z9sg@}67{w1<|V09X$QEj=+w6q2tIRWedSX&ia&2?(IGZ!rRrj!5 zg8H3OxD9-a0ykF#LqwX+rmFG~N5|p1y2ddUOdKWOplz(EsT<_U=)|~CSk!iGt=l|O zRz5K%dMY9iqUz#XnK4slrP{c|W$WeX?dh#XuBc|_h7B9$O%0ko6MmGKS&P{`?|$#D zI!f#VT->yz7IAcf!pRM}AY+@?qL&#nqy6~<-9U>b=H+!8>>|UxM0!pCI7%@h=|n7W z^9z`nVj%dMQL%eeQp)U<1RuGJSAYvjQRR6DPD=>(a^~R00a>`GGn^5Efrd_jPsa^S z%h4Z>-z~x{94tw{a_Fc1Ki+5?0tHnsxV_ujT1V_bd+5kEa)_r_U3Raq?NVkhYtMN& z5H26x_ro3#RBAe$aeXo`M^6R5y^CLnpiOtd{=%(>9u7iUZl1gH`t-MU|BCgOWcg6& z#>Tqr9L>Gu_?U&kE%O5G|;$421o01j4TwNWu(asBi)td8YZ{}fTt*_gU716x@Vlr7)MHDoTn!r z)#kZeCnp|d)zd5{1J5uja^~H2!K$B_Z;Ge`22oK(p-_< zGSmajUh?Cw4<0-yDy(a#6yDT%RbqU+hitUEZjc3zA}-00LW&91*V=UFR>v^JqrN%s z@-Ih^{IIvaqpPW=%g!Y@zOz0zqqKX-j6u{46-(N%clL|jT@7unb6(t-0?p!AKyJ5j zUt5UBrVnRR9|Jdd7~YTL)YpvHH%(Yv@4+8(9XkT4^z%M;guh}(Sce_qUF--BOH$$- zb=5adAKLrFo?os)@vG=n8`1>Y-j?dB%8I5TU7FLtush_dEO5^=r4TUp|oo+6E}P{n{bK-iAi(36-Wt|7nQjckOn3cTFgyhPvttK%-Cq z;3_4gS(z73e74w{BsC3oi`*i!umKM22C48n)>dKJ%stIVw7l&QLVSNm0ESxLp?*zc z=Y8?Zogyfx+#{XPX*!S0g)e6@paLzV0W`1}2#7CKlz9%^scWEll7^6-4T~$5xy2;7 zs1e}qw+%ri+$qxRRvIftpq>kAjAP~X?K%gCp2Ml=aw%%kT8klI4_OLz_;8N{ZP!%O zI&8M}3ZE1xcQ>Qp1_LNQQh0!7>J1}l?BO1Dd*v>sR%w^UxA#R6W`NWTpGz&4-WsUP zHT|-fAb%IbE{C+wcAdFbJ80qp<=!`jo!LeQRZWI6q8cCt09(Z*tNN4-N`#gw{1 zt=8y3AA%ikTtBMQsA-4%iVB@b5t*=Z-HVUSkmLFQjbW#GIr;^lfNZd{p%3=Su&M50 zu8>7CGRIj$TNe_(wx#0)F&)xJ>%H*DFmW%9c8%$(}RVI%{wO}YV?7K1vV0A&;FjE{9D!a8GOox$aWpA7uu z;5jM=brL=x0U`){FfR|HmLR=-J5vBSB-KJwA{r#?_`3s_fmaAOI<*qLz3WL)(dcI- z`dNtH;?dhm^yb%8cJJQ3tjrzXTq;#Nc@K0$X!aCTc4F7*tSrdBa^}pLE7=e@+_p9~ zhwAAAzJmP)c8o9Z#8J(#aMf-9YdI?97_W&3F$Am+ChP$uVlr8?E$cCN@IYAEj{EVq zXPONB_fsHkz9x+mqM5RG%FiTOFAD#^VikLDd@BWl={nZlv*2dIPfH49(0U z_wK7Lx^xiq;&4$o{dfp88s8s0bQJsw$BrEQc^?QCe)t(G*JPCsENjYUO5Exh2tLkO z9qle=uni^?(*M|82v!cswlUE@dScs1Wpk&wbNdRjhIMc^YEa!676K)ZIlJS%?#{H2 zM$_Na!C<~IAKK*nH;g@}Z`tSS_qM_CV`j2y!5wo6pA!SBlV&crnans`B;^L=FjtD~*V|WDhp^EF} z`bR>R1nF`pQtNj0+QL7WC?&9S*)VUX^KZvS~|&e4+j>iwkI*KZA)TAk?FjRLjfh| z$)*MAC6Vt)XCnyr> zUy(u7ES1gwx-YgJz1FHk;7dp5Q*(0*l}FrF|7tZSVWie!yaF&@GcaB=@XewzUNi9R z+}i5l61{unr%yilkXK%>Ly*Z`OM$0Ql~Q9h4?`b?N-XXkSN#mlwTL#$XZBdLt;8dg?I^8XD-& zY>e9ezJURTtvuKlMa?P84rPNDkt`tZAs_{I+@8BX?)qZi`E%#t_Q#bPBCS}&!er0&}3qqmx>ax*eAvht{K z6-uR;^#VkGIGru619}QsNQ$`m^L?2@>{+y8oK!tDv4~BX3ZOr+ z<=OHu+-7rsLsec;LkCLB>`+FEtP)5M>ri4Z_n5cl`Aut67p_EzZgvEvRVjo*Hp;>F z_v;1)K7MYtPPRN_5AgUS?P}p4wy^;BRE&E{WU~-IK^%oU%E50I1^xL|)iz2^0~J6e znay~_=k1_x~VRSNRaNFP`bTlhAl5$fq zV!4kjd(@1lB#*9Mf~)7_>dF3s!eJ=E4guhbnX*guF_kdWl4zd2Ey?tu3f4Q7H51-d z310hN^)b6&8bYlkhZ)UJCsB>tlBipFhjquvM*o-4{}OzIqv&}%`X~8YThYJtryr0T zdgf*mL~~bh&S4Tc+iH1)@#5v@~WWxb) z2JM{n^efaAaCBUu?o(yfc9l8?-S<=Wt1qtI_~AT|;9j8a;>C2Feh$xZIz1aWuULFK znkAJ>Kfvs?&zTDibS^A-CyNbi_bHZjoR5jKea~w1db69Uf;4j&V5+ArY|?P~XUr?i zp=Qtsn?}qWv(h}vyxIJowY_V8AEVx;V#dY2JQrV~kr7B5RR`zAXLeBycQ4&8Zl-v4 zlcpsRf&MQ}vib8#zX+$_-pD(DbzW9*D7;vVNP$xS3P@qT-Ro z6Q-ots)be#`-N81ZwW$)O8_XC0oQ-B|C zv=B%J(f|X4D;k>>>(lSPQOyG^?n%5lALoT3bP-9;r{&Y4;28AsB#h#Qc)cvXtu zjOFl?J@&**Oor{^k3Rb7^{s1GtXQ#n?Gx`TfEjd<`UPl`zd{>1if5#qpnls%y`zdL zEG(}r2E$N8XUCw4EnyG0-o1GCMqvrE3LZWztuBN{Uf15%Z(xd;gU#vZPhWdjgcoSW zz{qygvjtL#3S1@V5w{9H@I$*KSI^d;1 zdj^L_gv!CsNdL>Dm_l*{MEt!Ykv=vvHB8jkQq!*MZidx3U`A?$9T<{5fZPa=b<@`r zJt%FfEQCw7u8+!6p?*AjoDMbEdPaWR@4T~h%Nxt1L;R<%nidE}*w4Fv1Zo72?*ZSDr_!4O z*r9{fT~Ufh5%rcT2B1qs;q2@%B?p^oifj6f${-M85rPGftaAvL3tNw}Cv~NDgJzGA zNIyHN)YcX(UqTSo!gp!wALs5l$=l7IBLx|hojl-=7i|9g0#+h|1KXtz&H@%(J5>!8 z6|G||HmU^vi=#WH)D~oBW@hE025bJA1Lul+btYZ6*#;lM(%KTx_Bf@(XtbAi^1MQ# zLp&zWM*eGD5bA}-R9AOtNUhQS;;d@C800D)>~5|s$}g?1uB_}BCIn8sg&CC`kDx$j zaerrHc|mS*W#yw)_#{^0lURk5unJdU6((R6Mo}F6{1tA8*~G{+s=1hueSHeE`~8Xa&bDfTURjUk+)ju!V#J z*s_K7+3s)C=E3c~8m|%}s&GWRqsaNR+ke6uVa<}tte>Z?_jsgT=Opuv!~*?b9Uwo_qDY=jT&X#_{Spv6oSltI-qNI*R# z;67>}e?x>8kRjcq`Aeun)Cj|l;m&XXhD3u2mJe;}H;{Yn0s#_EwTiU=R($QC-du=a z#OK!bH?XPgh1o*d321Y>rCV3bo4Ii9QtVyxS8YHJq};_tND;R#!`a`yBkxXTN!>Ul za0!U;adDyD`beyk%X7!(>EY&OX{s)5XLgmt94jfLo>$5LgP@@aa%?;Q-FM%8=iRsQ za|y)w1?$%#%H|#@79RnX`Zt_J+IQ3;TFymPFsp}|D_7bGgoB+8ZFP0sX7Ju}Y3|<7 zQBY0=OxOoZgoOz#VGWX_zC3Z^`i0{+@)6*>bB=0N$%~7ddONU_x98j}wz&Fw+j2Xb zs|z1wr9OVNBia3n9qB*c@+<%Omj8VN`EU1$ z9SS>=dSqabA}t*iU3~A*$)TPxa{!i(52g@lQ_26&(mft`bm^lzN_+=#kEDCt|LKm( z%~-dCa7-9w&Y`mxKe2F%KSClp7Mlrh7xzdP@OqWdUmgQ51!*G7O6j>uif?1?yt5Z` za3^62o2-JRn!9@zbUB%|J;na=40rWkk#Hk==fx+G7-3@^L-FnZyCtls?X-F~%rFt8 zj)tmhXMQ=KdHFOvPdD=Lp|7amKGcxPc!NEZjj{0JucvNgw|1);GFLH!fov-^q8)6G z8}t>W+{4sRS=>q?#DvE~M2b~T1}&TcEKOH;Q*mBKUPHfB;pxCInRfi+{`vh$0r)rj z{0=w38vwx=8^B#`c-V*)7wqdCG93(Ck>1pLe3Xsc5hx>vv0f@Hb;Yuz7$+IuJgOPr zVYPw3z@0mVJ4dwRH*n|Pc%&V_fjjsAQahIa2kn@SVY8X+5l9E7lQMe2%5}@9hw#U> zMuCuz7f{7p17nSHP(;pKzGmsPAnurYoX6(^(zqIVJ_TTUL^I!l`kP?tu(n}yJkly} zp^D{zc?4`n4-o|a(7eUkUNyh+-%TO2T*YFu3-^)g@Q&8@413o_(bGtc{nX||#7|>` zadQYW+P^tT^v@^#|E2xL4iNSaF4GncA+JDbZ+^!0?24SbQ0EF7fGkz3wL=z6IvXcr z_4TtSE@WLnS<-Vikq=<*P{kMw{jG4{cejlTbUCMw9KV!a-`Zyo+QS)UG7Ywq8jBr9 z(OBNuV<)cMZEPPfi5*cVk&c}{8$j&GpV$Jb)K_2Lx->G#H+DswKjJPvp1m5ViyW>J z+Awlu&5czhZH!I=Vkj=a0(nUlL+~<0w^ny{H5TRG&8_c~$UW@As}3uGVH`2z+i1Ic znoIIC^BV_j+`JsI=&^SGz6Acg4*XxPjeny9$ChMYzkdD3-76Tn<9kj#KnSnDX@q#j z$9wq(Vu_CS~f_$8U6X27M@PaVRR>d$FGKCXFx}(025k7C_@|m&DwgStT z7F5g@i`3NtSS9<>9!u!lMZ_oJISVb zi@D=lRGs_C@}cV|U!TpWguJR_Q^S0>X|onBoH03Z`IGZwOf(M_F*)Xn6KP=mwlX9w zg{x`-z$S~~K?$=$MTswEF^(+2D@y@2*$5W3v=bF(4%ZE{?p+nTx%lvb?@7Mm)9~1= zgz`7vdfpbxhmJe;m)l(E^Gleu;-#%`zx>&!vX=cml=cCA7EWjC6MN!wzLr@UNTA z`f+4>2-%kYj?NK|oxO1THXi`O6;2W^MG=jG}m2|1cP)k87 z6!6$=4u?@}-OVFBJBf~}j)7$bZx#>Oc2n2TIt=j<$HXnT5xx;lG=X5@d<3c1`P za;~?7*vZ@74wBW`$Jowzye6E@Jvl`Xh4j zXL&|q%iO=qvn`NkTYz=IR7l0sc`AxarovOyYB12#lnYG_)0hQBrddPGqmO1+oF^Na z4n@VHuLR5p;)RGsufz+17!f2eVs0dmhoBn^B#0QJlM62;cr%-bqV4^I}~g?-_2P0DnEX8E9^ch3iN%!i+=CLRu(v9wNoXh8(#Tnty6# z3ZYeSv!z+KezgNMcc>kH-Q1hB5|=Ct$bec}o8iC$T0+Ni$f(7i83Dp!s!qlK?xj^A z6q@T}PfKmR>jw!Wp{Ew`@IrtP3WZu2aG?-?UQlp{X~pM%nGa}L zGL zXx3n@pB>E=*%A#Rl2#x9ZBcu}lP31ou>eqzuyo#H{OPT>h-k%{3pwPo^g{AUB7+m* zL)P$}qA!wy{<`Ib#NEWN(u~V+l(T_P>9FtRaA6^o5r`E1#erW= z-zf(+q5RJ2Uk-dh4jnJUt6Wa6eFx5F%N_Z6Yx4tivU?_ys$M4mwrz>96SV{Vy`3!$ z#bEup+Rr3051)`|Z<)jq0YWdY$+%-~R6F2T`4InYZM~YIhKFVK#I0(!PfZo4riOdF zyE;Oe;!e{5AS}hjZp6+kwxP=a0F2b?; z2e$yOKT+OBCYY|bqo%4=s|RRU7667!g{Ae*oja9?FBmx@g}J_7u`R~YF?|}d zyQS|Frmc?$y^ZiQ^T=vuvgFpaBBRA7GY}9QCN&CmSCo{Pd_O4=y zy@*2~N+NrS*wr4###`~~ool%`m9@=^2Y5-kcOQDWeGC1m=fqP7R8ttZYe*l8oxNzm zQn*`FeVm9OV3-Vc?hY{3un8HG4~ForfF)H?6&vUTIHy$8bWQ>@q_Cx}y{)ym4*_@@T0yt|6QP45 z1Sfka*`RI}8BtkYGcsxbA1NbE#6U8JVRQtCMo| zS{RJ8ZKlU1;jIBd=tOt;6!x~naeVIZz(9L_Recr_tWXs35O{{!7%jFizWIC)gc$9| zn~)V*N&x%yZ6o^j`;~pT>QS+Lx&(08C>N!(6zMdu*d}BX7qaP(X!{>nt3UL6pjpyY zz^@Q`vJZ)DL!_N%9>B~Zdmx*p#8#b%X~5M{y%YTrk4*w(T^M9t6l7g2WL-F9T@+*; zqvf6!5<<}O#!4Tm{?zAgIsjfo zu{6*u@K|rQd?ej_^mdhfAaWD}?W=Ad-J1-}|7FWxw^6jp(cH`m^bfSxJ~hYF(s=!d zkPt~4mGm}n*l{dfRdtSnG;jA{#&LDLI5nbLr1;Z%sqk?CQossU>B*!3oc*POLF2k>LCTWM}rV_$9hIlu<~ z$_;Zzmu_KD^f+Ii&uGwe(2mR%lMvH$jQ`UWtBRLcgiN@+**W zI~gJ9nSd{(TAq*`DlmG&G-%Dcc;Nf5KVFKP_AYF<&4_wF0Ts8!d=V@uhs=k82*^Ug zajiuNWAa^9fO|kJ3eC@meSH0bn30O|>c;l2_Qo2x0!m6t&!4zm<`9iYn^@vVb55T6 z_291U6BIM=d0wcYyq(;9e0{x?3Rk87VclFJ{{ZDUn+D9d+PNUmc&o;bf*JcoE^YLWwwk#a8RJ)MvfHj z7>J=w1_SW@$g)EPH<6t)9biD_ki=2pCK}Tl_^x0hCYfzK766W&?K%OUH{R7VsL_oZ zX!gA2Prv-(ENkAy9nkQ6YV+b8|8RHIXdrOmoU6yaCYcEvEH8`qr#CT11)jl?Q)g1^ zR1R$;!_{}M7LB%djBqARb7gR0McAuk4ndRM4HAiIAm>V>VXULHl%5AA;~-)W#}To* zh4hs|#9g;Ltcw#nI!FXy0)kTv<>$KE)v@bS;j2H32*PQcdLBPdQpW&h(W(OKDhdnA z8r7EO(&ql~1@mS^cstuWIZ7-8^@VvRC${$TkH@b+tZihf+62J?NVywlaJ<4IN-HX^@Rk-8_ulQj4rXH5{lWgNZ4ybCC;2$HuvU2O{B( zNv9$%{vzfFp(fk_!)K0Vo|Ee5o1Kk4TCEy@^wF_V0HZ|A2S@3-u*f&S!LbO*c~9dl zuV7jWRRLbM&XMz0#>u?=l@6`>sJ_$R(5U7C+0@DKv-BBwQ|XONbP zv3nXLN!l88KXG)EU{3~4Y(wl|qIaoS5w~v3T-X(Jw`_i5y01(sqgrqOUIAfM@%!1V z#xXI?0vKJNW=}Rd1_NwI*raR;WE+n(mT_dThu(&?I3ed_0gI0`YRWJ=YE+S>q5?M- zp40rexG+S&9cFA=f*{cyYr6_3@gblANIMER(!|j{f=x4UqFX>@9Gqk2DlfIR{r=%^ zt|4pm+Be^w$gBgkI;Bir5dPMvr$AqkwiAoZ z`Z1zS)1^4AqjyM4y|3~bfKvABz6bDeKiIeb_pI8!fg!$sVzL852M)Bc{1gQr|)R7uA)Iz-6vx<%^d=ESFwWhX#3 zp6g)7o>{mpq-_E5FoBNE0y*K>N1V*%zCj`7~X;lG|>QJ+f2M9!X;2O?wJ+ji68-$6R{_b1fN;1mv4=_gn-Rrj^XP z@8|@B#JAxZOM6k|UteWv>B-W-Xpb*M>QB)IO_Mul7-MoWs`A!6hX<30Tiwz@2Zx0@S^5w|$-eaW3z{DvR#enwu|uRN ze*WJt{!(@k?Hwb7FV`+6LR|aHqdECwjyd>LF%;XvQ|HRL@yi0!IDyONxVB!VZQg(X z$!J@sTP@`nKy%cFSqPMp_BA4??{{~LqgQW6#n?FAM>IIp%A_B4~SV{EBC%@A|acwDiA!c~I$D|QTu!IRo($m|~1^tN@V z0T|(!DYJffh_?Ch$Lp2DSe42!SUrLYBr{tRAH}M#euUSyG9BccUu}DIPDvn(>M{n97cr1g#7x|Z z(#Vt>bVxSk4LRzEc^!m#E%W5yH;bBMQ3A5m34o*kTE;5QWxKwb+yhoU62?*q12!EMu5vqQB+gm?ApLEh@Yx4@ zvVkS1Fm_zvVwk{_Gw_@P1hy4Vj+-&DHkhp5g7fgAFR(0NZ9iYon`DU*Id4c?HI5D!iY3nDFYXh}_ zIKD?N?}-=t^OecT%C?&~+bAGo^aF-rq_hni2J{T7TO~0MlaClSi!hOtB3i}jDcKJ- z@MY3i+xM6BKz41$Y4ylPzEN-XfKfUNHay7-3H_&03jI%`#Kb72Ad@xUoNwVU$vBxW zPmI$D#%bh#jT0FC%!4pkJTOk8KaG=DFffI|USyo2{xMD(@+IKJBI7g%!*mEq$D|#i zK4y`TN}_iEW30N!SatnrtORj!f_U+4>sYnkyxBT2R*mHl66K9#tP1`yRzfmXD0_^t zI`9cVr=+nyIba>DE&muRPcl}X{}`*lM>ERXlZn|hF{8ZyJfoQAmh2QuqLtGyk(u3M zPD1FT5SvAz6fj-sqp>2Ana$GY90RY{Tg<;5%OS}Zk&rD5k|7Auw%O?QOtDumRz|QF z3?nKOyraG-@-)rYfsGA#fQ|1@VS19u!bUh^c6$Q|5gmqz%y$b%aM~<-l#S6C-vm9 zuGtyM8S1LqOt3>{)>f%`2(e4-b;x0_*4c+6seMWK#Q2ctg7DFrC3e<7Ymdw*@aa&m z(2OXo`9ymlU)r zK_JSUC@l~Jt~vsVCZQ26V5>LGr_5Jzb`gk-O<;SPjk?i?;2hb%5h5TMF!L4!?%y^) zZEY(6IDg*!H{j>BsF*NOErE@AiQwZ( zs}E}Az;IX?I4At%G6Z%#N4(saRMPb%TyF?;#6sKkY+!SVg%zivQv(lxU@ z1jYuE;(D{7bChz6ij45&=(Nd+P@+O736#(RZOm=um}3>S9jEV9(2S}ZsZbJAaM8b7 zTQ!ixlZ8K56kNV?IUjDaQ!^0>c$IPb)&j8L)qt38c%lKcl7d%2ht2*RgiW8)#3uy>cfxPZ4B5ERie}ht}IJO2|Sa=sn4&3 zo88Zs52sXLZ&p@bt%hwOUOLUlxJBfFePhwgP@nL)wQp~D0Xy{bbL19vP}y|^GcM)# zvuq|!i;s(mii!BS9kRDMt3n1ch+utJElJq#=XaEXWG*BuGAagx85I>XIVuJW)#2o6 zP-s|mLi{8rxXBy?C&x}h(Vm&{;ekFu3inydpIQ6lrghT-JZyQ`@Ir+0u(%m>7GQZN zPmY`x8$#Y64L)oeJWszhlVB!$k53!@iUL3PB4IRJB=v@_IA5TlWXVUtYaXudPr45y}5vPj@m7Fc})`N z>%1Zt|8+GIKu#h5g2PZ)TL9pz3ThPTAcx^xm_Q;P1nTbqvNR^zm-u9wwSN8jO{u73 zx(nz0K=OjE?fkYRMv^Kq;|^qO`KS~@#>#77pGJmkbA1EiL2a$j|3xe#gAjjtA^Nt+(EKb<^hck3YTP`M;nt#@bEG9$U5cwZCqdi!{K5PE*na$mo* zrxEN)zt>#@lzQigfW%ZJwvrc~m_sM#<>uy-8fy2`?-Udj7v<)b66Lh^VSZNn&Fqqf zhK8z=hh+p@U0GRO)A*pQ6e(v%j{NPXdo?YCgpDR-q^)*MEoJ&c4IxaQX3S(?|T+B)fA2*obgd9Z;=&t?|px&X^JK69! zqm4kZw{xX@nM+iZH7SM3WJ5}_(-g>BGZG{ogJ~EXND9W@>l!?7_g%a|thJMQ=T03uviqkCgsJGl?*~3lfp3w}5^Ys{dMdkz z*ZA;?b7TMXev+rIxb@a!bbFFm&2>r)10DR1~Jfr+%-yWp<{(Srp44Hku z9Q_rshdWo!+_*%-O~%vQV$Wtsp$Ft)hdm8l{yKKpEbOqSu)}6yhh2ayD?3#9IBx#J+K!n^ zu!~NytmXccgS{!|Cz7Z?1;Ty}Y!A}b;Q17|W=R3SiQP|xbgfC)=e)5QdtmR2!;V3S zOi6p(`fLMqsgFQZu@<<5moQlKu@y()TseL(uxwy{`puWite~3J*da(wWFEY~)9})B zRu;zB@u73EyZB)z*rH0@xbdlEC3o=NFC@bydw}bnvSuUld-*&j+(lRv$hQ=u{wFoi z2`#@L_3fOoknM;xz{5S3;o=w(GcCwA>GjuNe{PzyCLi3OO?H;SK9B?_TH3Ge`}EUK z_g!nZ$mft6+#9fW@CZSOEf1{nz38!5J$~lg?NR{L0uhq*W$8r0v4JkeuC~Hk*BbbB zLl(!Vsh+L-Q}KO8kE)aDz%l!py3mikZ&3sC6S{ML{$5rB1rr^rBSoyFPjrK=Yf&Yk@=%ffJo~F5xXHs7%8opBVP-7Y4JZc;Q*o`udW5aPZ zkM#C;!8hL7+lwLOOANj31=;DK9nq!<$JGP1RR|lYwFvLSBt->AE}NO=22y5%fV4z_ z;F>qufG#WB$9eYNArT#F^L7x?8cg8)AYTCwlg2@8F9v>a1 z6Z@F~NuWxY8NlkVI8WfSd(T&(<~D4a=C1ys5!9kKj)P6GB)7CnqaK9caiBT(`o7P0 z{dDBmv8&lRE%NrljMKZn+JEtWAp;9Y*4@(rQ^l6g9ISz?Z9~pE$vf|?=ya*hyLTtI{sxi} z4`y~sLokXsddgeY%kY(CE3Q3(q+V0LX-kPz)5Wus8L zXS5I@&6wDfmGEmVi?U<4SG20TYTHHxLOY?oWuW@@m3#f-&}WmegP@5wL_6zlXB4&! z>xD?zNh~d`Z0OM#C358VDx@edSzl2a6eI_SFSBuUc5t+n*s!^jPR+2f_X~?wIJ!#GgglAZ+e;{t zNF`jFl;E+%c8<|096gm3GCkFC|s^EWmmo)LglD7KZ zb`#qSGw}yiVo;Eei-6K~)L^fvL1|Dvpq8DTeYh|p3CMIAAMWYoJIS=zT)Rh1Hh!=O z3FjTbY1;eQa*;S4;v<`%Or?<~-8@4+_z>I1?_VD)MUix?y~mJ1Di1*_H$p16Kq|LD zDz`u?H$y5@$n4t!KfA{xtH*<6-PrFuUTJ_E(@^!x&ToD~HQ%4U*}0v#f8VjT5189& z1UWY%4)CJoebJunpMCnx&d+vyf>hy|IAN=B$BrFee7XO7%;D>>m2L2Q`#0a>)m`81 z-i|+JLttⅇ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

xL}BMd8pz4i!dwo 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

;gAF=Jg;bSMR7Hh+!qsKh@=p*ye#>9dp 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�>WvV3oX+wxoI~|Zb*FP%p_a{nYtFc&%&EGsHjonVuS4hZ z3jMd3RbSmYXsJ$Fx_|$P?DAR*NQk{I|HjGvpM3Dmk(+J4v57+>spjk3ztE-OC;#Mp zh)NZ+=!w!7-h62G7&x@5<}R3mWTX059_GG21ya{B zI3}**`e$jU(SEL6*EQD#mxF#S9l8C*X(@vTu2>oICmilv4jq|1Pm=lDo`pwZzM)t*xr2rLEh}6+$NnzdNMx(T+HH@a&}|$&lDN4=;J*@%gg^(V~zG z`>~byPPhhIELN8gX*L%;l&o;ppFeQqM2DSJRObwt^@2`aP*PD*Qe_t)|CGW@ zC~(oGH*;=lDLRAibV5Oy;mhND$z?(~`&pq@Fk9?A2?AF}Aow$~gQ{&RD$38#Ehx5i z(8kC_`Gb7~#RmKXvvbS3gzEU@q}X7wwdM9TU3f%7eB_bqQ~Uc=6N11IEUW);7zSiAcwoQlr>wDwD|sNW#_+M9@;nEQXQ@5W;4ZyOxO&g%S& zdk!4fzw_sft93fv_kX(KrqEJcvGfaGYj@!+`sMQ#>yQcez=xBu;fK-E|DU@pLp#F6 zQ){4}H&kckWEC`-EZ5=Y0ZZSX?Xw`b7U5S0gG(Yu2`J=`^U(x(_L^j0gELI7*0UFaYFr#sA|9bs=S$}g>I>~z9a zOd?Y%0>HE?|9pq(^{sUcBy=~wt)&>=4A%=Q+y8Wj(OPv`_W5&{GV`mtkO0(WYB$)i zp*sJ3Z`tiGk%EZeeqh)^*2H{{)821y`TTxw>C%&>@YC{=p+dXWYO@-V;I+No^5;9t z>7*o@1jJRxC^-rudHO3T=b!B?j#eE!AR#G!P*jMQ-R0yVRUfPeF8PD)saotQ1TTW~ z5Q5@!5vj%cX&uL&N&^eF$V-nDDj zdZ^)fnvP>z=YuiCPnc^V7{jOWFO9jLrgg3cIx-;R_pB*c*v~&)IRiBMzwmD^bY9EB zUH*sra}iEKxmIf znpcHo9q~w80E=h{8x@AQurc%tvW!fz##qi7K7Pg$bk;|!GVv5@KX1A#@9Oz{_fAhm zR)&jN@Z1Z0>&0iET%491sT34uLd>qQ^|8gAjaB%DPrq+mWxlb0Dq73Bb-W;6zwP?* zMs&MHhvg}BnCok+8+%+jfk5i55(qNHb{m(2qm3`sa(Pmo4vsxmTLxd>ArcBQym~*x zsi5HNWaf_6it4Jas@nFh9xYN+ML>cpEG(&OMe;t0n|3sEg$%P?!Z6FL#C_bfqLb?P z2}Q4v#wS2AFfb<8o8o-{`BiCbICXg6=~`la@1`YzQDQNa=5|U(f}d0|TaK5siJ@qU z2?F1U5tej89Eg4vS<>3t5eo(0n-}o)o|~mM_-X~kCk>559o4b%BS!?cL4Bxl)LuD% z?%d5XD_@}YX6TN0DzzyT^ZC!T|`4e-ua_jzgxFy({9L;r!#L=G<0@?hIiPabXJ+2d+DrHsD=%geb6_qt>FJyK@0QU{h_^B0w_z9y%5BB3CcbQ6Gb>r%l zYh|^T9;&BP41X`aJ(c=}6Xb)1!Z7DQv&^|6gHv)RBhUHEh`YXH%S#9UWLzZP#ANvRAT4+Q zPg}d{jXIe?tc)EH8xc1u%->f_atK9w1;YjxfVAaKy_+IN3B?R&uVOiSONP|i%l?~n z3SVRYPpui=R$~qk%v)Q#oqXi7bU1YpR;wT=V${Tx2@{7z;-OJcR^;sn3{)d)1Rx-dsE6dL-H`1+n1?SI|aH$De zmD77*Tzq0=FgP!+7p4l2RQlPFs`j^Ef0j6)Cr9}Rf)yB*kl|bR?qx)XX5E0zC;NZw z#eBT)D3Vp2%_+3C6UEO>hNIyizb|skQ{c3PR3@lzHmL6@a5PszedobUseu(h08N+? zc~HaX0QVJ)*9(Kcf;&XZwzJ@0&;D3+?I0dka(2VLqP#zIbQ4+k4|V5b$V73~D&qhJwn8K;!)2 zry2>XuLh#Kmo}`n4Do>tMcG+5Zs$P=EbVamKviy044OWF^2|s6isdZK`0o2PTW{9s zk_(Rpj~qL8tasg^RUiF)s-jySJ95U%L{%mHQHvx!H5V>isB_$Cf_Xp_J}4#z34%EG z4&6hpdAQPCb6sz^bgsX-o^&l@t~XrQ>G+`a$_W!DMEWLRD-KVZJR9d{+LY9RDJdz@ z@|lRGm9hmqQNl9-nuS-nFgwi#Rg6K%SD@Qu>j$e!9Q`-$_uqd{Vr{)#wFpW$0GTJ> z)s1k3NSq1m6%5|N3ghol*GAVm*IL&XXwG}Mo^v6v#Px=DP+d`3L#+kEZ$oPt?539F z8Nrx--$COZe)NeYk3Rk7_d9m{dZ4&P7gks7Qh;#LWmop?KUZMnhmJ^F^ziV&ri_e? z9Y{KAR5Y)PYgqL)s8aphOe*=t5K~b=2tLktCAKKYXCS1fRD^IatXYnb8Ud z*B%&I%v?nm3AUBUHU3a*Lw+W~GCpBs{cED)5=W+t9~~bVh;dd1!4GL*)S&p-h#-Go z6*A2Zg1F*vbR)-bcS|j(R#kOnKKQ!o{LB-FP8~n+^W4-?BgPCz5|L!hpzDW!`|Y>O zb)1MuACbAGJp0P&^Mx(M+V0(LK@gWO*Bqh%O*3^gH#ZqEnH-LeH*3~IuYmPW`Oo4M zP@Z{@FB>I6gMVo&#u~^iXsQFV)ZWx$!4m3Gbkd~3Aw!2_&5Rp6N&`MNXwb-sagt(! zy)QtMcW&?ZD>FX(^z#)@KRRpnqB+qTbR@`74MhbnI(bU!un?}PChP3(ec5${2@4HW zN8;w;UWozN{Z1E>`jEUnT$zsV?HxSxeGr(G1%oh^i8Gc?9}FdJeM$@_YS09}0$gLb zk31PR`}pYw6+9gg#~BB+YwW1m321Nff=LPBdFMR)@)SfQZiDXUOU=7a%|?RLBpFt#)e*HDi%s`kcP2X-Dm{M%ZXZ-s9xdE%MJ z5Z{nIa8m14Y@~8JIBm|PI4?)tjWc_GJzd}p@jj?t&j+34wGYuiG-###$a>Y`)RPGlP3Rl{Q0kKK3Xn$Z- z{OEBbl82AFT~tz5T-IUKC7aAsX2O$rWVG7RWp;_Z0|&$;#sgiJS`nGEuzq>}lV2Up6zup9mPnu1No+_2lDBwXmI@`}rEXJ%IR z@HO#cX3d{8*oGg~v~YXygh(S2*}-F~a%6D$B38~_3ZDEGoC*tZDlEpS@FY%!g*X)! z<5Y-+wfgI?e*6}p{J&nlSMcGNDB}8 zg(cQ1=9G@66lI7)sy4;g*8cd zNQ2Ge`H$Forn-&e51L8kfDVXWeTL{vVKgP~^w60;^D5DqzO7vO&BiS|PGlB$IU5Zi zB6T`7I4u{CaX=Nw`ds9_-7fNWeT+sVgj=vpE0K9zK8(7+UQ?#W>s`)6+#EKlKo^Jq z#Sl8NUn7PTGy>mZ=_YzO z`0}$)E}TDgR6>Z9k`Uh?Uv@RVfz|jmR^tm;jW1y}zKYfO0#@T+u^M@6*M1Ib0pm^) zf27vzg`-AnZ--}MT~S^MPLA@zdqqMrYjfzI#M78O3)B;k)1sTfEKm*;5Yy;tq*Fwz zv-}~O=}%0@VafV>i~)oFw(4uxElZVCiN(PauQ(l^jQ!#jv0k6mK6so<8obh%dwW*0 zCxE6_2O|&2nq2PEceG-awReH===J6v0}f0>k3;8K(w>+?Ea{>5j#23iQE{;mgMC3R zO}gQb(Y#<*q&mzL7CQ71AS_YA{5E6+xK&U}mU($y7g^@A-%i}B?-B?Q_B)h~E%C=D z>mOUfhL*In^zgp>i49IM^O!{6U3KI>BGQ}AQYKuaw6Ydd5@{of5JHlV+R}I!J4H?q z_~0*ozEawb`#81Xp~)!|MvO_q+y_TSB33MVK=^adJ^l3452p zg(7B~RJCykynM+KuO?-V)KFBxOd%5Tbe^r?iN?cL7<%tej^0QPJ+mtU`eH$3y5UMC zJiFjt;wLiUTx+VWM95D?GdC0`dU9L@;TnQ`L_FNHbIGF<5^!2j;ac^t-+uYsj$OZC z4M9jGwYAGD)_zQu`M>CY2Yj{jSXNPGN&Z_eJ@e!v^HY-pqyfGl;{F5N_5qMJ>=ZWp ztu%s*jM{8=E-732EX~#8%+sd1N}LC^$ely%PRLTpS&B>#N10bI;T39a;WJ_&A)oES z2rhAFEb5Og?uYKq+yiviLW1rZ#iAo?50I8pvwE@9-PmU4c^9?s50LN5x=D~c%BCOqguI7?s{^z@Q&Yg-2#I(o>xikV}>s6TJ2&d1ckH z7?@S*)KUyfdMa`{;WfCu9K3EKpSKl37RGzKFf`c8PiawLiDV#ppt~)=FFkh)B4~Hr z?E`}BzFRK&9Cs@s@44^xuIFx^*&x~7$ZU`?>z79}e<1S`@ zhmp$Oz%Ov)bhyW`mSVHh`cUz1+`FrLqh=EYM{@k*QH0Y?qeo#GrK3OwS?)+(Bad9v?w-MHx-BhW~7a8%18i3Cu4E1kQ8tr2}0 zaRJQVuJvk%<7&DSXBAuH_G}9wN54h@N260t7N8}(VjmeTdR~BHn9$g}w8e)jPkO-uV?U^IPqnUnw)c=^PF-!L7^$ zvn%KRGkn$4Rw>(7GQ*|pNP2lj((u31Z)R1yNAf}E=Kdr3KSJ!eV{XdWF1rzVWV-bK zE4{w=Y6!)v5~VOAuwq?#YFjbtG*E7IG8s3%=K%px|k zh~DHap9e%F!^a@L;6b#IpXafNl74Ia{;Q{tCibpGhX;}AVl9iP@+`(`(!e`c_Ps~( zyr+facw$D8p|NDYprLlQg;vsN=Y9L!*TTyl#NHM%h*c~iGt*@IFpK*^TF7o{oOJA- z#yq3)dpg(MLb9Rp7BdKBJF{nf1@!YOoC81L9JmbG_d3pGqMyGET9$O~x4p0up1yd! zC@=HqZyP`UcFW}oQr5QQ@~TxxhPQ6Zx^MCL@l-W5SEawEFNWV96X=KkNx1dnFg22* zVzZ!MPlj%uTw|bjnN2?&ysENt@2Nc>ulRobn$N$63+vjiKKT88XBM`FaUc}68)^}IbnU7?NdV?5J%{fdKPMrnvu(PEk!xrnYyip3H4|E(zd-u= zZ)EjZiiB>{5L7msUat85oDsfe&Yfe&A|s{z+*D}JSX0AL@v73u<;$0kDb_8dC%GK# z1WQ8iJL027^>AF;n9c? zCXde)gOT}fSad`PR8caX(~+T3@`TVXE4=kY&Fb(9g|qs=aH|6zqq>ySnOBgl>`LbO zgNM)D$ggTG&p!C;wqJhv<-n=7HfRWtr2;(>b2@Kf;bgT)r4U>BJTX+L9I=#SwTSSR zs)O5VYMM_Lb{os;^>!|9>mQ+P%FQWlY%3$YND69h@xw+>ojP^m=&`9tEGXl`kC+2B zEz&G%PG5!#Y^jxRgo#V4P{?pM^`M96z#ubv5aYkBpu$L&25%d2_jhozufs;ts39SC z-t8w!p{5n+L@U18g!;#8J|fO#uVB->E6n(8-7g!zT>-brlnnT>ul*V}PZWvc`jCQu z;eKY=3p%@vm^X9@Datt_zfcle9Ud4N!xxEs^j%zTr&;1h0-fZ3DkUGWa56bc_IPO% zRUJ-V=!C_K7f(-{F@NstAwdeL%7ilCsK}V%DJPD>&E!UTb18PU*-Y^=yoH(tk3IhQ zqk~5ysaI#LFKJ&9=P)9jhL;a<^`cB|B=*ECp^z67QL3bdfYs20 z`pFXHYquZ^JC6eoJJ?97>T0TL>kTN6%;(e2o^HdHimqW%&{>8LY;J+J9M)1|wzXQW z7eJFyTwDp=Xt&WGMj}^hX&8DOsADL`gmDZF__{+eP=!xmM_Tgmf=QDmEtvPn^UprH zU}nn5$@8Cn{(0>4g$vbc7l42MJvhhsK2}e5IhWDGqOkv-&E6CeB^Cbo%_ID!mO$26m_V)~@Qy zlP1Ehmn4??Vy*O8jaJwxdWuka?dZ{qW#w?@ZqYl!NbsGB;^7-seLQhKS2tXQp|!#o z4Oc=J?bgW<4uIs2zW3R68dQZ#j;TZ>%Uzj4q~CPz0i}2-9ZZDvJFxnphF;1CG2*B&#UooHr5&(6GF&qnx0Ey}fLg__=H1jT(y}%kqc2bsO;_*QCj0K*IBPvP z5gr^Vi}MJJllg!+T^^i&dvFf2I3X+!_jfp+y>Vy1$TDI2^$@{v@3bZsDv5cLOf4mg>!H_x)~g|Cx(z)1l@y`#=m*M*0NSS?xYu|=cMRG2 zxTk${J^gH88#j(Lj;KuTdRG43tz)$pgc>s|WE|(i{(x+!QpUuEwjf@Ki9##dbWvDM_*T~Q?&?7`i5vp{PStNJP z?Eg+1@89DBPmf2iJw_e)bZ!Ydy$PhpjKp-kx5xKKGkefxv1p83e4Is75;R6CrhC!6 zu*XO)SJG1%sEEY9$7FeSxx;t;??A|1|2yRN-67$QJ2dyd0~rxiL1Fqp^sj{G^qqEX z?h#3)Hm9>=!btW-?3fH8W5Q^|3VX-o{v*ti9n2A-I`}bj8WWm>*AWDbnXj7rqV?^a z6Q21R$)dUSrVJX^JCVP$2-JhD%Li*2S?287u?^#P9pgqak*vYEkql>FVdO}LGj(=$ z4*ZUO-m!;x)tx?7)q3@ZZ$2WvuH^bJ`hEFYNV~fZoVa}c=+7HIgMYGS)fb1d@)3-+ zXQicf-}Ym9uxl0``~GtxWH7(t9wJlmoHnI@?T2i5fOu*@@OfVL=DfQ^ZeOLXBHv#D zcLryhJIgqK2gyjTn?|D85GeE|xwxsVKad0=Btk%nJV-O?zjM}n_!z2^KLbqwk@?dg zZNCYP09(*u2DAguLE8R1MAau5d3y|!89XKY?yMeS+PPHvN%`pmm$Mo)h`fwyKlaH~ ze4nH>nnJ(G{eb#VD;oz5fW<~?I&4A6;OlPN_`Av9eE7+yYkoXdrEjh+DY#33jt-=% zZ%|0M!*_Hx7eh0URc&zwj2ovD!x;?BG@?*+V{OLz(k7D~rKkjADM|Qj?=g0C=#d=< zelZB=hCo0|s#{zSlu^ zZo*w+u7K~8kl0Srg&DgHoi>cIf*&Vw~(D68*8<7E;W z1KL$zd=(!$ENj@RJ|Y{N`&g@7y}8Dt-ebHb1@f z84zCa4W$+Lb(>iWu5> zwQaNPf}tb?K?>ipm`jOJ|_Y%U=Ma5b+=e? zUdq^S*|QXR`|p}14<~geBHp`6Q2kG@*G|ijzT7nnJy$xz5=4E2lmXfy^4#I}W*FLH2kH?Xm`3&NC z4^HxLl)>eq+J4Jpu$r*l~0~-F_YGhG+SXAZz6t##&WomyB=OkvfR1b)% z_q0{yX)B*?Ya5H&e#Z!eJRqvUgR1hNqLMEeNfV1&#iG(|TVr}rdv__Qkr2EkLz_TL zJhaJ(f#q;0Y82Kho;d;(n4mb0d=5=gQbuXE|~1YF^IegTH+D!J3WdOKYL1E<6u?{}-QaM4=qk$#mn{P3OV9-8y$G z2j-gW!piJ2cs&*zUKD4nIril_rtI6fU0b$n*~K(6=no8K*18H*oV-`=3%nch^vsb% z;|6#+n{Qn#yaX@6>Tkc@ws9Tmb*$UC?OT|}mVsHH-_JDm9D;5B0gDpLs*i(7Z@Fm0 zIRjXA?!Ny)UJT(80cz3;j!cCaB#^mYNhbpyRqL>|RNig>iuHv9w7oARuz#kEjNrFl zdT!|>lSd5j78YefWU77UnFPZrqzyS~NO(qvgu4hG_w|wpvjk+z*r#=ag1iC%r`79L~dwA z*g#{O33e`*$x6!9wC5q~RegO^JM#SDQCZj7iCH(xR%|(YL)j`bw89qFZm`0!--1OL zB{SPNVPo!M-YK!tUv;xDo-bMxOOmuBrN){~aD+W}Ex*A`bvn`OI&kp%4g@lF=uO_b z@g|`h?6JVsSys_tbV-n)*xX7&S%iE9eFOywRWOF|8z&Dyb2U+n12%&714&elFXHX~ zuG*57YY){B$80Z67;6dL*jb$ETYl4Y4{bPMxMNppS&?Q5G}tT(&qexDM>yC5E)Ey6ACKcgj&+qx1<64ulm`d;3Tbn@P2?XI%oGJc zJPGaPEyXtj1{btJ46+*ZOrSN-Y3{+Gv=+Sa#E4|23eLiqbEDaWfi;7wMDe6Ow(84w zG5aVd(5WB2bvI)1PLgyU(Jh77PaoX3Z`Tk1c>Bd?mM)q+CRQVjP(jFvl*B{xs@Q{C#-gfO)afj00#FGj$FuJNa5_cbDZTWk)O|ehZ-7igD>x>+AfgGy zINKDmRZ&$C%JCM%-U+BgcWXUoBQK)wY~)4sosFm_^gbt+qMDGkhg3yfxssE6lPQS` z1pxDBXt1XqDmh1_5q-L^JNav(gMJ_5$v8KTL=K>IN=^=vOGt}@Cp}YElxin$rIDlQ zLHOYu7Bihgq<|Ml_ZU-AI}7Q@LNYzB=soQ`JtqCV7dLPe70o$A5e`4nd5|-U;>f)q zzHn~(bK)qD9+ZIM$bvbw6elo|qkNDyc6!?Qkf)7IgYwum+SoR_JyASX!rnHzXGI)w zho>=0FJo3<=Rxf73#^?7x>e4}o2;FunP5Vmf_fEtQ=i_Rd(Qd(E3@yM|By;`9mf!I z63|YvRJh%gi9FR&cJd@eC<&evM93sOJrO@dRG)S9-l$&z^*p}Gi3VyQ`K5(&kf$=@ za+}VDdjxsnlU+pot*0#JaAh795$^gRE$JnQ)xs z?{QQThNSEF7(dH%(NHJHV6&offuka-b%;JOLigUs_;4<7L|W@K?@o~u|q(EHwb zZoY2|`^Jx~9HzIEJ&4R;-9r|aJRo9~2hq=i$k<@6v2AQ-+sIg9q8|`(-R}^YIqqf= z{a8e%*_=BN``ae(+{uF)~nrC2TZ&xLNX`vF3l$v zNmLf#c>E*?75L*>AbK>Wo#Q+`wy=%torR9x7TzD}qz5U*gVe(!sXb%Y{eVb>>tfn8 z$%ABKku)Bp-?yp%Ec8*4OLri-E!OU4d3nH?Dea>nWUTt5_01{qdS%)bOWNf=7Tjp? z1tV{{z2ooR0sn9CN<8h0WZTD3xOR5v_-y+a&ZVVy9*BjN#D9_Y5gV=yYmW4nwc(az zF@TJrmKSLPs1`Dl4o=uBu*TYJfvlxYLI=XH0Xl2O6_Afw!f*#-#$`v9+(n7I5Dw0B z7qYV5cPVt=1?m?nGL>49&fe%*T{_2UAgj3@wHg3NG%tLz%$Yl(q7V73#p=ElLvcL) z`GY&z+;<{vjvU3_=5cZxJ#(8Z<~9~`o2I_o_%OHexuZv(opA4YWp9JcO>Tij!BBAm zj<*Of-h!VH;dwmkgtWWAE&a}UuzBWz*wRNa^FXCzuozo<7CQ}f_^7FG8hpq!_;{wF zcWmx+k4^5eVeUbQJG`cP?@`Z;408{%kl3ka@8Re_{`coNh%XS?Kggv=<`~1k*wb6t zkrA^a!zCl5zhh*G?(W_*+U1#1G!3ZCfU|3qV`1jBm7P4r zcPHKw_u9c;;JBFk)b-uR+IJs5b071a_qo^F>7!U@++)NYz>W}O)$dPZ$PxR%6pKAH z@C$NgV7!^5o}3tXi|i!4#V6x!?j7%Ywa!BUk%N(K9n6OWk0bQbt>oFZ5Immk48h~r z%y>(f`ha-rJ$S}`cuE#8wjUmH@1U(Bij`kPZi?lx2==v)L{4CZ@q{WCPfgm#tS_F8 z$Kv&n_Vul=`}dbHvJBoJ7Eea-Zm{ihvUqla*ZF|$BN8x!hm;^>{206%7SGTR&(@2# z8kFG|^!Gp50VKCL$vpgT&`xLzD9-jzr^5;1Ddu_}g*5*m%Rugluh(zc_3P%(5J3Mn zoEG4tJ#fQ;6X(vI+xgAvnrpkZpDcrkyW;d(L_loV{M*6(d-fgNvt!dYXxS|7ghPkU z+^VQDSW!8{R(6*^MX;aLR9ERuOxA35_q(gV>o{k=n~EEC~s%2{&%!R<}c|Xzr-Eb^C5#316Y5sZ>g`Z@Ici+4e2JWSd;l zn6bm+U4?nqcCOdOAV)a#TfRtg0>5a9fa7#>gi@u(M=79*tG2{T+K%L>0#1f6hj(`Y zcO-n7z=N3-U*vM(@E?Aca|CK+%DjD0ZwTHIOi}i`i?-_~q2wGClI^!kEocSJu_H~J zK<*#qFKn+VhwqDCtU6cNVQ8P46&_qQTP?W`Cr%B=U#}|$Fvsa(^brgx%Ve2k(hjtpCTBW5oijKrjL0-Ii^<%Cc5VmNeh}e?3b!20Rm5zr&F%i|^fc z-|~O|{l9y!pwhw&??`v!$#cCnzh3lTZ12bNe^B!5JwEC|v@v1A6>tn#ySsXZoB=gz z9O;y_`v49ufMyU%Rc!LI8L9_S&?IJNd4dSS3Wz&Q1|ENWeUZkx8+{MoIPcE>_Rney zQ9%|`6v?O$A-;&3qQQ`V0%aH-=ruqMr6!$rBO;Z-+5~F(gjShur_1GrLq&yzq~h|) z$$%hf|Lvl%}7hsDkes~nv|>zTo5Xcv%Ju#*HX3OnAp_x%ruKh<#mqRo!(FkrFxblKB-X0 zp}>5|WsR1{lb%5cdM~zhVkpB^fNUzIw0ZjpMQZ82Kl;JCGI6wV=f+56ke*^xjo{L! zSa^=5P_sFfpneJuojU%IV6!aIhpB@?y^-lK zT)A8?#M4J?k#o7Aih9mo9+8%H8RGnDi03$>I|>msF`^Ku_QLFur~MqUh8alIh?zLT z0fPicqZBieK~6vJ*)bbrD@AT)6`IF0*sx|hz+pWc);rD8%dgw*lu^|jRgsv%QGH~r zVmOUZ6~lvssz?N%jynF!qtZ-;d9+xzmD-fxpoh2%Ox#u$_@F#J8C8xPQ6@dbM=AD5 z6$#Wl%U?js)qNB(Qp2$`;JVJ*GXQuamfUQg(#BH(J_ z-r8ye_flz!8+r@y)xvpjIpbOEVna2aFa7ivdn)!4QEAWgvdj;v#O<=(61STaL(KAd z-11px1jBO7{%0o$hIdnn+}}%?9&~;|4&kW{wr2Ve;#^Lfu1D4h9WTLx$V1mzO)h5 zWuLCZ|N3{;uCK9f{PDfWV*Dw1!g^FdUj_Z;v-tfHu!K8V7UoKP{)DvkPa8=V`UJ|* z{!+DJ!-nTyLfg0h2n#juKq}-fOdBCRJ^b}2uf6^8@zaf8AKm-=Td?;BLXV1wndA6Z zc)ghk)SJzaoQJ+bSqb9s$QbJBVF4?B(OUd0%G$BxkMACA>>Tk29m8KEkMwV-?J(eh07fAEjwye&9A+3 z{Ie}e0U8u6-*#B%x8tU}4{Q94; zYW*On()U5A?nF{&DN->ZwL=@;6chow2{r2x1~V3H*a7 z$aSH|l3v<23|&9vIdnywKgo| zdX<#HXV&fA+i57i@3Be&;?65Hai`Wd4Px@>MwNTb6lw?T(- zQ>|A8d;t|Q@cbS_S@}Y&@5ZNSwJ6%0kYq|5?<&l`SdE1y*7aje-nP1=B+1%Ao2-Ydxlr8Ty^uJ+<1kf8@gX`T^-0f zl0V}@7k|7qH?7#5xx|Und9?9#i#tAJercu_EnfV72@BIG`97h^XlNeuh@L^s%G!#a z{Bo5(Bi91TsPqk4oo-!9UfHsn@>1|cLxwTr_Ky#vev?xbY(5ER^-2b|rOb8%q95=xsKJ^kZbQsSh9 zg~3DHw{PED_thw9XiB<5q~=>LXc5LCS(PmBS$(3x_qF=|+KRXk^gQu5_ihZ)L~LT4305<{sH zCp;7+9M}kGPEe#T0Z&1C1N|Xb2s!R_ei9uyj6{Fll`1)9iR=j;EFJ>{rH%a2=XSFn|7?Y#)m#UF3K^!V8DRodn6eDzm3(3nPdh$cP0p zB3q#nIbsq=WIJh>5yjMS<%ct2KGFg{a!%$W`zldH;2*`Ue^`sb@n^`}c$hZrhHZz= ze_6kK^Y2Kk_E_jqUDXD(YIwHx#W(l8b1Mi$4OR3-W&7v0|8Xt2#jW9*!ap!=e&hW^ zjTiR6uxbpLd7)ji-p4xC3@NL7?&sIjO_scCtc zIwfi}E6mA>sb+=H(_+`x&VhimwGE7e1;t`)KrMq@O8ut@k|E{u)97sP7*uEG=H_N5 zCnXpZlK~0wg&HN|18PN$&TA{0hdKd<_=`v^X*DiU7*g}|a&pkbZMbjDF2*Hh%wLd6 zgS6g)sYtMVF^Vl`Nsi3rXlhPzfm>hvcipp{#|?l+dqTl>I*;27GEAw^~W^#xSP zU6*_P9pC-oV~>Al)tbA%_t0JUu3nN6u&XH{xx(YQ8UZSUXEylSKic(K2#+0%WmjV#yLP?v(b0}^Z^)QpHW7Wmj~@;*6#w@J zJ+=gY|M9>I`6MME^soY#6=lHeOt6u5WIg@QPp7=ab3*(x6f zR!NNjlquezk`yU9I-^P`@*FvMbVv%sp$_SI(>Zk_i+!T>dz;gR1SG|z*X;Wd-8(EOyeMyB5BXgv#o~c_)HUw(jy08h`r+;)ZC*<% zZguE&>yFdK<8@8wr1th9k8gB%*zF0#6|TH{O&kV?3Z3q1?4z=B&GJ=?Q*@p`A3SHp znIc|Cgmd1Q``YeZrYn=wq4!v>LpeG=Y4bwe60X(g|1n8dZ@sRT=@rgK9jl>kFMDx(HD z>Ozhxanux!YMmo0#Y-5fWd>@v4x?`xYTp#GT3NEhk|OFb47=$2l!Enjtgd~+YO!^;VUw%fN0{D4{*zwjxGKY%jLNjDIg*mk&r8FIn)V~gMy-kVJ(U{?xh)4 z(>OETg4pmtjBL7S66tU8j{k%0d`GaI?*v|F8U=#KJxb8>l|iVHdE@0Z3NG%BYQYNI zZ|5$VrcoFt$8dQ|3^|9(TSODt?jR3c+3%6Nq+a$rT{`TFVV4J%a$%@sCfn&j!!GH$ z+$EF}$nKIH8IMiGhB=;(`-1JlIpvGlu8fF1vO zc@y=IB{hW0Xwij5F_kbMFTMuK16BC;3y0~&PwHib`VL_|93iU+X08&*BcG(+Dx794p*|K%hGta&F`djm@`kEYv;8sJ>{T-~BN{`}f`!+%QC|9%S6)S-*Oy<~w0ZNU7hib(>EHd~)ook1 zY}vB;)o<1>@2RSy7_~S)Q+R^*y>8z(@0qs_i>s%F z^Arv3H5|W;{Uw?y&5pQ1Mx>;t2x2BjTo#4ca0z1ckw@kZ1jKA?;fSQrU{)GAra20; z|B9G0pQ{py7c)$nZNo~^&oE3>X{Fzcgh^@&TnbfE#~e}nWK>!dVW=!NK>V7aIykC{ zqw=GO_Gt9+M{I4CQLmFxSu}?VOfu92jw*80fh*b?@hat-G7pe&huIqTs-B}JMtQYo z3RAwH6anyc}Y9>@c_+Kla B5%2&2 literal 0 HcmV?d00001 diff --git a/fonts/Recursive-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf b/fonts/Recursive-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..476cd6063e418036f0654ff8849d32659f84a997 GIT binary patch literal 2281268 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
W<70!=fOG=#)&x*g%A>Gm4P6d6oyok0n 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≻g%%6H`fmDaWmL=QP@GtT4=9 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

R2Sh7|(qSvir<}H?-smEv6 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�vMf~4+au~aKav0C>Ia)hS?ZiA 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�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

hHJm7c96e;u?aTibNv8j>8)^Y-r;3 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

  • dyIi~r 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 sWYyVg)>( z?+f_EW5xEw@NzJM1N_N#|Mz2fIaEA`m+%ySI)<0?3+ULt8lK`+Mg%p&3-aHTi0!3} z_9BM5P&Q**d&q&={=c$q#fj(p?=IZ|yd;`Diaq{WF}&7DZsry8Uwg18&v+h2X|$iD zn=J?R%X%L))I94vi>H{P7;1q0`-$w-2nc4VpUb9sR_~MkZpr@6fw;X#Wbr@Ane9*- zvieyDW1X3RlR3t}JD!}gmn>pmBYzv$(fR&Qa%OLkcltf+oz9j2>W{Kxx@}G_x&BLXW%HMk0K#pNekoz8 zMg%!SJ<&UHud98*&Hp{Q>#;KmSG&Z=>S+W26I|`R+rUrDo#Q{&2JV*kd9}P+(-Jmx zF6@{kJ7TpxubJ)VEg>k49qZZmdG8t>V*D`U8Og?!e?>k2#J~O%XCZ+|Qn%Raw7_SU zcm~4R&GB_|#30VA2;j@IXOa9P_b45j$;iwaJH(b3D>Okzz$GoFY|+l%}rBENwG51#;^ zxXv%7piH?6hVv;=o`M<5T`*nw3nq|0j!N5l^i zqxk-8G)^zFCF~$xWJ~0VsU_boCCDOI0lZWNlQ=hlPX-?^pU;oR89-O(Dj3XX5Fd%k zS-=O*se)pM9nTfb9<)6^e#Z`CbB0t65iQN9z~|q{?DL1AplU0}#Dy0^5FHv3BfE8G zAPho5oB!_tfW{yl|EGQ`124NO_@A{yhpO%f+G33j+%YK1=btH$9*)*T?@5oR=Jtw1tJFU&TWwTT^&qSMH+i8s~N@FL!*igcN-->+vl8=`E$#dwC za^+x|b&%Ov@5N9NIo2TmtdWs5m{!)rZrLZ3_CD>4Y=10uU-cYL#xY_c?HR{>k+HO3 z_Wscv?#tq!dXJ?=>YVD#9PU3gjxiL|dxId$B4p#`zY5EaxH_S}=Pe^AAIdi0bv^q& z?>!qt2H|W`99Y9~ES7Ag%D-R8zZv{1CG>HxbHxpkol(Z<1_LTK_4G5x0ZPdJcV&Mp zDw})c-_!Ejn&_2k*T|0h9Od zttAqd#Hs)E{O&*35~45Yk;(7Ln^q6Yj&j*FhxWW=1fpB7VBXTR@1MPX5Fe6>X8+^~ zWR)a)I5M{P5i8sSU=#Ife6Mi3OL6u|ahiIk{AU;b>~V=WoQ5^ntuAHsI+dRHY~9!xNa%NqpWC?B65kc}uW=53>Hxz*0ROtMvq|%IA@O9MY!|U@=aT|&p2kt1 zWov2Bz?_Ac2v}>0#7M_Rr?K`&Yy-)eF&6Ca5?dT_6 zE4@Ci$B}r%aLxbYfdd`ckF3e8Zf)N^nd{+{&#^#XA*2&XYs1ucg`oCd?rBS#MG zSpVo9Q?dO{!0{+-{x%T0^RD|A-FH;ofB&OPwydvFrRD^~nJgA6uNHERFTz76x&L^> z*|%?QG7Ao*vi#uk8_O_3ZcP5s|M}sMfBchMZb>1!?hoV$W2)7R*yp)6Y}>VO->z*N z!mxp`g!`nWCA(Fo@AQPe{xp9gK0zr-@VBQ8>W?q)1jAL#v+#QRZ#P{2zA#-S=gWJ!ZH02iNR5 z;!f~IBkJ;qmbL;n*V$z=W|Un#$#8n-+;llhSUud!)UGXBg_+%RYxD7%J$q{En&IX( zoJ*HJgGv6u@S_pE<}VA&2}d&A{7qu`_Js=l>oYk-pQ=CH7v#J!cq5V zRm9u8P1xYZz+sRcc3=a`8{~NFcq*iC z*|Mcd&7JS)bM^%nOehFBuf6tKd2itg0to3Xsy(c`mFtcQZOxlgEEMc7%-d|@4nBqH z#4luz4zpNQ1)+E_#jDs|6-g;+;_i#lE+r3lUoKYFr@FfOaCKH{^!+sghGWL1G6EfS zwzl1!N12d2Yg^hOl^75fT?5n%i5pI0+&LQVbL7aOx+C_4wk5AOV6<(lKXEeVJ$*3R zcBH9Zy<#|Wc;Z7jjA#2vP+8eu4n@0PuG%`Rs!*^ z+GV)j-F^7z(Zf65Hk^-*Tn^RW8)4h!m(TjyMb!Ge|Btx$fRn1c7yh4frk9=B-q{^? zS(e^JiXd#EW4no>K#cvGn7k%ebB)G(!WuzuV24;%}4lkzV%xIe6IfI zPRb`;F+h=^ncgOHH{eNllo#cXi zd0C*;?_Yi8$+_lb<~fO?#9)GC`ORE1Qx%#abBH;C#Hm$er5a{_-M-|>mwvA*5*dc; zP@4pLab9V-F8lY3=FGY1TZq-nOB^r1bL!;DrfA{8gNK?=H+y3B^){`ewe{q_Jtweb zX+3uO#9?)m5n(-zBjOrS-oIbJ{$(Q!6277kMkVaH2dWCMp6%J2b!z+q?^>;_J9B04d0|65M-YmE&LK67_Lu0JaP2si49u}=gy+TogE!* zQS|;IMbT)t%rw#Lr)7E-KCviYZPCYuwY_fN;p6+)ZT;Yg@1&EAAg+?2-|e#P`jt^h)QTV3UViJX=PL;a_8$z3 z`yKx|n~qx&EyPQr+j;C*LqQ=9vN%TgeSw(INtB}YPE}^Oioqc{8Hw$N>&TG<@;_`i z>vL`W`}Yq;jeKvn$95uk-ozXdGk2>)`_1-~2kn_!TL%`Dt`s6iIgsZSDMES z+Dy+d^zRQkW$3L_?jpqEPgJe_Qm{3S(xXPrnjSjduiq@KOna2C{TrwWiLVPgtj}MP zQl-`sH{hrCY2~>S=mO^&&ILg?TJ^hyF?R)jzv!30yyuTuMwNCSmUPQ)m(81Zd9?7e z&+41BxIQ5J=i%%z+H%Q8apC%b~i4x&w`MPq(jlWc|rg?|-h&FS|c6CXA?IGZf+0u=3Yb^S>1gMF?;itL8unVWv9FMYf zASENy(Bt_rF>+v14Lcj!jvhU5>Rb$cFSf#Pa*68chkXM?iwxbHC*{w#G}Z`$~T_ED3@H*O`7GQLzR+d&5Xh-j3`k_`$t%du5ZC)! zRc_>Pu)jc^9zLeJqGC+tgf7)xDDhGU{?)-cO>7VmC{>*%Yyi#-DL$Lp+uS0q$A5Kj zz7;ab)H_bM61df7!-&eQI@`s}BmP$h*LV?&ij}?m3_>WG<`ShX;#<2!e#_5hh_$`! zj{ZXjBN2M+r`W?sC5Drh&=X6B2Y>=UyHBaqBaIlOojP*3TS3Ir z-(4JM!8&G1aObq*Ynk0f+6iLT@@wgIsx~EYQ+lG0Xt}wy`SO}jERF!7#c-}a(b{%O zX@N}nVt;kH{ARwjX?FIgl4;b1$7$fm_mED&-T`?2hP6R_U{OLTO|D2gg`DUT-~B1VsH zY2A0|P-ETU;TVAjxQi|qv<`0XyPzdObHP*nrPr%y0?*Ei(5DI1|4F%RUtR?9dX=oW zq6w6|2;%kH=L_z@ZrK5+dA2WjpV#ZZGLN%(z4rNni;n@wk7qz*6T;o)D>Q-P3;vfr z2Krz47&zcob@*Zj9IFn;`c*y#IvlI`80c`U;_=yJEDGzh;Vl4J&PXbb2(f0K~S^kfHr1v0y5Wf z3#e4ThD62eRc_?%oyjf2da=06%Al$=Qy`|o`VNSqW*hp>F{K9Ye_0X{}nca?Isx-)>u*Z{@LKLdiwrG%}GzcDLFDSlOv-bIWl(1 z$OvmR4CBJOgm!qhHipBS|8ihRueTE9SP#V7ncr6r2RSY&v;KRrz`tTlh^N^6dsSfF=I-1}!^A|p8_da=O2c1#?V zF=2I8XQ5VvP*X4gp%JWM(VQF>r_T(F7taifW*M%`g~Rq=+e%3e9jCg0$ul3YseA-J!yYS*r{hRfoxhCG~kR|hVKTFqikxc`234KO4m z<(Z##`kBq-TG-am0Ge1Fw(Z!#m|!_-6o?|Mop)Z8E7`mkF(z0ZKhB_F>9pJ>WN%ns z9HN^;OIcfza-D~8;)874+4qE4 z_k4^fCae(%FI=Hkk{jTZJi+Ma7&u`#t7zD^a3Q0Iy7lWpD#_;2A8X)h=k{*dwC9i^ zgtftgIlAEz22tPT7aI^%Jg}LZo3c)DT;|Caf$2NzP-mvM*wy&A4!G+bY2RE)*)>+6h) zDlET-py3(<-%zMZc>1xbG!$S;QG-KSJk?LGkuOYu0*ibaVLIQ73N*qI(L=2 zmt4j7+A3{tsw#9#cbIoLmu}*iO-nDA4XSR(Y^^*IlY%PhdTYCsaML1HDz&z6HrNJ6>3p9%Nvs>aF946IYX96O@(=-m$(|wqd$6{02_17D=G5{ zS6FG4%UPH0AL;krdv7(OQrW!H3dM166`K@ICYt(Ry{75Hu zpVJ_=p3}{1$K&Um6Lj>j|D1EqVcw?P=R~ui`mI)$hEBFI;n+1>R%u;bOIu4_U1@2+ zA1Ez7xc*38-g$Y*_ZH!a=~}(oK4Zp=(CSK6qiWpOUVH6GecLa8`O8WPrI^pkHhm4oU=B!z>nD4UhUA3Cc33TLcT0mimTXiTmymXCrkQHa)Rqw8CDpcM zkJ`iXLE`V55lr5qJY9qnflRCcsRUT@H{9f&_(1VW=NS1iSF$Zj^ln>N%7Wd|pVIa3 z=3=!!P5b%Jcd9|xU3cBjSFB(@Ol@5ejc5(~nHr*6QNM^?T=e`489XyR^`)TT;awt6hTiSXIf)Y>in z?WihnD(%LHvT5qnqL^d^oH}(X^WEK{snH7UeDBDSZ~H=_klH+QiMJel*nmfbaBLY!{2BWY7v!gy_|wia{8>~K;`{gtHTn*+fcKZOei@rrOGT)^J*rNuZPeYha z2q3X#Ueu?F0;u!tI8!4`ao@MIp1T0p>I*(8w?p1gY#s}p}DCj4Hs;NwhNq9gGt7W=HN2IkMC%;G%V_^J|AiG#}np&gfQyx>x^c_2PEKpBsOQk}sp{(F#<@}Djh$Bn)o3d8@O-hkr(?a)B`#I%g{#-4^^n8 z*`6Az&l!~+`UZFmdINia!m`41qB(n?f4-@nHmPrV{`tLopLmwse9u0y_X$Y8Z}NUu z2kw1h@807aV;ePcgk3E)%8QB!Wa5@U$ccsqX3F8DV%ILGZs&&Nc4SU4>0Qym*u0bz zE4X#vB>4HQgkZE;D(0%e`+AI zT>V<2Y3wuity%lter><)@cMP{?2GR`xc=bYHFZ78b^w?6ByNX`<7ec{TnJsVL;-F1 zLFrg^1Z?3*`2xain%JgsW7GO1HXUuXg+{DM4hTb5Md@-@mo@0Jl95lo6QON5-)b4e z6uO0)_((mbsL%z!0iR`?KucyBzEsxJ<d+F`dgkKT|f7 zmx;iup?;j3$5g`lSd|e9Fr~0Bi@Jf-l{1lJE0oW6h-E3M<`~pqDd*&d?c<+R+r#>5 zwK}4HD{0{G!yA;4!?%ZtlPy!kNx$V_yJU*G*}RQ7lbAS)S{-W|oHf{IuR`GUih4rx z@)ci^nA8r#IpvZW6I0aWupUr>h>Osj)~|}Zu<0b@T)bTpVz_Ny0>sH3teuXbvE~t5 zgJJz$Vt0R0xiJ|0c*Lo&J{8%sswAh*h4_Y6!fT6eclrm}*IDdDpKu!{`=YD~4xR5#FC6^0=p z?GdMk=<22_2t(&5xQ+E%c1LDrUNEyr%pOh{&a0iy%QhF5h4ocx)tNU}mrPer;CZ^i zTxZ^doS+@o4cfQvi)VGz+kJJVZDD<+8hPgJhqbm2+?5j6w=f94Xp*xlX@=HTnQ9+k zH9udb+6SCH-A9fjR7sezi6_7p%^$xFH`PPhQ_oh$e-yvPR-|L@%Vn((>===sKWNa^ zVW9_%YVE)9F1-}b)dkmAXy_6oU>-LBZ!uZ->TMvoEy#z7S}xSqCP{8LJ z_6`sAiT2sJ3T?Hm;gIT%RG9y6e}3~lqfe05Gpx^2vm#(!kh#M?h!|O!HDCV7U$kVq zW^eQMNc>A27W%rOCy{V<>0!N1wVkQ_(yv3dJ!dyZc924qJAwYip_gVzBnAyKv_XSp z9daYtm87Nm+K;ESh7N75;XccEP+wB@#Ul}7))v>2qfXgkSRH@aXE^IVCr=vM$&+$> zaCOY`(v{mw_$3^6A4q!q3H9bLy?G=8KOf0_6-3?W&rynGv5&4pU?o3-(VzKjsRy#WcGA?eS+vi9B2w9 zdSyA9LWy2k&XZ)I6Ujg)lA%hhCy}!XIm>|!)j*(W22Y&9nmkzsS4~s-ERzu|Gq_6D zs#S1p<9bqypj+ORoC%x39TmMw$2K>#x6A-7H~b{Fx4UFrr^Vjyr3! za&ov}N%hxnx%ASn&7L?kXTgORE+F55auNaYWL;g|u~Uh59x_(zeDFb}zMn0bLDb6Y z%t@3g0$bmyJ@{a?fMZHJK=7!%s6Qiy*d{COvu*HlZM7L6e84>}wC4}?`Mj=n*9T35 z2O~;LC$yuaqW1;2ZX(rgL#;MtN+gi&59BsCA9TCMPDv$t)T7*^SfReyug zVuO;ev2Rgh#%z(XqdD1{qZ%6K0L<;^X7Ov+wSXS2O59_n65dig(}Q}{hM$XAH%4qP z?r!NZ>^&__A8WPH@!Gn)8VB%F(|omAAAX3W{?T7N``p^K%O8FI=?~vsyH?PW`laFC z*$UC_%*pJIsAIJ?y34E8XpIM#;E<=eTJDC8$-*_Hy}jY{kJmLe9^6rX6kFw^M^V5c ze)Pw@NJ9Kxr=M1K)Mhm|bL8858g{0p>aC5tngi+S0aaqCEW@95E|TzpLvr#EMCR1G z|MVwL)MG<4h=O_Y;I=>Q7(93f0E!rS{*&26i5p(F7vbp69dyo*)JJ}_G^@zzGiuaf zebD!$>Q(LKmn+n(VRfgWo;3WweevFV?pgNYo!|Sx4}K7;%@{Zk?(Mz!@p@Rhm^(Hw zxNl!Ds#*+xkGR2gwv`S-2A@-_ZP^kDoM>-5?)PVRcW>L$LhQ*XZ|3hw=MnO=_n$;- zcH-|n3^xwV9)l;+b!=dX+gQ6y`feQWnD({~k#eW{YnRzKZX|pxf|}s{D}M9(>o5HF z>1Q^+`S#nS$}`kPL)&bNI_)A{wYS#VpLhaw&qax&iA9O45`p-M_z7~ueLwLmz5I!I zQ~VUA36bWb5T9|T7T<4RhwMRb0{-V0wKb{nPB-b}Lyq=@;(dqVjEolCe~KiA@I$5; zskhZS1`QfBX4q9T)z8%?tyG&!DM3i{n6_Y0H4ZnIP-Y+}C(dlU;cu6m-=2(s$YSkQ zoOLe_7Lw&Qf}n62E#QZj<=WEi_)(=9e#s6UBgCHwlg-|v;KA*78{zQ?kXO4bD=)98 zDDSEXJ=^!~+wROCkw+NEeG)Ncf#F|JhSx)0C_fXCa!GBL&qv!-XMFm?k|i&#JzC_u zucqcc6*kn@4gZzL@dUA*Y{fF)d#V;P0b~VTh&({kym&)LvqWF@>8=m9yuD`4yB~eH zW6K(T64iqk`yK5Oo8H-}M^tNVmft^m^sw7*yX3-g<8J!a*Jk)jDk@5Vfa)s4A4Q!{`u!mt969<4ZOY*2dbA-E@^MSc0LkuW1x7_3-!++TnQbu-va**hQiRxMg zmey)VYP8t;N*Zes>woVu61Hev2@ySzbSy$Z_hphiSA*LXZ6u!tA@aS;G6(`3kDoBR z+a;c(p71*mtVC6efV1*kadH%s7u{JaQA+{@Pwe6ACd`iZgv&)91UZa`ayjhCjo_&N z{_)w_83{wjKHfOPUz+Xnr}%Xz zt|Q)js+KppWY&y1M0=0#t>kYH(XnP`OZ05XgU&d^ zITpe>WQV-C;zx46eFD5x*v9({0+fq&8p zB||0S4rL;zNDt-mOi9j@$VEKcS96{|I8R?M=h>GBSvXH$=+8M%w2n#6)A}^J9X4p!>ys6#))4j+-FB5`hY&o(z76USqtfC(jj-d>-G@$eev0=39hse5)dv0M>%CZo z7#6DuT1S)_*1wbT9YZ6)(srS3UV~HJKuqE(hAuJ4dpR}Tk=ZnOU(x4=4P36is63Ur zwRqnM!v>3~U||g{%xw&oeGDckAe9k)00$!JSyhR5(0yDD#q>@Ml)K#t4Y#6i!6l288+zNFRvs& zW|HBod4SapKeP$V+fmUsAs3gHpf1Sua3WEJ{7y&Kq00JD+Obw+Z=-? zj2boQY9#w$J$3zb)y;Po0m1_9n^s_UgX<<49P1VUAOMNAn&dOB)g+r))Avp6J7D*A z)L7pwtXEcOd@w^NFty=q?VlTT#`vmPvA+f7x_>kMhO+X?=v|hQ)e*b)|*|kTCYRoofs| zfF<$v=Os1L894imutQ{dfLcY_0mgk$`BIV@DS^vp?x!-V ztc=OMF#3Cj1Nk7uU3l&;3r=?%cHlISTCF3+u$FlixGur~zZYQh`RdMY)#k&#^aHs7 zZifKwk!QDRKqP}l^7(KAzPEhUE=FV$jEn5B=3zFIpj_mKY#PD0-umMopLyolXFvUP z+cuEUex&qv`+e%!nX&6*SDyvl`SK!01i+tpbJw5?CJ2!KF`7NmT><82Y9(6kS)hKH zrO$`b<<3cnA`&g@L6V@v0{Ze?NuY1AWG^g7uY^&gj5U3Iq7VFQ^S@E4A_&x~EA?4q z4zs?9$DNcf)4|>3>9Wv4uHh89Bjt-v+lv}(SIqbPXmMYs04H2`orM$J`X}#LSYfGQ zKLMz68fx53+j867vv9+lutTJhl7tL_2e5F!X^x&8L< zR*mx`GphaacIXA551%!3dOB^6PFJ_ba0u!krp=jArHklN5Qsw%2qu+hc6~*!(M60Y z$iyMY=ueD-1>=`MZZPmz0Cy-QlO7Z*JouGHLWc*u>XU8@QVa_4Qq9UFp=R>+02vh^MU?3TsUE$E%f| zm^pK<+NKq0Sym}hpKHUl;qX|))l>F`nEx)UR4cXNaPe7$Ww?pBqK=Fq=V8BQI53<` z9dcfkdQeI<6|WbF2#aHrB^XFMyu2C{^!b!KZOixWeRLWY$=6Vpo3|1`(|0n@?I!b# zKcy$8uqZ{7Bj+U-HWWD1z+XUY%5LrEo2RpN$SP7BGkh@z3HnHc;fUdw;sY*lKGq}h z%HF)$^XJbVIPJm<2hJx(rd#)CE05EilDtjdQ*tkx*81@UK=w-0Nf9bsjD~KoQo`SW zIDb;a+tW~AuL=sxx<8%WwA_qQ?=P}rS`wxFH-4uiA1NJK0KMSR#%CTV5yQ zPjoqIt`#%P{KV-*omEbo`L-1+)L+)2468`g8OxUwb~S3R6KRj(CKXHWzGvhz(1n)u z$|A=KAn61D9?>#`5iLl{&E&Gi$`urG?BDb<_C(f(-md3j^~;)t`UiFasfB0XnQ zgsFyGL{gl2!?^tQBo!JnHZQR_BJvMcd%H-$Si|VhjMmD#V?&3lc~0W(x8MC4t^v#5 zdF!pjTd!|ob<^u_Nz^_^SC_(6hkWiG9f!KIValT--}QOJ`fq>x`)D8q6P%elPI1Zj@#9O1)6)~_8HLE2`emh)g+|NBh&U3h zM==PsZgsk?{rK_YQJY>@x14ar`tN`LdlrF5@4sKae|lQS za3hU7-PrWfOD{!L_bls`&$Brra!#IPxm4 z{^1XQXxI_C^-Qf+O9%l(;nmI>G~6-lKT7xoEf&woiGT7*Ty2eb$mQc#b#<);BmTNW z^)xm&H@^RVV|qzRdLuz@z2?3h3KOQzBU`roV@DGWm$tFuCm3$zGxkI$Lfq(b!sDWa zb9)ir8n||}>uw(@T%yZ!PN$@J2hEu?XAp9h(_Y`;s;a8N*nkfdfE;nSPVcc=xxT)> z@ifVM5SO)IDnl#rULrz39x1mcc1Wfiv)%mf#HWc{6T__Xqr@kYJtuxbfPBR9Zr3R8 zYPjhhS9br7F&+(PH#EGkfvazLp@BqHFK*tyfB)te8&t@kb3`0YGM;pU{+PuQp2fPq zvT_F8(J*bARfZ|kHh#Q+ywnZSF0#rX*2k*~?Q(-eH$+LZykOk<`T4mXxfb$Mt{b;Z z2NR`G2^DPkF~A{=ozBIMcZqPPC>kM~aphR(Fgcg#EO z@4l!K-s`kYWL3@QF$UsFRv0|9j! z_VbS_TaCyA!`X;DMMjRy6UwUZ2Td$*t;ck4jhjZWV6_&_NgX)Q=X>$R7riMSPpT*L zFqYtlGd;*+wLlee97@cV!i`lTPw#CRJ~8zVz=d2|uFSPNAO(9wYHaK2h+@plrDJp^t9K&52JA**2%>iE8W}rc)-9rC z`pR-`*Dl7tFWqW+9zpZv_V3?cTA!XRu40Kx@ijQ(N#|;Az65TU5_|| zjt<73;YPtiC?RRBtJT|0PFqF*vxrDsmKLJF`WY?h|e&z zsYF!~Z(<#)&x?Fn2XE*qX)|}W&#-uMv(YND~o)^k9S?;&~b!`c#V)yb{0?A!{qUGGxv zkv!ynWIxtgVtD+&41Lh~^pv0Up0AD3j(qV%lAyLh?)E-ZX73YUV}8xBfuSXog+5x1 zG8QR&MWPMK_ny8-cvF2!AY^Euup%#QSpTUCe{o6cO)aN+1XJS3FHcJ92CM$hXG*X6 z^NQrT!k-O=KdXdm83#u+i7`+De>RCRFofQRG!OnI2Y&2)c$}nVUV3OIqhtoP6WE`O z5rHmJ4TC>JQU{NvQSW0Cdyq7GK`~PS`;rzal9N?zTC(8JGU3m}pEe8rY#4oWG$T*0 zRKQ(_(Klt}NseL3t(pRV=2ywwsuH<&2wQ{U&xXLc4dF_XTQ#efKg)zaOM^d4gFh+Nltc$_(cN38xAl|p8aIR?T0Suv8VX`Ni@^@ zd_1L2jEA{MVlXJAL}&td_ug_}*iVc$fN8II(d$ugVB-ABo4H3-RE$a)I(BSD*q!Z% zOiyt;&*GstMqvE*#d8TGJIhR=%wlaZ(>E#KB^|3B0?4SNrXBMc8%+EjXwv76_ zWi1cJBaiT34p^>J?L86qaFofr+f#=Rk7k@2F`{2CW*NEtWDSN3j*BBlj~-K=sYTqU zai%NE^b+dL;U8lFKf&o*oO0RD@uxMFi2Bhgcv)U^2%>Vw&?Qn%zZ7f@6*tcwX zZ%cjDJ!Zv<$5!m+iJ;JYuB|w7VfVw`~ zn&6V~N9}E=xnx%1=FL0afLDEECu<%)Y{e)yIy}PxTXe9oE#fYMDQapwO>j}QZm!j9 z_o*grpcM6q+Gnn_dhMN;;qrIckD%%toC`~Ibp?{3HPuOeNG-8V?OC%Xn$cWb?9l0$ zx4b~PRcRUdDZH5ef{A&%U!WBa~SX2k7- zBs_Ae6Kd*j9BH?XjGlF%VVU^De7HTZK%EJqMnuUp3J2tM+i5@eAD<<$mSmMm ztW3!1D0o0*Sirnu~XIWy03)t%fh9!$wMMzPZMj$1A_+-4jfn291F#! zC2SGwC++rx2D_qPzhJ=(EmxbP-Ds6LT5ey}O!Qt-W@@?N3hhUn4PBS%jz`@2T&B%a zl%G%A(cA1Abwa#Yjsv{D@C%?np{*=QyCzKn70dYLK`chdRPyO)7y|kI_EZocQhN;t1D%#8D59oi)6xO*$v*QxjKl}uWbM`e=>t~3d|lOW zLR(wwu6T%^i77^D&l}P+CA4AhPu5_6!Ez%E13J`>QxOuO+Ni>xGJY=@xkg9$7;y`u z26YK>nx*e2Uhor7JVEZ<{rk;N5o&#E!u1=Df`Y=lG~TWp{-HUoth_vG8~4d4H%ucE zz(K3*wf&Ha8R#GnX;Y-Aen302rMl0Mcgg0DE`81_@jt(-S5}&+Zu7NvmA!kso!%T%t=l# z$WVhd@%b|(jxUxWrnUrw3vJOdLq6DInUP79PK*X45y8^MZc7lvFuDvr=7D7yJsyct z34qpQEk+lQ5sF^ErCq*dJ4CKq$FnJ#0l(SHn#h`+;b@OV4LdwZS3HWh#2sT3Uvd4D(dGEuj%AsB3#3F%w3YPydx*ai=h z>qBWEl^ozP0YGBQ(rn_iLZuj0+V!YgoRJc`Q#zpovqG26iLDP}>Uzj~t5FQrdUx5w9mTBO`S@ zQVjpjsG4LEbM{H=*ZaR-O@@JEQX=|@%YR(0ewQrzfBoCgh-iwXJZQh7|N8Y1eGeLr z$&**FUT^Ou__F2o63T47Gowr#7%V7P+v zHP3x7@7}hpuCDIId&T^2d~dnY^Wa;cd5m0t^PmJ?;aEtW2}a=b>Gt;e-9UE@GuP$= z5nJcsV_6Ze*Tuh`u1JW6v>(6y_K)wlV|rz7d*hM1y=|G5*Hx=%vIH)loZhy#?nq<1 zZ}Js)h-@@!M7=ppoGBJ=@sklf-o88PHL=f(wQ-w+JELVYuD*IkMMdVIP*HlC-I13w zXzYdjh7K+$_IY!12jmSNQc*!pnG~0+t1HEhASfLPo))#GHyvt^cu#b6cX!nDGM^vd z<;QAozdg+yixcpb<~Ph+U5l13UAlYs?w`#-a5mHQ^_DB#;inHBI<#!r&ub*k{w;Di zNcn_Ox_vt-!Z+cR{rYjIbN?RDO!LWu>0s(qUw5~UNE+i)_eV>KsO=j(xI0$A>x0d1 zPrt617;QJ5ZdW`U#?#x{Q;4VJ-M6o}IBP!w@a7ou(s;y{-C9Q~w$pLq&fCBOox7u@ zo~|xWW8fFMf17 z=RIocpLVEcW|`+FP9>HT{Gc)McH+@QomoyoZ#iG$B|G$cykka%RBnm-){Gk`W~6h~ zfNFiZL&*BzFk-JAXt`0fZ30kpn>BD$fWM7TWEd zE_%rh!XU+i5!=ALtgR8RlXxX51z2x-a$qTxy}v|ph?Hf1^buHabb7WcBQqmCk&&Ja zmy;%~=ihb* z3EuDbTr+Rdq)FA))eC7PBZH51>wjE+5nX!Z$ied#5CerYOIfY0PG`qwuv#a$VUGCr z9?G@n66ZR0{CHa{;Y=!=(K6?K_cA>L#-Hi!Z%+xT*hy z3CeGj9ym}|c3#0Nue`GL(7t_##1Jz#Gvf%)mDR6*|DvIc@}5tkwn=N&OsW(Jrf(bZ zpH=E*DUODQhLQ<4SL01@701QHQVFe4Mc9a^)vxqh^53-12&?}#Y%^y3_P5i_8$m<& zNbz6Nym|9sLEULNS)CEb@Z8a(C%=YWomJY^Z=$80u~_H6eGYqW;lT3luA`_vc(I_* zE#aw3OG}I0?fdotwsIO9Ph}Gp%V)>xo#;WQJo!EnmS7mCCkR~NEQpp8$D=Dfy{LKH zd+%>TA$GdC9avk}*><`m*0cV-ck9|1m(jrC!}o|I}opklhnQ7pNytM4> zv~mc;G3o!pD+Ri{T`qeJdRFMVo>)Y;CAy%VNQzSe!5G9UO zAmWXY^q`{^FYuTvy0Xmm$Rn<_v@*9kg_XQx4nzZ4QY@uJtv|w6S?Ns%&#SK6M2+1<}lZzzO*z(%5P_y z!xJwivU|%f%v{$}sGqjBlRvLE3lhuZcoapAnBArLe3gkwW{HmGsuHA?sbODkrr91~ zyV@*EoU3cArKw-&(7u)Glm;3eSt(emWaNku6Y~3qhL0FAJf}3j z2rhF(d0zjlp~Hp^EgF(nGGc_9nH=|>#Bl17aqo`Ue0lUG%_{?+WR7V$(U}CQMF*HYM6T38)%{wSntDS^;zbvG>W^?FvaXg8qE{<&jFFh#c&PDAH=Q2Q@AB`m4RqQ&|k zDC|IPA`!|19S$zF9fCyffh9cI!fWBN9S|b3TgHyWT}i~S-L^iJ1^z4!#}-`~7@ymZakUVSkiD>GH8$v6&_`SdZgG_8ibYqJc6H&bKw60Q7RcFH z7ssNGz%4F;DY>Z&^JVLft_*8KhWtbe_!rsYSd}e8)EJ8`)-JiE7E0Il!V8G}m7}I? z#wPQ4(}|NkJs<2NaNWjTA9Qq|Ac0Hk;f)`?_a2cx0z5`SZG+Dlke#2O zj=Lh>G4Y7!#L2^lPoCy|T5Dzz&*WP3T4?kxN(;)b`Hn~Kzuz#7*&yvoGa$AqRvCy_ z!F7)N?z?aK@?T6d7ZPoyNX`L$#SNoBaR^djZKh?IW>yv!>1lD#PTIQ(WBINo9$>pI zTK2&&enGGfq6h5W^1%mN8n*A-BcZ@PsoTE)gUy>i*txmxT>^!DAY?yWa#}>|N}_c= z>+rFt)-0ZcEfKN}sHZH@RPxl*Pyc$&Ywtb(?8>J%{pPJzEBUQm`}jL6fBVd{e|llv zV^2S=RvKAyE$?MCwuXmbmk@T7PULq)99=D_KU@*5erUApt@F-%>*begpL%}7yK9N; zzV3~Cmh*e)<2px5;88^y8ANqj zb7abtDe0Mcd6~jxZ905<2#?j;c<|tnMii*oW1?j}=bqa$dGh7s%YEeo$_C~SA9*3N zlR;CbX7?LfUN$Uyz~rkYPgdmyGE!ZyP;WZsK#Y!>S1F=R?P}ydF1MS;*0#PZFy(f~ zlK1HIk5`!UEw&p27OmYB=^VkRFo|M(*_Nz?;E>_SlL*U(N3I@o*rLhZS_I|lN@y1J z^zf8%K}06V!|AYhM!e8l@T|g^+oLO&2u~**Bt2MERLWek@(Fl+(k$FhOn+HjSqfi_ zGKw!t2$Dpi+hPG7kR{}$=@Eg5&fch3XyYCyhFlt5SyO}s9x+Hv)8XW9uppt#xWe)FwTEGc57W-IB8e3EZP{-2cV- z1VDRYC9Xeii5_K=N2AB^aUY4egT#ZUana6kxoi`2$+#%{tYq8(Z(DrSoWPr(+#0W+c7mDYthh1@KT)RF$k+@3&RZ4EK48sp`JbJ$pw|hzvk5Ewk@*b|cXQQTV+0UDQ_5wIj z!kr`}Zc5C0AUYW&8CKIo8sJ!`BWgXfw|@!`;!VxXO;1FGUy4V(oh^qC9}_|Ri3Tv@ zbS)Rzi<=m;sp@KEG4qkd%np^Q?<0$ujVxvovY2y`#q>iKlN-YB4~s-6THbu*F@?xu z1|pA{jV#6=n#ytj*RmtMNLP0uil8yFDA~sWN0KW!$kp5|ol&3&nvvZXKzYXF3u5J6t4F-nZuwTK5Oj7$d+=ph=u$7kX*<)xy+BXqw z)+0f^IoLb|(aDhJ;5Gy++oGyrx}|IQm`JT?#q#rT(Z$)Mk}GvUQI(fBrOW zwiGhO|H^Tx^xsRX*wd=b4p)$&(Xg#vJ!_Vcsx|Ua8#ObBkC- zA?HBY)7kmyr=6W@`}SvM!cJdc_UkPdn0Gp#*}fgLwNiFmVwUxmOUyg=-IPJj~X>EZ0jN_KBTT?aTx<+#2jD~rEg!nxKaYC>5CU{Uuc<4 z&MD;%MLS$Q>U0yN`SfHv_de^ooMbY-Rvzhu`5kPdF)UKo4f+oZm`yFSJwb& z%>iAmt{HHkGrC->p%7O`OHuh9KK%LTnV`5tw@6ipCg~6()FX*()FFej6Nfi|nTw0} z?K89#SH$K@Y3YgtyIN9O3J{PKw4@wFAaXETibl{+P*QrF7Vms| zzq)wQa4u9|UtIicZc0$wy3sm zw{3WML(=Y=U}(15uye~8_1^uHeh{H&{&Hn<4;OURhO6*fz#~3fnRq4fO4#qSKC9qA zFyOsmFUFZ8)wwrJ{5H-fsUkHN>>~0IJRmfCIB0rJFCd_uh^=0GyRGfP@Bl#s096!O zxdZX?PaBwvR*NXCp4@>Vy%?D5NteivkW4^Vk(gu}$zJS++1Hq?x~SdePIWnLnV!s| zs9ZD{>|9hZUIZPbB&zR-@JCoronf~yVYCb_ zrOOozW}@Fo$>aP$UJ5pKTri$eDE`0w{Bb)EWY_}m4~CWsZKbE881vveklw?n=}9+i zNZPe%8A{AUhc<66gu-hlr(b=2ti8qUe)ZK?x3u?z_8ir(eaoxL$)(E5wr@8Idci?2 za2Wso0R$8W-XC9x0HZLf)=pRJDMu(Q^|jyp=4_NgJ4pI?VQ&eNvGLd1H@`WZm?u&) z*DN^?G|WgRIj$$+S_h3Qq2B!=JgprzG1l&NM1l@) zySE82)#Po@M3j*kEk%Rc-o9&B3US_ar^s!bx|y1ako1UNP|B}BKeC$(<>wzh{E$5l z=|rAkKaA|+@c+%J2EphsI)gMOcUny#VN19WMYs~SE*KLyRD&@8DM-|M_#1@n3EEYM z*F+FudOJi+0g(|N;C7=@!@Oi@`Ka@(->7od%gf6~PLRzBBg@Lwd9<#8$1~kF*rZAh z9-;>xI#>c9XzP!b_Nk{T6Rn9>{i&y(U6>$GY2sQ4qo2fGz2#A80+ALCtX==09l(`wqU`48ps*S`u)47GU54Acow;4>;U?F2W>-OcS49oFX-)4JvPFV6C8iIW=5WSD zI)QK?$` zcD6w4=Fn~pZ92{_u=tpuc>SbJrD5k3^JJsEb#0lX)u`c?%AX+{vkN(yOg_N^L}XFZGJb57y1&f2tZWaIG*5L}=(zKA@A5QhB zt+wq@#CCA2FBI{GoF`A_(XRbYo;(;)hoU}$Ex+)>&Yk*`PpD3sAv4PZD0G^ zwr%4VE}X44YW=hyYdd<&om!#VU|+Zpso!k%qE@Wkua8Lgz*0oGQHq~O`at>!|V6Q`LA61Qke6aUAYOGJv!YIAPl|7c5zWle{xP`{5BoESa2 zp<(ps6ED5=@)P&{gx`Hny!_Hje5*Hp^H8;j5~bK5`pp{&Ug#EX*3i(uzfsV0j6QIz z$6ieH6x-KL%14!xKWW{;bI(2ZV6=>VcIhtb*T44k zuiT*SvOV^0Yv{i4Z?Q7VHQxotFOo*h*9!G?T)SiV@$p|vd2jE||h|b!Ql}~aB7#a_O z%{?B;QK&2)4DQG@fuDrFWMp;_dp8A$-PJ{N6J7x_nm`MX(YCm)8%nO*78l8YGn$?z z-48-g+-IzwsOxFS$V4g_*Dx=N5oy603qu7i!8BR?_5NjO=S%P1ZFcwG8#@690UUb5 zn!RU<1Y*{Z2=ItWOLZ%dhe6C%AP1z3u(33y?dZ|0EaZ*+32zb!cB=ygZSe7J1qVE! z3=dd^MvNA$s^g{WR$X33?#Os$-liTNv`QG3}9$=U))5Dg`qMg2$&q` z_&y+nfccK-mt1Tb1(#elaZt8HnX&9a6X#xh*_^qP24%oD1*X1AmPC zClN^nwDwqnC}s9otZU!<(4TBbC!~wfRfy%rLVzWL34=vcBaAF&;<_^ubdnfa3=gmi z@8R8gqgap6$% zC~?^np_hz-NRXMbBK;yR2fxTOa6_9-%$daV(j5u9)xh2G^zqi+1N}!uVl#gltCeUl5prG=BdYQkhVWXxT0B30UA!NE4wb9az5sPs*QrZPt8!+~@36ql+v zCo3hCrl*!-xY}~MwG$`3xK>j|Zw0kDSKj*=h~dFGPz+WD%Uk8aDYu&6wJ)vz$WRqz zpf;TS`xlpFreYj)XyU{PgMuB04vBkIG?&0@M^hn1^|;Qe?jh`2y}mUwXIs>8hC)Tz zX#vhTh#+KGp!?v#+FT;Axwh>~;={=iJMygj-dH$9}^NH_SP=zug`tXOMQRJ-VWbFv%2s-MSqStzlj7 zrnU|f)%NW*6^R~WMX!SzI(nDYK2<2+Z#2KHFJ9eJZGKx;L9xVsOw=u1s+~J@vF3JT z&xJ|rn9=>B?k$)Ad@ENR5%Dh*4@9E5X|_dS`+Muvxc^D=zNqn?x)#QHutsZW3QtcQ zN6Y^P2~mz)jBS0QK0*TNOb}aUCO(VSRBNQmEhf&L&JD!U;Oe>K#*8sgH$?N1XrjH@ zvu96}xCzFNvUW6PdiL*8F{4K5KYKtvv|&pP>^Wi~=~^3zHy)v~R^Rad(e@^QQIz-p z|1-y4$>zR8NEVVnxFOtk0um5K5v{hU)qcf#v>t6~Yi+-FCzG%owI0->f{J%ru~q8@ zRZ%WQAs`Aw?gT*#~JJ&Na&pgNb`5f=h&Yi_rGd-9x z1ACqm$5{PfpOgsfcxT7vS7q@vu6_<1gT_pI)Bp(fPgvaDS3_#v50H9-HvXT z6a7O6l=}{s2md$evy-{*+_|f-aA84s_!xgTJicPZipMuRdE~t^yJk+EI(S(BY!|l8 zmtA&QK~9?Vnt-L`2V@}p7l%R2LQAj z?qS1*wf^T%A)gvH%esN-M!oc%u3^Ih>5$1KwDHuIYVp_VhFLA$%56SRbaiK4U42ul zG{jCO&yIIst{3R@3Z`aB3sRZ&ajp411=)1M`Hi)WM^n9@`=iE;8J3@koAbDIRAs9A zpPWOyZ>;?2bxPemfJmYe_4EYR8O}3j&NsET2VtRN#Mso1q6h!TvURg?+r%Kib@{YB zvLt_I-+J^+DeD+~kyDHuPjm4w8G+zijkC^Sn@E$;RR(ENptOQm%3pTz4sh+A-OE>(SX$8NW}-PWCOB z%j<)gpR5QGtHi;{PNyp@oSa-P-KX$R;uTPrFjgQN=!z}03m^x=qO7w`DG{kl?>4Dg zE~Ope7@4!sjj5&4Qmf>`m{b}nmaTgXnh3&({RkoF&ndvE2+&epee2P#bc~_XT|;uJ zYH727gf%XoWtt>Vm&wxB-y)6tT_;|u!esjtZN0r7z4WC2 zB7-yf^S8f@JC@ns;~5C&m0^N;tuotK(;?7)0mVZmcde{lTTHx+9>+??;tf0460>&g z$+G~JGspT*)8&)>m^(~Po>Vd{W>BeHV(C;bXw|N-a+EJ!=|8Z3pzp+z;O5!XGJBKz zXR+_R^G@s!o97nchBStErjkrj(&)LfdiRvNQT+yMV%t+v3Aq(XgS{PCItF#)(~=xOeZ-Jx8$ma;xY)>+8=*2{7#iHY#T(wl%YC-NPcg2b;d` z?29kE6+0+Dgx;p!6V}05(sDH%C0Z#3P(qsJ_P}HnD7$RkBh<#Sb*7`cqYHFOAt}Y| zhcY9os>;?qAe2?>);%Okj$EW;%!;W2i76I;tuUG4vZ8{$gaMKPZD@?SMJM&8BS@*d z&@wRQu!sDzWeB@0w`A>?G2XizTBo1#2C2QQvJP%eQU2Z5$0ik^l+gG{TQfz8MP2|C zpW-A~PLHm3`#liIId!5XsP+X6YKja)5H9ti5T!krHeODbVp0v7o6nzV>ZK`hp|7rQ zWdutMld^SXdbmf#*qP&w6^z70Z%E~MDy+1|COw1R0K@z;nOVvT$y9(uLbg@x!%IV< zR{^$@Z@5Rwahz55uOGdv6q-f>;O-1i6ZMHkLDyxY5F4A29Ou?e zbOCX&`IRcehOybDY3>-W)de}Kd={)kc%2zZJ)|ukm;_C)#6A2WV=>J)*YN~0VPaRH ze>T@eSlpw)BYi@=FElW%mcc2qcw|0 zYZe8TccL|m^W}*cAL4DWZiY``J(@X*8Ad!`4s$=!Ag(0-k5Rrz%v6^T?CqP#Jc2Z{ zId=f};ozL%%y2{bG>(_iN?ojHaojY1z09f1QOwC~>(99v{0?MhJmQOGhJFGB?(z*{ zhFQwzW6otRaA2Db1odlAR}|FxMM&LIS?t0;l80z%;VnICZo#*C~c$7TDKB%x>R%J^lLUtD$J z=COxHZkN5S2n9uvl`Eny+;4M^qsk9YVBgck92S%OP#*lvs*oLPU==^$=2d>GnDd0Z zGaMZ392CEs9lkw$r?nw`84|X$Qo2dkR&dcprOJ}Uvuu*|>;1x6N&@tmG94<2{NcIy z!Kx`7E+<{3%8+H9jQ_e z`;{nM3i@tr|7=mAe4lb#!{{G|yT&n_i;+>@?-v{K;2_ILBwYQ4Or-DT`W`*#Q9F72 z7ji=F7G7LdFRcDewn3xk@k{**c8j|GLRm5SLP@3*nKG@!LaS#HEKPwzI4!(p~_|MKtFpG5^*7*+u>L zpf#7wJkk^O|0-sPY&X!HG7o2&PCKG;50RM3|H%JY9-#{2YH^0jcwJ>=uQEPY8QH6h z>{Ukgf9wCOihtGrxz;F`RaTir7%Jgc3&hh#c`20SEWXR4D16)~FE6K_n({{>41^Ug zw|wm*+a!~N3gtmxe*9{suzis23%uE>G-64WEK~kWreJT~nx&kT{hx}TG4;Gr$ZOew z>ic5UYsuA=Wv*Pw82U1!T$@%P?vppBT>sVE(4rPo^a%ZI%4guJTID&k_*^T7|K~1d zu;v#-O#4dMcGd8(YR4QN=9_G<$nTs+bZzpRzoYl;%*Pr&6M?r!3M3<0q7bL}@A#r71k^c$U++ zH!pK4Gx8To@^DIWF(rAV7|8!|92LtP!@d-ra|qi8apyA1@hH|aNyo>rxujJfate0u zE|_1HQu6G}hvRzR{GdR(qGaqES2X|n>osjYgZpyVZXC0B3oJ(Tfdh{Y9B7E6CM5o* z_{Ci1Iz)!Q5J5Fb^(fbf1L`l2Rm@^U{FK{)mz|Cp5TDJ|%1r%*fcm3%D2z*T-} zi(4K$ez^#Y6(uE#^6IN4ufA%C60;a@o!^?;*3Fx@%828)#BSc~`rw`9Ej!`|Y}~SC z%dUCof_`Yd%Pu>9Cd(gDZGLJzfbbR6wM+)f)^7XhPj8!z=}Hx@K2JrvW)_OOhqzjO zci(;Y#o{e-5-suD>^;fU!1SrVh*G38siC=IM8US4P2=`?Omnmsk7NA)nk{Qcg;U(dnRwnAJ;po4P zSb5eJN@>jkH zXQF2XK@KH8l^@xBNR-ZxV~*vpJYi?3H~c|(H@Ijf9APf&YX3Zxfv)g}Y}djY<^E9n zDmkPsj{@k1yTrB~$Q}(bhS(6Lv{1_4E)(vAzEbe3|3?RDV=4+Kmg*l@6h}$vWUp&sMcE)IP zqQoVo`kSI7a%ID29z&#O`)A z31}(WL&moP7SNnDym_V+Zr|N`!;-d?@9z2H9xQ3zz4qFzQ>O8mLJ)#-SDanvpa9eH zfrEod#IMl)w0`}cW?7eG*!7bb)46A7`g0YBquzb)x#wP;hrIBovL4DIgf*J!C$xO< zj>Pt8LMMbLEg%<1P>o^}7;0)8e*gOoGCKVd>vHd^?p==N7wg|Xa1OJ0C^wado-eX) zb3JSFd6w}?d2C|4=mc0Xz{IeMwoo`$sW)lLd6LhJ@uVkU{4ps3 zRnjsUcSxdn13@GwGCYyi!DdcwW@hdsa|TT5apd%7yKBzGqG%uWjc<;-}Y@_?~oT&}qJW}2V! zo6E}$aWfV_c)ef>V)m~~N~$~6ulr#C9OZO4HsP=|pJ?;dpQBi~-KS`hGfTBhfsv42 zU!PV_h?6u^88ynx%&M);8gsUGVCBg?pW1UcIhK)VOT!S)m`Rgp*JzSkF|=$IwY7$h zX%GZjqSlm>r2qKDvP4U0POUSlw;Q&9=p9`>qSu7mme!iL=5!i*D1=~;=r}8M?2mRq z4*!dc)?+CTtPE8?^T#c3zESzcv2eY28K3p*;ZrVmZKKcKZok6MJ_{1-8r@G$2BE$R z#${*6#K(p*(xbwIPz}2$3{IW~ImpaulAuRd6eKfck)LIyU z6yETOaE(X}|2ABw)HN&!ALO5$7KNsVO2TtOvx8@uYJ;_*+1LdIxtCnBD;Jj?gLJVp zmZ4;{>})jJIa%rHS)(WC7I^080YT2UIKXNTRCT{A;#JokN^1^$`dMfJI4&|g61e{ zDlsw+Mv1+Mjg-Ih#>x_-N=Wv-9&L|Mw}rIO=ngU71l0W9W3|bnoS*ED3w|U*JM^GF zr5kDo2JN{1|DBuAQSLb$zb%JE2ixM`YOlZb*6R|S-5wjbzv*aI_v`0cdXHhV_s~34 zjX%Z=<}T}-ebZeuQ8$vmD9)|;zBm3W?UARSeq=VX@B|vN;nAa99sQr^7?2V5#1l_k zOobm{C0jGYwc(?EQ*8tl=|{Z6djz?lBw#4R{DfvEeSc-;{zo1^b1M1cU6}{o?-%zn zdYrb0A8vjmB4I(wqC6s`Jh|M}4CAT%8axI@s)Vgs;okGvXM3Lg^*65QDyGT3R7nNk zELMi$pJvji!s|9T=h%_mMYXScj~=H=5Dov%Ax zbt0;+uI`0>XU+}K^;4$?Aet$UZ9Xp=&%>rE<%#VQ54D@b9y1pxQz&M=$`tiob(P{# zF1LOts+1|#>q@rxOnKv#1*~P;(@1rR`rpb;>S`@Ui%~Z-tp-ECMbbb1wz&RBA~Tah zA0}$LAu^?D&gs*pp7gD6C0$n}o{0U{q^QDv2c}H8q+-F8$&>pRiE>Zsq^w|Y%9JcY z&53>U58`(p2%k?;Dl2{1WeT6ETzs)9eo%s>X}S1;Xy$%ai(hH#ZFg)h5`L}j=BmM$ z3co!aP&{a(lOR!|C$Ohiz|$~X#eRd{?kXj#sBNjQpaX;+%Joux!LACy`)I& z(tGCIvZ$y?{4RFZoLMh*rRLwu=jT5cP=&c>()P>{-~P6t7Z-oKxR^jVE0W~-_ujqq zuCtw4G2@(zia(t`ZaQl1D0kKpdFH+M+GkGV%qfg941ENK*CXiaR`lfT7X)rD1AOT~c?rwXK0P{pV26s+`_^z%VD8a+sx>o882iU~z=C3y_@agpSTZp>Td@)zO@ROj*-&YsG|6#--IS`7I<2s#kgXDym80mP1lfH8!x)K| z=o1*SmSwiTwyS6K)iL2hq0MK{`wp>-#`YYh-_^$d%31SB{;Vfw|rK^@e`_ z{Cb$j#rg=iFp8`nXy3}p`~#-By7m5(fBdk>x*_(x_uu07Yuozq~ zo_WT=5aXH6n+@>{1ts~jT|J|&$|SRD^R=+{T2s$18+MXWXo&1ON}MFw&{`{!Y$)@{ z>(8V(ySjGw{&C}wt-H6Pbd2ge^@M~n%a+;KImdMx?NadBXNrU}I1Whpstak92WgZC z*@+8jlneQh)Q7Y0X6=~G}#xE)5t1hHbl3!9q4&*`_~sso%pNb+)j7;-o}W$`y*OpF=BB z9ua@?qio{HMPHXmBG&(!gw+;K`qlBmCsSl(D}P#vw#*K{I$B&S*XKx_=vM~`LBE&)MI`ltdj$gpT={xwDHUJ#WKgR zFNJMGSjwXZlg22XB9o&co`F8Dl(Kj4k&g?b79Ky7DV}~>ESx*Hp<$t@F;qy35R@9q zuH=9emMTB`(R@*<3?=*4h%99mS-;DwmcDgbb=HUx#Yz%W7A6b*4fT@OUNgichPa5B z%z=nJ6rrS2j6vKzN-OQ=9nM}0%1L3&mah78QVa^wZN@{gD}k;=O4#H_DmOL75hW>* zMlnCH4qACEUTnkQ~Bc` zOROJ;4?}45fHjBTJM_Qct5!M3nj`(t!ZqO~WT>ZnJ}I(PPBcrt0>qZ_?d`#; zyyziEdj{cdmONziXhUidpzA?EX^3OXrHnEOH>7@tI}YTJJB}+^(}C^VqoWU)Doi{G zBW1vffD}lou-q3A;a@A8wwZI} zpT6lC?(x^gno^~r@L?5d9Rzo)q~NYpE!b53kP591qPbO4G-s;kk~@H7_s{7Q*h*Ph z9x^n9w-I^T3cwV4PBeWG^H92%NCzvTa9~L-4FHB2s4lhN7_Q{=2haX-V{MY@f{vVz zIB2LziHUa9+}!&6Q>v=;*Y_NK|JS`cB{I8s>sA*dEB#@a(%>#Nl7>#0Fnq$yp@lM`33uIf#~l-hl`Ufv(iIvo zxdo(jCM79pOj^#UC}+YjoWGKzCh&|5l?OkC@;NaDno{pD4&TBtR1*g?G>AqKPi`Pvx&I0 zZSYSNiw$CfvX|!JJwv^*tjrKM8cKct@-HPR@I`28HCfN;I6GHp~f6m(l_3e?#HvltA7+Q719l&TXZWkWvb$ zC>IV&9+#dys|d5Gg7k%a(#1C@LWoL~p0)r*3X=J+)NEA~OD|G>q5sbWE_=Tt;g)VYQRLp0b=tu&fzklj%_)HXx3 znWC*!QK8{f<+wxdZ4*7%Wi}ueX|I-btMWH%XpKI&2ou#?t=Dkvxz+K(JF>LRLCrCs zZyHYjHG^AM)!#5`n@h{J$`%ZK7YXJstfd-$KW%fY`PTHlX+Fm%b39gZ%3-)p?7=-@ zSv$`tzP!}jPDw_Yfql@)48o46=jG^~7&b>!?}v3|)S2vy7Y(|0tm&HjUwq~=yigk& z8+klKIS_w8aaUiANokxu{CP_~aYEfxSNG9Jo5b^ksFRSqhdOaAQr2^G(=UQ|W2v|X zs{Gp=yKkPbfB%Fz%0tRgrU#fFLab9F6(cl9MHJ?x@;(`8t0P8q7KzR3ck1sc5=Y!a z6QHDQ>|V5}SO#!Wx+(B03^o7IAw%RF%HcHuW!^j!M9g54I{jAdN&J{8p5W+hY7iUvt3wT zU1lmLhoelqzj=iY0}bf?es|CQm~-da>Xc3{X{rtKbbMK5;AYzG`~9<&B5;=*G#C#) zlG^66VgSgh5Db|Eh9tfqxGznlqOX_iMCow0W(azy`$thk4LK7S>V?_<+$`OB&STJPl{|^jVz|{-EkokQWG9L^n z$038kka_6f6Ty$!;KzR8#~kou4u~)Z{FuWNd3i!8=Qw5{_b`sNSmqe^rSLDpTAoNs z(l10ZY-WQW(?QbN;77mb>8FLZ`dHG&jmL|u`&>0z&HeY+$T5z-D>;H81ESjQM3w4m zE5rn1}%)l_fyOp{Sr15d^#sKnDDYV8jDEFP(qp%$3`B&uBb# zsu4u`h%}lKG&Eu(60o?qVZ}hfXC3pSl9L&UFa!zUKS4vIaz0pa^pw$QiHQSCin6*j zt($N^<@)~02rLX}693J!7C>XT)Y@wEcisyMoT;o?RSYVeqpT7|;rBV?MDr=14@ekD zknpdtP9NRc>Z;C7_8dLxG0XKTErJ9C38(Y&PH#yVR-KiVo_{>Fy|;HeyHB6aAr7C& z380L&(Vp{ue?r^^9H=M0@y4Z>nvX#DgZ-Q8CXk;xSMi@U$rW)b)zxKw z2dJ-bNueM20}9NZejh)9B;;*JaPttg>9$z zv=An!00dpGACq2ZKs;U=sd4^Nzo;fj~O0<-3yOG%b!04&|bxNR;-WzJPRLky#dL zHc^~xyHtE+)ryd^9&46;%3I=qwV58UUHnP8#ng@@gZQ)?8}mhi1b2rML$Ffxrk!r? z&dluQB@Qfi~3(1883-KH~0cs}^}=-LC1 zn9kOy7aqYl8kJTVO&U2VK9e%?&jMy#OYrSas;V}2pZOTJy(W-AxiWO{{We-#5Lz0# z9hdXltSl=ld{<~$=(pipAtLF=)E{y@KZEexR>_nzZ5pL0NdmTSFZuot3JZVv-TAkb z@DVq0vHUDLkd+!<<4YDOw<>p%8xP64D}F~`@MFx@*RuYQSPQPWnZt2Tq4yy^x+#qj zt@|G_F?4j|CmI#i(J3FMN7S@Rphn$%#Psxv9;CS*yut&IK!CUM5py;X;jXdnu&z?} z?3s<$_bOP~uGZgw`|bA`9nR+p2fpB)t+dhC>~K9sD)X!<%A=3Ywnn3~th1)*kFCT1 zpvb~DM?dVP3oHfUz=xeA@z+P&K0M-bz5CKD2ReugAim(3LpxhhXzHzY{W85LJ{(sR z3KcAWzEFx2#bJ)9J4;MFLuWw^Oj4_=)GN|Fa|RFg=3YMZY+T$~)K2C4srMxo(|eMW zIY^VRt62FjC0cL#iN`aq7+0EW9p4}F?z=;1o?bV~i^L}7zjI7Ir@kIuD(^dZD8JhH z?t^c=_3Q9QD7GCd*RNkG>x6g@YZY~n?5qayx?ev1&}#<{JpK7^+c!HLo9X^Y=oM`+ zLn=e}Bqkm{Y??9TC61!q9Z_D)YBci^GcG52@Pa7E+u2b`LE_KDD_XASim9oohL{>K zJzDei7bD)aqTrIeoCTOgaxfGVfT~FBA6%4!GVG1$QS6c-TNPvc0j|xj) z^1dJsU;^_@s{VGVec#U2oep2LrFM7HUX~-7=L6v3EJymb?Y*>U z9nF|6_1FzYwWCs2%F2MSxMxXCHpJvKXSw z%Uv%vJ^5r?TN9XP56^S~^O(xisiwE^v^HwsKu7(E9L+alsFQ+fDd)8@<~6lL-X zV{QcS$fa!(mS@bCzjBJWn?i|k^t&KhveXutA&^hv0| zvIc8s!^o5Utg@O5vIEQy5+@^9*Cx4IbG3NPN?r65oA#qFs3uThm*rcYiolE$C~%Zj$jXO z5z`+V*qF+`eWthnvFbr^?3^AGlPR}mazJbA1>+w4Z2##2o)*#B7Li+-())L{r{O@= zeuP$uBF5BeYG}0RZkr~=I8?p0wQ%`R6|h0MG_)!7YWR5gh-9J< zp9y^uI)X@dmb9s2Tvuex0_A*Y7&gk0DoTWg-c$9l-nO=^mJcy3ME%P(W~ z6jiqF`3*0<)Y7tn0TF}i^ge?T@2Kc$DP3Jj_#0x3V5pslf(-pYBA)cbv$pSFN!E+3 zpT~Y)S7+4JyjA(;oBjG#A`GXX9*anvY%Af}$`0kXR+o5CEh(8jOZkQJG!pF_CCA8( zHTA=Xhr{)h!rznfp*0cdl1Y3<^HOCR z*n5F^UcA9{2Q)HHMMLSpM51f_Man%g_4Qg7z(Fei>Ca7VNRAQ%kCQuES+P1Ut}_MS zsjjx>2`2}@5hQzM%pM3b z^v~;+qo>!218py%jimjy!%iV0K(Zq0BV@pqrrQ!GJ9<1EZcc|k5?wdYuM7obe-YUy3EIwmG`{5((FK^;ME zR*JhY;|0De;<{4WkM#ys=b4jo53jXvhbOxInsLo>cj54CYA}dfbYu|;5!`rZZWt2^ z7bOHWQ;tJ*UR-l?L_oB{BgH}yoFv_kxK*5%Nm@{YX^JJ?-jgTVy z&J~m~9W3Jpqr{6`-)MUOv8?Bd!RXDid>-aFk>iW_8eZ%x7I8l827JRr3X-8XBtvn& zNz4;OKVKfROe;|g@hO}a&78!XzrWaPBE~n6|Kmi4FP1rm zIfd;oe)y!%;b8WSA`R#OeLjA3SugOo8EV-d&F^}8WMO5+$fqm(mh7=MJTh@!*6%DU%W=O{H(apk;t7L`~m^>~e|qeWi=`s>H7&7eum8?6?vJ zl21X-{}jJb;`h>{Om$Ei{H~bEGZvOij+y4CUnKy8%kV&k)Atd}V1gn=H`8KeS!Gc; z?05J?)Hd2EOp*GIa>eb-8_-;vx6e-lr)?2cgr)y-U(?7>cgDqiI?^vr7}`vrpKwS5 zM<7X`^*{Y4J!c=Gqq!OdS(F1Z#kz1^skj{LmX+#N)=z?u_U`R{yr;1@ueUP%CRWWG z)ivsV?GYp{rg6D=((#HGFP_w9I9_q?QwCc91yN2@&%)rA-u2xhdk}1|ws|Sg+)4N9 za=H59hZ5Tu%J}i+PDg}Pw%lK2&Gf_Nh(Y1X$SLIx85<7uo{;K>70hJ@iwAW0GKgf9 z7$vf$`(5AjDh>_dj_|mI)z43Lq$B*w>v6?FAT}^AxxlZ-ibk45ch>G}Z;6SycK2|< z7-6U{5&7{ed0!%ST8~<{;)?X7^(Y))+rH^n%SA_#IOfNf(bjw%s$eQNBaw77` z%7)*Sgz7{0h3*ZV4%J(~3;o0oxk0uH z#bT5r6g|XVv}uOyGGyMa76JasRr}I3NEAbZ*6%*l!wXY zWs&E_vzb8hp*fJ-+)ez#`>c?4pPx};b+}Z@;3R9X>hwfMMSG%7$l}i(*j0z~c$HO+ z+yB&9r9SA_9lV>~uf7QJ`9(^#nx#}Iex+LZd_s}3)$hR2>a={rjiZavQeB}u_SP)x zr((4AUB5VFsJM-ByH4GuPJ_OUXQar;{FD!6KWgN!d|a%=BYULEu6*@Z-d!-Nt6O(; zMahb(Nk`|e>{Gj49yBQ3eh{42j#=ne_Wh&sp!PsT5q9>-LaTMsIB-*_6B*Q#|0r1N zB|T$7fdL;z-)%)q>g=~ecWmFI3wtIz*T@FhwMn0Oq~D78=R2HANGdu)euv#M2~nmK zyYN#xA4)}|A#Z|Qv5nLE@@CbAERy9!0da5$%nDeu6>eX?y~Rmi6|+CnI<_eUp6|+jlRiw;~e(>FP|c|%lYqo-1KQ~M(|EX@J>eX zZbtC*H~e=oXOT8Og!F3~{hCI}F(i(gdE;>fGO^yPK!D=GB5NXRw6bwL zhKW4RuT~LNs$51oYE(|LM>?Lde2-;0o4*(S++g)xxlwtS!RtABl3WL2Ayw#L#bKXe z9}+q6-&-nIen)BJ%Ia)F4V5cJmr~m8wE_11eM5@Mi=nXjnbKb_sX1m7^htPRFsE*i(i4VY^bvD>nTN2^)ud+*+UfNFYgUy%3m*d z;V?C_k@oq*AM8;7_OP$qsedN-5J!3H=ZhDaptoc(mi2s*?Q@D$p9iEBC(@`rl zCo-eYqlRSp27uh~E%yxvRi(48ahyt;F7`{7h$+kw^p@)La$G8DM)8|W8ffAu-EK;E z45d4flATDYPNGD6D9vsgy^UgDCdc{swUL`_^5jQz7F2Aj6M1!hZBvOTf&C{!sZu1K z)V~>i`|YbS&9ZI>VBF3w+2a7${#ZnJp}h4tKU&a1ORipd{gp*xonOqCOU;3`zv1*1 z4xT0Y&GKupxU3ivbrNSwVzxW2Now2sZz8hNqqa>&-G+scowTEW!%0>6{Q8#hh~?0A z$t&tURa76+XMP|)5R@N$FST{+Zob*ZU)s$#`~BtvFqLqiR%|T|*8$L2mN|5ibZYc& zR-*M&9^fZs0utDD>m+zuvZP$DELrm4gNE|pgP1yMP6JE^BZd5fy0MgocjcFju}~AE zq5^6n-LK?6SY;>9&3Rl3WEx>=E`bN+6X>|FsA0X4_b;5o_kGr;4(#x2FI^?B`brLn zKO)X{V+8OK>&ad_2_X7+fH3Iz7AplPgHV zBYoKe0&LaZj&2LdM)?B~7IKxg)U~N{Uuk8{V-*VF?$Ue~L` z>@j#D5`-X~mz}tznoA{#5ug%+t^aGX(UZ9v(>X+P-^wbcr@(5gyA9-2%xBP)G%V`e*Iz+c$ zkCDDneQ$$8uQ*(KI}U&1%LD)3o0PU^I&nHZ0_q6t#zP28DOF@3uQ`!_z9%!?OgG#%liU<}_=@lJxFRGZu z{B=H#e`YW40E;-p4CYAec8AF0zs{V6iF|%BX=j4W2_J%P=S>$6Bg?}gi zTg2hS8f3r>QESHkvUCr_RpFgFhi3&r@`|*$S43THJwrqKI!-iL-T~wZ_r=?wU z&9+(6LRviLJ~d_RVXH#M|2Y+bC3`t{9qvnb4!~oeSmRZ^W;~{Y<~6HGPWfc3RgA>>n&_vVdG7gVpL^l=P2xo%i)1-tRad`$Zg^Jv^^;;i=d@|J z+_KU3on_Mf*@CxU0On^PY4+d_1c=7+ob3)WTqtGhu^QDVAlAd zLk15TI3T+}Q6wnjeg^xcqRSxA7Oa9OpAD!H2vR!-JK^iBEjDw;81G6*${&5~(REKe zBerl)V+?KBU3U#L&=9zYP4LARELbs<($mkMABeO20B;OrV@h{VRrWwr>zXm6i)0Pg zpZ@gh`t{HL=}+<+*aRjg*B2DzG{(gzCM6}Orj4wsH?^jH`%evW*zrw_p+2vKEZ<>PT|wrKCV93 z8qUn_b+t$tVN+*kVjz z+g_(ARJsk<=6B!Uy!riiHrv{j{QS%D&?jtwlFlTlqaQ{3xn4X=rFsd2+*g$twFe_M z+G4G#veLfhTx6GxN-U)LIZ7-Z-Bt41NsWy$F|}a7+RhFlB3cedT79jlIrr@Yw>b^U zLdm>&CDW&~g3*fF)RcJQL~U$aYfE!;Q)A=dj6_q5$C|_RI;=#U}RO zI97w;(rLsvwS?xDrk0lW?rw{#$@i=Uj~xpdF+mWYOWG#5oUKqJESIrt?awl8$BxO9 z%Lwm5EP7t-vgNMkW<>J{?w4VJep&ci;cww^ixejuPn6HY;nU%E)B&m$g9%fC(%fET zX;d7t%Z(zj? zcv2lY^+a(v)bcd|IN%c+mfrR@;vlrPwG$o8Tq9+(rEK+d$q1R;Cyf2(8qJ-Q-r1CZFb(Whpn@P+QwCBV)qY5kq5AQ?en95BI}hcDZX} zVQXh+>zIklaH}r1Znkdr;x6A%{rhKs|A&|V_$q_OA8W530|aQ;vFOq(#N~;Wg8=EB zJJVFgj-7>}=TS6*^XAQhePE#|ci*%0&hIU`cF{5mMIo8(HMAGf(q1s=f98hE!*_)P z;d__@;XA_14Dn|(<@MJO9eSgyD`U?`J1UPJJ9+BV!PRew7Z?n!T$yPIA4TA*OBXD- z^csr5Y*Qi5iR>j3_V3^S_RG6=fAYzPAAY>6x@AAW#E%toDgGF)H~;+XYAm$7gf8k*63Eq5iS zQXTm$E2rQeBS@wEbhqHQz`nlEvZUT#f;yvu>XzY@7^^9+Zd6(-;TGvb4Oe1fN@{9~ zG%_H}o|oYgHvr(5_u-EYL6(Yfb|~0QH|A0~Uh57@C8YZAGzWHgfk?8X>yHXy!X;Df z!2ruC6IFXdy`-segCQd(6l%im%I#J<82p4H*}_Hb>fJNzqWPCyHvghoX?FGg@+mbc zYuJbhi?b=2glSF9NO6-zYcw*Y+lWEyhU+gRszGR9ddVGGf#gTpSV?6A6N6|4Lvx0o zQkW|UfT7yr@Bd}jmsw?3OR|c14`C`G;Q<)+<4=qD7D_7sh(d%asIFqV#ChEb;cqn3 z1^Ruv)v_T*hH@%uC6ePk-x8~@w%K;a& zKUlJvS|}ar>KH7+^M}A+JUA~O6D5)i|4M7t^=2ccK}^{7@h2aB^vQ?29CTPxLyTxT-&kMYc)p2{>73Tk_mLNkpyyGb=VH)v z5$Jgg=-DUo;i7Ybh&^CU$>^UZ#vuRd&ry}Bc)yYP|&mVjqC?{E&zj$ z0zFRzJw~S=zPFt~^gJH)JQTc~1A6v>o>SN&V+@V}Jr4o@jsQImL4xPwPGuZ}bTN?YjbppC zn2%v!3eyl$m!6P=IW7{rAcKENpyy=yq~pdF7uVK`XZP+oG{GCAd)?!X?*05_aU2J2 z6W?hCgC+gsNx_eD@?@Fz#v8x;T?t_L*VYGg2zQH(;#FsJ_Q!vz{`?I|%7#gW*zJd< zL8?1VX6cAv=>7YPW5*0-(4ew81RB2H8XB4W>bV!6m7=Zh=+8bMe4fA8TNi83y-*AM zyVZVQhz!swNm>x8T!I>8j(CFUMJ7mn{A$XzHx-LF#d`gQYxHZrSpBnHI&W$HRVylKe(taa8sDvDSzwE8orQ~scp#ZOvwI)7$9CWA6aY$_W8 zxloJ4Z-*cBi?;dJ!tjRh+c36tS>Gfy_;YZf)Q2DZwU}HaUbG!Jmn+j2V*2e@DmF>b zO=tO7xhs3cYYp2LkMCIpf(B75BPScm=Q~%GM;)9xy`Zq-lge&xr=qf{NM3i(CGGsn8hHZ&UpSiZ_Aw)k}-Fd|%)ik;b#NlV0}w759QSkTeY++1JZ z+}zRJ*;LXu#Wi>xWyn;VW%*6%jNOHgA;pC&`EsgX>5%F&}`+K3V3$Im19dOxagllY5h0v-H7 ztkHisxa1onW-9|weO4*?RJR(c8}&;Tk7MNU?TD@Q`|cC#pEi`A{!LZ5y>jx_BN@;vswD2g33^o`aue5e`wV1!Ay|&>fhH~+l^%w(-`kM1} zfPxZGZ$2hviHhd-IEa^U?p&(S%jVcoG9~m`8eU5D_)D#+)-;ONLyRRCLDav{S`=Ot zF2^FQ2$LF@_BNpwt{vwn`im!aG0 zIRd#o)^4d_F|S|kzWIB_ptCytmRp0j+*i!bllYH%<46z@bjD-BeLTn8MC*O zj2aOcx=oev=%&WPZ9WDrQj`u;MzJ%Ag~gIE0BFmDc)>|ROBO*kwHq-=i;=7$TGLTI zI_>uEu{l_DEXL5yp7e~oJv;FX{-yr$rx_I=!G~b|Qu}ysf6CB*863)s2h-Y9>^b#d z=5?>{tz^8qn9^&gxL+E|oHbAqI7 z3@FhJG}sy9NQ|KjY?Zb0%$c1#KWU%r`c_`g;CC;d^y9f3KYb7pn_X4PW!nyRR|XF* zng^Zey6t*v9myf@^^+#>OU^I~`E`l8`C7Kxqupy`@OH^e+s%!~9({rVw> z=QanHr2(q=D3{KkdC%~ar2aQfpZL8YmtBdYVL%y`Wa!(EiHvKc&H~qymIQsxQ^lQd3e=&Bw|` zys5@##+w=uH{;F6FhlIYps?Ge>v$OS5(uD+GJ$C&evM?Sqz-Zru8hLxaFnHJwBuL_ z5PUrBLbIhg++CsGZd2g++-~PDM($`1{>^qkr3~Y$*-NSp1@3(vU>?NN7-zxGa#C+-(@+fisyvQCqHe1#U(3%4uX4;fq zJ2HT@Tq%2uDr9FMvU_wgnkAw^qvm6g!6XA;!w&BuQLzGO#eb8pY)I_BK(;ApOa85c zQxtj<#?W%u5$Qw$_=K~NfH7!4s(iN$ob8(2W1_<9F?k=<(k$aKf3hMyJKZAArFg)( z32|1t4668L`&J$&jSBH!Rd69iGZPA%kI`9{##06yU5eGNhqY*{wzKi{U(XTe&G_?D zl}EE?lM3;^b+WA2NJLjrD|gg>dRQ{hRqv^&W`{K6%`(-jtSnPwkwuw`>kw`t)mAqN zTrJL@t3A(Qw)9xqD-`?UL9*aq-&k;GK62qm958I%K#FN%82C5Y7m2U!#)2Xq{Obk( z`Z&u8{w)OmN?(UU@NZ$C^tcH8E8~ET0$q**|4J`PiGSr4E&=~av|ZANf2H&|4U{US z$AxrnlH()AHypH`PRbf)R8n^m@mY{jyQ4WG8T=au{*`gOMv=OVb1=%6Od3+&9g!ZV zf`9Xo9_J%H9tryG2mVb1|0eNN@~)&jIgO`~(&HrXZ^lb65iw&zFg^!omQdrVmkKK@ zD=J2gEJXIkSY1h~E_HdlAAYcD(#MZ+bcN$D`X zu>t3U4rHg7Q|U^-YyBKm@m%_##J*_>7K@9yO(f4rMto8)0>qSr{Ra*n zJcz1u+qOX3?%iB>j+HWqC^%}fwR=Ewb8Ria%oK^lxHtrGijLd&3AB4Oy<4^flo>Nh z6SMlIXErs}C8kcBf&C#Ch@b8>sa;;jnSJ~ARn_FB5?DFSfFvX!CKOBYly^ex>C>mr zGy4%=^Rb7$;IgiZK=MnGHM3NzQK-jT@qUrCO!Sw=c@U{cHGjZW zfzM|J@r9*iv!nO=J$!PMG=v9y6!fLF|*s}*Oj+IYsczNsA#~yv=r9GeT+O=iN z)~%l-QAK5Mxb*~HvokFjQU4bPty7>(?T%8)l%usPWCG$ZhB798g{WPX(N1I2QGM{! zZD-EZd~u?_y;VZ!`ubK10KL7pHwtQ6Z>l(V(Ge8U6b8BgY#X1McnHNu)hEB*}>FJ$LGh?PI^-Gi1nER0QHh z!<#V{hUyXd#}D!O5T~4%0>xsl*z1Lx>xpw69ivCrs#!lM5_?tSmRpL&TjDMK&wn;x zT$0p{v3o04tz5b0)t}$Bbm`LAKHk+p+Mq#%zuBcUouc?#(aNCO=;$O!d23B6DGH14gyh!Qi(LBmZ^&*6#OUPkK4MkIM)+=_~S z_i*&^ir!laTV6*y>Gl}dTn5&PSi{@VLMYbuPT6V4gAOt?18eo2JGX7yiFabsuh%`l zapNm5{Qmi!&`rMk?&i&(BJ>tJp$*bZr|y>h2Ll)0t-gN!GtWG;D10t#hQA$-4K;=u zVSBtgyunJb)`!YMex`FwO-yC@Zv29rbAfO}aW4`?N{jVkVCQ*S5{(4Pl0seXfy0LR z935d%R8&L`4KD)0(WEpP-X(s|m8a8y-2NwHYFBhUnl1fZ4>QDvB{+ZO9G-L>SI*N#Ds zkjnlTEZM9WSjp3WLV|$MDMWA0UCX26p&!(Uq|?QV@5W}ny*;oNa@p+cj3twTl~q-h z&djkH(CbuHoj9>kJa0g<>|LCXnkB=RnVg=UKG41s0$P!+#VPw=S-$-Ft@Zt)XW5e8 zpJ>1ORaqG|%P-0daj_A9B_$xJ4!WT?y9AtZI$lzju}ICFHidMq6HHseD8Z#&huvK z`oMujMVaD5hG?tEye6m16|6ZZNhC+wwM%!oZomEZMM{RUTKQ0QD!Y_jSg)>Ba#4M_ z)Uiqp(;B8OrAr+P?mdJu`AQP|P1NqAH8@HO05#q zVs~LSMHq) z@o$b4f?5nON;QeDN-6u163}Ki+;-DkE_zq3P4jvw2F)VaDZLtW;qBIeI$d4B*IvVm z9Xo^dV3e0O%E@RgCcqfCG?BPi1Xo3#-qC?sErzu&2rlH|zWpil!MIpn?K6e{RHo+C(k@on@^!5BimL!ZM=6tkS1b_+$(@S%DxWvAZtYau*gE zfFsxzG)$aaa40zl>iw4vk}`b|IQUb+^C}nwQG#(p(5)NZ6Ly!1)JZ@DUQr<7(al5LAC`O2q?M!2@MHwJ1JZR)B|H`K< z^>&dWEKu#T=<{~YpXbr18S(uR2tMdl9dT5}{?ZbM&Cb$j+Z_cdk!%#~erv55Zg|~J z5({_t$ooy;I(}3p;5@7$z_TMjgp)v@IG1Ya8gMA3YL|8bv|UdST7c*so(0QRfMwys`8t>lB*Zg{kWiM{ z{!z7A#Isr`_Q9ciZo$R#Kv|Dt0P&*uqj*Y*CH*ENI@yM^?^i75Q>tyNsMuyC@!o*5 z&y|<2lW-Oki_(zmP5c^!4LBArT)3Dx;L4!I7h%)7mb4#-PWJnYM?^`qESVG5`-{YS zBM>c{lpwsSy!v1uWBjmT<0DA+qN{#z<&{^=n=~v96uX!X00yM5!`QX}QVwPPdX`_s zvfr^LGhw%BW7*l@Sczd1!EW_-#(2L5VgqT%GBS?YAa;SCITY2FtHZUMptI-jxsnL> zAou5t+P&lb_uoGra6|*^K(Mjt3GwMoO*LNc#2Eyfjpx`4@byGZ9@ZQQX#suq>+m(8Q1pBK8T*eP-@ko3edE(a&kY7!PrvcOcH|W}U6Y?X4eu@_5@=z2 zxvK9Fnl=TKO2=%RAfU-vt6LlNPN*Ftk!~Yh?1~O`Tduz6BLl0Nek%xx4rFrX_ zZ3hMoIsoUG^p1{z*ijJ>yFXAQ-oZnC7RH|dSrs6QXk2j)oJCFWC?0iIe8wzcioMFc z995*;OSinp(671X(4kj}EqQe1%9YRWDH4zAcLQn%1=2Db8ZvD}yCc+41-$8X_YNWw zY#e1o!r2_^VX%A9aN^Ho1RR}~)d`%9ZD?t2h>1z<==i*%H9xOnSK+& zuvgE;Oo5))7MFL6mvK*8R4`jfwi(uwc|rG(NR;7?N+7qRQWG2`5=*Xp6}kr224o1v z|Btx$fRCfR_Wqxl+1b8YwNXp;iUTGzJ9Lcc#uyvZ+`A>qwk)fc)%N{=pOwiAdCEDzbI$KD zNta%QQ5aG1n*uANd-Ab;Ls~^rZ90CuDKD?EaM(i6`w*=>x-(XixB9Pt#Zbj*rKnnj zsG60Tk%=?TxJIYJloVC-HqQmb9UBkF!zBIqnfgM)RSQ-WjFXF&ht*HqdU<>MS%&+9 zqgZ5PEywJ%EL1W;V#L*CtC#-4PCwFWu54CcNvvxsjM zpUBH2CG^rS@2^E#yqNME?Sbg1yjs-$ODHw;G;`Q2?eL%ebT~O=@w&XniFa@7m^6Oauwi2x z?FV0d^&sMDaoJq>b{-KICT@uDj_k5e{HM z$KBmc%2u6b33ifjkoz;{_8_L(8tJRlIAUrF+LjbklzRg)kHAp zPvP{4VO(k`7`IyGff2}&OK}s@lA@`k8A^(#IB*S#rl^^JB&0hOqQe;sGr)HZ=1bAk z#^QkimutJ>{-THbXAnt>rm~tNUovPQ9pI2ao8U1>su&jd5krZ7!+8KulujIU12s-n z8vmp9$vZ$CO_5#@>?6fdL{S;c{4H6O8(?hLAvSQ>l5(ic&XuA%MLmW)HHyFj=qj%* z*&u18QhSuRnDhbXUQKx_L|&-y@uLz7Z#4OoR0mJV21O4O%cRh*k2BmOQ#p}6s^QAw z&KcU^}`DZpasR3~1^YB+%2j>~bVfDeH{_O-)Av z%|HSzM*=;QVR#G@=q&!Hea)L70||7DC_x?_l0ZiyffAX9oT>6@LuxJHYT#wz=o!ew zX{^!V_mZYvd!J!VKmwF7%-q2D&xf7)z%fZ>h!g4QHuzXz4? z{|3$3e(gmUT`;!n;M(R>w0J1menadx-0721b7xgP^_QofdTM>6;`i4=Pb$l$wg+E2 z5RD#vX;oF?HVxNUKq+?lCeG5B{yn&0esW%Up;y;Eh2>{`4^j$)9FB76Z-<(R)&wSj zt50KkZ7uAqGqP>1R;xX&WI`>h$r5d#19gYfh7TX^OI6|1%hVesD0*2k*xC+Kb8X@_ zOXHd~PuJHVys^R}3G{>%F}Z7ZhmIS{$*zhqqeqW+HD*knjAZmu^wj5PXyTgHz4?%b*c>FLGePn$m}Gc`36 zX#x5c_sK2Wwr$(H^Tctyn@=?QCQd{K?F(;h>+cU(@(L#weDXnnB8@7_xA1EPc)Jz&YzO*bisDqX0?u~lvKy2 z$YQfjF63C-ur!8|^nZ3U8C4UrGW^7yF1N>HZCnY`0w^IJxE$TxUESUNjVn?AAuC%j zp(Mv*@nmNXlUa5QAgOOFY4ekDTtE$!*KsJV)$V`!Wzy|b#sl$t$bIqZi!Z(^s$x$7 zL21k$*X787(Vl<`J;Zk!eHY5)Z0fPq0ohm^?`eE6px*8WK ze#*_1-+(xJ#37`$tFNAelWCLU1#9$MB(EM|(=z~z$ZQg~9PH@jCeR2Otd&7&Q&$Xz zfjBn|*dCLk7Q>^gWC<1}{yrcI*jhCuxs^KxazPq%1{AwpZCq)8`|UU0c-z0V7gt|T z>%JG?<{$?A-J;oWHxFV8Iez$92MK?|_=^9Ka$~a0vNf*R+}XM5-N&kNCjFtMt+yAl z7EpU!tKEkt;J6w~b4$%<>?u%@&c*6NY{N%Vx}w#%eJLp?PITV;!WW-)b#2(Xe@}|q(xQry1_lE6)5mbcR0~E+IAx%5uCku8 zR2H$yS{Zw5aPaX3HR4@-qSsr-ZrL)H$M^w=aSDzhBJoS-J8!-9ZvR1PlrkHAD^}oJ zbFimuVMWEcg&Wtd=$tgEQ~bpcPZ;jKgFI2Y^3i7S#PyB31iHKaR*hZgTHA+3MH@GN zxS3YzRQ_p|TQUajNufymXjl3HEB4@kx92=U+*`UC0e!8;@0^-6A4O|#IYBqHdU z26S^Ph0ZVe@}#^i7u+F~->sy9aJ+QI>SSbBV`{%7-b)HLynn1C`WG$JG_n(QYlRlX;u1-hR`k%~m zts|p-JFX6QCzk#H8CUnXQIC$coc|d1h((hj5G=tJ^J{@={Qkw)e}8RN@++5@b z`-=Xf-*xkq3-M2|i|eU@S5gC)QUezvuiwBsKMM)|EM(?MNbqxtrBCpXKd==vw+ab< z0yuICsIvncc@Z@$otm`}9C;y9{9=CnL@4avB&(rBYQr7iD~`E&D|FLslVL)+{Y&~#7l-(^0n^Ge(Tj& zU)?eLop%b;836S?CeJ$eY9iBZ)(Jsvgl1sO}44m*CL-K zi~hqiQdv}+T>G)8x6D)@6+bns=eD<>TePpQ2CRVMb!+FID@fC)G_|%#!&1H2C}nku z4C{+V=i=piR?^w_oWu>5RR`!Q{px$Gz)WQx6j^@Zyk}F7PByn=YwiJRJ_m7lo{>V& z7`L~5gz4fCf|l3R+K->i^gD7H@$KYW(^E~P>$&1B%InE;m*qQCS?O0QzcW`nEZ#p= zR;X8=fp>w^>6(3|q^5WsJe=rMYx`ji5(Mw<^COvvR6maL7Rb~hPSb6(O`1fQm$P6z z$c*3TC>RgGGNZ_s#__YW++JT{g_vP@V_jXb7Ed>VrG08FmYMC>wDw~GzeA2_!DEb~ zO)~BGJV^8;jh-y$CvLPoc<;UU9yxO4;rYlt=O$4;iS&^OQh$8g@z#e|&H=jmZIamF za+HD&qja0syRF&#_{SfA{KoWc+p@a3i2a={!;poFQo>>PjOo*-Pc%ydfy_*BC(WYc zGs0-e@Fk@StMGbDN3{P zu9S~9|D?oQ8;9Z%ZI8$adpq}KY{4J6Rv~fl-Br%{Mwu9P3|uZ zjOcoxCQ3bmMus&{KW#yT}8{Js=%Tn_S>r=}L9 zd$9h-;&xwpRvJTq7fr{J9n5DN?Q@5tr{AyHbA5{6VRPy_0zb|{a5-y>7h}S{bZo+( z1O8JyZYn*?*^6q<^@M_5J)ZMw&N>gLC~wK+$t9zMILP#b7j# zrlxRxMVT2vuE#=G)m(VaIp;)8$0e8OI@W@&Y1kURkVSTFB~$0k5%s6aa?7Z;ty{N} zG=#ERzkI~bJH&MmhuwScg!y7k;sPw4GDy!aDiReL6L4_jM5A-EwsWGB#||Dm@?;GG zvJ?^~m)h+;J*b%RSQHeRyF|{DIz*J@rN@q@XO74aC-#}%af!sZ{O+-nCQZuwa@@F+ zeLMw6p34szhOUMP!cCZ^ot^3FXxK&8n8dFj>%LKYci7;+5^;47)b z!=}RmXs5ZPtB1MTn*!jkhhjLDs3IkW+kq1zsx(>xSh%C+>X8QzdL)3G*7F5A5zE2@ z1R_~*>hC+UYv;yIdzAPI*prMDA}-Wm)@g{%C7r6;V``bXzIMN(6>o&N8%?8Ivcb-e zHB(w-iQfVf>kJ(yARg9PiSy$7<5$KG4VCzfgqkeWKUnj^ldC_dO?)Tb6~8Lhf{)LO zSRjy-Ym}{|8@h;q6K6FUu?u;t)p2K{TrQ|h%!*f{Q-30z%5Q|TR@nePu~XcxB8FFq zt>#EwKY0=ZT5kZ`oSbB{WIEQ@r#hTAyWZ1xtc^RWa}uc0Q#wWwiFCkhug|ZQd3##@ zy0suZJ;&-NLXy#OzM4hJlSTP4_TXo6dkOl_63^f$e+~X`$)enI(o35jS=--ugk zh|RrI&8w?Y(~Nw)%Ep~I?MepKxfz5mpG7Oatm4ELp721op|>3Yfc?a*bJG7PQK=(@ zH4q=X;|am@JFsQS6)1h?>UwK5%(nzsAF6W1z{Lbza|og~R}-}t6A`pUCWk>EiS9(4 zyq{!3Xh%eC#v|tH(jW<3!)g}~uHQj6SFmU$9F5>S8P|c;<JepDY3^P_zldKi}}M zt&sVWO4xIB54Y*}?Kw6GLbmPTp`J9iCp|s0c^MO4gzVLFj4XNf(wpB^}HpuD{7 z*9%0Oa-Fj7R2d;oi2JS6YiegqEB;}P*suIhIZ;=o>@c+S^78bW_}R+OL>~wsPu4^p&nIs;HGRH+ z%a$#9raLop?_N5+L|rt)AT0#@z!hu?3pDq#&x;@2icUc=(Kg17_ zShl(pdvsLl@(F2{rJ{09I#LKDqxAE-?$Sl5-}Ex3rP#?Tf>7C)k`j*6(lndaXo(|F zGDtv%tFgO73GxzTbCmc8K%^8maN`QbRNS__afc(013dB{Mo$nIYJ_GwRQaUs62kl+ z9JS;H(UNQms8C3@6?#}EE{qEb1|u<5x0&9A%|?K|tT>4fJq8y9J1!T*SR(zR*upBE zqe#O*M?<`Ff;b+#C1DbD5erF#k}k^YXm58EH@ma5vu*nva0B@@t8NMT9RNk)NH>E^ zNcL2qLg&A9gePh?6&aT?YDdFQ3-&N zj!}j#m zo{+5kSjwY*&Srp)HLmtbKZaOTntDYPWQrG~4k~OA*9<*5gdhocftw@!URQtrfYly} z#CgH2^E&{tqCr@^JuyZQg1fXAt9?Ab{P~)8MgbR|Tk}#A2X6i}7TbR$8j0-XP}J#Q zRKaW+)dnFt;I?E%^4mjwAyQOOS-5C#ib=&I#kHUmHJ}u*DuW#mPXS8d#?F|Dr<+76CV^6n0Hu(T8#N#l zMIaQj(9>%{DCU7sTn|D~141zagklB=#W1#zoIi6wC~gCxs0N|<4hV&eQI?j)63!y? zTgh)1gEZuVG|T{Lm;=)AE0BgoAPsZC8S+6IhJiE`gEaU+8frip#ujJs=@iq7rLWvD zj*!c-hEt{pUvUaEQ5(fW=t3drLNS;^3FtyL=t3#KO874`O=zEg?s6H90Td2tGU@0y zyr2x9ba=6vo#E~H0Q#aYL1Or%qg9WL9q2P{{zLFq3{F!Tj;G=qd0(i%$F4 zatdPr-lvjROCZ5eHm#EEwqIcfzfo3gGNcu7!zyf-(!YXY@vqv@AtZ{ROB6x0BWxMC zc6l>Jb5RA|O+``jPP(F<5<;kk5c;o%I_Z+zYVpZS7WKAECK^)dopQ-7wc;;B#d6Cf zQ(#IFFBm$$GO9P^*FxSNo8N2W8A!4-y~hgyyB?tnr)3~psc3?HShN(|Trq9YqG{MX zC(WLnzbGYS1E+-8P>=LR^b`R|AX9OSRgWBbY(AN+=HvY{RQRPocH{_%!CBn&&u}xo z=v4UuzkZ|Kiz)QDQPfgg++rg;lyko=Gy?H!M93DJhxR@%WLt+Szs@WoJq_kn%}N(a zCu-F)v5oFJVI6_tbo2;o>n>9#wMLW2=GSbVzL4J=>htvFqul5Bd5)sZA2o{{4(WV5 z7-Lrs6yrOVy|h>x;R$=&VrgZjM(&NGyF3BsF?KlS4CJwUo~e_8BR%-m-*x|>ea~kppUoesuTI~_mtJ5I=&(P-f|1-xX)&4yJ!9k z+COL%85yxb*~&L;xO2nIn`Rn}Jdduz*;qR1NgbYUke6_Gbz*Ab+`5H;Ei(v5zny^e z8Hwqr?RUkG6P6xF&?62He4mY(>!e*nZFHCCiN)WaanAS8nFtHOy;92YC*w^0suQ7M z1=Re}XaHP^e%2`o-F-g8!AA1w@L_m(4GyPUvIM!Ej)1AR27|5Ay%6r`cE7ismmfmz z4CxU&%D&w+Xa@C3+~JPof5PI7`z6^TId$9H>$x@AvnR(^K9U0xgOi0Zh^x^VE?|D~ z%TVb-KYvn+QDp2Mtx7S|G;R2BtJRf(D^+1(UWVIh^*bCH!-(J*S(wf~BN*~hQlhD{ z<4z^(sUs}n=}|QEXu6@H(kf<2Ct4YLd1j^@I5RV|3JMS?BbnppGmX!T9N-v5o%#8l zryBC9W<7m#3o3cb=II5f>;uSEq?oH1`?9mYQTe3T_tz%8 zlyzhh_3PEIuxS?+cvn+lITg5ED%aJq?Xm5ORHo;|zldKN`(miXuZn+>sIhF{&X{mk zVj-(8iG4Cu;uo=Mp|TI-^=PNFP3CT;J-%3ZRlF#5iCXcZ z@@jl>VxEeSTa}n^mgMGMeRXc`_}NLAZprNNxkTAzkE=TWdZzQM#$}7!Pz0q_)9WX8 zSoHY6`Wsr3939kg>Nw*p@mI2f->Q}m6%^+T@eGs-!Qfe9HTF*_jw-g2XjInF;09G%&K9Ws4<7mKJ*SWzgH6xtF+46tP$z|#!I5L z(s_V>Bv5<(UL+qWJK=K(s}wDfw}>P{uY@#Dll6P0(T_c)8d9twx|zVk#acyqE?R=vAF%)t3;qpna@MYnW*OLWVm zYY{!z8}x8To?xd90c(gjN444MH}yK(I`NA7(Mun_f<1GY?5fmu_y>e;dgL9-7zstm zOc04>Do5RZ&DE55hTk;`F>e@0B$HkS-J)3%jqcc?X@|CLe4J_HwnLh9aej0ANsQ_n zI=8=mSiElNMVr1rO4UV=8Uva3)&)DCeJ5R+f`P?PDN$A4gsegGI8_n?;i@buJ>~M z4&jvmaJo2|OJ83n88`m^2$XU}62t26=<7VuF{Jc5QZiDhus8)sT~s>p4NX$EM?qaB zR~ghn49^M9A`&=_Fjh!Mf%;WCSPuLmxDZLO1qTqSvEN2LW+z6HWfFB2?FC z{VH6oaR7;;h)O&Rn|BnS0*4-#D(YY`t~*Sf+%>kC6dPlj6dSde7M5NHTFgoxU^P=b zvKi<|OnfkVNGhnrP$}c+mb56ODmr7AE6$7g?|1L%X`BL$Mh^G#PijnQ+!6{9uoB>p zybUFySfULM5HSaBI5rrQf`QQLRV}IC8!k;M8i?nT_k;)M>gaF@9iMxA+Wg+IXvvol zXdu7EPG4r{$rbXro;}F@9enl@sg91kvZL}|XK?oU%ZQbgcv^2KS17`b!|?oG9z zKZ4&S&&<_pItc~+-bjM%KwLlsh?DoOo2y)McW@7SuV}npgI`j1Wr?UNQNp1M$IhXl zC(ByHJ~6+I51z6@-&ThtEFuK0X<=^9i(;=xjhYl8QrOZM!X!R$mnXG5jBO&^ooZ#6 zu+k?cyxzpZ67GHY!gbADc=Ngiuj7^&J@ER15jc^KpkL*ck@^|IMV`|eBd-FR19>3L z@siC|^}G%V9ojjs$Z3m$(?{EKI2MS=syfO0Iu8BsO!U8L=zrzN5rx=VYtZuGXGc@= zq8(*ppPq%bR4q#QCNnaRK>sU5)00^W%h`K8dk;qkEJOz!hYol;I$#Zbe8ty%P0P>$ zW#qohn_PtsD4DCyKnEmuGrHUmb5#~gr?7?0Hdu~lsf>0SPbE7O9dHIZ;COUE(rKc_ zozAhQvhPgJG2~}jamvrM3~f$E?q_jDlDVn^D{}=F=24ub0t<5)Me@Fuozekiv{QES zF5!KhF@w}jtM-1jdx{EgRlIWF=Lerh@6&damF@U8ZrJCtOtx&@M|HP&9| z<~I*+d`YratrZ`M&ye8mGqlMszBu{soK=So8ER=M2+)olu&cxO`S0*monCn< zPDrKebnR-Oy-pHRSyFxl$?NXj)$#4|?NCrHLY-NZB%!)sh=vM2C`m-MD6vGraW4KB zW2K=$mkOVObnTl-V1OSsDj9%ct~9-sfBIb6{gc_aRY{GdFw-2enSMn{WkN|cA4;nC zprqQ@6cZJnbq&eWvD#1Qa)W*R`0ssh#*FWc zA8)99n7*}Z=@Fr$YHv@{QT4Vpe7SxHu?u&~0Z^p}FnzJu>8A@AsebayBqP}lGty}RNzfSPIGg$nHY#Q8*lHOjp`HGLkrD%TW&>)?^0H1(FttR^LsX?pDr+0q!a2sLsA>LakCF+QcrU zw6027jD51JYXZ{TS4>ooK4z%5+@hHo-Q8|?TaE=Hst`m}A&96f*)WzIKVI-{BB~6T zF}R?q9U7`sXsCvdZ|OR?&(vCTa#|a{Mnm<_Zibo^a*I@tmXe++Qi}*fJ=tqED4rC^ zugIDv{Sy=Q8IImw$H^oWRX16qEuyWr^#mNGAALj=4rY{gDbLE8?|}4o;&~`px9XLx zTczT^AxTO#`xGhF{8OY<=bR#?nqySO8yOChW8pU`seAXaG8i#edZPqeSS>Cb(sYv1WFln+ z>Q~xFje6{{-0`1%Oy!&-ZPg4HFL;8o}*WgMmBQ55m6*G+UoOZQ7bO z?drDOFa7B=*r+!A;l54}Z&6YCyxv{A3Z@-6{)oTrcuDi_yPw^&cb3>p z`}!sUm2dw1l9Hn*rcb>7@^KT|#@UwspZr;hxY8hhC+Vrb#X;p$)#JyvD77Om%|GT? zUp?i91t0Br1S7qM(oFM^Nvt72`|v~A_UY|2GOEQcs`8;jwfJb=p`8H?|B@(M1XYW5YRzrjMoVM=t#f4SkG3yyx+M_e) zT~#GETZ(fd;>U(IYQu(6lDUaYi8jcO43)qx)7N+C`s>w2=g$7cIBUkRE2d2S;kZjL z65ofpwzah#l8Ye@s=-u4?fg7Op7?$d2*r9&92bG(F=fz7+83p-*RXVUA^8|op?U-* zE=djYK7*a{f#yh-vmo~$wyH~46b4)Hdl*)PB`mU1^Rnr7MVYCNDl0SefEZOavD{pl zq-PCb7_&-psYnb$D#Z%LSukifzC}otA&r~X5KbECUslcL3`5UqYCw*WuhUWeXZiv; z7U~h8aOhnLe6z#D8pbxviIV(Gr>LkhWZN2y_J(2uCyuG1W04GNR@Oh5jIC8L=95Rx(Dc`K@r4ScY z>;%BFGLdyeC@`#=QUj*#Nf`vg6d!m2*Yhe!^JvM-zzZTZo;F+`44&x!hiYd!##|CTY;kMi(9XRgk!IPw^P^q7 zle$I96mc0+Z#`1)&yae5hSYl*Qtz!uy-SgLmm>AfLMA*9tH+P%1~ZX-Gm&S$(`}xDx63Y$W5Wky(F*WV{r~cq!JA zrC3KsBN@xg*FLuTEs}9wG1ie{8Six(QtI@i96SNZcs^s~jY!64vE&vc`syo8uNwqbgCHrU2j@G*S_V8`G3nEf-!bj3e6+~4 z^7C&yi#|@Wu>Ms%EuKOaNLnM@TR-2neLz?NI9fwBbLlU)oGSO&YIB>v{PIvHujoO; zfFLd_m1bzQCF7LRZoBQapa0Bi9X)y!=Gi=p*2Vj{SKO=R94YSpios>|`%5mX68D73N^-t)_= zC8DI7k0Rq-X&9O_66x{VEo7BNm8O?fyS9PuQJ<;n)e zjP0B^H8V4<-YT1>#hxi2c3&e-MM1-^Gk68sGqbH`ZrOxcHMP~V&N=VWrAsfp@PhM~ zELl=pQ(HB0WQLjQ8&v@A>d7BHVP`BQOIkLF81jxJ~J;RQ# zQ%X9_{@K|%xXh)Pmiz9x-K<-}LpmR8!&so|LP}9$IAu&?O0xVi@!K5J|K~^E#QXEe z-|o2kKBnK_(b#C34UIfIL7lOHc!2p?_0P8gD8KWf%y9M#wV}a0^}f>oyng*&v3c|Q z_3Ph!_St9Ocx%Ilo6WJ-)Qrq@cevvyc-i5j%`NyvheX^sXvevAoBHgOpzH;U5(%Ds(+Y-M`fB2!5D_1`L!fB_Kl#GKo z$9{P4-$*R&S-JAN9L~>$4P;|v^OTr9_x)`rxLglfE>&b#y zUIG;q7X@ZD|J=lRiJXKxk(anQj(u9!??RNjlz8`UWu~$~SxmW>B%MD{ex8h@`W3$} zr$`3Pp|V&Ri^lsWaj_{b#ug|pG{uGU_}r(|D(6wEL>rcfwJ=vOy9 z3jgU%ruqXrj#pMlzmy^FRq272`#rtA0d&l-rUzNQ%*dWLZQ9s#XI9Ei%9}`?i>tuX05sW15hxddyaiUGcv%%U&jNGx~ggHK^ta{e0QI%OfkDCa6PbYwR z)tR%WkE(ET16jH0t$0~&Y4wbrJ8Ks9n{30dIzWkoNKhp^cHpuZ==1qtSO9zo>Wus^ zzw8}$*m=!0*NiSdwB=>fHe>okUxu~%sN$edGdk@(_@@< zz&Bs4z?KN3NwTaH_gVk-%<0psekQ6EqFfZ{9=Ppa-dZzcAk=<(9=eS5`d18ZRNQ>? zIax=aH4NjS7iM2|vpF`}-`mqSsHaHwvz*Lq9~anh@QUJE(2nTp+ZJU%+#VA$nl5OZ=^1P7dOV$sh&#hdUzk0Hb_ z6db?8gZE$Km&DJbTpGWDUk2PKvOE}nfbvQ_l9;6%KnCr1R^bJFHxIL=eqLg7JQRN_ z{t)GvgpLQnI0KT~JsUQJIZxtt>-6dA)R)r@%SM;YcG9qT5nv?kw#~$ypjb8{QpeD5 zCnp0{7FLUbe43B!8PLCz{;~?RVVDZAQpn}!U%L?A{s&28^=E3KOfUYRxKk#z5_j6a zcR}IBRXI6T*UceN=6*!4>&0EP&gEF=;OjLMMn|O!??j%l9DcFlGeu((no@6fhNHTC zgcjVr>em8WGS#07jIhWT5o_cENUcp1#h(r`30{Q6yp{SA391vD32Fc(Je7{)VXNS< zvfJTRfqbtu#;~K1Hzty1nt|TdR{WZIOByUy^iJH2q0OJQ$?$*^Z$GoFTH5-x-~A0aH&xe1 z&7A48Tk#kqleNp`@mn`3bi2`1y6~-gsl(_P5{0FZN)| z(L<@y@;k6~Ggi%=`#z6t0xsK}V{PLzx7B1q{MM<8k6j$}>&uSr!>KyaQ)Isan$iYI>8 zE@RKKzc*JrAp*oS+o5q^fh-<3@&*RnGiRo%veW48!8xm!%JcEZHr^GPlSU52;{|Q` zy?)F7Ls|K8Q(M2r50w1d(GT7G_@5tTdg3n|AOZ6?n0G(_a%(5kt}S-y=kERV`TB;2 z2i_Iy8BK7~PN3@;C544_$dPbr>gdr$>FMdEp3H7>=9vS*Nm-0CDPFzkOmn>AvW^%z z<@Aeceq3FB+K5~?*A)mwdV5{T0VKPxLss^#e(9at6BN4{G+b`OX~AcnS7ILp0-#BM z9_f66qefhnE<0{-Uzg4Fr{D%pV;kxZ(87~;R6mVDm;Sx9YUxKTeS*!key&%V!s$@V zQ(Gzzul3{bOEf)gmc}cy%*rF6CxRNv-d>4f0b%Ecq$2^|rIN_-4%yh^etdru4Qt27 z@#ZJ!TL&hTOvAv=sx(>X2xS&oFH2sj#DKWDdcY??iWDLp?Kx(ybvo$4HCQrTc7?pU1|t*74u@5_Q03oW zTL*}Q#F~z{yITofRuZ@SJM|El0 zCN$5IJi7Fvs4q#Hn`2SdXWRt-t9^=SE(fc;=IS2Th0~E>u+GYa{bAZq3{MW(fRPZ?mD4hfFM+e!_MGf8o=muFuJd@ z;>zfKXR+XVNDu`YsDja{V00?BY88x5t(psh_y3rxST5&(W70(l$CR=9GT&+r-qsqQ zD(AAX?3-C}b+A1Z6j1s_>tK937@rQtr-SjSV0;kRv(~YItHfFBSix1; zmf&&X^8)74%w^1@m?yA2kI!O0OPR|FeHjUq*HEWaaMcgWFKZdSuasZrv1B`6@RwXF ze?PVTg^&war3;0<373YrpYN0ShHwW`_K17dL%t?Z5LgRURr6 zfc5nk=6TXLiZ!(B;46WnpRgzf&E+LUN;1AL`dvvPbe5b;RQFeXCh_jxr;OW-q6; z{E*gi6Rl+_t>x#mmdmL_m(f~g(pvt7*79AhZvw4l04HhhD5WcfM%bDuSX4t_7$|2-|!MHr?p&0Yq{(c zqCEz^b}FsKPi>z~YxyayMIzdxX)U8^E#qk|7g6iKLtR@+t^Xyp{t6K7I_lu%)Om?$ zkKigxL9{D4QZaY2l-hnVwf%Bx`^D6D>FY6p*FT2ZK9Z{%2ckU=M0;Mbk0Xv|F5~|w z_MgD_JkB|UXpfP#JN?Ng*X`}Jpy=<|z557be>-XRvbB%?^yHIIei_QZvp3VTZJQ@| z(V|78M2}%0P0`0E+BL#Jf@xWidfz+m9QsU1NAD4tgE-gb=NCBJcfVtb{Y%6;$_pUb z4=}GvmY0BRpF~4S{<8k-l;ivNFZ|&gpkKM^I&r(VDuB9due$BFc@iqrdDy=*49nhD zPHHH~|A9`(n|0qdZy%MXG$xNN0*wSkfJdKuERJyR6nc zpTyn5p+L-!bjQ^=tY%%h+nteLeh!h-mE*=u=VRU&kC9!KL*h~Q@F`>F&Ye4JRDS-b z^4i+kDsi4+C_0hCX;x>3)e^J2w0iiEa(oHtXKb-%FfgKWparCudh?1EzrVe4A;|v_ zbUjCUc@T6lHCe88-TQQN^Y8BZ{R%d_a}Hqcuao7s4)m0}?l4VrIZrRksAy@4Vslfv zj_f~n=-{p|cfRxDi!Z*nW%K6EA0BE((>$_!8_@}Hk8L{e`DU{s`@n&NM+a0CCVa6E zHa9mP?;Xg_whU~;)BIrX0G^PMKv!2F3ME^vi3mOnE31;|BOEjlBb}~4JF{}*#z0qP z1psy>OmnTRjP9|nqZ`eNKxJh~VbO3T2Tb9F?5TbIPS?G=MD5e;H4^k=7lU{9^k4^l06cEpfoH*MOqE0igb?CFW=%7b^*NJKkv ztK-=(yVA2VvZpTkNevhPCHwnltX%o@Ycnsq`R1FiSv0-4xELY5{fpODnrr-O_qzKR zCN6*mjFKoIiQM^#g<#XNEK-)gWvGqMclec!cSx>`++?{}d*H(lADBbba!8iMEKrUB zFZN)EX+Ie!^ftX+A2qYL&vXV_I7&z!rPGfbzRYoa-CLVpf8m*3Ehqgld^)AU)w_E$0a4fl*RK1r z9?TXn54#SRVRzo)kP*gM^sM4Q<1$A))0PW{>vj*`rKdQFbItUtS-8Lak3XX1%lcn? z0sqv|t7U((?3>l+Kf0o70ju?Ya-aX1T34^P2-$v!^kOoVfUUtM`I$pl{|sF=Eoy|+ zPYC#RK5U^%M4Sy~rgO+azrFnk=D01*%>mI4(}TCUxm()j+WY$Cp6%`CU3kf>%S0!6 z%1B>~8fdYwzdtq79nxA_THb4J?xW{B)SGW)AL;FEZ$H`G<-w(RFx1+bnF%a%ShUdc zov{13L}3bgJ&|O7G2BmnGF1`bWr{Ogzsw^66vj+i#JjC&fn|zb!r=z3Z|l~bq|6wW%`ealkfwS|n5ZGuTyBl`4MYYzl?L$h4Ic{`%IlXQX_=WB zMOM*fjw{)a_={fBkIkJo{Jdi%Sq@*=;5DVr$F^TTFWQxNv#^$t9zlhh8?tzH`Mk$|sncpTt=eZIZGD zL;F*}T1S)RkCtn*_wD=fJmA{Tk{fRmPl#ofn`Y0R{V$Rl`*F(e^u?eivye^(3{X5Y zQ!OCU0eUQM+{1mh+;ZVLp>1o{tl8S{B_SdK@cE_Hx0n@Od3kx6_5`CCCgePc5xDH| z2ib?SJkMnZC9`1Yv1>dH`f^=w>ywJ2)6jKAJ=qcVXZP$IJJ#;mcNiIIUsr@1W7t+b znPbfg`|jPxT8|$^LkGK+`Y1soFdm*f2y=CtD1=kQ7lAjg5DUd{MmNb5oah%eKw&HC ziv8IG*c5gijOJrgz{m=O1K3t#?Pf^+Upq4DFe&>8ImY!Iukm^xMukD4GqPH>IQ52+ zT8V`Q%r%ggMw99PhQ)|WrrKdo@TG`8Y}{S_5&Bc2G5Uok&s>9-os*_VsGY2sijM1S zn$@%f()d+x!J#mK?OWLHp)Xd#(vEk#(Cf7qo_>1y67tmc##hIyl4Us|PG7+2b9=Jv zfr@sq^1=(%oP4hK;L}e(y(FP32^KJUyk&;R93wP+bKhwq=X@1A$wRW(#qiu<;oUNLXpO+Q+K zoqq98Ye@|usono(>kj7M?8(3NGpE?t-Ai)23tmJzGxr4i-9Mv6tEGf-I*A`e|cazdQ4 z@bthnhY=pNu=@*NVIW) zIB%wqqz0t{1j4~Vb4>-`LS6AKct7-F!$2Ai4s=AL&Oyl!0?|0ND~5lHF8L^Qlg>LC zAS`{F8!X+#D-qWj;K~$3@>=r}oz9ZDS!kiGELXhvW4Vjusa~(B<9`K z61M5)I8LU=)1=czil$|8R+l}TYMt1P_;2;}%i84fKs75(#4bFrPmMh7{$ZISu8Oz~ z+$kIvtwOcn1dW&pj}HDTF;mBC@MQgcFyY|NL&1gT&oCJMNEY3^=dbJ5fxq9ZlUVDG zXYZ*cp~sJ9vDDxH=%e?~All+#1V;< zM?3uLQK)vo&|2tNv%jE0M_V0XP8kdzkjAO5uBP5Zz_g4zc1*i@F>2!>WvndNE69OH zeQr&b_xR>l#*M2IFY4FXdVBjWm`CgQRGBS{*e@E?OD_589P+E*m@K(f=L^O=;H_S>c@4B8&~N(`WA*4ZsBD{r#*YW z40Y`bpoont-{1J)gAcy>N_Y1wum0f=e|Uw&a**qugrddS6T?AfaInjt9gLlMX0E62 z6G(90{G=J>`^`6>-{L7d(;P?F_GQzFQl84Rkt1_tPdE@ddNk0oixuIMAEU1KHe-&L z(UX~s-l;7uB9o4@SacGAZ0(n!qF#S`vFk8dpDcZcw&Ub;?zxLg$4sq<)P!~?(MZ~) z1d64eLoMeYMnoWt1WnSC#G0iwlHbwgFtUPDLy9JmPzftHtTF5|3V;@?lM7h3V^XrR ze{w&TN*f2kLF8;j$4Qzk40$fjL2?y|pw~+nc$pH9)UTU%l644cC2d`E zA~4|S%5$f406Jz&h{((3KRzouy+t?@_h(1@Js#E4AK>}*N2H}s?qIQcObMyOoZ}Kx zH|QKwQW8OW+QFEV;&^hp)#XcW9wG;WIw-6$Y|atI>c=t!LylpUr?ZGig9bqe{kz{I z5pxVBK>O6ML^7f<4!cxBdfTY@ILFO3gsLf$utev@sj6;~{wy4gE0Prz>T^6HlENAb zl>gMmS-6-WXi!^u`OH|plNA@Ug$$yE&YJacJZ9t4G_HX=%18qKWAq^k68jE@hN!_t zsCigi3|4V9E-p-R0?S91NVXpC1;B>-PKC8u7|~!I0oPaA*rPbHiAy__MEO-ex2T2r zmTVg=Bd(jcIgVvYd%#eRl$e3DjC_>xO|T*M90%hqZ5PHDa@@*w)>GE|B>#`We=d&m za}rETk%U=Dke{65gk1LyT67HQ1oJX68Y+o!H?J`eut`S~+~qB34{-JSv#A}5tU1*A z7-?=%eC>9k0Fy&C*J_DTxm4%{WE+=WDgcIX|LeF^bHO~{xQ0F~p8^IT2fYGqPI5H+ z1;KwdHO#Y%M=*a4q@;LkHfQ}BkwkB0uCeK$w-unbG6HWTWjyHZaM0UQ(AzA~+p%D^ zQ;MtDvYNRDtaLp1Y6W=a96oDVHlKMO^SR7Rz)2T_pGpSW1J>|;;cDbyT&(ZQLwRf0e5r;|79%TRQ8?8wYoWvjLUN}XL1k2_%#%%_w|erCDwNJnaP2$H^8Xr$=&aUz zO!d7t-jL3kx7pr!?Tz(sy}RLkLwOHu?^e!3LY7>o%*x`-<%g+Wa?Ld|59w2`pZxI3 zE3UZwyt92U>d0I%WDYPb$BrF49`f@ot*D}6!5O2=iGvtfHZqMT4KV2;8I#?PVC=D4 zWm={*07!#z>z%jWe(Uwu-xkd{$Ev8rNq<<|iU%J0;~!T(up;?Oyk}aAo0>XH96J0= zV(@TgF=Bp`VO#&Vzx?r!4?nq{AEx(UUf!rZNtFPrJihp^`YPCYkQxH&&DH%kR3+P$asU%54P<+l*<_ zLuL95ewc2gT-j)47o(~RNZ<3a@&o?AAip80yj)i;m()1}V(m-K%`dG*$6g`b^4RyQ zPrq$lVdZ2H&iv(uC^NNpPn<^OOT8Dh>@PtD^awULgAG^TOGiK&;-0OL2ul1$UK$}?t8 zm~h7YN`9Dt?lRG@O<3Sw}>W*oKRsmLv|4k|J<~;W@o1y4?((>5VoA2RxT!+ns>(B zMT^dvGnpTzH~-|xCLdnRfEa^=ZAJNPl4saqo(%O!m1k)jZ z2?^y_7@l@DWBBkg{z`{O)pm1*O#dTmr;^m_k`GP5FyIBTU4#z15PFZ_#UD+KrXDRw zoK0Cs6u^&2sach{0Il{OLv3rb5ljk6^g}$2N5sR*^)u0_O_!63FO@hZna73r!Hi6N zCyV3>r4nT@o@=L9R{oqYRCihFtZCE6&7IfMe!BRMJSKPh<+j4CtfIYN%DXikX?AHq zx9Ik81GfPLaI^n&foQiKU5RsaGv$0ReyNs;fETazt9eU zeivwD9y4gP3`r5{g zufMX{5Fs;-Ciu$h?|=B(2OGZJyz%n`ABsoip@tc@(%ciO+UhAau-2+yKL0%7xSspg zytwvnYuCK8?hsVl%Q+fsZ|k;iTEBkNj&*WSS8psYmx*KJuHXFRJJ(!$&AHWYL~f*K zecn(jD@n5P>GOB_{dYb81^#zt+WJJ|$lsdL6k3k9cUK%=4~M3=vNAI*t!CbJS6_YA z*>ls)HoVH%B6_a0T?nKUeDO88(!A=?ucAl!ORiiXi(Dnjl|> zDh6T+5*~!2LBvI~-qw5sQw`HH`J%d_F)4KusU}~P>DbMM96QG4bTzE75-n;8#UY(g zZP5^w+-BIk>AtM2Y#*d9Hq(liNr=`@OMxoRhIg&d4O5TyBG8XiUTb_O{`G|-;K<4tyKiAJiBFWy~LI%dLzF{4VIai3gq zCrjDfnLdmpblEBHq0Qw|i)ig=m%M{LokV$=D^Br7(sjwMjW?K-hY)|{8~k@yTBS25 zHI%Iq@HnzJeu1QRU@6X^JYsxCL=%P!Tj*!AHAiARMDJqq;*yNDrUD zW}_=sE8GrVdf9qgA(t+vW$a`XX*pSG_%-JYa|)|mSs+&xu`(F+YQ3#(M~)sn($?zG zyqv`0fYLYE({}uLTgN~@7b4q~;mNcD+oBs}WM`LJvy$5-!~}0D8UifDIh=IGkW}|Q zd`k^4J8Vx`{}2 z6OrmFk?O8Ns=Er=>^n$xS0U9^BCpAO29?NoW3b83#3nxzoBUE4O-8Dlgj83_ zktQM4RU*|*Myivt@0eu1tXNC`;MT2M4~WcSk0VXk-J{A!!8CCx)3AXZtC-e*8PZJE zjY^V%#INfkvIbj2zNvHO%$Ze-`fTKC`8nfiPMZ|(-~QIy?|w2kkbPS9$WbNMv;d0u z?2FG9cbqB)VP=0#+TYiS6`9xl>X$$H<*!a3=K(eQaN`#*FzK`A^48uzRSd_H3}R(73$$yAQhJ^#coQXQeFuC@gS64E#^0N0Q|Cn(~%PPMfEIGSCgt-CkcM_g^d zo))ebSI;9cz#FGZy{OYKCC=!=YowWe4IyWn#A~+SUbg@QXWW=MxN}RfjpDrJ>cuG5 zj=9&AXPL^`)KFa}uJ@mEJGAF`LyAB$6aEwaDl3`J(k> zMlHU8X-3T%G#ql%)tp(qWJYN&*F3&>CVm$4$B!OG`*CL1%=4J)XmJ7kZlcKRA*ySj zE2d#oG=@oJAl}!~9_+I_b$hDUWB1t8wUo5XjA7+AWV8F{E;*{TrOwA zHn?y5{@uHd^U4noyg{m}7eC(BaTbIdBXXIEPJzDQ!eX(j$5AK<+SU_Q*DQj-aABo}A%hreL-|tr`xkobg|J9teE7Y2yZ1s+`4BONvHhWaQLOux0>@d4u-as;a8tUf;0P)O>e}^ikiv{UahJ zwhibdAavs$sa+jZ;hrwDE=?JpV)tbgXnh?mcpiMTS&92|ak`ETbThP+o^jf=%s}AK z;ogjNn>#NrfgbSd#IIAH{&H7u@zmN2uKWRZ`y266SwI{)wym%}{Mvj;+;bsWkkd|;3>X`i4SAF#u0p0-keEhLU`nDik%c+` zLJQdkUb$m#qMD$!p>nzPu8#m*`j%HEs+EQfrt&VYB8}>nmzF;&-H`>dlN7Q*<#X(X zrKze-D1)w8G>ijcpH`G#RN(XF*Dnz3h?KeYRLNC}#d*7VoJOE`3|w*KJk z(^+=gd^}WS%H5%o&g#odWq1vhTwHI$MNy?lWiQpR=2_b;*@b0(t*f)8&#!0xf9$;p zoD}7`@BdcyzIV^QLNma?u!DdiAhR%lD;l?`iBYq9;z`aqn#3$7Q(Zl5u8~ABDoHdL zmtc%2t{^H1BC;>TIxq|j1G6tZ)BF9tHA7C;lbhU=`@i@9xm8os-L<||^)Aozd!Fa_ z1habj9S^7(0ULrxSg{545vTKuz@{xJn=_SkB)Z)`zt7y<%}A(bxV%6Lse{c?8!n-| zc6mQ}W>{?p?&YF+bhH> zLB3C}P*51~2U0_e0vMnBAqgV^ggnx%u>w?)szk*%vo}yW89ulK#%&>5lb- zp4xjDyff*vyOHWj=ai3nLggQ_L*m2_;B|zu98mm(@f3dGdktj?U^MV^5YB;N2bDwZS_sXvu2h8GpknQ zGp;hUXv(m{%t$J~0C4vLw>jBoN;b8q$`p$}IVtT4_F=yxnRL;JX*sr$#co%gqpP#4 zU`m3R5RaNXDScH;c7KM{t&egqG5`yw@LRI;ebSH`Koems5_VIEr#|LAPWm3zk#>2# zZn%>AGQ#<%;cWEzj=m0pt#q8){P9P-cYfT|uy@a1wOlO9F><9O&weCbW8CB7t%sOi z;a)P__N3P{;^G@74K0wDal(8T0;zEHe&Ua*9_Zpd!|jP<)`ECjXQy?DUmuf{q;Vbi zTTsp(%tZrJOKZz}yLZbinaK|M+{_IPLv?kp=)lhsF;ym@aS{w5r?A5*@(Qw$2O{o} z%NL0>U{~tziJUD8ONZqVy(c1c!5(*?ik8E`s|dwc)FI!sU+KY26LoZDyL8co3Ks*T zP}DX+5B$0EJYf9U8CXGj@afD-oo#L^@q0~b;`CV}W@cSD3rfgqrsgDM7ILTU!aEpWb7Ep7Z^31=v_|Y|+1TND4~!m<&YKqq7Ej11 zYVYnox8}9AySkIj7mV|b%xFE87ru_T#JDnjV8-p`V-b~XJj`1d=vRprDrh0TfS-uf zrfZOYD-aZpSZhP0h=xW*O{I>(mkdU2gDi?GF{$v>QPC_oDVZ!cw&!?urs;3q>0T%E)|D6 zty!?^(+skwH?u+JDTWgi?lVJIEX9Ez8zQ>^19D9?Ao@k z-EJQ~X59FElPP+puBrJ{S65qjV!Trp)f(H1LUpRAy}7&lY@}C)L+Oc??oO$# zHDfuHK~PcB?_k1l73AjwR>#}gNydp)G`yw;pg7y!R>M(M;S} z1MLEO55GvI7Dk3apn)0DbpFF%&rpp~a{usNT z>a4f*(3Nyr%oa0sd^pp*;RU5k6GjzdLm582SIpBuNac;%^WCD2n$yvX6R1-rvlrR5 z_DFYY2k35tFD&k;7P|DGG3F<2-}(%7<<@`wVHK_ANxa-2x83*68&PRy-!K>S0FHS% z`@eg~m9jd|{l;};B=S;?GP#k+uU=hsiQdOlz+0WG)e7logH0ML%@hVddR>X66W|5h zO`<#*MMOYanluhX4VidDMu8)Vv)NIzCip zNgm&FLOKaGo#>Q~neR8O{n&jjsfszUw>O)u*}fdFE7jj$VAdz^e_xJ)=eAyjBi-y7 z7mX^*wm3#-j~z4CmXff0+fVBn$;`fU+txkXWzRGLhP4dE66rS=_q&cA@02OCGP3N> zQ2v>&?yhcAuE}(iXBV^hh8N}eeD=J8%}IT7yju=Z8$OYaC=Jv%f-0?%j-E(Q-jseR zUG(-e$+7D7kNw3sJ#;}=rDeE$Cr&mxY>)&Hm~XWb3ug)C_d0AnZI*aj%QZLn-OY?448&JY6#t9@k<<_rO zGKSTO&Kf0tKvSxE_52eLK``_9J4-f=A2)VLv!mhMhV@P9p1j z`}Q2)xj(1>txkP%=Qc*1Pd7J4ue$Pz*unRE>Nme*JB16EW9GU>8L-{gXO{FldjLad z9YqOh3mu#{>w1xiNi5r~~PryB3Gn{kSKVY%gakojqMacd% zIlK>WkW++%K7s)UTPc_^DQ4(c_`!e!pqf%*X%%ub1wfS5sv@A=4X^P5e47-T(~IY- zbc>L%cPJm~5eSU&h2V>7Q$&miN16WEV$#>3vh5*I++V0dJqEZk@~bJ}Wk z6VXZK?BS~LPpi}>SuJ`QH;9erjErR|N%Kct#QL%b;DtzT8TTuPC+U2X($|nCRPJF@ zNY+XHG07inUc{IvizKTiA89Q^{*>(V0OSL!MEZZ_*dfJSO+vt_}^Dj=V?+(S`nY!n2Gnb};+Z9$_g3r!L6i_-iF;+EyZ=V{CG(m0)j zN5fv#lQLV=aE;5ANxT+_H#@0w{Tg_>>mWZ@!9qO?F}e(6{tbB4Kj^%GNR@=Qgc zpBbq0>`%Q=k|vAQ?@sX)s4WcdaVhyG;=S>tz6M_@cpL~JcVVkwQcU4|`QXev1p?fu z!nA>8oJ-4^!-JC1q&Hx>`WBX}FJhDVDz=#$v0Qx@%hh#QuCB*&H3iGnm#|#PXwq?5 zuEt@xl8k|pYx_nqm&oKQ*3D;`$8t5xLYAvoE@xT5avA$vL`3o>Y@N>5IoOp(5Rq)= z+8JD1;aV=PmB|voRy33|7xI4!*0h2A)?dN4REp(FW{;AVtMOQ_uHe_rSgx+)3ZKPt zbpw{Gd+4Y?i{0$y}PYV%8$(gzNMi!SZ`Xle*M7~A964Pf83c@Sy@?%mcknah{R>2 z+Z$!5exMk={3b`W2O8iJXVtG+HHm4|B|@-VHc&f7;k62+PDI5{^5Yt8NoJnpvSk%A@uqoM z_<;u=n2*URoc?!Ag5OC`N>5JT=(+#d!-o&QxpHM4&H}&WQDtj|PUo5K?!Abj2e%&u zxj_(p;n|;%{o^+eKKNwifE&6~f9~b=>)zgUbZf$?m!0c7b}TnD)o>iyaOc+M=B=M@ z+O%nByPB1A^jM@l#`7kZqRbcA2M80@GWWCJp>8MABQmqgmy1GHs96~c5mzvv+M<^5 z$n2u=W#?KGo>7EJj2ogTrDNEuB;MP4Zp^5HR2Oejc9|i(E3{G@sY%%y^vYD75YM=y zry*)QQeWT0DZzTUGHe#Muwg|iedgVFU!oDLdTj%00Xj;bB^$)SlT79kP!zQE96MZp znc|mi6^kz!J+2jn*7w;+o<*S3Upzd8A5>-_MQ$J?R zQ$u3jeDRFvQ5G`asNBd%{gPN1GEJCu$weXMtKdCfF|LEZzwbJe-AsU$=kX>AVUV{ka7H9+6!97f&6|9M2x*x&6EieAnD3UWFTRZ|(Ww)QAzd ztLKV%2u}(}2e~xm2qs9rrSvY={H=9$G7|mNmiM?UG)2paj)VrHc0v-BwxWwc@CCL)V-PJD#MyjWLJd3qb(rHO}Cp&)x)@baSw|wq4 zm=o{3?Y6If>s#Nt{@MjIXUw{I>@W-||D;Fz|IRy59X075ZAywJT(ZM5cTzMG_M{}_ z+Zz#SNic@#3#TQh2sN(*jmDVbLQ=ZWJA??6G9^jT8@6`Yq%@J_O%rT@S3E8VNKBl~ z9%-Sw?mc$w1eympu^HOP0Ag)alQBL9%$;SN%^z~uvv5B*DGAXJ!=xqYY{uf}4Otoz z;CX!-0uXh`)ho^QXU{gmFLYYh3a|pp5V&~CP6y6V+n%)X6LkvjOO+5(67V#Op0I94 zSfaa7B2Ak4Bn(DYQmGe) zwn+{@Ali6pWoDmkZf=TpgN6giM8q&i7{R`5AqUZ(DL0N_;$(QpsZ`_1ktM0)+u-o}F!Z$Lja#r_K`6xcmDvn635mzW+wD#D^=2HCIJ z83hSPOz7`zXXtE^qPtWU@WGB-65)~UXOGkee5S|=;(U*uNv9i*F|?jCJA8p-C(fyI z%$F5cx(;ilvD2qvkluZ|H%^5?uZvi-u_oZ0K^on(B=Tp9rDFe_lcLUPnGpm-sF|pP zR1g9jxGx+ENKZu-B=A!SuhvQ#Exe$new##QsT;ObFHfKkL7%+{-C$Rf1ya-1P|6@< zJ;ZxAqbw<>9??uV(pY~Y{7aSYNbUUeS5VI0X5PS@NPpG*3flEMRltN+=3C7#5pey? zd_+5c>U~mAyqkI_ot?hH_5|SG_76W?8&cjD<*6N7nagz!5rZ;EEE1~ZS)Gj+)19Ra;qu0hFA6E6kQkrWhS3f1D(ORFiIfzR0By}yo+XAt*;uV`T9MW%My24b z7(FhNJIzS-UNojlP2&BbqV8@3?3U$uhm-WAz+kL&cdrhBaQA+q7&3O zN@J7W1!g)q`GZf^nlY+`SC?UlAfYc)tWWZ^A*pqCv{F*?#IylG;=_gR5FtKT(Rss% z0SH8c$hkkqFZwK~#H!I1Gg8ZXZ4+Y=_q(YOA#blD=mX*OI}?$25b_wQ(5OQ2)H$48 z;jxF-Km2ewwE18HS=VaWwael`JZs$fe69Y-L#uY3gTK1-{ST~wbgkl9t;}Na6YxTe zow=XBQtGO1%PA@?;${O4wb9bkVX}C9>G2kQY^mMlDJXK4K$w}8odH+)P`+47yd}k6 zm&hB&5BJ0gGx;bG^R*Dq%@rakh{p-r@_YOBlbR$UTE=53!&NNi1d)^huf zL>I_PzZ47gu{i}<+0~bpjUGZ5kTv$U+r~)C+-_cm;fc8H%k@X+?uK5 z*s*rpYuj2-d_pB;tWfjC; z9rdRvy#nXagy(jh=qVxLq?AiPBn`@Pc)z#HwN+XfcldGz#W@qmB z&FX#I-Mx&arZHaM1cuoOViV(yM;orpnl)>ZU$WEUq&CqXV;psqmHD$WGKLlhp;aeU zswF(uc`|`N?wM}M{L+{9dIQ}&sjSEk!<#%)*elzk1bk#Z3;-bf zjR$s0C)tVPk~Bp#B*k>AR+)m-<+fNb9eBMi43BZ*6XYwFF>F#S25+SBnGW`|o01Ib z+$p4sjD(OYD>{3^po(P?wsvqXxaz{=k76d9@6tz1r`Xx!mHW3YN=r&W`BH&9LBk{l7?Zst7#>3%y&@-I z$ms6wp>A|aoK_-MhK8C(MOY1#$`9Gwu%*_YfZ3j>pH55CNa?6$Bn9eI_0C zoyDv=u`DNGj-&!A#QA|l6Hv-yr6L-mIRakD=z$F!lv1GsS=l1vkcqdMD`TkG zZq!nucICYi&Bz33$A1zN^EAMG?TiIsMtg>LSsl4)YI#TnHPsb0sbii@QJ*;*yUT~k zOAg^GO#$Ttl1H#e09xbO^4fI7j1+bwq!HkD4xmb7QKx0|eq@qo8#hW>0hGh5@nz)k z(>UB-hkU#tCrq)71n^PB6c`kQ8QC9?eP2p9-n8*j41Ix}6)UNu92V${IkUqe*akGeoMOl;;^Dt>A-y z$`EP!2N@!5Vi?yQV2HGVZaRYl43Vy&jk5fG43QR4P8BTkJVPXr4t&3c`YT0lK5 zpq^Gx&ley|y+aM#^jc4iR{u z45%aQXO%m54E`H9w{bxdq3?kBaVVl^ZAi+A1KW%XY-e}Xjy%Q32M9oXWFoEbu@Di% zD7aM1Ze@lD>%Q-6Ag zgnj?fDtUq$@g>&Ph|M|=<_6+X47C1I@U1&Q>u&|E{{m?J0yIa6oN!K^XkvYU#Ll%|z^<})1~)20n0 zIKK4uF;cFs5TBu#5trHNFbl869c}jHg#5~e6T|+?TmCRSC z@3bs>7WTzOl|(LHpT0iu=9`cI?CH~>8++bf{s1&~va_iK{OCToegC#kKl%9MlTE#Q zPrvfYkt0nTvyx}~Nb;QQZ|#ojIsNavMs}*V-#ENy_AG2XqU%&h`C4$1 z%hGdHbYiY?I?{dme5tjFJ|t9Taab_jS4}ya zas3S03lyd0Xv5J-zFJG*&d!sf31*=X{h6m}*RBK7le52%5r1~r)Z7xiJ!ETX-S|El zO{*SqQ=xiez0pXUQC;C;l2z({XAt*3^jsHc*?-ST)G6CfEL94(>*}moQy96Vz^I#K zK(|hW>|%4lByz&lmWzi}K%o0Q`mSBF*neDZ6XkxaQijW0<@WmYV)7fz0&AQm$>h~?b_;jb1HzrzUUh`o2Oi? zv|lpp!s^Rzy!o#0R6tPr)c-+M#{pB?8KPnje{wn`)`h)Fpkz2&&iYq&wPNHW!rx=* zX>CgO_ccXr-LE@aG#`l9bMtR3;bp2jl`t-80ZvxDBcsr{X1p7hp$Zps-F_$Xvs zv(I4$i~xIgrB654!<1Q9zwP56>zrYdSh9KRxdZ1;_a8jb7S;V<~BTnzQ8gOD9y`@Y#h^D-=S_>B%%-U*Alz?VLYv^r*3U zxQKA3yGM=({TSWfc-D-AX(4AajV%rQHe}oDpZfJ%Zn@>F+|lqGFRlFQ9XBr=XYW2J zhRCy2izU0FB2ZLVkQr5^xfN@Dq~~GVv0bKi?w4^x6vEyI&`-{h`>he7dd)smz7B$v z!uGV++JXPowwP{mXSsVqwgb)WX`~OA9(HyoJ6qfQBE8Av)I4QnZgH|*pfq{i9g*7M zV|MM3fc2-_KK*#>)>H3q-=3YFSKz-1xA@i$M<(|%K^$b@i^uv}a0Tmgx&qf<@HwaR znrm(v_aFYYWLAD=rVnor{c5p8S+1;C_9=Uqk11~}?<%h<8;p62@{aP7@)8i`q|wFA zAu)X(pz3=NLN*z59X)+7NZ7cW|KpogxD+hK%~3Poecf#F%korAt1@EwOzHc?i}L=L zs(Rpv{f&^#Z5a?bx7(z#SsRh!)Y!B!co61rnp7m-b@~vhuqBefAlN#)*qEBP;w?+ailgM?PDz*#^B!4>I49tTRp;5KqJ7awA2R}2KWSZ%O?yG{ z00luyh+5WHd5em33#l}Y=mbiz-=cd-(sdMoZracp<1w~4bj{t|*Q>V0ag_A-yh^GH z%x^nh=<-K9V7Be+4{uz9Z&u8)zJkcYuR~{6LG;HJwkKXY*V0;c z;OJaLHt9EWTl!Ak*bQ3PncJ06>^`B)N}4rKEY|aJFd$-QyW3hboVCNVh87hU7pu;M z1vj4EXHT9iEBo-x!}~FJW;Lag7%no!dQEfpo1*>};Vm|M;-?%TUp)S)h?|F}a+OG< zz4xS|mms(9*-I??!3_^Q_~0iG*4Hmt(zJK^Q6g_o{$$rWBBA$)^7I!mXYiaId8f~{ zcb-T%@3DkEd&KvA;&js5mmCGOrVrmDq$}yReWzLhV@__~u_G8v>^{*F3|s&+z+vo06M1H#Eq%QEq?tX%sN! zla3Wtg8}>Bs-c_GJoCroxVp*t)D>&0seeyXwrnBl!hQ6KzM%W`siP;`ltfyeM_RSd zqJmsw%y-&0DATIv&UM#U$k=k_+_}osp48U#f0!HAuV24o9+LUI)ZWy3V}8A+JoQ^H zbM%=vHaxy^)oNZ420gs*VW3SUCnrUtX$hx3&$4}5^ z!yS;!J8~bt$DI)fcaaQ8D)DclEF^#mTavt_1l-QOAeIohahsT1 z0fTYwrRVq9{aKlL`FT0nM0B_B(j5Eu?`iJf3SgQ-sa=Jq5?xsuS5tZ;@K@9`x;tqQ zgk5q~*iKI-kww*73;Rr0LK+YN*xBT#vmm^XZjXg7P*rOn*W*~W^TIee98-YKbaT`f zi1Pl<{j)OZQ#q|fU(a7cu>inB$Oonm-z|e}oMM|*(s)C+D)D3$gaO7USq9C;tD++@ z*m1jcnFOk@gS!C{=PQ{WR}pB9KZv|h;@os1l`K36T-uYs$l+D+5t7IYCltJG({VNA zlWzbYX$6=V%s<|*uNvs5EV#kaLX<2e?2L+RLcQcQZHrcg-0eM*7B`YiseZhUsK3^f z#|^8ZnbY8xEGvG0M@xHC)0yVB&R!)jQ3G)vmy2X3Q^DhG%?q?)6~H@|KqIn4NXt6h z8XS%vKkb5dLmQ;SZtw1GZEx%9rrL@)*&63uhWU zlis=+oG}-~P4e~SQu=K6aLz&gIeC2RE5CZ-WzF%cU%hrXl0RpTXw>j0vW3*%h6deQ zG8x0=Sg$VXE;T$q*Gi~~0pUqtwRK{Ha^y&*LDlkW%eSihb#**3d|MrdRGMgD)F{ca z^%lIo22!TH+N?X5YMS=!`kk#Xp=yr){xcu1dvWPfsPr@?(-Be;3U%uc0yZq3VtuZ7 z23|8cFSdN;(jj&i%;OG6-kh87t6(8c2FL5I0pDCQ5mi=fO@T zd-7zRs#)a0b)vmpw~m^GRd;-mo>hlJVe@686^v2r%SZ zcYVBJ!-nHg-N@vT(O--Y-h`5p88d2XOo5V;5^ul0Vy=y4$V%~?(*4Is>hsB~DL_DRxIAxq*Te)tdnQo zamO7O*mN=d(t!-UN*RXzHbmz`V!zm<96nsd=YGidA2xsgrs*_xB_P@JOH&~;`NL&K z-j#Fl7#@h&`;K@)&pM3l*JW`BN0tPm(GeqxUFnX)hw)KKor{E2i^ro|Pac8s<=8nr zD~QWTjBKU#^~e1F0 zSk)Da62ei6TTmhioKECz8Jbu;B5zAE!iFpuq~!=jb%COPg)1KKZUvEOW;vr-C8ggu*z+^2&$BL;&^s4kNV6@EMWvg~u-7XBW9*=q7%MVnr z;TFQdHAiD(7jj6l5NOkS6a#oP?$&cCy5t$RA+I4IVJpR{!b`2wrQ`4tl~+-VInc7{M|ylyp1Qh2Yb=XCGcv!nhrnQ9{B6zc6Y`x2Pk#SU7b zo8H$9m83Oy2>0WN>vI(s%Km%s;ymfP{hDN7fB*dX@p$IHR$(SMKqhJz&$>xo=9z;u zsK$N!bnC}Gc+GXbt>?S|c5@7B^pO)Mw?h$L=!n<9@PgP+YneEn29-HxOdvo8fOb^) z*laxq)kaS3lCY2I_{kl76CZ0zW1}YBq;hMaz{e6znp92pAqWWw3dpbF6^r?JXaxbh zwYaVF9oznj2f>)p5LXN^kxKOtQAWjsz@*^7nRJOnFVw#pQjBKm>+X(a*$h_^yqco; zV({d#-P>%`7&WC!q0?$Z5Oonh^!GGI>9mOPofsj^;c?_hNjNRfiDh1%lanG*Dy*^L z$%0cFt7K&|+o^5TK55S9VBV^=?F!+xukG92-DWUNRX-w zncC`1<74CBr|!Eup~@O zS*QSpUw{MIkrt#o=@(!@y0akN{a2YIEl7J-q&*ALo>j_^!2-S$X%QUE90>z6X&|-Q z8s&48TY3fQ5)HC7q_#cO<5ucY5K z3Ir(#qjrs`ltq|0_)i-6=@8fJ1G_*WdyB^Jmuf`$`J*;5G|AoAQQG-=5K{E2TT7vc-Y77ZM$EZw1O!SI&N6Kfhg9Ui&+%Y}}IL3(BleWg6#zZhrr%O}Tk zDNo-fE*iKTZWe&v@}E&?h%yI?AU4WxcoPh`6!3vtf-K+Qhmnu62GU{9ZagHBA-^iu z4Lqr*cv51P@x7c8c#CnC0dIt9LA$s$=oi-qCyCDnFA!D1k>Zvh?Iq~oyH89Eq7mSg zb6Kz)t)haZQe@Hka?pEZ-c~1ij}wha+W4J#BRKIzAUcoba+U=wmx@!7tF(^bCy3q}^zM;VxA{fLQA&56Z za0vV2jS#emxxsOK&lA-_llWYa46C%FdBGx)9h^xyFJ^x-QPPSoL^rAm=5Q@1pIM?P zSj=_uIadjvQ-vSh$d7JR5zH3Df@K_2$})=M@kXGvj0gt#9L_S@V$Pw%RRex{S_EBs zz=6r6`lBfk-}cNi&%7TWF4-@~ZV!3hdv8cfW<^ECxRxQu$8-v1_U%%xHfG0HDsqo8 z<;ryfDHVU``Ip%~LbSGJFPJuMfw)i8Tr%Ah(pFX$`MWA$>sW3o{bX8QW(98k**?lKP6bEAU9TS$f2$v$Ub4hd6a$BXJlT51i_E?%jLfNc|}! z<5TrV4(yFYwr^ z0u7t9vd*66xU@-1gJuzvvL~RqBzW|u+jb&DwYkrnaqE9{S5;N!*39_2b?f4pt>&te zCnrtPg%OQsdbPXgmcguyrdx`-U*(w<(_Q7ipkZ2LL7SFu7$`EDoz%1_6A$CD{sK)(y z3G;)5wJxp+%)0AmyTq=a-8DcTe zWp!2yI3e5;J*@3cnDT}vV7_1O> zVbG+R7vo@|$-uq1mgyAD%}Hm(M(9vm#A$E#`8qH;4$BS7lMl`HVnE7qjlO%1*AjQ%O$~uf7Vp>88^mNl5Rjxw(7y>U7IL7AKVn1G8ulk6Pwp z6X=~I*Vkb)8kqNqN3B;A_cQ9UvI-G{^`Z=Q7nndy*2InwN{4N-xbMEtPyFB~gJ6yM zCm&4w{C$h5>Oyt`fPb=!NsBz(;7f}|>tOqHu7N?Jeo+G?VSk-04eh&CNY@ z=)dI@4+eUA64nF>7F@Q3HP%B4x|IH`(26Cuhan~-Am``X`W#W9u&ATYmd`Eu*@Xy5 zyobn3kfp2gpM34c3Nd=LCdzp83ow-Qq_n}gm&oI9nocrR5F|Xs53 zkecG7|9*#jbdhnI*c&1u&Nq%swxg@x*@0ZY1O z#A*1h1b(bl+U80B`%vvuc)ijBmmn&DD{cXIwW-+IX*W6pdJOIRS#_TEEP=V^A7`-fLR zNPL4boDt-1ZK%aEF&5u|`@)8JY$EQ_L))$Uai`dCZ66AjVRR6kZB(2_k{s%R&K_E) zLim8Ck!sLMo=y#MyT+{ejiBTfEz^(AC7cZsv~Fr}xXyGFrgQS6 z**p|Wly6wV?M}!vf@iW?@Qm#gmJsL3Jwl(M=5R2wRa7`A^Syx1>q+7Fe# zs^lwh;GL z1Liag&JTFMeVZ)Sm%cmZU8aKXED-yZsRJ{{=Uj1698_|tMIFR5_S$0c7J21(%+?!= z<%zzdyy~NUB9B{<&naj7r@v;}wtbfjs@k=~PE6sr^bQ1;y9Z|LG1 zdya~9F6}H36%_?jnj7DH@4d$6DFqerxEwl%HJLGO?l3id!d~g^XU=e`0hDuIrOe+wXus|-P$>Bvd1Y-}jU^l{4*C)@=Clgqq z1RL9V;U+DYpb>BgA=8S%k!LUp#jt*v=|VjoOG1qkSJkH`tRB{xbx}jUB;x=ES+D~k zArbO!nd~^}n+TW#fI(%41|UarrI8;Z z+5g(piu5<^Q_^-p6s5ga0(z~zc7N{RQ!i9i99Cs)hMQZX5HPF&qp*k=-3Nhw&k6(& z8@)y-r(fYqGHG@9^s}YE#|_;Slm4vPlm#S8ld}$n}X#PKX-asmU za+~sA$gF^mGBt*K0iojrU@8PFQ6J19A4$O^T0*WtCq0o-ISM5+PP&H|*#nfvM)sF% zP?XuMES8mrauIz+r>W>(gU1S99Ny>P@d#ZBb3*pQeDFGAF`GSvhfXXCpk(x-gsf<0 zNl`+GsZ~H}qnT}VY&NWCofeV<^P~z>DHEM9`|wY~laTHhu`3W?rOwylV$x8^9;{a= z9;&ViD=hb#OhQW~Esyen)4QoDcgXBcsS!-rksfTqlE|i~SCEO#qCZ&n`E-aN7O{MK4;L0JyO_(`Dm04eEOXE`r4RZ*{;R2A3Hj)ZK`drL zELc8#%cW(`4Pr9}#Kn%z=tF08i5aZFkVRVFhKRi2FmNA>aH2Dg1bG=QOkg4d`LAT= zDhtSq9ebJ`Yx9aMr+4q(`ROW6>D*mojlS{bn?S;v`QGn*_wKvrAuv8d z*3&gaA~IVL5~hmVH6E<0{@_QIY-P57>t3t%u4#(yuw(p{b<Z6pE( z0FP>Hq*+MqR5cH|VESl>rUa&Ia%96=Z?}QbfW?73X66_A-8jDS*4!iA!vF3|4=q~s z(2A#5;H-@z^$A1W*EB`~HMwOAO6iV%gWyB$?{ezKS!h3I#TILBI&=0=mZgT_f5ZDB zUqL1zq}j#8Cm|FuKst5ZdXaP~yXYcKxu_7Q_wO_R&{gx~6Y$$T^YV-tFE2;A(U&jR ztq@+wX~}Z9S;!8xX!$bbo_iMEPvYt2#y|R-00a<3<6|bWV92NM2}ufDTUs=eU!(&< zTTeL9k!WjeZEHBP4@q>`uwi(QYZ#}~srBpMe*5hYKgiBLasse)Ti&I(%cHTPyS~T& zy@Yl$n?Z3mF?hYHk!B=q`N0o=^rIhrUJz#J?AIYIMdRnGTH$)i2o!hLSky_ACKd?a zxlY_H+nXB?;mAT5RzEkrM~*ss_GrqUv*EwBUAkD&#dmkpJu2blx>L&iIa%4Nn&}KL zUo4W#u!opPPqlPDro8KLVX0tVKo*2Mt&hC++G`BM(qpnbU95$0oim3-!BXR4jTxf> z_*yvl`s=T}9tlL#C3ga#b$SU8oC+j|IgS7Fs^>Se@AdvmA>!+5uv z$T8e>)aldV#+f`N5Xj3{^g!$Gs{H&wUketJeS7!r?Gbp#WMl+9UI!zrZw}{*$e2H6 z>2m%_yT$TaV`x}Po+>oVfmO5$o+MTbvklXgjQ%woecTXtBUa>6~#t@w;(Cqqp%vwvyh5s;N8iaRiU-Z%?(IN5@W#f5Jl02 zW$AJT8JuL~G!W{#96B_7f*7Rrs@%aS1d*Ur!SHfiXv~~~ zZ9qAkP#E?A3;nN+e$$2rh7Au48-2Bdu|Oi`7W!0`5yFB8hAmjm=Ral-uwW0c4B7+a z=wf4Bz%ho;zaA%OVRUgYy4bJ>SQuyiG)_?c2kikiF%T#ChxPz^Xd&YSZH!7Pqms&~ zB<%qfMy0=I4^SDMR7NM2(di$F6I2m(`9HtY-}-h)o{ZQ#d9vpv zn*9kY)Jjxb34^P+o60gt+r^uFq0;iNb?_g1@JpiV%DWW0m>twh!B1E@Qx^ODRHKp% zPi~w{=T%Er`kfl%#+8Le|6~{plrED*_|-G?Gy^LR=NRZdoG@L3Rs(r8!XTMyFuU>3 zD2?&Yh#owDz4M>OUgv)pM;S-gh%NHqE&3lt&;G4eA+gtgMys&$;Qw0m>_4+rNKdEp zRr~m)Bwc`F*=MB-_P4R;XF$+r_K0U4#Z3h0)fGGVyOeoa-)Ir)I|J?EfYp%V0))|{Q30f zp|pRYJvf7Q~}^&9ac?DwfMx7O-5#auLfVEYn#AbPxn+;lOU?2`XI6#ji}30M{GJQphreatO*a zne}7%J%i;!mhmiDjc@zMtj5mZFwQ%myLhm7Nvp9ZNCr|y30JU)bI)YCm}MH}n#Jd( zELZT|O*wM-bn=~kdx9QDC#SUfDBVSP5A*RqtcZz-RncxDq>U%>Am zpTqeaO{GPIK$X}HVrYE3_IBkWLGNgi^@LCR?*p&Bh02x2KH@!83YhxPWqOE+_A#*6 z)^c{=pDY&RcP4Fu2Yk<;Z2Z%meS|r5iVs=Z#8Et`We?pT+kn`PJ|&Z3*C1cWB8t0d z4B&S)T;IX@Aa5i~HVRP<7ykJjj4!Z+8D~=pBgzxTZB-C$ zldF7X;4yf&DQgC9_U>|p`nRsecsfaw^5nqIsZKGgTr>`>w&y4#jMd7Pu5$5U%^zH< zMwID;KjjV7N>Aazg3E7H$R&7;bu`->*>B+g;EnwLFv8LYzwhE%a2wmp(^YckJ9JS3 zHxu6u$ZsK0Qw16c*%__Gk2XCCndkyE>yh%!^V`AVV@oczXEsYYwQ7RMracu0=b}wl z2`}v>hxSrTd-2m=u$r>K6NOYYfgVoAm>2Ro3u!MN)=Hf{o4Xi|RF#iZRZ4rYqO&^& zb#@;*d%hUP`J}JII2M_K+JuavaNTeR{&UMJ)89xR zOW$Q$*4E#zN!u%4VM}Qy_JS(RsIPNVn(52=cC!D9*Ej)w+`^@S@YU8h-R|+l7mO&* z9^yt{uV$n4uE`xq1pLU6x(T1u2j-@4fF|dP)VcIL^Fyfb7!uO#w|%=NUK`-$eEMnQ zQ+MNsnqPYG)VAD$ojZwPQ1SuE@oaBssCAz%DJj@rJTvETQAr6DeTsz9&6+Y~NUgi3 zX7_>Gn&UHOw6x5ap+6E5Z_iB^kQw8bECu3iU1pi4MK2ABFU=)D{aNu9bm+zAU2ZoWhTT?E)P_sgu zR$q_Lpg4S);aU12ZX)l>C_WnAYPm)^%&5AJz1ObQtY>4fS+l_Z-FT9=HWp`%YHuAe zf*iC;YpW)e_1xTAclN1M=SrG)wGBCY>QpwHfJ9JEa6>Y5`iXBWR;6SFm?qodZ_K5pD^851U@I>wD_7caB%_;Jlj zmgCv8v4?uWB-R}|`9MQwC*QgsVHzOrns(5hTOZfRz#MP`@!W?=!=sH%7C*$ zZ`5kDSQSRNzNMNynVI9Y#4Kup-`1s?)8+3!(PkY)lpHFhd8wVS#Eme$**Dy-VU|gKZxCq-gQlyoU%E74T<5w=D&}^j4az?BQ zmP$sF3G6+Vk!dd5s#rIlWgg4bEDKq#V!51U0n25Keitz!UBak2oiT0>qZxiubYWLB zGJResT+78CnJfWDzM+hcg^Zp9tS!?SKd<8qg_JO#J@df4hcL_1e1=Z3n(=cXYs(ow zr9Yv>JSsU$9#_brbXk-#hbvB_Pm`ngg^ZsUv9^ryQ;x!twPgr*UCQ`b$|!jO<7XaQ z%lK8q_*usIIfS8b2zNb%(hrg2r~NhJED8#->zBi;a!JdclVrtyj<*Y%({5oq={3?hHAG|fQxlKL$;Ash&OM_k`)r|VHn*oU1?wmHTJUk^Dq7U z=l}KV|6URX5zVi4Q*5 zv}x1nNJ972gnQ!7j0{JrCtUOS@6H`aK#Qx%!?t_A_3dwe`}Vmr^p%?V>Bk?^;Z6At zbSQViR30}!_1k*vkua3M{>WpGGO)zCtrHE_Q>Q#<8bZPzril{MURz^He(kP*yB9+= zvMyol-O!#a^Zw|P@}RV9jGi_1>;EQGbCW2~HfiFB$&-U+lR~hYz;n~rN8pNT(Q6zn z9UZ+Gt=t~sMu3qY)NIfN=H=Nkyi2&s(!aTbZOZoTpUR|452M=zblp_Nw9IDMEEGf_ zXT#`mqlyX(^Rfo7K$e?SLGDOc1h|xf4_RZvyTta?%BP=x`WL40dQE<7Z%0%Wjx1NU zx_i_1U#h9+&Shz;_r#e+xY7|TnMf?Eaqmi*{ONSR*_I!T_AfEnO*oio zwzu9oyM6niHETm6y;MDiD(j5w={kqmzO}b6utZ5&rI!Jswe8$ycSD1-?(9;;8fRpG zdq)(5Mk3~1YH<$9#Y2N#dK)bb4eo=T55nwTR9!xA{`D1erp&Lp^0pi9xaH=nuDb5J zFMjdsU;1iwwYW|zP?RHwtw)ZiTMsJA*)50*jg7}n<598}`vdjDnsWBE*LR-I6QhY~ zP@Q>s#aWKDxrA&)wtUlMyM01W4vNS1p63DP(SO2zRw-+hZxDU@un3vHd+oJ%&qXDD4)W@i z;u+;GA*~{{Ha*8ppBV31ym--~MN1cz>II#p9Hw2V7pwpVoh9%ugq5nNRxzHGIoA4gwU^hR{m;#%H@L< z(&Ik$+m+?%n`_EbClRBR-#tKV9#7f)(??%bl=Ac)uA}HfEp1Jw@eab2SOIWZgrk!9B8boTjZc5GPVT=G2M}<``TT%U$J1u zg_C7nde(K*H2(#&g4x-@s?UB?_D(;QfVx=C@#Ql|b##;ttJJPce=c1^Je{2X9Ur-G za5MKA^VD=T&#uOSdqtdAPEI(q92r%_)lkKGl#YbSOzJHRoW>^UbU@Xvl^cj6hK`&l z^2O441}nMMY&`pDw1>bdc!otRVi;X9Q8A^O^p%dddHq|f*T290HEQ8^(s%mbe)Bi0 z-+KAw7hfi0-}@iEK_mn$pTkGSa&t`!hNsgx7Zw&4<`)#?$&X%>?(j`m^}^$;SHJs9 zINyBfQND){W0{ZP=0=8&y$`Qs*d8gxUvgWZ^}R28nKuJmt!EvChOX&!*3ibw@SrOp zZ4=+sO*?y6JX#Ki!p~Oz^6}*rWNcXAdt}*)ciwz$-MZI)_vT|Yk1XP(x5#3R937uB zC2MpM#k!=BGUXTMl1gMIF%pi9Sv$6Tu>atR1N+O$HP+PHD!^Ups0tJP0ZpoN@n!UF5KakgtFYRc|F$l-uSfLECBsni|4yQf`x zIYZPpeo!vn4*Y1psVlYj$yfGn+S?}j&y5$ipb4gfU%vq;PP}No>FXu(;jDEHN5Waj zV_3a|J}>KAPD{K!JMTfj1)6>SJwbu}ZBMULYu-$V~`@1VYGtY?96H&inaIu(f^q zJWrqJ>GMACJCoVn?9TjW=0E@AcYJ@}UwwUxYw+&PjzM2>L9v!m)OT#dv%h(OCg!p! zu}3zvwvz1rX2LcCO_Hv_k^JL31kw7B)y z86D^cDU5nDh`%_dk-Sd61s6{6mm{Uvm%=SDvZq}m8p?F0G`m%Vs;2553nVk_(v;zl zAPK0;A*vU%5`!FJ^}4IQ;~0Z~S33~mTEWEk^mO*84A7R4*+^pLv`xa=!RFwy6(Vzo zlY@LN=`|T*Qi7`+ud6J$f&Z%`s+wiGNaAUauux7tnw9b~bzWtG$k;H%_x z0F&HqJjO=8nX3+SbMBPdrZjd-e^o)pFt)Uz?C}GYn7)%x!J0gKIzH6eIv7vcm3I!& zMa}fdR*}C>x}+o9<6S)`PIPz2?Mf3Vv=|=bCE3?t4YBsjfRDgVZ>C*2+6sj1*s){B z8RHH%@Obc7*Gcs%m>uxm>#kEH0Hh3NEe}Yp02TG`+DkxMszGTyd{Y=5SfnDbspu}d zjZ>%&yN;q;I}$huw4%o2QUR+alHKi{LPJk3gt*E@d(^gy31cQtE-x?814V)e!@SGv zrUuF))XYe^chYbu0QH8X0_~l|@rndP%ZS0k&xn|>o{SH54-R$pb-NX3Ho)?HR)7J8 zDtTHzSxBCJ;*`@SOqf1pBCc*3p3`(5;rG zS{FVYBXxG)ke^$BTN<%H0lWY>L@hoQE1eKXw+hHj-XLT zC@F%D96`U$L!-_^qmEEo1daL()+uPz=b};1;#E*&;uAU_jrvDu)YWLz)o9e!Xw+qB z)WS?EJgA?+B0UoiP6^s{F}iRO+O+7j^VsW4r?lxgT!C<)UXM0?KHBsZTvaLBbROFD zDD>zYwCQTJ>3L|=5+g<26h{}amNQM^-1(fd zlp}~b5^cKV$tQoY@dMkevu97qN*)JC+|<}|6o4^mo2!2H15ZAwE3LY&=4Qr%k(?Yq z^cX{fFT4O-=I=M?&fyk-vb)~JY(0;7oj)p1c)ndVFW>DdUUdDf7bw3}gbwxBY|mk% zlPq2@H~?0cS6wp?L^%6fM(rmly{RweHnX#d^G&O+Dn&=hhfnIJ?>L>`{K7oAA6RWa z__kQQVQ}c(_1ks#EWiEE3*b_^iYfl<=2uz2&IJE$^JX8!4p3aa`1}?oNQBbw=(;;8 z+}UK-Xpe>L4vYJxr43x+5zf|p0u9jPDLC(nZ(oLHxf;vzLrhK2DZgVDmEfd}${)ly zAP9C=NFZ2$ZeKhn6a8J%7NZJzVm659a!&O_cSLtqiY?F^sjDH6SyuU|)6O|(&e^BW zzwnDXx#S|qBFKtTRuF|2OjkZb5ySvH88__=#5%xSmO!+k!Xv0Bj~`3C9ZURO zcg;0_U|X?bY3)UXTwMV_=v1@P;$#?Wj^opm5l#sk;_PGdNXm2_^RH#EH|=_MQ&RvX z-RvD2N^@Z@$Bymb?p|JR8Sb4u+qZ1l^44o3R{SzaLzisvgma?)q1NUjhYue)a!lGo zX=!Oj*PbIyO~qKw$d+dF2ZI`@- z{Tr2I@o4<5AO3@yG{S-0Fq30%zZ+CGOMIA0kJ$#iq4bg^VNmjcAWb=t5uin9F_lEz zF*Va$SL<(65S@qf1DP@-!h^)IF=glNO9I&$8AHN>bZUvIjp=3d+N{b*PDx3ya7=`p z8J&Y>JN-pfd;RXz5@;L-V&U%LVd*v=w@Z>SjL9|4?Y5ZBUXN-M3u-Q}x3aV}D^sq4 zh4d||x)aAyG8V|E+kJdC-sOZ$(By4Um2x%ytX@ODB_{M#m_t+MNKjTx@bLA@DBys# zcxUV}dr4IlOh)z-Sc1A@F7uT)5DZLDU3uBAT@3?Sk%?!VK66$fof(QO-wEbCs9DB& zhIa1SRYqKxu9kUY`ApqO1t1@)B{;!kZ!{X{gX^U+Dej%!^OfzaTN$7paeXfA^8kOp z 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 z zDuzGaZvBL}DJv-{DW5c{yaXpJobvLECNasMq7vDg$mx=a44l)9g$B_6d!;#J{Utz{ zwxL*Wt((BIWfxsko>!xOZO?)_TCJ9p&b#QMQXw;CbaZRX zpm#t^a}Rb552je{1Fj(ba-T{A=^|!$wSfTmy1^mCz%)b+8$-hgNE#nXFh}bc+5vc| zA&Pr5O`g##ona0>;xFYR0T96e5#}#~Fad6hBj&QvCfqI)XAHr7sBI`Ah$ay;2YS1@ zdj|U3+B-qm(DXr^(3_h(JDZyicXto!v4&`V_l_Oi3IM7%Kl$4)M1?C~EJFxM|@D^^qkT3|S0u@x&8S?3VSH8Fp|xne~u_Cid10ZNi?miR_gPruji z9`+f5l!4w6WA9$W)#mHX8WG^Z5iIK4T(Pp9J9oZk|90-&Xa6|R%#v7fijx>|Vci## z@i8BX9eh+krV^dQret7)xnVFLpGfe~D<@jQX zI$n&WeXwc5#QgmI`*!6w?`qyR0gNQW)8rh<@Wl*Y_OPSH6LYLzzy6$RwOXy#&R<_+ z`ztR}&uW)nUPGw!Md}ag585S{ETRtgCFfuAzgmvFekwj@KZ8Una{=w`80$JmcU<{u z)J@hgc>LAT76;lHF2$Tv9}fPwTFZ+M>$e&%Q+FAws;R+++6}>2CXtdebUkw#aV6(~ z5gp<0?;r~Bm)WLNSL^y)L{~lhmb{S58u+MjT4kzor%s>N*fbCeI-Ec``v{1W z>Wf=0k0Vw_DR%ztZymi)KKbNR2M<2=vbwbl)AzGBSmq-`` zmg7*aLmzf)BfSL$y(4(a`5eA@+~@Gp$Z?c2B>WzpSsI}vHH#Xj(d%k;jG1D7*+69^ zNF|O0@hB&2#jXo*7Q8s+`dEW*4B^wIDSgP$<&HR~9N2Yo36bg~++4$NaS&`+Nn@3t zxC_QU@vnqpCX&Z6A>(?*Y96mzLc>buim%e(V2|(!J>+w+t1~s#fSjkMc6Jd(eOxxv zf({+f0vH0}3uF}>Fb3R1`2J!~He?W6!AQXmJSFAEqxNCN(uWmGAGS;Suw6XupY&lF z>0?aD=rhv?hnzz$W7u#G^VDG{K4@+y!J&uyyxtorXTumC95IdfAXhlZ|BW)zOK}v9 z7(Fd5IoW<=BsC}ZU`ww>xC*)<9kW51G(JGAVZsMfb1C7c{K0S?9kS{dV%d|`MIfJP;uo8&`jw>S7xNZ%ok5H2c(w8e8z zqcSLi+ABlw$xH38XMZ}<`3$!OQi=b7#p7tfq>d2a7EoHCMyVx4Jwt@Lv54j~2&$iJ zUq@$WUvFoV)Z6xs*4E}u*&{rN!x+Hwv0;MFTgUmlgfYZTgDgV76-7*sK$LrM1aV-A zHN+ff(nNgVWr2T^+EL3}*tOUZ=jD;H6qT0hNufJA05eW)p?IVp(Op@gwzfDKZEFi< zfhz~v6D5pYrPF2Lq}Y%)b=!VkLC@R9cR*lj7Cb>cYt}o5C{LHB9e)3~ke!ml z;eH6}l0U^oY%t|;&>NXfe0xDM+%PW}~BTfpN?ksK?BxuE{Ql?8jxZSpnX!ia) zJVrk6XuXb(!-bCH|JG=|=)*@nMnoU}kH&^{Mn}b7U;mWR(a$?JWDgAwbbz6+mpE%hY2wTnGu$B#N#9b{hP);DICva zNqB#zGUk%Om`h<;p_fZ|f2J_rlFE2XAPkcKWuH%n7C@U-7*5!fg~AE%&%&_Sy|{UH zfl6VVB{S@2Kbx(OZNl?2z}SjE40=CfE1BrZGSQQT(38nHN-EN zv2erQs{7T>i2l5KK8gZBh`GKX;qIyJI9R2gT>y%UOBPe2KmDuY=Gz5~|EEi9)bG{9 z>OOUcCNRqn%a|Vid&v|G+&d^KDFU z4X2VPJ4s*i_Y`74zPC=Se5Y5{ZcWr%N}gtg|C5 zSeeToZCZqdKg4d0MzjY=JF#~$s$KV}xxVZ$uCqd0y!e;NharZ!`ubY5h;1~dJh^FU zHZp@|Vv?3-u5i`N&M8nvMMU4P_D5aE@5HHdQb)w`Q0Sr1*jv^>wr8T>1e|_umF7|1 z3)FIJP%Xy}Z}dHzaPY)?Uo@CU-g9af{+*$SPCx)0N0To<{-6@zMp^1{=XB@i>wpVl zGqpl_&N=hU zd_`RisGt9VQN=CV{KZw^f6B{8d04^#%zhZE2c!m|M>kc);L zgDEN{>UwX}ds_$9n-MW}i;m?6{E8A7T=<0-p z?To+>5IFd*W%s_iKUih`n~Zbyk4sAR;4P4*b)8zRr76qN*rwW|uAAOE_;6+0T@lCP z^u_6;g=iQrZrQM*=|veuLsFEkRhIe{qaULm4^aH?Q&sBN$MD2)0Ch(6ZlEVeuRGdD zbH{Q1bVPJmb4hv_EyD0HMMnJbyu5f^7Rt;4vy^=3QJ&9>YAOP2fRRtK9gI74q$)V* zeB*jV9}?9x{KYS&7PPlJusEd0<{^Tfn0!1K25}cy`z{wJV1tEqj*~4LSx~&q<}l_U zaZV;f8>g`+c5oFcfexL+n1f&r&Z1fS!$dq`%pu5_Lr%Dc>*t`|pU?J0itAK*)lwGm zT+84NjWj@rW~`xtu?C+ig7)T<`Yf(g=;V*(+NoS|60~eK=ccn1s;QrItYHdtau&G} zY`_Y}8W{0rWI_Bm#TKf79Gy%a=JLD~c(VjTbOrsd_+VA2EOI%K=jU-z)!&}| z+u#1SqrMv2_^?ilN7I!B;K|p%^PL4C(mbqQ*HD-`%)>KM5hCntQIVl-SwZ)ax@jCMV)CDF9W=U({D?|f&;SI@2R zUUkJ4SE;MaSPC#QBRyRs0@A71hk~Md2;@$jHE&*JzB?^gGkbOo3_&EVtV|6f&Gq)X zL^Yt5mDPD}zkT1neIGt@&yCd*_SpH0)hi#my~7SCwEFt(CbahGkUkQPM!?HAVEy~1qMZPzWK(x@4nkspIJ zBlcE}{f{HkOHi=BsKZxS7>E*~1QnvgWyBn>m6W_DZP7*0a%bU-FILXtj2>i!CSmp* z0biRwMI-JVXwFf0;dP=$x=wjS>EGV_QHK_FbhaPtsKtqrEcqJ;P(x2BEX-qL)Zfa{ zRiQ?iHoyAr?mc@NpLus@BYLMio)j=F={S$^~f8n4j5RNJ_JSyVeF^_GxyMkAWj zjb*Xdm+dE_g3fS&DFql#12zU!qD&NEx%HveR`RiT&)&X_jJ_RePitBzgv%jeV@&^X zK6IKz#eOe=4Sn^Yy?YtQNS|DQn3Yv9GiC3tDN}YqdDDrYQ9P%hpde>*<0j%R?+by@7p-QWuOdV!=+2G(e(_UxVa?uy4{Bwzb znORtf*n0S*ww{53?nA?#!r4{-rqs+-saDI-HnEgtu|P{Dw3w_y`7A&_4f;+C3q)#-Kx;`?I1}W z>UK=2sF>2{=-NK5v=qR3`!hHIw{u2`apC;^?;m>TA@Gjl1H@`w6Tgr7;rMQ=5arhI ziPYM_d{0Cov{n&)xyt%M%32yR;otiBUQg7AM0IkwZGTf3Rdi!l=V9>nvek*SS3#1- z^cpPe_;7ue+s)unVD5=uzWnm9)*KsfU;3?YT?!4p-;DaTUYfEyl|BHBmwJi~EL*1K zt70~Su!P5m63K&ibh}Z~jSR;Tj~QZ6^x3P@iQwASWn)7hIxHa5blt1K3uZ_#J7YM* z^yLIHG>-tTz@kt${cj)Utk0L0L4I8Ie2#*GiK+d2|FU-NUz!hUp|$JRuT@VAx3BrK z!HntciZeWtS?`%KqokzFGu-rWHCXQdZv63s&6zU*U;nZ7W7IN)Qkic0r%gm~?%cUg z;-Y%%!H3Ss3ZdPlq7|^ol&z|ybrb+qSu|mv7YlKR)}B|u_$B_OlmyCW#9kzHiq>5p z8XV-dw1LCu(Ei%HW$$3a#*Gc?2{VYEcBqvy8`;0Tn>W|$o!Qw-mMl44{RJw}p%rL= zL2FYn!nsBJR(6f*(oWS*RbABHS*CbcY>ff3bzqpPGO<2XS;?@B-->Vk;Dc8kp$V1U zPdw4hz-W3}div1&B;K(zv%IphvM4>hE;Lz2o#vlbP&Rk&@iXVulrb(dT^yL_nf~@X zkRMe%kU`y;Tu-}A86uvF1MoIcBrRKYqk&q0uU5Y*hI1rm9QyKAQO)B3T&jLmrq?Tj zP<^031KVxsUZbziu-lKWQ54GZ3*fY~K68-xGN_y3c{S?D0B9O6Fyw|zzi6GAB+hF8 zVEt!qk03_?L!~>&8r6?@pTI%IP$>F2#-tBOsNbP_JS+WPLTVBW7^Mn1s9%*12a@g- zP02u7D$#gR>D8?QT;9{%Nn)scsIy(Xt*y#IuON?z*RS%pQF%BSl+`1sP87_M73ECy z(~cA56*|ZjOzfbd&`g8MkM0<~pQhO;gaQNNcY}>fVT(TA>8W4EV5r~2BP`Ti(geve zQVu|2T*V?+Ipt%3iv)892L(Z1mCjom9)nn-hK=V>U&~ARi3^2d-C?WP4Xz^G11cHD zY{>|c4R9M=m125EB%`Qkpet^g>pX25GNwnBC1ur2__4xp8UJ0#ZV6dc(26pVRWrkX zFRKQ^b2vU9{_I3}ms8cK%$gU@APtQ)J}$Ecky!(9O@de?eo%r~BrN94Oyt%eGHVJl zYw(jYtLN3yb=ePZG(~0|6T23xULL#!No$?8L%kbOuB7Cuxl}|fD6Z1~^hAG^b;Z(1 zH863%(7(9YOXw(6;e7NXGDpOOXLWn?(3boXW~Zl<5Fz%gk6P=#ij!(76c;!FB%nMV+bOs@N~z5_;VoE z%2?WSxK$+%Q9bah5=NyKMW{kI{ zcB@~TSxevN7h;4yV5-#qXP#NVemg+?poC!>w!$@1 zSdx;~pHFBq{J)Qsh-+>9rL;|x-j5i_zz^ZhKU!3aF-tk1eO)b4o2>2Hvpg&*2IIPQ zq^JfwJF;6!&5sMhp@aGRbDK;Dg7Dat;}2rekPw7LxbY^$U=f95DvnJsL5id zpOAb-`UNS+^d>}K5q|~g$S%x5!g@t$+$z;`=9%Z7J9+Z7X#`nTUow#cs{thaqW+hM zLsUEyZq0Ed1J4tU?EPBhSrlIvU(bhMqFnLkOnBS72s z0ep0ysUz!-`v4WK6^D;$%ZV82HO!P);)@!0J@;HwQ^Xd*O-d{wfbvFTyGK65h~DEG zOff$$0y~FYjNO_JMBuT{aMTY5M&Pg$XEPa}BKd?AYL{I?0v0KlvKxEwxZTk_pcI!8 z8(RwgN5_&NNT!350R#eV#Ha{tKVjUnU9ORl#PacHM^4p_S7Jpy6`GrYq?-rLEr#Y+ zLUZ$=x%uHBwDi+yt{eTJCrNijPbhRZJ6uXyPUJ-*e?oWjpu72DB7dSQ42FwTI&?P^ zx?7H}Fbley58VwychjM}nb6(ba6L3hj06$;%g3Fq<*qJDVWgpLD+W6CJ4mThdM;Uv<`C+T(K(8uYu?i;1o_MXsdAYc>pnjPr1 zT4_ReSD*w-*ZTXR4R$hP1bYsEbv%pAV;Vw`nD&HflJN9)p8t+)r}uB({Px@9N%!04 zO3%od^KIfi1B^B$XGpY{Ldp#x<*)vuQ&5BiNf-TQ-AWZp8P#vvgnebiJ!Ohb+AAXl zz$xNEJ1)bEM!q+)WR%pS?5r9&BVvfI6MFASloa2~T~w?K)jzXdEj|t1p?e(VPdA-t zJw^N(rTsSjmyC?+KJ6Z0r7}~;6rgr5urkr*(W|S{R4KYvC%RfJ_2`YJ(;F4h8x_$T<)W3%rT-}o&r+u$1x%wiIyO92WucYLQL{NW zodsL-&)FlD(IYKDD=VIJm83K~oY2bR_e7o&ar=U3WpmKV2GPn+r)MglXPQpWR7TH~ z!<*&urnzWkbI{68q-UC#?3pBPUryR*^~2|%$16=+zy5S=YHnuWL*|>=zf;{AaTRP?vu4faf@=F8 zpksFQzGzxkpcoO~<@(ECdUB4v{`%|x5~EfKq!BGOvKSj<zL`h1yf4cL|J9o$Kz#sO}#RRFTv|RRFX`QV<`lvd}p(@K|-XS#7ZI_{% zwUEwpR$^KD3$3>|%2Fpd5<04B(^FlY*}U$72Og-7{X(lKjB14ybrR~&k%i{f^t|-a zVD_wwF1qNYSQIFU@k^Zz4I6=ow(WlBS#118VeI_#pI_VB5+#Nk@EYL9x@w)*VLgoe zr{HIcHAgtg1OxvnrIZC;@O79EugN1a#A=NgR5_lXXf( z)~r)zWu04=I`Kpz$$7o1R094*jiIiCL}4&J7y@@4#IHb$Mf{gv{>5`puAcM7>}>Uo zh1fL$=fV6-=QlX;T?zgdP0Pm2cX&7ynl{Zh+`Dn(#%Y))kG2t>EUiTA4W6wn(4J@U zffm2j?y6r^Thwk0E!Sf_W~NN78tm@&hUcDrcDD-Pv?>)t?v!=vK!-moKg&PSZ*^Gy ziE1;^+=4;X+?+FIO0#rA^uKbQ$Iw4e6K3V>A9&`dc2&OTwb#o3$!Xv^q70l##4Hnq zq;3sjALWVN0f0v|ZG>)>V>&U9ogUQc-LX5yw@4eh_Eu=4EQEw}i?UMbjdgWjf?0eh z{&jnPC_ZdM%r|oE-uO4|`490vIffWcutm2!YP{u`&67+|FnF@#HFRCUm|X^xLZV$$ zGyE0bzT%22zFl$tH@|s)#T8MXHPQhy(d&ezNYJFQOI=g`^@bb%b<)39D>2Rg*GX06 z&}DiD4|S`-9>QR#T3%Vyyb@8J(WNNXXm`-fVh$vg(Bzfj7Uj!v*y)U>CDd?k(RA7Q z(Kz1T9!(qUBhUfyzKIAZs^7l8*d2Dh?e@>u1y`pU*==vMh5C1I+_<|xv=OippT&4} zcN}B-Zs-dz@N%788u8xUfA`(@-FNrh{mbA`pt2?!SeO+bf$$a)p5Z)uzQX#cWAkQT z-9ji(!b{~lj=Ig8mBh+LO&K)`hIgS4G(BBiTZT(eA9lrlMfzI(9XY=A^nR$x;9x%p z$(u~kJZtLgSU->TA|d8T)v zA1{wiz=B3l4U+$b_p)mR1tZb{lj*d-6Jr3eJ0K@Zg)c*iELSBOtdR0#gT)pc1*X&E z#01ajQC(55W*Ca_M5(F$5;qUZFEvdQPY0jsbNgZaJcHey|E-oUos;CvrV$Y_KO0ay zRSiHZ<0A}94E6OPH#%d^5%?t9H=kAFg<^Z3Xx|0_#Q;ub#7lRj5UFc~j=TW15})7 z8cA}Huzz0NiqkN>yd`bk@Wcn~Qo$ZG&Zp@&I4*;}P94Kb4E5Y@Y{_}3o8!73H7F+g zdUVTnfI+Ik5!<{`eawr8^$EL?Wf9P~!gxxx@=2^j{q*-4`CiZScc=!cHkcE)hJgPqWSYERoVbX`A=Y zBBkqar8-<`6nwNgp;guDUaiuM=y&6Gm^=^#g;4N4vXcj_%i`~vngP&5MD2>z)g>;& z>1v5o9KBkGu1yYq>J-tps8`IoD570mL_Y+88=G_0xw4t7X3FLy0d0`fvW<x`Ini9ZOrXg2}LC z%thqXL_Q5EpifQ_+TDRzVb2BG6@+g8;xJNN?5)yx~EPFYsgb6q>;&zj`pnxJCl5#GmF%e znv#^UGLW${kg-LREhZLV%uZ$ z#qbdcHZbL3Ps^s3mek7BmWNxSND)a9s|xR~9Xn3Lv-HtqD8fhCU*|fdAH#sYQ>qn? zV0?U-GnXqGNC;RT6R)Hnf&+2)s|Rs(?Ozjh4q(ESd^%*$o>IID|5c(~UVXLq`Y6(o zKOsfg(h)l>o1=KA2q3* zI3r%OHjt2n#^j*Trb&}Ba3L*B%h*)>#VfD8^4#K0n=s%YC}1>@5P!ympHT*wr!eXI zIriXGfGB|hY_t9VD=zc>>~GS3j#TcOT6IM5u`7VoczGpX>3}WuAoG;QTnIdfI|*qg zAscx@dXp~FPLt_sFCPB zM4fJAP^GVV?6EIcrSUECo9uauHN{%P{|)h*?fG4+R9~}3RmCr$7!yLxm`FpD=5vlV zDqr{;gc$tBSzr6wS&+h7(<=f^LY_&q{m~0C89jp%V|39jxz%bl+xe;?>Or7M$}^bB zi9BPoMZyjdUD;+ZX>#yTJd@za$XS7eAY*?QImOZa`=fz`7&9istQuAFaHHhcZ>g=1 zZ*6>i-MZHst;eHYiy+wv`6ZI(@vKcuYVF#mo_cES+Niq6yonDO73&d4EEMv3pS>67 z$@|uYURbkq>Cy*Y2!&9|*9H<|%9xOX`Iq0}au6}DB^E;PBmx#wo2#t@qb9a4yg+J2 zNQsUUQj+QeGHLVE&B29)HND!Nf8sQ6F`Mh79+6FK(Ztzx>ZxD6Vu1|zs@oh_oZ0pB zg-9kJ+4JL$pLcbsD)j<6ONb_8f=LR-DG&Ye_SekV3}EATE(X zk`l|w_q*Fk$!r(~E zy-dRrVZyOo%(kqhtCrH7?UGE$6styM3WltaDJW>W@$eE!iDFf)2XO*9hnJRoNZCuZ z4kYA>F=>MLN{A9;g2XDjyQQ%qNVxI#5z7}hpDrNAg;;}<$6?vVRz=R%z5_OgM_mR- za0w%&m#O2_VtA%+GeoxtzWofevD4t0E{4nbD)mz|zSH2DYT%g`p_48^awtG@C_r*3 zAP!7{jRA5N+tXRjR5Q_8&xEHEVGj3b1h|j zF+7#zel$*b5j<5Pdh059szq={i>R-Q(2JIFML9fGIXu;5c&aJzR8!!oY8X*1g`X0n zk}&HM_^C4ZsdD}aQb`&7R2c@AyLU?Y-+%x8Z|)2cGwpc)=BIDH^;WF)KHR)>yZ7*6 zuiB0{?i-4R3b5Pr&R(!!K|y!c0epeCiE^i(e*MD_Cr*qlQ1{AgeD9=;z3**I{_|dc zl7?CG-~98hUH}iqY;4-JDKziw&;P8lE{+JyHNg*}p=`8uS*S&vS)SGw-q|+&MHky&Uz60vEc1S43XPTu zI_)cqh+Fx`Aqyh@o_8ac-`6 zWa0#zFEz{)vP0ldS;yJ)mA>VV^Pa0#t-AZhWi_@Q5xt==w(NGmOmHv$^D;rpIL^9A zd+Mnw>mmvu+tk;uziR=yG3JT)-Mebly^r5}@4e4G@bZiAzyJO#A09aH;ZE4p4}bgH z4I5%57#&)@POL9UYkzMc^t){0-~p-%#pf6t#v;-3$3UOJaGBv!g3} z;q*5)=H-c(}!v zHgDd%B7aVf-%ZhFWi>X&^0)0yIrY?2bEu^8)Y8(@_?|6K-*($=4?n$r{nNi+0C)+r z^G~g<@4g#rsIiLe`3moE-iBiFHC|XLD#C)~e7W;CZ}54e+UvIoeh3$9Z@yV&6;ndR zb`{Zz3yJg=ve8Ny257X6x}}0F)c(buJvgjfRHrUDP5pXosKnp*F? z5T))_rt=mcgC41O_HWrjJURQ?#?fnAN3TuUb>odU62+(T+H0?!#I;#j>(RbkKH*O&hK!Kl$HymWii`8-d(+lH#4u8JXHVsfJC zqtb?C)vxRQE{b=^(Wedf(MxOoxpPmy?z+payzaWwN*7MUVK1srn?3sz`QY7_qZd`Z z%MyxeOp=)np*zk(*)!(oD-2 zqwE7&y}@Yeq5S~7NVYr!1Lz2&8T)!i#IDro97(YsXF2=p+yk9WO8>zRbXp=B!yfFt z#c!g;*Xu=;U63Q67mx-B~p{Y~xULhx* zsIiZmdv``1T6S+dY7iVaCB=w3dxRv$%3uSFih4;1g4sPO4+wy1#TBV!9zTK!6;mcn zE-09+%1m85=!}MT$NT!?&AvcjK4)^v300WPUW~@dG4VWKs{`=`U1rux3i}t+KedTN^wPUXoi=mfgc1|oTsrgwo!QMxlRVgV| z^kE%liKPwlo(Ed{`wu_FkmO(HZ>+rRvdd2CX=^(yhRUw3TZubdBIMjN!l%j4&(H9* z>}6^((lI`VtB)IwR2owsAHx&H8$G3!5rDq*ffR};U95qfeK|RY4#i49gYl;m`8kt* zurs}QDpPTwjX%7kC*bQ2xLg7Ii-!6KeLgEdH4J3*cfI}g+xvR)z8U1Bwzucz{N}JjdAGs;Gki|8uBrnr#dn^)!Wx|@ZdqsG2#HyCqU#? zuLA@Vw|ih9)=-8z<|Rg{ocq)yuz14{-9yC!cr8H?F?+`s=S%S4)kL z8heQn-gq$T@9obLSuYLbrNRQ*O}*HwFk6$XAGu$}0GvAe++v(abK|ckW~&AJ^$$J8CnR_Op7N^ImVtUCKre;eqpI?p|VxWyuwR(sR8v12!qL-^8NEqDlaO`%dg0};QKX6oz|L^pItC9 zGu5A+Q#9qgA4|~8`_wY#`(R4enI%Ew8A2Njk>`DUlS2W^pw?y6f{iTLHf+-|7cr?+ zA*tO?`7};_La(_~vPU0%bj@G!miPcq zolSpv0)vV*PpsR4GaQP)UC*t3^p8x0vmsDU)X0&5!#PofaZzg2Xzy!n?S&UiHxXyx zHN{-;EbCj|TOJW-qAgpV{na8y^%4$XbF6ECj^KX~uuzAak>b>_t_``+KSecRS|KHB!?-aQ*P?or!Jy~CXn^$&Cm z40IAt*_rF<>xrgxjSLKobn_v57{XgT+dQWNjk9&jdsDu*K)u7&Ki102tF#}(JxwyJ zwM=kAZljw05zl|ZH~)4AxJ-Ypwx+1p+~1-^=KWC9s?;l<^C7X<9D6L(F%_l4U)H|0 z;S{IkZQfwO$4iACj5p_!R>XDd0x7E>jsbnH$3~OMbB%T6> zO@c%vU2IafiS>qA4DMkriT)@P=VP1lK`n!!%Jsj>|yf5Xwf-amWRo!hcP7NKVkU zLyu@{aR<5uNRmDx+$mIucqsCs?nIi7o=Wy)l;Qj+9|6&b{!HR|pY?HV(!r>8($n^2JQ=TamA!=Wh>IWA^Ob*aB zIo+5;P~A8wL&+vq6YK~J3RcQzzEFfw9%pNWxz*kkg?flI=>bM;_alnPKEd0k$|I;J z78X5>8b^U;iID9mKrVxWHW}wqXVefJ7lWRhlx^DI>yi2^2#&U|lf&C9&k`SD`@N;B zp&ubB2WCc62z@c#!&ksCirnc@>aAASK(RQ%{KVW+UR3Ut31$^hGnoV)7*Y={oWPt0 z-vdSr>zr=8V5#qPEU+IX$9~X8zB-y*uC@W_N!Rw$Osa?nzD{nQEQr;5=}m61E~b`PVUnv8y`n7zrih6;cF47=n}(&xZ}wum2|1gRBIG{KEiV_i}75lU|C_~Zs^eN#+WGtmdWLs_uWNUaLRkh z{2TXo=fUm==5zGcq|EZ7y4CsJ`3$$o2)7J5I2{OU{rcY~l~uvtu7CO|R8>zs{miqds-9gR%SiwGI+5<%`2NPOwkMz5 zs9_Aeg2Db_b>KjGdC~Az zK|eZU~R_oRHw)oasw~KyK4n}afsL_6}7Hjutzh9d0 zHp+6>nU3l2U2*5Qzwb?7ew~crh-IhvgX+d|@!fFVefP`imIYXtecL)ly9Fyg=qy87 zR?G%5JF-WxW7CDGJNLS|;b?kz?%eaQyY9O4k8FygTJc<<%0N`X)l>|AHD^kHfAj8+ z-j2N=wsd?%TrcGb1RcTz#7dC5TMVP6h1v*(W3qRg&R%Dx>}5H7ka(hGbOcU1D+*K- zwb;?BjD1l@qcM~h)$)d7zj1bS92^*qIeQ1%J33;wseN`u&w$~sJ$fVWAIKQU@T8}w z`J~qSaC!Db`0z2tXyk`R#ch_2j37*iMA6^V)giv_!<`5F`#U?kx_amUx?8&Aot>~^ zQ6mt*c_W3sKBZfa1|2<`3vGi-8|uT{t$#?A5}P(PHg4MFb{}rpkGbl`{Vj*x?se;4 zYw?R`xToc_Uv#UNEW;M!n0>bv_m;D z$A=$$@S*9PGHu!vRT5%6Zg8-vDI){S2`Ms{LuF)q^wB;?5qjInMUH(ReZxWeh;Rb2SL@YuoH2Dn;RS62W4WdZpJN(E*Aw&dCQLwdXPPh}FE2a0Fb}`|f&zPAtV1}*#vZZ zqfJi3g)zrtkF8l#ZOyahX=~PeO^9&(o%p}Si$~TbX3Qu4Exyqv&VXanes73R7+If~ z;}iL}SwOQRRU@m-DAgYa`0DsU>!&*Jf_u;wtfhZbXl0`qKm@e3orc21z-9i)0Zyz%7qtRbP@l)z{J0cF2W7qHq{%ofo7vP z@#N(u$u=B_&1c!XmJo5>wRrwF=3jQ%j~A%F%Iy5{WtUuX?IH{co=?sX>(^d#NtN0W z$#IO(QTM9AfNx-+FDnb9><&kot#B#*%{$WzgqpU_=7Phaw#aSoptRV+9Bo zjfElS0KlXPauxUx@JQLvDiA6KSJoyF5Cofk!3ym+!+m{+5AW|D;I@J8Zm?wmmhI|B zA;7vvT5mTngN(yVpM(d#E_BHiNwvDI;qJ~uo!x_nTMr*1s?{$9%#xEj92wmflOyP9 zX&JP7+B#tdNBTS3tU3V$(Bt%Wapm`VLm`@LXxp}Rzhkfnb2fYasr#Piw{1Ic;Msc? z0vM4nf%%GY<2{elH=xZiqhVa`HTC*_$X)B}l@nmg^D3vN!Y>A}AQP4}-7~QgTarn~6)474LMizblO|DmQQjb` z9qx!ax(|E(QD2H@Ad^Fx1Fkj>yJKa+;QsxaHtpZv+PZVon?Oyhe{<8$*4Ecw-?{ni zJxm)m?|l7rv^`PE99ve^7*&mCW+5M`Pz_a}Yn(o0Y(cu-V#K_sp4!#5WJy=oPkwR+ z3{jU>sr@iH&meT;Q;whfWa`v2)V-=#J5zfhIiF26S*=f#3mH@~;q3Rp$XUy$`*S6fADyYm`K>>A>_#>(2-Dk~2jtgJ-VYTqS5ctCa4I&KC|+DGEi-4Pdpn}p9bWGw%5##pdth<9cfr0 zY1(}a2|EF2R5|%lFh@XIVKkyyHoZY0xs6f$L@U7ZyCK1CINV4vHm@WNE*%Yeio={haV3G(a>QBW|B*~>DYO`HgbuHaFXbmD@$8|L@B>ce8Ktyv7Ep?+q zag6lzj2xA<`3z({D|4*r&?;y{vdRQXbI1X#Ct-(%h7rzyUmc1-OY1!XZlXlBj?^Zg zpn5HmUo6O_$V$AbZ4o3Gwg_J7U0s+%V>W;cY$;n%HT{QR3c&WvKr^3#C~Mc_{I?I# zeh<7oGnbE_JM)-a?#MajeGz?|-ygk37vYs6u!UCSUf~w%h}VQ>uyo`!{vx|WkGoc1L`ETx(Vb&QIifz513A$@U% z`?V;`+cs@! zjd~7kDMxu>g~~|>X++emE{7J)W^hiF9m0^&`v@~fF#_|Q_#D}`o`7<;i&`79-vuoZ z8RC)zBHK)CEEXf5&Okn$fqaT(syY+9)JkkDW+9&zVPjE&e434XTEtPYOP!5;nvIP` z5tg6nm|V?7KFvi6oPl(A9P;UGY$#4cKCQ%tViuC!EUpsYzXI-_!M}5mPiG;Y&O<&8 zBA<%yUmo&l0oD!2S1sb~r%Y8Gm*psvAhJ~>pO#<+GJ~fP;|p5~T`fR9J)V@ak&@Gp zQFD<|v6>}se)5pb)~9A5qvj%`=97y&q|fobf76jsbC6MUkw|lpQA4DTbuHJ0NwtJ+ zg_>~hs*a)H+O%ZhbKIL{`_}iAig`U zShk_DT0N(p^Y$KuBp&Qt+<2vE@HxVKx8usjMqc%9Goo$T63yU?TLVpKu{X?|8R+=n zPk;K;%-DqV0|(NdUc0ua5L?Am>)_Kx6X;j+ik^O2tu>dWShNJN&QP_Xuptnm$6H<~ z=Bl}#Xuy+OeswN@Y2IM&)mN+Q$)lz#Y7T9YY71p|#3ne~cXo7HmRIyps5!d4smM!y zFUDY&Stsr#I9`d;g>k>EEJkrMVL_#y(F&y{N)2bFZmF`)*M758Ku|&s^S$?w^?v9C zWHpL+;}!9~i1zy5*t_1k-uI`Mb~Qi#*h38skE`6hThfYV_V(r!FjUz4&OSh#q4ZYH z%$YGM&g^VP1GaAM_Dp1qb!#kl*7Ti?yCzHsrO^gj-)Y+wnsM4`r_BiM+7*l7*Hx}-sa5(1zPK-r=NbhAf`v&`WyMk5-gOH^5T16e)+{0ckXPDr^1l!jNL7MYNAdg z|H5MEdPKbl6rH!V!v_F!udlbY+FD>O_?37N>OL`!Ro|=9a?NTjSIb?x92B)tJJ@Bx zip>6F7z^64VRPCU7hinwhS&;F_@XRzHwK0n8SLtsH!sxn?t>3LI8S`Lr2HKCQ&D(4 zmw+8HE;aR5VnJ0siF@K+>J9P{IEAG#vUXFTJqg z@#on2+v6KHsJ~D_`ucly1`}|R>hD8`I~a=?Sy>9oY)LARN>P;>o8Xx=t7LI?b=;yONt;l-*dg^S;8?sE zr`d>><*!4vk)AU#H`g?bKnR(wc0yapAAaEl!`SuOlQ-Xdvk}V;6?Pxkff?pO#1c0K+iMzVys=Pj}z%Q#}Z1yf??2`~UwxpMOdsAl887a`k}ElIv%YTKy4g6_4RXy&V4ZmsqBB{OG0}D+ zfWP`gVyA5~V^zW|8dz3Qa`n|$r~DLLP9Xbg^a@0Y;OeXCiVWP7`_P+|-iRrl0OmDw zh#P42EYcjMRkG-|(pmF{SHZG`y=9}v3@sa92D@4&2evHr3Xww3r#t%;QE@VsTFQwA zPUTk`=xx;mPa)`xQdCpTT>Bc(z$2x@xRGr6Aso?Do@2>%2YTLax8b!jbcT?f~W>!XLn|uB0 z)tR{OcdFi|_4Vx$hc9#edbQrT!yfB`nynVlr`lE)+tWJ>p&JTYuAL{Tiv!BE%GCAF z?MFC$e0!D1>B2;{<4Jw?nv7#wvc5yY!Ix@>C^?r|)aO%ed|tk|OmQ~Ib{mJV(D^x7 zk+!sG?~Zr&y!*~O^~Yhzx)aCWt*<|N^k{wkyYH&q#xjtAM4SRgWmHMQR~H?24R>t% z)vqR=i`vET5ur`P2k^dy!#8bGPml}1`V5~hQ$!g!9Pnk)Sc!O${crOKDm9JJWMx{J z+O0O~ix)4RqyD4~Q$5-^wZZ=VIdkURHVcKi@!EJ0j~htIo>P_o z;B1G1Za)0|+m)#+Jonza^F6qN7W-KCoGmVT4tGnH7=cn8|HbVc9g%FQTY1{?-i{8Z z(;En2#^*GP7JSX=@Xnu~6QFvOPRQ_He|2SL<(1bH7U>*r!+U2&vb*tcEo5<0^JI}O zK`^!U_8O>AtWNQGAw(W%8`TBxhL#jVn2DwAx3yJgKqN}f&4??qAk=m_j;jbFMF@;+ zg$P(#==AjUq6iZgl@Q(M=%OQrWr=rn(SIOwiZj?knt6}g_W%%*3|(&Ca1K{&gu-0 z>a+0#lz5aFQCdZqnOTGBfjl3gm$J1EW85K`5vJPCmFY7njl!nz|CcAz!zcZq^(L4Y zqhn1?gLdoZaX0k3vXWCB0!)(G|YNX{OtsIstH3Uk27&P!y=;wcj5}yVo|6R193!&uk zxxtyy++CtB_=1%DRGx4%l>DTAZRks(ap9=G^b4)XM3q2xo;kw*E|0;Ej~ zq2w1p$q(bqaOm=(s+5!_swqgDrXX!v03}}xB|m~QC0tbwB`?w@kvo+!OWekw43pj6 z^npjV|M{86A2$MzKfZBqbO8O&%)wL#!l;SYa!=IH>M=Ud)jk)jIz2CtGnCu}K5GdcPjU-^-81ogQc^8C7V)LI zIcI)Rt53vp%N%Wj%y=+as$HLJs-pSovGgHrBr~VN&XpfBOdR@)VSjCx+WFgvmc+;p z6)!E|f*>ZW{OTGv?9vW(&Fa;kIy@!OzD_NOU4d{h#nJ{100tT?Jk~iufLQ5cVGqdM#eyQy8!}c&p z;Po0Avnv-bUR)V^>CewS_uQYK2dq*@O!c3$uv5HSt<)NhEYPM|bD`$qGjB)4^&#S} zIhLsFJ-p@J>-}L>Rn_ckzx~y3{~N5;ohZU@*7CJ!P<8{2jLn+?J2o#?qA=Z=g=-VF zUc%E}C$nb0J`V}l&(-g(dA(Xga3)H!)U242NPH=gpeM`?mWRsAdwa{vL#~D%tP}Ph z_~^jC0|$;BKk0Ux_&}!&+tf)k_jB{jjD}_y!-FSPkfVi!7NbdG%IS7P2G=>GwR`rs z-89AH?M}XZXkg*sysWJJl7P3>bQ8Z4{n+|Euz8w#pkflnti^dEBxb5s_2xe>CGZ3K z8W=8~m57-^r_gb38{T$0I^NA(9I#Ubenp$p7#GR;<;1Ep9)t$4f zSc}(dyFZ?bGa8v|Qv*_8a;sQl4wmf%n9M}CYl1{sczdpX4;7HcAd~HTIN~Vq7s-p>hvcA5(-3VH|S$mr< z4u+ypKDTO@5H;T_Z}00vZqvbR{iqFWA?-N2KL-RF?w{PeQ&T&6?=+o_LXLMe-RtPwvSoh5VbNt} z4&3p?dqk3>R}R=dTz}`KSc=H}Wd_xo2&D2Y*0@$@u>B_6|H?q|ErRnoX*15w_83nY zR04aDbEuWio(R?-7dK)}$B|(*9v5a_XaJ}wf*7#aFn-jt+Y1g184$#N8*a_($Deq1 z-V$8X7>tMp#J1x^Fz7!{<<7Llr3K^=!n5v>#WFY@L3ssD3v!_l$1>HRrYH=Gj%tG4 zW;mjBhCRK+>okYuJ^ExwA+AsY^S8CX_mbLT z1iHKVCYcHCxOBPgW)Lk(0^)Wy5s|IErHxkC&992$_+D5WH)fW4OlIG|FB<1*Z4+6W z@3MKgc6$yHu*{8Wt@}T|UhXJ7cfvP+RH+`L3LY@3RE?_9(RHW2c+P$5U7BMb3W7$? zTkWXyw{CPefn^S#XlbJ8Mw!FjeeAIflg6M0)0poZHhQ#3){2^TK6O9S>ZjIkT>r=Q zn_qr$55~Fy0I{P-8%KXBL{oDm&5T%#t}tFcbqWadvR2B;RQql%e@8yva_H!>qaVGU>^rKq8qUT>df>*gYSmX06gAHr^-+)vN83c4 zl4(lZ*cwZ0lXf+;V(kjR96SOEc96P*_JV#YOEv0*9N^Q-B!j7Dt_4dCIE2sSkii+X zq#`SYA0?5vI2=CMr$oZ%^XM_8WK5m1LP3=w-`$6sd2pT>f)?1~U<`z&BN{_|Et=`t zGCF?AfJ~$%PZexe9$t_XWycsQt38P56R`9S7hEq^2}ITb^dfen3-*iv=|uI6|I-Gc zPiIJS)t@1>>=QsPNn}#JF^R^4H+XdF$&kIzWD$jI5^1-EJDL{BgA<=gy7&k>A2;0FK z#F&U+DbI*YAWrEdF?Nt@r@_%99}~jT5y5;}dKe~pZoUF|0$F8}T59A-KZlf2$lL16SUq-(>F7tU03zyxL^ZJW>-p+=@}?QIVDyK3XzXSGV)<+As@urVgML*M(%L$mPq$(#Y`u<{QdN=y3ag~!qK z9*36`BkZthjpQ{jmNi1%^wl@I3u%)EKFI0yqfF%~1kro=Q$Ek|;$ZYucq% zBMNCyS%o92E(Mx6kFd$$pg5r`EKbm_%F8PXoO#N2?Q22e`}(?A>TRu!TIidd$O97Ws5deWFHaIEi`ThE!K_Re0d|3<@`|l>qq)Y= zUXIKs4pG|VdT2`KMK1F-8H8Rn7NAvCX3c|BGGCbbFPw8hLRE>n6(v+^RR>UaiJKLH zmc>q1%PztEx>PEIp}xLQJ%ed&+U`2N&Qu#5SMg14|FRHEYmaur8M7V4>Z@iI1lMyg zo8PihKV@lcYZ%xt0WJQt6*j5giHRap@|R&{Uus{Cz4Lm*z6hi1YnI}7@BPuE-#72@ z_*D8LmAFqX^Mx=?oMda;ykf>RqD7@=;He6F!n_@?92DkkSeuzR|Mq+j_z4 zaiT~dPtDg&8x$L655Ut&-J`+5M@10}gG8+ho93ulk)MxaS%^HWcC)=r0FzsexreaR z9rJl?seF8S4jH267@8;FEN1jLxf!wZP*!+>GAWJ7^QG@a)U07BJq~y_jG*pW7k7l@& z9hi~fKc7g6{@$$44~6KmH5HWk{n1z-kF{lLV{;Y`KpWD+;63t@Wd^Dn3m!Sb-E=)~H?n~Zj%?RO{kEf_6ih&&A4_-ndddXrB*<_0vi%3*N&nB6!UvD!1tgWM78T>@t~#hM0z0o8=YXu@TS8 zW7za)KBI8A4r^#DDVg@o`N#==1AqKD1NYOoivEr3hRLEZJM$ajrEeu(R-WSj2?A~y zj&IH^DJd$FNJ;lo{q~6^GeQ}!1J48bH1$L(*ul3rK?8{c5qRN6P$8sxBqDj1-hh0y zz666PT#0n@aHqCqYxtn1RX2%(4iuZPeB0gugHXK&Dgh?cD5Cy~WK-O(qR0${Ba>yw zET(^!@^VZJm&M+oE82$oPD_UvHj9OGYbS=x&E}dk@g^<7S}gAw5HfmRyf5BKz_OlL zFIEb@aAbXbyI#PyP8uuG?sALjQ7-C)sDhv!=xTkBG?65H5KURH5PcgPQVfo_wK@^U z3q}7TRmKr^bpfae*X4M1d;#pu;9-V0KO3H4z!(N_iE^*$ zX`dJP;d1y69M~r&%iypFUWPsqgJpX1KBFQU%~3tXrAQ^a+x3CMCc_xocxs6WgZwD0%qY&tznBgqijCKj!;bC_|1eki?pHI9h$-yjnga> zRbnm`K**lrUMBPyK!?N)8@+_E@4O#9yXZG3;}l#1>tyLfKnIYbk|`_5;1?gu#FGKN zh`gFitgUUEo{uU5Y1>5aqc;Zhj?9O!%9Mf;OeM%I8rIk*BM1OKOWDzePU0S$kwjT2 zuHj)!wI{?pS+dE+Hng+L_yiQDbbB~4&vN&=86TV5fJhU9(j=7Vd6{cUcQ&xscEo10 z;vXJ=e+=$aQoe#%Y@px(`RDSO>NTa-x76j4b`l_GsI%x;{7NPTuCcE2dR)R&;S(NP zWXmB0Um%R{K~avebTt0g=P8ktfl;_v7pJvOK~bd0IAqzC;Gdu-R~{-(DW#_I-ckegjZIVuR1g>Gn3ue_XFTqMed6NtmI zJ+^9(sDL;kHm%P^T>{JD%T)7OsA_A_KI7-7-k`EBt|)L?0u#e^R7xuevJMp>-vu0pXAoNZhrpO_9%nNd zWtp@{Ho}9n{V_&&3`PhP=vTR>rWpMY2aLGe?eFZtP(Q)vr|~c;Diu2HpZMQ)g4Ezw z4t!<;{}ueBvWi}a4pO6o)Hp$EoN)X)y3;z?#DCZSwhm&WgV;DgY;+JC9mK|g-iQOl z#;F)((HoJ7U^;puI(Uf=VxxoDI6-V2=#4l*Y;^QSbo54aFd`kz496GL8`0Ge(v5AepkS>c*5*3dyihjr zu3Md+*e;VJM1bu-^7(&;+Mm7%-w%>hrrZckebyb2dS8{3xz@=;r%xK#LUN^{9+J~I z4wdZ=>#DYn~jsC(jj`X8-(j{i;F)4yQdbDUB4 z9Q}0f zhOlJ;o1RLKH-a8dG~e84zKL&ziqH)3-O1F6a{2>1{a7|_9lI59=Bc3^mMr>$!OU2_ zgwipqrqgRp2#utj<5wYc9_ftce2JRy1#8aq&=8*OQ0IX&j|&yDZL|6&iD_^?z1E=6 zG*uXyN*_9jJ`}r^ke>y+6>#QKaOPqwhXYubvZQ@0xaq0Hzd~*(jWrk3Ly33L0ctFH zEn*JwpN?CF0w|~`A~Cpi>pz%#;@!Wzn^eC$^1{P+JpA_W90M=7z>hAOGyN~2pX{ib z3tA~=m}6&Ty<4fCvCaPee=Vw{zuSqDl6~hy<&+Jb4Pg}|VM2Sb_VFO*1fFdZNgsM; zq6BHJ8Qz?jxjPYN3GF9XC9(bxMcABBfKD44mVWU!f(+57C1Y{ZUpx?Wb6{~vC=@EG zF#Hu~?wdrA5ttDAlgSm|{&M4?dpDTkvf;7R_w>h}TY~)uyuy!9Z3YABY;uQ{(LkZ< zINsqeJ~BY-tnUms$|p_Y=|=xQ6d9xn!#fhWzS`Q75(pJTh*v`*1^7;Wgz3abClgpQ zBtEt0`r*yjU3cBhKm5rok^HI}|4;BNFy&JR)lbY-;`SL_DIGxy+kaj2>k_t6T>9b! zoCO_o)FBuKTtdIgB;Q6}8X51ZP zTE693HGq4;=9Ovx7p>dV|@1hB1G|BrKvQ zRpda?=jIvyyfgPrOh!s(TzBiOw_ZPUaK_=oRjN+a>0kNEP4i&keh=0q^OM+N-~1KE zo4*=x%U&dK;y9Cx7+16FjkO%h2f|)VL^9NXd`^GUA+qT^>8g-7Ahme zJLAw&>79f|7oLscK;G`eLkdP94(AGgQ!500Yf}T|*-&rz>(AUbSNZz-^b}kvfR|32 zPbM9D3X&e-ut1g0i0%|K;&}DxO*6|vt9cn-hb~vT-OTPj-RZ}n)b+7nH}s}rEe%cq z8Sw*J8Q&DHv=f=rC3~v4t}f;&L{p@|9jo*C0F9&GqT!$d!v=VxsQvhI^C@HEJpn~# zn`iH3Wx^Fn&7|*@hXdYa;(`|B$*;RqYq##{>q=$@^NNe}f?S}<2D}-iFUm{YMu#H* zL2o=7b9hycC)U+#_w+h^g~YJO1wi^=6$3p0%`^2zF`=lf-MxFy-u;N7_J2emu6GSz zuP93O_4e>_d(5-yU%T0BoHR;bQ05K@Y%PTD{&CN3WS^3s}em?to zX7R@#H?_3EeYUkUeT-(rvF+Q*HT8M_-aXr)OEfJS(WByy)n}f$jsFx%Qp3HKtbL*Z zaO$^03>7G4?2a}1LPiHnuvjfeFMwB6+OkhJR?)+vU8XHN^}mV^h{Bd}QofZ<55yBT zhb<9vrvDv1ot?=1jsAbJdf>t|&d5JE^9bd@aL4+`FPqB-+LHeN?{#hxjFDDBeY7K} z0Pw-&S%Oiar~|kwYZ`%k(LMoaV|I2&e)d*WK|U@H9Xdx zy|>CIxu>9bHlyI#d#f;sK`X`uV=eFiWlI5~H>xdBTJ_&QiB*L~T^OJ$hQ_eXB98Nz z(hxCTK){+`4WD(8Jlf#3QNj^TNnBl@wYQ3=i-SJ#&@Wa%);5_Y3j$dHS^z4WXKt_Z zyTp&Bmk%ON@eIH1%zblJ7)==_al(PWA zxV6b}Yhs%;0dB1v9!+?$3b?fjxV3Z93Ua`$oeQ@%0d7sKlSHrSOwFJQaxdQSBwB;( zBgR{MDy~I}n(E$Kzy7&NlL}BWwgn14DwulhwbxE9_~;`QFpP{%jffXsd)4ZOVjs?! z5edel0`rd?8Hf^uc=JfJQq}sARBGM;1_T4oz2JY$LKO0hdXlbdKFa(%)O*(a5!m8&Qc0bx5 zh08JrCcJr?HnF-)I?bmJYL3)Rb(g44_Vr{}Mzmm<($G!%C-*dL)QANY<;SmHqP zBI6s0F&2zOhtJ5+;)%H1g)DaX@WR63BTMosl&`4B%18jD@Kgw|0fndDD*Z<3x3b2| z%G7k{2XDOj&he%=;U{ZXMZ)*4n4g+}>nO3c8Oky}`SvW!5b1pH{V+st|4oSc4TNG> zYd#75H-M`M1(Oa9o=qo$GZN)rk~d-pL;A(nn0 zpZonEyR6I`C8qM$GW3hm@0%`t;l+iV&Z(@g??B#Q%PlQ0M+A6cd%e3doZVNlV1Y#v1rhDLyxpj*A*msWv)ua|^|{z#O$vyH~rH^^!a9 zQu+fX?(dkE5SZBvv_vry8eTT4{l(R*R}VMQJzcI6E3o2@u+&5xI9p&^B5|6fs7hXY z?SywcM_x1UQeCD*J+&iyOvh_ZMilnf8sr70zsROAG_c3WS(xv}wNZ_9y%&4ng+36MvQD`z-= z0}6-dV(E_gPG)!Ed{AJh7yW*O8 zQzXseAG(YxT5S>iKY zEq8o-0fF28#mLIb>pl3!8*jY11EK`&>l0}e{P@O>t8r_R7D8$5~XGMvqw*y zJZmnVSs#_S_YCuo8vfh76bQ|QrRTc-7;}}$*D{`b^NjytmJoF_XyXRL0xIf0{&Zei5A&)D2nRu3j@N_lcb?oe{SkPZ3rK?xF#o z3=zUulkDjPflC8bvuB+*xgtL|zZ^fM=U+(e-mUgA?`A&2ycGkUy8k?G; z=xMuk{NY&vyA7=|Y4+=s>#Y*23%M!m2)_uz_BBYxtx1A1^9|`@t;zbXINKsBf~D({ zmal>+qAK&5Sa@r)>gx|Q!QXX9$-b_493sT`XJX^6sfZN}A6euL1~W1;GyAdz5Aw%i zA8f`Q|K<;3``_5OapRl&aSedyeeLG+h>-^GN6s!L2B$>5rh3_|x|6gE%in2c@54H? z$I;OXi`W`$>g;wOIkM2wwoU8Y%6gyd>r0m|t+F=u?E{KhOfU0lE6`WKpP2>E-?P(Z zTL#cs1FVUFBIEsS@9sNxq#GRhMAONAyY?-zT>tr#&B^`N+>&zP9x#)b?C)E1M=Dd? z1)@H+ib&rM?8YBug?VQ%gjg@ct35Sd%PKMyz%;*+qZ4ov2`o<#ee+c zYQycP(G=kvBfq+0>%P5vKX~nss6-z-uz&B~ecQHepsY4-+^}`SMl3M-->RPA(Y;~> z?RHqMQ2X#$7D2XuR>Z%`)Gb-Bzy0BdhiW^b(axg{UGM$%m0$ky@{}*xk&Ie%GUdZ) z8vVi4Kx-~!`l?I4)vJ1{lTExOGY3^1E76el4ebtVzEKN79u zyM_!IVmGt5oilpO5JHhMO!{pFMS})!+jc2tZ8wQOW9ENlYa15iR}%<9=C7o_q;K0s z6}y&)D9Mm)ncMn*18)M~xF zWYW(E#({)1R-x1cM_5CH2I4Te3=2rnGn1Z0NMQNVFl8I4#_pusM6C>Z&h5qFyHUpuv>*XW}q&QOd$I zt)@XRM!5)+9r;9}6eIVG+fu8K$9PT0cnm3;O&}?Qkvb(XG`u=PrDm`z-VAYlqEe6k zw{NmK7QFq*XFB!4v1Nb^NcE+p>{5M3AW5ITXla}`E&?KPRAv-fhYu#Oe|I-<(8fRoT!SF5;+i9 zTPDknNn%8D2^AAX8U`A&B#vvkx~w$dIC4K5Fp_i*ofHDIjl>Yz?IToh(3OyA^bSWn zi7Pi^(XYvZ^AyD(3sdF8DT4CJm<8{H{hsLIBt_{q!wG>xrKL98Y_iE1VE0dX$agmC7Q&>T4rsqtj6iBPCOjSgL)1`0M28Uq$F3SNB<($(3j z7%8%N=${^%tOkQkOba1N4%yZ0P`0`@l(tx!j3jxANRmT?xhCxa@#>J`*f@2ONRmTS z)S%FLoI{cvDpBWMKNsZUbEZm;%kp=o%Fqz?rBFID_hcl=SB7lt>%5zbJPlGlB+0k} zCm)kkerP(2B(Y4uLhzht@B4Tv8<9)Eejx_HUVnI-X;<6-!hK-ZxU z(LB$|PVC;iIY%knqge5|`Cov#Fpz{bKf|_o@$WzDoRUDsnwWArl(%vk+OK{U$>|CX zMlamyWZAT-w{X%Ae(-}$CXN7qH5-5P3?iu+`rW_knQJ+v7svE>gZzSk`I0>n;Tt`4 z)^v=gvu|~dxDWD-pRHC{v4&UZ)5d$|v2$vkrm!PP7=9$JAVLYktU41a9P|_LIvC8f z`-913Ff)i$$nd#?c@=pTPOm=$<)qqQ;K*-ya(i++Vfe;rVPX{yx5j4nlH0@TIYU46 zM2+ACHK`vvo_po5?>u*Q-mJbr&-CuhZQZ}Wb#LxY0)yx3t$V|2fZ^}02d+^A3hf8C zZXIyeEA`)2SK2Ba**UGH1PtGNFnJD+4kMTcf>yoxX3L?dSn@5lm)+%d z!Qvz6<+6F&Ir>mht(CPtbSWVDX;+1e-RDR2qYpmFzis6M z57Zj!0c3*Y-3ec{)O8yG+wkE&G#s3~kt1CLyhryEeEiVfLq~h|(v?-yodj%N!gS^5 zo2poxhltfM)BtOyhK53%{|0=8P}T`Upa|?yGP9sD3_>I+r^_K@ufvH3HOdZ@8^bf> zUf4VD)@$a?`{u2zZ(Ty4s)~CMl8qgE-OV@Mbkoh(;dy3kZ|`+CBjT1FbrVU`r6J^z zuFarOL2-Ct@PBR*+%$3Glqo$uH-2sL;>BOPapFWZms_*5kyZ5d zFpwHPi1O?ljLxCJvQ3pMzCynI<%M&uyzuMu>udD#X~a!G^6{ar7$A@dMUna^-Tz!D&;g8fV0bqIzxo_;)K;H@A zwy~y)FrG#n$%N?oBK7P=<06&l1u?K8lM%fQa+-r1GH7kug9pWcqyuxEoK8eJnwvO- zo7LZ#H|szAwtFr+>G_Aqr|?VT)7{cSsimx~FdkHTnaJZO{~MlMlw6%GOl(j5%$m33 zx&C*_)u|^rwmDHPbFwh`yTk%gjAXo{oeTbC0}dOf?dbI)`8_q7^KYda!ieZms~SA2 zegFIOh>ZI?Yrb23U%ec`rL?J|wT;_7tDvoW7!lI<&YN+WdQ5f08pzyj*@4VZ-84~V z+1I?N^cn$&LJ%LmZ-{%qoLE;YZMVLjr2`N2SR!#ttY4ax^dzqMOEGYb!`UrJq~ zuYE?%XLC{N>&%PTT1%KXWm`haH^f`CQm8!ToKD2vM3QGmHINRa22<%+Dmu~%J$j7Pfh57A9(Z5@tfK0FIP|4pUbY7wsH^GO&-!-vmcl&*Vv@la$pl}%h@Tnx{sw4gRr`;s*e zg~Hzm9wSFPIu>ZtwV!E^TJ!(Vrpp<6hiZ}~Xs%;y(;oOzE7^+jSX=j|O`9sr&$a{W zGiWVi7Nu^r0?(xFQ_pAn>C~-i3^u))aFZut@TYPlJFJ=`87J*PT3G|(AadM;1|^j$ z7JYz&2Y+!NzF+VA#X+WH$08A2iB(4q9>kFvK2%UT@3A;#D@Wj#-L2>jcujPVQY*x@ z?vhpN4k3mOskJ(lb*a=~=^!kIO{YP_A8>*%fa?0Gt3|TRz9AJ`jt&$D7=3+2nJ0iF z++AOv&qp|W=wNo}jHJZTU;zU(a4m`%bjmK{Qk-GYYLiks`-wDrjG&G^y2OW6J<>J&Kk}XgfJcJ$69k zOS+h`P=*%2O%Yld6v{wKg03g*r=ih%uqI!c2+=Jw2H{{*|E-Hfs|sF2(zO!TantBZ zpq+>NyF^&oQDfu@b{u=yRiwxUy6yG&f*?9z59pK!{P3o@WT10jrIzYWEwS9z$GAw% zk=KFlSjwM)2M?I3RTyka`5OIa=+kWCy_PNyCQbATSiJb{PC&1DtrC&m(v#?cW5#wo zp_~pbgBx>lQmAIXKSKBb5pQ8OW5?9Mp{Lm>GJ{;tDoN_DX-|rqKt6z_Rp3OX>qe&Q zgm3b~H#y;(+^n7OO-}eGCw!APbOB2x+f~XHnx$;;PfqwJ7yOeA{>c`a&oYnw%ULdC z8*h&xVvB_quw2No^SOS8aw7Y6!e6=Iubjw!oydOidd)E(OAbpG*AHeH$Tj0R$BU_P z{Ey_=6qfT?MzfSC+ZW`oT<}*!*;a03zb^PIC*viK>-cxE3?l7mELh~jU)kWVY@vlL z7n3&>E|CE{;j?V;SvL4A8+?`%KFbN8WeZ)xf*Nk<3YGxNA{N{agzz~5-{pkwvcY#b z;k#_`T~7EeCw!MHG@NRnYssTphf;&_8mZMQt=!NON`&n!3_)8y>qd<<< zVfEIThijx0kFtbS(5%t6cr~32sRp(=m{Psku0dLh(zce+=PNsI;j{`XXMK{hJ}YOk zwjLz6Y*c==8{cADr_!=2X|JjZ?_Kg*r}HA0%e51DaxoTn+FLwRKaS?8b-0|i_x(4u zcBM|>bx8v{E7{DR*1Q!e^i#=LyJD)=zd^P>c}`fxt^DmdmA})c&bY>rJ{wm3mxa|M z)?F*pMKD~-<^t^;Udye}NLSftMP!lnpsG-1A*afr1?A9!a%n-?w4fYXkc*b%qUCsK zIikPrqLsL59fTC%{A8{xCp|m&WRr%*F&_)^L0X23mf@piNW_D|Aq6Ktj^~Z!_<0;3 ztukm8gn|h z)nDwhafdMkkMWOdPj0A8UK&;+`;I<7^Ou`_v4&BzaRA4z09_ zx``p2d5Fv(S7Ud&3isc-q{{&Y)Yv{%n1zTqlnz^z4yTf+qS*?uCBY)`^M=j zwU^$g!n^J*dY&g7R$v3-1A;QoE;oP@wOF4M);eW4GhYAW&tIs2ShDfSQ)Xk_{v-8< zmZ^2jtc0$R+gl80%eIV@>&EPj*s`W&QAGV8?42V!jvaf}is-de!2EkYDZE4+e|6}X z22Pi!-N}PvCSBhrSN)w2VZ&(A5jVANMakfBT#AFSo?(8#030XCE&))jhjD>CQ-!gD z6yj3W)mCx-okO2IQ;aipe7VOJNyXzU8sDIVw(xYwn?j zpRc_1b2;>L8T4~O`Z+)S9Ah^79u~Y4($D$n=lp-CpF7pZWz)wA1>jZXEOwQlvPnbZ zejiH?OS+%))6aRK05YHe{Pc6d{(jC+Kj){P^HqK^bTxy1&d2EQr=RoE&t=fhi4A2& ze?RA;pUa@1%b=gj2*E-3_j7*wIZuB-mk|nbJisFT+z6|$b1|~JLSsp{i0eZ9TYa7t z0hg}Ay)JnvtjUas+CQ6)?wZuk)HO2hhUx1>C)=)vRZkTGuJ1uvt9Egva}R*Sv=<*EBpmxtAws?@jX)8t<2WA5J0(y$th_grhYt~7UN7{>z21?m?H z-F)*Da|MDK9%9+nNBXz5$=c+IS`neYS|Wd|S1%E=*C1njULs3blL3}m^f8;e**n4`Pe;mKLa1IZJ~rwGK=$gR?;LVnI&M5m5^#}oLgcp|Kv5mLd5)hSnG`_)%pfXg@Rp1jxoyp8D6xmL!|G|L9-HtlXiQhZts zkg!?ol75w12=)X1HM2v!UF}nklUmTwTgEUl{d?;Eux*~q^->Ig%Y-nGXP?l8Kh{kxwkGdu^ns5vBp;-9=8HrRD_w0B-l((UW3 zW`pi_$*JUpS%N$|mENazF=(g%a~P@`xiPm^ldSb;?WGeEh6Q96jKX?|7-@3}Lo;r1 zU|;1RFG6NM(O!1Ydz@*<42MD6J8j48QJ-(e>`=40c0S8ImdjZ#W4V;&B9;X#7m{{b zd)W)0;T1kZdYKUTS}0qgU(Yq4wPP0TWe8ZV{rh&z-Y?kGIMfiHD^|<&H1HWhQHh1J zpCf+wjQ^+Ym>t045e&X+B4`k^x|0{|N z4YU86(?=y75y`N!5vyz{=@7_Pc$!?VRtx<;kz-Iq9C-IbWUAIy$$Z8~oiIn08aGs? zzIjHf5p@ICH^9*(?jG{PSg{pb7I4l>7RK}HX4H)`x76&P5X z)3N*)kxmHv-ZDyPxXS$Q!i9-(^)qJF=j7N6etO<_zgwkDWd-v< zqK3ZVP`;@jDlRs(Lz_+KW|eGPOqAp#3L$gbTGX z>IJP@GYD@}fZLQ>YzEATv&B7+}di9oe>_DZ4@UR~K#g%lbXPp)+x$S zVaJtMI-SqLi`*&>m)$>qfG7^nZru301-KdfS!y+hZ%unoPhIDYy|>G|adSgp`$j4y zp_KGGzvEub;lJY=Eo}L3uSHvDKMIUHSc}Z{koHsU7S+tzu=Wu1W7=bU-Z#|SRJae- zOWMqeD)qYh5F!qjj_?G%%W*WW6SZi?EbJ=xs=e;7UHXHsfBgqH-L!ZCTGyM@4=vB_ zq7nC3^;hrkpWWiU>H5Nq@7zSS?J*4d-r++kDhy|?L`BWbFufUSz+m)zD=O&p=Yn(3 zWu5~UcDwcl0oQKV9)5UkY90Xd4{$UsDENvMmS(tj$A|IUhqvz-7Jrx*y@ag2`>U;1 z5IIA~ouaj+{q`Lct^Dt(t-n&g{cZZtjvZ!bNI}7|#PNXxkE0f|r!;5Ckj%{5+K*iW zi?x=+Be8LclG<}ELruMQzyL$5-D*0ws-Z1PoD>ciV7hnBnl<2qA%_kPF|y-hT2i}q zZP*ZvjvRAjJCQJVImD8}&<}bOre3mV4~`7yna+6%CX9&1+MYd_AOCym`>CJ!ANchY z2&|Lu-!)~*AAUZYgFogq=h^PPBclk6#dUJnl#52aFKMA`toPaNm~ku@J5t6{b53fI zHD8^&*0Jir2Uo3JxsX6mnUvD?*73A6#!~N?6Sd=4?kO2xD;;tv*|MqLd--zxs^H+C zLaGV4%)jkY?aSI!sE#L4YJ7(1!FOsmVG8hN?K%eDH;EWrsa^?Jsr}k_!jjH1)mtM@ z^k3X0;tKOr2N|hPGp+>0GHGq7fM*J~q#Ilz(;Zjx(}ln?Am=|8}xv>f_~(@!v4@ zZ@_SB$IRx;u)C zUrrZ~|3zi%&xe2ZY+j?Uzj*8)Or1cy3ddC9wBI&$iF?9SWo=D8^DX|#h5LW&qy6*K zy%X32EMUbMU-X|^7NG+#zO3|PL}96~@7?{^=z#-x6Z><=_7CFqd%f*D>(y~8a9LO1 zz39K);f^MgB{||}&d5&L90958(WtBCSb^%sFQuW*Gfbfkh?Z?A#}X0oB90TrIP~7D zuLg6XE>~37owd78yoY1AWO77ZZK0l9J`8tH`+3aR-uIB7BDvAxG1D1S@9D^I3~^^( znYzt$|NZSN-`ut9&4L2R9sT(~Jvm!KL8fj`-5z-G!HW39@q)G^O>+vAbkf-mNtgfF z9ihKH{&>p1d;k93d-uj)eD>tu{`S&K8#kVK_LcZYTY6ic{|K*ZhCZ~p(}bJQ>1USM z`??Xq81xBdXp+Zs-X*^Ld|zhfMMXpBPntAy=7b52@6~5!?u|P>$W&kA-n`5_Q^#GU zp+)OWXT8eHB-V|AKBXCIc<7;;zdq}5Jp1v-5B)y+r-p_jN1l9gd&jt(kF^){*&nOB z7z%u?<#~CA^U(R{=j9!G%Je>^&e0iI^YYF=-@F>d`_0!sQ`-@kv}adpW#LMFguxKH(zfR{K8<7gbI-+M z(}A-LB9ZYIcE9$qnm#=id+s?ibiAb{SI=o|B;>B6IF?rhE_1bbdFF*0}2fTWca4LblbMZvbv(8IwRY@FQ}E4&Y0nLAKX_kQl;8U zG5nX?2lh}g>O&zztAERMzNPf2sz(YP3jLqn9_ov>kDGujw4=GZs=H%k8>)VZ_7i{E zsG2u)oLGb5Eh9*xMz;ck+m|zXh&KY$=}FnIp3YY<_}&$x2I&`-WBB2%h`#Y*>U-}i z|MOSKZG{1p)G6I4$eMOUw@>ouIHt{ z^lsU*0p)4O%Nw-1ogV+5I`s+(jQF_8)QNpzDEkt7SA+E`iG&#%TUeNv>CDN&t4PVr zxfNr_&Y3f9T7xUq?(h8I5QOH1+?!iiyj;ahTTB%f-a(M>yhRtlpQPp**%x@E(7e$% zU+B}`R6Wn6KBuhhsjfspj#;3kGBTriN?gwR)X9ClT9dc8M{Zj7*{_r7yKELg<8tll zlAx>7ClB&Rw{F($Z@C;V7@zYXrzg{P?gZ*pK})o%sUATAK@YX)U)DQYo~_^a80PDL zw=NVV$Br40ZD9)f2;~@=kwE~{UUx@JpT5tq?ZU)^V)*dCAAc;dOxzbtNp)XvpyRr3Fdaj$_qpg5CD4y!sSU?qbc#r; zuS)Jo_M()2Jb4sF29(fQ2{v@m`{Of2;{aw1TCAYZBQZh~lN8xE0206s&-m)MI3Tm3B{>EM@NdF7?o-+b-0H(!5!=hM%x#|-S{mtNZb+Fw6- z{euq=z4|)D)OWbM=h%r;9d^oerqqdJr#fu4YPJxR_rj>xZn9a+A7HVPBh0q@*M zyspTK6q-eMcQGB_ zw|}eB6lZHsQbb?yT7x;7Dvem3(IW|%kaf$t**v^U*)^&fL8q2X?Y?vBxzpT;%M zL#E!EiT~l&7QlnC)3vhI4E~Lsr( zZF9gQf1-v6hhmRz*|KEGY|CKqwbakFhFE3lC;C0!(kc|{e-f@tE#$>pZjIB%sq$JP zN*n_f|EAT#f!IQJulD**v={>Z;NLO=J1uQqTfu_MeEtQ2ysrj7hei%Hr8?i;V<|f~ z9y`|kQIo`Et8LT*Esd%cr^Vd1?9+6$y<1anykr*q?$NjE)Mhaji*|V@E_D2Es_wn~ zQF#z9Evx(QT1uDDPmj-1kE=)E-M;g~g-nk=Ua2DbwYPt@io=g*+|JZeI?(s%!~vnf zkEZ{o)B={HUXFu>0#>?)u z`P#d=No#BMo>asIi+1&9jq;>&qJAvd{!Wz=dkY#RtB74p0#b%U16UGGAT3p6=(+`W zS-TVtCpfN&mXO4U`=WQ+@M~(rw`MZp7Z*h6#cRldbSS%&Eh3)+E7fXTS#ltW^VB#Z zAgh}JjJ04)rGXUQE83mpQcyw2Uv?KBrh9LZTx_3K7!LHZ|HY7JCCc zQl8kb>O{x$9nGuT&K`J{;(GZMF;N&8aHwvGOl9vEgpL*#LUozCjFA&9!()_!G(j46V z-$E~lF|p(2m!E%L*%ziJv4212M2k2lihe&xea|~^#1$E;iU8hqYI4DA4+=#6*S!g z#wcT@gMOD>Hv5AN4$cD^*w}mtqJS7fC@EXEZp%vBOCw0 zsJvHBMAfD=6kV12S+W=OI*jijK6F?U?D^{cb83|~{WP-ucd+KLK3z?d^!8xp!{0=# zu+w<@kvHgw!umPtr*eF#x>^24s#{K_{G_(XdTKY&G-1xHw8Pp0@`qAUSo<0XJ2}MF zm8y{ab2+i%bXLN8yV@Wr?h$DL_$dBg@ra-`;>tMFOy^+1If$#n0FITZnOs_#`e9i8 zge38j)C8X1F9;YvmyYx7H-jp&ih@hdK9SDk=NuLqC)47l$fAzQ?HC&?r!8LEUGA!e7Mp`P8Nvpx%?Yb0$b~IceJ2&n6v> zbbO?f!;(c!7)A zq2zxUH6Jy2u=9Ks;*K)T4p(8pH9_B{Kn%XO6t z(amqdt~-A5i$**LHbZ&qcQhkX?z!WR*~Bcc=CBGIhHAS1j0XW{@*p9U*V&45?ZD`U z?VAJm^c;DVFauA8QO*$k2yB8ic-yfz+)x@a?D#w@@f$Ax*s(KbUVb?h+As|7j*^lz zS`BWkGE9CLEn07L`juwWsn11?2@{(2rly92BU}<<_`LJRjH#jgjt&vvS=E|qtNd~SoChDY+k5l( z^_JGvl{Pf&+?kte8jgLbUV)ei4y@+MFYB)GFB?84F3*%HjRG#OxeJ*++DOp-58$Zm z)JGsDa~1l|Gi=-brrwCcZ zH8#RI?3f<7%WyoCn@hp3?2(4mfMWxw0-?g#m_5YO9gTk*ip!TYN1?qu?Kvtc`)>pCe;I;!y}YbgDGp`YA- z!FzG$MLkP)B5+H=! z%gxOty=kG`<&O>8S_mOJpjUavigyla)~#5>PF-`{^>Kb!#~=So5LmlR7% z3gjFgl$g0hRXIW#yEy%%2(wgXNKKYc8bYj-SeH9n^PCNMyriT|m|#C>p5_#>l{^3z zp6`D86J1e7SUQ5FNPcULUF9&Y+-G^+*|DU~PF;s%5J4e($As?lWoKu09VXmo=}g^Y zxjot0cvfZDax(%|)hx!r`}ff|(S7|ufBNawi;x&J$9`f+RN5ucdgdpX*GAVO6@Xg6 z5gS(|vLYdE@3(ZMMWKvYF4vN|*IYAa*;O+Og294Wv*3&!qZn@+^9~%v!$DiUh~Ojt zt}4tgTvuB9lM+~iHk<#waOu*8OW6NAC9XFFZ7(ZU?{b5&Ss4g{?Hkx7$?O{F9q6jY zXCZu_%XVi1-dAbeJe)?wYaZ@)4WnamxnOd)wAN;E&=TAK8X?1LmXINhjjc#+96b`A zus3vHMyoS9FVpRwaUwF)4aIvjdhA$ZBSQnr(RThgka`tT7#%50$X8o`;v}-?_YOB4 z>a*N^O-%@jyy`e-I-s++MJ}rsG0gr^?0WNe>s+ooB(Ch2%!ehaYux>@G*&86smQz@ z{*`j%un1I0xY)iSQVC_`XJ$0D9Xy!Sdfeud$a6{~g=Rb|!ly>$(Ke?wv6?%i}8d#MDA zR<^{_iF+qTX+*8$vj_#_KJ~gI>AV>;)a+vQ7xQB6v!B&U)lTNS)Lq7pe++D~w1&mS z>MmD@M1ty&KetKR+d}SF9(!!j4ULW8e+!{`!Wd$uPT#uq_rGs#ReQMI*Cwx>)zp-d zGAktowT?8P8HvaoKQl1!&ac+yVH@8)d-l8U9y$b1y5-&Z^|zuh(-IAV%Tu8vV!T5R zS8J)MVW|4fe> zGSjKFL06^f{**QTlUH-}4lzE*gb=T5uI2!yIVx4Js~1(rAl5k+$;X+Y9P8|I6}>B= zM`aB*`6MV4w5POnI`W!q9#D5WaPq)b$N}ObzB#-4+Pb?2Wfv*8a{@N?nMqfFd|j=45yqa;0|Z5xndut9l6a z1pJ6rIi4mp1nJUy#LY>bj<|40Ln_LZ<1TMt*l*$o;`JD2NDBnQ@>**g$tnKyB#0*Q zt3u?$YuE2eNJ-1lk_MBK41=6QB%Ma6CaU)^7x(yFIpc{xCQXH7KtwG=vq?ZLk&0)+o4%`YeI2dgz7Gd@!q|OxV~3og#r|nM*p8SQ0sw&ODhjC-7?`*O8TS5;QEc{Fzfw2nCa#LFjzRNZ!k z+93E;eNLN;k@p`7I{0}lTV0{{Yvc5>rW1sEuhX=RHVA1;aFRaD?0f&2Dbp;+yl37& z7lmat?lskBiU;m!82Cjj_>wtiYGNV|8)5yY7pP*4*{g{yhR#_4sTsggKEX;zxaOwM zFYtI4eE!Ng>bsT({A3A10uzU$HcNHf~k1;UJ5K8gKF?Mm{I&3t;#oI z565O|E1EF~DL3xf`H^*m3Vdjq9}4oET|1DBW8U%U!BDl?K4S!a2HZ!Fx&?6_%^kD% z=+TUEt!@sxZMz0Qr#mBK-8#XU4BWo&I=m|mJVSRQTCN4Vl9*pWi{kaBmM!;^_rI|2 z23}%DZO`h4OBnOMixJ8VY8P9Fv|ppvsI1nGAGeI=jZ3}UX~Kk!sP{3AvaeWe?8|#= zUudOH#6>jm2s{<$)HH>fYObVoJb>k?h1y+|@ehQx!H8{rD2jD7>miq{Ma3Qp8wc8t z9;Ykyv~?oTu2w@U!bU^$q^XvpsQGA~YUfpSx5Xi4DE08MV}}Jx{{EGQ58iw4uUlSO zkHxsr)P#k#IlNWWwX`o~IHp(l_GQj}y1DtG&t2B30+2E_hqVW1RhxrEh1Uptyy?AD zoy7M!vRzEht4&%KX&8)9>Vn0Kp-gqCZ-4F58!oxzYd7EWP4!bwNKP8Tj;VdoXrI8v z%nxgho;>+@$BaYRoI3g;075O`I^v1zPya`0_>9`EO^O}F(fT3nG3{MmXSSz`&_f<&Yc}( zlE~`6F~9TgbLQM!f?3O5*w+=ShpcM7xkFH2$aU4V*IuCy!y>S6VJ^K(~!?fV)LX8@!CifK*y;7rbAs>g2GCi;9p?7+iwO@lV$4|f&Iat5% z<(KQ~uyfX4KTsU|QJLCFQcj(8BqX3h3%QFM`#4yyYsBO}8!E6pd9MP&uVbKN;% z!kwK97j_cv#=Gpb<4sL3XZ}~WI!|on!s@fd>S0>}MGxtE`^6XEj=uI9kzn&<6U}{X zJ9p-=8QrP#a$FDChFmrjo61DK3fv~ZS;NZ z8C4vuwO|jct*tb_vs2Vabh%*zLu9?WS~*sP%}9Gwm;KJGm3sxS0g7fvc2e&MJiD9z zy3(1Gs*R@|wRBCrXWbou;>IIztlJ3`a>QJbeoDRBGlIzigxZc07adCOA>i!rfDz>| zoxI$9F!aAwDd1iVz%b|-k`V91g9P%bCQi6$M?hF%XAg`CBd805yA=>i^gwrId3sV4 z8sn%dL}Bb1j7fy>DmG8opFp(6Ci4CGL&Q+uiy~o#0iqHW3`PF$9tuduB_N81kCsUS zrrQY`dHrEev_W>GzSTq3j14d%s1g$?15*N!&j^HqesjfgcV7-QT-eV^qM2S$kZuDS zwCF2numz-*yL%kIIA#jnjfG34(|0m9X#^?VEj+Jyp<2E}Jqg?5KuMiz-Ax@s&1H5( z1C0mmkcsW z2N@NDjPgK6`5>c0kkMq$I!|f*-^Y^55?~g5GzRQ3n>*na4qho7K}JcWAOJE7aFt2_ zA~GuEF6V-b@l?vw^H3M}{_YiUwa>h1*#YSYsAq5@dvs2tDI z7A&Y#gNxKrZ4AczmtVeE%TsSr@_q|B4K|I%5^Pz$Wg&l9?e71=bI*y~&LvJJx4^1; zTkINh@4ou_eG>EeHf<2WUmHzoHsguZqrgLWz`EvU7u8?Kc zjY#4wZQi^}@3D!qT98Ww8`OA=8XCuQ!l(q!(q4YK(qCQHba+(!77Uh^g=$Kpo1*Kn z%KSI&&O1wE*GJb!pO5{U^UjSMiS$ULwce_sp2Q&$?jlRIB!A zI;I!M+*Vk=Q7lAI>DwwjhWAjNuJ7{>AF3iwLXF|-9Eg_dow0%H@=?)Rwb$@ZN_V?` zd1(W9k>IqhW|8Br59!x!p_3Q{Z&fNn8tBTG!RwaTo-xC+oD%g{zRR(r%eQCqX zFK;+@;FXsmkr!Wl36~wq?COl8pz6Rl|Dnk4-9uvvqdN$Ax_bwGhGmY*&nzt~t5WNK zwm7y#U%g=i*7n9WSM~jtSzmv@+QF?N(PIYgFtdprq2fW9zFg{NWF;d~oRH^_Kb6Q|r}-DBw?=mOh}`o9y23 z*825F$Im+OxMlv~505L8|Bp(w#N@EjfF85=_8K}2;B`E-0m&tpo+l1fS3*t)~{SAK_ z6o3C>xqb61TZj?MBxXKl;iNdqsSc!iFIzlg#s$Ig(`R_Svu4du*ms(v z0xIbnE0c|l^#Qm0p-t|d&gSOq>`v1DQ%cw!oy6R>MN{OiI(R8!v{dSqM0Phos4v78 z0wwObXHo34%vxD-4BIhzaLh7AKK*A-{QBEb31Nw}!{ezm`ujlz z21X*$YB0~QJ;zQ#*QtibWDQl=o&8u0b&ZEY31suRpak; z4E7EU4Vv9Ow6>9mL9recJPA!srPtBl#}Nf>#efAv#6YOrK++^AM`$BHMa3}(`{e>d zhRDdkJaU0J&>^_3r_$M_93xmqO!_JTlD|&uGNPw^T@k!*Q3jl>tZ_yiJ`;RXAup-M z+1=KK{m95Kz^eqj5IGV{1=Vr{@PKKBDDxj3_3A`vLR1;mB@Q|GCxrc#4S6li;i&YO z!$N1`f~1LdSdZQANpTH9=}8^Y$Z*H6J%JQAuOhLv(OF&NnL05moeXbiG$ns|68+bS zgK4@xDjx!r*LZvhSw#^33`fa7{9|hp_o>)BqXHqA3{`2UO!%nZZnzi2gD$SgicP87xy(8feEKM1L8) zTzP}%^PjjMZ2+{B3ff5p?My)qlpXYOjZ~HZ=Yw{FV^l_Pwwe%BDkXRh*k_9J1wlGN zw4K3!oiAWauz+jE`2wEhGkIHQ2Al01F7SiOb@(sW+s1niWE!qKs^27<7f;@A(DyM^jTCSwt5#rxFl zkkBCCxm`V~I|0c!xu3bL3&H`Fu;7Br9Dd0El+*IKsg&`l1aAEEO=t&dATquwHeO5E zAfxC7IATe;ebs#CBg*v}H{zLmh85{)Vszwlm?W2MxM5X+^_F79TEQIV}bEVS} zPeWzdD4c-Pw{E^KFUh z)+T`GVJyHscq>iWezMDP|u!~anKg@k3ZCaeXAI4pPg}2y5KKJZx~aizbm|8 z!GCy62_=!h(U3F_HOj)O6kV3B%%Z8RQSR%mLxZ$%AqpsHbQUhW4ywGGvtIO~=$E7S zM<3CDFD}QAL~o218<;bbCnkxN;^~CqqIBtm3Bd`sR+XyPamBeyJ)kcT5yb=Qjk1q2 zP+A4sjb9QWIgHreB|Aw3tiiTUNt8-jZ*OIdkQ5l=HSA0q8d5_EUTpv#gy`9YbMrP1 zY}@>rZU^et&(7pU;MX6acTdz37a>u+CiXp})&LnugQ=;2=B?#I@dBy?9y`0?k?QV5 zpf2aELg?tY^MxjV(+j}1GMyNM@~~%Ti5h~*B~$Oh=UK~Sb{d$bqW7RY-1TA4^E29J zJWp(qrGZ%iD9X+%RL!-u4Gp#Xwo};1K>DMV@yC}|UzU|M6tjrM(~njkm=%V7J$*Xl z3Rpm%{ifYfC>9vY3+n~VvI|a-(LeqDqT`B+x@6E%ruXtxnnO`M#3Gb2w;&i^1S%28 z7kr{2k*>6cuvy^c@R@YRH+l8(yE(BCq(a2X$XGHj_74ukGu&`W{BU|KD7LtVp;RRo z55;dF<7GQB^nx|^0kUKzd-!F!gt-BRV32@7QN?yV?VKZAdo~Re*+eJ_sjEC%G%Bf$ z|FXTZ#g5EFPjt2&nRsP8*fVNJc81d-&i*vYVI%BMF8U-F>`$)X8TKa^>`%gL;|eZg zxy;!Io3?E2)>%-@? zxg^k|R#CsxNx=ZuYLJV*N49>$uJmOzo^PDFyxgV?AsAnnsf{G{ZyKzPCg|*S*+tqU z-ho@?1>@{cIl(z99kdq=o?(Yd1?{DR_EJH6iJ-ki(B3FJl%PF7QmkZZjGr1KY$=7o zkF!E0g7OkUc`4KwVTBTu=Lh8x!h~hIO8WnS^85<@9<@bSp)!JTwv-%Dp0K5eon0ab z?~|-hiJ-eA&|Ok+9LLYFLS=yNgageNoXP$ijt5y6vP_D1n;}7^OqbP&kdIY>_<@Yc`EYljqTN$e^#7#d?Pgs~= zNDFP&MZCEIbF(M1B~uRpEtwZ-_&JJme?hu&)eN>sVU~W=OfMh8@rJH_4N3Bb}s~v z5P(XkM^2omyj>;weZB}TleM+2t$tO17E#mEXhWT{Tm1>@s3PJ)Q5( zm`qS7X+oX*-#Pkjp8G_Z(T6(p%tahup7i6w+ipYeWY)IXcYCfky*skE3A?-Z0`FPQ zEk|}gsdhhEW<((VMFMK`Hc5L}Nui0CHm5#3Fk~inDTdS|r7a5H@|fKWJ=hgL>uYkgX(_$T92Bc;3|9tM->w9;SSS*D7{<%D6UG!|a@JdmMuj2$)1bVbXv@GHG?tjRF$I^ zGxh|Fz>_gnUCuSmXIa2<9{*X$zVTegM1G#a5siI5mQT zA{C+)NJcA=f*gJvtzkaTD$@ONO44bNLY*^Rq-QMW65}1|eiG7siSeGx`^qJ?xnPD| zWb|V9kfO3#kK@-|o+62baW79H()|Fb%Tg10mYLj>7E%RCVIljG?oZpfb7--tX+wj( zJzal^O#`h~xHi1}&V~(qs#M1!!ddN5hn*9?``w@Y{AWL3q{7U5^urzWaj#kBV8BaM zD|4@EX6{w(@I^SC75bYmzg&V_*Uw!qZ6MU(U*CAk(%z&u{25oj{PN4^&Eu;||I+o> zmoSWZ+;`izzsl(7vrE#|m$>c=oK$>{#4tOzxGIo0Wy-P(XH1_wVM1XrU-E02RqiV) zDjZkn_w!X$R1r9}W{vg68?V3i*H{1g(u=RctARkXzMd8olUmo#U3>QJ+r4Y2{j0*C zTUXZ-^td5I9qNr7P0bBexc2Saj$m-#zAArxFgWo9)OwJdCMJyCU(dmtZn|#Svg^Ke z6YdoAV)GKqE|~P}`iBX2z5dyS7cgihPTlenJoYB~mak-UdBySwHkie+T%O_DYsB~D z%hy&BVa+zipo!7UWpQ#pzVDDN#%}l6gKTa4`lzU^wSvZR=D0DnW_R4 zCr-Tbi&G}EnmA#6pEgll$>D|*qJC{?s0u)@_}iy9Z+q{(t=rz)d8+?i^*Dz&Z+(6H z_SfIr96$WqEgXLDy)E0j?8B7~f+W)>h0D-fH=nk9G&If`=@k_&)7c)2wa1LAKucre z+jVb$P~Y4hNyzR^Z9!^XQ5^fF3@9s-rxM@-t~V>Pp^OmjklnwHrLpj{_A_+|KX2O9<5M&^=uEg(ZGarEX>{i zxrEpazr!9P9vJ>V2L>wqO&J+Ujr{|(afZvC-PuIh$jh5>?zt24@~Zq9Cr%tsj}i@r zz+RE2{0t5fesj~N=bwK1A0G^P0z|g9KW&vYp{#f`_Q!>xwDES*`L`o$#jC+2u1iN#1I5a#i5q{{7E9 zy>suDT^}6T`QZT4pJyzszP{YG;G(3QoP>)PR0T@s&;P}LO`kkv+SI9&3lH>{s_VGE z!*mS~yG%z_F)p_Zxhhw&s0{IoPX@?r=NcNxVuVU z_={f@s}B=?e(A!?uDRx0|8dit?u9gBPZ1U|CV{QZK!EVrfj}%2m~z==*Ihq-`otNt zE|@h_xu!_WU9INVr8s*@#Ipa?Zm%JC+xjG$T5n$;V{d+SbrNTbkE^o6h0NEUs?s1I}rbiOCb^nUb9~~rG&bZg`Da&GcW-ZZXBSE8JkczH?OIP|RIY%=JPFIC zXnS&cUND%KmFA6B)MyTe<>`!?iGe_(OHZhb?`S-FyuG!xz4lnlPCHOY)GB+b0&-aHtY9!JCnqaEzltMD4w*((xzFf4QGdLy?s&tAL8C%0 z=@^c5c18yDZYlfD1ee?8^}_yF=%n?HtqOT&rlk6CT}=*T@o>>qs%)ty%v)|4xst&b z!l^pP#v{nx>8r)J%}@Uvk9RCcL_CeM&q5+@kVqj&qzJrG1QMAB5*Y^)nF11-1rnJ9 z7Ptf?G8rT?g?@et{k(V^Wr9SCKq8AlB9pLBn8}f|kw_*zYs$Z9pHKvXnFfNH&i6F1 z#xxL2DG26b5X|fm1S4Ewf?%>hFq1(rVvji)1Tz`TBHl)sHeMM=TIce7Ni2z^H*UEp z-bO_rn0!(#wyZ=PvJp%cPm<}LI(5g6&dwb}i-~wKI1uS*dtOa-i`1>8M3&G;a3-u5 zw6!gPzG|Btmw1~xcRbUVHfpNI4fU5hdsK(<<9Nx4svT0%N8-X{K zu48Wka2|NzlNd*T^Oy~Csy_lbVKe(nz?{W)G>q#7>?E88cCu}>BLz+bavy=7a3;86 zicB9vJ_3D4#wgau5Kv|2@F_4*Rn^B~&@ea%Bggvs`SVdv{0}TtS(cg$8j8g}4u~o+ zXb_`@&_}o^oDP}_26g@8;7AWSJ|yVRhaZMM0!iT|s3>j{pd@QQRL8SN(bBnCgNE)m z9~Y3cSnNND_zP@GI14sCZsVrvk8o4i=XJ>#L12?^Tq0xKkD(@eybCXrjho8Dt`lEa zc1a;qwRXb|Vk+YGhK#$I#8W6#<;_F0Q%{fyVqAo)T^C;XZ%lLMgjWcDGMA%W0U2pc z_!Tub+1r&g605@>!%vm>laZWu_X-<8E$2oyhT>-2(sjd)vcB;Ki~XTY37|$u&gP9f z>l@^@JrQSGa|^vy^+#wboGC%1WxDcZX%Y|mhIcO zJoe0cJGO1xzGM5Y)BRgEAxc1&EKA6>`MuY+ZF}v#&EZTrRi?)t-^#g6JA3-KY~fr8 zI!#7-%hMy$q$Vatn@=ML5QVRvp5};zZ1qJ?Pv|4e70&E#Z9R30ZuafEw{|wPbo3_Y zMp9b4L0%|#WeI%@fQ4Oj+>bo6e*Ggb&?ddMb^GRb-re-p#_hSy$1uV{4P-BZ#{O{c zgAd*#Xsl9i@%fhUf(@;J*--7yyqo{~wjchO8d(nC*ghlM*8(mxEyw1~W5;gZEWRy( zvlS4@Nr2VgscIc?MoDf0o@v_05n2Vd8DgIi`Ut3n)1w(cHHNGoLu=8HqoBa;E+`0n zgxdazGewa=9(B;j>5b!MvhWA&VW4}Q9_ke zq_Y4Yzd~;R95CPKK4-(e#Iso$d3x9W z&F}9zy!C@Yb>KL#(V+nx$s^ar7ba$B`!2dToO#vdm(Q4?X)}KQ-Ki5MO_@A-LczZN z%db*jIa3o03ya2%oiMI2tiE5Oo>9+e-}=_&D1aYT-_jDbYt(aU9cc1y+Oa#8rGIxL zi1Hcj`xJ4W;quF63Ar4{H~sOCn~uA~`n9E{OQ{Iu3@MlMeNb5mmoK{F+H1dk>&@qM zmtITn@kdL0=N&8X&O0#yn=vyb#bJZZSSWMWq)E$`6&El2%Gah&Et)oC-t_5F*Q8nM z%eHeXCNUwc2KoN?w6Zb`a)6$^+X5|x@zMy{F+Lg1g~_GCLCKY*ygXbYv&R>Dc>Sg(F+d$=7|o!_Wi6jEbYcV% zcNmrT6KKW`HsdizfpJtC24}`7FwS<;t;SY=l;=gG_;?&y7F{ipx+_4ZZg6Tc$aWTT zvN`-Ng6-A``tz{F@$oq$lDZ)HSnPK5f@eJOr-F^Ak6`0`u<z8o!?@Yz)m*sCv=YWmpgN@H6 z6?3@S`CwyVmOck;yZ~&RhIB8PGcq_syqe&8XUSmkvc$1*4%j#wl%EAQE(j*EByudB zbj3aK)4;}JyPLtD9I$Z?=s5>$T$cIRzJoni=46_AxmQk^a_so}tFBtG07J#ymW5x6 zW#T0*tG{%0;*8Hnuf6SCCHM~i!8zu_-mWBf(_(4D)Cc%lwi+!hfBd8HuCFdD7WYl} zv13l>j2X_lI?MP1(KIoI3CU8XH@$#q+AkCDdhPY-rZ;NtzWbFoPuAe?erPzSg{| zG1ZVNN6ev-Ll)p&f3fCQQv60 z-mvuD>t7d5&JN@;2|Gd=S$LG!6+kzWk(r;C)_nSKett06*%`9%4it5RlGR^W+b;VV zwZ369yQ8=5*ukTFX3g@t#<$_%AWr+*$&;2jZk#%O+A@z96sV=*cgl@Y%J%HJVCLb& z7wp+nR#tuZ@XR%3WuwmfYs&P&m3NlJiehukyDR*U{(cee`d^KGRe$D5&yv^`XJ#Je z3i9pHDty?$fA&XkwX5t>kwV(YTBMO9TV*BK#ZFu8n*G3E4{pC<(fE*d-g&4uh1c-- z@e1|l^0;Ha>ttbJcJ|@JCy7dtxN4PZT@|<9;07?XYiSBK)re7$@qpU@Z@txYI(GEft4}_;ch}&XZ(`VZ3^!OvB!?|?Or{!! z-XYDIyuwPKk$KTYV`i(u)MeAA`ST-7?TI?Lij(QMOut`51{b~P$5AOI= z%Y)C*-YH4}*-4ngT&COG%=I5(Y&P_Bdvvo*0Gc7Zv`*@rKAk*>Qt4}}I(wETJ+O_S8 zC&DZLuz7P+Q%#Mcd!{r?D9vCn{lp2&e4Vw;1fY^iF^zu^%a}`?-~GioUG6#479+0T ztLgw6TaC$+uez#4OV`qoS>fl9kmZe~dOR>laf`Hl`;xM-xVPB?O1aOn zRYs)k->xnp-#3_Fy|MH2mlUfP&7b__;ww%svE|4Oyr@GqRdPEw7$Ta%V81dQmN^G+ zi8$?qS0VW#@vJO^7!vO4HORmuHeiJ*@$1AwJG6$F-l!%WR9(p(OkEv1vV8XIs<*$f zsi&*4ug5Y6x*|=zVp7{1TH|s`{5f4W${fQgF=foOGDi|U;DE|%Z*uEdxgFijE_23& zqTGCVF`i?hTv%ETY1@qbX_jRsweG=?f=|kc_C4=EvF49|YJO|Wy62v2YH$kI%2$}b z8T%%Am%{)4&wR^#ZkL+Bj1Umb`_YA>q%}gxrgv}cOMm+Comg$-Yb`C^O~w+NrB;|~ znGsYs^4|c}V$U%(9I*6F&4*TG4tMUVdwtvfx74xDw^~{T>IdF_`;}KVY@kMbhqH}A ziLapsajMU8%?qxcR(wQg%HMK)``edZs=mhmB;P1O z1qGJ5m>$rk6VL{mzMy&49PNDVa`j`4INOAsb!v}jUq=kQQau&x)9z(1Xa1JFTUm)A~suE zQ7%v12?ZWD`AzL{vH@>I^~1h~?hVDM0o968y~e4jAyaAYN+W@|p4DqyE?Pr)|6C!* za1+FIc2=!X?vPHjNSun@DJdyc7{sl~78hpr&oU2J{owF*Cs0 z<{ijz;0!i|>X^Vj@SmUn(YYc+i+Co(PskY5gt$-DG z7O<}_m*o}8O4hw0K2(e-p|vU3$P3KWBwsRuogtbHzv}LcCZ=UX2ZmK3E0C0!4f7z3 z1X7jSdsNixP?7F(!$|;2O9$I?zz}0Qo=d8t>4kkDo?}quAgVCXmkR#&A*mKoI48kE zMI97sg8$_N48^S!M*UJDv3$q6T&^V41fz&Z?g-$IS2&D10Z0Qqm}0Qo=dmH%o*( z(YI%Ve74~He^JUkisUnb)3~2taRYZOopoHw4PyeBeLhcg zE>Ct5=imwjCMW(S&z8nh=Gr(u10*kc`dpBFE=Yb_Fr6ou44$9BI?hj!4Sp9XcQ!~q z10=8g_P3!_FG>!gZ8mKCt@q`ZckY}v&5Oxe*cDZ8y!OT$ZyZ9y{$@A@&O9ldO!it# zJz!so)~k!^Q^7g{VLNu06Zo@{$cSv?QMVOk-P5t z?at#J!xEW**^t0_7`M~X|IC6zr`$mK(NnIXE0YqH8NaWNgPCq5deoKIeDmg;zj5WH zAN>0bKPdAc?CR+n9zro#p6&M|c1+63oqh4eGsd`*{j*D%=FOW8GAc_dDpEtOt*wzh zr;eC`j?nKfDynqfcOSa%qknv;+V&kZS3O+w)P0M=>NA+}_r~`Lltj8_Sn4-6UQd4T zrL9}HzPG7n?fv)P{}@1hhrPQpbKgE1yR6BXevcW$8Akc&dE7)WNSzTt%Tt&`FH2M>F1ntPJsoA z4g1{}T;M*rY15|nwl~%TUps85?hs>p1mJ5cw2coe0e75dk2x-m-J(CRk?_wl06A;s zLC&`nhWxd)X3vd)b>NbnSk@SslNg?8|B`RsRwAk$?fYN51eov;2WHb3N3==W zBxCyY*{WDmR-kBL;G4-Jl;8K|&r${FcXyX?GVv1!D$(=^LHqGGBv0KfL+-p58E&Ab z0L(yo084LwYV%b`dwH&8 z-|j>E_wPSpY45)KPoH0n#0z?(0r6%CuPwuUAp$oAQ*yx0GDEx?D%WNoJh*4ip0;jt z8Y+u^{nSCmUnsUGE>)M?FVukZ&%kwKrMYh1Q%^nh`PgS6^!@;@u1A^IM~}twVpqr3 zMZXjMKggo??(=4>MHXJ$F*V@{T!n@U% zl+@bV(&ED*G~^qQ;sY*WHMG+2lE~{xMdy9->tFv;={ZTRMW_tKF79hzyYa?iwE`)^ zN~=6Ui_j3c5)GQwD8UIRdgOY!9aH}HwIO`Dq`{S_@{~(_D%O@I3Xl@9eZ1$#O9ntv zxi-D6u@SE`rbr73YQcP7yeul$g08Tw$VeGVv63LZ*WA9eG%;E8iIrZTmAs>sGrV5N zgXmXb?ec}Q)6*$$DY2%FZ@#(dbXQ9Hn{U4P#vAXx`=)x);!m14qudpZbRppzOcg=iy)`5ptta$wKZQCAJ;vMOCFiLACmj@dUM#vvBvac^} zW@LQh8{b&QxM;KL(8g*Ln5Tf;?$mC~xI|kB)xvnp6ua1BE-Th()E8K4f5?}Vd}@fY zm&7VJa*2Seo+0*R_`I@CJwi4R2(O{@(QVNA{0%C_q7@rT{AZ~w# z*eEfrT3hW9#HYnpt_ARwbHva^tq@*YuDOkBqPnlm^muqbgS~@86vn}r?!gzD{wc$#WAe?C?qJYG3<^XIFCWAHFVM<^B0E2yD_;w2ca{~BKCebVPQ7^l@MLqma zH5#yAQc~l9z($@)gQ9ZNDENbe;;ND`Bsb~DZlWJBja8_X;K3Wr>2T7WlQKd7;kD_| zxCKm65cDTw!V&PseOM~js*{%cL??No7_63?T_PV3uMI&O#-v-)YvF++`#f&S8$x7w zvdXAmplp_Mj$8csA0D*1mqz+O`Y#<4YyRcps>3`6UP)X;0$kvYDjq)xF54&xvT)Mx zUbz;DLXsPn$5?bgP;eAbTP;v0!6_%O$jX#gs+YSo-mf$#E7$sYDGoO;&vf)g$p0bB z4r|II!?!XJ@`2%{@v!Ys!)yJRJvsOX?~!Qprd!T&{cJX;lzN(cCL8j|QN zQe%*Aos`AdyD~t>ZqRWmPnZBYCf+Jb934;RDFhu0gNC5vM9^^#=r{*-Tm(86OA)wt zStjyiXBcNi&MoNJ@r>8|3<%kO1|es?@=6xA`^L*J*Vdka$l=r!Y5@hup6oTRNg?xo zdITe@v`eLPXRcztSFP91SJ!H3DQ@%QK$$m`y|=DzuZ@&7vtjGI@9t>n=^uXanP*-^ zbr=?K+=Jy7;5h8K=5wFB2Jc;c(ieYN%Aj5}*S|6T^NR(ZQV_!v%n#8aJz<4?-IU+R zu+c{m8VF~P2?WM`5-S(d+^d5 zbn6>8#sPD}#{hHOU?h~eCnE#%SrBt-e$JGM6Q_Xf|wJtj(sSI zIh>i?-kxkDW*R6*a`I3hxnSH8@N&q8%f1+B`E=*Jsles@aHgqAl<2L>A4^-)>Oq)lz0<19tl8Lc2SgxAFGR zXxooWCre9`ZB;JYm4-JhEvdq`JqIgmA50HfhJa<7dP7utU`B1@Y=_C{#;;ds4?IXL z4#CK77sDN}u?aSIpTWikOcF+gr+ZIB%jwh2jrFH1>E%ta>llT^d4+|!0*MJ!z;qXf zS0W-a?O);ScCdpW<=T@&%Nnsz_V2H)O=ZG!011bs75K|t2`Ns5A^qK9n4FrME0VQ| z-L1{dtzEk?z-EHVyGom!h!r64E1b>ADW62p8JU?xA+{h9PXUB4_lj-NoPpiMMy&Z;WE7j}8kuW`d z{CrSN_9%)LcCsbFWMVh*O=UBA-0oMKlE%{-!UE8c}R@(sqzqJx? zxFHe|EIkG&-JAfWjCr%bY1`{IGuYl9wEM-*Q!SY29XoCM@(#J(heD*t`Up%%TC?&6 zOoubO5)->dz_fR$tIO!@I?*r&C{0NPN%vw)njG-$J_3?H`Olqfba&IajNs_-+ElS$ zM0WCV91ZFUt<45S`curoNKZr$m%<_;@edcq z0rh8NSJCYph`tGLnO1$Bs)M zGd_iKK32`3R->^Rrs!$m?2N3e3_;a-XQ65jn3_5$L_AK9fNI7Vl8f%J_nxPpzNe?B zpkQp*x+Sp-pcNqaW9&=B#rf;Op3>N5u^{thBx|Nso{W_;v`N5|!Oqiz(O5Jota@!7 zt)th**l0`rHy`SH_~Gn-96T_(%h+p+u954-Ps&16+K_N)T!l z4%vu$C=4r-!y%aTY)nnd5C{Md!PE{Q^^l&OBA8mBVQ4LtPtycdcS#X4WDMFBUb`Hf zmtaUct3+($1WGf8a|?<_KNQ1JifA%_|AUSRua_5KY;`O}re!U>ia6+J=Tk z0W{Abz}OvL3k7a0CiMqw9~uA(2$YU3Uz^Gr z);c3bVIX!#~P2=AQYoWC6nT>lqQw*%BIUiA)8 zw*%De0CmgLN_=q0GT6G1Wj@QfEElm{%5nt@;(V~P#4pi7-=8La$*1)@x9C4BEFz8Z zjRmr7u9wZrWHXjyRm3N@$H^XT&gh+d9wu|FR@X!7H{4AxN7S>yfVn*%`a>)4pSo)bTI- zi;^t`(B3wz3Y&99?y&9S7vu8R%YWv}omBbR2PNnyN7CeLqI~faMxajFq#Uz3T{gFz z{hv=&?9MvrObK+*7K*0L`FBd-r)djKTg!DN@A7jjpJfsIwPh@qv7FDfAt|OUbf480 z{-YA;_`lp1x<}eVDS^@!N<=I7|FgDmm%PoN@C941e5=384%$3+_(xwdEmpVe(XJTX zGx|2w*wEr0>=aCdhE2N|sV*yivD836NbV$!u2W5TM-~Y)?RaUAkR`Y^x^+ihO zRg})9XoX9IMe57Euem`FWy+6KCsSnwFJ>uL3BegE8M#*ma<2)hls@l#`fj2u1>-WW zQhMJdw0U1u8vplkRCw(JTp=H6(iom-w)!c(@9f|?>KbHTxk#omka>+m0#%4cc+&O% znr-KtU;z%x(&A0y9$BQpQ2#}VgQJE%H*VXR##SD^uh@3Z4JMGT4Ax%O1f(M+g~+@L zNl6fy*BE48V~}}GLgtl^%&Txj=2d{qYaANkLe3h;cOkhGNCscIoQOCC6Uw)q{QgAM z_voYVPZZCViSIx9XrGpQ)JlkqEh!lr@z%fgT0MqUS6y}Cg^i69m)=;aFsGE+ym9Ho z#>Pc(PQ0u_?xjR-+O;cbDQ>asC=-i1N7kW3S!Qc_MyqM&fZlV=A_rbPj-opKm%sd_ zj>qxPPzhRx{|4~Ca8IdN*2%2j^TIyp?)%<<;Xw&vZ_kcoS(6hGcUUO>Z>Q?CZ9M4)zz59s|{y*s@F>L+D4-uv^AdG zq+F$K*ia(&O-5bavn!WimM> zNLbp&h&QXWv^2{bazH%WeBhZyq85t%G~<~A$Gi&{F7zHdK0JQ>_~GOGUb*LAcW*FL+}Btl<@YH35nH!LmZhM z18oSwB9`NLUfyvE7d`DrL2EBpr!57cTylj!i6^ynU$#0zH_H-JvFk%xg~%kA4K1&B zmBa7H64GC8h+4ax98XGO?A6J{0E|H9_CRX2@>b~H2xehgBvgP=9#(lHlixtAgQmf> zLmdn|psS>_H{tG&_(BHc;d;5>=z;PvD=Wd*(Q)e3sm_j2L1$+$h%1xnqb3abOf4g0 z+qRSDge6Qt^YpfD&>+E1o|Ns$DbL99ctp+K?>X5;Y3@2XEr=aRa9T*a_0|$`89@>? z_m@kk8X~J?R-24p&h74AgsDKITJQSV6-i7>f3^q{Z}w2RB36ECM@MQb1p#A9Ott!a zzE*W{9X|ba7jMett>wP+w@R)z(v=tt`a3XpIM(402DO$<%jd4&v!~wOKYrS@@%{N- zNZS$;FhfFq(v1;WLc)Oqbt)HS{DfRpci=$CAYwq{>O^h5bn!q?Il`d9yF zpl};lofyLf$>)gagWPmb53O^Uhy%3Y@{D0ki4B*jTpDZ#nrl!=RH?zxI`o>vr}MZH z0upUBkl?cXy}j;)s!(>Q;24#hp^!;iQXK&8RMEu zu``_*-5LGn$hRnECr ze-9F$`0V)J)#v8qsABb)l`oZ%(8?$vlKO39SSVZ(mZFBk;jImF_zE>dEFcgHj99ma~yx~_~Bo895(2))>1mn#xmS>n>o*@zhd(dyo9Sq$e227?Sv@Rbq z;nr>7l>1_<3PBf>1AG|_9CF<9;VimX1NX@ zK0Ll~Jj5r`b&l44yK69#`?@;%+j`sjwOCVQV^dUXByp8)%;-dsM}3!ErXjcV{V%UA zmA+19{jLqL@1~_4e(CN~NEhtc@z6^jq@~freb36rG|}ABh}f%n%ZwZ;ATy>UQnQk# z?7=V2H?Su}3oeaJIYv%2G|r9=!|-bTA+uleA{eishl`dl~JUXT&(l7(_M}idcWvIJrSd=TOYO^ULu63^4-m?TeU^%4a@^qAEba*@kB9rw@nm}7UVN!b+txQ*Ys9<<_ z*RDvUxw#RU{{BYfm&n~jDoKneDaV@jD-_BIxWv(bRpmNi@Fpa8IdEGImqYjz!5>l z46a5)jl37d>e(7~G?B;0}C+u4c5y)X$3=L@e9{U{N- znMegDZrtxM&A{Hk zghHBD0l5*1M2m^gVP0^sN( z2TX&DI57W~(k`Xm&R(r=2x0k9A9g8j!kUm&i9R-+vGv7_<7P37huaL~T$eJAgKdz- z&j?4f_7^kiigQ_ruiiAZm@!N#qnPtq7OrSMDROdm@sOMEOR92V0V z%at&e6OXL+Y`k z`0AzNtCw+Q|FOpP47!bA@aR$NEKfbHtFuBqQ$l}c8qd_;@~yb9UXl3fr9?|rJ)U|y z)d7IqCd=5q9Uh0Xob+^j^g^!MHEU{B+(FMd;-H5yuYrpmUDnU=k3Qp@8jzlxToh7om&7iNU8uh;4tY0?ION@pL*9d>nDwUPnDZan9i+)+8OM)5 z@r0#q8}Y+?A?}B_(bCrc74NuEDvWePnftr(!SmvSmzZ~~x#w`m$jUl?{A>?Aut`Pg zuH@uhwZ3-z?^^a9JGkdafj2t0j-O3PtcGK~*`{3lr;d_Z{RxW48Pkw+& z_)6jw77sjtfx-xb30t9$pL;IT*&cX04tSCUgzxn?;D2`#|GUGlzO;AGpn8eoaK`aY zb0$}$+a|!n<1;T>ScLOk&a#XASrJ8)ap?m`eC{;2r$S|y5Zw4?U$!rO!~O?r-p2Kg z#C;8V=vQ9R$ebTZp@>Fn(mVI<>uh!mZj2n>toH5OwduXLUq1~0Tjkkh9wUczXF`H= ze1S7HGLWA%+2@b8o8}lsc8n);a^Ozk=9vMN*pKoosUkh?$dR-$eiP@rD9(4?EqhP2 z55o@)cVT-w7L=GIA5JtVp}MlhXY>Qhy&hD;(#|ft5kEUI%E^a7%3-N#{2KPT$cM4 zJnwSxylb^|Z~s6jRccIIt_PR9eq8P%O<8_-PRM9&6$i^R4tLlFR-_hnbrogxCgN`A z59Z{J8*`$svo2&LCkw%ZIPW&t&UV^~6aUPq^xy*nNkf)zC`ml$Ox1^%UFhD_-d>L< zB3^bxmeU7MHb(%7p?lMtyxu0$=gM@(%uW$0J6t{DE^gO*a@5PHHX^L=C5{qB~G_}vYN*PV8X;ZC<@G&T}ySbG9@yAs^(HdtETl#0~EzP>~?km!s#Itjbk z?KPc=01atlmeVH1Z<1Al%ha#UtVr7xBTjeU!s(873F|B4;zg%vmmZelLCd4{J8?C} z*$(w#Y^VY&G3n9bes;3*hVGT(3#b!UJHVcN-)jZvX2sJEvNOi?3Zke088kT9-hRf> zE~1R?-qWFb4dNCVHMBXjo}#PO%T<)`iuCh7_~5+eQ{MKmc}<=UVu(#lpU}++9^r;0 z%!vcrzFO6vLQy2sEUv->l--UzSpK-9;w(ixYTBrKGW#r{a`}7U`>i&dZ-Q@%j z+*^^}gBw>;O8v37{(9h;r+eVFZT)STge&06!Y1T#SmxeCs@I2G>hX&7+CztGhkFjy zy}o4!zI3PGdUfFRfLOW=KP>!u;t#)D0`HkgZ{S6NOj-NgJ+R4mEC^r5!z5q2`xpK`p4yA3S!2rff&LFEV0{JJRK7f6;DZ zBzdn^PlNXp3u9bqotG9_=BxP6K?afHtVsXMwb%aT@c8Vho*e@%N4|bUU$Kr+~)`t2igd{pQHvihrh|z>>g8kWoD549r!XgyxM7j$ZYQ zznnOUrOJCBFwxl$pvcz@R2P34-N)_qU(7{AcpaGcz~SpK_jazUO;t!Tcn@?Htd6%^DK21&yZOF$if0 z))SDlkRJ_5R>-&^*gqO611S^x1|TIftz!bxc%&Ifzyv#{Ax%cQ3273}aXr$FNY^2a zLF$7mX^;m%CgpGr6H*|OKdu(T5J3gMrQtV*ocJeFkth~iEcS`WQ}Dl`$RWjHWM#px zh_Hg?4M-!Ah9Qko&*}#m)(`*X2gz52j4wjg)v-8Shn~!g{Xy8K_;iU#eUZR-2&q>G zsaFT7R|lzAEV(!|2~8GSk|tT~|JMuOf!|DM)~5+F5B7f46dG2G)Z~jAV`m$pZVKCv z)$EZ)Ph)Hn>|8?Aw(S+N(AAidEW^{W4TXju)L1AB`}EcWG8;|NR$gbB@r1|?5nfNYp<16(Df3+&9b_UFYCXOx znRisd$N}l2z$@0uyuAaiocQg6pQcvhND^vJ z=2prX;81X8qkGR5L{rg4Jg%Sz9?EytF9LL(T`hyJSw|1&lNSm;&cMkF#gkrrA*^T{A16TmxUE-oQk zX!Pe&(3fEQ)Kp!oE%lkwRI=efLep{q2YA$LcmDS&o6|M z5x*dV9vGS8ZtLp)jb5I+1K~Uu3R*7?TX+qsh{qVW7t0}{oL`M9`tQJU@I97vLKX3- z%}_AldI88u)A9SLB4U#vzGz-W+z&^diWJTMT~rZ|7J-l)JX(ZaR1s|vs)+wTv!uVT znxYqw;hJ2bu&~eq5RZRtQehi(ENt4{lLS8dUmOc7dEGDf(J?>KPKnK-E0)rNkVow7 zumANI=lf4LyKx$zddGXU;ms23_YiC);7x1s?F~p)>ydh|CM^f$mVs&C=HDqR}% zI~3tXgMQ~T01Ok~Zuhqz@ZP|A`i80SoO;-T#^H zdlzP<_G?eWx8np1JVGd?>|^}9TLu)PuzUR|t=FSPM$1g?>5glUrPDGH`>L1H{Q5Wi z%KygRE3Mssg&X?4^2nn+^8Z44yc$C({-U+}{}YB%`+wHjrBVArD6w>9G%XRF96MC- zj*|SZHail+gX5_4wD6||a6&YpykIMxyW!dsN$K7S`Y%QO(RTHZ6tIr&g+QFZtz*$n z3xJStnvt}cNUI19r(WRSTQKJ&?q2pBT7u8f9zKrta4FiuWoQrog!b@Zhk?y?SXlYo4PVR?0PDI`pPcaaAIR4jxGsj~+iRmUzOiQDb z&OQma<(6BnzkVoGdVPn~<$)|gbN$>5yn#<_Ll_`Hz=jMPG-BGcX<5Ub&w?ENA9jLfWQ=9l$zyn4e!-ngJ=y;cx`TfZRViwoh6=yo}hG@UXCuQ0xv5 z50ACmQBjHT95xYKB4VV1KZ3Qmg1Z{r7*=YzR_q4P6PX2}A?tJ*{rW~( zMKK^E)*#9mDpNpeYHvOcGPe3fSvH&&4G)Zk z>olCx#@{;`j*@%T`5X2vTa8~;U>SQE3Ya3vWQAE1a26A;ZE*z$>&#Z0&1%+A6ag&^ z*Y$+oL3z1s@wunthw=fM9ZIx>C9He3d)v`&YBxpI>oMvNO3>8h#j+`ziIDO>6#+55qZagq|?#*LHj~;Vh zrt0YWlJWkG5#Vx28If_zTsddh(W9xUl#ZQ0f1dN!qtM634IVmhKx&k?i#r#>{t~0xl`C#Zh_j0P)o9! zdxKl4GIPDn{SC#Q$h8%np6h}V14IrGq3I?-@ujPU9kZIsJ5)^!H$lT{x(Uh$q^3Uc z!V53_@ek9ky7(VvKk>vJ6S}WD^^OOh$Mo#Ok3aUHwIyBrz!4IV_h^@L)si~(Zy%f+^ZB8FGDy{v8*zFd5-ipzu@|Fg;^xWqN45)!o=qcPZZ5CahavwaU#+qx2F_Z-N?_ z0W)UIxPfin{1Zmiy{*fM&8T4n1nNd%QbC7yk183>^hXQOGFv&9*6U{A?%-UO^BgQ8 zr3Dr3FrynPDkz$emiuyx#J~5JtWx=CvsZntDEV8a`DBoXeDC`K$)(PfzAji0qm^i1 zgYRraxO(ZH3WkxtdOh_9NWp8h`kK7DV3TA48EH#P2Li79v9>Ock55apyEKVIh9sC= zesjhXv-_O8v(nOLJ~q_pJavlF8xV8We7=QvhQ6mTM|-w?{?Qw6e75WBufGOT|y9aAW+9c9kJkl_UtN(i936i z_%9zvo~1lYQPh>&txH$$flFv@)#>wa#y#}O!VLWKu^SeZ zc5M6VtFLyjmn2h%)!N~)+kvVn?{o!MbhS4ihCpLyHIPi5%~oq*vM8nox{QO9LM;CN z0g?Tat*8wBlz!?bMb4i+yDCc!z%X3-i~g;T^YZe}70Oa3$vn#6Ew3$IxoXv`OJ!L` zzq$Fnh33<)v4_*^YRLzxgj{cQba&uorT9MgZ>mpZw@l``ZLrukZCsBNM zeeubP72Ebf&_fHfC+DNFgebuLC*>*aJK0XBb0w3BI?$(6V;z+Ew6_yGL+B zR2r{Xd@Fqk_?K6GuPHWh>C&Yie)!>3Mdy3hH`x1{ce!_&ca`@OZ@zbj_a8L-tj=_A znq){BIyB|KY->FjgM{g6qs ztZhZ7PL*)>NiFiQZQCwfptN`6#*Mi@97Ahyxit3_>hsAT4)5K2;KcFc$MIsmKd|r1 zFTebJ-NAqE-o5*4cYXgtC@1 zI6Y=j?9In=R@SM`MSd@)L_|b{hqi$eR0Jidi=6_6hLtVWjS>VHyF*7!flapz%%e0n zvnKp1f{qR|y8vMf27^Y)+Q>kk3@jPo7oN^2t5FKE21XizNpu6RZ>IaOz&7efu113ub$wTo^#z@sZkYmDekOLL^7a-|i48Q|XomItiDyx`K!rjYp|Ch8u2}K7GoB3A1LxhXU4C&GxrLcVjKmp3jqT^og$^7sVgyF8!viX+YwMar>+>M!w*r}9ML@;)a~Ce0 ztEo9ygKn)jU3o$@20I*aeu%9XQG#7(H@e;7;Pul5qfph(K30&I_rsxkyHKtEE17!g z@5IM0 zeo#<E3%2 z6YoNL{J#6{n=twY49Fs5!;Ap8#*CW$_~TiLsJ|E!4IeY67a{NDUU)1EDyeP`^~dly z%cTT2m<3SuQ5$PW(_lK+>WA(~=OGTQx|)Chy|K2|*z7WfCPknMgv3UM1;`ovGJYA? zzkde5M9s(ZPw`V|<~q3tS&3oZym@y`e(j#=)2EMT=eP&BbNrwArx5gd4|&x*{q)mQ z*=cSjx0cW3$MWO&nf$GSi66t?PBVALna=N*;xB&w`Ndg%`pi0h{ORGilgX3x_4V6z z9U*t(T@D>*Hm`eq^k_7#mN)(U{5BpGZx}I2>u&g`Sq^&Wp~S>Tk=(c6e)|o>CypFB zGA;QjxQ|FQYi~}Ebh{_r)3fQ1U(=^vkHY=rJdF6Q)?~bs6_QC)S*d9)C;(}L(B|qR zxVu`>AKypc~IX z4R}zU$-k{rN}yWq2?zjByFz>mjkR~X24s-PLR1Yf!m?3-DUh?%cYorfXf$Z zn%!umKE{OLcP_PEk{W=tl!JzT+S_9fMNym!@4?tqA zfnB0k51fMrVPV?58jA&TjpEWPJ|gxIl#U@F>jc3a$HCpnhxkU+uJZK_Bs%!O%%bt) z9M~t4T^~RXs|`iNNSqlucn9I#DO`4-4@hxv=XFshfgmHqBL`-05*{#o(+FDA|ABmm z*N09+oqBXOSnpBh#Cka|Jq{6Ea9mS!YpY@s+HtcmGvhP*0f6MxATBf*-2I5n)ZU0V(2SM&slr}{qk20H~q@)49CctEApsHX?a_o2_v5{w9E3lE8J!>0|9UV&;~8*^E9mk=>AJb83fAb`?GU(0E;iAfQE5_DJaw;}El9Le#%1^D1} zY|j7lQ6a&-C0zYFR9txS`Q(DpgfJlSaj(GnD7=U66up@f{s{}<$AQQ2Xk4fc_-DF( zkg03%t#C^g4@6&hF8CNe3(kUQMkL%DTm}InT;eY2L|q?(b7{c~1ev*&cz?Re@US`^ zSLVisyGijO#5Qz&DDociuIub*1Nn=bgPMj*W9W}l%fW6c`M8oQfS|Z^7dgRYL{MzH zC6ZY1ExJ)vpdIw#OLPML>W?o>*I^KQh$Y?a0rxj}*-0NHWak*k>kEYh#ltNJbE-Ur zXX-$uZ11vI3>0Gt7vXSqd`^xxTI8HiU|PC}N42BFjuNDp%|LNC^FG1m3NiT!LPL$o zbh(zwOdIb9iBj>jP>Dnvg-TD}T?#}uk3z*Abg6hGx_OfR0pW5PDW)wo57?zXj~<#2 zRebWgEE>csg5#7{prHglgGfywYK5V_$qjcXj5xdta)7Lw0UNL$b{iY!L9p`tN=Cr6>%RBD*7m1prw^KI9<|*o_>S%mQC>;!rfhQe=dsD8z9+(v2+IaUJq8$onv| zF$cp^6aq_8u)~BDhy;dl2O@eqBJf)peq;FG!B|HeO$XwNJBA}qMIOy;_m0D_zcZy{ zKc(N8Y%CV{58f6>3Q{Q61=UV%gQX}KmLi=4NGu1CSdL-1_ffbf;IJIQNJb<(t{;W# zhatrw4aGhSk{Kxo+lad9NJQQjIU<2O!jT*}CLVc`>f?*A$#YNI(wS2tS?=%JNoO^xD15)uIgsmep1k~{Y(p|7l`8?E#kv#Fl@+#1hk49DrIm(xuIIH(KTXV zz&-qzbhsrj9DbJNYcX2Tutp%TzsdJ_@=t5;V0T2rRt5e&x&fYhd>{q+K@vx>5kMbY z`C-80y+3@*zSUslp-WD7I+K$pOvoS!1fkYs#Cq3}L)Y51;QZogv0MkB4o!kHi?d^H z3d%M|k?#??UB$*Pnx*_*6_vxoHDjF}k(tVFRk-9hd z8SGD2U0~Zb6%g+P^UT#3_|B{|JvCV*g#hqF!vwC2E~ zIq(|M%;)*}e^2)*co0R%g`ubS-Se9+fJb<#c!r(vvU6AVo?DkKv21Z58|Y<0zrB|M z#ZD}@GJ0}+9w6Byp{xu;GcZic%egOhz^%f`cv9&;L`8$1Hq*D=x6M1Bt82*c&i6j5 zy^Y;=JJ2xdOXz+@TdzFrqx4)>9K=mb2k8*B4&?j%iWZ?`t<21*5s{E&G=6k>U~n-K zCD=2XUu+Yg9BVyW2ww(YOi`2&J{Z3)2N4~C)ZrY#ZP+05NijnuZs>R(;3y0vnYRBR zxIE6fOZzZ;_#wRS?n;C%otriZMTv?NB_6$-{PSq*V*fffrVz-c;JQ0d$Yy#_;}Rr7qNKxmG4y1dO>0rL{Kd&to6#?&bl&CIEeuG zD@=1`?{9zqu12`jSBro!!OIayViMKY2M?m9fAW z=rOFYu^Em*u-Oj*1|b2tmQ6yboy4qY-9p%GU>1ft(qW+=0Bd|QFabA#0p)sF?{5Tp z>pC_WIE8yyA0!P}N&?__#o<^JQXrB)j*5Y0KZ4zb-se^H9(TgRe;<0E1mF~6*>Io~ zX#V%3INyV_Jcr)rX5bWVM>}yBzUZrXt8-AdW}x@!51c|Ya0-2aCWrw}VG>Zjlh7|s z0zP39`r;(u6H-e@Ko1DXrBOd+QYdBR8UHVF4M-+l4>+HBe#8wo zpm$m#>5`HrPfkkOxpQ%N7z)nMgNEKU2#=gD>`=AM_T%n%Utjjt&J%X~ksT|Sz5ecY z7y-WeObRLs1&^S`qIzO#GzN zhWZwcHt8=c%#u7bD`QYRiyxGcH8d$HIyw^Ew&1p$5@vMtjf+W4O$`%86F!k5D!#t` zlhcy>GvoW8z{s)wvwy5w`D%tTRk_t5zkdR%l=c(vOBu=?%JjfD-~Vv)qD4!Wu3x`- z{nDk27H!_Vo&j1X`F;O=tKf@)$6A~qbdZ0oU~*|<2M=!gUNYq87Zv5_M?~~|V`u;4 z@Yz0fg2nesYHNoTj|dzTR@%{)+&?s${M*QPttXfHpMDadDuY(c4DurvV9G4q1w1L& z{L>rG{wDfY1RE>JXPkkx(m}1P)6bY+&`@KygCwM_20S5%^;ZL^a#B*fqyh10KG1kL z(`kvNxPT7jj7e`KZ`pFD%@+gJMoMVt2*g)O_O%^;`|Y=P=H-36#pztV=CjY%te!S) z#;j+boi#(=#I62X=KcxN&%eRD@Mh%}kbXYPtvM`nhu2WZklV56X8iJ38?3j>maSX& z{<>w$u=@TwysTR!3B+OSgo{9dSKS7D3Dx+-H8qRrL0oU(=dd|h;MqOG z4zoAAH{QhR5w-#mtkc=yR~KR^zZ~fe!v`N6ZRb)zx0}42`|$(Gkehq_cy4Zde4joN z*QbxX5FO@nsAk^a=gb)-X$n9wP_UdEG>7WL$dO4&d-g1LGWe~PGB*wPS`p6;@RL$% zjT_#0Obr4iV|g1WZYlg?Z$74H>qg{%RbEm5@2|@1YW{aDDULY(_gu`Br(h<6>z-Lo zj);Q_J0c;%f@NfIL?CSiM%crVSx|JZnSiuJZx#%K7>PMtpa*1CE(GmjjSC<`NnkO? z5^HjDXe@$_gvExo1%yWg)`tcX=WAeSt$###K-)EE#D*-wUEM84xCEi8X_QL{6WtXq z&3432QAH9wKesrdv9tnHO+{sSeMft7MG=*_%M~S;s_V@r{sYO!<~6u;m& zkX%6vqV(+>-xpp%LVSE*a3M#Om;dP1#iCOBx3nZ;R2`@DUck8W$EK$0a>>AV6&H7k z5fKIw<+O5Y`*D~|Hh$X{lbTXc+|byBfGI(ZjkPC#Oda4?QdL!1Syon3R#^#1O-UJ; z`y#e%F*`2Q16I`+MnRmt#HWOkN*~shE${#{mXsKcLxwD74~+xlsv8q^fW0g{FxnQH zfj;D)hQCg9|AdK6dm)2;#=aDSEy-nBh{E_2JHbu})zxLyS+qubAo^CLEnb8E1Y;QC zcEJnx=RxXxkL{IL3Q-)Grh^oqb%}|8PG{drhNPtDo=Zyl@WY;$=j@*lhbf+wT`Jb= z0Qvz5Nd(L6cO&>=`kMFo)N zF%E_(gcKCVW?;ERJ|_zxMThLPuK1P|IalO zTO>tUtvfz_E}ck&3Ja;WWxcRsA8OlWt+v#PI9fgRjYNy=bY+;hun3bhLFw-+_PybI z&$rZyjuhb{`UiQ81Tkb0bn^+>|NX!pn{v#5t(>{u$_#j4JcT3Re zWhpoLPH}0#*}>Kj*VZZi+w$hXR7n52&6F?BH+>q|OdHROrr3s9p+w zBPFO_-edp{kW+{^OpCDwlxb+TTpC!ry=@X+6`-4))KGO7woM-xtX9~xp%H_-7YAfz zioZ&E)ohAN9GnzsM+h!VOdl1KG`MeMC$wwLc(c7Z-h(88W82zU+zixYQ&xf;$VdZ-e}^d z4K7W)zyA+FD7Lm5kh)nAz|5aqR04YV(vqUu3x#L%JBu#S)}^A({Ii7@YR^(bcNSAm zE~CP_p;$#JfQtGeUNl}XV!*`0rLvX22*%0E;^b<25(LmP)|VGo1ywY_jGfm|8QxM{ z+-QU7bj>8=8~5qbHbb1(S}b2dOx3i6ximLpT&{j&8shbg=~HW3>547Ymzq2F?K)Zn z{v<(YuIb1<;cKrvP+D46wtxSD{bgmPr3Vh|XW>#*W23%OV@7WSBk=tgrmNx{^ZFY(Kpt!QYrby8(YuzG4I{G_w11)He5-o>7p_X%W&+CP*t}^ zN4K^fKAfK?2zmLkwYHt!r?1-Qr(s-URfQZb*=LQDKJ>MNh9n?>3!GNT);GpV4jE8|}0h$$ZBnNpnxh!sygf6Pd0(P5R zWHv$FZiZfwBob6=QUI$bg07KN_)y-{q-vE(cOyaVvv?C?fOKC6t(b;P^jxS@XU zK8w?2qSng9I@%$nfS#Y&1EnC4{h+f~D>_wIs_@8U-e3T&1loE~U@%cN+I11F8K{ol zKs-Y_7J40>PKt)%j>;YM5Af@TDTSI#s2gD#AHCFAQ3Lm&U8p z+2g^WrvpGhS6@%00`4xEzF^V!*G1!&U~2(=85cY1+ai3yR&?kJL^!-G*j=s^2S0TD zWDz0*fKQ78!O+;#9Y9;AmWUn>H@s#TRnR4%XQ6V2-y}Vr6m1a9J!DzJ3Wv5`f(q{6 zIR*wO)h48Zx-c$Ak=4Lt440{U7b{|bPBv{(T5_yEqvZl!>nq5%5iXM z!%JDP$qz=LCL3buSqzGTSFMYv#;Zmh1rG_tE^vXMCM@0*0bzW|kwTO(!~wvcQg-Bq zNL(1<;j{wC_*DZYu%2k};aa;%LI_AE-P)_rt))V@_6c-r+0d=6fNpIabZhgVTYCb!wI`rk z%Y;TN6S}qS(5;m~xAr)6Yr9pA*9d5?hC^4C%Em(bm7V_YS$5uJvC!v<>}hDo-hysz zA#`i!p<8{9cfTYCb!wRzC|JOSNWCUk3A(5+=aw+1aD zy9v6ro1j~}6}q)d+~HX0*2X}amWewZ3*A~KbZbMPY0H3aZA^4@h|z~Z0-)K6#yWHb zdpqodZoTzZv~qeo;*y*X4U13AFSwkam=f2gs4pHyUNM`r&N?M9f<;szx(a+u`k+vAi(&!p2EU__(+@nTL411kd;LE3c@ybjf7;`IZ0pBVM^Mdi2p{ z6QKPvtMi?RY;>pcsBYO7yz<69?@a)TxEp&OqR@PQ;Cm-VkAD4|Z;l>+`IWa`K7Q)R z;g#5)~nlzdg3niGk%VlhA|NgPDrKM_5>Xt+^LNAgv4OF0r1B;)7Rr zZEK5esPAmEheX=jnkq^Hf^2b3HC=7?&=@;{EtS~qW_bzx8`5No3%x|3Pup7wjvc#n zY0#jME0y5rQG5}uW=D@3QP4VsMn1Cj%{SlNUlBA0-Y`?IA2@LM9X+sYadObgm2ZI( z4SG3FUX+2hc7@@E=l=4S=l-^A*+N&({)Os(@rCCffBa8R$$Mpq+w%4V_#<4W&cjvo z`d!?Lf6Cl}l@pZvt`3Z>{F!@aixhIAzP_}&y7XLj_Og}lE?BVa-A&up<>ajUaDp-s z^K>Yc?^9^dG#wxLy5A}8z@D5$EaBegE-busNvHd{B=Y<4+!7lzk*#H2T$Va#LeMAM z+y*vHW-}&2*HgiztFs!Z6z+U$;0kDc@XvqhndZ%V;)!|lrb9{eHB#@qS6w5AxdT|+ z$M!nYIfTCc%}NO`nr|Z)qDO>Y1ftslhS=(nO}+&ZU%_yRk!ueLvFCpO{eGRzmQr^9e13FXTy#Fj#-Ul47m3l6;SqDaB<_O>dSCG(3|oGF zo2yn`+mwF$E#BrT!2@v(at!1Jh$s*x1c*~=rGmswp^ot{=j=b9<>JLlm+bbRzlr_? zeG|SOUNUAa$Li36D;*5cb_Ign!DiQF&|@e-nj(+Zuf5UTY4(HOfbW1(NZ-;5(eb+m z7gtg&nNP2SLg?~Ye=CIC$^9g*-$0k>Kk|Gnk*ZO>E-RD7!orXcGFFmJn5JwAM5RhL z8YyV1po^w4L}ewO7%AsChDz(XgQU7~F~6q4w@ zDV3K?0>XUR7811=lKdg#7Xy?C`I1yLNceopOP?DA=!PJ7t8WT#O9&1I0}F0`(Tb18 zD|e|gxe85!x?;r&0M{?R`Z6`flhpYpbDF0P3lWe1Ay_KzlKqPd$$kK%BN11FzB zcdI@MV!x8AkW}uZsFB2R<5E+>k3VMT&Mi4#z$*n8+n%#wE2fXv?*Pbu`SRr()^Faq z^Yef1$;sKibN%+5ZTk;yT=(Tqbq$pjrKS0oOD|M5W3GMC1 zRWqkS4L%SBB`n${j-69^{xZfqfl$rWg6Ps+QC8NVM;Wh$L{Ze)+FT?{ro;P=ZP>6O zE>3%P&pTP&o;k|jO-sLSf^hNi$L}88u}_NKxn(PSX?E@YdgoWWzB{^aZ^6m4=P#CA zDlWNLT2fV4UBy0!W8uQJUUv5lEPEOglZr$31q<-nFSh(xfTW`sNG)qBK&kMKQd~;SNEJy{c zz{v(l+})WjF~0ux+lwb=c1tV5pAs)DqksUI#jS%^tqQGnaR)YLK(=4Ng@%%vPcoF1 z?cG~eGk9>19D;or6hHz`Ame+wK+SK(yLW*aFB&f$s}_sN72DWoYHg{lvYJI}RatGV zpfMR+;1X-K>8(|j4GmhI1^q07Cr5`!8dV>)7)BjxZoms^C@;Tssl427?`@HYUmM0A z*tJ|iuxmi!6UrK>Fp~pvXef5MV)gn8vqh_KsHYGbVHc{VDTi&3z1O_)W zw4t9xzfM-dq$SY(Q~QEs2n*}iFD&fr*}5tMM@Wzq`uB&e=zsTOX1xo{cam8L-mi5=~&@TS8Vgx1#eZ``E1g;8XUWXuCm z|6df}C0TF%MAZK2;LWGG+db?_Wv+2`YwMeDy!P6gZ@>BG1gOks!lpbGw$ZyFG5$gK z-B;VUZ^sa40uG%=)Sfuqb2LK~7yx;1uJ9uYfTW9#_8?ql3x|>B^c{xQtOi8)YEWW75GO_tS^<{Zas&kRI$Xn{W#rGK;WXU8+vjAJb zP;Z_(AM#@M4fm~54C=9VNIJtoe|rm_*`Y-Fp71S$b>JP}YS;;$^F8A`0EF7XRV#>}a;q8}0FH55R?J={ zY;FcdP;huxq4U|$bG2nKnX?G{_a8YYapy0frd@1mDz1va@E)Iv$B<1E6&2wpOA&4u zxb1dW_ydhZ_TR=Cu@P;z+ro@)DK-GX3wx(P$ozo;HpGXd6cGWZ^iUQjEhc*tOsTCd z*18zI$3pZQG+pU8#PQY*>MhN236VW*A<8)jA0DAFUEEj~vWRW=FYfK3ffkn*c zg0MFpzXosuWF{$KG>*#1$QYNAo}P~3==jX^^y#Wd1rQYktG&c$0P*S@&`8j%+U=a_ z=&>_68+#o}9WGInG~tQRjlcxX*?bMk^DeHa9394GNUG2KIt3`fOH_FPcdmnGwxy+8 z@h^!nF=1f|38(;q%%}$G@m!+8O?sIwszE-N=xc_mNTZg273riwbjXENpO8@Uo#YnK zMdS=B&It_h@Ys4CJA3|xP-+~Py%!CL7L^S#89hr#`P6+z)e_bP)y&T|3Z_@8QSpU! zID?x(H3e;NS50wT5E(&mV+itySd+0hQBS=_@fYc?NC%4~av0tKy|q^!Q&@N*zXGl5 zi4!M(JozI$&5q}uI1RzCxcL0h(-#X1t8L-o!4wH47;v1*y4oCQ*o(LA*s-m+u&`wN z#*G{Zs7dS!^0D09_Ab1fuC6w6lWK2EOY6WmNypBf4Gt!hodlrzi4!Fk!@~jA;*iAB zQj4XqP}Z4D52ufO?z!hOG1PyVEiv44>jN;<7^cj4yr(CzJ^Sq6hTZ$D$#nPK_dov7 z%vBc*6nRH8L)(AFUinmbs=@tx`ETi#Gqo3dY`z8v_@DWaz}__LL*c3aytv-+$76?i)%nAkq^#!_>qi>Gwz)^GXz$x`bL{=0tP!f;c)W>#z~u?=^I+>R=!U^HHPISixm`ST~E+3|6+xzE-4 z5_gF!;>Li@PdKW|K*P*`rJ5)W(xv|`2ZWL@$8QhIrDmM`0$5!B_ztT)V6}vB; z^MgPGq_pN)v~3S%vJWv9p3kG`Q=pjP;C8{FSn~zU%DZ8`M&O3w2@=-_I{R?P@Zr(6 z76hTkvjKPC=DGRi(iU_DNwG#aS*>4xNQi&vSxomQQ~=)-6Vum{JV=UlB=o_!Fghwa zEqd;4_UvPGvrxR=U>~z=Q`VGe)1Ds|XKuLdkvk^9V)rrre-!|J=g}>;==#-{pV}8W zC^ntt3QyfR7tp^CKqIsPox?6kyJ!mv;;;uKzk8A}M9jO~X8;P~9*Vgqeo%@A^A6Yr zg}!}hPzvD`3bVd_z3tW27$nj_QM`0%zyLH9TpOrQy4;evvjK{JcPDi29A`#_f;1`e z#x9g*bwGulS%Ryz2n!7wOaTh{MQYcuka@C+MOq_cDRKine+ug1ryHGC>EEyLtcQ^9X(BlGv$F0#U>>0!1(07>fI)iIS&!7&yilU&SfehiI zE&+om7lrdcvw&4}5iax@=#6lj8eZ(|fZYoaL6{h@Enwgdr9Ur1u-4)bt)xbHYFP}P zT+(2YEZ^DL*4EicH!k5Nz?}m=F7VUEKpFi5oLDe1a-!+h+?CFclbs(YvL(2TT9|_Mibclpqvo z>aUq*KFh2NEt%0otA(>y7$>Mupt6K0eItFg|4FdiB`fb&rwhX>F?;er={2MFVM zLapKtwF7M4xEHwA(F~VDGXLS+$a-Wg4a{uVK#4?#Pl6TI!!-N9>pYPW99+|JC!DCm zMQ}TGN7M#D?$kuUvI%D@;A?PQJQRM%0&BG5LbnKiOCrIB`zI{RJXG>7s9OZ>xdxm7 z4Trf4yL>ellECBbDSGKwk?aJeJS>P1lZ$%B@x;kwz z7vNlw3h_SR!jA&WOZY_+Q48P#i!;RMQ6TxQ7Ex><3AFxFj1}Wnvkity&^@^QQ<%z5 zPc4rqnvGhq1ua%jV*rO%KLed3mb_E_2YS8X!8m(hR8b|~VCi|S_Ix9**?NxWjXHWJ zNiPBbD3bXcWd}k%Tut0m-WO{`R5nr4plQ`~k^ZmeZR4V-N=QFn6ru=SR9gc;gU=8k z0aS(KexLbY51MtT!Y!oj{YnOer{Gr zD(ep)w+Z)-gPrturgZG5^c&NIj#&1jLuAt&Dab?F9EZSOaPaINhmOs2MB>^vFavzt zk{rWuPk!*E2u5y1Zf9xmZ%c)L+h9i=^M`+1JglJcu!3g63Od-)55FfO^<@snK$Zyq zwlw&+Ssn4nlOhp=9dDUxqPm0vlPV+<<)L8MMcaWSV4tAw>t2NHQFFr9nGnFaQXYWUuHq%2>hlB%To%AFiR5y?0M z;1Y~E%pQo=1<)B(U3w;X+0rs_^=jbIR_{VqSzWnHUB2Z6K;2r*JQ|9f)3an@p-TOI$_BA$U*lab8`xRJhKhZtDB`ODTedsuCly{)#*9^DviZ)*e< zSnubjl5p)s!*yriQV>z(uXul`rc+s)o2zsSO-+lK)r!yraBsh4$fRy0ikdTy=0R!4DT`IcR(cV^6 z1W+zwO2}J7L+H!VjC<;R32L4JUx2>}gfAV7wWpCD#&&bjrJ}5Bw$hcqI>G49ZQlG^ zU;q_xoD7dDXo=qlDGTLEoi+4C&6(IpL~3rx=*ba=$jRdgC4M{`Pp&Ihy(sEf)o-MJ zq_F)7QBjCVvp=`F*-Iy@>&+0xW9?d*B}tZiu)?L~=blPJmUJqYytt_^rpm|jdXy18 z?;nw~Z(sA75u-=bIq0@D&P)t&pmoMOoeD_pC znY+2UH-|T-#EQu;GgFPVxx_i$_pxt>Z-YAT!1@MXlcM!`Xhz=T^WativAOmlGhxw*9K;}4t;|%R)x>`Lj^4%nS7AI!=_#ni zo&rGP=k0^+DK7jqwLnt!_~pyy#aCb5^W)a7V_~Cu7Ivt~(5HU!=@%VY(6Fjo8rs_J z1ga@;)F`G@*L2iW11?nE=xwZqP;zbKh!=fLz2~(}7GtnadYg>RvhsYun(fyuk{bCudNTXH`oI))ch~bk7^>Ey>zZ{9O6wL$6$Ci zRHb+GlQu6(SNdodRUE7^ZK74pqKa=SOz9M`c=?9U-;{zLNlbi_opF2eJ?=C4U*?_O zd^+#T&A+(VuUdK*H4dDG&m%np3Zo~35KSfQ%S*Nmw$m$XR~D;z-Ac)s#jWE$!@L_! z`;$I1=BY03x#uL|x#t!wlDI{SToL|m-sm63hx;3Ow;D_s`1s!ZWvjli)>7N3x9A(I zOjV6~(|_K|b;W_ewko`dCcklvev zvc@T-C8eZEK?J)7(bC|-l#U(i=%B=|k}H0r-yG|E+PAg`yk>)B=e&*V^y%~GDfOWk%1A6Em|gBJ9I=^V=GSM0wW5Z{lAC1~JI!Hy7IsCzJl@dkzfkl``1l1R4a7Sb03`WAjk zZ5R!%*^0)#`K4H}*JEsh_`sBPe`;(B&=7QgdW6eYdFZ+_Q z;EhA{P+x}+N5y919ze9RZ;W5C;0f2U`&SFz~9abl+L0;GQ`>A1z)>%Ut&Q z>&uo=G9maBB^Dfnks4T4et98y+h@R*mZgaa?>D+1c?l#a!;}Oe6kB7}t)bX6=p{1Z zBY-T0$nx`ZVc@Dx>bw3$XQUCwsxr`F_C0IUPM{Wz$T}&m>s%i`i-|meZrL~vJ&LkooU)G-s}IB?tIYs`uO@* z1LcYJt)Wf|#2lgoD}ALbDDXNkzvZ+A2AFLDfi`nPb4_(~Lv;;{j-q0S>32HVySaNg z#AAfgbpRKsG~jmsiSS{&SuS2e3Txv&hKznE;Qc#T8JB$3_BK|=>zx|kf4um@94Tmj zWMnBUE`^0xr{8$KYkE{;*u{dP^G}`)jERUvIkUA{=UOki-gC99`3J6PPGMMR#2_i? zba3!d#Hx#qH5g-~hg>&#(se^7P5$}pBpuO-ukB4u@vzL=<3m#Wr}PgVkFM^|Y&p_L zc*c*ot!*Ix?A`{$KDO_63R{|+-*jbS^HKJ((^je!>I#)oU3uMU-|4z?A7hdRqjESI z0-a3?6sp_grH|?jHGvi5dhDWQ_k<=oo3*{fjGs`=hZ~b0%)NDWt;DuNhbuC4Bgn8p zFl`tJw?>E{jDpGpvC}vowFd&hs%b+0vX%F^MYo5Cx}#Im>ESi1n5xPszkd2K1wm>( zT9`n(&5qrt69nW=zOt}X3XBX7216gH9JGLP^T>hc`G4$c|MMFF4$BLT0SC$^OsY#j zckbkCORJ^8kRX4CP;H3tsIbbNmE^2Q)PA~kTYHzLo2A^)y9zeJxq8P#7ji) zgf^)k)PN#>n%Sk@y>{)^HWnlS8U?!&lqPyYH!yN<106IbYJxS5^$ksCxew4}Af)dE z!&65W7Nmde>e53=17jg&llxf`Z#V*=n=mKG9&JxM_464hbqbd`E8a zA}R%d`m%rFUxE<6rKiYZGyvr_UJP{L&Oo&82#iOUAaxi`3g<-l>sCo;LQpfPgE*8z z97}Ji4eW6`V7s(hqaqne=Z&jVCQ%WC!U%kSglCm-8ud|pR&!^UD-59>0}TwQ<(j&> zYS=}vf<*c{D849DrE&EL*fCm-xCC5B+SE%xBi4Nh>fRuiK$)ucTHV*Mm~kmgH2NaD zkJC>K4b_59gtVUn-BLV|_VGa4&jZrFKXglv0crmfkoGS_xAYNoOAkV~^e98L z4Iu5W1JZs3koGS_x3t#5;3PE|`lf7TxTC)DzOIgjywPyR z?97cZqfnsGa*!S+R4YbqNEFW!x{CVx=H>;GFz3!Y=g5NVt+!lK_cG=f!EL_({+Qd{ z-hS-Z_uni1`lY7gQvsITkCcOQx-vq{^0jv~y_3$~5g$I5GI-E1@J}RtR@2nj`rz9( zTSP=!T13R=Lx&C=}H3k$}6-)|DOfo2#VWq2x|w`wS!WO zAJu;7S9`K6E4|xtOf+gg)fZYI{Ynr4=R$t|!GoI*9?Z|LsbNR+L71`BqJf$f zO4%+7Ru3Uicc>^RBCg+rd%=`rnRnZ)$>WnF>#8mnp5Oc2a~Tj#7IPUHYVOn?I<$ZP zp+oSraACgs7xB=cZ@)csNMachWGx^d3h_w=_&N~)6w5WSj_zAl-+_Ab)TDLaa`#K& z9c??m`DUlQbnid@v9$Hnsc+b4Z!Uea;D-YCG3BQV*wTgE(xnnUh-7QD2Gj&t8*3V^ zb#-=YV;!^EtE&|^QBH(ey`GwykU)vADX~i&ycNxrl`JGguMY_U|1!4q>b4(DISX9e zm>aV>peeY50@)ZE8Wjbay^XFSyn$MrV zaG@EYHsxJVc}-Q_Uhl=yrr3P@eESqFttsKOU-)$M=H1c+0I3K{b%=hZ+^H=sEi5c8 zWfK6jD)XJgOury^ia@=bJaGb%;Py!__;@c6K>C3jr{x-M{P?Ne{uWrCWGA^$E|hY0 zh8G4R+m0VEO<-v9)rKBFQ|{CPN)0$Q`}Hqk2oQ;g`<%{&N)k)MpA0oz@86oZSoJ*D zF3>@tbW!<2j_xWqw+w(~3dR6XO&~3qABe+PNMH!8ejXMUB60KPWpk@m$^Prsu{=`G z4am#wM|r{ynB(=;)t6a*V|8^25g=Xp?o^goOUsq-9uPp^ogE?uv8UK! zITHvi3G<6+I-K3}8X8K_?a@MA!To})nU+XP&2^PP(uY^kG9)Sl8oCVt!NCacdz?R5 zbFe3y2E84m&))eOSAgr4>sJ8ai}8yYTtSFl34U@&;Mmq?-GW^!x+$j25FyFk zm0a*>$kY8Vi+tH(}scGlV zrY4GsbTTLB-NvH&C@(Qbo6N{WH*jWlq**_D-^-5MEcxsaZ> zaHUDJ&7J!==7+)``iq)B^H4fF_?k1(Bbp5U{SzYx^zYYyfYnzIf#vk2*jNJqq#&cN zt7~YetAj}j*yAu4n6y+jEdW|DDv2I7DtZBT?3j$?is>5|Xtz5YeeL$Zz`lJQj#k3D zLRC(n*H$RZ<)Ir^?EU7ey)CD|%*{VrRC;*phpRsaRl-j{<>f6{keA1Da<**A$zi8X zegFM}1>b+q_V3@ZWB+~$YzgoYod4pB^Qk?obi2y|A@_L7r4Ym5!2<{4BMclkcrbm5 zJn}=$&(9;9ab6xEv3(QqC4OVVt5Hix&%5C?pi&OY9Cy?B@%KeX%t=qr$QW?*qzMym z3V-nFyC>c~BNO#-ID19&0Bw+({$-?P_{8W8xd8)cNh92qAAYz}65d_4>RriZFtoQI zI8=LxT@dUcC>XzcE2?e)HLN#hR@{tc{$Kz6*xU?I8Fp%h&VKNbC(_w#n*I+w^yri0 z*diq#qsJm}=oAUjx^`U_`qAF4$+~oQ0@y6{+P-wm?c_$9g~8`Z%=cn#4tEOk9LaX( z%&b|I4jmdhmJ+i8R>f%=8?DybRvrX(^-YMD5(E+ge}4(?K&&1yl)vaznNstVFaRTW_1W~?+e_G}ZV5f}+Rw4x1`+R%!MP~OE?ghE*9 ztOzwB{D5Q*2tZ+L#psQhu`cP=ZRqRj(E5*@F=M1Ge7JAlDoI#{CHSl{HFU$ICBC7d zLeko7u$vM88?uW3#VdjS&1wyhg-SGLD4(>9fEO`na@*TUnkIcAUK<%))l9+|M&5-Y zT~J+Jz{8z4J}N3+65^tw;-na|vICYv8D!|6S9-VQUH@`H($$*J9?w7Q`XmG15Hn57 zKV15L`Hn7K8$aOsEGX48mE}sNP||8{%~C*wrEb+3LJjH4Uvz>n?*9A7!Bi}ieD@ui zX?1Dyc>4CGR8XMNQ2PBcjr*ns_)61rvv05OO|Rl@^wxVXdZ&0JJQ<$bz0uzO-W2Z$ zZ>`tu`^dN6_l0jK_wwo)o)1_FFS1{a0}Ab60RIiR=X?I3V!=P#I#kLrD@8QfiQ08ncPD=zjO4Oz(G-&vF&MgtOEKy>VF5@hs$Kci-QGW=?Xx26|VQHIouqj}P z>6C4ux(6BeYPSwxBI4F9yB94lc3@Az7*AqDOL#;6Ke2qVAwyO(_Fuqqp6UQ7z_xh& z9{>rKqtF+KMA+@%zx_-trl!pmV~to5UwrV2J`rLV9VPI;MMZ8S{i&)l<2@*IrDV*_ z$iSa;^r%5LZeLjLz{KwlP?&6_O$<&wYVyqM&OQBy=Ujb3-ooLDBZr^-KerGU_BO{) zFT6bamRXEEf1&O%PMCH?QlYw&P<7?6zg`X@<5@7=OqTzuJcayrDdiRQGxJsc%zAUw z$iaKt_q6XkaC4i)V;b<03CCcGSoh-2_m+OR{`1zltPvyf$ER<2v+m8vl+jaGw6s+N^6 zOUhzs`^Nik*jD4fs#uVS70H;$_#P=Mgr&@f^|LxW0=rluAY5LamP z<`pY8Zw{leclY;i&dS;ho?;Ll$j5(x7c(~i>fi10$)Z=>pu6|(t=rex-Cb8FhRay4 zd=XbX=+Wg}T%i?emuv56tF+bHXZkGt1|wbHtxwmdFpt;%$=-9cbG5Uy(|Id*=$GhA zjJf&}vLKvAE`TC39Gqgz(ofM+R6XSw;~}u9OC&(ooBAcRv)Pe%B6l;t!`hqpX51Tj z%S@QRVCsca7tFu#(+zL#eRIR7d(}Z-Dn?N9y$<^n$2lY%$O8IJp&ep%nT0N(maWLM;s=nITRK8b!m^4gH?YuJ9s?Q%S^XU|g@OR8TN z**;glHq{MntOVh8+v*URPO*0*_EVz2aPqg%!Q|7@%pHGgtA4u zPAkNKqyr$kh48YAoinB#Il1@46C>woGqi`a8Gx(fHRHkA*c6||_E|=ARr7;|+Q~@s zxAOZ()vY*DUrr3+A4V@X53D6*wl?K9(R>1X5)yXo2_(>j`xdKiG9KKDsUy&?Nz@Iv z+oI)vBoo1MQ~dD^i!^5%ZjrWGUO;#sV6e>sp_q@-Z7rh#S{Slh=)r6}poi$P&X13_ zrPsIBGfL+l;qJt^6-J7V%uv1mpU86~@_3v9IykLWdGF2KX^4@?jnKp-=) zQ&}=xGIjE!T6%LwGqN22$krpqtnw`MrmBzrD>Xem)xr@rYP-YoKV9^%9(bE*V5Qq3 z{fP{_@RpB8ZJq!zY*@Nb+&Z4>^B9wVoB9SuoajHfS%_Kp@qEY-Y_OCDc zcCPwWKCcHeQb2S1b4;z}k@*LNt|Hi*vLu`i&B*Pv^se46)BYEaRVvUtk_u0Tt?f}d zx%?7vR#pc7kWNP<1MN6BfSU`0RLZ~#&~zW(PZ$>iRI_0%Rz7p^?+G(5k)a7M(edHB zbsw6eKm6#U58dEMl0~nzxrzTQTM=ORJtp6@U6%b8qEFO_kJsTC&CQY{LH_5`Q%f_q z7j8Gnzr@oQi5}UU8;c-?ikr{DWK(@?RYNTeAWz7n_I8(M276tuUe({lf1=`H|L_2W ziF;d)Wz_9KH)GV{|7R+Q<4>(9m(^a}9$Y2fv9u?0O2 zThNoS1-&{{s4fJrKOI}p9Ps)vAyDkl@z{D!XL$n0N2$xP1-%x${S!?fX<+n)19qTCVFx-TG(x#TM`H6DPYG~ND)k))Ha~_k zR^@@wPs0v$8g`)B*nu8p+kuM6Z;QgfQTzMNSpR8@$u{NKyizFWkTX*KZ79-O<7RG- zA9wP})D{I!56p6p9Z_#IYr~FH>_KJFw&<{ip0&()iaf<^FV>lAutJ_>zQHd6;ev7@V zuP}*jIA}a(FEJ^lEr8kL_ehE;@~&F%COE;Zltnhi{-s|>4|S{|LeYoqDergICMMQ))<(ClYemDS zG}pTA^^Nta0$#qWrL|-jLb0drgAd3F?Au6m?TvLRWoL@2+o^(e1l6mHzE@Y5oLtpe zsVXg_vyK16cd=5ZO*?Yb)+%R0PJK>-v%aM-r7ESbr3&+5Xo^=v<#f#nTI8^ea2fN`Df3vkyMk!7MEXs`Mj~N z>gwv%b0$xoIPs+UB;1}ndCr{q^D$cQk7Q(|NuH&&w2TbvRpEJ5fv2-8A|E@3wc>}c zoLq*#aV%NB(_Yb8k;n=^$4B|+#R`PsXM^iuQoKDt?5w|#0i5BXW`Je=MS`p!EBjs^ z*!MD@|JY;aL6H)nouJT+j#(DF7A!dDoCOPjxFx33&?C+T3(h@v!2(l;$P7+Y_aePT zd7s*Em=Uw+`M1`XTn7qMS3y}XWh1XoIq}7mrHhykQ%o|dr=EXSs_Lky9tD&=s(Rh_ zES6c@*X{2E2Cgk1g?5H;qYpdyvRmYG`d0oKj{4o7aLI%}|M{P7V@|268auXXY(-8^ zMNYu4B+=YpL-o^iINxjk)OQDgwdLr6)}`wSsjgOV_mtiguVi#jiKN_p*s~JJ?4fe{ zb5iZ4mUFjopg~fKk@_K5Hgap%KEJlsrJC2h_S$Rfns?v(r`!LmBC8^IJ#zb>RAfcu z_S^JPsUBAzN2jNcPVet;YU*!N zhkJp8`0?O!J_GmNs9R;;s@6x>s&(EIoCI!hp0F%%7I>EHtl{5te9t4R4pyUh9lqjt z_SxE9drQOsojGmkn)>O}pIx>r5RhV;Tee71!31126SPSQ39YT^?hKV-8Ezl{@qn{Z zH*emwCo8?Ly*60e-WQBBTGCsLxb#EV7vCB7W&aN*CIT_%bte*YKaY+y(=_b=Wr?Gi zwrojAAT~77q2>QKa~0fQ`$|28RHGSS%uRei^f-13MPL-%8qw>-;kASgU7!_(v_ zhi#o*rI|3wx-L@81=?+ILL^9$)dc)=SokD3ER6gRonE!s4$o*4+`sqm`fy%gZtexC zsky}Fx?s%ooayJEe}2w!vb^a0oCIU$iHM1*lLB;a)3V3pj>(>u>yLBkt~kGb*pJVf z9LgGuxzYT{i;)@j{6;iYd-t_dq9Xtb=GpTr(Gk&CBF97~_wS2LHne}f^3U0k>HD{q z{j;!tSFzFApyJE)Wc5i2xHlN!NX0a7pUt57$AVKGDRhl5XGS=5(Lw*@v zNe{{x(Pj)X-jdJD$iBa)RQy7_A`T)d-OXpem9pqnT0i6dQZZj9{}=;9F?7-KodkN7 zM5ugy(}fpX4^~uSr2~q}*LN@!u!S%AC%v})SOaUuaQvUq6srD?=B+Y$BAy89W_!&S z`NYyXeI+UR;c)w?G2w9jnC!;J`s|#>#_XI!_!-we__NDhLiL*wMmE*AREH&1T=@0Y ztqmK1#&@mS+OSoNXuEVr`Rf}#+fp(NJLgZE-+HTjjjN%l!L_ETeOP=Tepq`zjT-sy zT$2vNehj;>llvIz_qcq=7zM$U9%*R1YYyB@;@+J?6rFoI=a9qwn&|1wml~*-u&xd-FWlOH{LiOSO3>A zjeHR~P}W{T0#xaBXpm#2rOvx!#||%>216%XQ(INlL%@DjQ!}83t-`{fs)~qawS*(Z zGY%q^f#u_31p>Vd6=~$rC^ikEiPO&+c8#luz($k%Vssu_6?R>2y1FYf2oq@Kth^x0Hv!&OS*|O)e-p}^5 z^eUz8ojr>jEzGX(qK|#|-OJ~w54EW>tIzc-F1>V~mZ#-meEK?4fFWJ2lbA|SIqW?Rb z*(JkpQg(UB&O9PuOg91}ruXbw?^wU5$Dz0ozz#9Vaj4O5KP?$BL?VzIGELI-nD z(5ey%F>N{p`4Q|#PPB!I{ewptv<;ntg8ht#j zcClOWAUe*;+=mpN4m}?AH*iW6vo*m@o!~+IE0ef*AkXkjxha42%Z}1#}l*H!WZg$Sw#^%;=SloO+AR3m6dRgVeqBYHA7w zsUo$+K1pmejSDZ&3fRRLg|UD{s9{N_h|UBEr1{TDwS^6})miNxe`#Bnd2?H#xk zi087Qmy}|9!dro)AS(WmQ_ZDo-bG{Lv`%@;z^0P!6QqZKtk8Ga3vm#)Z8Le36DH=R z2TI5BJpN&0CNQO@r47SGl%T8fKQ%QJ3gzYG<%II`SPLPa@FP@@20w!31+)%S+%A!a zi0ZXpECOX4*cP}=WT{}h)1%=IPP$px4}YegN5SQWI6>lhbEk3y69ZmPse{;0L5~#* z#$(JVv7^PYLm*o;tleFJcoG)E2Jz&RYP}A3siX)9I5aB(Z)kA`XWNUjG%FY^lN}Wt zS^P*G4yilVz=o?-KBPw{LXv(rwYil-pU*KuoR?z5%li~6(gmF)LcYsnc!NgD2fcK4 zf?o<9+A$ViwXIvfk9BJ?+RQVsFTDsXX+CJ#)u3hPfR-)9x^)irr{{r|T?JY;6<#M9 z%L<7jU4+f&@yy>v2DJ(|| z2*oFRj=`oiX5BiKwMz?6N#Df|nXbRS?Q?PEGz*zYl zTgNg_2bShMjxM$8ptQ%Ey?HpUW5DDXdjZ02Rb{C-_Grd1Pb>zED1^Fixq3L?0xKO=n zTH1HMgB$Lf<>jWkynN=&@^W?bEIz!<1*Y0K2lpPCe;&Qjxvjxw?uz@TmJUOX7D-y< zX?sa1xC&%fl6-l?^;Mu`8#eA}vRvW%T?C4&;6})&lCr~2+kr-;7ZpU0=_DqX)8$zb zJi3U9{%UZEgy1Ij(G548GIO%!$enrd&8YcGe7{*ZWr8R*rp=r$;j2oD)lCOoy3|2F zN@t4c*vSB=?KYJmbfIm~`JpLU8F12LHtPT?8(fq+{ahxv#(eQB6(PM<2b@(NXi+ zXP<4{v17xk^8dZ}#gC3W^2ja!ynl0Xu)2C{bv5uEs9xvP=9f(*E>}U}8S!XZ3RS7| z_iwhe)To3|RaIA4Fc>0z%D#O$Il-`*K6dPw#M%`fGwn1c9g$GendWdx&^c4DL&>uU z7p6stTvp?@o2yc0BFT(9Ih8;R38sT&HomOV1b{Q3Gp2!MikZzf!*GUpi}^_^u4T6p zl9V$bNf5ldyeTPFRk|^?V2VK$Rub;LwM7jf!lLNK(Tlye-?3!L?|=7;U;OIEB8f7t z-S{grarf>uFaPOJe|l?2?(D0tzWTg*ms~p#^w?OCvt#M3=x=4#p8nWchM2%tvEQG~ zp;+V3o*)h{X@_2T@=2P^3$ySJy(fB^T2!LF`0y+Q^mC#&I&ORBb@f_d^hV41A*5Sg zUZO!%dP76!A_QV#cd?1f+275+GHVV;%r5mVv0Fwa#uiocBcsJ@0j$v$m#DdO2rL!Q z;;?6VQr%QiL^O8)?;OzVs52!UY(qn-dX*J*rumT96U-emd|zXGd(Rz`Xz!hODk{c~ zC2Asx@hU3v^B=l@$&w|jO*bLI&RnpdrR%PTHRA0Up2P&t9hP>~QKs=80FkMcms|dv z6E3~<(i3vj`->MZUU|h(p$4psQ(U zXs9)ZexCnL^ra|5q|sTTs_a&Ed;OC3N%^@15*kL#V#r+TXd$|li})$@YQ0@5-%jus zE>U|*|Db1!V5X_PwWhJD!oSPXJ5}l-zmD>2!lPvq&!s}uEhO(EO;PR6Erbea4m0#`Y;500@CpS=`1b6xn>MZ5^z5^*y|!k}rk7rO?Y;Njd;6J}#DDMIx7NP+&_fTuw)S7; zOs_oq&zD|OkC_AvtE;N24VxMDyPeM6^+8k-$g9&@rJid~kD^L=f71oC)U)a%^-;09mRFaVdDdB(nah_; zvY@F`izGCmF?@K&MYC`~WHv6%sQBGLf>5_rVvlT|Es9==A?z%X+Wtz%IlL*^*5-SG65 zPd0DfymM8vR-)QXhvcfMFBJ$*FrfX*W;2_U)4X9u-#c1Wr$0?~H2ON^jBb_K+zcaZ zZXQN#rix9Q2}j*aH+5u=^et`n%d7nsu1F*>@@e(hX~^uzf^JYgi6GGpBL=pMPcTS9 z!^b1;nX`16iZR`!s|x4jz&^-g z<@1yJ@bmlVoa2wHtgNj5bd`jzEWGItt4hR6;ynBZ{ys2^M}f=-ZTHtiW<_T8clLKi zw8+Jg$D#q_R;H7pxtJi`9`W~o(%%-DNch-~qZ14w>HqJXXlCU3$Z7pG{WXMkeG&@C zGS~>qGPJ1_%|MDJNfa5L( zSYJaQ26i+}{kVhEy5dqkK^zKi#O<79wqdIvD#n!}2oEf`Pn@`6 z!v}jtPX7*5u2BIeK8d6GWv{jF!Qcwvvx_I?QIoI)Pja?<%G5A=Ij2*=*_a?*>e$UI z2feN1Dh$v&7puC`gzp|QA(p|hCug#B zTsil~8`<%^X@dF+x>7P=!n~W|`Jo1Oa=x-%5n&;Db8FbL& zMq0V6_U!rKgFSmzJ$=U=D_1`I?9;cGm)~{Q?;m-6gHWleez*u9^q<8){N(b@5(l;= zWp(-Ox2wYF56#IUl;)B9Lmo}?a?GBcp6=^!X>E-}b2EAMZm(+Lv+Su(AI?^0j&&ZI z!WRc-(HhEp(6&~rUCMkP^BvkTs#o1lGL?*slaNuX83dfDormc_iIzvyhQAvZGR@%% z)!J}=S4>M=Njn!`2s~OD0r-3$eYAG1D3~sW?l82zCwg(*?cgeFyS9ABvwcz&y;&`C zp2T}N?iMS!^s&btfBYZ+So)90AAjtzrAz;DB1tx67&wF#C{}XA6 z)S+9x(sR#?yM!sX-aZTCM|4=lh0#-}0v6kJ$5a6~$jOr-|KYP{&mL#S?Iv*d%S*Sl zLWqRG%PUcdr7E9r)yne!_{T*>`9(ke@%7hFnp9M%wrM~5(QLl8%=fx~em<#NPdo37 z6X7r)Ak{imy}H#o>&LRUP(7<%!MKXp^b8KA`H3Q=nKbh?mk3QpA*i1A+yunDR14KsGO7Ja?;{D^cBlVH!p|=!v6Fa4h z6Z8@r3PM6V+!@HEXg4?uXi=^cjV!{ndjACwePtpvFCRj?O>(kz(ZLZtQ@|k6Ye;gs zKHW^mh^@~7`hp@X+7a$^O0raeTufjv9g#tTO_L3Q44*!5M_lFFJDd7Yu9*%Fp-)Mm z$sMo|=WhLGHk{9?$KW9qF)&x`*KHf}h!_GQF%W^*siFv$5}FW{JIkgsFGn2{h)zQt)qm%jeR{O8p)OE7o3iG3^*YXubC>ISKK}k2_ebRjfL}G zJlM1nqh(K)zeMw8S<4nNFozoQ#E4$gw$^gVx~(JA;d`#W4q<<(qqf#T0Cn5AHl2`+ z#qD1Z3{}X-B~e1tCVyNH9lAVTXNhOuhDj+9h2gQ5Vb&n$Fah2oT}to9SXbv4)5c2LEH zVGR-;AkJsSJo^`deOd$9=Q&`Xr>fE5mo9Yy*ypSP?DH&8#hd6TXMy}p1p6EV_IWJW z=OnPtgYzea-^=90}?;1*G#*(88y{E>GqccY%Fo zgMAJI`%LGm6G0^}`X8~4&;_ENi=LC*S0`(jR_Bj>oa}-ZC8SFFf zh>aVos&aFW$gM)0%g@i9IWt=|Ga`Pk-S8C^6>Z+UtHc=3RAMkVn+fu{apTIB8#mg> zryCi29WdoC(-E3Ke}2)On#U+hIrY?2XU#hE%u~;tHH+0#&+O_7&HL>fhP<))A;L)z$1o>X9^3<8~l%ZiGf^@bJaZdz+YpBp#Uw^^?C z`iiyUuen&pN(T0XO(g<9!18k}6(~{3AQ&ZD9Z!Vn@u2C38%~}%({i40!cl;pvjp1& z?mTwpWI;Qp%sdX~dsCI@H>h8mOE4pLC7X_VxInyx36=!G^;_gv8kL-#ot2f6lAMx- z3pie^AO;zB;If3QQF)_BV+THRSitfGhK+!S+ww==}0S{ASyro=&np=9K-7dUfEy~%+}<+P5@a9w9C+rNj`Jldj7bx6xW+@G0c!8Ex_O5L^t| zT(tPEyB06H?z#bFGx^3}t$q2v`|f*rL&0gFnkP>$m^%IZL0t3Pg7weLB77aQ@${PY z>#b!e+-cpqs;Y{rb?aEIsCxMRzrE97#kIWu(8CWu{Mcg;{B>=W<=M67`3E0+{9*OD zxyT@ESOqqZ6<$})YY zO0pcuYI8%hOc2k1VL*G-QCOt9!JpSZ^w2|lOlKzP&aS(Rl!*tZ^8wxKkZ!g6Zc7_I zS`bX0*3HxAUvtehCzy_p_~l+p`4^L_wd_HnjP>2AHAWfow6~ka7QU;gRaBI!fT`L_ zRE$WM5c#-OdY*>KU?x>M`wFI$2w9KI1P z{b@$2-mQ}5fk>CK|97{kbW~|&YP)^*s1Jpb$$K-neB#Ns-+f1L%xB;F^ob{)xZ{rB zzf`{3azC^3<@! z-knX`_O?l;@wUC&RA*g(x;wU zz51=yPd)X_Gw;5;`nl&`dg0N3Fg^O>))$|9?(fh4le^P-y)4)YQz>@#Bf6 zn3;OLOP%KrN+4CE;2lCgq`y`h2{QMxz;m5jR+X|oKu%YiG3!)Rg1ZYFhvqrPnT zdwgRPSY(*kPQ8||ry(ez#+1WD(8*DZt=F!V%sB(gd+z!B`#TY2dv}ySb>BVr+#vKP7x{Y>-8s`KgdO}_;Pz+EQz9-z5hL7E=u?RbY+0oxbXOP(bR)dk?mEh>wo?V4%ljCYS z+8-3DRU{YrJ>3>qN`~h1SOr1BD9FGvxXjPbPC;c#+|k7J3DV1r%T7s;>2eGBX#55!N*hfAm5D$g*;+b) zW2rM;T1M)LD1+;@EcWMU`ScdS*s~I}z07vI>AzW^$7b&$n9DwC|53oln=F<;p6-hB6YSX3e`l-Cz}nEyvIa7o`-unn*sImYXqrczRk=c2d8b(4RCK|G(kr zWlZndwcEC>U7L}CawKi))S4Yg2z?#VPSDFBGG}}||4dIfO#5%Ht*WvLI>mHF#zBM2 z&d#J`1av$$ZGBTmhZb#bc6bDK^aqUgNR&to+$1T4*i5F&OJH5_Ht? zlKEn|E9wDDy4JKZt=%Y_vha}U@?m4nyIC;DUtBV&;PT6^y6WhYzI&QrjhB2cPygW+ zS0a@!p_)@(ym(0aynpy3{LVXdj|}QhJolG3pP$FduFp=4r`pROE5hvjCad5j z$%M6b?MrLPhqe2qm)3r^^{v-FgQFPT>ohY!KVk+cvs57X#mRZ7%!%$dPq4qkTNMWM6SQ zGtl^ncBN1~?Dz?fa9xoqjb7*|1#0|#A!+(9{^4z#X!83Cqc=OhH;ej>5JvLJdMjA| z?6ZIU>jxi{fAH78KKpEWIsMZ@Z1ivNJi3#o%Bp>lhBzNZ`S<*H-hTVDkCjUf&!$E9 zhzk4mI}4-d6stc`iIkKd{2(P|=T116=s7daJ@?%2FS!3rlA>;M?y4cuV>J5S{R_^8 zAiW(4$(9;N^;D_Wn)X_};JX zbKi30g};m)c}%}}-Y>*L@qTp=DC4_)6$CZR9N&N6)ZTxeOib=G;A0JKxkr|$e-=hB zb0?-gT@3+X)xX$t?>cB8=>p927fa?1oNAS0vFg1O(57tJ-GW>(+5##W*t7p6)PDnz zmSy8_Wq=m)1FcN;BcTer0WE>`!~!5=+93$Sz=SADwACsLsMRGdqHaIlw<%T}S~n+QE(SC4z|;Xu2I~e?MBQMw5z`?lcaS1c4VePz5{^`0 zLNgh!bK3_q1`%Q{*GEDSJ3=*L39y}DOi^SWrM0zr+-9=dLM<#aA2mGFTM;tqzZuAD}MXnrD-t$JoZU)gZt>;O6lMmON;4CW~CpaxdSDW-sD zD9@DkU;Z2yC#c#fH`TDk^gwSI)oM{XJZc*yb_tYRDprl8xS=b=f=kd>VvR5fG6s?g zFi2%#$*~4tdZAPvLG1XHl5fe&4Oblz05b_+3Y)Q$GGHh2Z zT%dkeFtLt&V0z!apr0zaMs=ejFv4lBjY*xhfYg;$fkwWO`B5qd+C$L7Wsinqw0cHmi8==CR+&^(Ii4 zVd_M@fzJu)>~nL?Y|aJW3w?)kkD|;}zR0(fX(8E`}`6y$_N9J5r-+%oa6p}IR z-M#K#UVu<@zM5ucMWdOMXQP>$JvlS#Ubrwp)3OUry!hgaPb|pRtP(vxKHvT)b)gLp z)J5#@*iIsiT6=Tz$ZWUwn3*$=nLc&u^a)8<|Ku0H{Mk=VJ^!kOvc~GwN)69TMK6?^ zmycCPe$}>k*Q-k(ee}_#udZM$vI5J+3!*<}z6Ae}h0!8=UdZ|-?7N&)fpb6%C2#Jf z1b8}|NZ~S{&HAO$Yb=%J>!l0t^$i;{X3Vgr%Jii0-c6e}?F~CI`gB_UU{LFB!s4W< zTMI@@2p#6=YZd$NK1Y(J(kp7A&f1C%x-MYKNd0S*!(nPEi0?NJuYVwiCib; z#I?7K9^D!a2SQUY2b~fMgn>}bIp_OV{uG7pPp|y`IcFCE_WaR*?%8KwGO+KGv#q}z zczcXlD@>Jh*X^*4NaU^q2mY_t2o3G$0|cD;c@qor7dR{Gs%t8gy%!28c7%H(*veNl z?A^PsBEXsWmI~#tbhzi7c|^`nFP$@M4!G4a1cu+L_5SBqY+dp8v(LUMOLfQ({9~pC z)X8U0&HK@>7R>&YeQHf*Wutwn+eJN?0Zu#ps4L~(LRnH<&FR+tp-^bVh!JCs zn4WUt{44z)8FP3#pZ|<_<4Ps2Z-kT@*DohY`fK?US8q7&@>!VPGP^E6Z4%<;B+JYQ zO`i{VIDdLb=_B)T)XF|`?p0S^HTTHu2n5rO_AK7f-AG`A#z00>n@4g*CwU0g*w$zH zJ36Ay0IoOzXS72ri6fr)K@-z}L#pnKEO1{(@qorD9)~se)(EBU9zPvoHVI&wh6K z&W%wu7lYBCkZC|>QeHb2V_mw~(oAzcQ8llk!AV-{(^y^=z1Cqq_Sj>8IYmrNX_;5h zT2HlS$whQc^tTq7m+bFpe^YUWfPd*p9esLVM>Cnvhr4P6$!-h=`jVC}|9}DTTgyM* zxM$PymFw26T(0aYBPY0AZn_tOUEKQbdjfvjHduJ0!H~e8oRXT79G{RB4`Pvghsvt1 z-c_}e5$DdTUDbOkEBDmY>>1eJQ)B&wu-8!BVC7^@FAnxAB4%`cvTpO!Pdxq7Yp=YN z@XSN^-S_x2D?WL%{JDo8c;LzBl*;;OE8J%5M{gqJzuDdS@kgFa_)exL0u&OlvT|}J z9zBoY*}S7C<{(wZg+c|#oOIS%XPtCRLC6Zm3-`o_L8x40-*^-VS?TGsJnsCF7#)5m z-X}q99DC|3c94U@r?BMnx%6JRhPWo&HMGte-2!!XEq`|T$J;+T4B5*FI8Z!W}R;(}jYd&wLu`enXFEz-g2X4B|yksb1}g(~gNfrqm{jFD8m zVnsDc@!EIa{ob%wA9&!^ii$rcweDbiR8EHP{I*Y9D%ZcbzVhD~&*rsl>Xql#Ro=h& zg*O)a6S}LqTe`bzWjTZ{x)~Y}&SVH(bRz@H9+lP7(jM+)(A^nsZ)tCBrGwhP-E95k z;Ny&R`VT&iXFY}vHf7+{NU!eId!2pA;|M`UujYydX=$7ndvF=Mn5cIG zzFtEoFiqHu@9l2y?j_h5;q`vWJ8k0UKJf=4Mcht1cLBprovfg=Upt9` z$L;l5SfaFEJHB0m+j8^b zh1#j;k3DFM6If1RIgRCL)?BQ6RSx>~bY>(@N+G3)GE3#6Y0gI8&P3i0A#Z0QZ)YNJ zXCiNBB5!9RZ)YNJXCiNBB5w~@GbqP%ZHb|O0?Sbp2PKK3ag8|cl}t&bCb^U>_D@CA ztvFUd8PC3B6tQ$TVJpq5BL^YE;oWzr! z%DH}ioyK`SmML6I<_yXR>Ut#SoyK}R=bp(jpt6y{uauU>ZtoPE6c>vFtB1pV{6`#5NbhQc;5;u(6pyIeE$QVHu-1G?eRpc zz~ssE&OZ<93qAY1i;E^(!ItK5i+sDbmT+@zD-kOL_?r#726~)ctJvSK_lCQOU*_~V z`V1=om?3dNXyy!A`>kMi(!&`0MXkVw z4UIb^w9Aih;)X2>eht;=~AhlKRlWL?Swe^)a!r`R2FRMtgzgxZ%eM~SV-s83cEiJ8$ z#OJ9e98qgS%QyT8-|P$dI#(<9(}(yxI>7?NeR{-l;(Qgs7)|eqv+}up`eL~CC}oM3t)U15!%6LBnsNHX26^{qW! z7T7D=%k)H0|vzM6bec`=3 zgXvZza;;gj#v7V(_C;18kU4pro|YMidQzHd zH7hW3WPG~56F7UfGd+1EjUe3aiN_JUyDJb^8rZsZPuL?+q1)58ck6#R>Ljo`SV)P( zOESj}YYEQGNa)TIhch7|&SNbJ1`~Y2l%&L9Am~d-iw#mi}-jcrH%q$zF?`!{MHwj7dE~29Fj%nTESCM(cuJ zfkE1e2pwe3S`r|oG1wAaB@1E~E(vVf^zr)byBe#uZQ8zh(-zC*6$?Iu8a`55>`yrT zoXam9r#3$Nr)QpTmNweeSl?CRXs>T=cUq@KZizfd=+WmQk3=3P8Qm?B8^}R-VdM;A zkzZO|2u|h5(-&;1hM0Gc8SP@1k9Ib#+G5c(Awx zS9~B&br62PzQc0*{i%*79;C0yljygCt<^g}`*i2t*8Uzw9Z_MywY4qn`veMh?CYwl zwSv7nA1is_4=Z~oUwF|i7iFlh8JIWkq8o0x8DajWTWJ@AL`ixZ^uUD>LvzrE$b>yVs5one=PB` zjc;T`VG*dxO#IVt1=B5E!fO{JLBcg)JIHJ2WpNqX)gMDwuwX(z-VRWSSXC;kIBDJP zcX;9hn#DivhZzNS1ca+irDTP&WX5NC-%$ECbD z#EbzadR`na2LbcTPx25ek_X{KAeOQMiM#s&pJkO7ylCJ(6QjGQua`viXd?PZu)TyR z3Is@S_*HL@!{>AzOz!dpdG~z5{yqf6B`{DI;Yaap4HLCg=ULEz*bRf|+mY@tjs%Wq zxH}r*x^Zz1e_C2*yf=`R8VnqK-9SgUt+}O>Ckot0w`b5ghM9RwrEzL!G%N>y3a*^Khklu0+BfTZEHxcPA z7wPRNq&FfkB4x#-w}it;Z=nI{Ef48!$`I+zk40oW(p%zy^yWl*3w?>?Hhe&G%jH*b zNN%}EZcc1JbMOJr7?9i&k=%wKBDoDmatmtpAH0{)+oC0UT2D9@HH7J0zPz$B@rV+~ z5s8&MmRmu+w>MY&B6+9 z)=4MLoN5K5=_4}EJ~+iK9AIm^r6e|ZD_WcP-bSC$k0qpNanMzmE+(Cf0t z`mDeQAMCBvCs3F1j-53hSjCRGgp_cYTwuQXW_VsGlulMn5p{g&A?q|^;JkvR=I4Y! zc^)G*@JX@+zt48LdPOL-a^;5w*d~PZ)stuBS?Hfyw&jc}af}Y_tc@b>BqY@nT+|=m z)>Dc;*BfpvG1{<4DfN2n0lxh6IMFur;A7J3iT1?e@I=WkCVQQ#2M5otZi|$uE@x*? ziKC~J@W{NB$H`>&+%bU2d z#PNBecUKd?k4w)UF&vgrRaspZwy3GQqqUcAqP4>vw1S#3xoGhn>$Pb&-LiVCgv;QY zjUSn~9mA-~#F68sT7jr5BdJ02McX3@b-Q4sclM_zkLQzgwl#Y^(k&$f zyq2@Ny0J?(J)W+{>i=-m)z$`9;DIx^39H&>Eg{gWFAj4)6qH`Zv+~Uhi403DWD&*t zEwBg(uCs*RO6zr7#oE|k6ruEe(D?09>cd%NL%lM3wRYzwOIxyJHp!4r7LZ-%S!RRo z{g}@awAEx5=6-0+V1;%o5Z=Z>2fK43al`?Pc-herZm92~Dfe}BwE-s_ zA~U2Pcl?4AhpS!xdg0yjeU=l6s5|Vydxb@(Ei>GQkK&&r4>K=9X1G4`L%bO;iJTp| zA|^A$$B&*A$SZM#0+U9>Q}^HrBc@In7Tx#hN4r+HSXj_~Ub$~KB7J?$&aE{ZZ)m98 zxwly*4j(ZpE!6@ra2N^kB@X;Py$&nb-?h7%%sTxIS~M%yW)HQsUAs3Ubo6cB-Cm2T zZgmk^S!cV-{#YGJx%5{>*uMQ)pGrripK-?Zh3bD@zxgE=n%Dn^RqeVnxL=5XO(&0! ze*UkwS1jFO1>Sh$UmvYnj>GZ?t3G=54J3%Zt(!mIN38J7g0Z6|>WwooF()|-^6$z@ z&P(KNiQA8;EEg>ijU1gc=?xuu$14O1-Xs1(C?@H(2r1r&6j37jP}~duGw~BQhOQaqEpV^2 ze0o3;Cg~gdkl^|p9;2&+afKlPhz^z-yq<)B(Y>p&)nT|8eI0zTp}w)EdJhL%s&~}X z9emKx0shd`Du-8I0E~->I?e&Xfj5Obun5^f9-VrKv>+}Z(E(9+zv#f3ciJLG6w&od z&s?Om+m;YFSwv%bR8F=e6x`sWqUpp`3?;9;d!8FAy5p;5mcbN6Y~g1q?4FOG_63qKRGRR zcv8@pmYFPq*U)Q&7KOpg&=|CbdwMzB@O$03kI@kELvb8@ZB;x^3(?bh=yem6Cp3jJ zjXrxc+o*m(ko+J>amW&$&~cPPN)cri`zKM3P_EEC%3R6<${Cc?DW_28Q%>eOGbqPX zrc+L!jN)z%mPsr%t`SE`rjSCKUf+%E5s&NvCeE^e?TM5eYL~}8C;KLF?l6`H+d4}( z+XPlX-f$ytxRE#9Hd^FoKe@;_%MVKAMsjc?Nw`6Y-1e^m>`!HV9Ayk;EM+n!liCRe zHIkCAoTKtT-66gXnk(LNCcJ;qb!tBT(Ov6c%9=uwb(r=NcIfO26YlaMQ(O9AA%nEP zS4;kVybgPqdfl^j*Viw^+tnm;a-K*6Bg;7sLv#GiohzdbfYludXnQ z_3S{OrG>_E36w~d^TZ=bv$()C<{mTSG|Omh+}kX_i4QoeMUKyE8*5Zy^eWzQ))4_q z+rFjDV3_NmOX+IUl-D$N^!9vAf&g5lETf?>QfoQeo4P*XiyEDu_WLbuE$A$53g;Dm|>Ap11~!Q zjF2S@OZcHrA9eQk5Xo873ABOtrY4ti*b8_GPhKoh`u8u4s2=IJ-~d{mW#}#+_d-6g zPj|b#gk&(lqWk1@9Z8jAw=ObrM~u$n0J_;;4xFY*n~Sw+7j4=_n~tYVCmqtJU9@Qz zZQ2zoqQu&?Dq7EX4ct@{sY>;9o_{mnO%bOvumT)d~>ayA|P$RFt9jf9z3 zjF%=>tm0$;on7($wJOduPCfHy=UC3Fnsm6QDalFZM(0H@u#D~7h7q7Ys`Zi;H!!hr zAC3`YCbnA&Rm!;zj z$nc%59aXz6XKrtQhZq?%|N&2N3wX&IMaU;dJ1Jh@I)SVm@MBM(Ze@DNC5Ydks6{8d|h2d{%iK-Aov9=tvMc5`>Nfp@UfH=$kObVVOoxb0s4Tvfue)g&bAI+QW2cCzxf$+PS>> z=UBm^X-@2b+=7ee{c8m+Ez>UWe-4$h=Pa#X+if(*yfLNR8^> zsopz4^=@0{{dcN&eod=K4S zF|Ic02O3;e`xl@67Ww`&dFz(YLyr2+AQ}87@+m|&K-q_W)WdCSaA2ZNK+|fM&@o-( z!0ozH1{vq9LLB$#MuedcPQ^I#QilkH3Yz4hj}4)|VvHL(K3Cl*r&R!d zbF1taforWBc_d-TMbV$Dn+MjlH(!?r9eTF|cO6oN!JS{UjM1>jByPB~2bsh(Ad`6D z&JMV>!i5u?hK_(FzmQl;0 zGKu?Za%Zm+Jghw zlWMB0!F8aCY<6XtYAg$c`#ia7DOZ&nd%2+_R^+;j73{NTnuU?SaJa)%m$3Lgwf*M- z!j|1SyFpIYvsS96P}#HOhDbzs8>y`6*@yd20^kZ_FIT^Fet`1rBy3nB>RUpkeD z#9J1VTEvHr>j4wXB1x!SWCK}f3%J{#hhD1~=Q;LoRE7PI%XyQ*!(z42Qgj67{gd#1 zxvusdYJRhvx=yXJ?}@2Zafqm*hA#`s4^``^e`EauHP|E!>*;zb$zRHMk zsO+pC!krICx%zQ z>9tPt^QP^5sEl79?*dHUB5RJc#6d zJD5fw#+OBcu=(-_gM9fi_Sk%RN{lc6ImVZZRbp&}W>W^hUc{!HBK68ay!qcrU_WE7 z+s~MbiEIx+bqIVXkb}*eFXq1R=3>=0bR^g{0MkV?;L*h-a+}L3+S#0YD1R;{02Blo zBkb?Mpo^7{yQqlVYTteat?n9R(62uRWO*0{U5vVl$2h1W|NdA9?>U&VeQ2=`#i*U% z5Jv5WvfTq{onRV6Wo0*%Ef}?v@u2gN@t|PTB5{0^eA*X^NgRIo^dLqpxa5DLYYqh+|A&6NSiel5 zHCcR57LybsOz1{Go=ATzu2eV5VubR`qEP)NCNg0DV#^cuKcS*x{ih@{p~gocNAHW( zOS@#A29hc0g*HJ?9a586^CKxO&x6n$0Vt2{x+S_+3q#L;R!#ipQv1L`zDbTQIEYBvJ~;Xy-HUu8)*W9aX$wbp4xrS|Zx{zD)@y9}#D?w`3pqUm z+9qfepXK57oYx7J-{z8XQdyhAEfvjBfYV1DSC~TXR1$uGm8tO7jYtHh&qPu2QF;a zLA-ukfEUh+zjYuH8zA*Y@Q078- zeHnNf;eJX54rBMv0OI}=qc2nEo5JY<6@}At=@_R6mKMS{F4Kh5lk!(My)i-)PLD@K z8K@hJ*ngomb-gK!zA!po(_*Y%U23X%>>=_Rdk*6BF=P)m516>dt~;Dw#+_;{H+d*3 zT)r@R9#1=6PFX3Z2%A@Lo9Z8&ksdvi$J&^*^7#CN zczoX=k57*A__%|3ydZ)$kGK1hgL%Bj=ViC`Nc^r7W z{R=Gwmlx!*Tpp`UIDD~IObhNEIDv#+d9ktUCyTXnkb5xGJe0YM=r5|C*m&b`N*`&K z|2};&%?t7^KeT-Z zd|Tz!{vFy|mMly1lBewK4cUnkQV0o<5D0;=_h_N4wzPaix{1T4i?0i4A?bk7(y})p zi$D@5v7N+@N4)otC0Sed{-5_sax4=l|6lvv8z~ys($&51J?A{9~c?!~^&%QsqaOzlE8B5)xki3NJsDx_V|(9k>?SNy>Z+bBv^C#xDtoE9Pzzd-k16 zwCUqqjw+^n9J6ZtIR9_t$qBRSTvf~z$7JF-Csj;>TFE&7Z`$@$g(tz9Wv+CQT zm{gwp|0W;PKnj2fM#&50H1|?(k^dG_50n1_W2p_{8XhgI#jHlcplzXdV60T6%;M9u zb^P!UlOW?q3m&6W3PA(7D7G+r$=G%$;`wq?>nC5ig#4F53a8?zr=B5QvlF2*$q=SE z09%+W5?gJd)fn?6F9WU#*<1QyT$)HBr509&Lr31ON+5GAaEl~U^ zT6EJlCBBzL?~lEk&kvTqpa|EWbE&!(D~pZO-7N=7<~ zVhB$CZ{}xGBRyr&QzQM~)$9K+N4lHDFo|LHCkliTx(=fO*4Mp^dYg=cS=5!u_k|mH z4#V#3h!g)xn9tw;^}+D9bH0W77i%Yk)JaDaufIKyXRZxQ$1iMlgz`}nO`N25-^};U?wZcylSwN ziF(j9jE~8b!m$MG?0NWqDgLe)Hwm`Mz~9sOUyYjyHzTre`M71{{aIj!Q&fqAbiSDc zM)XwN^1#e1z(J8xWafA-YLR6aZG>%IhFHOgcNO4YLyZSF3vMdh%=qM7{H+bQLj2_% zagJCvxYqfOOuSo;TPe07zh*if+p%4uceojUZ8V^(QDmUoW)x_DPj_}_M>(e$J^(SM zJ;QRDTN+ZlH|+VGGxiNY2}LS@_w9DtamhumO}XL=PO)LrjW^zS)rJzMo1R>{0yAzm zKv3~0$Iz6HrfHz1#Q$orurTIW+|a^P8z1#}D2C(;J&w&d?S|Nq^=dHD@f$hnRMLA*R4% zj;CJM#+Go)sh?BZmgOR9l;UN*;Wrn;;5R8mVS z>6S(}-P}@19jt`Ju$$H9b`QH5m9?po)@t2shRHkNmi7-7V&@V^22#Jqwl2S*wB^p5 zksWXkK>=o8hzE^qGHbFy7_L3?;ht{6zIf$mmrBnmFuQ`xu;6*ORNxiS z;U3PIQ=H56wGGgj20Q%{8EuVo#;(4Apvbi4=g0+rTg#M4 zy@4~fcB8doS8LZ0rce%c9k2T<#5=Sm4a>9E&+8(5?#v~BBMoP+5booQb2g%j@6~e_ z_d}vkHQzbs2P-*a?@&;HN{~Q0w$VbTz#rv|YD;-}xkXK(X=se6vS`Y|8MSIwi2A)b zcDpdt)n*(%7UYbb-DLK0r=KTtjr~z8-}ariQ^X;8<_(Y;worlg#p9#g^9r3F{Xh&5 z=yyxya=YGE!aZ+1(Ha%l-12FKQX$-Uj2623IEBZDL*w)KLO3+O9?w84hm@`4Pc2mL z<_Z*~e}glBK7VXE=8WG;2l~63Da=CFV1_vU*Xc8{|EFpp(_ee4p|!28t)Zd1uJ#ySJX|wKnWoNJzQ|5> z?f(ojYe(TlNA-RGx7NgCJy`Z>2{6z(G zre1L+XN1fI9rceKsrAtENpm~$^Se1kX%W;-i%K0Px0EedR9dihfip%S--suv&yxsIoCCb%qM0zRdi;e{z%HwB{tW0&6@y9> zqmnC48ob!ni^1L7){bsH-k$dQhOfTho_~sBAAcS*y*Y}mB*|$W!-ecBy&ViWM5EvG z7F1?sBvv4HTS-F!hl1!jW@Mw`CV8wNdy0KcSfh9>9Kdy`l(H-kcy2eY)vP7xJ+yd@qz$m+!1P?z+DeM9&a76YyYgC&d1@-tgArpB>gm*AvHPar^!rfnPU<1*6F_5B6{_N zuU5iWleyYf_-Y4ybym_>+wg5l_-dj|NPKlRA`Q`3>(vm=>F=@{c*@t^mDhYae}bITpYCQ%$M?su36IC zAmxn1BT-7KGc=xQrZV%3Wizea6J4`v`bExfaLvo%q<+i%&lR_G&rE5efqQQ z)LYx=rc-XZrfEBMaNAkeELB=A9WEMyIj8dz4by^Uj-TqWX_~+1(E)v`>Tl#<%_o{mxZvzJu}4^o?{C#gSA^u}`> zD}R6hjmQ)lG6k`*jS#byM<;sYxG^Wj!3UvN=cq5&o=pvRw@2#-%@e(G==6cs@4Q{Q zH;x;nah!$lwseQA*M+6x%f^#!5M9fgG`$FNa!toaeJb4qpX}*r9pI!}UTI_UudATk z=pnbAT|iZDSti`hWXOL2ru(=0%d|wr3ylAP7>fQIj@Bi9Nm2JMwk_DX-SR3e5 zAbx_i!GEeCVh+6);>$iyFT_|Z_AC{2gU;!ZbvC&+@dMJGa$QeLW8(F6zwCul)pzvE zm+)8f@9=*-hhM(>=H=9@@QKEEKkuP!%PzkDiXy7%^;eFcIn$i<%OEttj85>&ItXoY zPf0v5mh@KR>iGt0a z+wv4`Zh&|I^@nqN0bHr)yv_=f5jP1 zdYpHk=Wxw1B`cp(Z!Q^};FwDnEi1)EC)#(w2THX?A$n(t3}r-?muum2(_OP5Rp8PU zT{DyhWuj{qLNUoi*UX1~;qQKxq+GL9bj?CI&VJ1`N6=a<%{5cOTd&7pkZ+sdou@me zlq6nHchC(@!vms&cB35+N1U{q_+{L-CVlkd4s&qS=ypFi(Nl*u`fw9-acdrG;UJI1F78tu6zPlV=^HRqwSP+U@28=xozPr>h7590Vxm-Z~ z3`qHVz}VB^eb)nH{{+5!Jv`q!VC)s}*=rFgtOdSaD|+5s{2lTB34ERJ&;eU(sq^5o z%f+=6NZN@{O!TLn1fM+#KD!*RmZtmcjK03Qj*gCj&}f#O(J1wK=%HmX$}%#>J92wS zF+9vl0-dMPxUirf z^$mHXh7d2)KpJe6mKaiy{gO+ryXD5Kui3n*G(9>%Yg}{?Ya8Yj+4)v$R#rCl-H^p( zW^%WE8=A*^*+PMkFG%?S-^lwaH&|y`It3-f|5I@L!_z}S(K!!qIztAGz1)xpp_*xu?>aedI_df@^W?$jPG&oeaj|cS`kCA<()7rx$mcVn zEtEVXSE~xaP(UBd7X;Gj#1D2RXtK~}5vm~Tz?x8*Jp+)IG-~9Mv^zis(??H6BI9|t<(q=7& zsBKSuRLGmP^nf5NoiSsEKG=2aX!Ws!$4{O(aiXod@4x}BG(DFxXU^2=t1iFpo_p@O z{np8)MMXt37G8AQO}8wafh#>Nq!V;H(tsRGz{igU`kJe&s~d&`2wXL3Sr<1w;@hT^ zDf&Cn)N>#ZHJG#HF|IT{3nOo9^I`}MhasC98;bH0XcZP_ndOjYOi#^hHAX3tbc$yY z#3_%C1Va3_|LTX0iy)y22Bd37a0XZ#3K2PZi4coI>>gwDwQ(_}T`tEC>x~)c6Ni2m zBz2#+mP`Zpn$1d*F`_ZRJ+WlOsNrg%X)BUKiJTBg3DE-$ilS^4ygP(fNNR{= zhFrRk&oeaCT-VSu(9_)1ge=fwl9yZQylX2c7p~t*X1;KoWG`;B7P9Qem6erm59pR( zx@3iR;EO;1`OgPhO@)Qu5Tjl#=8UEb(}gTS#}D&I&=&Nk;<}xGN)+__IZxKV@SpGv zJb}!R$q{s%8SR3{vP)yu*@PIk_k-V)_*PDbeNZn^@zGSiNsWUT3iY&g4)pg8mZpcf z9-h}b91a5=>}=`o3DHXAK-KK12Vou`SG{{RCjTuHH z9`w4OmrjU;>+0)jjvs~hIZ}0k4ECDZYV?CWRmZ(nnjRaY2@(2`VDSyLbOrj39fI)R z$N#EpX-NglPvT2m=%|LI!(aeiT>T811sD;5-S({suB)Mg_z-_3ze-%!Lk;m}{t5m$ z{*TZ|yp_L#U(Qb!*ERev@%(E3>WLw@y=3OqSI?R|@4~fc`*icoS6qrFf*UqowETjK ziz>L%^dS80-MgDHMw`Dp{_YEZ-TUQ-2Wx9<-~G*-Z@-<0%%3{@6NbZR6B}fuGMN@X zp)@^*CJ6>9(V(NCOq^Dr57*EV0;JPd-<&)#(w!tl5m&^86yb- zaUArsfK`(zq)^%8O4BoK217=MHK!1!x}-SAo|Tnlv*$PpiZV04Dg9=J!gcBQzW2Sk znG#RWV3*Rdc+;j$i^_4$d_DHxgi!v^SU;rpP$#J&G^?B-KP^>A5>dd}^>?8Ya@)-QO4DB}ja#C1^dwm8L_7^75%u7p%AhyK}|m7ok$H z=E91_3l}b&GnFe%&+_%LtOcEaAr{-yH8AKyzv#ii0L&zC-`Uikoh>LWb(T$?ITyWN z&OdL)3^a?MIb-_t>C+~cac7anHU_eh+cdGL5Q~Q)rS0`cW7{-oxWf(Y#%(%=jfBv5 zBNFE&aBMthNly`?=?QUaaURm}$eiJfv8+N08A(o?o;TcTMBDmx1K)iMb_~ zN!-eX4kF-TzgC)_rbPEDrB-Jk0fmt?1(7LLI?{ebfh{LMqlS|wj(xQcqT-)^y65xH zKKpF%7e}hAYidq%uOXrN;%jOZEk(VDhVVCRl|XM}pfCw2j0`7aqo{xLHq2=vv6(cb zVp4G|#fc!(4T2zID;zSOe*ysu&1u45Wp!2Hm-_=#kUZ5!raHMytk#XH%m#F(`^fNq1prxr^1<|-Izpn zmjT&b24pu0$Zk>++5H^I?s8;hr{k4kAiK#xc58s_9s>?r4P>_j$Zi9W-J?Ku8-VQA zIC6mN7E)%%T)eNr=Oqx{Du)@^Ef+T%J|ltf96)#uAiQ!Qyh*@uz>XrqQ;Xk5RKpVp zuh0S9mtH|FB}YPB%(l@!2x6y}((w>4JEZt(*o*pGV(Dsl{dF|IdFiE>{`R-OeZ@J` zGq`)IYTEidQAS}aoO;2UMdwc~$s?eg*3i^%dlEBX&iW}_~ZCsaxee2e) zUvv3Y8#Xz+>-z;mk!fnNgzl_4v21cVI(JzzbRq9RU2SI%WVjV-Lry{2BJTEYLw$Ty zunHzYA+BbiI;)5SvjruFUo+pq_lxTp1Vg9z)8gvkoawl)bZiJJmEowxgyD$m4NER( zNCSRUpHlg_mXWrcKn?SdxHNFi^vv^sc(P!VGAxe#LWLZbI27;=4-NHjx^&=Iu$7dI z-CA81U}S13=gtlNt_Jjbo7xFL_l~%}LA{R5-pk_p4>(c+`aTxdebhlbJ0`B5al7bc zDmT67qe`2yku1Xj(gawk#I-zcURl1HJm%=rhmhrN+%BI@mRv)0tDH1hKhQEH-EPSo z9|@C-odqa@sq;a{kyNT(YL%7E$bi)j1Yq8^T9;U{cB%V^1fQ>80O&9Y&)5oc?FLn> zdsG)}Z#a6m`b2ZPR~6|ADU5mCuNXBo`~)ULsvyQk;9tPyOi!enQ1)af^yBgj_MB;K zZSNTv_CxcZmK(We6mU8Ca+p{*P7SOK7CAWyQgMI=w>Z=5;0LOXHMDgO`$JOnMJadW zm~;w0+XMqf+%G1!!KM)jVswb&oarTVZ?n%Ei!&L8S?CSM+w`ia zgbns|4hLf6!DMzw-Wni@Eh;#K`*?JqxvQ(Id%%liP7CKu&*f8JW6trN<7}w<8U8mNW+(uF&uteE5xi0bo?t5mmJQSURE%m?OY^+z{xw*)!m6G z2x`x0XOF?e>C*9K*H-iymbkT}LnwBqmNWnL&l?9avw1oY$H+)7(Z~q$3?oBmOf@nR z;C78enb~r=1*p=5a0QS@Z?+c}IvkFIf`I^kYFS$Tzn^gl5d5RC+h&7 zHS*Qs>gAm2C6w1c`n0O9soxt$``U#Sv!*(%20H9*Z#eSi_`*syAEl$D-itOM7y&%1 zl;iT2DU^s6q?|JyhaNpy*Vf%PGKy9$+U)$SOsztKaC@+~wORzCFB_3i zA?I~qicq}AtqqSxM(`8BpaEGR$T_|K2*kUMR^&SSyZZ*ahXOG{t~J}hiYl4n%(Gey zDyTRIeInI^ep*e&d1~RD>E)%`hUVT8bb67RZ3S}{%$`x2Z^L1Yg$C<6XF5XF8pw5p zD~n{6^cuvGsssZ@%Sj)*E?;PUg>Y~lmTWsjPkI;=FEqdU?Td$+dw5kw>FkvtjJVbJ zfB({Dvvc%}x9`w73RG7Eq<)OZ=W`@i$=X6SP<4Q#WIaUHBl&s^DOR$60e^d(IxVhW za?bQ(*78|1O7hT>MiLt7sy*7=HsB4iO1<4NX$j{{$En5TWnex{nmh^jWzOQFVk||) zFcig{H4E^H95MnV0Nn|Nfq|)D*esJ?tcHDS-rWlm>l z>7=PsrcRyqD=;tOPe25i-o8sA*D)&ck(ih1LdFJDI<$ z2`nSthyT0o25}7uSd)uH8}@&t^}vE#>2o;+Dob*QSQrsinX5rmzvM8L2w?NTWThNT%?QDE25F2c^iKPV9q z>LgfX|K@!(>P(_o0CxqWNilSYhPqeUVLXaST9Gh4?25DyeQk+pz z&D=E(xMs^0I*o$F(VzrsG-!54TwsPl3n#9{mS>Tx8LGD=z5?e@9BW`fVF3H?2-Z*F>?n?8I)H`0MU;U{ps=v8xD@#zhoh*Z zxTK_{h})G;402~7@DsltU!EBFc#3@!xLv?F7_nr;;Eq+%Y7mD+@{kMUA;4M1vs(z~ z7rh*SG0!5`958rFfLyasi?jo|TJVT;cQ672${Y#gY6fy8yk9$zE9sA52XZX|a?L_b z(hlTm$JT0msv5{O3%uWHK&}?lBz2BS0AW*cBi%s@@JNdHrvQgqfk#<9B8teQH$x8g zU@qR%;5pd?75+El??@+48*YX8dmV0Cyq<|i<+zpNmZ(YU@G9^uZbjGvtl@r>vtKZs zihprH&2iK!7kiMRt2sr%neEVGc*Of41b-+!N8fiJkw<4P(X2%4WW?ig$_&6r?p4xo z%dnu!lUp5DPPuvWqD5;KE!w>K)@5jdjAk9y5jw-e3>=DctA+Ei63XsF;=K*eN(42h z^5{&hLT*Z8Y`HUQ@>v+pQp4rFIM~=9tP8VA`6+=yS_p|NyP`}7pCR|T1)}R$N z$A0xyRTTtq*{Z5*?pQ{>Lj9OiX#(CX8tt4jjO{o8=o+E$ju<&rkJZ{kS$k#~Mywni zf+C~A#d@^fQ{VCqhuKchx}iecvmg>|g?PLsi+ffTkuGB{)p)v=d)B28e3V)so}NRe zD;IV0iPeaT?nlh?PsBjW_^bF|gPD3MKVOW0=s9y-)GXHu@Nl1ngKpw*(gciDVeZPp zEc}Roi?tbTQ#qGxV3;zRufJhA^-J__;xI}{69|S=Fhcc7deZaiU^T}nxjax22K>a9PO!d>Z(7(aJdYyWmzU;DP)N3G|-f(S#3#+nwOj^}o)`aG+KyG>3X#L7;k1GMf$S(gh33xjk_uoE{o8ot zQkldzkq<`@pBRG?7Yifp#rRSx!Gv|O+13&#o{|0u_!$y%=%1|w!}MA45{bIlA^%`6 zb|o)Qr^7#^AtzVdO?(Rjr;9#<&x%*K+|9&dG^in4mZDx@f$c4X?Nva}h;-V?J%{bp zCT*`GX?sl*Y;PWHZ{Y;no9ektZ0}UqUOTdeTIBS!(9Q>o19o#NZlqiCSsQGI4YtDu zPfprkJ8ZBP*+T?aiGu41nZ9|KFwHLNoo(BxFSofA0W&qA8V2W`!!!vMrn_Nxd0%3;1;0zh^D}1fhY!E_ z^5H}H07AMHHxWi%Dkj?N71WsuNlV9=arOk7I>(Ij!F}%>8#B%UzgLTkR53G`?yi1n zxp1@aFq#LY4D_@DFrZ~W_(j*f?62+1gbmE1yS9y)XGvAn9UFcO`^>4-evd`y)qT|+ z`Vz+g*4ZP`4RfmQtgLP!tD9-@gLRR#&XTU`!EbqoSZ9`2e03Z@OWuB%6HT<1|DY!M zTosbcEavME$)!0Cd=>0;OWpBC4vuUY^(6C<@OTBf)Xfx1>1TF)%}j3)F5=sHANUyl z{cS?_e0z3ih(m+}8;$QY^1Yl((bh)gvw0{rT4;}U+?Mcdp8+C`yr1mRm z$eYgm<&D%!NYs(uBuJEuoHge^=O2U#f0KWVuRv9G4NUr5{EO-4{8TUwdFle; zCS2pMQ2zsv$I*rr6Rh~PHzb&oDJxEE6{ayOKG0^J%&EfRm);I9-r%3UOp&nQB`&s) zlJw!YOkeba>+y@d7{rzI_4h0XW9PZlb9UyE?_W3eWY*Fj-jsX-kQ|dyVW}q^_uxms z=0|C1bj;?{VO}<7^J%o2{>CAewE1+Dhm%O!d>UDYl+6c^dO3diGx%O|nWb#MLbq~y z>ZPOuu$A3&&DgFM&3O3sibwmX?xYf+s10C#irZc?8k?QpE73@FXkYNgjbGxeg)e2GpSz zB9dPWyT1^T{9^coB79;Y{6rD%i{UkjMgNhB=jFJS;^xH7j++BFvQ-(CpY#~!fq~P= zMGr-Swj7C0ZFGQkWHl*3DTN#1GR>LtKtC9H9UTS5xa{;X|B0Gofvx$;V80_X)97$G zjBKR4Js6gF&Y(C_Kj7S4R#Hz< zzrw}+2kJTMfrQ0QO#Fi{qFs724G?fES!QJ!U9@e4c0_5VUKkC9Byyby95!Ef-47o8 z;azv%bEiBB9c-@5A^apCqscGI$;r;nhm|mA%g_hu`U!Y~po=BKBB2mLq72kQvc`Y_ zCu1!Y*8_4w7KL zqoc#YbU1tk1;GB<;JQZwvR-vE)IU)kdIgiR{(x`pSscQLc71Y~p)FJ_t%Ns0?VbRz45h?h3Au|6NAu}JvP=qM!zCj}Qhl>}1S5s#<8 zr@5u2x2LD8w=zj*M;$B*27+YMlfTy^~&_uZFr z`PM^+zWCz9fBgmX_x||uu3h++*WY{(#J$~LaQR7~wkH~0IAzKdwXf~)p{m3Cj#Pto z+g#PPXU|wWk_w+Wwe zdT1084+01TF6SWS<#$;uUA(1B)deC{U!OOI5|}W;GjbFlOUZPEWROvLE)w2<^v8%w zxJ*>T(9e`CD7s+=A;pJ7A%5!)5~5g5CbJonurRsKX3H>Qhs~3y3GCuyj_5aQbi>tBwRTnwI9~s)L8>8tbZ#9BDWk*la>zvyoiS{0RS%xc1^& zT_HRyY!x05ek@c71-OuM^IrZK0ui#l4s^MP--~$_ zWIY5LF$D`zER?|_%;tz$BE$ErS@Q2k@O0NLo3Fg>zVCnk#_KTJX%}*G!f@|^&pYDJ z2hc^bB6m0**MSwRrve>ky1Iju0^DX5;~yU8cI1zNU@+t|aOkiQ)Qg2wlZ^&!k_@OC z8=IT!Pu5~|RM#||t|v@crrI1w9e;_qUX7Wcck{nMW#X?O#(kf^7L|$F z;<|zVJ)Ymh-!wjO6A>%?3FH48So1NmFLboLy2V#*drF;>RPH(fuXmp^aokRCI=_LP7pb z*x`RtHB=uhr;Ef@M)^=EI6@s6A8JZ3yX@L)?|=|PahFP1{AdN(AUoh# ze$PDgz$2?rAaP@T1n1I?7+OqXxO9E}17X+%F&zsEc78Id#dJbsd&ojKaj_I9PPA>v zMx2WZXHI52(8HUgn$gRXM(M((Amv_UUXdqBq(CaqMSc4ZY^pgKK!ct^$`#~$Nt;6j zEEOvgxp#@EdhC106WhdHqFrFf(;yAt83q_GHC$}uAuX`n4#c2hvV~z>CJBn#Sd@e$ zg{->-)Dvdwj{Ic&-PYFBaPrt!d-m+vxBuWlFfzWZs;RF(UEj#1VKNeB%g@mfDf+}acjh7 z1Vr_vBNJjNm)DbWj zn$Xok!2rDfXi%)3fVH+GnG3SQzSW(mtpT?Ivsr3U2dSy4J#hjhS{S@!jBhZQEw;SE zM4G>p@Kzn!mdwnoOl*>j`AP8#bqbM|5J9~H3knygVc?5MqFC;dVVI$4Be->A$^S&1 zpW8ugS%A3~i+~0;k3$2Kfd*~|8dwB0PysYh0W>fj`K2j91JjbMw57@X(kjH{7XS^c z0vfmoXkZc0Kn2i11<-&UXrLg827ZkE(kkSaijmtd1{x>^8n^)O-VHQRflodkXkZo4 zz&$_%tAGZU0u2yWS{`yra|kMMSn$~@YJmeP{6Gc8Kn2B!_Z<#o@EuxeCKzeOKn2A> z1%*HbMAM@jdr%H!Pz+>{2V~$F%q$1Yu7^!cF4~NtcF{>Ep6A1uu5vLAm>aGQ4t(+n zc$ROx@dkpT2F{Vh1s@+g(%8{A8e>d3&ZVp7&2r{j6>My{yJ1fX7+|_SegBUukcGl3 zeeBU6-*?}AYhejr2kxp*MzyD43tN(w@cl%HiR(s;CV>yMV)X_?GeJ7ji0EL*8&reY z8`Ox{;Kplj+I;gJx7_JSB7+4bMTNO2Dl5DLUDZ`*+PeCN8L7&WT{w@sVFEO;!j8^B zv4N~J5g^PJ-#;HAfE~OuI>90eY+g45Q{CeRlc7r zr+S&~$+R4$*Q+rff2+jj3x|C!O4z<#>h~l35Gpav0+9?1$94xS6UkVgl4eUYun3Xkn% zzXTR-bf6vgUQcTcX3{jab|X?d!8ww^!&y{dH5pVgHsl{}X=>}}AM!=wv{Gv>Od${3 zzAwM{^wUp2-@6}G-+iCF^C5W5AHM(2TW`Jf3Fk;ckC#6A?8};Zuxe~2%QswIv3N#V zo-{t%a%%ry#;`|rRh6Zt1`*()LsgjaLpkoc8&}$c5B?B5&v~39i9Y&7&yl!Os{#EB)#qZ)McQ&C)0tZQ$^fB*4E48nv;~4uUSOq!3}8qlIjL`;Y5nJ)K+>a3n4%xo z@^QEyzaMNY+=scH1clhLGc)0ZES5}+LR(&0DOeRHPAB|?gWEXx)X;80ap!(AUgfo)(5M;R?0i_3XW zNGX+CBx+-pHPficVB~U7KPj1tr9GE|r%l*bkuSxJ@ugrhqTCHY9S=d5<}GlZR`Azg zO3n+=rg@I91YY@H)B~5J26zYX$4~eNpjC4nG;1E>ZvkuS$EXzU#1>ESKN*iqY?rQ_ zv3&XR1()7);e{8jSbfFyP$#2_hEhJkvGg4+>I^(U@h=EzY+XbP6Ww z_YL>s6Hxk^$cA!A=-N7V%FH9Rr`r04gE2vukv(npl=6I=NhPC3N4lz0@Whsj={RH| zghEGtPBua;l@BGvb3C_Q#(6)o%~fw}++Lf@w?dfAsrztX?=ROBEmN zJn+BVxWXmMmz#iFjsmgx#MMg;Qhn43ac!ddsb2VCf^)uvXKtq2lQU1@?UQBB^UIw% znMN5M^YkB>5%ZynCb2c;sQq0N6|=gws@5ke7=|$GF1|=Ow16;i%&R zBt8;%gxq9`MM$A^vrLAU1S*CeZ$Kr9VyTEukYbV}@1S^^NphN)?K>-B@o6_jZ$oI1 zaKQo@{@m}-wk5t@nS>)?;yunv*jU`15bY6SI3Zydb1oi}DI=A#!c`)=bwoe;E0Qg;KaJ5B6}(PpIFxnQIv1l1R5d9Z+tEI zkKiRGQHU)ZBM5{CcL_@@LME61Opyo}S7j20NP@`O5GoB8N@gON2c&#)b*r#V5{T5C zB$W4~xSCI#s6KKCGij=;z=|YPq@9>5lUNw3j@=?9umo7dO=<$P3-A29_lYGE7e-Dj zFe9h+NlZe5a6-DK6BuMGB+G!u;z{^n3x+U15ffd=?h_<}{SS=>2!Md;Pn4N$U?7Ry zBNLIv!sJ6(Fq2UuGLUvA0EjyaydwgB2=_>wt^&8mlb5#cd>%VQ(@*Y9;t(6K4K8>; zIdH*IpJxP-0p@!S3=jJ-yy6tQ-H}8iCB?;)Cle+gAvl+pJK=PkWs^$rJhfpGlMn_K z!5n14Y#{N0h)rVn4GB=pBND;7sN#T|FucH3=t-Z6W= zn_fC+8Fh-j<0s1~e^R7~m;o#*P1HLG6~E?YN0I8{l^0*QXvKvaFTUwcXoxNMg1P|eLk%ZK#giR^lrWPeH7Glph(o&TFDxMz5-4*(2UvJX9gJunhB_+u4~rim-SJWepQ~Jo;-W@q{)hqBEKy#dmT*ee(GIu-H*rnkTCka zxV{a3X+KUa>H<*osF>xZ4}VxmomWX8Z*kKnPgPQHRU%Mzvj&4WAz$lPZ^J-wvnmuM z-E1&u@@*qias)zK5~tD|orPN3-`a5W#1L(oHd~kJ?d8N21ZJIuV{U0IJP;Tj;gk_s zCgo?eS<`Y|(zd=CGmo9(6obPkO!x*z4!Wfs!|j7-jzDIplL!yy73Hgik>-ZUWhYKS z_NX5hLQi}5FfN_p?nCt-zrpD&C1y74lf1awD@?xh*56cM9_L-cRh)6>am>!I-TB$p z7hZVbrH^;)^k_I)Pd}80%vqJJU#{xrWO_TwOg4Qbn-Pmn;*5@LwJ_SSAx=V4tcYxsDz{XvD$TG! zF)X2Ml^QfYi8dqb87e3^)2JE=jrggszjNetjg0MF?svv&|;dJK@Fcc^4{)lD!bw$ zUsS8)6eE7vH2;Vnifv)PXC%sUitH>k=;mF`T`rlSu-NN07*JfMJx?2n@*n1}gJP-1 z3~Phdh=HRBj}jXd<{9Xs3BE8&{LdTz^41__Uw`d&8;Ys+f9*Vegoe13L4z4U8t5KE zZcTS=|A|^|9lr>5cp?J$NB%wj1O6W%SUrst@J&eeuEC?n@y>l>D5a1Y@ReFgyxc9- z#}`hy>RwLw)$w5}WBR;R%d)BN-5-9xf^HN1{Og=TZ$wHLJZ-6)k*l7qK(()wKg=05 zN|q0g`XXU3s>zbZ#==5wi<}5h!PgsL_uxYy#%EN}(UBpqKSs-ShW6&%5)_IhZjDT- zCRIYY+G28+aQfT7XBPV2`}JR5Z=p?VHcO5zN1FL{1Uc_ek25#iaKj1^Sl$BZ?{Ca4 zx7>08iei69s196vlmlz*#OTl1{M}imzo)BIOdHj8VYr{y}#aO)9*a5WO(b&|2 z7dxA)Pwe}Qdwx3=e>x>9^aOnR*L45fIQn0IgD6?zvPsaZRV)LdFOm1;DHZW@opnK}gM3m0?$8D!B%#L?XL)yfWZ;k2__Y$0a;~iOPWEy{!$|J{z)q z6TPhkOfow>t_^;)DCu#X@VG_i@VGL^Lik%~2|MQE|3&zVgi0Xsz-10IJ|h>Ol~4(^ zjZ+CE9+>3%h@!6@dzlXpY{Mg>5}1o`BD?_O%yJnud}u!t96`1|YVPc|PVm6&=WpP; zY-&ZRR-19)!w$+`F}HbA;qmbvm{~gKj^&sb(M|nef&o#vN z9^2o>XU=whZ-H80oVU?SI0O9Ea`5SjB~)M)>Eo)a=-y|ta;1<59CdW ze7gg#1J0?XdY~f~feahHYMPtg_mQXqcoIT64X3tKf8PeVAUA8Z5-+UN1@+r#wOV`> zbfaM5vk-zBVK2ChWkot>w5{>j$zjGkeU3~SLZBjskSYHg2tv)$7?oS-QC4T2o=4N| z{oNfZNHeDS-@)F~{S*CfARv)V^uMPYYic;H)oGDNM`eH9Nmm^5%QPuhJksCNBi;JfE;b($D_h}Q-0W<+@rh-^1N4d0gvs^Jx4B|C z;s~+`yC%9~xjHgB!4;1LS*RlBST!sZug`STw6UnfXasLVbj8Ff@vjQ6()Yp&{h$J> z(VK-0kR?uY&{>Alo#O9;aABI4W~J4~l5ZIQ{N{jQTetbz%Zr4zf9`;EfH2-w!wqg< z$1gz9>aMM#3-is(K-A#{pAv!zG zMI&{Gc`qTN^T)(Pes4H50#nTv6gD=DbI;pguD2RZ1`w4!gCo8uCDZDa$|$ONY0f#r z0M?EE)(bM?J@5Q-=WES^arM>Hql7R1@V7eW2I>qworbVwQ=6Ys=MpQsUu- zI30&LExbE?I|_)g2%YZMy^)7*!nld}{7@)Q^X<;b7q1ZC8RaH8_@)*=lyc$Vw^B_N z^aIob{NK|K#Q&#~;5WE@ib=VAnvYZIEfyPN+3NIlxc~n9A9`d3yued{WWS;x zxt@EOl5c+rYBChFZQMgJ(Qut1P{sZbAsCW;!as8|IsvSR14Dsqprqmvb23qI@g?hT zxOU@Jo36d`^2;}@%}S40B*%}plRO(VaWn#@G3O!&lx+z?U1?k%!9E4_)YuW6eLY<}vt`2F6&erVwJ_If->`*#gP^lf0o&*kwdnh`_$)(3lbfA-lY`;pM9FHMgQ z_fDB|74$&N(VpW+YpeI}+xPa{Zy(&(zIQKYPfyqE-1+)H-u!3}X2XB^#WvE+;74SY zKeOZA6E!Ek*n8H!S;HkIS;P)UF}@Yjk*+2ri%+z9ka$j|cOJKplxGxYlA+sLaf$bb zS)I|WlW^vVfg~6vIQ2S%K`IGJbSUR#$SH+_)23&ED)pkn1&I><0%WmJV07Dm?~}#_ ztw_VWPzb=u*s4*H+0F_E83W8{hR6{~BPH@kcD0JI_A)ItRAy|pL|)yJWwY5WM(#CK z9uvlgmJt(_v^}O|Xlpz(FVw689sNgYc-9GeD=f> zPrTDctys5Y3ElG9%P+tD&QS<(ena?sHOWL_&W;+SXFqC;Z$sJc264RyBtREtWZW;V zPojjjoA1Wj%XjesF3W;!bYjvpsm+L^QM8^GB(sjZhcs5tG^W0~u{kb-cqZlTu^^!( zCe83Gn#s>d{*G~3t!!kqhIu{%({fF0u&t@1E5xWlmXu3I!H*>I_4A4A^(Bga@-^|U zG(ECL+Y2J;fa)X>7$n6?OgJVw4>&PrBW-(JNR$l7XbFZ$8UiSn5RXDc`YJt1W|7Ha zM14pLgL^LBlF z$`m>t(VM||no^dZ106 zAmzv~VRjZIJIzL}G#y~TXir+VZr%J`byIC~leTQ-b=O_D_IyYvegovV zTFeJFK;vNuR8AIz&875R;(8-}4Sf~8iM~}_*V1!on^+(np+eLkSK8b@N^5cp&!1_g z2akP~5eoI80Pdkwj*^^g&F-Sls>;}j|gnWwnnLLG|$W(50BO!G~o`~|n zPl-8FdldUk#1n~#UL*|fgv20jC=IeO4e8*@;~9ahBZ`56;AlT)CJ<37{8?ZWTc&4I zQ8PV$c>iuxus-7IkArdA#2UIPMqo)VsXO{b-B0HuV^^w0zREIp^bASh8f%Voc6ic-~AzQ%_fKDL5`9Od~v2Z$Y z=p-P(Ogx$k1UMfV;!+2hqXxyo8D&yo=&OBnzyp=w2wPj#HVDiRk!9%laA`4=n!=-g zOhAB@I$OET);NyGM+u2qp~iivZ_j>Q5^ufrFHqbLa?ZvUKY~`{{twy(+wwWTeeTyE z9Ior}Ms0;c>`26;Ew4+#vSF%XWaNU}9 z7hk%5I0{sjqmM7E^l|kfG&zw0OJWxG%`?uo30M&)k^{BWG zfj!g>Y)IB2DoU$q2!oIn=2}i`fEUTiKvPRpriKZZfulw&xp=R+V5%VO{Sc;a_wFv< zC0V*OpQV5hT}ZyW*~N=3QI}-*?smvX413WrFJoxP&FJ-`PtvUJNkoaXTIpt$8dSuY zP*C+G?e{*3=}O`WXJ}Ya41ffSSj^Ci&tY$!>6!ZK#xp&GBT$~xX68?w;VjCwWXPqI z-_wP{_}Tn@b}Z~8W=IrIB?bwC^9kK~A4&(#m?Db_Nc6TD`3%!BkeN|t$;vJ+a2R4j z|8U$V4e<(J4y<) zw6CSf>B!48>XlMD=wGS?+3Q~a} z@}F)JIYL3f5&N+8j|U#MjGtrO`ELI*v*+*jXZ*sH>XPngm0_{2z*Sq zMO?23>G4M4ezIzR{c7E5@Mn8E+Mr%^=qxa_wMxNCBn|&~Ms3u2MreUzBoNbf zN}Cy|9)>>PCn09UPILkb3W^*KM=9ql$k9-Np4JS5jE;;9XQ0qZ3+Tub1=R_e05#Nx zESaWEeIDmbhleBh8bmv2@W?Re+}8;eam=NttE=<>pM2&xz$js4K}Z6VD9NqmW20p5 zAI1n7GtfZ-U`#^BY)EMujD+`X$;4|}IZh`c-GoMB4z~+Dw6k^!kpLnumPQ*)oe9Tb zc8Sr~QB&2}&t^}}NFv65PyfisU|(l%XGgbm+uyn+4m3m}9Vt0>4%77H3bcdTiAh;c zDXv;R$EJv#-uqXg6mY%ph|=}iCrA6jO6P)W61srrVliAJvKYF78~c;o)G8)j%mSGlM!(Qtcf*kQ+V39jSVB~=_y&TikKi~_7d74#fjoEqDETfJP=%XQDuLvSv zF<^!+S;*HZ5jGM{z%fxk$N~~gz;SRfJ1&ff*LR4-J>V(~lU&d6&;VgOLuqQ~zxsLW zW!G$8U&yz<@rp^4r()>gEi&|e9a`qfyM z^2Pi-{(InU+yDaXqx@F>5Bw{br1!=|$e68<=b&04!(3<^GATw=P8k6nAZHj1R?d0w z=pb*HI%nk)8{hfq`{!F6>|oQ$Ho>#|%@=?7{s*7#KjUdTcDN-zc|2$|%2mv$5-FN! z*n=Mx9*O$hGDJ`~OkvKHUPB7|F})`aaekJ;v?-+wBN}J`gp0^H+_;ruo>nK$QsO?5 z0u!^fIBQ~zFP=YKQY>xD(1!;+QjP9dLo+zDnvAJ4iwkly)O1h1O(~(2YNT>A45myo z1bB>QfJM^uAy1qfMOwKS%PA>B#V02QSM;SLj1v#T+guOS(KbRp7d^$DtM$Gqto zLVwl4nU3773>{jkdHY*yjyAP)4|-yPL~nvng)<#AnxT)Bm6d72@6cyt<=SB%3pNx z+Dk9JbQ$+sS_SCV!6J-RE?n6Yu^H3)g!)8Rznz6ze^xs7y3;x1+!Q)V7Hh4H9FBdyb&{r%piXVUlz#{^Sk`6Pyy}d|YW4=BT z%|j#MFb*I9DcKsErsK@2V@Hu?J#_d8(JcKElLf1)4j=mJ;K753(IYDkQ1t}h<}14( z`$w=QO`<^1Z4*#aoVG8x05ow_5h>C1cifDSlz}mEfD#`FdrG6og9HMG0S$5w$rLaO z@Ci(EzS44=xDrHbzfL+#n%2)1hbi?NXuWdo0i=n~q%O-kt!5*;j3og}ZA!5=1k zCZbJf0yZVughU66XcH10EFIWOI(&<&wY;dFp3$SJ=NEHOh2oJ~#aw>Hdz{MR|DBBH ze;8W!&}@!=@IfeG@Q)b^NY`Kq(nrLxfKJB}CivOsfM0kHeLqi_)?}PHQ&7yQF1~ot zq7@4k5!NttfNb-T+NzD6(Vx$$FsmH1;rZI2;UuRT%*@0zl0l_sz>e7kWl$(IXP)Gg znB|vA|G(C*1U!l=Ti>eg>Mh;rq|@2R(v^iJtPv1p5Wh|!Fa&jEaACv+5d;~Akx?9; z<1lF|VHw3`-c#R<$a4mqd7_95k44!R*+xKR6T*^&EI{_o+UZoi|J#L6N6+#5Iw3N2A#GbAOofZaQ9N`$?Px<;Ns6EcGRxq%cSF$I; zQCJ9uwU3tYA$PToAlNw+Bs65+mLk2j1^AlODnzD!HI!=Ox?^_TvHrco)_S}`i|fy^ z!49}A$#GNL)(})|S1j%Z&3bX~z8rM%f3EN^9U{KGa$0e8n$tbn<#VCdHGc(_)&)(g z6|_O4Qlk~Nz^^SdAA3rD#Rslw^f?DHq*bem&t>H)j>!7@NUc7y z-RZ8uEh+_vVMD#F*fFdOP~G8QvJ+B4KuY&Vbv@%?RTr!$?1Tm3-GlP(| zmR9e9KZ~=*j6s)Xi|{Mqb##f~RuQI8_p{xmY10?X&jC^LKE;t#pO_?6T^fOeIEq7( zDk|)kstzC6yIXPeEB@ zKC`20PSu)B0b*@lgk-8w?ux;Cs>3>`5BjQQu_I4tCf0^HTn&--CH$M?__NKt)_ zrqDGe=&_(Fd6a;VW))ciT{$Aa!DO!&l6uULW?sxyZTh|oct0i7em`Iu;`<@XA zN|&lA^`_TT1PGVTwG^d_82+?=rT>c zPA7zW9^(=((Xn9Y6dafFV~4fnn{qWaOO%>gbhQAT(bg_%io?(uhY!@6x)nxSQ#pzm z3Zt;-UtjN57U-+mZsp;O0?3k|1Ii=Vjx^U@$|Dk5@LJ`8ULctpW-_ZZ z%HPXXiQP~k!v?k#QiXw;G1SQDJ0l$Y8lZ$aBx_g*Htk04Caq99@j+Oya=%2V^2Ffm`(G7vRT zXll0-Nr<;wyOoG1x>urNX^TDh7t`#qIcz6;Nhr5or$c`ATn>l`wkwY0hF;0y!avbLn~}Y(~;cV%#M?(}qwe-3P8{z}kj)*66xi z-x3W))85?9A28Q6=FSeILjX-vw8GZRU(_ZrGVAKb9ytVJ8%`>El?rz#M3zg2wNKP?2JLrBjf&As=F5PtW zXzzGjLfz@hN|%DVbmg0G>E#N62**Ym3gdC#s`n$n8Nu&Kv(lxhR=@Mdx2Ys1h3l(4 z*~T7~qgXm@nsnGS6A@d>lPzqFY{%Bk#>!ylMQrU(c>s$uY?^e#rpc2t5%V&$$v|8F zTo&+~2>d1nOEk-reJoAZ(Uyy3hVO1+qvih4j3cq!hVQ|_B7=iPPGe8W61D?TCIMSy z29v?aC|j|g%u+ETBUOgJf=!bOeKi`0OFs~oV`MNi%HU#=!Nnqji$x}e;^By;fngo- zHp&5=DT9wi?t`T-emewPFu}{q@*OT#~L4p zAVc3#4?p~H&VYC@qWb8ShvAc*ed~zPxAFvqgJ#bKHuCAM zkYHn1D??#h+vW1|@+-|qI>}WZM9dTnPW%K62gFcy5F^CT^O;g$Y=YL&(@yO`kMIce zRxSWP&|MLTkLU{%J!cJ#r@bWh&PF7aoj@86^tA)5)`;j9T zd5jy0!kXJ+(g%Y@>-N50N~J}jC`-91G?V!Z>#sGIPbgng(-Dpc*Oir(U2PMPAKGWw zgm@%0A?`MGXgo0}rKSxUI($UGehPc+I!kdE+l8!OhhQyUW^ICl&$#^@Q|M3TDX%o|pq>Nhdd!MfTQPZ@%%;;)%$xG@s84 z0H-WK+M3_;`8O72*^4i}_}ZHalgm?0VUYbkF&>q*^714WTkX)YMQSEQuaA zHtg6b;K%KcVRFMkT$BU$!=Li`Cm5Ov@cO^ir-{D!+y6?q@<2U1-sqIiDrs~`#Rd9AZmWGre$Q05yBee%v<+WJN4slQ~_1sb0$#R5FfOP;=*cM}S z5qGR#yYACZK3=zB)25Bvm{jFlG^_K~d}OegtL0-(0HF(JkiCr3er8&^_RTl*k&$a8 zK1U}DQOrp2OioAHxp(}lOK3F@2(%2*5)`(<=pJ2q&qkNu&P|)w-A9$M2 z%MkY2&Ix5I5qN6?wT3Q)uf=If_1iRGPCiT;=ZsOq@AN-5d;a{H)9=fV35p$N5!L^I z>Tg^C5nzxu2;;^XNN>HS=4k9?FSoa!C)zi13BoU=f~t!CD+ z#nvfy2Hkt5JNuT`f}Yr9d3-P5W%N#>Q}c zdhD%3!OTofYfQN5q+*G+5o@pE<#}}a z%vrM^pD}ChtS6_=nhReMKpkQA7F_vv6DvsNUY|kj4o5FE{v@YRU)|8qX^Y0K@8w{4 z+kM;>6jDcx8hvN(_=yl`cTLQni0Pj3V{&qG{i7Au6x^2o#Y-#c;Cs8JJsGUfjJ6+kb!JL~Sd@16AM>|ZTfwCMSTAfW*N z=#w*^m_B{#WCbjBdhp2XpskZ^5Q3S(v)|VG(m(mOyD;!~ZLKT*acSn`?y?TE8WF*x zXhdm(+#zj9%}!`en1t}5DIBY-7CM3FY;FeU7{_#eN5W%3Dd~k51)E_3=}1Z_e1dew z7?u#l-Dt!a#$vR#{{Wh!n`+0X0^kAYHyS1tY5;~9;9zk}Abq%Hh2UB{1<@$%#<;K- z0|~9I9k}8qU;{YFLMLs(SRRrRKEvd~c!P65qL!A3S&%G%1G;9->r=Uml^F$gGn+Yx#qWdwi zgq?{cvS~~h2;gzk6>HeBuvtfW3lZyfxcdGH=mX03s+AFq#z5qIY} z#KefZ^HDr`8m%`DUd3@N8eT=%j|Mh#0sNigU_TCr{pf-H=z;y1O!gx@oOvik9G>Ig z@B9(`oy6fe3;s^x@Eiwkr3d~_55Dohe)O4E*&8}?&w z*pH*heuTf1_&hV=@ASgoNm;})Q8R8o!rv(y_M+qLiOWsxXezG6IEf7!046wwAv(dJ zN#X2_Fc|;dR*wcHm@HTa%eU?P_~Va1{P2S`WW!*5=gpP7j$f<~nbP`aKQiaZ z$3_qDZPQvRP96G>E{oC6UKeK1C6W!A$p$MDAz1H*Zdeb9V5NbJC}HKWOKSPNwufi+ zniw296e9PuMj?AH+CE;hE|jL5+k&7?l%hN?OQ^Np%?-gG2u;~A`!d^G?Cz)thqbfy za@7@^y(QERScA(Mlc>ms-FK+sJfiFnk_f|>9pAcd$BrFaH-EBu^X82T=uo-cm(|uB z4v}FccGg!_$Hu^|kMOd{tnr577f7r^DoP}?ii+XEo|11d#_!ar6X@L@Q;6O(R;cp@ z?H1AIh;qB!kv3rOsZsD)ObqcQnROUYqu zg-whp4(y+Li8Aw2N`7ZdsNL>$bM|l#GlFpAW2MshJ8fagq<+(M}_KHD{ z*~IvS1b9+<`TF+*gsE@8tp5G`rz&f@I}#)WsksRS03LZ{mh!*FI9Rsk`=1aq0f0{g8N#`NIf;ls2O<(32KS4GahBK$*h)tS zQTiZq+)f1WAkpR3Qr5^JvjuXf!70Uqz@V!fDqTXIqe%;WH3lyoH2-^N|jDhI&5+(@ns9r<$SOs*VFa z#$zy!Ur-e!C-^f`C4b1xGua574@`?kcL7{u5Ugn#18;{xnANwhEX)1C(M#r8)7fFs zNov*Uug-<8e!lMC|LxNaTXvqgdhYQ4vu%BJg^8#L3tG_^X>YAXty}BbDe!`UB@zA$b2&!9-4`@wxmbCM7TQ%napVnjC-Nt5CGy$CgP z8PG?Xn-tlI`wvU^C3@W!QEjRzJAUkZ31lRAFrs2phA6Uu25?6>(J^yJlKgN*CwNg= z)D`vjDssQ#|D^a%LrW`$yP*>eTC&*qnCM6lU_**^wg(m2Ftvtd^Z~pos~_ca9Xv9B zJO~HI{Wu>JyAEZH z2-o2+zl3FQ;NU?x77u-~cmLtThYuax&&MO&;GyZZlOciZdSojw@3Ov)NVQP8kWvRr}C zbi>#pZyGL!5;3&4zG9eGiFSSoRt`9{J0kT2-#XrK4J(L6tOXf2Vd3Y1@mbUP8SZWyd3-~|17*t^N($LF-%U?MDG1Z*Y=Hd8Vav9)4J#<`tX99U>}v4CHD z3d@|O0aIpXaq&`d&eM10z{IE$?|ypDVn3@2*f(x#Xo!r=%{Pa^99K66DN=67oXctz zzjk||z*gb&m6Rm2pi}wY$=-N%Lynf9C5WHC`o?0vmJqP#k8!&j8@F#nZq@>!>5l>7 zk4;MoY{AILh6WdFv*8qMKb8ZiPj$7|yEMS&;}1vWnZZb^ZDd zh^onxi+BNJl^$Ses3!IIuB$Xp)@sIgBrx!u8Gl_zye&}v>qNAL@9?IXuwu=ylm)bb z2($vmY_N~*|Hrn_2Txu`TX3K)WT7oMjJDuLTZqAt8!f?&wjiPb6tPTt25%MsG=)Zv zJtZP_)Tm$nIyS=31hTHA2tg;S^r5tU#*C>Su6+CLw?BMH zx!IXY_w9Ra`LRfx+Gpmk zU;oU4_Y~s32*)ecn4n>27!GryPihTEz75sN-GDXNF9bo5+*!de?BpOZ;{sVGk7XjTs z`12lz1^p01PDC5ZKpV<{JV}H+k?=$%&Oq$PHU~>CmcdwvQE4oeF<8c98HeRwEI+|= z50;5oevBm_=h9^owZmAnLkX=#LaWR`dvyLk+9TB>-jGchhHSDyHc@+w?a>|!{74ai z5zQL5h4%Dx;+SUYnKKH$cuV+~MO;n^i++tGG+9Why1LIdhQxfo(+Nq{oQJp(Nh+Er zfPJ2%6~Zo;n4^L9x^RKca^usZV_&%9hh7z+4GK#ab8#pv2GQP3R0skwIyx`kqHf&T z)C7Sz8`$&|X<7VyFNUL12&0 z8dVvqg7NAuZLl_&q$GvH)SUs6lZg9IniMdtTZdue7&u}z7w|^Ccm=4Ci@?^cu$6wb zN!YbLhoq#ib-Q0}7IYyA|0jW8e~(Bs1xpvATaJ-OtKJ4L@5+^{0+5s>a04W8(Xn`O z1@7xvVICm15Sqf=xqfyIPp1M%%8vEx1E$H7B?(UlOvS~SnMDEgi*()k6l$$RWM%*Qm!n3drd}!ILUhjjyC+P5idAgR zppa5p>ho0=LW0hm{MWbN{@dgk%1zF4>e%wv_U$VzjZ5JI^o>_O-Lwh1Rk7LHnTsIR z!NSEt)1Lz3ADac7!;3_vMGA>5sMR9Hl$2CnUPOJs`2lf0?xV1NJr|zl_ukvEK|_Ol z1S%22Qy4H{410@&C;O8yXb@y4I%trcim9aq?FFK<1tRk)h)xoq4Qhk-f(GhDU39*( z;(_(+AAE5IsbJp7%n+e7aCUZ(B0L732vCcwRQN zlPG2ZI?4icluPc-JTiJ?vYpvv(uwiRDv!qE$C3;EI2f&J0QSeC{1_}FAh9xW1~YTZ z9>^~Nzm33eW3WUsD_V;kUTzmS>14D$7rfjSlA7>x+u`N51Jz6YKEf1x(YB)C<+h`J zxzWCSXkRYbit~Lp@`E_(BzU=P@&smKccH8k`?vzxfvp$kNx?Zt_Uj`+thfRzYHbC( zolTC#mbezOP^J&c^u_TIYBpp98GZJCxeE$b5S)cb_$%0&azVMih3!zJ ztgI_n0p}HPE&o+O>zM_RBru1DX5J#+ku`!MPlE8)yMFDlT!aiU!|ROCOqs{eoX7p= zA#qWtOVit!_{0+c2>(G@j#K%y7wC+LY3iHz3WOu~1ccTy1q0Kg6iKQ?^jhLYNgkqT z0ehCJ;4F}0gnEku-3F7(nybzy8QaiWE*u?`#9uk()9t z3hd%lt9Do6*Bd*UKl${(a7$`xf*~ab!tpQS(=&g8g!Bb|1P)@1N0>h1C(8m9?7Nh(o0q4iUiVfObS@TF*=f}4IjITe+J4Gt3^b? ztO0Rx$ythoAO$A6W#C>hDa$E70<+fRbVixzn}S$yOiFlP$U2k2QfXnsub1tAhar)%tH6@XKNV literal 0 HcmV?d00001 diff --git a/fonts/Tektur[wdth,wght].ttf b/fonts/Tektur[wdth,wght].ttf index eb9c34976807fc8ba1141c18fe7e4c10920860ba..0bbf58440511a559a196c8f60e72905962e626dc 100644 GIT binary patch delta 66241 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�%I$z?K502-u24;->^U>-;N}Pyx*X+61% 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 delta 62076 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 diff --git a/img/sigmoid.222ee1ad.svg b/img/sigmoid.1601bd06.svg similarity index 100% rename from img/sigmoid.222ee1ad.svg rename to img/sigmoid.1601bd06.svg diff --git a/index.html b/index.html index a58e45f..8312c57 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Bulletproof Font Tester
    \ No newline at end of file + }(window.location))
    \ No newline at end of file diff --git a/js/app.1ab06575.js b/js/app.1ab06575.js deleted file mode 100644 index ef52844..0000000 --- a/js/app.1ab06575.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var a,o,s=t[0],l=t[1],c=t[2],g=0,p=[];g0?this.value.map((function(t){return t[e.keys.label]||t})).join(this.multipleDelimiter):"":this.value?this.value[this.keys.label]||this.value:""},hasDisplayText:function(){return Boolean(this.displayText.length)},hasNoResults:function(){return!this.loading&&0!==this.query.length&&(this.disableFilter?this.noResults:0===this.filteredOptions.length)},submittedValue:function(){var e=this;if(this.name&&this.value)return Array.isArray(this.value)?this.value.map((function(t){return t[e.keys.value]||t})).join(","):this.value[this.keys.value]||this.value}},watch:{filteredOptions:function(){this.highlightedIndex=0,Object(N["a"])(this.$refs.optionsList)},query:function(){this.$emit("query-change",this.query)},isActive:function(e){e?this.addExternalClickListener(this.$el,this.onExternalClick):this.removeExternalClickListener()}},created:function(){this.value&&""!==this.value||this.setValue(null)},mounted:function(){this.refreshScrollbar()}},Object(f["a"])(a,"watch",{options:function(e,t){e.length!==t.length&&this.refreshScrollbar()}}),Object(f["a"])(a,"methods",{refreshScrollbar:function(){this.openDropdown(),this.closeDropdown()},setValue:function(e){e=e||(this.multiple?[]:""),this.$emit("input",e),this.$emit("change",e)},setCustomValue:function(e){e?this.setValue(e):this.selectOption(this.options[0],0,{autoClose:!1})},highlightOption:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{autoScroll:!0};if(this.highlightedIndex!==e&&0!==this.$refs.options.length){var n=0,a=this.$refs.options.length-1;ea&&(e=n),this.$refs.options[e]||(e=0),this.highlightedIndex=e,t.autoScroll&&this.scrollOptionIntoView(this.$refs.options[e].$el)}},selectHighlighted:function(e){var t=this.$refs.options;t[this.highlightedIndex]&&(e&&e.preventDefault(),this.selectOption(t[this.highlightedIndex].option,this.highlightedIndex))},selectOption:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{autoClose:!0},a=this.multiple&&!this.isOptionSelected(e);this.multiple?this.updateOption(e,{select:a}):(this.setValue(e),this.selectedIndex=t),this.$emit("select",e,{selected:!this.multiple||a}),this.highlightedIndex=t,this.multiple||this.clearQuery(),!this.multiple&&n.autoClose&&this.closeDropdown()},isOptionSelected:function(e){return this.multiple?Object(D["b"])(this.value,e)>-1:Object(D["a"])(this.value,e)},updateOption:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{select:!0},n=[],a=!1,i=Object(D["b"])(this.value,e);t.select&&i<0&&(n=this.value.concat(e),a=!0),!t.select&&i>-1&&(n=this.value.slice(0,i).concat(this.value.slice(i+1)),a=!0),a&&this.setValue(n)},defaultFilter:function(e,t){var n=e[this.keys.label]||e;return"string"===typeof n&&(n=n.toLowerCase()),$()(t.toLowerCase(),n)},clearSelection:function(){this.setValue(null)},clearQuery:function(){this.query=""},focus:function(){this.isAutocomplete&&this.$refs.input?this.$refs.input.focus():this.$refs.label.focus()},toggleDropdown:function(){this.$refs.dropdown.toggle()},openDropdown:function(){this.disabled||this.$refs.dropdown.open()},closeDropdown:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{blurAfterClose:!1};this.$refs.dropdown.close(),this.isTouched||(this.isTouched=!0,this.$emit("touch")),e.blurAfterClose?this.isActive=!1:this.focus()},onFocus:function(e){this.isAutocomplete&&(this.$refs.input&&this.$refs.input.focus(),this.isFocused=!0),this.isActive||(this.isActive=!0,this.$emit("focus",e))},onBlur:function(e){this.isActive=!1,this.$emit("blur",e),this.$refs.dropdown.isOpen()&&this.closeDropdown({blurAfterClose:!0})},onOpen:function(){var e=this;this.isActive=!0,this.$refs.dropdown.$el.style.width=this.$refs.label.getBoundingClientRect().width+"px",this.$nextTick((function(){e.$refs.optionsList&&e.scrollOptionIntoView(e.$refs.optionsList.querySelector(".is-selected"))})),this.$emit("dropdown-open")},onReveal:function(){var e=this;this.autocomplete?this.$nextTick((function(){e.focus()})):this.$refs[this.hasSearch?"searchInput":"dropdownContent"].focus()},onClose:function(){this.highlightedIndex=this.multiple?-1:this.selectedIndex,this.$emit("dropdown-close")},onExternalClick:function(){this.$refs.dropdown.isOpen()?this.closeDropdown({blurAfterClose:!0}):this.isActive&&(this.isActive=!1)},scrollOptionIntoView:function(e){Object(N["b"])(e,{container:this.$refs.optionsList,marginTop:180})},reset:function(){this.setValue(JSON.parse(this.initialValue)),this.clearQuery(),this.resetTouched(),this.selectedIndex=-1,this.highlightedIndex=-1},resetTouched:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{touched:!1};this.isTouched=e.touched},onInputEnter:function(){this.$refs.dropdown.isOpen()&&this.$refs.options[this.highlightedIndex]?this.selectHighlighted():this.toggleDropdown()}}),Object(f["a"])(a,"components",{UiIcon:E["a"],UiPopover:C["a"],UiProgressCircular:B["a"],UiSelectOption:M["a"]}),Object(f["a"])(a,"mixins",[U["a"]]),a),R=z,V=(n("a01f"),Object(m["a"])(R,K,I,!1,null,null,null)),G=V.exports,W=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ui-tooltip"},[e._t("default")],2)},q=[],J=n("a5c9"),Z=n("1513"),Y={name:"ui-tooltip",props:{animation:{type:String,default:"fade"},appendToBody:{type:Boolean,default:!0},openDelay:{type:Number,default:0},openOn:{type:String,default:"mouseenter focus"},position:{type:String,default:"bottom"},trigger:{validator:function(e){return Z["a"].validate(e,'[UiTooltip]: Invalid prop: "trigger". Expected Element, VueComponent or CSS selector string.')}},zIndex:Number,interactive:{type:Boolean,default:!1}},mounted:function(){if(this.triggerEl=Z["a"].resolve(this.trigger,this.$el.parentElement),this.triggerEl){var e={animateFill:"fade"!==this.animation,animation:"none"===this.animation?"fade":this.animation,arrow:!1,content:this.$el,delay:[this.openDelay,0],distance:4,duration:"none"===this.animation?0:[250,200],ignoreAttributes:!0,lazy:!0,multiple:!0,placement:this.position,theme:"ui-tooltip",trigger:this.openOn.replace("hover","mouseenter"),zIndex:this.zIndex,popperOptions:{modifiers:{computeStyle:{gpuAcceleration:!(window.devicePixelRatio<1.5&&/Win/.test(navigator.platform))}}},interactive:this.interactive};this.appendToBody||(e.appendTo=this.triggerEl.parentElement),this.tip=Object(J["a"])(this.triggerEl,e)}},beforeDestroy:function(){this.tip&&(this.tip.destroy(),this.tip=null)}},Q=Y,X=(n("b92e"),Object(m["a"])(Q,W,q,!1,null,null,null)),ee=X.exports,te=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:{callback:e.visibilityChanged,once:!0},expression:"{\n callback: visibilityChanged,\n once: true,\n }"}],staticClass:"fit-me"},[n("div",{ref:"fitted",staticClass:"fitted",style:"font-size: "+e.fontSize+"px;"},[e._v("\n "+e._s(e.localText)+"\n ")])])},ne=[],ae=(n("96cf"),n("3b8d")),ie={props:{text:String,cutText:Number},data:function(){return{localText:this.text,fontSize:16}},methods:{visibilityChanged:function(){this.runFit()},fit:function(){var e=Object(ae["a"])(regeneratorRuntime.mark((function e(t){var n,a,i,r,o,s,l,c,u,g,p=this,m=arguments;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=m.length>1&&void 0!==m[1]?m[1]:0,this.localText=this.text.slice(0,this.text.length-t),e.next=4,this.$nextTick();case 4:if(a=this.$refs.fitted,i=this.$el,r=i.clientWidth,o=a.clientWidth,o&&r){e.next=10;break}return e.abrupt("return");case 10:if(!(o===r&&n<5)){e.next=13;break}return setTimeout((function(){p.fit(0,n+1)}),100),e.abrupt("return");case 13:return s=r/o,l=parseFloat(getComputedStyle(a).fontSize),c=Math.round(l*s),this.fontSize=c,e.next=19,this.$nextTick();case 19:if(u=i.clientHeight,g=a.clientHeight,!(g/u<.69&&t22?e.slice(0,8)+"..."+e.slice(-10):e).replace(/\.(ttf|otf)$/,(function(e){return e.toUpperCase()}))},selectOption:function(e){e.addFont?this.$emit("openAddFontDialog",e):this.$emit("input",e)}}},ce=le,ue=(n("9fee"),Object(m["a"])(ce,A,L,!1,null,null,null)),ge=ue.exports,pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"file-drop "+(this.visible?"":"hidden"),on:{dragenter:e.handleDragEnter,dragleave:e.handleDragLeave,dragover:e.handleDragOver,drop:e.handleDrop}})},me=[];function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function de(e){for(var t=1;t-1&&(e.preventDefault(),this.showDrop())},preventScroll:function(){this.scrolledParent.scrollTop=this.scrolledParentTop},disableScroll:function(){this.scrolledParent.addEventListener("scroll",this.preventScroll),setTimeout(this.enableScroll,500)},enableScroll:function(){this.scrolledParent.removeEventListener("scroll",this.preventScroll)},toggleBodyScroll:function(e){this.scrolledParentTop=this.scrolledParent.scrollTop,e?this.enableScroll():this.disableScroll()}}},ve=fe,ye=(n("0365"),Object(m["a"])(ve,pe,me,!1,null,"b51bf0cc",null)),Te=ye.exports,be=n("6c59"),Se=n.n(be),ke=(n("4f7f"),n("a8db")),xe=n("d225"),we=n("b0b4"),Oe=n("bf45"),_e=n.n(Oe);function Ce(e){var t=Pe.find((function(t){return t.tag.test(e)}));return t?e.replace(t.tag,t.name):e}var Pe=[{tag:/aalt/,name:"Access All Alternates"},{tag:/abvf/,name:"Above-base Forms"},{tag:/abvm/,name:"Above-base Mark Positioning"},{tag:/abvs/,name:"Above-base Substitutions"},{tag:/afrc/,name:"Alternative Fractions"},{tag:/akhn/,name:"Akhands"},{tag:/blwf/,name:"Below-base Forms"},{tag:/blwm/,name:"Below-base Mark Positioning"},{tag:/blws/,name:"Below-base Substitutions"},{tag:/calt/,name:"Contextual Alternates"},{tag:/case/,name:"Case-Sensitive Forms"},{tag:/ccmp/,name:"Glyph Composition / Decomposition"},{tag:/cfar/,name:"Conjunct Form After Ro"},{tag:/cjct/,name:"Conjunct Forms"},{tag:/clig/,name:"Contextual Ligatures"},{tag:/cpct/,name:"Centered CJK Punctuation"},{tag:/cpsp/,name:"Capital Spacing"},{tag:/cswh/,name:"Contextual Swash"},{tag:/curs/,name:"Cursive Positioning"},{tag:/cv(\d{2})/,name:"Character Variants $1"},{tag:/c2pc/,name:"Petite Capitals From Capitals"},{tag:/c2sc/,name:"Small Capitals From Capitals"},{tag:/dist/,name:"Distances"},{tag:/dlig/,name:"Discretionary Ligatures"},{tag:/dnom/,name:"Denominators"},{tag:/dtls/,name:"Dotless Forms"},{tag:/expt/,name:"Expert Forms"},{tag:/falt/,name:"Final Glyph on Line Alternates"},{tag:/fin2/,name:"Terminal Forms #2"},{tag:/fin3/,name:"Terminal Forms #3"},{tag:/fina/,name:"Terminal Forms"},{tag:/flac/,name:"Flattened accent forms"},{tag:/frac/,name:"Fractions"},{tag:/fwid/,name:"Full Widths"},{tag:/half/,name:"Half Forms"},{tag:/haln/,name:"Halant Forms"},{tag:/halt/,name:"Alternate Half Widths"},{tag:/hist/,name:"Historical Forms"},{tag:/hkna/,name:"Horizontal Kana Alternates"},{tag:/hlig/,name:"Historical Ligatures"},{tag:/hngl/,name:"Hangul"},{tag:/hojo/,name:"Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)"},{tag:/hwid/,name:"Half Widths"},{tag:/init/,name:"Initial Forms"},{tag:/isol/,name:"Isolated Forms"},{tag:/ital/,name:"Italics"},{tag:/jalt/,name:"Justification Alternates"},{tag:/jp78/,name:"JIS78 Forms"},{tag:/jp83/,name:"JIS83 Forms"},{tag:/jp90/,name:"JIS90 Forms"},{tag:/jp04/,name:"JIS2004 Forms"},{tag:/kern/,name:"Kerning"},{tag:/lfbd/,name:"Left Bounds"},{tag:/liga/,name:"Standard Ligatures"},{tag:/ljmo/,name:"Leading Jamo Forms"},{tag:/lnum/,name:"Lining Figures"},{tag:/locl/,name:"Localized Forms"},{tag:/ltra/,name:"Left-to-right alternates"},{tag:/ltrm/,name:"Left-to-right mirrored forms"},{tag:/mark/,name:"Mark Positioning"},{tag:/med2/,name:"Medial Forms #2"},{tag:/medi/,name:"Medial Forms"},{tag:/mgrk/,name:"Mathematical Greek"},{tag:/mkmk/,name:"Mark to Mark Positioning"},{tag:/mset/,name:"Mark Positioning via Substitution"},{tag:/nalt/,name:"Alternate Annotation Forms"},{tag:/nlck/,name:"NLC Kanji Forms"},{tag:/nukt/,name:"Nukta Forms"},{tag:/numr/,name:"Numerators"},{tag:/onum/,name:"Oldstyle Figures"},{tag:/opbd/,name:"Optical Bounds"},{tag:/ordn/,name:"Ordinals"},{tag:/ornm/,name:"Ornaments"},{tag:/palt/,name:"Proportional Alternate Widths"},{tag:/pcap/,name:"Petite Capitals"},{tag:/pkna/,name:"Proportional Kana"},{tag:/pnum/,name:"Proportional Figures"},{tag:/pref/,name:"Pre-Base Forms"},{tag:/pres/,name:"Pre-base Substitutions"},{tag:/pstf/,name:"Post-base Forms"},{tag:/psts/,name:"Post-base Substitutions"},{tag:/pwid/,name:"Proportional Widths"},{tag:/qwid/,name:"Quarter Widths"},{tag:/rand/,name:"Randomize"},{tag:/rclt/,name:"Required Contextual Alternates"},{tag:/rkrf/,name:"Rakar Forms"},{tag:/rlig/,name:"Required Ligatures"},{tag:/rphf/,name:"Reph Forms"},{tag:/rtbd/,name:"Right Bounds"},{tag:/rtla/,name:"Right-to-left alternates"},{tag:/rtlm/,name:"Right-to-left mirrored forms"},{tag:/ruby/,name:"Ruby Notation Forms"},{tag:/rvrn/,name:"Required Variation Alternates"},{tag:/salt/,name:"Stylistic Alternates"},{tag:/sinf/,name:"Scientific Inferiors"},{tag:/size/,name:"Optical size"},{tag:/smcp/,name:"Small Capitals"},{tag:/smpl/,name:"Simplified Forms"},{tag:/ss01/,name:"Stylistic Set 1"},{tag:/ss02/,name:"Stylistic Set 2"},{tag:/ss03/,name:"Stylistic Set 3"},{tag:/ss04/,name:"Stylistic Set 4"},{tag:/ss05/,name:"Stylistic Set 5"},{tag:/ss06/,name:"Stylistic Set 6"},{tag:/ss07/,name:"Stylistic Set 7"},{tag:/ss08/,name:"Stylistic Set 8"},{tag:/ss09/,name:"Stylistic Set 9"},{tag:/ss10/,name:"Stylistic Set 10"},{tag:/ss11/,name:"Stylistic Set 11"},{tag:/ss12/,name:"Stylistic Set 12"},{tag:/ss13/,name:"Stylistic Set 13"},{tag:/ss14/,name:"Stylistic Set 14"},{tag:/ss15/,name:"Stylistic Set 15"},{tag:/ss16/,name:"Stylistic Set 16"},{tag:/ss17/,name:"Stylistic Set 17"},{tag:/ss18/,name:"Stylistic Set 18"},{tag:/ss19/,name:"Stylistic Set 19"},{tag:/ss20/,name:"Stylistic Set 20"},{tag:/ssty/,name:"Math script style alternates"},{tag:/stch/,name:"Stretching Glyph Decomposition"},{tag:/subs/,name:"Subscript"},{tag:/sups/,name:"Superscript"},{tag:/swsh/,name:"Swash"},{tag:/titl/,name:"Titling"},{tag:/tjmo/,name:"Trailing Jamo Forms"},{tag:/tnam/,name:"Traditional Name Forms"},{tag:/tnum/,name:"Tabular Figures"},{tag:/trad/,name:"Traditional Forms"},{tag:/twid/,name:"Third Widths"},{tag:/unic/,name:"Unicase"},{tag:/valt/,name:"Alternate Vertical Metrics"},{tag:/vatu/,name:"Vattu Variants"},{tag:/vert/,name:"Vertical Writing"},{tag:/vhal/,name:"Alternate Vertical Half Metrics"},{tag:/vjmo/,name:"Vowel Jamo Forms"},{tag:/vkna/,name:"Vertical Kana Alternates"},{tag:/vkrn/,name:"Vertical Kerning"},{tag:/vpal/,name:"Proportional Alternate Vertical Metrics"},{tag:/vrt2/,name:"Vertical Alternates and Rotation"},{tag:/vrtr/,name:"Vertical Alternates for Rotation"},{tag:/zero/,name:"Slashed Zero"}],Fe=function(){function e(t,n,a){Object(xe["a"])(this,e),this.version=0,this.url=n,this.fileName=a,this.font=t,this.processFont()}return Object(we["a"])(e,[{key:"serialize",value:function(){this.font;var e=Object(ke["a"])(this,["font"]);return e}},{key:"processFont",value:function(){this.getNames(),this.getFeatures(),this.getGlyphs(),this.generateFontFace()}},{key:"getNames",value:function(){var e=this.font,t=e.names;this.family=t.preferredFamily&&t.preferredFamily.en||t.fontFamily.en,this.originalFamily=this.family,this.version&&(this.family+="-".concat(this.version)),this.style=t.preferredSubfamily&&t.preferredSubfamily.en||t.fontSubfamily.en,this.cssFamily=this.family+"-"+this.style,this.cssStyle=/(italic|oblique)/gi.test(this.style)?"italic":"normal",this.cssWeight=e.tables.os2.usWeightClass,this.displayName="".concat(this.originalFamily," ").concat(this.style," ").concat(this.version?"(".concat(this.version,")"):"")}},{key:"getGlyphs",value:function(){var e=this.font,t=Object.keys(e.glyphs.glyphs).map((function(t){return e.glyphs.glyphs[t]})).filter((function(e){return e.unicode})).map((function(e){return String.fromCharCode(e.unicode)}));this.characters=t}},{key:"getFeatures",value:function(){var e=this,t=this.font,n=t.names,a=t.tables.gpos||{},i=t.tables.gsub||{},r=new Set([].concat(Object(x["a"])(a.scripts||[]),Object(x["a"])(i.scripts||[])).flatMap((function(e){return e.script.langSysRecords})).map((function(e){return e.tag}))),o=Array.from(r).map((function(e){var t=_e.a.find((function(t){return t.opentypeTag===e})),n=t?t.name:e,a=t?t.htmlTag:e.toLowerCase();return{tag:e,name:n,htmlTag:a}})).sort((function(e,t){return e.name>t.name}));o.unshift({tag:"",htmlTag:"",name:"automatic"});Object.getOwnPropertyNames(n).filter((function(e){return/\d+/.test(e)})).map((function(e){return n[e].en}));this.gposFeatures=[],(a.features||[]).forEach((function(t){var n=e.gposFeatures.find((function(e){return e.tag==t.tag}));if(!n){var a={tag:t.tag,name:Ce(t.tag)};e.gposFeatures.push(a)}})),this.gsubFeatures=[],(i.features||[]).forEach((function(t){var n=e.gsubFeatures.find((function(e){return e.tag==t.tag}));if(!n){var a={tag:t.tag,name:Ce(t.tag)};if("locl"==t.tag)a.languages=o,a.selectedLanguage=o[0];else if(/ss\d\d/.test(t.tag)){var i=t.feature.uiName;a.uiName=i&&i["en"]}else if(/cv\d\d/.test(t.tag)){var r=t.feature.featUiLabelName;a.uiName=r&&r["en"],console.log(a.uiName)}e.gsubFeatures.push(a)}})),this.variationAxes=[],t&&t.tables.fvar&&t.tables.fvar.axes&&(this.variationAxes=t&&t.tables.fvar&&t.tables.fvar.axes)}},{key:"generateFontFace",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,n=e.style;e.weight;return this.fontFace="\n @font-face {\n src: url('".concat(this.url,"');\n font-family: \"").concat(t||this.cssFamily,'";\n ').concat(0===this.variationAxes.length?"font-weight: bold":"","; // prevent fake bold, allow for automatic weight in Variable fonts\n // font-style: ").concat(n||this.cssStyle,"; // hmmm...\n }\n "),this.fontFace}},{key:"bumpVersion",value:function(e){e?this.version=e:this.version++,this.processFont()}}]),e}(),je=(n("6b54"),function(e){if(e){var t=e,n=1;while(document.getElementById(t))t="".concat(e,"-").concat(n++);return t}var a="";do{var i=Math.random()*Math.pow(2,8),r=i.toString(16);a="b"+r}while(document.getElementById(a));return a}),Ae={add:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";t||(t=je());var n=document.createElement("style");if(n.appendChild(document.createTextNode(e)),document.head.appendChild(n),t){var a=document.getElementById(t);a&&a.parentNode.removeChild(a)}n.id=t},setProperty:function(e,t){document.documentElement.style.setProperty(e,t)}},Le=["AlegreyaSans/AlegreyaSans-Regular.ttf","AlegreyaSans/AlegreyaSans-Italic.ttf","AlegreyaSans/AlegreyaSans-Bold.ttf","AlegreyaSans/AlegreyaSans-BoldItalic.ttf","Rywalka-Regular.ttf","Graduate.ttf","Tektur[wdth,wght].ttf"];function Ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ie(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.files,a=void 0===n?[]:n,i=t.urls,r=void 0===i?[]:i,o=t.remote,s=void 0!==o&&o;if(r.length||(r=a.map((function(e){return URL.createObjectURL(e)}))),r.length){this.navigateToTester(),this.fontLoadingProgress=0,this.$store.dispatch("fontLoadStart");var l=a.length?a.map((function(e){return e.name})):r.map((function(e){return e.replace(/.*\//,"")})),c=[],u=[],g=new Se.a;g.onmessage=function(t){if(p++,t.data.font){var n=t.data,a=n.font,i=n.url,o=n.fileName,l=new Fe(a,i,o),g=e.fonts.concat(c).filter((function(e){return e.originalFamily===l.originalFamily&&e.style===l.style})).map((function(e){return e.version}));if(g.length>0){var m=Math.max.apply(Math,Object(x["a"])(g));l.bumpVersion(m+1)}Ae.add(l.fontFace),c.push(l),e.fontLoadingProgress=100*p/r.length}else if(t.data.error){var h=t.data,d=h.error,f=h.url,v=h.fileName;u.push({error:d,url:f,fileName:v}),e.updateQuery({preload:e.getQueryStringFontUrls().filter((function(e){return e!==f}))})}if(p===r.length){if(c.length){c.sort((function(e,t){return e.family.localeCompare(t.family)||e.cssWeight-t.cssWeight||t.cssStyle.localeCompare(e.cssStyle)})),e.fonts=Object.freeze([].concat(c,Object(x["a"])(e.fonts)));var y=e.$route.query.f||"",T=c.findIndex((function(e){return e.family.toLowerCase().startsWith(y.toLowerCase())}));e.selectFont(c[-1===T?0:T]),s&&e.updateQuery({preload:[].concat(Object(x["a"])(e.getQueryStringFontUrls()),Object(x["a"])(r))})}u.length&&e.printFontLoadingError(u),e.$store.dispatch("fontLoadEnd")}};var p=0;r.forEach((function(e,t){g.postMessage({url:e,fileName:l[t]})}))}},printFontLoadingError:function(e,t){if(e.length){var n=e.filter((function(e){return e.error}));this.errorMessage="".concat(n.length," out of ").concat(e.length," files were not loaded."),this.errorLogs=n}else this.errorMessage="An unexpected error occurred.",this.errorLogs=[t];this.$refs.modal.open()},getFont:function(e){var t=this.fonts.findIndex((function(t){return t.displayName===e.displayName})),n=this.fonts[t],a=n.serialize();return{index:t,font:a}},selectFont:function(e){this.lastFont=this.selectedFont;var t=this.getFont(e),n=t.index,a=t.font;function i(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;at.cssWeight})),o=i(r,(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===300}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>=200}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>0}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===0}))[0],s=i(this.fonts.slice(),(function(t){return t.family===e.family&&t.cssWeight===e.cssWeight&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight=200&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>0&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===0&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight<=e.cssWeight}))[0];this.selectBoldFont(o),this.selectHeaderFont(o),this.selectItalicFont(s),this.selectBoldItalicFont(l)},setFont:function(e,t){var n=this.getFont(t),a=n.font;this.setCssFont(e,a.cssFamily),e="regular"===e?"font":e+"Font",this.$store.commit("selectFont",Object(f["a"])({},e,a))},setCssFont:function(e,t){var n={regular:"selectedFont",italic:"selectedItalicFont",bold:"selectedBoldFont",boldItalic:"selectedBoldItalicFont",header:"selectedHeaderFont"}[e],a="--"+n+"Family";t?Ae.setProperty(a,t):Ae.setProperty(a,this[n].cssFamily)},overrideCssFont:function(e,t){var n={regular:"selectedFont",italic:"selectedItalicFont",bold:"selectedBoldFont",boldItalic:"selectedBoldItalicFont",header:"selectedHeaderFont"}[e],a="--"+n+"Family",i="--"+n+"CssWeight";if(t){var r=/((Light|Semi-?bold|Bold|Heavy|Extra-?bold|Black|\d{1,3})? ?(Italic)?)$/i,o=t.match(r);if(o&&o[0].length){var s=t.replace(r,""),l=o[1];Ae.setProperty(a,s),Ae.setProperty(i,l)}else Ae.setProperty(a,t)}else Ae.setProperty(a,this[n].cssFamily),Ae.setProperty(i,"");this.fontOverrides[e]=t},selectBoldFont:function(e){var t=this.getFont(e),n=t.font;Ae.setProperty("--selectedBoldFontFamily",n.cssFamily),this.$store.commit("selectFont",{boldFont:n})},selectItalicFont:function(e){var t=this.getFont(e),n=t.font;Ae.setProperty("--selectedItalicFontFamily",n.cssFamily),this.$store.commit("selectFont",{italicFont:n})},selectBoldItalicFont:function(e){var t=this.getFont(e),n=t.font;Ae.setProperty("--selectedBoldItalicFontFamily",n.cssFamily),this.$store.commit("selectFont",{boldItalicFont:n})},selectHeaderFont:function(e){var t=this.getFont(e),n=t.font;Ae.setProperty("--selectedHeaderFontFamily",n.cssFamily),this.$store.commit("selectFont",{headerFont:n})},setLastFont:function(){this.lastFont&&this.lastFont.family&&this.selectFont(this.lastFont)},setPreviousFont:function(){this.selectFont(this.fonts[Math.max(0,this.selectedFontIndex-1)])},setNextFont:function(){this.selectFont(this.fonts[Math.min(this.fonts.length-1,this.selectedFontIndex+1)])}}},Be=Ee,Me=(n("3743"),Object(m["a"])(Be,S,k,!1,null,null,null)),Ue=Me.exports,De=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"editor-nav"},[e._l(e.customTextIds,(function(t){return n("EditorNavLink",{key:t,attrs:{id:t},on:{navigated:function(t){return e.$emit("navigated")}}})})),n("span",{key:"-1",staticClass:"nav-link new"},[n("router-link",{attrs:{to:"/custom/-1"}},[e._v("\n "+e._s(e.customTextIds.length>0?"+ New":"Editor")+"\n ")])],1)],2)},Ne=[],He=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"editor-nav-link nav-link"},[n("router-link",{attrs:{to:"/custom/"+e.id},nativeOn:{click:function(t){return e.$emit("navigated")}}},[n("div",{staticClass:"middle-ellipsis"},[n("div",{staticClass:"start"},[e._v("Custom ")]),n("div",{staticClass:"end"},[e._v(e._s(e.id))])])]),n("UiIconButton",{staticStyle:{color:"white"},attrs:{color:"secondary"},on:{click:function(t){return e.removeCustomText(e.id)}}},[n("svg",{key:"1",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{fill:"currentColor",d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}),n("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1)},$e=[],ze=n("6904"),Re={components:{UiIconButton:ze["a"]},props:{id:Number},methods:{removeCustomText:function(e){this.$store.commit("removeCustomText",{id:e})}}},Ve=Re,Ge=(n("f5b7"),Object(m["a"])(Ve,He,$e,!1,null,"4f310594",null)),We=Ge.exports;function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Je(e){for(var t=1;t=1&&e.getRangeAt(0)},Ze=function(e){var t=e.ownerDocument,n=t.defaultView,a=n.getSelection().getRangeAt(0),i=a.cloneRange();i.selectNodeContents(e),i.setEnd(a.startContainer,a.startOffset);var r=i.toString().length;return{start:r,end:r+a.toString().length}},Ye=function(e,t){var n=e.ownerDocument,a=n.defaultView,i=0,r=n.createRange();r.setStart(e,0),r.collapse(!0);var o,s=[e],l=!1,c=!1;while(!c&&(o=s.pop()))if(3==o.nodeType){var u=i+o.length;!l&&t.start>=i&&t.start<=u&&(r.setStart(o,t.start-i),l=!0),l&&t.end>=i&&t.end<=u&&(r.setEnd(o,t.end-i),c=!0),i=u}else{var g=o.childNodes.length;while(g--)s.push(o.childNodes[g])}var p=a.getSelection();p.removeAllRanges(),p.addRange(r)}):document.selection&&(Ze=function(e){var t=e.ownerDocument,n=t.selection.createRange(),a=t.body.createTextRange();a.moveToElementText(e),a.setEndPoint("EndToStart",n);var i=a.text.length;return{start:i,end:i+n.text.length}},Ye=function(e,t){var n=e.ownerDocument,a=n.body.createTextRange();a.moveToElementText(e),a.collapse(!0),a.moveEnd("character",t.end),a.moveStart("character",t.start),a.select()});var rt=function(){function e(t){Object(xe["a"])(this,e),this.selection=null,this.container=t}return Object(we["a"])(e,[{key:"save",value:function(){this.selection=Ze(this.container)}},{key:"restore",value:function(){this.selection&&Ye(this.container,this.selection)}},{key:"forget",value:function(){this.selection=null}},{key:"ancestor",value:function(){var e=Qe(this.container),t=e.commonAncestorContainer;return t.nodeType===Node.TEXT_NODE&&(t=t.parentNode),t}},{key:"existentTags",value:function(e){var t=Qe(this.container),n=t.cloneContents(),a=n.querySelectorAll(e);return a}},{key:"closestTag",value:function(e){var t=this.ancestor().closest(e);return t}},{key:"containsTag",value:function(e){return this.existentTags(e).length>0||null!=this.closestTag(e)}},{key:"wrap",value:function(e){var t=/^h[1-6]$/.test(e),n=this.ancestor();if(this.container.contains(n)){var a=Qe(this.container),i=a.cloneContents(),r=i.querySelectorAll(e),o=this.closestTag(e);if(o){var s=n===o?n.parentNode:n,l=document.createElement("tmp");a.surroundContents(l);var c=document.createDocumentFragment();Array.from(o.childNodes).forEach((function(t){try{if(t===l)c.appendChild(t.childNodes[0]);else if(t.nodeValue||t.innerText){var n=document.createElement(e);n.appendChild(t.cloneNode()),c.appendChild(n)}}catch(a){console.log(a)}})),s.replaceChild(c,o)}else if(r.length)r.forEach((function(e){try{var t=document.createDocumentFragment();Array.from(e.childNodes).forEach((function(e){return t.appendChild(e)})),e.parentNode.replaceChild(t,e)}catch(n){console.log(n)}})),a.deleteContents(),a.insertNode(i);else try{var u=t&&""===a.toString();u&&a.insertNode(document.createElement("br"));var g=document.createElement(e);g.appendChild(a.extractContents()),a.insertNode(g),u&&a.selectNodeContents(g)}catch(p){console.log(p),console.log(n)}ot(this.container)}else console.log("not contained")}},{key:"remembered",get:function(){return null!==this.selection}}]),e}();function ot(e){for(var t=0;t-1},left:function(){return this.sidesArray.indexOf("both")>-1||this.sidesArray.indexOf("left")>-1},right:function(){return this.sidesArray.indexOf("both")>-1||this.sidesArray.indexOf("right")>-1},rootStyle:function(){return"\n ".concat(this.left?"margin-left: ".concat(this.width-this.marginAdjust,"px;"):"","\n ").concat(this.right?"margin-right: ".concat(this.width-this.marginAdjust,"px;"):"","\n position: relative;\n ")},containerStyle:function(){return"\n height: 100%;\n display: flex;\n align-items: center;\n "},contentStyle:function(){return"\n ".concat(this.left?"margin-left: -".concat(this.marginAdjust,"px;"):"","\n ").concat(this.right?"margin-right: -".concat(this.marginAdjust,"px;"):"","\n z-index: 1;\n ")},sigmoidWrapperStyle:function(){return"\n width: ".concat(this.width,"px;\n ")},sigmoidStyle:function(){return"\n background: ".concat(this.background,";\n ").concat(this.top?"":"transform: translateY(-1px) scaleY(-1);","\n ")}},mounted:function(){var e=getComputedStyle(this.$el);this.background=this.$el.style.background||e.backgroundImage+" "+e.backgroundColor}}),St=bt,kt=(n("e42c"),Object(m["a"])(St,yt,Tt,!1,null,"6ff99e0d",null)),xt=kt.exports,wt=["lettering","pangrams","sentences","gotchas","ABCs","glyphs","kerning","languages"],Ot=function(e){return e[0].toUpperCase()+e.substr(1)};function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ct(e){for(var t=1;tthis.stickyShowDelta||e<100?(this.setSticky(!0),this.lastTop=e):t>this.stickyHideDelta&&(this.setSticky(!1),this.lastTop=e)},initStickyHeader:function(){var e=this,t=!1;this.scrolledParent.addEventListener("wheel",(function(){return t=!0})),this.scrolledParent.addEventListener("click",(function(){return e.lastTop=e.measureTop()})),setInterval((function(){t&&(e.hasScrolled(),t=!1)}),250)}}},Ft=Pt,jt=(n("56ee"),Object(m["a"])(Ft,y,T,!1,null,null,null)),At=jt.exports,Lt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"site-footer"},[n("div",{ref:"sentinel",staticClass:"sentinel"}),e._m(0),n("SigmoidContainer",{staticClass:"large light aside",attrs:{sides:"left bottom",width:"75",idSeed:"footer"}},[n("a",{staticClass:"github-link",attrs:{href:"https://github.com/hyvyys/Bulletproof",target:"_blank",rel:"noopener noreferrer"}},[n("div",[e._v("\n Bulletproof\n "),n("br"),e._v("\n on Github\n ")]),n("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","svg-inline":"",height:"32",width:"32",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{fill:"currentColor",d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"}})])])])],1)},Kt=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"main u-dark"},[n("div",{staticClass:"extra-info"},[n("div",[n("a",{attrs:{href:"https://github.com/huertatipografica/Alegreya-Sans"}},[e._v("Alegreya Sans")]),e._v(" font by Juan Pablo del Peral.\n ")]),n("div",[n("a",{attrs:{href:"https://github.com/etunni/Graduate-Variable-Font"}},[e._v("Graduate")]),e._v(" Variable Font by Eduardo Tunni.\n ")]),n("div",[e._v("\n Rywalka and "),n("a",{attrs:{href:"https://github.com/hyvyys/Tektur"}},[e._v("Tektur")]),e._v(" fonts by Adam Jagosz.\n ")]),n("div",[e._v("\n Sample texts from\n "),n("a",{attrs:{href:"https://github.com/hyvyys/language-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("\n Language-Data.\n ")]),n("br"),e._v("\n Visit to contribute! ↑\n ")])]),n("div",{staticClass:"bulletproof-info"},[n("div",[e._v("\n Bulletproof Font Tester\n ")]),n("div",[e._v("\n © 2021 Adam Jagosz\n ")])])])}],It=n("9224").version,Et={components:{SigmoidContainer:xt},data:function(){return{version:It}},mounted:function(){},destroyed:function(){this.observer.disconnect()},methods:{initObserver:function(){var e=this,t={threshold:[0,.25,.5,.75,1]},n=function(t,n){t.forEach((function(t){e.updateHeight(t)}))};this.observer=new IntersectionObserver(n,t),this.observer.observe(this.$refs.sentinel)},updateHeight:function(e){var t=e.intersectionRatio;this.$store.commit("updateFooter",{visible:t>.75,ratio:t})}}},Bt=Et,Mt=(n("ece0"),Object(m["a"])(Bt,Lt,Kt,!1,null,"1083513b",null)),Ut=Mt.exports,Dt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"home",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}},[n("div",{staticClass:"background background-parallax",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}},[n("div",{staticClass:"pane"},[n("div",{ref:"parallax",staticClass:"parallax-content",attrs:{"data-parallax":"0.3 0"}},[e._v("\n "+e._s(e.getParallaxText())+"\n ")])])]),n("div",{ref:"overlay",staticClass:"background background-overlay",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}}),n("Welcome",{attrs:{msg:"Welcome to Your Vue.js App"}})],1)},Nt=[];n("14b9");function Ht(e){var t,n,a;for(a=e.length-1;a>0;a--)t=Math.floor(Math.random()*(a+1)),n=e[a],e[a]=e[t],e[t]=n;return e}var $t=n("72c1"),zt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"welcome reading"},[n("div",{staticClass:"fold"},[n("figure",{staticClass:"banner"},[n("svg",{class:"logo",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("g",{attrs:{"data-name":"Warstwa 3"}},[n("g",{attrs:{"data-name":"Icon Big"}},[n("path",{attrs:{fill:"currentColor",d:"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z","data-name":"Hole 1"}}),n("path",{attrs:{fill:"currentColor",d:"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z","data-name":"Hole 2"}}),n("path",{attrs:{fill:"currentColor",d:"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z","data-name":"Hole 3"}})])])]),n("h1",[e._v("Bulletproof")]),n("div",{staticClass:"subtitle"},[e._v("I Wish I Was...")])]),n("div",{staticClass:"invitation"},[e.isMobile?e._e():n("div",{staticClass:"drop-prompt"},[e._v("\n Drop font files to start\n ")]),e.isMobile?e._e():n("div",[e._v("or")]),n("div",{staticClass:"request-font"},[n("UiTextbox",{staticClass:"font-url-input",attrs:{placeholder:"Enter font file URL (TTF, OTF, WOFF)"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.requestFont(t)}},model:{value:e.addFontUrl,callback:function(t){e.addFontUrl=t},expression:"addFontUrl"}}),n("UiButton",{attrs:{disabled:!e.addFontUrl},on:{click:e.requestFont}},[e._v("Load")])],1),e.isMobile?n("div",[e._v("or")]):e._e(),e.isMobile?n("UiButton",{on:{click:function(t){return e.expandMenu("navMenu")}}},[e._v("Just look around")]):e._e()],1)]),n("WelcomeText",{staticClass:"readme"})],1)},Rt=[],Vt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("h2",[e._v("What’s this all about?")]),n("p",[e._v("Test your local or remote fonts with the proofing tool developed by a type designer, for type designers. Check out kerning, OpenType features, and language coverage. Explore and animate variation axes in variable fonts.")]),e._m(0),e._m(1),n("h2",[e._v("Available formatting options")]),e._m(2),n("h2",[e._v("Text collection")]),e._m(3),e._m(4),n("p",[e._v("The selection of languages and texts is arbitrary and limited, but contributions are welcome. Currently the focus is on languages written with Latin and Cyrillic.")]),n("h2",[e._v("Kerning tester")]),n("p",[e._v("The "),n("router-link",{attrs:{to:"/kerning"}},[e._v("Kerning tab")]),e._v(" has a kerning string generator. A couple of kerning patterns are predefined and more can be created on the fly. "),n("router-link",{attrs:{to:"/help/kerning"}},[e._v("See kerning generator help.")])],1),n("h2",[e._v("Playground & Animation")]),n("p",[e._v("Any open text sample can be edited. In the "),n("router-link",{attrs:{to:"/editor"}},[e._v("editor tab")]),e._v(" some more options are available: setting bold and italic (with separately selectable fonts), as well as taking snapshots of the settings and using them as animation keyframes — can be useful for recording gifs or videos, or toggling multiple features on and off more quickly. "),n("router-link",{attrs:{to:"/help/animation"}},[e._v("See animation editor help.")])],1),n("h2",[e._v("Preload a remote font")]),n("p",[e._v("If you want to share a link to a specific tab and automatically load a remote font, you can add a query parameter with the URL of your font file — like "),n("code",[e._v("?preload=https://example.com/Font.ttf")]),e._v(" — to the end of the page URL. "),n("router-link",{attrs:{to:"/help/query-string"}},[e._v("See preloading custom fonts help.")])],1)])},Gt=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v("To begin, load font files via drag’n’drop or by pasting a URL. The fonts’ OpenType features and variation axes will be automatically detected. Everything is processed locally in the browser, using "),n("a",{attrs:{href:"https://github.com/opentypejs/opentype.js"}},[e._v("OpenType.js")]),e._v(".")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v("Or if you don't have any font files handy, look around and test the included fonts: "),n("a",{attrs:{href:"https://github.com/huertatipografica/Alegreya-Sans"}},[e._v("Alegreya Sans")]),e._v(" by Juan Pablo del Peral, "),n("a",{attrs:{href:"https://github.com/etunni/Graduate-Variable-Font"}},[e._v("Graduate")]),e._v(" Variable Font by Eduardo Tunni, and my own Rywalka (work-in-progress).")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",[n("li",[e._v("Changing font size, line height, text alignment, text case transform, text and background colors.")]),n("li",[e._v("Toggling OpenType features on and off.")]),n("li",[e._v("Choosing localization language from the list of languages built into the font.")]),n("li",[e._v("Manipulating OpenType Variation axes.")])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v("The multilingual texts and language metadata powering this project are maintained in their own repository and npm package "),n("a",{attrs:{href:"https://github.com/hyvyys/language-data"}},[e._v("language-data")]),e._v(". Several kinds of texts are included:")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",[n("li",[e._v("ordinary sentences,")]),n("li",[e._v("pangrams,")]),n("li",[e._v("lettering samples — defined as sets of A-Z words preferably repeating the initial letter within),")]),n("li",[n("em",[e._v("gotchas")]),e._v(" — edge cases characteristic to the given language, things to look out for when desigining a typeface.")])])}],Wt={},qt=Object(m["a"])(Wt,Vt,Gt,!1,null,null,null),Jt=qt.exports;function Zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Yt(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:"\\",a=new RegExp(kn(n)+"$"),i=[],r=[],o="";e.split("").forEach((function(e){e!==t||a.test(o)?o+=e:(r.push(o),o="")})),r.push(o);var s=new RegExp(kn(n)+kn(t),"g");return r=r.map((function(e){return e.replace(s,t)})),[].push.apply(i,r),i}var wn=function(){function e(){Object(xe["a"])(this,e)}return Object(we["a"])(e,null,[{key:"parseSequences",value:function(e){e=e.replace(/^\|/,"").replace(/\|$/,"");var t=xn(e,"|");return t}},{key:"parseClosure",value:function(e){var t=xn(e,"_");return t}},{key:"sets",value:function(e){var t=this,n=[],a=[];return e.forEach((function(e){if(/^@/.test(e)){e=e.replace(/^@/,""),e=e.replace(/\\@/g,"@");var i=[],r="_|\\",o=r.split("").map((function(e){return kn("\\"+e)})).join("|"),s="([^".concat(kn(r),"]*|").concat(o,")*"),l=new RegExp("^\\|(".concat(s,"_").concat(s,"\\|)+$"));i=l.test(e)?t.parseSequences(e).map((function(e){return t.parseClosure(e)})):Array.from(e.matchAll(/(.)(.)/g)).map((function(e){return[e[1],e[2]]})),a.push(i)}else if(e=e.replace(/\\@/g,"@"),/^\|.+\|$/.test(e))n.push(t.parseSequences(e));else{var c=[],u=e.matchAll(/([^\\])-(.)/g);Array.from(u).forEach((function(e){var t=Object(Tn["a"])(e,3),n=t[1],a=t[2];[].push.apply(c,bn(n,a))})),e=e.replace(/([^\\])-(.)/g,"");var g=e.replace(/\\-/g,"-").split("");[].push.apply(c,g),n.push(c)}})),{sets:n,closures:a}}},{key:"kerningString",value:function(e){var t=e.sets.filter((function(e){return e.length}));t=JSON.parse(JSON.stringify(t));var n=Sn.apply(void 0,Object(x["a"])(t)),a=[],i=n[0][0]||"",r="";function o(t){e.closures.length||(t+=i),e.closures.length||(t=t.replace(/(.)\1{2,}/g,"$1$1")),a.push(t)}return n.filter((function(e){return e.length})).forEach((function(t){t[0]!==i&&(o(r),r="",i=t[0]);var n=t.join("");if(e.closures.length){var a=e.closures.map((function(e){return e.map((function(e){return e[0]}))})),s=e.closures.map((function(e){return e.map((function(e){return e[1]}))})),l=Sn.apply(void 0,Object(x["a"])(a)).map((function(e){return e.reverse().join("")})),c=Sn.apply(void 0,Object(x["a"])(s)).map((function(e){return e.join("")})),u=l.map((function(e,t){return[e,c[t]]}));n=u.map((function(e){return"".concat(e[0]).concat(n).concat(e[1])})).join(" ")+" "}r+=n})),o(r),a}}]),e}(),On=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kerning-editor panel"},[n("transition-group",{staticClass:"fade-transition-group",attrs:{name:"fade",tag:"div"}},[n("div",{key:"title",staticClass:"row"},[n("h3",[e._v("\n Pattern segments\n ")]),n("UiIconButton",{key:"btnAdd",attrs:{color:"primary",size:"small"},on:{click:function(t){return e.$emit("addKerningSegment")}}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"}}),n("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1),e._l(e.segments,(function(t,a){return n("div",{key:"segment-"+t.key,staticClass:"row segment-row"},[n("UiSelect",{ref:"segmentSelects",refInFor:!0,attrs:{options:e.builtInSegmentCharacters,dropdownClass:"kerning-segment-select",dropdownPosition:"bottom-end",placeholder:"type or choose",autocomplete:!0},on:{input:function(t){return e.$emit("updateKerningPattern")}},scopedSlots:e._u([{key:"option",fn:function(t){return[n("kbd",[e._v(e._s(t.option||" "))])]}}],null,!0),model:{value:e.segments[a].characters,callback:function(t){e.$set(e.segments[a],"characters",t)},expression:"segments[i].characters"}}),n("UiIconButton",{key:"btnRemove",staticClass:"border",attrs:{color:"default",size:"small"},on:{click:function(t){return e.$emit("removeKerningSegment",a)}}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{d:"M19 13H5v-2h14v2z",fill:"currentColor"}}),n("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1)}))],2)],1)},_n=[],Cn=["0-9","A-Z","a-z","А-Я","а-я","Α-ΡΣ-Ω","α-ω","A-Za-z0-9","FPTVWYfrvwy","aáàâåäãæbcçdðeéèêëfghiíìîïjklmnñoóòôöõøpqrstuúùûüvwxyýÿzþ","aáàăâåäãąāæbcćĉčċçdďđðeéèĕêěëėęēfgğĝġģhĥħiíìĭîïĩįīijıjĵkķlĺľļłŀmnńňñņŋoóòŏôöőõøōœpqĸrŕřŗsśŝšştťţŧuúùŭûůüűũųūvwŵxyýŷÿÿzźžżþ",",.",";:","-–—+","|fi|fj|fl|ff|ffi|ffl|fb|fh|fk|ft|","@¡!¿?","@“”‘’","@“”„”„“””","@|“_,”|”_”:|„_”,|„_“.|","@\"\"''","@()[]{}<>"],Pn={components:{UiIconButton:ze["a"],UiSelect:G},props:{segments:{type:Array,default:function(){return[]}}},data:function(){return{builtInSegmentCharacters:[""].concat(Object(x["a"])(Cn))}},watch:{segments:function(){var e=Object(ae["a"])(regeneratorRuntime.mark((function e(t,n){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!this.$refs.segmentSelects||!this.$refs.segmentSelects.length){e.next=6;break}return e.next=3,this.$nextTick();case 3:a=0,n.length>0&&(a=this.$refs.segmentSelects.length-1),this.$refs.segmentSelects[a]&&this.$refs.segmentSelects[a].focus();case 6:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},mounted:function(){this.$refs.segmentSelects&&this.$refs.segmentSelects.length&&this.$refs.segmentSelects[0]&&this.$refs.segmentSelects[0].focus()},updated:function(){}},Fn=Pn,jn=(n("2b56"),Object(m["a"])(Fn,On,_n,!1,null,"7f7c4944",null)),An=jn.exports,Ln=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},Kn=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("p",[e._v("Kerning strings can be generated in the "),n("a",{attrs:{href:"/kerning"}},[e._v("Kerning tab")]),e._v(". Each string is defined using a "),n("strong",[e._v("pattern")]),e._v(" consisting of character sets called "),n("strong",[e._v("segments")]),e._v(".")]),n("p",[n("strong",[e._v("Regular segments")]),e._v(" are sets of letters, characters, or words that will be interpolated to create the kerning string. There are two kinds of regular segments:")]),n("ul",[n("li",[e._v("Single-character segments, e.g. "),n("code",[e._v("A-Za-ząćę")]),e._v(".")]),n("li",[e._v("Multi-character segments, e.g. "),n("code",[e._v("|fi|fj|fl|")]),e._v(".")])]),n("p",[n("strong",[e._v("Closure segments")]),e._v(" start with an at "),n("code",[e._v("@")]),e._v(" and are used to surround the interpolated substrings with extra characters, typically punctuation. These also come in two flavors:")]),n("ul",[n("li",[e._v("Single character closures, e.g. "),n("code",[e._v("@()[]{}")]),e._v(". Characters after "),n("code",[e._v("@")]),e._v(" are treated as opening–closing pairs.")]),n("li",[e._v("Multiple character closures, e.g. "),n("code",[e._v("@|“_”.|“_.”|“_”,|“_,”|")]),e._v(". Anything before the underscore "),n("code",[e._v("_")]),e._v(" is treated as prefix, everything after — as suffix. Either can be empty, e.g. "),n("code",[e._v("@|_,|")]),e._v(" is a suffix-only closure.")])]),n("p",[e._v("Multiple closure segments can be combined. A pattern of the following segments:")]),n("blockquote",[n("p",[n("code",[e._v("abc")]),n("br"),n("code",[e._v("@“”‘’")]),n("br"),n("code",[e._v("@()")])])]),n("p",[e._v("will yield "),n("code",[e._v("(“a”) (‘a’) (“b”) (‘b’) (“c”) (‘c’)")]),e._v(".")]),n("h2",[e._v("Summary")]),n("p",[e._v("The segment syntax has just five special characters:")]),n("ul",[n("li",[e._v("at "),n("code",[e._v("@")]),e._v(" (only at the beginning of segment) — begins a closure segment,")]),n("li",[e._v("hyphen "),n("code",[e._v("-")]),e._v(" — signifies character range,")]),n("li",[e._v("pipe "),n("code",[e._v("|")]),e._v(" — delimits words or closures,")]),n("li",[e._v("underscore "),n("code",[e._v("_")]),e._v(", — separates closure prefix and suffix,")]),n("li",[e._v("and backslash "),n("code",[e._v("\\")]),e._v(" — escapes the above (and itself), e.g. "),n("code",[e._v("@|\\|_\\|\\_|")]),e._v(" means a closure segment with a "),n("code",[e._v("|")]),e._v(" prefix and "),n("code",[e._v("|_")]),e._v(" suffix.")])])])}],In={},En=Object(m["a"])(In,Ln,Kn,!1,null,null,null),Bn=En.exports,Mn={components:{Kerning:Bn,KerningEditor:An},data:function(){return{segments:[],key:0}},computed:{kerningStringLines:function(){var e=this.segments.map((function(e){return e.characters})),t=wn.sets(e),n=t.sets,a=t.closures,i={segments:e,sets:n,closures:a};return wn.kerningString(i)}},mounted:function(){this.addKerningSegment(null,"A-Z"),this.addKerningSegment(null,"aeiou")},methods:{addKerningSegment:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.segments.push({key:this.getKey(),characters:t})},getKey:function(){return++this.key},removeKerningSegment:function(e){this.segments.splice(e,1)}}},Un=Mn,Dn=(n("2d2b"),Object(m["a"])(Un,vn,yn,!1,null,"7273fa36",null)),Nn=Dn.exports,Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"help-topic"},[n("div",{staticClass:"help"},[n("div",{staticClass:"reading"},[n("h2",{staticClass:"help-heading"},[n("router-link",{attrs:{to:"/help"}},[e._v("Help / ")]),e._v("Animation editor\n ")],1),n("Animation")],1)]),n("div",{staticClass:"example"})])},$n=[],zn=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},Rn=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("p",[e._v("In the "),n("a",{attrs:{href:"/editor"}},[e._v("Editor tab")]),e._v(", the right side Contextual sidebar provides a simple animation editor. At any time a frame can be added to take a snapshot of the current settings from the left side Settings sidebar. Most settings are animatable, including continuous settings like Variation Axes, font size and color, as well as discrete settings like OpenType features. Currently a few settings remain unanimated: text align and text case transform.")])])}],Vn={},Gn=Object(m["a"])(Vn,zn,Rn,!1,null,null,null),Wn=Gn.exports,qn={components:{Animation:Wn}},Jn=qn,Zn=Object(m["a"])(Jn,Hn,$n,!1,null,"3498f484",null),Yn=Zn.exports,Qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"help-topic"},[n("div",{staticClass:"help"},[n("div",{staticClass:"reading"},[n("h2",{staticClass:"help-heading"},[n("router-link",{attrs:{to:"/help"}},[e._v("Help / ")]),e._v("Preloading custom fonts\n ")],1),n("QueryString")],1)]),n("div",{staticClass:"example"})])},Xn=[],ea=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},ta=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("p",[e._v("Parameters in the URL query string can be used to load custom fonts hosted elsewhere online and then share the result with others. For example, "),n("a",{attrs:{href:"/glyphs?preload=/fonts/Rywalka-Regular.ttf",target:"_blank"}},[e._v("here’s the glyphs tab with Rywalka loaded")]),e._v(" (opens in a new tab).")]),n("p",[e._v("To do this, add a "),n("code",[e._v("preload")]),e._v(" query parameter with the URL of your font file, for example "),n("code",[e._v("?preload=https://example.com/Font.ttf")]),e._v(", to the end of the page URL.")]),n("p",[e._v("You can even add multiple files by separating each parameter with "),n("code",[e._v("&")]),e._v(", for example "),n("code",[e._v("?preload=URL1&preload=URL2&preload=URL3")]),e._v(".")]),n("p",[e._v("When preloading mutliple font URLs, you can set an additional "),n("code",[e._v("f")]),e._v(" parameter with the name of the font to display by default. The other fonts will be available from the drop-down fonts menu. Here’s a full example:")]),n("pre",[n("code",[e._v("https://bulletproof.italic.space/ABCs?preload=https://bulletproof.italic.space/fonts/Rywalka-\nRegular.ttf&preload=https://bulletproof.italic.space/fonts/Graduate.ttf&f=Rywalka\n")])]),n("p",[e._v("This will open the ABCs tab, preload Rywalka and Graduate to the fonts menu, and set Rywalka as the initially displayed font.")]),n("hr"),n("h3",[e._v("Notes")]),n("ul",[n("li",[e._v("Your font must be served over HTTPS, otherwise it will fail to load.")]),n("li",[e._v("Currently Bulletproof supports loading TTF, OTF, and WOFF font files, but not WOFF2.")])])])}],na={},aa=Object(m["a"])(na,ea,ta,!1,null,null,null),ia=aa.exports,ra={components:{QueryString:ia}},oa=ra,sa=Object(m["a"])(oa,Qn,Xn,!1,null,null,null),la=sa.exports,ca=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"font-tester",style:"padding-top: "+("fontMenu"===this.expandedMenu?"90px":0)+";"},[n("transition",{attrs:{name:"fade-slow",mode:"in-out"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:!e.fontLoading,expression:"!fontLoading"}],staticClass:"font-tester-content"},[n("Pinnable",{staticClass:"site-sidebar sidebar-settings left",attrs:{title:"Settings",isPinned:e.isPinned,isVisible:e.settingsPanelVisible,trigger:"#settings-trigger"},on:{toggle:function(t){return e.$store.commit("toggleSettingsPanel")},hide:function(t){return e.$store.commit("toggleSettingsPanel",{value:!1})}}},[n("Settings")],1),"languages"===e.selectedSampleKey?n("LanguageSupportSummary",{attrs:{languageSupport:"languageSupport"}}):n("TesterBody",{staticClass:"main",attrs:{texts:e.fontSampleTexts,isCustom:"custom"===e.selectedTextKind},on:{update:function(t){return e.modifyText(t)}}}),n("Pinnable",{staticClass:"site-sidebar sidebar-nav right",attrs:{title:e.navElementTitle,isPinned:e.isPinned,isVisible:e.contextualPanelVisible,scrolled:!1,trigger:"#nav-trigger"},on:{toggle:function(t){return e.$store.commit("toggleContextualPanel")},hide:function(t){return e.$store.commit("toggleContextualPanel",{value:!1})}}},[n("div",{staticClass:"transition-wrapper u-flex-v",staticStyle:{overflow:"hidden"}},[n("transition",{attrs:{name:"swap"}},[n(e.navElement,{key:e.navElementTitle,tag:"component"})],1)],1)])],1)])],1)},ua=[],ga=function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.forceInvisible&&e.isVisible?n("div",{class:"\n pinnable "+(e.pinned?"pinned":"")+"\n "+(!e.footerVisible&&e.sticky?"sticky":"")+"\n "+(e.footerNear?"footer-near":"")+"\n "+(e.footerNearer?"footer-nearer":"")+"\n "+(e.triggerHover?"trigger-hover":"")+"\n "+(e.scrolled?"pinnable-scrolled":"")+"\n "},[e.title?n("div",{staticClass:"titlebar"},[n("h2",[e._v(e._s(e.title))]),n("UiIconButton",{class:"pin "+(e.pinned?"active":""),attrs:{size:"small"},on:{click:e.togglePinPanel}},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{fill:"currentColor",d:"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z"}})])])],1):e._e(),e.scrolled?n("div",{staticClass:"content"},[n("div",{ref:"scrolled",class:"scrolled "+(e.disableOverscroll?"disable-overscroll":""),on:{wheel:e.onWheel}},[e._t("default")],2)]):e._t("default")],2):e._e()},pa=[];function ma(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ha(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:3,a=0,i=e;while(null!=i&&a<=n){if(t(i))return i;i=i.parentNode,a++}return null}var fa={name:"Pinnable",components:{UiIconButton:ze["a"]},props:{title:{type:String},isPinned:{type:Boolean,default:!0},scrolled:{type:Boolean,default:!0},side:{type:String,default:"left"},isVisible:{type:Boolean,default:!0},disableOverscroll:{type:Boolean,default:!0},trigger:String,forceInvisible:{type:Boolean,default:!1},scrollSyncStartEvent:{type:String,default:"scrollSyncStart"},scrollSyncEndEvent:{type:String,default:"scrollSyncEnd"}},data:function(){return{storedScrollPosition:0,pinned:this.isPinned,lastHeight:0,width:null,triggerHover:!1}},computed:ha({},Object(b["e"])({sticky:function(e){return e.layout.sticky},footerVisible:function(e){return e.layout.footerVisible},footerSentinelVisibleRatio:function(e){return e.layout.footerSentinelVisibleRatio}}),{footerNear:function(){return this.footerSentinelVisibleRatio>0},footerNearer:function(){return this.footerSentinelVisibleRatio>.5}}),watch:{sticky:function(){var e=this;this.$refs.vb&&(setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),50),setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),100),setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),250))}},mounted:function(){this.init()},destroyed:function(){this.cleanup()},methods:{init:function(){this.trigger&&(this.getTriggerElement().addEventListener("mouseenter",this.onTriggerMouseEnter),this.getTriggerElement().addEventListener("mouseleave",this.onTriggerMouseLeave))},cleanup:function(){this.trigger&&(this.getTriggerElement().removeEventListener("mouseenter",this.onTriggerMouseEnter),this.getTriggerElement().removeEventListener("mouseleave",this.onTriggerMouseLeave))},onTriggerMouseEnter:function(){this.triggerHover=!0},onTriggerMouseLeave:function(){this.triggerHover=!1},onWheel:function(e){this.disableOverscroll&&e.stopPropagation()},toggle:function(){this.$emit("toggle")},hide:function(){this.$emit("hide")},getTriggerElement:function(){return document.querySelector(this.trigger)},mysteriousClick:function(e){var t=this.getTriggerElement().contains(e.target);if(!this.pinned&&this.isVisible&&!t){var n=e.target,a=da(n,(function(e){return"A"===e.tagName}),3),i=!!a&&a.getAttribute("href").startsWith("#");this.$el.contains(e.target)&&!i||this.hide()}},initScrollSync:function(){var e=this;this.$on(this.scrollSyncStartEvent,(function(){e.storedScrollPosition=e.$refs.scrolled.scrollTop})),this.$on(this.scrollSyncEndEvent,(function(){e.$refs.scrolled.scrollTop=e.storedScrollPosition}))},togglePinPanel:function(){this.pinned=!this.pinned}}},va=fa,ya=(n("e94f"),Object(m["a"])(va,ga,pa,!1,null,"82a5684e",null)),Ta=ya.exports,ba=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"settings"},[n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Font size")]),n("UiNumber",{ref:"settingFontSize",attrs:{value:e.settings.fontSize,min:e.settings.minFontSize,max:e.settings.maxFontSize,step:e.settings.fontSizeStep,clickStep:e.settings.fontSizeClickStep},on:{input:function(t){return e.updateSetting("updateSettings",{fontSize:t})}}}),n("UiSelect",{ref:"settingFontSizeUnit",staticClass:"const3ch fontSizeUnitSelect",attrs:{value:e.settings.fontSizeUnit,options:e.settings.fontSizeUnitOptions},on:{input:function(t){return e.updateSetting("updateSettings",{fontSizeUnit:t})}}})],1),n("div",{staticClass:"row busy"},[n("UiTextbox",{ref:"settingWaterfallSizes",attrs:{value:e.settings.waterfallSizes,disabled:!e.settings.enableWaterfall},on:{input:function(t){return e.updateSetting("updateSettings",{waterfallSizes:t})}}}),n("UiCheckbox",{ref:"settingEnableWaterfall",staticClass:"checkbox-small",attrs:{value:e.settings.enableWaterfall},on:{input:function(t){return e.updateSetting("updateSettings",{enableWaterfall:t})}}},[e._v("waterfall")])],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Line height")]),n("UiNumber",{ref:"settingLineHeight",attrs:{value:e.settings.lineHeight,min:e.settings.minLineHeight,max:e.settings.maxLineHeight,step:e.settings.lineHeightStep,clickStep:e.settings.lineHeightClickStep,disabled:!e.settings.enableLineHeight},on:{input:function(t){return e.updateSetting("updateSettings",{lineHeight:t})}}}),n("UiCheckbox",{ref:"settingDefaultLineHeight",staticClass:"checkbox-small",attrs:{value:e.settings.enableLineHeight},on:{input:function(t){return e.updateSetting("updateSettings",{enableLineHeight:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Tracking")]),n("UiNumber",{ref:"settingTracking",attrs:{value:e.settings.tracking,min:e.settings.minTracking,max:e.settings.maxTracking,step:e.settings.trackingStep,clickStep:e.settings.trackingClickStep,disabled:!e.settings.enableTracking},on:{input:function(t){return e.updateSetting("updateSettings",{tracking:t})}}}),n("UiCheckbox",{ref:"settingDefaultTracking",staticClass:"checkbox-small",attrs:{value:e.settings.enableTracking},on:{input:function(t){return e.updateSetting("updateSettings",{enableTracking:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Word spacing")]),n("UiNumber",{attrs:{value:e.settings.wordSpacing,min:e.settings.minWordSpacing,max:e.settings.maxWordSpacing,step:e.settings.wordSpacingStep,clickStep:e.settings.wordSpacingStep,disabled:!e.settings.enableWordSpacing},on:{input:function(t){return e.updateSetting("updateSettings",{wordSpacing:t})}}}),n("UiCheckbox",{staticClass:"checkbox-small",attrs:{value:e.settings.enableWordSpacing},on:{input:function(t){return e.updateSetting("updateSettings",{enableWordSpacing:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Text align")]),n("UiSelect",{ref:"settingTextAlign",attrs:{value:e.settings.textAlign,options:e.settings.textAlignOptions},on:{input:function(t){return e.updateSetting("updateSettings",{textAlign:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Text color")]),n("UiColorPicker",{ref:"settingTextColor",attrs:{value:e.settings.textColor},on:{input:function(t){return e.updateSetting("updateSettings",{textColor:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Back color")]),n("UiColorPicker",{ref:"settingBackgroundColor",attrs:{value:e.settings.backgroundColor},on:{input:function(t){return e.updateSetting("updateSettings",{backgroundColor:t})}}})],1),n("div",{staticClass:"row busy"},[n("label",{staticClass:"row-label"},[e._v("Transform")]),n("UiSelect",{ref:"settingTextTransform",attrs:{value:e.settings.textTransform,options:e.settings.textTransformOptions},on:{input:function(t){return e.updateSetting("updateSettings",{textTransform:t})}}}),n("UiCheckbox",{ref:"settingEnableTextTransform",staticClass:"checkbox-small",attrs:{value:e.settings.enableTextTransform},on:{input:function(t){return e.updateSetting("updateSettings",{enableTextTransform:t})}}})],1),n("div",{staticClass:"row row-check"},[n("UiCheckbox",{ref:"settingWrapLines",attrs:{label:"Break-word",value:e.settings.wrapLines},on:{input:function(t){return e.updateSetting("updateSettings",{wrapLines:t})}}})],1),e.capFeatures.length>0?n("h3",[e._v("Caps")]):e._e(),n("div",{staticClass:"setting-group"},e._l(e.capFeatures,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGsubFeature",{tag:t.tag,value:n})}}},[e._v(e._s(t.name))])],1)})),0),e.localization?n("h3",{staticClass:"row-select-header"},[e._v("Localization")]):e._e(),e.localization?n("div",{staticClass:"setting-group"},[n("div",{staticClass:"row row-select"},[n("UiSelect",{attrs:{value:e.localizationLanguage,options:e.localizationLanguages,keys:e.loclSelectKeys,placeholder:"select language",invalid:e.isLocalizationInvalid,disabled:e.onGotchasTab},on:{input:function(t){return e.updateSetting("updateLoclFeature",{selectedLanguage:t})}},scopedSlots:e._u([{key:"option",fn:function(t){return n("div",{staticClass:"locl-select__option"},[n("div",{staticClass:"name"},[e._v(e._s(t.option.name))]),t.option.name!==t.option.tag?n("div",{staticClass:"tag"},[e._v("("+e._s(t.option.tag)+")")]):e._e()])}}],null,!1,3090818932)}),n("UiCheckbox",{staticClass:"checkbox-small",attrs:{value:e.localization.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:"locl",value:t})}}})],1)]):e._e(),e.numberFeatures.length>0?n("h3",[e._v("Numbers")]):e._e(),n("div",{staticClass:"setting-group"},[n("div",{staticClass:"row"},[e.pnum&&e.tnum?n("UiRadioGroup",{attrs:{name:"figureWidth",options:e.figureWidths,vertical:!0},model:{value:e.figureWidth,callback:function(t){e.figureWidth=t},expression:"figureWidth"}}):e._e(),e.lnum&&e.onum?n("UiRadioGroup",{attrs:{name:"figureHeight",options:e.figureHeights,vertical:!0},model:{value:e.figureHeight,callback:function(t){e.figureHeight=t},expression:"figureHeight"}}):e._e()],1),e._l(e.numberFeatures,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGsubFeature",{tag:t.tag,value:n})}}},[e._v(e._s(t.name))])],1)}))],2),e.stylisticSets.length>0?n("h3",[e._v("Stylistic Sets")]):e._e(),n("div",{staticClass:"setting-group"},e._l(e.stylisticSets,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGsubFeature",{tag:t.tag,value:n})}}},[t.uiName?[n("strong",[e._v(e._s(t.tag))]),e._v(" "+e._s(t.uiName))]:[e._v(e._s(t.name))]],2)],1)})),0),e.characterVariants.length>0?n("h3",[e._v("Character Variants")]):e._e(),n("div",{staticClass:"setting-group"},e._l(e.characterVariants,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGsubFeature",{tag:t.tag,value:n})}}},[t.uiName?[n("strong",[e._v(e._s(t.tag))]),e._v(" "+e._s(t.uiName))]:[e._v(e._s(t.name))]],2)],1)})),0),e.otherGsub.length>0?n("h3",[e._v("Other GSUB")]):e._e(),n("div",{staticClass:"setting-group"},e._l(e.otherGsub,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGsubFeature",{tag:t.tag,value:n})}}},[e._v(e._s(t.name))])],1)})),0),e.activeGpos.length>0?n("h3",[e._v("GPOS")]):e._e(),n("div",{staticClass:"setting-group"},e._l(e.activeGpos,(function(t,a){return n("div",{key:a,staticClass:"row"},[n("UiCheckbox",{attrs:{value:t.value},on:{input:function(n){return e.updateSetting("updateGposFeature",{tag:t.tag,value:n})}}},[e._v(e._s(t.name))])],1)})),0),n("h3",[e._v("Variation axes")]),n("div",{staticClass:"setting-group"},[0===e.variationAxes.length?n("div",{staticClass:"notice"},[e._v("\n The selected font is not variable.\n ")]):e._e(),e._l(e.variationAxes,(function(t,a){return n("div",{key:a},[n("div",{staticClass:"row",staticStyle:{"align-items":"center"}},[n("UiCheckbox",{staticStyle:{"margin-bottom":"0","margin-right":".8em"},attrs:{label:t.displayName,value:t.enabled},on:{input:function(n){return e.updateSetting("updateVariationAxis",{tag:t.tag,enabled:n})}}}),n("UiNumber",{attrs:{value:t.value,min:t.minValue,max:t.maxValue,step:1},on:{input:function(n){return e.updateSetting("updateVariationAxis",{tag:t.tag,value:n})}}}),n("UiButton",{staticClass:"tiny",on:{click:function(n){return e.updateSetting("updateVariationAxis",{tag:t.tag,value:t.defaultValue})}}},[e._v("\n ⭯\n ")])],1),n("div",{staticClass:"row",staticStyle:{padding:".5em 0.3em .7em"}},[n("UiSlider",{staticStyle:{flex:"2"},attrs:{value:t.value,min:t.minValue,max:t.maxValue,step:1,snapToStep:!0,showMarker:!1},on:{input:function(n){return e.updateSetting("updateVariationAxis",{tag:t.tag,value:n})}}})],1)])}))],2)])},Sa=[],ka=(n("6762"),n("2fdb"),n("f576"),n("6c7b"),n("3d86")),xa=n("40c39"),wa=n("cc32"),Oa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ui-textbox ui-number",class:e.classes,on:{dblclick:function(e){e.preventDefault()}}},[e.icon||e.$slots.icon?n("div",{staticClass:"ui-textbox__icon-wrapper"},[e._t("icon",[n("ui-icon",{attrs:{icon:e.icon}})])],2):e._e(),n("div",{staticClass:"ui-textbox__content"},[n("label",{staticClass:"ui-textbox__label"},[n("div",{staticClass:"ui-textbox__input-wrapper"},[n("input",{directives:[{name:"autofocus",rawName:"v-autofocus",value:e.autofocus,expression:"autofocus"}],ref:"input",staticClass:"ui-textbox__input",attrs:{autocomplete:e.autocomplete?e.autocomplete:null,disabled:e.disabled,inputmode:"decimal",max:e.maxValue,maxlength:e.enforceMaxlength?e.maxlength:null,minlength:e.minlength,min:e.minValue,name:e.name,number:"number"===e.type||null,placeholder:e.hasFloatingLabel?null:e.placeholder,readonly:e.readonly,required:e.required,tabindex:e.tabindex},domProps:{value:null!=e.displayedText?e.displayedText:e.value},on:{blur:e.onBlur2,focus:e.onFocus,change:function(t){return e.updateValue(t.target.value)},input:function(t){return e.updateValue(t.target.value)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onKeydownEnter(t)},e.onKeydown,function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:function(t){return e.increment(1,t)}(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:function(t){return e.increment(-1,t)}(t)}]}}),n("UiIconButton",{staticClass:"ui-number__button up ui-select__dropdown-button",attrs:{disabled:e.disabled},nativeOn:{mousedown:function(t){return e.startIncrement(t)},mouseleave:function(t){return e.endIncrementDecrement(t)},mouseup:function(t){return e.endIncrementDecrement(t)}}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"}},[n("path",{attrs:{transform:"translate(0 24) scale(1 -1) translate(0 -1)",d:"M6.984 9.984h10.03L12 15z"}})])]),n("UiIconButton",{staticClass:"ui-number__button down ui-select__dropdown-button",attrs:{disabled:e.disabled},nativeOn:{mousedown:function(t){return e.startDecrement(t)},mouseleave:function(t){return e.endIncrementDecrement(t)},mouseup:function(t){return e.endIncrementDecrement(t)}}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"}},[n("path",{attrs:{transform:"translate(0 -1)",d:"M6.984 9.984h10.03L12 15z"}})])])],1),e.label||e.$slots.default?n("div",{staticClass:"ui-textbox__label-text",class:e.labelClasses},[e._t("default",[e._v(e._s(e.label))])],2):e._e()]),e.hasFeedback||e.maxlength?n("div",{staticClass:"ui-textbox__feedback"},[e.showError?n("div",{staticClass:"ui-textbox__feedback-text"},[e._t("error",[e._v(e._s(e.error))])],2):e.showHelp?n("div",{staticClass:"ui-textbox__feedback-text"},[e._t("help",[e._v(e._s(e.help))])],2):e._e(),e.maxlength?n("div",{staticClass:"ui-textbox__counter"},[e._v(e._s(e.valueLength+"/"+e.maxlength))]):e._e()]):e._e()])])},_a=[],Ca=(n("2e37"),n("4128")),Pa={name:"UiNumber",components:{UiIconButton:ze["a"]},extends:F["a"],props:{value:{type:Number,default:1},step:{type:Number,default:1},clickStep:{type:Number,default:1},clickStepFunction:{type:Function,default:null},minlength:{type:Number,default:-1}},data:function(){return{displayedText:null,tryValue:null,incrementTimeout:null}},computed:{stringValue:function(){return this.tempValue.toLocaleString()},_clickStep:function(){return this.clickStepFunction?this.clickStepFunction(this.value):this.clickStep}},watch:{value:function(e){this.coerceValue(e)},min:function(e){this.valuee&&this.updateValue(e)},step:function(){this.roundedToStep()!==this.value&&this.updateValue(this.roundedToStep())}},methods:{updateValue:function(e){var t=String(e),n=Number(t.replace(",","."));if(!isNaN(n)&&!/[.,]$/.test(t)){var a=this.correctValue(n);this.$emit("input",a)}},coerceValue:function(e){var t=this.correctValue(e);Math.abs(e-t)0&&void 0!==arguments[0]?arguments[0]:this.value;return new Ca(e).toNearest(this.step).toNumber()},roundedToClickStep:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.value;return new Ca(e).toNearest(this._clickStep).toNumber()},getSteps:function(e){return e<2?1:Math.ceil(.1*this.value/this._clickStep)},getDelay:function(e){return e<2?200:100},increment:function(e,t){e*=t?t.ctrlKey?100:t.shiftKey?10:1:1,this.updateValue(this.roundedToClickStep()+e*this._clickStep)},decrement:function(e){this.updateValue(this.roundedToClickStep()-e*this._clickStep)},startIncrement:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.getSteps(n);this.increment(a),this.incrementTimeout=setTimeout((function(){return t.startIncrement(e,n+1)}),this.getDelay(n))},startDecrement:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.getSteps(n);this.decrement(a),this.incrementTimeout=setTimeout((function(){return t.startDecrement(e,n+1)}),this.getDelay(n))},endIncrementDecrement:function(){clearTimeout(this.incrementTimeout)}}},Fa=Pa,ja=(n("20a2"),Object(m["a"])(Fa,Oa,_a,!1,null,"7af82180",null)),Aa=ja.exports,La=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ui-color-picker popover-trigger"},[n("div",{staticClass:"swatch",style:"background-color: "+e.value},[e._v(" ")]),n("ui-textbox",{ref:"input",attrs:{label:e.label,icon:e.icon,help:e.help},on:{input:e.updateFromInput},model:{value:e.textValue,callback:function(t){e.textValue=t},expression:"textValue"}}),n("ui-popover",{ref:"popover",staticClass:"popover",attrs:{position:"bottom-start",constrainToScrollParent:!1},on:{reveal:function(t){return e.$refs.input.focus()}}},[n("sketch-picker",{attrs:{value:e.colorValue,disableFields:!0},on:{input:e.updateFromPicker}})],1)],1)},Ka=[],Ia=n("ecb1");function Ea(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ba(e){for(var t=1;t1?n("div",{staticClass:"font-size-label"},[e._v(e._s(t))]):e._e(),n("div",{ref:"content",refInFor:!0,staticClass:"font-sample-content-inner",style:{"font-size":""+t+e.settings.fontSizeUnit},attrs:{contenteditable:"",spellcheck:"false"},on:{input:e.onInput,focus:e.onFocus}})])})),0):e._l(e.texts,(function(t,a){return n("div",{key:a},["gotchas"===e.selectedSampleKey?n("GotchaHeader",{attrs:{header:t.header}}):t.header&&t.header.language?n("SampleHeader",{attrs:{header:t.header}}):e._e(),e._l(t.texts,(function(a,i){return n("FontSample",{key:i,attrs:{lang:e.selectedLoclLanguage||t.header&&t.header.htmlTag}},e._l(e.fontSizes,(function(i,r){return n("div",{key:r,staticClass:"sample-paragraph"},[e.fontSizes.length>1?n("div",{staticClass:"font-size-label"},[e._v(e._s(i))]):e._e(),n("div",{style:{"font-size":""+i+e.settings.fontSizeUnit},attrs:{contenteditable:e.isContentEditable,spellcheck:"false"},domProps:{innerHTML:e._s(e.transformText(a,t.header&&t.header.htmlTag))},on:{focus:e.onFocus}})])})),0)}))],2)}))],2)},Ja=[],Za=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"font-sample",style:"\n color: "+e.settings.textColor+";\n background: "+e.settings.backgroundColor+";\n line-height: "+(e.settings.enableLineHeight?e.settings.lineHeight:"")+";\n letter-spacing: "+(e.settings.enableTracking?e.settings.tracking:"0")+"em;\n word-spacing: "+(e.settings.enableWordSpacing?e.settings.wordSpacing:"0")+"em;\n text-align: "+e.settings.textAlign+";\n text-transform: "+(e.settings.enableTextTransform?e.settings.textTransform:"none")+";\n font-feature-settings: "+e.fontFeatureSettings+";\n font-variation-settings: "+e.fontVariationSettings+";\n "},[n("div",{staticClass:"font-sample-content",style:{"word-break":e.settings.wrapLines?"break-all":"normal"}},[e._t("default")],2)])},Ya=[];function Qa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Xa(e){for(var t=1;t1e6?e/1e6+"M":e>9999?e/1e3+"K":e}var si={props:{header:{type:Object,default:function(){}}},methods:{printNumber:oi}},li=si,ci=Object(m["a"])(li,ii,ri,!1,null,"52cde21e",null),ui=ci.exports,gi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"header-flex"},[n("h3",{staticClass:"topic",attrs:{id:e.header.langId}},[e._v(e._s(e.header.topic))]),e.header.description?n("UiButton",{staticClass:"btn",attrs:{color:"none"}},[n("svg",{class:"help-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",height:"18",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{fill:"none",d:"M0 0h24v24H0V0z"}}),n("path",{attrs:{fill:"currentColor",d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"}})]),n("UiTooltip",{staticClass:"description-tooltip",attrs:{openOn:"click",interactive:!0},domProps:{innerHTML:e._s(e.header.description||"(no description)")}})],1):e._e(),n("div",{staticClass:"tags"},e._l(e.header.tags,(function(t,a){return n("span",{key:a},[e._v(e._s(t))])})),0),n("h3",{staticClass:"language",attrs:{id:e.header.langId}},[e._v(e._s(e.header.language))]),e.header.opentypeTag?n("div",{staticClass:"language-codes"},[n("span",{staticClass:"light"},[e._v("OT code: ")]),n("code",[e._v(e._s(e.header.opentypeTag.padEnd(4," "))+" ")]),n("span",{staticClass:"light"},[e._v("HTML code: ")]),n("code",[e._v(e._s(e.header.htmlTag))])]):e._e(),n("div",{staticClass:"language-speakers"},[e._v(e._s(e.printNumber(e.header.speakers))+" speakers")])],1)},pi=[],mi={components:{UiTooltip:ee,UiButton:_["a"]},props:{header:{type:Object,default:function(){}}},methods:{printNumber:oi}},hi=mi,di=(n("43d6"),Object(m["a"])(hi,gi,pi,!1,null,"6bcea090",null)),fi=di.exports;function vi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function yi(e){for(var t=1;t0?-1:0},on:{focus:function(t){return 0===a?e.highlightAnchor(t):""},keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"space",32,n.key,[" ","Spacebar"])?null:(n.preventDefault(),e.toggleLanguage(t.id,!t.isSelected))}}},[e._v("\n "+e._s(t.language)+"\n ")])],1)})),0)])])},wi=[];function Oi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!1),e.dispatchEvent(n)}function _i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ci(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"";this.segments.push({key:this.getKey(),characters:t})},removeKerningSegment:function(e){this.segments.splice(e,1),this.updateKerningPattern()},addKerningPattern:function(){var e=this;this.$store.dispatch("addKerningPattern",{segments:["",""]}),this.$nextTick((function(){var t=e.kerningPatterns[0];e.selectPattern(t.id)}))},updateKerningPattern:function(){null!=this.selectedPatternId&&(this.activeElement=document.activeElement,this.$store.dispatch("updateKerningPattern",{id:this.selectedPatternId,segments:this.segments.map((function(e){return e.characters}))}))},removeKerningPattern:function(e){this.$store.dispatch("removeKerningPattern",{id:e})},toggleKerningPattern:function(e,t){this.$store.dispatch("toggleKerningPattern",{id:e,on:t})},clearKerningPatterns:function(){this.$store.dispatch("clearKerningPatterns"),document.querySelector(this.scrolledParentSelector).scrollTop=0},revertKerningPatterns:function(){this.$store.dispatch("revertKerningPatterns")},formatPatternId:function(e){return e.replace(/×/g,"×").replace(/-/g,"‑")}}},Mi=Bi,Ui=(n("b6d5"),Object(m["a"])(Mi,Li,Ki,!1,null,"002f2e82",null)),Di=Ui.exports,Ni=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"language-support-summary"},[n("v-style",[e._v("\n .glyph {\n font-size: "+e._s(e.settings.fontSize)+e._s(e.settings.fontSizeUnit)+";\n }\n ")]),n("div",{staticClass:"main-column"},[n("div",[n("p",[e._v("\n Font supports "),n("strong",[e._v(e._s(e.languageSupport.supportedLanguages.length))]),e._v(" out of "),n("strong",[e._v(e._s(e.languageSupport.languages.length))]),e._v(" listed languages.\n ")]),n("h2",[e._v("\n Supported languages\n "),n("UiSelect",{staticClass:"inline",attrs:{options:e.supportedLanguagesSortingOptions},model:{value:e.supportedLanguagesSorting,callback:function(t){e.supportedLanguagesSorting=t},expression:"supportedLanguagesSorting"}})],1),n("LanguageList",{attrs:{languages:e.supportedLanguages},on:{"select-language":function(t){return e.selectLanguage(t)}}}),n("h2",[e._v("\n Unsupported languages\n "),n("UiSelect",{staticClass:"inline",attrs:{options:e.unsupportedLanguagesSortingOptions},model:{value:e.unsupportedLanguagesSorting,callback:function(t){e.unsupportedLanguagesSorting=t},expression:"unsupportedLanguagesSorting"}})],1),n("LanguageList",{attrs:{languages:e.unsupportedLanguages},on:{"select-language":function(t){return e.selectLanguage(t)}}}),n("h2",[e._v("\n Missing characters\n "),n("UiSelect",{staticClass:"inline",attrs:{options:e.missingCharacterSortingOptions},model:{value:e.missingCharacterSorting,callback:function(t){e.missingCharacterSorting=t},expression:"missingCharacterSorting"}})],1),n("div",e._l(e.missingCharacters,(function(t){return n("div",{key:t.script},[n("h3",[e._v(e._s(t.script))]),e._l(t.characters.filter((function(e){return 1===e.character.length})),(function(t,a){return n("button",{key:a,class:"glyph support-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return t.speakers>e})).length),on:{click:function(n){return e.selectCharacter(t)}}},[e._v(e._s(t.character)+"\n ")])}))],2)})),0),n("h2",[e._v("\n Missing character combinations by script\n ")]),n("div",e._l(e.languageSupport.missingCharacterCombinationsByScript,(function(t){return n("div",{key:t.script},[n("h3",[e._v(e._s(t.script))]),e._l(t.characters,(function(t,a){return n("button",{key:a,class:"glyph support-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return t.speakers>e})).length),on:{click:function(n){return e.selectCharacter(t)}}},[e._v(e._s(t.character)+"\n ")])}))],2)})),0),n("h2",[e._v("\n Included characters by script\n ")]),n("div",e._l(e.languageSupport.includedCharactersByScript,(function(t){return n("div",{key:t.script},[n("h3",[e._v(e._s(t.script))]),n("FontSample",e._l(t.characters.filter((function(e){return 1===e.character.length})),(function(t,a){return n("div",{key:a,class:"glyph needed-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return t.speakers>e})).length),on:{click:function(n){return e.selectCharacter(t)}}},[e._v(e._s(t.character))])})),0)],1)})),0),n("h2",[e._v("\n Included character combinations by script\n ")]),n("div",e._l(e.languageSupport.includedCharacterCombinationsByScript,(function(t){return n("div",{key:t.script},[n("h3",[e._v(e._s(t.script))]),n("FontSample",e._l(t.characters,(function(t,a){return n("div",{key:a,class:"glyph needed-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return t.speakers>e})).length),on:{click:function(n){return e.selectCharacter(t)}}},[e._v(e._s(t.character))])})),0)],1)})),0),n("h2",[e._v("\n All included characters\n ")]),n("FontSample",e._l(e.languageSupport.fontCharacters,(function(t,a){return n("div",{key:a,class:"glyph needed-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return t.speakers>e})).length),on:{click:function(n){return e.selectCharacter(t)}}},[e._v(e._s(t.character))])})),0)],1)]),n("Pinnable",{staticClass:"sidebar",attrs:{isPinned:!0,isVisible:!0,scrolled:!1}},[n("div",{staticClass:"language-character-sidebar"},[e.selectedCharacter?n("ScrollPanel",[n("CharacterPanel",{attrs:{characterInfo:e.selectedCharacter},on:{"select-language":function(t){return e.selectLanguage(t)}}})],1):n("div",{staticClass:"placeholder-info"},[e._v("\n "+e._s(e.languageSupport.characters.filter((function(e){return!e.isMissing})).length)+" /\n "+e._s(e.languageSupport.characters.length)+" characters\n ")]),e.selectedLanguage?n("ScrollPanel",[n("LanguagePanel",{attrs:{lang:e.selectedLanguage.htmlTag,languageInfo:e.selectedLanguage,characters:e.languageSupport.characters},on:{"character-clicked":function(t){return e.selectCharacter(e.languageSupport.characters.find((function(e){return e.character===t})))}}})],1):n("div",{staticClass:"placeholder-info"},[e._v("\n "+e._s(e.languageSupport.supportedLanguages.length)+" /\n "+e._s(e.languageSupport.languages.length)+" languages\n ")])],1)])],1)},Hi=[],$i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"scroll-panel"},[n("div",[n("div",{staticClass:"content"},[e._t("default")],2)])])},zi=[],Ri={},Vi=Object(m["a"])(Ri,$i,zi,!1,null,null,null),Gi=Vi.exports,Wi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"language-panel"},[n("div",{staticClass:"info-bar"},[n("strong",[e._v(e._s(e.languageInfo.language)+" ")]),n("div",[n("label",[e._v("OpenType: ")]),n("code",[e._v(e._s(e.languageInfo.opentypeTag))])]),n("div",[n("label",[e._v("HTML: ")]),n("code",[e._v(e._s(e.languageInfo.htmlTag))])]),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/"+e.languageInfo.language.replace(/languages?$/,"_language"),target:"_blank",rel:"noopener noreferrer"}},[e._v("Wikipedia")])]),n("p",[n("strong",[e._v(e._s(e.printNumber(e.languageInfo.speakers))+" speakers")])]),e.languageInfo.missingCharacters.length?n("header",[e._v("missing characters")]):e._e(),n("div",{staticClass:"glyphs"},e._l(e.languageInfo.missingCharacters,(function(t,a){return n("button",{key:a,staticClass:"glyph support-4",on:{click:function(n){return e.$emit("character-clicked",t)}}},[e._v(e._s(t)+"\n ")])})),0),e.languageInfo.includedCharacters.length?n("header",[e._v("supported characters")]):e._e(),n("FontSample",e._l(e.languageInfo.includedCharacters,(function(t,a){return n("div",{key:a,class:"glyph needed-"+(5-[0,2e4,6e5,2e6,8e6].filter((function(n){return e.characters.find((function(e){return e.character===t})).speakers>n})).length),on:{click:function(n){return e.$emit("character-clicked",t)}}},[e._v(e._s(t))])})),0),e.languageInfo.specialLetters.length!=e.languageInfo.requiredCharacters.length?n("div",[n("header",[e._v("letter units")]),n("FontSample",e._l(e.languageInfo.specialLetters,(function(t,a){return n("div",{key:a,staticClass:"glyph",on:{click:function(n){return e.$emit("character-clicked",t)}}},[e._v(e._s(t))])})),0)],1):e._e(),e.languageInfo.gotchas.length?n("div",[n("header",[e._v("gotchas")]),n("div",{staticClass:"gotchas"},[e._l(e.languageInfo.gotchas,(function(t,a){return n("p",{key:a,domProps:{innerHTML:e._s(""+t.topic+": "+(t.description||t.tags.join(", ")))}})})),n("p",[n("router-link",{attrs:{to:"/gotchas#"+e.languageInfo.language+"-"+e.languageInfo.id}},[e._v("\n go to tests\n ")])],1)],2)]):e._e()],1)},qi=[],Ji={components:{FontSample:ai},props:{languageInfo:{type:Object,required:!0},characters:{type:Array,required:!0}},methods:{printNumber:oi}},Zi=Ji,Yi=(n("0db3"),Object(m["a"])(Zi,Wi,qi,!1,null,"704de156",null)),Qi=Yi.exports,Xi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"language-list"},[e._l(e.languages,(function(t){return n("span",{key:t.language+"-"+t.script,attrs:{lang:t.htmlCode}},[n("UiButton",{class:"language-button support-"+(Math.min(4,Math.ceil((t.missingCharacters||[]).length/5))||"full"),on:{click:function(n){return e.$emit("select-language",t)}}},[n("div",[e._v("\n "+e._s(t.language)+"\n ")]),e.fields.indexOf("coverage")>-1?n("div",{staticClass:"goals"},[e._v("\n "+e._s(t.includedCharacters.length)+"/"+e._s(t.requiredCharacters.length)+"\n ")]):e._e(),t.gotchas.length?n("div",{staticClass:"gotcha-warning-icon"},[n("svg",{class:"help-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"18",height:"18","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[n("path",{attrs:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z"}})])]):e._e()])],1)})),n("UiButton",{on:{click:e.copyList}},[e._v("copy list")]),n("textarea",{ref:"list",staticStyle:{position:"absolute",left:"-9999px"},domProps:{value:e.languages.map((function(e){return e.language})).join(", ")}})],2)},er=[],tr={components:{UiButton:_["a"]},props:{languages:Array,fields:{type:Array,default:function(){return[]}}},methods:{copyList:function(){this.$refs.list.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()}}},nr=tr,ar=(n("5f99"),Object(m["a"])(nr,Xi,er,!1,null,"f2446db8",null)),ir=ar.exports,rr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"character-panel"},[n("CharacterInfo",{attrs:{character:e.characterInfo.character}}),n("div",[n("strong",[e._v(e._s(e.printNumber(e.characterInfo.speakers)))]),e._v(" speakers total")]),e.characterInfo.obligatoryLanguages?n("div",[n("h4",[e._v("obligatory in "+e._s(e.characterInfo.obligatoryLanguages.length)+" languages")]),n("div",[n("LanguageList",{attrs:{languages:e.characterInfo.obligatoryLanguages,fields:["coverage"]},on:{"select-language":function(t){return e.$emit("select-language",t)}}})],1),n("br"),n("div",[n("a",{attrs:{href:e.wordFinderUrl,target:"_blank",rel:"noopener noreferrer"}},[e._v("find words")])])]):e._e(),e.characterInfo.optionalLanguages?n("div",[e.characterInfo.optionalLanguages.length?n("div",[n("strong",[e._v("optional in "+e._s(e.characterInfo.optionalLanguages.length)+" languages")])]):e._e(),n("div",[e._v("\n "+e._s(e.characterInfo.optionalLanguages.map((function(e){return e.language+" ("+e.optionalCharactersNote+")"})).join(", "))+"\n ")])]):e._e()],1)},or=[],sr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"character-info"},[n("div",{staticClass:"character-font-preview"},[e._v(e._s(e.character)+" ")]),n("div",{staticClass:"info-bar"},[n("div",{staticStyle:{"font-size":"2.5rem"}},[e._v(e._s(e.characterRepresentation)+" ")]),n("div",[e._v(e._s(e.unicodes))]),n("div",[e._v(e._s(e.glyphnames))]),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/"+e.character,target:"_blank",rel:"noopener noreferrer"}},[e._v("Wikipedia")])])])},lr=[],cr={props:{character:{type:String,required:!0}},computed:{characterRepresentation:function(){var e=this.character.charCodeAt(0);return(e>767&&e<807?"◌":"")+this.character},codepoints:function(){return this.character.split("").map((function(e){return e.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0")}))},glyphnames:function(){return this.codepoints.map((function(e){return"uni"+e})).join(" + ")},unicodes:function(){return this.codepoints.map((function(e){return"U+"+e})).join(" ")}}},ur=cr,gr=(n("3cae"),Object(m["a"])(ur,sr,lr,!1,null,"42b34de5",null)),pr=gr.exports,mr={components:{CharacterInfo:pr,LanguageList:ir},props:{characterInfo:{type:Object,required:!0}},computed:{wordFinderUrl:function(){return"https://wordfinder.italic.space/search"+"?i=".concat(this.characterInfo.character)+"&l=".concat(this.characterInfo.obligatoryLanguages.map((function(e){return e.htmlTag})).join(","))}},methods:{printNumber:oi}},hr=mr,dr=(n("db56"),Object(m["a"])(hr,rr,or,!1,null,"6c85dae4",null)),fr=dr.exports,vr=n("e83a");function yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Tr(e){for(var t=1;t=2},keyframesText:function(){return JSON.stringify(this.animationKeyframes)}}),methods:Dr({},Object(b["d"])(["addAnimationKeyframe","removeAnimationKeyframe","activateKeyframe","importAnimationKeyframes","setAnimatedProperties"]),{updateKeyframeProgress:function(){var e=this;this.animationKeyframes.forEach((function(t,n,a){var i=100/a.length,r=i*n,o=i*(n+1),s=(e.progress-r)/(o-r)*100;e.$set(e.keyframeProgress,n,Math.max(0,Math.min(100,s)))}))},play:function(){var e=this;if(this.canAnimate){var t=this.animationKeyframes.map((function(t){var n={};return Object.keys(t.frame).forEach((function(a){e.animationKeyframes.some((function(e){return e.frame[a]!==t.frame[a]}))&&(n[a]=t.frame[a])})),n})),n=[],a=[];t.forEach((function(e,t){var i=e.fontFeatureSettings,r=Object(ke["a"])(e,["fontFeatureSettings"]);i&&(i=i.replace(/['"](ss\d\d|aalt)['"]( (0|1))* *,* */g,""));var o=Dr({},r),s={fontFeatureSettings:i};0===t&&(s.duration=0,o.duration=0),n.push(s),a.push(o)}));var i=document.querySelector(".font-sample"),r=Ar["a"].timeline({targets:i,duration:this.duration,easing:"easeOutQuad",autoplay:!1,delay:100,endDelay:0});r.add({keyframes:n,easing:"steps(1)"},0),r.add({keyframes:a,update:function(t){var n=i.style,a=(t.progress-e.progress)/100*e.duration;a>48&&(e.$store.dispatch("animateSettings",{style:n}),e.progress=t.progress)},begin:function(){e.playing=!0},complete:function(){e.$store.commit("finishAnimateSettings"),e.playing=!1,e.progress=0,e.activateKeyframe({id:e.animationKeyframes.slice(-1)[0].id})}},0),this.activateKeyframe({id:this.animationKeyframes[0].id}),r.restart()}}})},Hr=Nr,$r=(n("bcca"),Object(m["a"])(Hr,Fr,jr,!1,null,"0dcbafa4",null)),zr=$r.exports;function Rr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Vr(e){for(var t=1;t/g,">").replace(/"/g,""").replace(/'/g,"'")}function po(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function mo(e){for(var t=1;t-1})).map((function(e){return mo({id:ho++,isSelected:!0},e)})),textHeadings:[],formatRequested:!1,kerningPatterns:[],defaultKerningPatterns:so,fontCharacters:"xyz".split()},mutations:{setText:function(e,t){var n=t.sampleKey,a=t.html;i["a"].set(e.texts,n,a)},modifyText:function(e,t){var n=t.html,a=t.headings,r=void 0===a?[]:a;e.selectedSampleKey in co?this.commit("addCustomText",{html:n}):i["a"].set(e.texts,e.selectedSampleKey,[{html:n}]),e.textHeadings=r},addCustomText:function(e,t){var n=t.html;e.customTextIds.push(fo),e.texts[fo]=[{html:n}],this.commit("selectSample",{kind:"custom",id:fo});var a="/custom/".concat(e.selectedSampleKey);oo.currentRoute.path!==a&&oo.push(a),fo++},removeCustomText:function(e,t){var n=t.id,a=e.customTextIds.indexOf(n);if(e.customTextIds.splice(a,1),delete e.texts[n],oo.currentRoute.path==="/custom/".concat(n)){var i="/lettering";a=0&&a-1-1?e.isSelected=!0:e.isSelected=!1}))},clearKerningPatterns:function(e){e.kerningPatterns.splice(0),this.commit("setText",{sampleKey:"kerning",html:[""]})},initKerningPatterns:function(e){var t=this;e.defaultKerningPatterns.forEach((function(e){var n=e.segments,a=e.isVisible,i=void 0===a||a;t.commit("addKerningPattern",{segments:n,isVisible:i,toEnd:!0})}))},addKerningPattern:function(e,t){var n=t.segments,a=t.isVisible,i=t.toEnd,r=wn.sets(n),o=r.sets,s=r.closures,l=e.kerningPatterns.slice(),c={segments:n,sets:o,closures:s,isVisible:a};c.lines=wn.kerningString(c),c.name=lo(c),c.id=je("kerning-pattern-"+c.name),i?l.push(c):l.unshift(c),e.kerningPatterns=l},updateKerningPattern:function(e,t){var n=t.id,a=t.segments,i=wn.sets(a),r=i.sets,o=i.closures,s=e.kerningPatterns.slice(),l=s.find((function(e){return e.id===n}));l||(this.commit("addKerningPattern",{segments:a,isVisible:!0}),s=e.kerningPatterns.slice(),l=s[0],l.id=n),l.segments=a,l.sets=r,l.closures=o,l.lines=wn.kerningString(l),l.name=lo(l),e.kerningPatterns=s},removeKerningPattern:function(e,t){var n=t.id,a=e.kerningPatterns.findIndex((function(e){return e.id===n}));e.kerningPatterns.splice(a,1)},toggleKerningPattern:function(e,t){var n=t.id,a=t.on,i=e.kerningPatterns.findIndex((function(e){return e.id===n}));e.kerningPatterns[i].isVisible=a},updateKerning:function(e){var t=e.kerningPatterns.filter((function(e){return e.isVisible})),n=t.map((function(e){var t=e.lines,n=t[0].length>50?t.join("\n"):t.join(" ").replace(/ +/g," ");return{texts:['

    ').concat(go(n),"

    ")]}}));this.commit("setText",{sampleKey:"kerning",html:n})},updateFontCharacters:function(e,t){var n=t.characters;e.fontCharacters=n}},actions:{selectScripts:function(e,t){e.state;var n=e.commit,a=e.dispatch,i=t.values;n("selectScripts",{values:i}),a("updateText")},selectLanguage:function(e,t){var n=e.state,a=e.commit,i=e.dispatch,r=t.id,o=t.checked,s=n.languages.find((function(e){return e.id===r}));s.isSelected!==o&&(a("selectLanguage",{id:r,checked:o}),i("updateText"))},selectSample:function(e,t){var n=e.state,a=e.commit,i=e.dispatch,r=t.kind,o=t.id;a("selectSample",{kind:r,id:o}),"kerning"===r&&0===n.kerningPatterns.length&&this.commit("initKerningPatterns"),i("updateText")},updateFontCharacters:function(e,t){var n=e.dispatch,a=t.font,i=a.characters;this.commit("updateFontCharacters",{characters:i}),n("updateText")},updateText:function(e){var t=e.state,n=e.commit,a=e.getters;function i(e){return e.replace(/\s\s+/g,"")}var r=a.selectedSampleTextKey;if(r){var o=a.selectedLanguages.map((function(e){return mo({},e,{id:"".concat(e.language,"-").concat(e.id),texts:e[r]})})),s=[];"gotchas"===a.selectedSampleKey?o.forEach((function(e){var t=e.id,n=e.language,a=e.speakers,r=e.htmlTag,o=e.opentypeTag,l=e.texts,c=l.map((function(e){var s=e.topic,l=e.tags,c=e.tests,u=e.description,g={id:t+"-"+s.replace(/[^a-z0-9]/gi,"_"),langId:t,language:n,speakers:a,htmlTag:r,opentypeTag:o,topic:s,tags:l,tests:c,description:u},p=[i('
    \n ').concat(c.map((function(e){return"

    ".concat(e,"

    ")})).join(""),"\n
    "))];return{header:g,texts:p}}));s=[].concat(Object(x["a"])(s),Object(x["a"])(c))})):s=o.map((function(e){var t,n=e.id,i=e.language,r=e.script,o=e.speakers,s=e.htmlTag,l=e.opentypeTag,c=e.texts,u={langId:n,language:i,script:r,speakers:o,htmlTag:s,opentypeTag:l};switch(a.selectedSampleKey){case"ABCs":var g=c,p=g.split(" ").filter((function(e){return e.split("").every((function(e){return e.toUpperCase()===e}))})),m=g.split(" ").filter((function(e){return e.split("").every((function(e){return e.toLowerCase()===e}))}));if(t=[g,p.join(" "),m.join(" ")],"Latn"==r){var h=p.filter((function(e){return!/^[A-Z ]+$/.test(e)})),d=m.filter((function(e){return!/^[a-z ]+$/.test(e)}));t.push(h.join("")),t.push(d.join(""))}t=t.map((function(e){return"

    ".concat(e,"

    ")}));break;default:t=c instanceof Array?c.map((function(e){return"

    ".concat(e,"

    ")})):[c].map((function(e){return"

    ".concat(e,"

    ")}))}return{header:u,texts:t}})),n("setText",{sampleKey:t.selectedSampleKey,html:s})}else if("kerning"===t.selectedSampleKey)n("updateKerning");else if("glyphs"===t.selectedSampleKey){var l=['

    '.concat(t.fontCharacters.map((function(e){return"").concat(e,"")})).join(""),"

    ")];n("setText",{sampleKey:t.selectedSampleKey,html:[{header:"",texts:l}]})}},addKerningPattern:function(e,t){var n=e.commit,a=t.segments,i=t.toEnd;n("addKerningPattern",{segments:a,isVisible:!0,toEnd:i}),n("updateKerning")},updateKerningPattern:function(e,t){var n=e.commit,a=t.id,i=t.segments;n("updateKerningPattern",{id:a,segments:i}),n("updateKerning")},removeKerningPattern:function(e,t){var n=e.commit,a=t.id;n("removeKerningPattern",{id:a}),n("updateKerning")},toggleKerningPattern:function(e,t){var n=e.commit,a=t.id,i=t.on;n("toggleKerningPattern",{id:a,on:i}),n("updateKerning")},clearKerningPatterns:function(e){var t=e.dispatch,n=e.commit;n("clearKerningPatterns"),setTimeout((function(){t("updateText")}),50)},revertKerningPatterns:function(e){var t=e.dispatch,n=e.commit;n("clearKerningPatterns"),n("initKerningPatterns"),t("updateText")}},getters:{texts:function(e){return e.texts},textHeadings:function(e){return e.textHeadings},formatRequested:function(e){return e.formatRequested},customTextIds:function(e){return e.customTextIds},selectedSampleKey:function(e){return e.selectedSampleKey},selectedSampleTextKey:function(e){return co[e.selectedSampleKey]},scripts:function(e){return e.scripts},selectedScripts:function(e){return e.scripts.filter((function(e){return e.isSelected}))},filteredLanguages:function(e,t){return e.languages.filter((function(e){return t.selectedScripts.find((function(t){return t.script===e.script}))}))},visibleLanguages:function(e,t){return"languages"===t.selectedSampleKey?t.filteredLanguages.filter((function(e){return e.alphabet})):t.selectedSampleTextKey?t.filteredLanguages.filter((function(e){return e[t.selectedSampleTextKey].length})):[]},otherLanguages:function(e,t){return t.filteredLanguages.filter((function(e){return null==t.visibleLanguages.find((function(t){return t.id===e.id}))}))},selectedLanguages:function(e,t){return t.visibleLanguages.filter((function(e){return e.isSelected}))},languages:function(e,t){return[].concat(Object(x["a"])(t.visibleLanguages.map((function(e){return mo({},e,{hasText:!0})}))),Object(x["a"])(t.otherLanguages.map((function(e){return mo({},e,{hasText:!1})}))))},kerningPatterns:function(e){return e.kerningPatterns},languageSupport:function(e,t){function n(e,t,n){return!/^[A-Za-z ]+$/.test(e)&&n.indexOf(e)===t}var a=t.selectedLanguages,i=a.map((function(t){var a=("Latn"===t.script?t.specialCharacters:t.alphabet).split(" ").filter((function(e,t,n){return n.indexOf(e)===t&&e})),i=a.join("").split("").filter(n),r=i.filter((function(t){return t.split("").every((function(t){return e.fontCharacters.indexOf(t)>-1}))})),o=i.filter((function(e){return-1===r.indexOf(e)}));return mo({},t,{specialLetters:a,requiredCharacters:i,includedCharacters:r,missingCharacters:o})})),r=i.filter((function(e){return e.requiredCharacters.length===e.includedCharacters.length})),o=i.filter((function(e){return-1===r.indexOf(e)})),s=i.reduce((function(e,t){return[].concat(Object(x["a"])(t.missingCharacters),Object(x["a"])(e))}),[]),l=[].concat(Object(x["a"])(i.reduce((function(e,t){return[].concat(Object(x["a"])(t.specialLetters),Object(x["a"])(e))}),[])),Object(x["a"])(i.reduce((function(e,t){return[].concat(Object(x["a"])(t.requiredCharacters),Object(x["a"])(e))}),[]))).filter((function(e,t,n){return n.indexOf(e)===t})).map((function(e){return{character:e,unicode:e.charCodeAt(0),obligatoryLanguages:i.filter((function(t){return t.alphabet.indexOf(e)>-1})),optionalLanguages:i.filter((function(t){return t.optionalCharacters.indexOf(e)>-1})),script:(To.find((function(t){return t.alphabet.indexOf(e)>-1}))||{script:"Latn"}).script,isMissing:s.indexOf(e)>-1}})).map((function(e){return mo({},e,{speakers:[].concat(Object(x["a"])(e.obligatoryLanguages),Object(x["a"])(e.optionalLanguages)).reduce((function(e,t){return e+t.speakers}),0)})})),c=So(l,!0),u=So(l,!1),g=xo(c),p=xo(u),m=e.fontCharacters.map((function(e){return{character:e,unicode:e.charCodeAt(0),obligatoryLanguages:i.filter((function(t){return t.alphabet.indexOf(e)>-1})),optionalLanguages:i.filter((function(t){return t.optionalCharacters.indexOf(e)>-1}))}})).map((function(e){return mo({},e,{speakers:[].concat(Object(x["a"])(e.obligatoryLanguages),Object(x["a"])(e.optionalLanguages)).reduce((function(e,t){return e+t.speakers}),0)})}));return{languages:i,supportedLanguages:r,unsupportedLanguages:o,characters:l,missingCharactersByScript:c,includedCharactersByScript:u,missingCharacterCombinationsByScript:g,includedCharacterCombinationsByScript:p,fontCharacters:m}}}};function So(e,t){var n=[];return e.filter((function(e){return e.isMissing===t})).forEach((function(e){var t=n.find((function(t){return t.script===e.script}));t||(t={script:e.script,characters:[]},n.push(t)),t.characters.push(e)})),n.forEach((function(e){e.characters.sort((function(e,t){return e.character.localeCompare(t.character,"en",{caseFirst:"upper"})}))})),n}function ko(e,t){return e.charCodeAt(t)>768&&e.charCodeAt(t)<894}function xo(e){return e.map((function(e){return mo({},e,{characters:e.characters.filter((function(e){return e.character.length>1&&ko(e.character,1)}))})})).filter((function(e){return e.characters.length}))}var wo=function(){function e(){Object(xe["a"])(this,e)}return Object(we["a"])(e,null,[{key:"getDefaults",value:function(){var e=this,t={};return Object.keys(this.definitions).forEach((function(n){var a=e.definitions[n],i=a.default;"function"===typeof i&&a.type!==Function?t[n]=i():t[n]=i})),t}},{key:"getStyleFromSettings",value:function(e){return{fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:e.textAlign,textTransform:e.textTransform,color:e.textColor,backgroundColor:e.backgroundColor,fontFeatureSettings:e.gsubFeatures.concat(e.gposFeatures).map((function(e){return"'".concat(e.tag,"' ").concat(e.value?"1":"0"," ")})).join(", "),fontVariationSettings:e.variationAxes.filter((function(e){return e.enabled})).map((function(e){return"'".concat(e.tag,"' ").concat(e.value," ")})).join(", ")||"unset"}}},{key:"mergeStyleOntoSettings",value:function(e,t){function n(n,a){var i={};(t[n]||"").split(/, ?/g).filter((function(e){return e})).map((function(e){var t=e.match(/[a-z]{4}/i);if(t){var n=t[0];t=e.match(/ \d+/);var a=t?parseInt(t[0]):1;i[n]=a}})),e[a].forEach((function(t,n){t.tag in i&&(e[a][n].value=i[t.tag])}))}e.fontSize=parseFloat(t.fontSize),e.lineHeight=parseFloat(e.lineHeight),e.textColor=t.color,e.backgroundColor=t.backgroundColor,n("fontFeatureSettings","gsubFeatures"),n("fontFeatureSettings","gposFeatures"),n("fontVariationSettings","variationAxes")}},{key:"definitions",get:function(){return{fontFamily:{type:String,default:""},fallbackFontFamily:{type:String,default:"sans-serif"},fontSize:{type:Number,default:24,validate:function(e,t){return e>=t.minFontSize&&e<=t.maxFontSize}},fontSizeUnit:{type:String,default:"pt",kind:"select"},fontSizeUnitOptions:{type:Array,default:function(){return["pt","px","em","vw","vh"]}},enableWaterfall:{type:Boolean,default:!1},waterfallSizes:Object(f["a"])({type:String,default:"10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,34,36,38,44,64"},"default","10,14,24,36,64"),enableLineHeight:{type:Boolean,default:!1},lineHeight:{type:Number,default:1,validate:function(e,t){return e>=t.minLineHeight&&e<=t.maxLineHeight}},minLineHeight:{type:Number,default:.5},maxLineHeight:{type:Number,default:3},lineHeightStep:{type:Number,default:.01},lineHeightClickStep:{type:Number,default:.01},enableTracking:{type:Boolean,default:!0},tracking:{type:Number,default:0,validate:function(e,t){return e>=t.minTracking&&e<=t.maxTracking}},minTracking:{type:Number,default:-.5},maxTracking:{type:Number,default:2},trackingStep:{type:Number,default:.001},trackingClickStep:{type:Number,default:.01},enableWordSpacing:{type:Boolean,default:!0},wordSpacing:{type:Number,default:0,validate:function(e,t){return e>=t.minWordSpacing&&e<=t.maxWordSpacing}},minWordSpacing:{type:Number,default:-1},maxWordSpacing:{type:Number,default:1},wordSpacingStep:{type:Number,default:.01},textAlign:{type:String,default:"left",kind:"select"},textAlignOptions:{type:Array,default:function(){return["left","center","right","justify"]}},textColor:{type:String,default:"#000"},backgroundColor:{type:String,default:"#fff"},textTransform:{type:String,default:"uppercase",kind:"select"},textTransformOptions:{type:Array,default:function(){return["none","uppercase","capitalize","lowercase"]}},enableTextTransform:{type:Boolean,default:!1},wrapLines:{type:Boolean,default:!1},gposFeatures:{type:Object,default:function(){return[]}},gsubFeatures:{type:Object,default:function(){return[]}},variationAxes:{type:Object,default:function(){return[]}},enableVariationAxis:{type:Object,default:function(){return[]}}}}}]),e}();function Oo(e){return JSON.parse(JSON.stringify(e))}var _o={state:{animatedProperties:Object.keys(wo.definitions),animatableProperties:Object.keys(wo.definitions),animationKeyframes:[],activeKeyframeId:null,maxId:0},getters:{animatedProperties:function(e){return e.animatedProperties},animatableProperties:function(e){return e.animatableProperties},animationKeyframes:function(e){return e.animationKeyframes},activeKeyframeId:function(e){return e.activeKeyframeId}},mutations:{setAnimatedProperties:function(e,t){var n=t.properties;e.animatedProperties=n},importAnimationKeyframes:function(e,t){var n=t.keyframes;try{e.animationKeyframes=JSON.parse(n)}catch(a){console.log(a)}},addAnimationKeyframe:function(e){var t=++e.maxId;e.activeKeyframeId=t,e.animationKeyframes.push({id:t}),this.commit("updateKeyframe")},removeAnimationKeyframe:function(e,t){var n=t.id;if(null!=n){var a=e.animationKeyframes.findIndex((function(e){return e.id===n}));e.animationKeyframes.splice(a,1)}},activateKeyframe:function(e,t){var n=t.id;e.activeKeyframeId=n;var a=e.animationKeyframes.find((function(e){return e.id===n})),i=a.snapshot;this.commit("restoreSettings",{snapshot:i})},updateKeyframe:function(e){var t=e.activeKeyframeId;if(null!=t){var n=Oo(this.state.settings),a=wo.getStyleFromSettings(this.state.settings),r=e.animationKeyframes.findIndex((function(e){return e.id===t}));i["a"].set(e.animationKeyframes,r,{id:t,snapshot:n,frame:a})}},finishAnimateSettings:function(){this.commit("animateSettings",{settings:null})}},actions:{animateSettings:function(e,t){var n=t.style,a=Oo(this.state.settings);wo.mergeStyleOntoSettings(a,n);var i=Oo(this.state.settings);Object.keys(a).filter((function(t){return e.state.animatedProperties.indexOf(t)>-1})).forEach((function(e){i[e]=a[e]})),this.commit("animateSettings",{settings:i})}}},Co=".app-content";i["a"].prototype.$scrollToTop=function(){return Co.scrollTo(0,0)};var Po={state:{scrolledParentSelector:Co,sticky:!0,footerVisible:0,footerSentinelVisibleRatio:0},getters:{scrolledParentSelector:function(e){return e.scrolledParentSelector}},mutations:{sticky:function(e,t){var n=t.value;e.sticky=n},updateFooter:function(e,t){var n=t.visible,a=t.ratio;e.footerVisible=n,e.footerSentinelVisibleRatio=a},scrollToTop:function(e){this.commit("sticky",{value:!0}),this.commit("updateFooter",{visible:!1,ratio:0});var t=document.querySelector(e.scrolledParentSelector);t.scrollTop=0}},actions:{}};function Fo(e){e.subscribe((function(t,n){var a=t.type,i=t.payload;switch(a){case"updateSetting":null!=n.animation.activeKeyframeId&&e.commit("updateKeyframe");break;case"selectFont":i.font&&e.dispatch("updateFontCharacters",{font:i.font})}}))}var jo={get width(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)},get height(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}},Ao=function(){function e(){Object(xe["a"])(this,e)}return Object(we["a"])(e,[{key:"convert",value:function(e){var t={"ch-cm":.21087588*e.value,"ch-em":.5*e.value,"ch-ex":e.value/.9,"ch-in":.083022*e.value,"ch-mm":2.1087588*e.value,"ch-pc":.5*e.value,"ch-pt":5.977584*e.value,"ch-%":50*e.value,"ch-px":e.value*e.base*.5,"cm-ch":e.value/.21087588,"cm-em":e.value/.42175176,"cm-ex":e.value/.189788292,"cm-in":.39*e.value,"cm-mm":10*e.value,"cm-pc":e.value/.42175176,"cm-pt":28.3464566929*e.value,"cm-%":e.value/e.base*100/2.54*e.dpi,"cm-px":e.value/2.54*e.dpi,"em-ch":e.value/.5,"em-cm":.42175176*e.value,"em-ex":e.value/.45,"em-in":.166044*e.value,"em-mm":e.value/.237106301584,"em-pc":e.value,"em-pt":11.955168*e.value,"em-%":100*e.value,"em-px":e.value*e.base,"em-vh":100*e.value*e.base/jo.height,"em-vw":100*e.value*e.base/jo.width,"ex-ch":.9*e.value,"ex-cm":.189788292*e.value,"ex-em":.45*e.value,"ex-in":.0747198*e.value,"ex-mm":1.89788292*e.value,"ex-pc":.45*e.value,"ex-pt":5.3798256*e.value,"ex-%":45*e.value,"ex-px":e.value*e.base*.45,"in-ch":e.value/.083022,"in-cm":2.54*e.value,"in-em":e.value/.166044,"in-ex":e.value/.0747198,"in-mm":2.54*e.value*10,"in-pc":e.value/.166044,"in-pt":e.value/.014842519685,"in-%":e.value/e.base*100*e.dpi,"in-px":e.value*e.dpi,"mm-ch":e.value/2.1087588,"mm-cm":e.value/10,"mm-em":.237106301584*e.value,"mm-ex":e.value/1.89788292,"mm-in":.39*e.value/10,"mm-pc":e.value/4.42175176,"mm-pt":e.value/.352777777778,"mm-%":e.value/e.base*100/2.54*e.dpi/10,"mm-px":e.value/2.54*e.dpi/10,"pc-ch":e.value/.5,"pc-cm":.42175176*e.value,"pc-em":e.value,"pc-ex":e.value/.45,"pc-in":.166044*e.value,"pc-mm":4.42175176*e.value,"pc-pt":e.value/.0836458341698,"pc-%":100*e.value,"pc-px":e.value*e.base,"pt-ch":e.value/5.977584,"pt-cm":e.value/28.3464566929,"pt-em":e.value/11.955168,"pt-ex":e.value/5.3798256,"pt-in":.014842519685*e.value,"pt-mm":.352777777778*e.value,"pt-pc":.0836458341698*e.value,"pt-%":e.value/(e.base-4)*100,"pt-px":96*e.value/72,"pt-vh":100*e.value*96/72/jo.height,"pt-vw":100*e.value*96/72/jo.width,"%-ch":e.value/50,"%-cm":e.value*e.base/100*2.54/e.dpi,"%-em":e.value/100,"%-ex":e.value/45,"%-in":e.value*e.base/100/e.dpi,"%-mm":e.value*e.base/100*2.54/e.dpi*10,"%-pc":e.value/100,"%-pt":e.value*(e.base-4)/100,"%-px":e.value*e.base/100,"px-ch":e.value/e.base/.5,"px-cm":2.54*e.value/e.dpi,"px-em":e.value/e.base,"px-ex":e.value/e.base/.45,"px-in":e.value/e.dpi,"px-mm":2.54*e.value/e.dpi*10,"px-pc":e.value/e.base,"px-pt":72*e.value/96,"px-%":e.value/e.base*100,"px-vh":e.value/jo.height*100,"px-vw":e.value/jo.width*100,"vh-px":e.value*jo.height/100,"vh-pt":.75*e.value*jo.height/100,"vh-em":e.value*jo.height/100/e.base,"vh-vw":e.value*jo.height/jo.width,"vw-px":e.value*jo.width/100,"vw-pt":.75*e.value*jo.width/100,"vw-em":e.value*jo.width/100/e.base,"vw-vh":e.value*jo.width/jo.height},n="".concat(e.from,"-").concat(e.to),a=t[n];return!isNaN(a)&&this.round(a,e.decimals)+e.to}},{key:"getUnits",value:function(){return["ch","cm","em","ex","in","mm","pc","pt","%","px"]}},{key:"round",value:function(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}}]),e}();function Lo(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.base,n=void 0===t?16:t,a=e.decimals,i=void 0===a?2:a,r=e.dpi,o=void 0===r?72:r,s=e.from,l=e.to,c=e.value,u=new Ao,g=u.convert({base:n,decimals:i,dpi:o,from:s,to:l,value:c});return g}var Ko={minFontSize:function(){switch(this.fontSizeUnit){case"px":return 4;default:var e=Lo({from:"px",value:4,to:this.fontSizeUnit});return parseFloat(e)}},maxFontSize:function(){switch(this.fontSizeUnit){case"px":return 1e3;default:var e=Lo({from:"px",value:1e3,to:this.fontSizeUnit});return parseFloat(e)}},fontSizeStep:function(){switch(this.fontSizeUnit){case"pt":return.5;case"px":return 1;case"vw":case"vh":case"em":return.01;default:return.01}},fontSizeClickStep:function(){switch(this.fontSizeUnit){case"px":case"pt":case"vw":case"vh":return 1;case"em":return.5;default:return 1}}},Io=n("14fe"),Eo=n.n(Io);function Bo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Mo(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{value:null},n=t.value,a=null!=n?n:!e.settingsPanelVisible;e.settingsPanelVisible=a},toggleContextualPanel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{value:null},n=t.value,a=null!=n?n:!e.contextualPanelVisible;e.contextualPanelVisible=a},expandMenu:function(e,t){var n=t.menuId;e.expandedMenu===n?e.expandedMenu=null:(this.commit("toggleContextualPanel",{value:!1}),this.commit("toggleSettingsPanel",{value:!1}),e.expandedMenu=n)},setMobile:function(e,t){var n=t.isMobile;e.isMobile=n},requestFont:function(e,t){var n=t.url;e.remoteFontRequested=n},fontLoadStart:function(e){e.fontLoading=!0},fontLoadEnd:function(e){e.fontLoading=!1},selectFont:function(e,t){var n=t.font,a=t.boldFont,i=t.italicFont,r=t.boldItalicFont,o=t.headerFont;n&&(e.selectedFont=n,this.commit("mapFontFeatureSettings"),this.commit("mapFontVariationSettings")),a&&(e.selectedBoldFont=a),i&&(e.selectedItalicFont=i),r&&(e.selectedBoldItalicFont=r),o&&(e.selectedHeaderFont=o)},mapFontFeatureSettings:function(e){var t=e.selectedFont;function n(n){var a=t[n],i=e.settings[n];i.forEach((function(e){e.active=!1})),a.forEach((function(e){var t=i.find((function(t){return t.tag===e.tag}));t?(t.active=!0,t.uiName=e.uiName,"locl"===e.tag&&(t.languages=e.languages)):i.push(Mo({},e,{value:Eo.a.indexOf(e.tag)>-1,active:!0}))}))}n("gsubFeatures"),n("gposFeatures")},updateGposFeature:function(e,t){var n=t.tag,a=t.value,i=e.settings.gposFeatures,r=i.find((function(e){return e.tag===n}));r&&(r.value=a),this.commit("updateSetting")},updateGsubFeature:function(e,t){var n=t.tag,a=t.value,i=e.settings.gsubFeatures,r=i.find((function(e){return e.tag===n}));r&&(r.value=a),this.commit("updateSetting")},updateLoclFeature:function(e,t){var n=t.selectedLanguage,a=e.settings.gsubFeatures,i=a.find((function(e){return"locl"===e.tag}));i&&(i.selectedLanguage=n),this.commit("updateSetting")},mapFontVariationSettings:function(e){var t=e.selectedFont;e.settings.variationAxes=t.variationAxes.map((function(t){var n=e.settings.variationAxes.find((function(e){return e.tag===t.tag}));return Mo({},t,{value:n?n.value:t.defaultValue,enabled:!n||n.enabled,displayName:t.name.en})}))},updateVariationAxis:function(e,t){var n=t.tag,a=t.value,i=t.enabled,r=e.settings.variationAxes.find((function(e){return e.tag===n}));r&&(null!=a&&(r.value=a),null!=i&&(r.enabled=i)),this.commit("updateSetting")},resetSettings:function(e){var t=wo.getDefaults();Object.keys(t).forEach((function(n){return e.settings[n]=t[n]})),this.commit("computeParams"),this.commit("updateSetting")},computeParams:function(e){Object.keys(Ko).forEach((function(t){var n=Ko[t],a=n.call(e.settings);a!==e.settings[t]&&(e.settings[t]=a)}))},updateSettings:function(e,t){var n=this;Object.keys(t).forEach((function(a){var i=t[a];"fontSizeUnit"==a&&n.commit("convertFontSize",{newUnit:i}),e.settings[a]=i,n.commit("updateSetting")})),this.commit("computeParams")},restoreSettings:function(e,t){var n=t.snapshot;e.settings=n,this.commit("mapFontFeatureSettings"),this.commit("mapFontVariationSettings")},animateSettings:function(e,t){var n=t.settings;n?(e.animating=!0,Object.keys(n).forEach((function(t){i["a"].set(e.displayedSettings,t,n[t])}))):e.animating=!1},updateSetting:function(){},convertFontSize:function(e,t){var n=t.newUnit,a=e.settings,i=String(a.fontSizeStep).replace(/\d+\.?/,"").length,r=Lo({value:a.fontSize,from:a.fontSizeUnit,to:n,decimals:i});a.fontSize=parseFloat(r)}},actions:{fontLoadStart:function(e){var t=e.commit;t("fontLoadStart")},fontLoadEnd:function(e){var t=e.commit;t("fontLoadEnd")}}});Fo(Uo);var Do=Uo;n("4cf1");i["a"].config.productionTip=!1,i["a"].use(o.a),i["a"].use(s["a"]),i["a"].use(l["a"]),new i["a"]({router:oo,store:Do,render:function(e){return e(d)}}).$mount("#app")},"56ee":function(e,t,n){"use strict";var a=n("6cf1"),i=n.n(a);i.a},"5c0b":function(e,t,n){"use strict";var a=n("fc32"),i=n.n(a);i.a},"5c5b":function(e,t,n){},"5f99":function(e,t,n){"use strict";var a=n("a055"),i=n.n(a);i.a},"675b":function(e,t,n){"use strict";var a=n("a588"),i=n.n(a);i.a},"6c59":function(e,t,n){e.exports=function(){return new Worker(n.p+"12f30cb6044063ce9abe.worker.js")}},"6cf1":function(e,t,n){},"6d28":function(e,t,n){"use strict";var a=n("8770"),i=n.n(a);i.a},"70d6":function(e,t,n){},"710b":function(e,t,n){},7323:function(e,t,n){"use strict";var a=n("becd"),i=n.n(a);i.a},"75af":function(e,t,n){},"85f5":function(e,t,n){},8698:function(e,t,n){},8770:function(e,t,n){},"911e":function(e,t,n){},9224:function(e){e.exports=JSON.parse('{"name":"bulletproof","version":"1.0.0","private":true,"scripts":{"serve":"vue-cli-service serve","build":"vue-cli-service build","lint":"vue-cli-service lint","test:e2e":"vue-cli-service test:e2e","test:unit":"vue-cli-service test:unit","deploy":"node .\\\\scripts\\\\publish.js"},"dependencies":{"animejs":"^3.2.1","convert-css-length":"^2.0.1","core-js":"^2.6.11","decimal.js":"^10.2.1","detect-browser":"^4.8.0","grapheme-splitter":"^1.0.4","hamsterjs":"^1.1.3","keen-ui":"^1.3.1","language-data":"^0.1.2","lodash.debounce":"^4.0.8","lodash.throttle":"^4.1.1","opentype.js":"git+https://github.com/hyvyys/opentype.js.git#stylistic-set-names","vue":"^2.6.12","vue-closable":"0.0.3","vue-color":"^2.7.1","vue-observe-visibility":"^0.4.6","vue-router":"^3.4.6","vue-worker":"^1.2.1","vuebar":"github:hyvyys/vuebar","vuex":"^3.5.1"},"devDependencies":{"@vue/cli-plugin-babel":"^3.12.1","@vue/cli-plugin-eslint":"^3.12.1","@vue/cli-plugin-unit-jest":"^3.12.1","@vue/cli-service":"^3.12.1","@vue/test-utils":"1.0.0-beta.29","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^25.5.1","eslint":"^5.16.0","eslint-plugin-vue":"^5.0.0","gh-pages":"^2.2.0","markdown-it":"^9.1.0","node-sass":"^4.14.1","sass-loader":"^7.1.0","vue-svg-inline-loader":"^1.5.0","vue-template-compiler":"^2.6.12","ware-loader":"^0.2.4","worker-loader":"^2.0.0"},"postcss":{"plugins":{"autoprefixer":{}}},"browserslist":["> 1%","last 2 versions"],"jest":{"moduleFileExtensions":["js","jsx","json","vue"],"transform":{"^.+\\\\.vue$":"vue-jest",".+\\\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$":"jest-transform-stub","^.+\\\\.jsx?$":"babel-jest"},"transformIgnorePatterns":["node_modules/(?!(keen-ui|tippy\\\\.js|popper\\\\.js|vue-color)/)"],"moduleNameMapper":{"^@/(.*)$":"/src/$1"},"snapshotSerializers":["jest-serializer-vue"],"testMatch":["**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"],"testURL":"http://localhost/","watchPlugins":["jest-watch-typeahead/filename","jest-watch-typeahead/testname"]}}')},"96a1":function(e,t,n){},"9bea":function(e,t,n){"use strict";var a=n("4761"),i=n.n(a);i.a},"9c53":function(e,t,n){},"9cbb":function(e,t,n){},"9f21":function(e,t,n){},"9fee":function(e,t,n){"use strict";var a=n("e89a"),i=n.n(a);i.a},a01f:function(e,t,n){"use strict";var a=n("cee9"),i=n.n(a);i.a},a055:function(e,t,n){},a53d:function(e,t,n){},a588:function(e,t,n){},b3a8:function(e,t,n){},b3be:function(e,t,n){},b68e:function(e,t,n){},b6d5:function(e,t,n){"use strict";var a=n("befe"),i=n.n(a);i.a},b843:function(e,t,n){"use strict";var a=n("1f64"),i=n.n(a);i.a},b92e:function(e,t,n){"use strict";var a=n("a53d"),i=n.n(a);i.a},badd:function(e,t,n){},bcca:function(e,t,n){"use strict";var a=n("9cbb"),i=n.n(a);i.a},becd:function(e,t,n){},befe:function(e,t,n){},bf45:function(e,t){e.exports=[{name:"Abaza",opentypeTag:"ABA ",htmlTag:"abq"},{name:"Abkhazian",opentypeTag:"ABK ",htmlTag:"ab"},{name:"Acholi",opentypeTag:"ACH ",htmlTag:"ach"},{name:"Achi",opentypeTag:"ACR ",htmlTag:"acr"},{name:"Adyghe",opentypeTag:"ADY ",htmlTag:"ady"},{name:"Afrikaans",opentypeTag:"AFK ",htmlTag:"af"},{name:"Afar",opentypeTag:"AFR ",htmlTag:"aa"},{name:"Agaw",opentypeTag:"AGW ",htmlTag:"ahg"},{name:"Aiton",opentypeTag:"AIO ",htmlTag:"aio"},{name:"Akan",opentypeTag:"AKA ",htmlTag:"ak"},{name:"Alsatian",opentypeTag:"ALS ",htmlTag:"gsw"},{name:"Altai",opentypeTag:"ALT ",htmlTag:"atv"},{name:"Amharic",opentypeTag:"AMH ",htmlTag:"am"},{name:"Anglo-Saxon",opentypeTag:"ANG ",htmlTag:"ang"},{name:"Phonetic transcription—Americanist conventions",opentypeTag:"APPH"},{name:"Arabic",opentypeTag:"ARA ",htmlTag:"ar"},{name:"Aragonese",opentypeTag:"ARG ",htmlTag:"an"},{name:"Aari",opentypeTag:"ARI ",htmlTag:"aiw"},{name:"Rakhine",opentypeTag:"ARK ",htmlTag:"mhv"},{name:"Assamese",opentypeTag:"ASM ",htmlTag:"as"},{name:"Asturian",opentypeTag:"AST ",htmlTag:"ast"},{name:"Athapaskan",opentypeTag:"ATH ",htmlTag:"apk"},{name:"Avar",opentypeTag:"AVR ",htmlTag:"av"},{name:"Awadhi",opentypeTag:"AWA ",htmlTag:"awa"},{name:"Aymara",opentypeTag:"AYM ",htmlTag:"ay"},{name:"Torki",opentypeTag:"AZB ",htmlTag:"azb"},{name:"Azerbaijani",opentypeTag:"AZE ",htmlTag:"az"},{name:"Badaga",opentypeTag:"BAD ",htmlTag:"bfq"},{name:"Banda",opentypeTag:"BAD0",htmlTag:"bad"},{name:"Baghelkhandi",opentypeTag:"BAG ",htmlTag:"bfy"},{name:"Balkar",opentypeTag:"BAL ",htmlTag:"krc"},{name:"Balinese",opentypeTag:"BAN ",htmlTag:"ban"},{name:"Bavarian",opentypeTag:"BAR ",htmlTag:"bar"},{name:"Baulé",opentypeTag:"BAU ",htmlTag:"bci"},{name:"Batak Toba",opentypeTag:"BBC ",htmlTag:"bbc"},{name:"Berber",opentypeTag:"BBR ",htmlTag:"ber"},{name:"Bench",opentypeTag:"BCH ",htmlTag:"bcq"},{name:"Bible Cree",opentypeTag:"BCR "},{name:"Bandjalang",opentypeTag:"BDY ",htmlTag:"bdy"},{name:"Belarussian",opentypeTag:"BEL ",htmlTag:"be"},{name:"Bemba",opentypeTag:"BEM ",htmlTag:"bem"},{name:"Bengali",opentypeTag:"BEN ",htmlTag:"bn"},{name:"Haryanvi",opentypeTag:"BGC ",htmlTag:"bgc"},{name:"Bagri",opentypeTag:"BGQ ",htmlTag:"bgq"},{name:"Bulgarian",opentypeTag:"BGR ",htmlTag:"bg"},{name:"Bhili",opentypeTag:"BHI ",htmlTag:"bhi"},{name:"Bhojpuri",opentypeTag:"BHO ",htmlTag:"bho"},{name:"Bikol",opentypeTag:"BIK ",htmlTag:"bik"},{name:"Bilen",opentypeTag:"BIL ",htmlTag:"byn"},{name:"Bislama",opentypeTag:"BIS ",htmlTag:"bi"},{name:"Kanauji",opentypeTag:"BJJ ",htmlTag:"bjj"},{name:"Blackfoot",opentypeTag:"BKF ",htmlTag:"bla"},{name:"Baluchi",opentypeTag:"BLI ",htmlTag:"bal"},{name:"Pa’o Karen",opentypeTag:"BLK ",htmlTag:"blk"},{name:"Balante",opentypeTag:"BLN ",htmlTag:"bjt"},{name:"Balti",opentypeTag:"BLT ",htmlTag:"bft"},{name:"Bambara (Bamanankan)",opentypeTag:"BMB ",htmlTag:"bm"},{name:"Bamileke",opentypeTag:"BML "},{name:"Bosnian",opentypeTag:"BOS ",htmlTag:"bs"},{name:"Bishnupriya Manipuri",opentypeTag:"BPY ",htmlTag:"bpy"},{name:"Breton",opentypeTag:"BRE ",htmlTag:"br"},{name:"Brahui",opentypeTag:"BRH ",htmlTag:"brh"},{name:"Braj Bhasha",opentypeTag:"BRI ",htmlTag:"bra"},{name:"Burmese",opentypeTag:"BRM ",htmlTag:"my"},{name:"Bodo",opentypeTag:"BRX ",htmlTag:"brx"},{name:"Bashkir",opentypeTag:"BSH ",htmlTag:"ba"},{name:"Burushaski",opentypeTag:"BSK ",htmlTag:"bsk"},{name:"Beti",opentypeTag:"BTI ",htmlTag:"btb"},{name:"Batak Simalungun",opentypeTag:"BTS ",htmlTag:"bts"},{name:"Bugis",opentypeTag:"BUG ",htmlTag:"bug"},{name:"Medumba",opentypeTag:"BYV ",htmlTag:"byv"},{name:"Kaqchikel",opentypeTag:"CAK ",htmlTag:"cak"},{name:"Catalan",opentypeTag:"CAT ",htmlTag:"ca"},{name:"Zamboanga Chavacano",opentypeTag:"CBK ",htmlTag:"cbk"},{name:"Chinantec",opentypeTag:"CCHN",htmlTag:"cco"},{name:"Cebuano",opentypeTag:"CEB ",htmlTag:"ceb"},{name:"Chechen",opentypeTag:"CHE ",htmlTag:"ce"},{name:"Chaha Gurage",opentypeTag:"CHG ",htmlTag:"sgw"},{name:"Chattisgarhi",opentypeTag:"CHH ",htmlTag:"hne"},{name:"Chichewa (Chewa, Nyanja)",opentypeTag:"CHI ",htmlTag:"ny"},{name:"Chukchi",opentypeTag:"CHK ",htmlTag:"ckt"},{name:"Chuukese",opentypeTag:"CHK0",htmlTag:"chk"},{name:"Choctaw",opentypeTag:"CHO ",htmlTag:"cho"},{name:"Chipewyan",opentypeTag:"CHP ",htmlTag:"chp"},{name:"Cherokee",opentypeTag:"CHR ",htmlTag:"chr"},{name:"Chamorro",opentypeTag:"CHA ",htmlTag:"ch"},{name:"Chuvash",opentypeTag:"CHU ",htmlTag:"cv"},{name:"Cheyenne",opentypeTag:"CHY ",htmlTag:"chy"},{name:"Chiga",opentypeTag:"CGG ",htmlTag:"cgg"},{name:"Western Cham",opentypeTag:"CJA ",htmlTag:"cja"},{name:"Eastern Cham",opentypeTag:"CJM ",htmlTag:"cjm"},{name:"Comorian",opentypeTag:"CMR ",htmlTag:"swb"},{name:"Coptic",opentypeTag:"COP ",htmlTag:"cop"},{name:"Cornish",opentypeTag:"COR ",htmlTag:"kw"},{name:"Corsican",opentypeTag:"COS ",htmlTag:"co"},{name:"Creoles",opentypeTag:"CPP ",htmlTag:"crp"},{name:"Cree",opentypeTag:"CRE ",htmlTag:"cr"},{name:"Carrier",opentypeTag:"CRR ",htmlTag:"crx"},{name:"Crimean Tatar",opentypeTag:"CRT ",htmlTag:"crh"},{name:"Kashubian",opentypeTag:"CSB ",htmlTag:"csb"},{name:"Church Slavonic",opentypeTag:"CSL ",htmlTag:"cu"},{name:"Czech",opentypeTag:"CSY ",htmlTag:"cs"},{name:"Chittagonian",opentypeTag:"CTG ",htmlTag:"ctg"},{name:"San Blas Kuna",opentypeTag:"CUK ",htmlTag:"cuk"},{name:"Danish",opentypeTag:"DAN ",htmlTag:"da"},{name:"Dargwa",opentypeTag:"DAR ",htmlTag:"dar"},{name:"Dayi",opentypeTag:"DAX ",htmlTag:"dax"},{name:"Woods Cree",opentypeTag:"DCR ",htmlTag:"cwd"},{name:"German",opentypeTag:"DEU ",htmlTag:"de"},{name:"Dogri",opentypeTag:"DGO ",htmlTag:"dgo"},{name:"Dogri",opentypeTag:"DGR ",htmlTag:"doi"},{name:"Dhangu",opentypeTag:"DHG ",htmlTag:"dhg"},{name:"Divehi (Dhivehi, Maldivian)",opentypeTag:"DHV (deprecated)",htmlTag:"dv"},{name:"Dimli",opentypeTag:"DIQ ",htmlTag:"diq"},{name:"Divehi (Dhivehi, Maldivian)",opentypeTag:"DIV ",htmlTag:"dv"},{name:"Zarma",opentypeTag:"DJR ",htmlTag:"dje"},{name:"Djambarrpuyngu",opentypeTag:"DJR0",htmlTag:"djr"},{name:"Dangme",opentypeTag:"DNG ",htmlTag:"ada"},{name:"Dan",opentypeTag:"DNJ ",htmlTag:"dnj"},{name:"Dinka",opentypeTag:"DNK ",htmlTag:"din"},{name:"Dari",opentypeTag:"DRI ",htmlTag:"prs"},{name:"Dhuwal",opentypeTag:"DUJ ",htmlTag:"duj"},{name:"Dungan",opentypeTag:"DUN ",htmlTag:"dng"},{name:"Dzongkha",opentypeTag:"DZN ",htmlTag:"dz"},{name:"Ebira",opentypeTag:"EBI ",htmlTag:"igb"},{name:"Eastern Cree",opentypeTag:"ECR ",htmlTag:"crj"},{name:"Edo",opentypeTag:"EDO ",htmlTag:"bin"},{name:"Efik",opentypeTag:"EFI ",htmlTag:"efi"},{name:"Greek",opentypeTag:"ELL ",htmlTag:"el"},{name:"Eastern Maninkakan",opentypeTag:"EMK ",htmlTag:"emk"},{name:"English",opentypeTag:"ENG ",htmlTag:"en"},{name:"Erzya",opentypeTag:"ERZ ",htmlTag:"myv"},{name:"Spanish",opentypeTag:"ESP ",htmlTag:"es"},{name:"Central Yupik",opentypeTag:"ESU ",htmlTag:"esu"},{name:"Estonian",opentypeTag:"ETI ",htmlTag:"et"},{name:"Basque",opentypeTag:"EUQ ",htmlTag:"eu"},{name:"Evenki",opentypeTag:"EVK ",htmlTag:"evn"},{name:"Even",opentypeTag:"EVN ",htmlTag:"eve"},{name:"Ewe",opentypeTag:"EWE ",htmlTag:"ee"},{name:"French Antillean",opentypeTag:"FAN ",htmlTag:"acf"},{name:"Fang",opentypeTag:"FAN0",htmlTag:"fan"},{name:"Persian",opentypeTag:"FAR ",htmlTag:"fa"},{name:"Fanti",opentypeTag:"FAT ",htmlTag:"fat"},{name:"Finnish",opentypeTag:"FIN ",htmlTag:"fi"},{name:"Fijian",opentypeTag:"FJI ",htmlTag:"fj"},{name:"Dutch (Flemish)",opentypeTag:"FLE ",htmlTag:"vls"},{name:"Fe’fe’",opentypeTag:"FMP ",htmlTag:"fmp"},{name:"Forest Nenets",opentypeTag:"FNE ",htmlTag:"enf"},{name:"Fon",opentypeTag:"FON ",htmlTag:"fon"},{name:"Faroese",opentypeTag:"FOS ",htmlTag:"fo"},{name:"French",opentypeTag:"FRA ",htmlTag:"fr"},{name:"Cajun French",opentypeTag:"FRC ",htmlTag:"frc"},{name:"Frisian",opentypeTag:"FRI ",htmlTag:"fy"},{name:"Friulian",opentypeTag:"FRL ",htmlTag:"fur"},{name:"Arpitan",opentypeTag:"FRP ",htmlTag:"frp"},{name:"Futa",opentypeTag:"FTA ",htmlTag:"fuf"},{name:"Fulah",opentypeTag:"FUL ",htmlTag:"ff"},{name:"Nigerian Fulfulde",opentypeTag:"FUV ",htmlTag:"fuv"},{name:"Ga",opentypeTag:"GAD ",htmlTag:"gaa"},{name:"Scottish Gaelic (Gaelic)",opentypeTag:"GAE ",htmlTag:"gd"},{name:"Gagauz",opentypeTag:"GAG ",htmlTag:"gag"},{name:"Galician",opentypeTag:"GAL ",htmlTag:"gl"},{name:"Garshuni",opentypeTag:"GAR "},{name:"Garhwali",opentypeTag:"GAW ",htmlTag:"gbm"},{name:"Geez",opentypeTag:"GEZ ",htmlTag:"gez"},{name:"Githabul",opentypeTag:"GIH ",htmlTag:"gih"},{name:"Gilyak",opentypeTag:"GIL ",htmlTag:"niv"},{name:"Kiribati (Gilbertese)",opentypeTag:"GIL0",htmlTag:"gil"},{name:"Kpelle (Guinea)",opentypeTag:"GKP ",htmlTag:"gkp"},{name:"Gilaki",opentypeTag:"GLK ",htmlTag:"glk"},{name:"Gumuz",opentypeTag:"GMZ ",htmlTag:"guk"},{name:"Gumatj",opentypeTag:"GNN ",htmlTag:"gnn"},{name:"Gogo",opentypeTag:"GOG ",htmlTag:"gog"},{name:"Gondi",opentypeTag:"GON ",htmlTag:"gon"},{name:"Greenlandic",opentypeTag:"GRN ",htmlTag:"kl"},{name:"Garo",opentypeTag:"GRO ",htmlTag:"grt"},{name:"Guarani",opentypeTag:"GUA ",htmlTag:"gn"},{name:"Wayuu",opentypeTag:"GUC ",htmlTag:"guc"},{name:"Gupapuyngu",opentypeTag:"GUF ",htmlTag:"guf"},{name:"Gujarati",opentypeTag:"GUJ ",htmlTag:"gu"},{name:"Gusii",opentypeTag:"GUZ ",htmlTag:"guz"},{name:"Haitian (Haitian Creole)",opentypeTag:"HAI ",htmlTag:"ht"},{name:"Halam (Falam Chin)",opentypeTag:"HAL ",htmlTag:"flm"},{name:"Harauti",opentypeTag:"HAR ",htmlTag:"hoj"},{name:"Hausa",opentypeTag:"HAU ",htmlTag:"ha"},{name:"Hawaiian",opentypeTag:"HAW ",htmlTag:"haw"},{name:"Haya",opentypeTag:"HAY ",htmlTag:"hay"},{name:"Hazaragi",opentypeTag:"HAZ ",htmlTag:"haz"},{name:"Hammer-Banna",opentypeTag:"HBN ",htmlTag:"amf"},{name:"Herero",opentypeTag:"HER ",htmlTag:"hz"},{name:"Hiligaynon",opentypeTag:"HIL ",htmlTag:"hil"},{name:"Hindi",opentypeTag:"HIN ",htmlTag:"hi"},{name:"High Mari",opentypeTag:"HMA ",htmlTag:"mrj"},{name:"Hmong",opentypeTag:"HMN ",htmlTag:"hmn"},{name:"Hiri Motu",opentypeTag:"HMO ",htmlTag:"ho"},{name:"Hindko",opentypeTag:"HND ",htmlTag:"hno"},{name:"Ho",opentypeTag:"HO",htmlTag:"hoc"},{name:"Harari",opentypeTag:"HRI ",htmlTag:"har"},{name:"Croatian",opentypeTag:"HRV ",htmlTag:"hr"},{name:"Hungarian",opentypeTag:"HUN ",htmlTag:"hu"},{name:"Armenian",opentypeTag:"HYE ",htmlTag:"hy"},{name:"Armenian East",opentypeTag:"HYE0",htmlTag:"hy"},{name:"Iban",opentypeTag:"IBA ",htmlTag:"iba"},{name:"Ibibio",opentypeTag:"IBB ",htmlTag:"ibb"},{name:"Igbo",opentypeTag:"IBO ",htmlTag:"ig"},{name:"Ijo languages",opentypeTag:"IJO ",htmlTag:"ijc"},{name:"Ido",opentypeTag:"IDO ",htmlTag:"io"},{name:"Interlingue",opentypeTag:"ILE ",htmlTag:"ie"},{name:"Ilokano",opentypeTag:"ILO ",htmlTag:"ilo"},{name:"Interlingua",opentypeTag:"INA ",htmlTag:"ia"},{name:"Indonesian",opentypeTag:"IND ",htmlTag:"id"},{name:"Ingush",opentypeTag:"ING ",htmlTag:"inh"},{name:"Inuktitut",opentypeTag:"INU ",htmlTag:"iu"},{name:"Inupiat",opentypeTag:"IPK ",htmlTag:"ik"},{name:"Phonetic transcription—IPA conventions",opentypeTag:"IPPH"},{name:"Irish",opentypeTag:"IRI ",htmlTag:"ga"},{name:"Irish Traditional",opentypeTag:"IRT ",htmlTag:"ga"},{name:"Icelandic",opentypeTag:"ISL ",htmlTag:"is"},{name:"Inari Sami",opentypeTag:"ISM ",htmlTag:"smn"},{name:"Italian",opentypeTag:"ITA ",htmlTag:"it"},{name:"Hebrew",opentypeTag:"IWR ",htmlTag:"he"},{name:"Jamaican Creole",opentypeTag:"JAM ",htmlTag:"jam"},{name:"Japanese",opentypeTag:"JAN ",htmlTag:"ja"},{name:"Javanese",opentypeTag:"JAV ",htmlTag:"jv"},{name:"Lojban",opentypeTag:"JBO ",htmlTag:"jbo"},{name:"Krymchak",opentypeTag:"JCT ",htmlTag:"jct"},{name:"Yiddish",opentypeTag:"JII ",htmlTag:"yi"},{name:"Ladino",opentypeTag:"JUD ",htmlTag:"lad"},{name:"Jula",opentypeTag:"JUL ",htmlTag:"dyu"},{name:"Kabardian",opentypeTag:"KAB ",htmlTag:"kbd"},{name:"Kabyle",opentypeTag:"KAB0",htmlTag:"kab"},{name:"Kachchi",opentypeTag:"KAC ",htmlTag:"kfr"},{name:"Kalenjin",opentypeTag:"KAL ",htmlTag:"kln"},{name:"Kannada",opentypeTag:"KAN ",htmlTag:"kn"},{name:"Karachay",opentypeTag:"KAR ",htmlTag:"krc"},{name:"Georgian",opentypeTag:"KAT ",htmlTag:"ka"},{name:"Kazakh",opentypeTag:"KAZ ",htmlTag:"kk"},{name:"Makonde",opentypeTag:"KDE ",htmlTag:"kde"},{name:"Kabuverdianu (Crioulo)",opentypeTag:"KEA ",htmlTag:"kea"},{name:"Kebena",opentypeTag:"KEB ",htmlTag:"ktb"},{name:"Kekchi",opentypeTag:"KEK ",htmlTag:"kek"},{name:"Khutsuri Georgian",opentypeTag:"KGE ",htmlTag:"ka"},{name:"Khakass",opentypeTag:"KHA ",htmlTag:"kjh"},{name:"Khanty-Kazim",opentypeTag:"KHK ",htmlTag:"kca"},{name:"Khmer",opentypeTag:"KHM ",htmlTag:"km"},{name:"Khanty-Shurishkar",opentypeTag:"KHS ",htmlTag:"kca"},{name:"Khamti Shan",opentypeTag:"KHT ",htmlTag:"kht"},{name:"Khanty-Vakhi",opentypeTag:"KHV ",htmlTag:"kca"},{name:"Khowar",opentypeTag:"KHW ",htmlTag:"khw"},{name:"Kikuyu (Gikuyu)",opentypeTag:"KIK ",htmlTag:"ki"},{name:"Kirghiz (Kyrgyz)",opentypeTag:"KIR ",htmlTag:"ky"},{name:"Kisii",opentypeTag:"KIS ",htmlTag:"kqs"},{name:"Kirmanjki",opentypeTag:"KIU ",htmlTag:"kiu"},{name:"Southern Kiwai",opentypeTag:"KJD ",htmlTag:"kjd"},{name:"Eastern Pwo Karen",opentypeTag:"KJP ",htmlTag:"kjp"},{name:"Bumthangkha",opentypeTag:"KJZ ",htmlTag:"kjz"},{name:"Kokni",opentypeTag:"KKN ",htmlTag:"kex"},{name:"Kalmyk",opentypeTag:"KLM ",htmlTag:"xal"},{name:"Kamba",opentypeTag:"KMB ",htmlTag:"kam"},{name:"Kumaoni",opentypeTag:"KMN ",htmlTag:"kfy"},{name:"Komo",opentypeTag:"KMO ",htmlTag:"kmw"},{name:"Komso",opentypeTag:"KMS ",htmlTag:"kxc"},{name:"Khorasani Turkic",opentypeTag:"KMZ ",htmlTag:"kmz"},{name:"Kanuri",opentypeTag:"KNR ",htmlTag:"kr"},{name:"Kodagu",opentypeTag:"KOD ",htmlTag:"kfa"},{name:"Korean Old Hangul",opentypeTag:"KOH ",htmlTag:"okm"},{name:"Konkani",opentypeTag:"KOK ",htmlTag:"kok"},{name:"Kikongo",opentypeTag:"KON ",htmlTag:"ktu"},{name:"Komi",opentypeTag:"KOM ",htmlTag:"kv"},{name:"Kongo",opentypeTag:"KON0",htmlTag:"kg"},{name:"Komi-Permyak",opentypeTag:"KOP ",htmlTag:"koi"},{name:"Korean",opentypeTag:"KOR ",htmlTag:"ko"},{name:"Kosraean",opentypeTag:"KOS ",htmlTag:"kos"},{name:"Komi-Zyrian",opentypeTag:"KOZ ",htmlTag:"kpv"},{name:"Kpelle",opentypeTag:"KPL ",htmlTag:"kpe"},{name:"Krio",opentypeTag:"KRI ",htmlTag:"kri"},{name:"Karakalpak",opentypeTag:"KRK ",htmlTag:"kaa"},{name:"Karelian",opentypeTag:"KRL ",htmlTag:"krl"},{name:"Karaim",opentypeTag:"KRM ",htmlTag:"kdr"},{name:"Karen",opentypeTag:"KRN ",htmlTag:"kar"},{name:"Koorete",opentypeTag:"KRT ",htmlTag:"kqy"},{name:"Kashmiri",opentypeTag:"KSH ",htmlTag:"ks"},{name:"Ripuarian",opentypeTag:"KSH0",htmlTag:"ksh"},{name:"Khasi",opentypeTag:"KSI ",htmlTag:"kha"},{name:"Kildin Sami",opentypeTag:"KSM ",htmlTag:"sjd"},{name:"S’gaw Karen",opentypeTag:"KSW ",htmlTag:"ksw"},{name:"Kuanyama",opentypeTag:"KUA ",htmlTag:"kj"},{name:"Kui",opentypeTag:"KUI ",htmlTag:"kxu"},{name:"Kulvi",opentypeTag:"KUL ",htmlTag:"kfx"},{name:"Kumyk",opentypeTag:"KUM ",htmlTag:"kum"},{name:"Kurdish",opentypeTag:"KUR ",htmlTag:"ku"},{name:"Kurukh",opentypeTag:"KUU ",htmlTag:"kru"},{name:"Kuy",opentypeTag:"KUY ",htmlTag:"kdt"},{name:"Koryak",opentypeTag:"KYK ",htmlTag:"kpy"},{name:"Western Kayah",opentypeTag:"KYU ",htmlTag:"kyu"},{name:"Ladin",opentypeTag:"LAD ",htmlTag:"lld"},{name:"Lahuli",opentypeTag:"LAH ",htmlTag:"bfu"},{name:"Lak",opentypeTag:"LAK ",htmlTag:"lbe"},{name:"Lambani",opentypeTag:"LAM ",htmlTag:"lmn"},{name:"Lao",opentypeTag:"LAO ",htmlTag:"lo"},{name:"Latin",opentypeTag:"LAT ",htmlTag:"la"},{name:"Laz",opentypeTag:"LAZ ",htmlTag:"lzz"},{name:"L-Cree",opentypeTag:"LCR ",htmlTag:"crm"},{name:"Ladakhi",opentypeTag:"LDK ",htmlTag:"lbj"},{name:"Lezgi",opentypeTag:"LEZ ",htmlTag:"lez"},{name:"Ligurian",opentypeTag:"LIJ ",htmlTag:"lij"},{name:"Limburgish",opentypeTag:"LIM ",htmlTag:"li"},{name:"Lingala",opentypeTag:"LIN ",htmlTag:"ln"},{name:"Lisu",opentypeTag:"LIS ",htmlTag:"lis"},{name:"Lampung",opentypeTag:"LJP ",htmlTag:"ljp"},{name:"Laki",opentypeTag:"LKI ",htmlTag:"lki"},{name:"Low Mari",opentypeTag:"LMA ",htmlTag:"mhr"},{name:"Limbu",opentypeTag:"LMB ",htmlTag:"lif"},{name:"Lombard",opentypeTag:"LMO ",htmlTag:"lmo"},{name:"Lomwe",opentypeTag:"LMW ",htmlTag:"ngl"},{name:"Loma",opentypeTag:"LOM ",htmlTag:"lom"},{name:"Luri",opentypeTag:"LRC ",htmlTag:"lrc"},{name:"Lower Sorbian",opentypeTag:"LSB ",htmlTag:"dsb"},{name:"Lule Sami",opentypeTag:"LSM ",htmlTag:"smj"},{name:"Lithuanian",opentypeTag:"LTH ",htmlTag:"lt"},{name:"Luxembourgish",opentypeTag:"LTZ ",htmlTag:"lb"},{name:"Luba-Lulua",opentypeTag:"LUA ",htmlTag:"lua"},{name:"Luba-Katanga",opentypeTag:"LUB ",htmlTag:"lu"},{name:"Ganda",opentypeTag:"LUG ",htmlTag:"lg"},{name:"Luyia",opentypeTag:"LUH ",htmlTag:"luy"},{name:"Luo",opentypeTag:"LUO ",htmlTag:"luo"},{name:"Latvian",opentypeTag:"LVI ",htmlTag:"lv"},{name:"Madura",opentypeTag:"MAD ",htmlTag:"mad"},{name:"Magahi",opentypeTag:"MAG ",htmlTag:"mag"},{name:"Marshallese",opentypeTag:"MAH ",htmlTag:"mh"},{name:"Majang",opentypeTag:"MAJ ",htmlTag:"mpe"},{name:"Makhuwa",opentypeTag:"MAK ",htmlTag:"vmw"},{name:"Malayalam",opentypeTag:"MAL ",htmlTag:"ml"},{name:"Mam",opentypeTag:"MAM ",htmlTag:"mam"},{name:"Mansi",opentypeTag:"MAN ",htmlTag:"mns"},{name:"Mapudungun",opentypeTag:"MAP ",htmlTag:"arn"},{name:"Marathi",opentypeTag:"MAR ",htmlTag:"mr"},{name:"Marwari",opentypeTag:"MAW ",htmlTag:"mwr"},{name:"Mbundu",opentypeTag:"MBN ",htmlTag:"kmb"},{name:"Mbo",opentypeTag:"MBO ",htmlTag:"mbo"},{name:"Manchu",opentypeTag:"MCH ",htmlTag:"mnc"},{name:"Moose Cree",opentypeTag:"MCR ",htmlTag:"crm"},{name:"Mende",opentypeTag:"MDE ",htmlTag:"men"},{name:"Mandar",opentypeTag:"MDR ",htmlTag:"mdr"},{name:"Me’en",opentypeTag:"MEN ",htmlTag:"mym"},{name:"Meru",opentypeTag:"MER ",htmlTag:"mer"},{name:"Pattani Malay",opentypeTag:"MFA ",htmlTag:"mfa"},{name:"Morisyen",opentypeTag:"MFE ",htmlTag:"mfe"},{name:"Minangkabau",opentypeTag:"MIN ",htmlTag:"min"},{name:"Mizo",opentypeTag:"MIZ ",htmlTag:"lus"},{name:"Macedonian",opentypeTag:"MKD ",htmlTag:"mk"},{name:"Makasar",opentypeTag:"MKR ",htmlTag:"mak"},{name:"Kituba",opentypeTag:"MKW ",htmlTag:"mkw"},{name:"Male",opentypeTag:"MLE ",htmlTag:"mdy"},{name:"Malagasy",opentypeTag:"MLG ",htmlTag:"mg"},{name:"Malinke",opentypeTag:"MLN ",htmlTag:"mlq"},{name:"Malayalam Reformed",opentypeTag:"MLR ",htmlTag:"ml"},{name:"Malay",opentypeTag:"MLY ",htmlTag:"ms"},{name:"Mandinka",opentypeTag:"MND ",htmlTag:"mnk"},{name:"Mongolian",opentypeTag:"MNG ",htmlTag:"mn"},{name:"Manipuri",opentypeTag:"MNI ",htmlTag:"mni"},{name:"Maninka",opentypeTag:"MNK ",htmlTag:"man"},{name:"Manx",opentypeTag:"MNX ",htmlTag:"gv"},{name:"Mohawk",opentypeTag:"MOH ",htmlTag:"moh"},{name:"Moksha",opentypeTag:"MOK ",htmlTag:"mdf"},{name:"Moldavian",opentypeTag:"MOL ",htmlTag:"mol"},{name:"Mon",opentypeTag:"MON ",htmlTag:"mnw"},{name:"Moroccan",opentypeTag:"MOR "},{name:"Mossi",opentypeTag:"MOS ",htmlTag:"mos"},{name:"Maori",opentypeTag:"MRI ",htmlTag:"mi"},{name:"Maithili",opentypeTag:"MTH ",htmlTag:"mai"},{name:"Maltese",opentypeTag:"MTS ",htmlTag:"mt"},{name:"Mundari",opentypeTag:"MUN ",htmlTag:"unr"},{name:"Muscogee",opentypeTag:"MUS ",htmlTag:"mus"},{name:"Mirandese",opentypeTag:"MWL ",htmlTag:"mwl"},{name:"Hmong Daw",opentypeTag:"MWW ",htmlTag:"mww"},{name:"Mayan",opentypeTag:"MYN ",htmlTag:"myn"},{name:"Mazanderani",opentypeTag:"MZN ",htmlTag:"mzn"},{name:"Naga-Assamese",opentypeTag:"NAG ",htmlTag:"nag"},{name:"Nahuatl",opentypeTag:"NAH ",htmlTag:"nah"},{name:"Nanai",opentypeTag:"NAN ",htmlTag:"gld"},{name:"Neapolitan",opentypeTag:"NAP ",htmlTag:"nap"},{name:"Naskapi",opentypeTag:"NAS ",htmlTag:"nsk"},{name:"Nauruan",opentypeTag:"NAU ",htmlTag:"na"},{name:"Navajo",opentypeTag:"NAV ",htmlTag:"nv"},{name:"N-Cree",opentypeTag:"NCR ",htmlTag:"csw"},{name:"Ndebele",opentypeTag:"NDB ",htmlTag:"nr"},{name:"Ndau",opentypeTag:"NDC ",htmlTag:"ndc"},{name:"Ndonga",opentypeTag:"NDG ",htmlTag:"ng"},{name:"Low Saxon",opentypeTag:"NDS ",htmlTag:"nds"},{name:"Nepali",opentypeTag:"NEP ",htmlTag:"ne"},{name:"Newari",opentypeTag:"NEW ",htmlTag:"new"},{name:"Ngbaka",opentypeTag:"NGA ",htmlTag:"nga"},{name:"Nagari",opentypeTag:"NGR "},{name:"Norway House Cree",opentypeTag:"NHC ",htmlTag:"csw"},{name:"Nisi",opentypeTag:"NIS ",htmlTag:"dap"},{name:"Niuean",opentypeTag:"NIU ",htmlTag:"niu"},{name:"Nyankole",opentypeTag:"NKL ",htmlTag:"nyn"},{name:"N’Ko",opentypeTag:"NKO ",htmlTag:"nqo"},{name:"Dutch",opentypeTag:"NLD ",htmlTag:"nl"},{name:"Nimadi",opentypeTag:"NOE ",htmlTag:"noe"},{name:"Nogai",opentypeTag:"NOG ",htmlTag:"nog"},{name:"Norwegian",opentypeTag:"NOR ",htmlTag:"nb"},{name:"Novial",opentypeTag:"NOV ",htmlTag:"nov"},{name:"Northern Sami",opentypeTag:"NSM ",htmlTag:"se"},{name:"Sotho, Northern",opentypeTag:"NSO ",htmlTag:"nso"},{name:"Northern Tai",opentypeTag:"NTA ",htmlTag:"nod"},{name:"Esperanto",opentypeTag:"NTO ",htmlTag:"eo"},{name:"Nyamwezi",opentypeTag:"NYM ",htmlTag:"nym"},{name:"Norwegian Nynorsk (Nynorsk, Norwegian)",opentypeTag:"NYN ",htmlTag:"nn"},{name:"Mbembe Tigon",opentypeTag:"NZA ",htmlTag:"nza"},{name:"Occitan",opentypeTag:"OCI ",htmlTag:"oc"},{name:"Oji-Cree",opentypeTag:"OCR ",htmlTag:"ojs"},{name:"Ojibway",opentypeTag:"OJB ",htmlTag:"oj"},{name:"Odia (formerly Oriya)",opentypeTag:"ORI ",htmlTag:"or"},{name:"Oromo",opentypeTag:"ORO ",htmlTag:"om"},{name:"Ossetian",opentypeTag:"OSS ",htmlTag:"os"},{name:"Palestinian Aramaic",opentypeTag:"PAA ",htmlTag:"sam"},{name:"Pangasinan",opentypeTag:"PAG ",htmlTag:"pag"},{name:"Pali",opentypeTag:"PAL ",htmlTag:"pi"},{name:"Pampangan",opentypeTag:"PAM ",htmlTag:"pam"},{name:"Punjabi",opentypeTag:"PAN ",htmlTag:"pa"},{name:"Palpa",opentypeTag:"PAP ",htmlTag:"plp"},{name:"Papiamentu",opentypeTag:"PAP0",htmlTag:"pap"},{name:"Pashto",opentypeTag:"PAS ",htmlTag:"ps"},{name:"Palauan",opentypeTag:"PAU ",htmlTag:"pau"},{name:"Bouyei",opentypeTag:"PCC ",htmlTag:"pcc"},{name:"Picard",opentypeTag:"PCD ",htmlTag:"pcd"},{name:"Pennsylvania German",opentypeTag:"PDC ",htmlTag:"pdc"},{name:"Polytonic Greek",opentypeTag:"PGR ",htmlTag:"el"},{name:"Phake",opentypeTag:"PHK ",htmlTag:"phk"},{name:"Norfolk",opentypeTag:"PIH ",htmlTag:"pih"},{name:"Filipino",opentypeTag:"PIL ",htmlTag:"fil"},{name:"Palaung",opentypeTag:"PLG ",htmlTag:"pce"},{name:"Polish",opentypeTag:"PLK ",htmlTag:"pl"},{name:"Piemontese",opentypeTag:"PMS ",htmlTag:"pms"},{name:"Western Panjabi",opentypeTag:"PNB ",htmlTag:"pnb"},{name:"Pocomchi",opentypeTag:"POH ",htmlTag:"poh"},{name:"Pohnpeian",opentypeTag:"PON ",htmlTag:"pon"},{name:"Provençal / Old Provençal",opentypeTag:"PRO ",htmlTag:"pro"},{name:"Portuguese",opentypeTag:"PTG ",htmlTag:"pt"},{name:"Western Pwo Karen",opentypeTag:"PWO ",htmlTag:"pwo"},{name:"Chin",opentypeTag:"QIN ",htmlTag:"bgr"},{name:"K’iche’",opentypeTag:"QUC ",htmlTag:"quc"},{name:"Quechua (Bolivia)",opentypeTag:"QUH ",htmlTag:"quh"},{name:"Quechua",opentypeTag:"QUZ ",htmlTag:"quz"},{name:"Quechua (Ecuador)",opentypeTag:"QVI ",htmlTag:"qvi"},{name:"Quechua (Peru)",opentypeTag:"QWH ",htmlTag:"qwh"},{name:"Rajasthani",opentypeTag:"RAJ ",htmlTag:"raj"},{name:"Rarotongan",opentypeTag:"RAR ",htmlTag:"rar"},{name:"Russian Buriat",opentypeTag:"RBU ",htmlTag:"bxr"},{name:"R-Cree",opentypeTag:"RCR ",htmlTag:"atj"},{name:"Rejang",opentypeTag:"REJ ",htmlTag:"rej"},{name:"Riang",opentypeTag:"RIA ",htmlTag:"ria"},{name:"Tarifit",opentypeTag:"RIF ",htmlTag:"rif"},{name:"Ritarungo",opentypeTag:"RIT ",htmlTag:"rit"},{name:"Arakwal",opentypeTag:"RKW ",htmlTag:"rkw"},{name:"Romansh",opentypeTag:"RMS ",htmlTag:"rm"},{name:"Vlax Romani",opentypeTag:"RMY ",htmlTag:"rmy"},{name:"Romanian",opentypeTag:"ROM ",htmlTag:"ro"},{name:"Romany",opentypeTag:"ROY ",htmlTag:"rom"},{name:"Rusyn",opentypeTag:"RSY ",htmlTag:"rue"},{name:"Rotuman",opentypeTag:"RTM ",htmlTag:"rtm"},{name:"Kinyarwanda",opentypeTag:"RUA ",htmlTag:"rw"},{name:"Rundi",opentypeTag:"RUN ",htmlTag:"rn"},{name:"Aromanian",opentypeTag:"RUP ",htmlTag:"rup"},{name:"Russian",opentypeTag:"RUS ",htmlTag:"ru"},{name:"Sadri",opentypeTag:"SAD ",htmlTag:"sck"},{name:"Sanskrit",opentypeTag:"SAN ",htmlTag:"sa"},{name:"Sasak",opentypeTag:"SAS ",htmlTag:"sas"},{name:"Santali",opentypeTag:"SAT ",htmlTag:"sat"},{name:"Sayisi",opentypeTag:"SAY ",htmlTag:"chp"},{name:"Sicilian",opentypeTag:"SCN ",htmlTag:"scn"},{name:"Scots",opentypeTag:"SCO ",htmlTag:"sco"},{name:"Sekota",opentypeTag:"SEK ",htmlTag:"xan"},{name:"Selkup",opentypeTag:"SEL ",htmlTag:"sel"},{name:"Old Irish",opentypeTag:"SGA ",htmlTag:"sga"},{name:"Sango",opentypeTag:"SGO ",htmlTag:"sg"},{name:"Samogitian",opentypeTag:"SGS ",htmlTag:"sgs"},{name:"Tachelhit",opentypeTag:"SHI ",htmlTag:"shi"},{name:"Shan",opentypeTag:"SHN ",htmlTag:"shn"},{name:"Sibe",opentypeTag:"SIB ",htmlTag:"sjo"},{name:"Sidamo",opentypeTag:"SID ",htmlTag:"sid"},{name:"Silte Gurage",opentypeTag:"SIG ",htmlTag:"xst"},{name:"Skolt Sami",opentypeTag:"SKS ",htmlTag:"sms"},{name:"Slovak",opentypeTag:"SKY ",htmlTag:"sk"},{name:"North Slavey",opentypeTag:"SCS ",htmlTag:"scs"},{name:"Slavey",opentypeTag:"SLA ",htmlTag:"scs"},{name:"Slovenian",opentypeTag:"SLV ",htmlTag:"sl"},{name:"Somali",opentypeTag:"SML ",htmlTag:"so"},{name:"Samoan",opentypeTag:"SMO ",htmlTag:"sm"},{name:"Sena",opentypeTag:"SNA ",htmlTag:"seh"},{name:"Shona",opentypeTag:"SNA0",htmlTag:"sn"},{name:"Sindhi",opentypeTag:"SND ",htmlTag:"sd"},{name:"Sinhala (Sinhalese)",opentypeTag:"SNH ",htmlTag:"si"},{name:"Soninke",opentypeTag:"SNK ",htmlTag:"snk"},{name:"Sodo Gurage",opentypeTag:"SOG ",htmlTag:"gru"},{name:"Songe",opentypeTag:"SOP ",htmlTag:"sop"},{name:"Sotho, Southern",opentypeTag:"SOT ",htmlTag:"st"},{name:"Albanian",opentypeTag:"SQI ",htmlTag:"sq"},{name:"Serbian",opentypeTag:"SRB ",htmlTag:"sr"},{name:"Sardinian",opentypeTag:"SRD ",htmlTag:"sc"},{name:"Saraiki",opentypeTag:"SRK ",htmlTag:"skr"},{name:"Serer",opentypeTag:"SRR ",htmlTag:"srr"},{name:"South Slavey",opentypeTag:"SSL ",htmlTag:"xsl"},{name:"Southern Sami",opentypeTag:"SSM ",htmlTag:"sma"},{name:"Saterland Frisian",opentypeTag:"STQ ",htmlTag:"stq"},{name:"Sukuma",opentypeTag:"SUK ",htmlTag:"suk"},{name:"Sundanese",opentypeTag:"SUN ",htmlTag:"su"},{name:"Suri",opentypeTag:"SUR ",htmlTag:"suq"},{name:"Svan",opentypeTag:"SVA ",htmlTag:"sva"},{name:"Swedish",opentypeTag:"SVE ",htmlTag:"sv"},{name:"Swadaya Aramaic",opentypeTag:"SWA ",htmlTag:"aii"},{name:"Swahili",opentypeTag:"SWK ",htmlTag:"sw"},{name:"Swati",opentypeTag:"SWZ ",htmlTag:"ss"},{name:"Sutu",opentypeTag:"SXT ",htmlTag:"ngo"},{name:"Upper Saxon",opentypeTag:"SXU ",htmlTag:"sxu"},{name:"Sylheti",opentypeTag:"SYL ",htmlTag:"syl"},{name:"Syriac",opentypeTag:"SYR ",htmlTag:"aii"},{name:"Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre')",opentypeTag:"SYRE",htmlTag:"syc"},{name:"Syriac, Western script-variant (equivalent to ISO 15924 'Syrj')",opentypeTag:"SYRJ",htmlTag:"syc"},{name:"Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn')",opentypeTag:"SYRN",htmlTag:"syc"},{name:"Silesian",opentypeTag:"SZL ",htmlTag:"szl"},{name:"Tabasaran",opentypeTag:"TAB ",htmlTag:"tab"},{name:"Tajiki",opentypeTag:"TAJ ",htmlTag:"tg"},{name:"Tamil",opentypeTag:"TAM ",htmlTag:"ta"},{name:"Tatar",opentypeTag:"TAT ",htmlTag:"tt"},{name:"TH-Cree",opentypeTag:"TCR ",htmlTag:"cwd"},{name:"Dehong Dai",opentypeTag:"TDD ",htmlTag:"tdd"},{name:"Telugu",opentypeTag:"TEL ",htmlTag:"te"},{name:"Tetum",opentypeTag:"TET ",htmlTag:"tet"},{name:"Tagalog",opentypeTag:"TGL ",htmlTag:"tl"},{name:"Tongan",opentypeTag:"TGN ",htmlTag:"to"},{name:"Tigre",opentypeTag:"TGR ",htmlTag:"tig"},{name:"Tigrinya",opentypeTag:"TGY ",htmlTag:"ti"},{name:"Thai",opentypeTag:"THA ",htmlTag:"th"},{name:"Tahitian",opentypeTag:"THT ",htmlTag:"ty"},{name:"Tibetan",opentypeTag:"TIB ",htmlTag:"bo"},{name:"Tiv",opentypeTag:"TIV ",htmlTag:"tiv"},{name:"Turkmen",opentypeTag:"TKM ",htmlTag:"tk"},{name:"Tamashek",opentypeTag:"TMH ",htmlTag:"tmh"},{name:"Temne",opentypeTag:"TMN ",htmlTag:"tem"},{name:"Tswana",opentypeTag:"TNA ",htmlTag:"tn"},{name:"Tundra Nenets",opentypeTag:"TNE ",htmlTag:"enh"},{name:"Tonga",opentypeTag:"TNG ",htmlTag:"toi"},{name:"Todo",opentypeTag:"TOD ",htmlTag:"xal"},{name:"Toma",opentypeTag:"TOD0",htmlTag:"tod"},{name:"Tok Pisin",opentypeTag:"TPI ",htmlTag:"tpi"},{name:"Turkish",opentypeTag:"TRK ",htmlTag:"tr"},{name:"Tsonga",opentypeTag:"TSG ",htmlTag:"ts"},{name:"Tshangla",opentypeTag:"TSJ ",htmlTag:"tsj"},{name:"Turoyo Aramaic",opentypeTag:"TUA ",htmlTag:"tru"},{name:"Tulu",opentypeTag:"TUM ",htmlTag:"tum"},{name:"Tumbuka",opentypeTag:"TUL ",htmlTag:"tcy"},{name:"Tuvin",opentypeTag:"TUV ",htmlTag:"tyv"},{name:"Tuvalu",opentypeTag:"TVL ",htmlTag:"tvl"},{name:"Twi",opentypeTag:"TWI ",htmlTag:"ak"},{name:"Tày",opentypeTag:"TYZ ",htmlTag:"tyz"},{name:"Tamazight",opentypeTag:"TZM ",htmlTag:"tzm"},{name:"Tzotzil",opentypeTag:"TZO ",htmlTag:"tzo"},{name:"Udmurt",opentypeTag:"UDM ",htmlTag:"udm"},{name:"Ukrainian",opentypeTag:"UKR ",htmlTag:"uk"},{name:"Umbundu",opentypeTag:"UMB ",htmlTag:"umb"},{name:"Urdu",opentypeTag:"URD ",htmlTag:"ur"},{name:"Upper Sorbian",opentypeTag:"USB ",htmlTag:"hsb"},{name:"Uyghur",opentypeTag:"UYG ",htmlTag:"ug"},{name:"Uzbek",opentypeTag:"UZB ",htmlTag:"uz"},{name:"Venetian",opentypeTag:"VEC ",htmlTag:"vec"},{name:"Venda",opentypeTag:"VEN ",htmlTag:"ve"},{name:"Vietnamese",opentypeTag:"VIT ",htmlTag:"vi"},{name:"Volapük",opentypeTag:"VOL ",htmlTag:"vo"},{name:"Võro",opentypeTag:"VRO ",htmlTag:"vro"},{name:"Wa",opentypeTag:"WA",htmlTag:"wbm"},{name:"Wagdi",opentypeTag:"WAG ",htmlTag:"wbr"},{name:"Waray-Waray",opentypeTag:"WAR ",htmlTag:"war"},{name:"West-Cree",opentypeTag:"WCR ",htmlTag:"crk"},{name:"Welsh",opentypeTag:"WEL ",htmlTag:"cy"},{name:"Walloon",opentypeTag:"WLN ",htmlTag:"wa"},{name:"Wolof",opentypeTag:"WLF ",htmlTag:"wo"},{name:"Mewati",opentypeTag:"WTM ",htmlTag:"wtm"},{name:"Lü",opentypeTag:"XBD ",htmlTag:"khb"},{name:"Khengkha",opentypeTag:"XKF ",htmlTag:"xkf"},{name:"Xhosa",opentypeTag:"XHS ",htmlTag:"xh"},{name:"Minjangbal",opentypeTag:"XJB ",htmlTag:"xjb"},{name:"Soga",opentypeTag:"XOG ",htmlTag:"xog"},{name:"Kpelle (Liberia)",opentypeTag:"XPE ",htmlTag:"xpe"},{name:"Sakha",opentypeTag:"YAK ",htmlTag:"sah"},{name:"Yao",opentypeTag:"YAO ",htmlTag:"yao"},{name:"Yapese",opentypeTag:"YAP ",htmlTag:"yap"},{name:"Yoruba",opentypeTag:"YBA ",htmlTag:"yo"},{name:"Y-Cree",opentypeTag:"YCR ",htmlTag:"cr"},{name:"Yi Classic",opentypeTag:"YIC "},{name:"Yi Modern",opentypeTag:"YIM ",htmlTag:"ii"},{name:"Zealandic",opentypeTag:"ZEA ",htmlTag:"zea"},{name:"Standard Moroccan Tamazight",opentypeTag:"ZGH ",htmlTag:"zgh"},{name:"Zhuang",opentypeTag:"ZHA ",htmlTag:"za"},{name:"Chinese, Hong Kong SAR",opentypeTag:"ZHH ",htmlTag:"zh"},{name:"Chinese Phonetic",opentypeTag:"ZHP ",htmlTag:"zh"},{name:"Chinese Simplified",opentypeTag:"ZHS ",htmlTag:"zh"},{name:"Chinese Traditional",opentypeTag:"ZHT ",htmlTag:"zh"},{name:"Zande",opentypeTag:"ZND ",htmlTag:"zne"},{name:"Zulu",opentypeTag:"ZUL ",htmlTag:"zu"},{name:"Zazaki",opentypeTag:"ZZA ",htmlTag:"zza"}]},c8d5:function(e,t,n){},c9d4:function(e,t,n){"use strict";var a=n("c8d5"),i=n.n(a);i.a},cee9:function(e,t,n){},d210:function(e,t,n){"use strict";var a=n("b3a8"),i=n.n(a);i.a},d3f8:function(e,t,n){"use strict";var a=n("52b0"),i=n.n(a);i.a},db56:function(e,t,n){"use strict";var a=n("11c9"),i=n.n(a);i.a},dd01:function(e,t,n){},e42c:function(e,t,n){"use strict";var a=n("badd"),i=n.n(a);i.a},e89a:function(e,t,n){},e8f1:function(e,t,n){},e94f:function(e,t,n){"use strict";var a=n("9f21"),i=n.n(a);i.a},ece0:function(e,t,n){"use strict";var a=n("dd01"),i=n.n(a);i.a},f5b7:function(e,t,n){"use strict";var a=n("e8f1"),i=n.n(a);i.a},fc32:function(e,t,n){},fdb4:function(e,t,n){"use strict";var a=n("96a1"),i=n.n(a);i.a}}); -//# sourceMappingURL=app.1ab06575.js.map \ No newline at end of file diff --git a/js/app.1ab06575.js.map b/js/app.1ab06575.js.map deleted file mode 100644 index 7b754c6..0000000 --- a/js/app.1ab06575.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/FileDrop.vue?20ae","webpack:///./src/views/Home.vue?b8ab","webpack:///./src/components/layout/FitMe.vue?9e9b","webpack:///./src/components/LanguagePanel.vue?c6bb","webpack:///./src/components/UiColorPicker.vue?bba8","webpack:///./src/models/opentypeFeatureDefaults.js","webpack:///./src/components/UiNumber.vue?6d31","webpack:///./src/components/TesterBody.vue?785e","webpack:///./src/components/KerningEditor.vue?e47d","webpack:///./src/views/KerningHelp.vue?e4e0","webpack:///./src/components/FontLoader.vue?6d01","webpack:///./src/components/LanguageSupportSummary.vue?8e44","webpack:///./src/components/EditableList.vue?d46a","webpack:///./src/components/CharacterInfo.vue?bae0","webpack:///./src/components/GotchaHeader.vue?fcc8","webpack:///./src/App.vue?f18b","webpack:///src/App.vue","webpack:///./src/App.vue?2f9b","webpack:///./src/App.vue","webpack:///./src/viewparts/SiteHeader.vue?76fa","webpack:///./src/components/FontLoader.vue?b866","webpack:///./src/components/FontSelect.vue?ef56","webpack:///./src/components/UiSelect.vue?69cd","webpack:///src/components/UiSelect.vue","webpack:///./src/components/UiSelect.vue?7326","webpack:///./src/components/UiSelect.vue","webpack:///./src/components/UiTooltip.vue?3f4d","webpack:///src/components/UiTooltip.vue","webpack:///./src/components/UiTooltip.vue?987d","webpack:///./src/components/UiTooltip.vue","webpack:///./src/components/layout/FitMe.vue?03c7","webpack:///src/components/layout/FitMe.vue","webpack:///./src/components/layout/FitMe.vue?8138","webpack:///./src/components/layout/FitMe.vue","webpack:///src/components/FontSelect.vue","webpack:///./src/components/FontSelect.vue?5a7d","webpack:///./src/components/FontSelect.vue","webpack:///./src/components/FileDrop.vue?1ae1","webpack:///src/components/FileDrop.vue","webpack:///./src/components/FileDrop.vue?064e","webpack:///./src/components/FileDrop.vue","webpack:///./src/models/opentypeFeatureNames.js","webpack:///./src/models/Font.js","webpack:///./src/utils/id.js","webpack:///./src/utils/styles.js","webpack:///./src/models/DEFAULT_FONTS.js","webpack:///src/components/FontLoader.vue","webpack:///./src/components/FontLoader.vue?c901","webpack:///./src/components/FontLoader.vue","webpack:///./src/components/EditorNav.vue?00cd","webpack:///./src/components/EditorNavLink.vue?f71a","webpack:///src/components/EditorNavLink.vue","webpack:///./src/components/EditorNavLink.vue?03cb","webpack:///./src/components/EditorNavLink.vue","webpack:///src/components/EditorNav.vue","webpack:///./src/utils/DomSelection.js","webpack:///./src/components/EditorNav.vue?a403","webpack:///./src/components/EditorNav.vue","webpack:///./src/components/TextTools.vue?d15c","webpack:///src/components/TextTools.vue","webpack:///./src/components/TextTools.vue?786b","webpack:///./src/components/TextTools.vue","webpack:///./src/components/SiteLogo.vue?1e19","webpack:///./src/components/SiteLogo.vue","webpack:///./src/components/layout/SigmoidContainer.vue?8b82","webpack:///src/components/layout/SigmoidContainer.vue","webpack:///./src/components/layout/SigmoidContainer.vue?7190","webpack:///./src/components/layout/SigmoidContainer.vue","webpack:///./src/models/textKinds.js","webpack:///./src/models/textKindTitle.js","webpack:///src/viewparts/SiteHeader.vue","webpack:///./src/viewparts/SiteHeader.vue?f311","webpack:///./src/viewparts/SiteHeader.vue","webpack:///./src/viewparts/SiteFooter.vue?f514","webpack:///src/viewparts/SiteFooter.vue","webpack:///./src/viewparts/SiteFooter.vue?6854","webpack:///./src/viewparts/SiteFooter.vue","webpack:///./src/views/Home.vue?7f5b","webpack:///./src/models/shuffle.js","webpack:///./src/views/Welcome.vue?630f","webpack:///./src/views/Welcome.md?209a","webpack:///./src/views/Welcome.md","webpack:///src/views/Welcome.vue","webpack:///./src/views/Welcome.vue?3962","webpack:///./src/views/Welcome.vue","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?af46","webpack:///./src/views/Home.vue","webpack:///./src/views/Help.vue?9bd6","webpack:///./src/views/Help.vue","webpack:///./src/views/KerningHelp.vue?5968","webpack:///./src/utils/characterRange.js","webpack:///./src/utils/cartesianProduct.js","webpack:///./src/models/KerningGenerator.js","webpack:///./src/components/KerningEditor.vue?edb0","webpack:///./src/models/kerningSegments.js","webpack:///src/components/KerningEditor.vue","webpack:///./src/components/KerningEditor.vue?f5ca","webpack:///./src/components/KerningEditor.vue","webpack:///./src/views/Kerning.md?38c1","webpack:///./src/views/Kerning.md","webpack:///src/views/KerningHelp.vue","webpack:///./src/views/KerningHelp.vue?53a5","webpack:///./src/views/KerningHelp.vue","webpack:///./src/views/AnimationHelp.vue?6933","webpack:///./src/views/Animation.md?4b2c","webpack:///./src/views/Animation.md","webpack:///src/views/AnimationHelp.vue","webpack:///./src/views/AnimationHelp.vue?88f5","webpack:///./src/views/AnimationHelp.vue","webpack:///./src/views/QueryString.vue?b824","webpack:///./src/views/QueryString.md?3279","webpack:///./src/views/QueryString.md","webpack:///src/views/QueryString.vue","webpack:///./src/views/QueryString.vue?14fc","webpack:///./src/views/QueryString.vue","webpack:///./src/views/FontTester.vue?ad4f","webpack:///./src/components/layout/Pinnable.vue?0ea5","webpack:///src/components/layout/Pinnable.vue","webpack:///./src/components/layout/Pinnable.vue?c9a5","webpack:///./src/components/layout/Pinnable.vue","webpack:///./src/components/Settings.vue?6799","webpack:///./src/components/UiNumber.vue?d83a","webpack:///src/components/UiNumber.vue","webpack:///./src/components/UiNumber.vue?00f1","webpack:///./src/components/UiNumber.vue","webpack:///./src/components/UiColorPicker.vue?93fd","webpack:///src/components/UiColorPicker.vue","webpack:///./src/components/UiColorPicker.vue?1061","webpack:///./src/components/UiColorPicker.vue","webpack:///src/components/Settings.vue","webpack:///./src/components/Settings.vue?26f0","webpack:///./src/components/Settings.vue","webpack:///./src/components/TesterBody.vue?ef7d","webpack:///./src/components/FontSample.vue?1e7c","webpack:///src/components/FontSample.vue","webpack:///./src/components/FontSample.vue?dab9","webpack:///./src/components/FontSample.vue","webpack:///./src/components/SampleHeader.vue?fb21","webpack:///./src/utils/printNumber.js","webpack:///src/components/SampleHeader.vue","webpack:///./src/components/SampleHeader.vue?93f3","webpack:///./src/components/SampleHeader.vue","webpack:///./src/components/GotchaHeader.vue?4dc4","webpack:///src/components/GotchaHeader.vue","webpack:///./src/components/GotchaHeader.vue?3c59","webpack:///./src/components/GotchaHeader.vue","webpack:///src/components/TesterBody.vue","webpack:///./src/components/TesterBody.vue?6b98","webpack:///./src/components/TesterBody.vue","webpack:///./src/components/LanguageNav.vue?c64f","webpack:///./src/utils/fireEvent.js","webpack:///src/components/LanguageNav.vue","webpack:///./src/components/LanguageNav.vue?bc95","webpack:///./src/components/LanguageNav.vue","webpack:///./src/components/KerningNav.vue?4325","webpack:///src/components/KerningNav.vue","webpack:///./src/components/KerningNav.vue?bc14","webpack:///./src/components/KerningNav.vue","webpack:///./src/components/LanguageSupportSummary.vue?f6bf","webpack:///./src/components/layout/ScrollPanel.vue?42db","webpack:///./src/components/layout/ScrollPanel.vue","webpack:///./src/components/LanguagePanel.vue?bdba","webpack:///src/components/LanguagePanel.vue","webpack:///./src/components/LanguagePanel.vue?9f06","webpack:///./src/components/LanguagePanel.vue","webpack:///./src/components/LanguageList.vue?b63b","webpack:///src/components/LanguageList.vue","webpack:///./src/components/LanguageList.vue?b831","webpack:///./src/components/LanguageList.vue","webpack:///./src/components/CharacterPanel.vue?79be","webpack:///./src/components/CharacterInfo.vue?bce3","webpack:///src/components/CharacterInfo.vue","webpack:///./src/components/CharacterInfo.vue?041f","webpack:///./src/components/CharacterInfo.vue","webpack:///src/components/CharacterPanel.vue","webpack:///./src/components/CharacterPanel.vue?4f7f","webpack:///./src/components/CharacterPanel.vue","webpack:///src/components/LanguageSupportSummary.vue","webpack:///./src/components/LanguageSupportSummary.vue?c62b","webpack:///./src/components/LanguageSupportSummary.vue","webpack:///./src/components/FontSampleNav.vue?5b09","webpack:///./src/components/AnimationEditor.vue?c571","webpack:///./src/components/EditableList.vue?0d49","webpack:///src/components/EditableList.vue","webpack:///./src/components/EditableList.vue?0d9d","webpack:///./src/components/EditableList.vue","webpack:///src/components/AnimationEditor.vue","webpack:///./src/components/AnimationEditor.vue?8d32","webpack:///./src/components/AnimationEditor.vue","webpack:///src/components/FontSampleNav.vue","webpack:///./src/components/FontSampleNav.vue?50f2","webpack:///./src/components/FontSampleNav.vue","webpack:///src/views/FontTester.vue","webpack:///./src/views/FontTester.vue?125c","webpack:///./src/views/FontTester.vue","webpack:///./src/router.js","webpack:///./src/models/kerningPatterns.js","webpack:///./src/models/kerningPatternName.js","webpack:///./src/models/textKindLanguageDataField.js","webpack:///./src/utils/escapeHtmlId.js","webpack:///./src/utils/escapeHtml.js","webpack:///./src/store/store.text.js","webpack:///./src/models/Settings.js","webpack:///./src/store/store.animation.js","webpack:///./src/store/store.layout.js","webpack:///./src/store/store-mediator.js","webpack:///./src/utils/viewport.js","webpack:///./src/models/convertLength.js","webpack:///./src/models/computedParams.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/viewparts/SiteHeader.vue?76e7","webpack:///./src/App.vue?9ca0","webpack:///./src/components/LanguageList.vue?2c62","webpack:///./src/views/Welcome.vue?825b","webpack:///./src/models/loadFont.worker.js","webpack:///./src/components/Settings.vue?6ca6","webpack:///./src/components/TextTools.vue?3799","webpack:///./src/components/FontSample.vue?ad81","webpack:///./src/components/FontSelect.vue?766f","webpack:///./src/components/UiSelect.vue?1c83","webpack:///./src/components/KerningNav.vue?2a95","webpack:///./src/components/SiteLogo.vue?d7fe","webpack:///./src/components/UiTooltip.vue?dc55","webpack:///./src/components/AnimationEditor.vue?9d8d","webpack:///./src/models/opentypeLanguageTags.js","webpack:///./src/components/FontSampleNav.vue?6cc2","webpack:///./src/components/LanguageNav.vue?bead","webpack:///./src/components/EditorNav.vue?fec0","webpack:///./src/components/CharacterPanel.vue?6f14","webpack:///./src/components/layout/SigmoidContainer.vue?9e6f","webpack:///./src/components/layout/Pinnable.vue?6c0c","webpack:///./src/viewparts/SiteFooter.vue?37f1","webpack:///./src/components/EditorNavLink.vue?7ce9","webpack:///./src/views/FontTester.vue?a150"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","staticRenderFns","watch","$route","val","oldVal","$store","commit","mounted","addEventListener","someMethod","route","path","query","preload","$router","beforeDestroy","removeEventListener","methods","component","class","footerVisible","sticky","slide","textKind","on","toggleSettingsPanel","nativeOn","$event","scrollToTop","expandMenu","_v","_s","selectedFont","family","_e","expanded","expandedMenu","isTesterPage","alone","staticStyle","_l","kind","navlinkText","toggleContextualPanel","stopPropagation","onFilesDropped","fontOptions","fontLoading","selectFont","openAddFontDialog","setLastFont","setPreviousFont","setNextFont","ref","$refs","button1","v","setFont","fontOverrides","regular","overrideCssFont","selectedItalicFont","italic","selectedBoldFont","bold","selectedBoldItalicFont","boldItalic","selectedHeaderFont","header","directives","rawName","expression","fontLoadingProgress","errorMessage","log","url","error","type","indexOf","_k","keyCode","addRemoteFont","addFontUrl","model","callback","$$v","options","fontOptionKeys","label","loading","selectOption","scopedSlots","_u","fn","props","option","style","optionSampleStyle","sampleText","originalFamily","version","shortFileName","fileName","keys","$slots","slot","_t","classes","domProps","submittedValue","icon","disabled","isAutocomplete","tabindex","onFocus","preventDefault","openDropdown","onBlur","default","labelClasses","hasDisplayText","placeholder","e","setCustomValue","target","highlightOption","highlightedIndex","onInputEnter","closeDropdown","isFocused","displayText","hasFloatingLabel","isLabelInline","dropdownClass","dropdownPosition","onClose","onOpen","onReveal","selectHighlighted","searchPlaceholder","composing","sortedOptions","filteredOptions","index","refInFor","multiple","isOptionSelected","autoScroll","help","visibilityChanged","once","fontSize","localText","text","String","cutText","Number","runFit","fit","components","UiSelect","UiTooltip","FitMe","fonts","Array","Boolean","addFontOption","image","computed","addFont","$emit","visible","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","scrolledParent","document","querySelector","scrolledParentSelector","handleBodyDragEnter","destroyed","preventScroll","showDrop","toggleBodyScroll","hideDrop","files","dataTransfer","types","scrollTop","scrolledParentTop","disableScroll","setTimeout","enableScroll","getOpenTypeFeatureName","tag","match","opentypeFeatureNames","find","f","test","replace","Font","font","processFont","obj","getNames","getFeatures","getGlyphs","generateFontFace","names","preferredFamily","en","fontFamily","preferredSubfamily","fontSubfamily","cssFamily","cssStyle","cssWeight","tables","os2","usWeightClass","displayName","glyphs","map","k","filter","g","unicode","fromCharCode","characters","gpos","gsub","languageSet","Set","scripts","flatMap","script","langSysRecords","lsr","loclLanguages","from","language","opentypeLanguageTags","opentypeTag","htmlTag","toLowerCase","sort","a","b","unshift","getOwnPropertyNames","gposFeatures","features","forEach","duplicate","ff","feature","gsubFeatures","languages","selectedLanguage","uiName","featUiLabelName","console","variationAxes","fvar","axes","weight","fontFace","proposal","id","getElementById","Math","random","hex","toString","add","css","getId","newStyle","createElement","appendChild","createTextNode","head","existing","parentNode","removeChild","setProperty","prop","documentElement","FontSelect","UiModal","UiButton","UiPopover","UiProgressLinear","UiFileupload","FileDrop","UiTextbox","gui","progressVisible","selectedSampleKey","lastFont","errorLogs","openedWithoutFonts","defaultFontsLoaded","previousFont","init","remoteFontRequested","navigateToTester","loadDefaultFonts","getQueryStringFontUrls","isArray","urls","getDefaultFontUrls","DEFAULT_FONTS","loadFonts","modalAddFont","open","close","updateQuery","dispatch","worker","onmessage","duplicates","bumpVersion","highest","errors","remote","postMessage","printFontLoadingError","results","extraError","modal","getFont","waterfallFilter","array","selectedFontIndex","selectBoldFont","matchingBold","selectHeaderFont","selectItalicFont","matchingItalic","selectBoldItalicFont","matchingBoldItalic","setCssFont","styleMatch","max","min","customTextIds","removeCustomText","UiIconButton","saveSelection","restoreSelection","getSelectionRange","EditorNavLink","isHeadingActive","makeHeading","isBoldActive","makeBold","isItalicActive","makeItalic","getSelection","createRange","sel","rangeCount","getRangeAt","containerEl","doc","ownerDocument","win","defaultView","range","preSelectionRange","cloneRange","selectNodeContents","setEnd","startContainer","startOffset","start","end","savedSel","charIndex","setStart","collapse","node","nodeStack","foundStart","stop","pop","nodeType","nextCharIndex","childNodes","removeAllRanges","addRange","selection","selectedTextRange","preSelectionTextRange","body","createTextRange","moveToElementText","setEndPoint","textRange","moveEnd","moveStart","select","DomSelection","container","ancestor","commonAncestorContainer","Node","TEXT_NODE","fragment","cloneContents","existentTags","querySelectorAll","closestTag","closest","isParagraph","contains","parent","tmp","surroundContents","newContent","createDocumentFragment","nodeValue","innerText","newEl","cloneNode","replaceChild","fr","cc","deleteContents","insertNode","empty","newParent","extractContents","clean","child","onSelection","activeElement","containsTag","_m","waviness","sides","width","marginAdjust","svgLeftId","svgRightId","background","control","sidesArray","split","top","left","right","rootStyle","containerStyle","contentStyle","sigmoidWrapperStyle","sigmoidStyle","$el","backgroundImage","backgroundColor","toUpperCase","substr","FontLoader","EditorNav","TextTools","SiteLogo","SigmoidContainer","hideHeaderOnScroll","textKinds","stickyShowDelta","stickyHideDelta","lastTop","params","setSticky","textKindTitle","scrollTo","isMobile","measureTop","hasScrolled","delta","initStickyHeader","setInterval","didScroll","observer","disconnect","initObserver","entries","IntersectionObserver","observe","sentinel","updateHeight","webkit","safari","loaded","getParallaxText","shuffle","x","floor","requestFont","WelcomeText","Welcome","parallaxTexts","maybeSetupParallax","cleanupParallax","browser","setupParallax","parallaxes","parallax","moveParallax","transform","segments","addKerningSegment","removeKerningSegment","line","characterRange","charA","charZ","charCodeAt","cartesianProductOf","reduce","arguments","ret","concat","escapeRegExp","string","splitWithEscape","separator","escape","endsWithEscape","RegExp","fragments","current","char","escapedSeparator","KerningGenerator","sets","closures","segmentClosures","special","escaped","join","closureSide","compoundClosure","parseSequences","parseClosure","matchAll","ranges","singleCharacters","pattern","JSON","parse","stringify","product","cartesianProduct","lines","commitLine","sub","openings","set","closure","closings","openingSequences","reverse","closingSequences","segment","builtInSegmentCharacters","$set","segmentSelects","focus","updated","Kerning","KerningEditor","kerningStringLines","getKey","Animation","QueryString","isPinned","settingsPanelVisible","fontSampleTexts","selectedTextKind","modifyText","navElementTitle","contextualPanelVisible","navElement","forceInvisible","isVisible","pinned","footerNear","footerNearer","triggerHover","scrolled","title","togglePinPanel","disableOverscroll","onWheel","closestLike","el","predicate","depth","side","trigger","scrollSyncStartEvent","scrollSyncEndEvent","storedScrollPosition","lastHeight","vb","cleanup","getTriggerElement","onTriggerMouseEnter","onTriggerMouseLeave","toggle","hide","mysteriousClick","event","isNavigationAnchor","initScrollSync","$on","settings","minFontSize","maxFontSize","fontSizeStep","fontSizeClickStep","updateSetting","fontSizeUnit","fontSizeUnitOptions","waterfallSizes","enableWaterfall","lineHeight","minLineHeight","maxLineHeight","lineHeightStep","lineHeightClickStep","enableLineHeight","tracking","minTracking","maxTracking","trackingStep","trackingClickStep","enableTracking","wordSpacing","minWordSpacing","maxWordSpacing","wordSpacingStep","enableWordSpacing","textAlign","textAlignOptions","textColor","textTransform","textTransformOptions","enableTextTransform","wrapLines","capFeatures","localizationLanguage","localizationLanguages","loclSelectKeys","isLocalizationInvalid","onGotchasTab","localization","numberFeatures","pnum","tnum","figureWidths","figureWidth","lnum","onum","figureHeights","figureHeight","stylisticSets","characterVariants","otherGsub","activeGpos","axis","enabled","minValue","maxValue","defaultValue","autocomplete","enforceMaxlength","maxlength","minlength","readonly","required","displayedText","onBlur2","updateValue","onKeydownEnter","onKeydown","increment","startIncrement","endIncrementDecrement","startDecrement","hasFeedback","valueLength","extends","step","clickStep","clickStepFunction","Function","tryValue","incrementTimeout","stringValue","tempValue","toLocaleString","_clickStep","coerceValue","roundedToStep","isNaN","abs","corrected","EPSILON","correctValue","Decimal","toNearest","toNumber","roundedToClickStep","getSteps","iteration","getDelay","by","decrement","steps","clearTimeout","updateFromInput","textValue","input","colorValue","updateFromPicker","openPopover","popover","tiny","isValid","formatText","update","TinyColor","updateText","updateProgrammatically","toHex8","toHex8String","toHexString","getFormat","UiCheckbox","UiSlider","UiRadioGroup","UiNumber","UiColorPicker","capTags","figureTags","numberTags","stylisticSetTags","characterVariantsTags","loclTags","activeGsub","getGsubSubset","getGsubFeature","selected","setFigureVariant","beforeUpdate","$parent","animating","mutation","payload","isGotchas","isCustom","selectedLoclLanguage","size","fontSizes","onInput","item","isContentEditable","transformText","fontFeatureSettings","fontVariationSettings","langId","padEnd","printNumber","speakers","fNum","topic","description","SampleHeader","GotchaHeader","FontSample","texts","formatRequested","wrap","saveText","syncSamples","$watch","onPaste","deleteFromDocument","paste","elements","notifyWindow","dispatchEvent","Event","nextAnchor","previousAnchor","goToAnchor","languageFilter","clearFilter","isSelected","values","selectScripts","anySelected","checked","selectDeselectAllLanguages","hasText","toggleLanguage","highlightAnchor","fireEvent","element","eventName","createEvent","initEvent","filteredLanguages","highlightedAnchor","anchors","highlightedAnchorIndex","some","selectedScripts","$nextTick","filterTextbox","scrollAnchorIntoView","padding","margin","updateKerningPattern","addKerningPattern","selectedPatternId","toggleKerningPattern","selectPattern","formatPatternId","removeKerningPattern","revertKerningPatterns","kerningPatterns","clearKerningPatterns","inputInvalid","emptySegment","noSegments","languageSupport","supportedLanguages","supportedLanguagesSortingOptions","supportedLanguagesSorting","selectLanguage","unsupportedLanguagesSortingOptions","unsupportedLanguagesSorting","unsupportedLanguages","missingCharacterSortingOptions","missingCharacterSorting","character","limit","selectCharacter","selectedCharacter","isMissing","languageInfo","missingCharacters","includedCharacters","ch","specialLetters","requiredCharacters","gotchas","tags","htmlCode","ceil","fields","copyList","list","execCommand","characterInfo","obligatoryLanguages","wordFinderUrl","optionalLanguages","characterRepresentation","unicodes","glyphnames","codepoints","CharacterInfo","LanguageList","render","LanguagePanel","CharacterPanel","Pinnable","ScrollPanel","sortLanguages","langs","chars","sorting","heading","duration","animationKeyframes","removeAnimationKeyframe","activeKeyframeId","activateKeyframe","keyframeProgress","addAnimationKeyframe","playing","canAnimate","play","proxy","keyframesText","importAnimationKeyframes","animatedProperties","animatableProperties","properties","setAnimatedProperties","EditableList","progress","updateKeyframeProgress","frame","keyframes","discreteFrame","continuousFrame","discreteKeyframes","continuousKeyframes","targets","sample","easing","autoplay","delay","endDelay","timeline","elapsed","begin","complete","restart","AnimationEditor","Settings","TesterBody","LanguageNav","KerningNav","FontSampleNav","LanguageSupportSummary","selectedCustomTextId","selectSample","beforeMount","innerWidth","Vue","use","Router","router","base","process","routes","SiteHeader","main","Home","footer","SiteFooter","redirect","FontTester","KerningHelp","AnimationHelp","Help","hasQueryParams","beforeEach","to","next","kerningPatternName","lettering","pangrams","sentences","ABCs","kerning","escapeHtml","unsafe","customTextId","SCRIPTS","SCRIPT_TAGS","LanguageData","LANGUAGES","localeCompare","state","textHeadings","defaultKerningPatterns","fontCharacters","mutations","setText","sampleKey","html","headings","languageDataFields","addCustomText","currentRoute","format","initKerningPatterns","toEnd","copy","kerningString","kp","findIndex","updateKerning","patterns","escapeHtmlId","updateFontCharacters","actions","matching","getters","squish","str","fieldKey","selectedSampleTextKey","selectedLanguages","mappedData","tests","AaBbCc","ABC","every","abc","Accents","accents","padStart","visibleLanguages","alphabet","otherLanguages","ll","uniqueCharacterFilter","testableLanguages","specialCharacters","acc","cur","optionalCharacters","missingCharactersByScript","groupCharactersByScript","includedCharactersByScript","missingCharacterCombinationsByScript","characterCombinations","includedCharacterCombinationsByScript","charactersByScript","caseFirst","isAccent","definitions","definition","dflt","color","mapCompoundProp","parseInt","parseFloat","fallbackFontFamily","validate","enableVariationAxis","clone","maxId","snapshot","updateKeyframe","getStyleFromSettings","finishAnimateSettings","animateSettings","context","mergeStyleOntoSettings","$scrollToTop","footerSentinelVisibleRatio","updateFooter","ratio","configureMediator","store","subscribe","animation","clientWidth","clientHeight","innerHeight","UnitConverter","formulas","dpi","viewport","height","units","round","decimals","number","convertLength","converter","convert","Vuex","Store","textModule","animationModule","layout","layoutModule","getDefaults","displayedSettings","menuId","setMobile","fontLoadStart","fontLoadEnd","boldFont","italicFont","boldItalicFont","headerFont","mapFontFeatureSettings","mergeFeatures","active","opentypeFeatureDefaults","updateGposFeature","updateGsubFeature","updateLoclFeature","mapFontVariationSettings","aa","updateVariationAxis","resetSettings","computeParams","computedParams","paramFunction","newValue","updateSettings","newUnit","restoreSettings","convertFontSize","newSize","config","productionTip","Vuebar","VueObserveVisibility","VueWorker","h","App","$mount","Worker"],"mappings":"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","file":"js/app.1ab06575.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=style&index=0&id=b51bf0cc&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=style&index=0&id=b51bf0cc&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=style&index=0&id=0eadec82&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=style&index=0&id=0eadec82&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=style&index=0&id=1f5793db&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=style&index=0&id=1f5793db&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=style&index=0&id=704de156&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=style&index=0&id=704de156&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=style&index=0&id=50a2c3f2&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=style&index=0&id=50a2c3f2&lang=scss&scoped=true&\"","// included features are enabled by default\n\nmodule.exports = [\n 'mark',\n 'mkmk',\n 'kern',\n 'ccmp',\n 'locl',\n 'liga',\n 'calt',\n 'rclt',\n 'rlig',\n 'rvrn',\n]\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=style&index=0&id=7af82180&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=style&index=0&id=7af82180&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=style&index=0&id=7f7c4944&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=style&index=0&id=7f7c4944&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=style&index=0&id=7273fa36&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=style&index=0&id=7273fa36&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=style&index=1&id=69007cc0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=style&index=1&id=69007cc0&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=style&index=0&id=42b34de5&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=style&index=0&id=42b34de5&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=style&index=0&id=6bcea090&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=style&index=0&id=6bcea090&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app\"},[_c('div',{staticClass:\"app-content\"},[_c('router-view',{attrs:{\"name\":\"header\"}}),_c('div',{staticClass:\"site-content\"},[_c('keep-alive',[_c('router-view',{attrs:{\"name\":\"main\"}})],1)],1),_c('router-view',{attrs:{\"name\":\"footer\"}})],1),_c('div',{staticClass:\"shade\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=0c7aa288&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"site-header \" + (!_vm.footerVisible && _vm.sticky ? 'sticky' : ''))},[_c('div',{staticClass:\"above-sidebar slide-left-wrapper\",class:{ slide: !_vm.textKind }},[_c('div',{key:\"button\",staticClass:\"settings-aside-wrap\"},[_c('SigmoidContainer',{staticClass:\"settings-aside light\",attrs:{\"id\":\"settings-trigger\",\"sides\":\"right top\"}},[_c('nav',{staticClass:\"nav nav-aside\",on:{\"click\":_vm.toggleSettingsPanel}},[_c('div',{staticClass:\"transition-wrapper\"},[_c('UiIconButton',[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}})])])],1)])])],1),_c('div',{key:\"logo\",staticClass:\"logo\"},[_c('router-link',{staticClass:\"home\",attrs:{\"to\":\"/\"},nativeOn:{\"click\":function($event){return _vm.scrollToTop($event)}}},[_c('SiteLogo')],1)],1)]),_c('div',{staticClass:\"logo-top\"},[_c('router-link',{staticClass:\"home\",attrs:{\"to\":\"/\"},nativeOn:{\"click\":function($event){return _vm.scrollToTop($event)}}},[_c('SiteLogo')],1)],1),_c('div',{staticClass:\"dark main\"},[(_vm.isTesterPage)?_c('UiButton',{staticClass:\"collapse-mobile-trigger left\",on:{\"click\":function($event){return _vm.expandMenu('fontMenu')}}},[_vm._v(_vm._s(_vm.selectedFont && _vm.selectedFont.family ? _vm.selectedFont.family : 'Font'))]):_vm._e(),_c('div',{staticClass:\"collapse-mobile\",class:{ expanded: _vm.expandedMenu === 'fontMenu' }},[_c('FontLoader',{attrs:{\"gui\":_vm.isTesterPage}}),(_vm.isTesterPage)?_c('TextTools'):_vm._e()],1),(true)?_c('UiButton',{staticClass:\"collapse-mobile-trigger right\",class:{ alone: !_vm.isTesterPage },on:{\"click\":function($event){return _vm.expandMenu('navMenu')}}},[(_vm.textKind)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.textKind)+\"\\n \")]):_c('span',[_c('span',[_vm._v(\"Pages\")]),_c('span',{staticStyle:{\"margin-left\":\".1em\",\"font-family\":\"sans-serif\",\"font-size\":\"12px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.expandedMenu === 'navMenu' ? '▲' : '▼')+\"\\n \")])])]):_vm._e(),_c('div',{staticClass:\"collapse-mobile nav-menu\",class:{ expanded: _vm.expandedMenu === 'navMenu' }},[_c('nav',{staticClass:\"nav nav-text-kinds\"},[_c('EditorNav',{on:{\"navigated\":function($event){return _vm.expandMenu(null)}}}),_vm._l((_vm.textKinds),function(kind){return _c('span',{key:kind,staticClass:\"nav-link\"},[_c('router-link',{attrs:{\"to\":(\"/\" + kind)},nativeOn:{\"click\":function($event){return _vm.expandMenu(null)}}},[_vm._v(_vm._s(_vm.navlinkText(kind)))])],1)})],2)])],1),_c('SigmoidContainer',{staticClass:\"light aside right-wrapper\",attrs:{\"id\":\"nav-trigger\",\"sides\":\"left top\"}},[_c('nav',{staticClass:\"nav nav-aside\",on:{\"click\":_vm.toggleContextualPanel}},[_c('div',{staticClass:\"transition-wrapper\"},[_c('transition',{attrs:{\"name\":\"swap\"}},[(!_vm.textKind)?_c('div',{key:\"0\",staticClass:\"ui-icon-button github-icon-link-wrapper\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('a',{staticClass:\"github-icon-link\",attrs:{\"href\":\"https://github.com/hyvyys/Bulletproof\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}})])])]):(_vm.textKind === 'custom')?_c('UiIconButton',{key:\"1\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}})])]):(_vm.textKind === 'kerning')?_c('UiIconButton',{key:\"2\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M8.01 17V8.97h-3V7.03H13v1.94h-3V17zM18 19v2h-7v2.4L7 19zM6 5V3h7V.6L17 5z\"}}),_c('path',{staticStyle:{\"line-height\":\"0\",\"-inkscape-font-specification\":\"'arial Bold'\"},attrs:{\"d\":\"M15.53 15.44c-.86 0-1.62-.76-1.62-1.93 0-1.16.76-1.93 1.62-1.93.85 0 1.62.77 1.62 1.93 0 1.17-.77 1.93-1.62 1.93zm0-5.54c-2.06 0-3.72 1.4-3.72 3.61 0 2.22 1.66 3.61 3.72 3.61 2.07 0 3.7-1.4 3.7-3.6 0-2.23-1.7-3.62-3.7-3.62z\"}})])]):_c('UiIconButton',{key:\"3\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('defs',[_c('path',{attrs:{\"id\":\"a\",\"d\":\"M0 0h24v24H0V0z\"}})]),_c('clipPath',{attrs:{\"id\":\"b\"}},[_c('use',{attrs:{\"xlink:href\":\"#a\",\"overflow\":\"visible\"}})]),_c('path',{attrs:{\"clip-path\":\"url(#b)\",\"d\":\"M14 10H2v2h12v-2zm0-4H2v2h12V6zM2 16h8v-2H2v2zm19.5-4.5L23 13l-6.99 7-4.51-4.5L13 14l3.01 3 5.49-5.5z\"}})])])],1)],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-loader\"},[(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiFileupload',{staticClass:\"dark\",attrs:{\"label\":\" \",\"name\":\"font-file-input\",\"accept\":\".ttf,.otf,.woff,.woff2\",\"multiple\":true,\"size\":\"small\"},on:{\"change\":_vm.onFilesDropped}}),_c('UiTooltip',{attrs:{\"openDelay\":500}},[_vm._v(\"\\n Open fonts (you can also drag and drop font files anywhere on the page)\\n \")])],1):_vm._e(),(_vm.gui)?_c('FontSelect',{staticClass:\"dark font-select-main font-loader-item\",attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedFont,\"addFontOption\":true,\"loading\":_vm.fontLoading},on:{\"input\":_vm.selectFont,\"openAddFontDialog\":_vm.openAddFontDialog}}):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set last font\"},on:{\"click\":_vm.setLastFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M20.653 14.577v2.885H10.21l.347 5.46-7.769-8.345zM3.347 9.423V6.538H13.71l-.267-5.46 7.769 8.345z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set previous font\"},on:{\"click\":_vm.setPreviousFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M11.117 18.903l-.267-5.46h10.36V10.56H10.85l.267-5.463L3.347 12z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set next font\"},on:{\"click\":_vm.setNextFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M13.441 18.903l.268-5.46H3.348V10.56h10.361l-.268-5.463L21.211 12z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{ref:\"button1\",staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Emphasis fonts\"}},[_c('b',[_vm._v(\"B\")]),_c('i',[_vm._v(\"I\")])]),_c('UiPopover',{staticClass:\"font-select-popover\",attrs:{\"trigger\":_vm.$refs.button1,\"zIndex\":58}},[_c('div',{staticClass:\"font-select-menu\"},[_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedFont,\"label\":\"Regular\",\"loading\":_vm.fontLoading},on:{\"input\":function (v) { return _vm.setFont('regular', v); }}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.regular},on:{\"input\":function (v) { return _vm.overrideCssFont('regular', v); }}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedItalicFont,\"label\":\"Italic (emphasis)\",\"loading\":_vm.fontLoading},on:{\"input\":function (v) { return _vm.setFont('italic', v); }}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.italic},on:{\"input\":function (v) { return _vm.overrideCssFont('italic', v); }}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedBoldFont,\"label\":\"Bold (strong emphasis)\",\"loading\":_vm.fontLoading},on:{\"input\":function (v) { return _vm.setFont('bold', v); }}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.bold},on:{\"input\":function (v) { return _vm.overrideCssFont('bold', v); }}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedBoldItalicFont,\"label\":\"Bold italic\",\"loading\":_vm.fontLoading},on:{\"input\":function (v) { return _vm.setFont('boldItalic', v); }}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.boldItalic},on:{\"input\":function (v) { return _vm.overrideCssFont('boldItalic', v); }}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedHeaderFont,\"label\":\"Header\",\"loading\":_vm.fontLoading},on:{\"input\":function (v) { return _vm.setFont('header', v); }}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.header},on:{\"input\":function (v) { return _vm.overrideCssFont('header', v); }}})],1)])],1):_vm._e(),_c('FileDrop',{ref:\"fileDrop\",on:{\"filesDropped\":_vm.onFilesDropped}}),_c('transition',{attrs:{\"name\":\"fade-slow-reverse\"}},[_c('UiProgressLinear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.progressVisible),expression:\"progressVisible\"}],staticClass:\"font-loading-progress\",attrs:{\"type\":\"determinate\",\"progress\":_vm.fontLoadingProgress}})],1),_c('UiModal',{ref:\"modal\",attrs:{\"title\":\"Error opening fonts\"}},[_c('div',{staticClass:\"error-modal-body\"},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))]),_vm._l((_vm.errorLogs),function(log,i){return _c('p',{key:i},[_c('code',[_c('strong',[_vm._v(_vm._s(log.url)+\":\")]),_vm._v(\" \"+_vm._s(log.error))])])})],2)]),_c('UiModal',{ref:\"modalAddFont\",attrs:{\"title\":\"Add remote fonts\"}},[_c('div',{staticClass:\"add-font-modal-body\"},[_c('UiTextbox',{ref:\"addFontUrlInput\",attrs:{\"placeholder\":\"HTTPS-enabled URL (TTF, OTF, WOFF)\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.addRemoteFont(_vm.addFontUrl)}},model:{value:(_vm.addFontUrl),callback:function ($$v) {_vm.addFontUrl=$$v},expression:\"addFontUrl\"}}),_c('div',{staticClass:\"align-right\"},[_c('UiButton',{attrs:{\"disabled\":!_vm.addFontUrl},on:{\"click\":function($event){return _vm.addRemoteFont(_vm.addFontUrl)}}},[_vm._v(\"Load\")])],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('UiSelect',{staticClass:\"font-select\",attrs:{\"value\":_vm.value,\"options\":_vm.options,\"keys\":_vm.fontOptionKeys,\"dropdownClass\":\"font-select__dropdown\",\"label\":_vm.label,\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"input\":_vm.selectOption},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return _c('div',{},[(props.option.addFont)?[_c('div',{staticClass:\"col col-sample icon-add\"},[_vm._v(\"\\n +\\n \")]),_c('div',{staticClass:\"col\"},[_vm._v(\"\\n Add remote font\\n \")])]:[_c('div',{staticClass:\"col col-sample\",style:(_vm.optionSampleStyle(props.option))},[_c('FitMe',{attrs:{\"text\":props.option && _vm.sampleText,\"cutText\":2}})],1),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"font-family\"},[_vm._v(_vm._s(props.option && props.option.originalFamily))]),_c('div',{staticClass:\"font-style\"},[_vm._v(_vm._s(props.option && props.option.style))]),_c('div',{staticClass:\"font-version\"},[_vm._v(\"\\n \"+_vm._s(props.option && props.option.version\n ? (\"(\" + (props.option.version) + \")\") : \"\")+\"\\n \")])]),_c('UiTooltip',{attrs:{\"position\":\"left\",\"appendToBody\":false,\"openDelay\":380}},[_vm._v(\"\\n \"+_vm._s(_vm.shortFileName(props.option.fileName))+\"\\n \")])]],2)}}])},[_vm._l((Object.keys(_vm.$slots)),function(slot){return _vm._t(slot,null,{\"slot\":slot})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui-select\",class:_vm.classes},[(_vm.name)?_c('input',{staticClass:\"ui-select__hidden-input\",attrs:{\"type\":\"hidden\",\"name\":_vm.name},domProps:{\"value\":_vm.submittedValue}}):_vm._e(),(_vm.icon || _vm.$slots.icon)?_c('div',{staticClass:\"ui-select__icon-wrapper\"},[_vm._t(\"icon\",[_c('ui-icon',{attrs:{\"icon\":_vm.icon}})])],2):_vm._e(),_c('div',{staticClass:\"ui-select__content\"},[_c('div',{ref:\"label\",staticClass:\"ui-select__label\",attrs:{\"tabindex\":_vm.disabled || _vm.isAutocomplete ? null : (_vm.tabindex || '0')},on:{\"focus\":_vm.onFocus,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();return _vm.openDropdown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();return _vm.openDropdown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.onBlur($event)}]}},[(_vm.label || _vm.$slots.default)?_c('div',{staticClass:\"ui-select__label-text\",class:_vm.labelClasses},[_vm._t(\"default\",[_vm._v(_vm._s(_vm.label))])],2):_vm._e(),_c('div',{staticClass:\"ui-select__display\"},[(_vm.isAutocomplete)?_c('input',{ref:\"input\",staticClass:\"ui-select__display-value\",class:{ 'is-placeholder': !_vm.hasDisplayText },attrs:{\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":function (e) { return _vm.setCustomValue(e.target.value); },\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.stopPropagation();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex + 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex - 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }$event.preventDefault();return _vm.closeDropdown()},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.onBlur($event)}],\"focus\":_vm.onFocus,\"blur\":function($event){_vm.isFocused = false}}}):_c('div',{staticClass:\"ui-select__display-value\",class:{ 'is-placeholder': !_vm.hasDisplayText }},[_vm._v(\"\\n \"+_vm._s(_vm.hasDisplayText ? _vm.displayText : (_vm.hasFloatingLabel && _vm.isLabelInline) ? null : _vm.placeholder)+\"\\n \")]),_c('ui-icon',{ref:\"dropdownButton\",staticClass:\"ui-select__dropdown-button\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M6.984 9.984h10.03L12 15z\"}})])])],1),_c('ui-popover',{ref:\"dropdown\",class:(\"ui-select__dropdown \" + _vm.dropdownClass),attrs:{\"close-on-scroll\":false,\"constrain-to-scroll-parent\":false,\"disabled\":_vm.disabled,\"position\":_vm.dropdownPosition},on:{\"close\":_vm.onClose,\"open\":_vm.onOpen,\"reveal\":_vm.onReveal}},[_c('keep-alive',[_c('div',{ref:\"dropdownContent\",staticClass:\"ui-select__dropdown-content\",attrs:{\"tabindex\":\"-1\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex + 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.selectHighlighted($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }$event.preventDefault();return _vm.closeDropdown()},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.onBlur($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex - 1)}]}},[(_vm.hasSearch)?_c('div',{staticClass:\"ui-select__search\",on:{\"click\":function($event){$event.stopPropagation();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.stopPropagation();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"searchInput\",staticClass:\"ui-select__search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"text\",\"placeholder\":_vm.searchPlaceholder},domProps:{\"value\":(_vm.query)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.query=$event.target.value}}}),_c('ui-icon',{staticClass:\"ui-select__search-icon\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9.516 14.016c2.484 0 4.5-2.016 4.5-4.5s-2.016-4.5-4.5-4.5-4.5 2.016-4.5 4.5 2.016 4.5 4.5 4.5zm6 0l4.97 4.97-1.5 1.5-4.97-4.97v-.797l-.28-.282c-1.126.984-2.626 1.547-4.22 1.547-3.61 0-6.516-2.86-6.516-6.47S5.906 3 9.516 3s6.47 2.906 6.47 6.516c0 1.594-.564 3.094-1.548 4.22l.28.28h.798z\"}})])]),(_vm.loading)?_c('ui-progress-circular',{staticClass:\"ui-select__search-progress\",attrs:{\"size\":20,\"stroke\":4}}):_vm._e()],1):_vm._e(),_c('ul',{ref:\"optionsList\",staticClass:\"ui-select__options\"},[_vm._l(((_vm.isAutocomplete ? _vm.sortedOptions : _vm.filteredOptions)),function(option,index){return _c('ui-select-option',{key:_vm.keys.key ? option[_vm.keys.key] : index,ref:\"options\",refInFor:true,attrs:{\"highlighted\":_vm.highlightedIndex === index,\"keys\":_vm.keys,\"multiple\":_vm.multiple,\"option\":option,\"selected\":_vm.isOptionSelected(option),\"type\":_vm.type},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.selectOption(option, index)},\"mouseover\":function($event){$event.stopPropagation();return _vm.highlightOption(index, { autoScroll: false })}}},[_vm._t(\"option\",null,{\"highlighted\":_vm.highlightedIndex === index,\"index\":index,\"option\":option,\"selected\":_vm.isOptionSelected(option)})],2)}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasNoResults),expression:\"hasNoResults\"}],staticClass:\"ui-select__no-results\"},[_vm._t(\"no-results\",[_vm._v(\"No results found\")])],2)],2)])])],1)],1),(_vm.hasFeedback)?_c('div',{staticClass:\"ui-select__feedback\"},[(_vm.showError)?_c('div',{staticClass:\"ui-select__feedback-text\"},[_vm._t(\"error\",[_vm._v(_vm._s(_vm.error))])],2):(_vm.showHelp)?_c('div',{staticClass:\"ui-select__feedback-text\"},[_vm._t(\"help\",[_vm._v(_vm._s(_vm.help))])],2):_vm._e()]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiSelect.vue?vue&type=template&id=3fd33b53&\"\nimport script from \"./UiSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./UiSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiSelect.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui-tooltip\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiTooltip.vue?vue&type=template&id=24ff4b92&\"\nimport script from \"./UiTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./UiTooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiTooltip.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:({\n callback: _vm.visibilityChanged,\n once: true,\n }),expression:\"{\\n callback: visibilityChanged,\\n once: true,\\n }\"}],staticClass:\"fit-me\"},[_c('div',{ref:\"fitted\",staticClass:\"fitted\",style:((\"font-size: \" + _vm.fontSize + \"px;\"))},[_vm._v(\"\\n \"+_vm._s(_vm.localText)+\"\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FitMe.vue?vue&type=template&id=1f5793db&scoped=true&\"\nimport script from \"./FitMe.vue?vue&type=script&lang=js&\"\nexport * from \"./FitMe.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FitMe.vue?vue&type=style&index=0&id=1f5793db&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f5793db\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSelect.vue?vue&type=template&id=bdc07762&\"\nimport script from \"./FontSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSelect.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"file-drop \" + (this.visible ? '' : 'hidden')),on:{\"dragenter\":_vm.handleDragEnter,\"dragleave\":_vm.handleDragLeave,\"dragover\":_vm.handleDragOver,\"drop\":_vm.handleDrop}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDrop.vue?vue&type=template&id=b51bf0cc&scoped=true&\"\nimport script from \"./FileDrop.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDrop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDrop.vue?vue&type=style&index=0&id=b51bf0cc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b51bf0cc\",\n null\n \n)\n\nexport default component.exports","export function getOpenTypeFeatureName(tag) {\n const match = opentypeFeatureNames.find(f => f.tag.test(tag));\n return match ? tag.replace(match.tag, match.name) : tag;\n}\n\nconst opentypeFeatureNames = [\n { tag: /aalt/, name: \"Access All Alternates\" },\n { tag: /abvf/, name: \"Above-base Forms\" },\n { tag: /abvm/, name: \"Above-base Mark Positioning\" },\n { tag: /abvs/, name: \"Above-base Substitutions\" },\n { tag: /afrc/, name: \"Alternative Fractions\" },\n { tag: /akhn/, name: \"Akhands\" },\n { tag: /blwf/, name: \"Below-base Forms\" },\n { tag: /blwm/, name: \"Below-base Mark Positioning\" },\n { tag: /blws/, name: \"Below-base Substitutions\" },\n { tag: /calt/, name: \"Contextual Alternates\" },\n { tag: /case/, name: \"Case-Sensitive Forms\" },\n { tag: /ccmp/, name: \"Glyph Composition / Decomposition\" },\n { tag: /cfar/, name: \"Conjunct Form After Ro\" },\n { tag: /cjct/, name: \"Conjunct Forms\" },\n { tag: /clig/, name: \"Contextual Ligatures\" },\n { tag: /cpct/, name: \"Centered CJK Punctuation\" },\n { tag: /cpsp/, name: \"Capital Spacing\" },\n { tag: /cswh/, name: \"Contextual Swash\" },\n { tag: /curs/, name: \"Cursive Positioning\" },\n { tag: /cv(\\d{2})/, name: \"Character Variants $1\" },\n { tag: /c2pc/, name: \"Petite Capitals From Capitals\" },\n { tag: /c2sc/, name: \"Small Capitals From Capitals\" },\n { tag: /dist/, name: \"Distances\" },\n { tag: /dlig/, name: \"Discretionary Ligatures\" },\n { tag: /dnom/, name: \"Denominators\" },\n { tag: /dtls/, name: \"Dotless Forms\" },\n { tag: /expt/, name: \"Expert Forms\" },\n { tag: /falt/, name: \"Final Glyph on Line Alternates\" },\n { tag: /fin2/, name: \"Terminal Forms #2\" },\n { tag: /fin3/, name: \"Terminal Forms #3\" },\n { tag: /fina/, name: \"Terminal Forms\" },\n { tag: /flac/, name: \"Flattened accent forms\" },\n { tag: /frac/, name: \"Fractions\" },\n { tag: /fwid/, name: \"Full Widths\" },\n { tag: /half/, name: \"Half Forms\" },\n { tag: /haln/, name: \"Halant Forms\" },\n { tag: /halt/, name: \"Alternate Half Widths\" },\n { tag: /hist/, name: \"Historical Forms\" },\n { tag: /hkna/, name: \"Horizontal Kana Alternates\" },\n { tag: /hlig/, name: \"Historical Ligatures\" },\n { tag: /hngl/, name: \"Hangul\" },\n { tag: /hojo/, name: \"Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)\" },\n { tag: /hwid/, name: \"Half Widths\" },\n { tag: /init/, name: \"Initial Forms\" },\n { tag: /isol/, name: \"Isolated Forms\" },\n { tag: /ital/, name: \"Italics\" },\n { tag: /jalt/, name: \"Justification Alternates\" },\n { tag: /jp78/, name: \"JIS78 Forms\" },\n { tag: /jp83/, name: \"JIS83 Forms\" },\n { tag: /jp90/, name: \"JIS90 Forms\" },\n { tag: /jp04/, name: \"JIS2004 Forms\" },\n { tag: /kern/, name: \"Kerning\" },\n { tag: /lfbd/, name: \"Left Bounds\" },\n { tag: /liga/, name: \"Standard Ligatures\" },\n { tag: /ljmo/, name: \"Leading Jamo Forms\" },\n { tag: /lnum/, name: \"Lining Figures\" },\n { tag: /locl/, name: \"Localized Forms\" },\n { tag: /ltra/, name: \"Left-to-right alternates\" },\n { tag: /ltrm/, name: \"Left-to-right mirrored forms\" },\n { tag: /mark/, name: \"Mark Positioning\" },\n { tag: /med2/, name: \"Medial Forms #2\" },\n { tag: /medi/, name: \"Medial Forms\" },\n { tag: /mgrk/, name: \"Mathematical Greek\" },\n { tag: /mkmk/, name: \"Mark to Mark Positioning\" },\n { tag: /mset/, name: \"Mark Positioning via Substitution\" },\n { tag: /nalt/, name: \"Alternate Annotation Forms\" },\n { tag: /nlck/, name: \"NLC Kanji Forms\" },\n { tag: /nukt/, name: \"Nukta Forms\" },\n { tag: /numr/, name: \"Numerators\" },\n { tag: /onum/, name: \"Oldstyle Figures\" },\n { tag: /opbd/, name: \"Optical Bounds\" },\n { tag: /ordn/, name: \"Ordinals\" },\n { tag: /ornm/, name: \"Ornaments\" },\n { tag: /palt/, name: \"Proportional Alternate Widths\" },\n { tag: /pcap/, name: \"Petite Capitals\" },\n { tag: /pkna/, name: \"Proportional Kana\" },\n { tag: /pnum/, name: \"Proportional Figures\" },\n { tag: /pref/, name: \"Pre-Base Forms\" },\n { tag: /pres/, name: \"Pre-base Substitutions\" },\n { tag: /pstf/, name: \"Post-base Forms\" },\n { tag: /psts/, name: \"Post-base Substitutions\" },\n { tag: /pwid/, name: \"Proportional Widths\" },\n { tag: /qwid/, name: \"Quarter Widths\" },\n { tag: /rand/, name: \"Randomize\" },\n { tag: /rclt/, name: \"Required Contextual Alternates\" },\n { tag: /rkrf/, name: \"Rakar Forms\" },\n { tag: /rlig/, name: \"Required Ligatures\" },\n { tag: /rphf/, name: \"Reph Forms\" },\n { tag: /rtbd/, name: \"Right Bounds\" },\n { tag: /rtla/, name: \"Right-to-left alternates\" },\n { tag: /rtlm/, name: \"Right-to-left mirrored forms\" },\n { tag: /ruby/, name: \"Ruby Notation Forms\" },\n { tag: /rvrn/, name: \"Required Variation Alternates\" },\n { tag: /salt/, name: \"Stylistic Alternates\" },\n { tag: /sinf/, name: \"Scientific Inferiors\" },\n { tag: /size/, name: \"Optical size\" },\n { tag: /smcp/, name: \"Small Capitals\" },\n { tag: /smpl/, name: \"Simplified Forms\" },\n { tag: /ss01/, name: \"Stylistic Set 1\" },\n { tag: /ss02/, name: \"Stylistic Set 2\" },\n { tag: /ss03/, name: \"Stylistic Set 3\" },\n { tag: /ss04/, name: \"Stylistic Set 4\" },\n { tag: /ss05/, name: \"Stylistic Set 5\" },\n { tag: /ss06/, name: \"Stylistic Set 6\" },\n { tag: /ss07/, name: \"Stylistic Set 7\" },\n { tag: /ss08/, name: \"Stylistic Set 8\" },\n { tag: /ss09/, name: \"Stylistic Set 9\" },\n { tag: /ss10/, name: \"Stylistic Set 10\" },\n { tag: /ss11/, name: \"Stylistic Set 11\" },\n { tag: /ss12/, name: \"Stylistic Set 12\" },\n { tag: /ss13/, name: \"Stylistic Set 13\" },\n { tag: /ss14/, name: \"Stylistic Set 14\" },\n { tag: /ss15/, name: \"Stylistic Set 15\" },\n { tag: /ss16/, name: \"Stylistic Set 16\" },\n { tag: /ss17/, name: \"Stylistic Set 17\" },\n { tag: /ss18/, name: \"Stylistic Set 18\" },\n { tag: /ss19/, name: \"Stylistic Set 19\" },\n { tag: /ss20/, name: \"Stylistic Set 20\" },\n { tag: /ssty/, name: \"Math script style alternates\" },\n { tag: /stch/, name: \"Stretching Glyph Decomposition\" },\n { tag: /subs/, name: \"Subscript\" },\n { tag: /sups/, name: \"Superscript\" },\n { tag: /swsh/, name: \"Swash\" },\n { tag: /titl/, name: \"Titling\" },\n { tag: /tjmo/, name: \"Trailing Jamo Forms\" },\n { tag: /tnam/, name: \"Traditional Name Forms\" },\n { tag: /tnum/, name: \"Tabular Figures\" },\n { tag: /trad/, name: \"Traditional Forms\" },\n { tag: /twid/, name: \"Third Widths\" },\n { tag: /unic/, name: \"Unicase\" },\n { tag: /valt/, name: \"Alternate Vertical Metrics\" },\n { tag: /vatu/, name: \"Vattu Variants\" },\n { tag: /vert/, name: \"Vertical Writing\" },\n { tag: /vhal/, name: \"Alternate Vertical Half Metrics\" },\n { tag: /vjmo/, name: \"Vowel Jamo Forms\" },\n { tag: /vkna/, name: \"Vertical Kana Alternates\" },\n { tag: /vkrn/, name: \"Vertical Kerning\" },\n { tag: /vpal/, name: \"Proportional Alternate Vertical Metrics\" },\n { tag: /vrt2/, name: \"Vertical Alternates and Rotation\" },\n { tag: /vrtr/, name: \"Vertical Alternates for Rotation\" },\n { tag: /zero/, name: \"Slashed Zero\" },\n];\n","import opentypeLanguageTags from \"./opentypeLanguageTags\";\nimport { getOpenTypeFeatureName } from \"./opentypeFeatureNames\";\n\nexport default class Font {\n constructor(font, url, fileName) {\n this.version = 0;\n this.url = url;\n this.fileName = fileName;\n this.font = font;\n this.processFont();\n }\n\n serialize() {\n // eslint-disable-next-line no-unused-vars\n const { font, ...obj } = this;\n return obj;\n }\n\n processFont() {\n this.getNames();\n this.getFeatures();\n this.getGlyphs();\n this.generateFontFace();\n }\n\n getNames() {\n const font = this.font;\n const names = font.names;\n this.family = (names.preferredFamily && names.preferredFamily.en) || names.fontFamily.en;\n this.originalFamily = this.family;\n if (this.version) {\n this.family += `-${this.version}`;\n }\n this.style =\n (names.preferredSubfamily && names.preferredSubfamily.en) || names.fontSubfamily.en;\n\n this.cssFamily = this.family + '-' + this.style;\n this.cssStyle = /(italic|oblique)/gi.test(this.style) ? \"italic\" : \"normal\";\n this.cssWeight = font.tables.os2.usWeightClass;\n\n this.displayName = `${this.originalFamily} ${this.style} ${this.version ? `(${this.version})` : ''}`;\n }\n\n getGlyphs() {\n const font = this.font;\n // this.characters = Object.keys(font.tables.cmap.glyphIndexMap).map(unicode => String.fromCharCode(unicode));\n const glyphs = Object.keys(font.glyphs.glyphs)\n .map(k => font.glyphs.glyphs[k])\n .filter(g => g.unicode)\n .map(g => String.fromCharCode(g.unicode));\n this.characters = glyphs;\n }\n\n getFeatures() {\n const font = this.font;\n const names = font.names;\n const gpos = font.tables.gpos || {};\n const gsub = font.tables.gsub || {};\n\n const languageSet = new Set(\n [...(gpos.scripts || []), ...(gsub.scripts || [])]\n .flatMap(s => s.script.langSysRecords).map(lsr => lsr.tag)\n );\n const loclLanguages = Array.from(languageSet)\n .map(tag => {\n // tags are four characters, last most commonly space\n const language = opentypeLanguageTags.find(l => l.opentypeTag === tag);\n const name = language ? language.name : tag;\n const htmlTag = language ? language.htmlTag : tag.toLowerCase();\n return ({ tag, name, htmlTag });\n })\n .sort((a, b) => a.name > b.name);\n loclLanguages.unshift({ tag: '', htmlTag: '', name: 'automatic' });\n\n const stylisticSetNames = Object.getOwnPropertyNames(names)\n .filter(p => /\\d+/.test(p))\n .map(p => names[p].en);\n let i = 0;\n const getStylisticSetName = function () {\n return stylisticSetNames[i++];\n };\n\n this.gposFeatures = [];\n (gpos.features || []).forEach(f => {\n const duplicate = this.gposFeatures.find(ff => ff.tag == f.tag);\n if (!duplicate) {\n const feature = {\n tag: f.tag,\n name: getOpenTypeFeatureName(f.tag),\n };\n this.gposFeatures.push(feature);\n }\n });\n\n this.gsubFeatures = [];\n (gsub.features || []).forEach(f => {\n const duplicate = this.gsubFeatures.find(ff => ff.tag == f.tag);\n if (!duplicate) {\n const feature = {\n tag: f.tag,\n name: getOpenTypeFeatureName(f.tag),\n // uiName: f.feature.uiName,\n };\n\n if (f.tag == \"locl\") {\n feature.languages = loclLanguages;\n feature.selectedLanguage = loclLanguages[0];\n } else if (/ss\\d\\d/.test(f.tag)) {\n const uiName = f.feature.uiName;\n feature.uiName = uiName && uiName['en'];\n } else if (/cv\\d\\d/.test(f.tag)) {\n const uiName = f.feature.featUiLabelName;\n feature.uiName = uiName && uiName['en'];\n console.log(feature.uiName)\n }\n this.gsubFeatures.push(feature);\n }\n });\n\n this.variationAxes = [];\n if (font && font.tables.fvar && font.tables.fvar.axes) {\n this.variationAxes = font && font.tables.fvar && font.tables.fvar.axes;\n }\n }\n\n generateFontFace({ family, style, weight } = {}) {\n this.fontFace = `\n @font-face {\n src: url('${this.url}');\n font-family: \"${family || this.cssFamily}\";\n ${ this.variationAxes.length === 0 ? 'font-weight: bold' : ''}; // prevent fake bold, allow for automatic weight in Variable fonts\n // font-style: ${style || this.cssStyle}; // hmmm...\n }\n `;\n return this.fontFace;\n }\n\n bumpVersion(value) {\n if (value) {\n this.version = value;\n }\n else {\n this.version++;\n }\n this.processFont();\n }\n}\n","export default function(proposal) {\n if (!proposal) {\n let id = '';\n do {\n let val = Math.random() * (2 ** 8);\n let hex = val.toString(16);\n id = 'b' + hex;\n } while (document.getElementById(id));\n return id;\n }\n else {\n let id = proposal;\n let i = 1;\n while (document.getElementById(id)) {\n id = `${proposal}-${i++}`;\n }\n return id;\n }\n}\n","import getId from \"./id\";\n\nexport default {\n add(css, id = \"\") {\n if (!id) {\n id = getId();\n }\n\n var newStyle = document.createElement(\"style\");\n newStyle.appendChild(document.createTextNode(css));\n\n document.head.appendChild(newStyle);\n\n if (id) {\n const existing = document.getElementById(id);\n if (existing) {\n existing.parentNode.removeChild(existing);\n }\n }\n newStyle.id = id;\n },\n\n setProperty(prop, val) {\n document.documentElement.style.setProperty(prop, val);\n },\n};\n","export default [\n \"AlegreyaSans/AlegreyaSans-Regular.ttf\",\n \"AlegreyaSans/AlegreyaSans-Italic.ttf\",\n \"AlegreyaSans/AlegreyaSans-Bold.ttf\",\n \"AlegreyaSans/AlegreyaSans-BoldItalic.ttf\",\n \"Rywalka-Regular.ttf\",\n \"Graduate.ttf\",\n \"Tektur[wdth,wght].ttf\",\n];\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontLoader.vue?vue&type=template&id=ecbc34e0&\"\nimport script from \"./FontLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./FontLoader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontLoader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"editor-nav\"},[_vm._l((_vm.customTextIds),function(id){return _c('EditorNavLink',{key:id,attrs:{\"id\":id},on:{\"navigated\":function($event){return _vm.$emit('navigated')}}})}),_c('span',{key:\"-1\",staticClass:\"nav-link new\"},[_c('router-link',{attrs:{\"to\":\"/custom/-1\"}},[_vm._v(\"\\n \"+_vm._s(_vm.customTextIds.length > 0 ? '+ New' : 'Editor')+\"\\n \")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"editor-nav-link nav-link\"},[_c('router-link',{attrs:{\"to\":(\"/custom/\" + _vm.id)},nativeOn:{\"click\":function($event){return _vm.$emit('navigated')}}},[_c('div',{staticClass:\"middle-ellipsis\"},[_c('div',{staticClass:\"start\"},[_vm._v(\"Custom \")]),_c('div',{staticClass:\"end\"},[_vm._v(_vm._s(_vm.id))])])]),_c('UiIconButton',{staticStyle:{\"color\":\"white\"},attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.removeCustomText(_vm.id)}}},[_c('svg',{key:'1',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorNavLink.vue?vue&type=template&id=4f310594&scoped=true&\"\nimport script from \"./EditorNavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorNavLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorNavLink.vue?vue&type=style&index=0&id=4f310594&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f310594\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","// https://stackoverflow.com/a/17694760/6805143\n\nvar saveSelection, restoreSelection, getSelectionRange;\n\nif (window.getSelection && document.createRange) {\n getSelectionRange = function () {\n const sel = window.getSelection();\n return sel.rangeCount >= 1 && sel.getRangeAt(0);\n }\n\n saveSelection = function (containerEl) {\n var doc = containerEl.ownerDocument, win = doc.defaultView;\n var range = win.getSelection().getRangeAt(0);\n var preSelectionRange = range.cloneRange();\n preSelectionRange.selectNodeContents(containerEl);\n preSelectionRange.setEnd(range.startContainer, range.startOffset);\n var start = preSelectionRange.toString().length;\n\n return {\n start: start,\n end: start + range.toString().length,\n };\n };\n\n restoreSelection = function (containerEl, savedSel) {\n var doc = containerEl.ownerDocument, win = doc.defaultView;\n var charIndex = 0, range = doc.createRange();\n range.setStart(containerEl, 0);\n range.collapse(true);\n var nodeStack = [containerEl], node, foundStart = false, stop = false;\n\n while (!stop && (node = nodeStack.pop())) {\n if (node.nodeType == 3) {\n var nextCharIndex = charIndex + node.length;\n if (!foundStart && savedSel.start >= charIndex && savedSel.start <= nextCharIndex) {\n range.setStart(node, savedSel.start - charIndex);\n foundStart = true;\n }\n if (foundStart && savedSel.end >= charIndex && savedSel.end <= nextCharIndex) {\n range.setEnd(node, savedSel.end - charIndex);\n stop = true;\n }\n charIndex = nextCharIndex;\n } else {\n var i = node.childNodes.length;\n while (i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n }\n\n var sel = win.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n };\n} else if (document.selection) {\n saveSelection = function (containerEl) {\n var doc = containerEl.ownerDocument;\n var selectedTextRange = doc.selection.createRange();\n var preSelectionTextRange = doc.body.createTextRange();\n preSelectionTextRange.moveToElementText(containerEl);\n preSelectionTextRange.setEndPoint(\"EndToStart\", selectedTextRange);\n var start = preSelectionTextRange.text.length;\n\n return {\n start: start,\n end: start + selectedTextRange.text.length,\n };\n };\n\n restoreSelection = function (containerEl, savedSel) {\n var doc = containerEl.ownerDocument;\n var textRange = doc.body.createTextRange();\n textRange.moveToElementText(containerEl);\n textRange.collapse(true);\n textRange.moveEnd(\"character\", savedSel.end);\n textRange.moveStart(\"character\", savedSel.start);\n textRange.select();\n };\n}\n\nexport default class DomSelection {\n constructor(container) {\n this.selection = null;\n this.container = container;\n }\n\n get remembered() {\n return this.selection !== null;\n }\n\n save() {\n this.selection = saveSelection(this.container);\n }\n\n restore() {\n if (this.selection) {\n restoreSelection(this.container, this.selection);\n }\n }\n\n forget() {\n this.selection = null;\n }\n\n ancestor() {\n const range = getSelectionRange(this.container);\n let ancestor = range.commonAncestorContainer;\n if (ancestor.nodeType === Node.TEXT_NODE) {\n ancestor = ancestor.parentNode;\n }\n return ancestor;\n }\n\n existentTags(tag) {\n const range = getSelectionRange(this.container);\n const fragment = range.cloneContents();\n let existentTags = fragment.querySelectorAll(tag);\n // existentTags = Array.from(existentTags).filter(t => t.innerText);\n return existentTags;\n }\n\n closestTag(tag) {\n let closestTag = this.ancestor().closest(tag);\n return closestTag;\n }\n\n containsTag(tag) {\n return this.existentTags(tag).length > 0 || this.closestTag(tag) != null;\n }\n\n wrap(tag) {\n const isParagraph = /^h[1-6]$/.test(tag);\n\n let ancestor = this.ancestor();\n // if selection is outside editor; not probable though\n if (!this.container.contains(ancestor)) {\n console.log(\"not contained\")\n return;\n }\n // if (ancestor.tagName === tag.toUpperCase()) {\n // existentTag = ancestor;\n // }\n const range = getSelectionRange(this.container);\n let fragment = range.cloneContents();\n let existentTags = fragment.querySelectorAll(tag);\n const closestTag = this.closestTag(tag);\n\n if (closestTag) {\n // console.log('closest');\n const parent = ancestor === closestTag ? ancestor.parentNode : ancestor;\n const tmp = document.createElement('tmp');\n range.surroundContents(tmp);\n const newContent = document.createDocumentFragment();\n Array.from(closestTag.childNodes).forEach(c => {\n try {\n if (c === tmp) {\n newContent.appendChild(c.childNodes[0]);\n }\n else if (c.nodeValue || c.innerText) {\n const newEl = document.createElement(tag);\n newEl.appendChild(c.cloneNode());\n newContent.appendChild(newEl);\n }\n }\n catch (e) {\n console.log(e);\n }\n });\n parent.replaceChild(newContent, closestTag);\n }\n else if (existentTags.length) {\n // console.log(existentTags.length + ' existent ' + tag + 's')\n existentTags.forEach(c => {\n try {\n const fr = document.createDocumentFragment();\n Array.from(c.childNodes).forEach(cc => fr.appendChild(cc));\n c.parentNode.replaceChild(fr, c);\n }\n catch (e) {\n console.log(e);\n }\n });\n range.deleteContents();\n range.insertNode(fragment);\n }\n else\n try {\n const empty = isParagraph && range.toString() === \"\";\n if (empty) {\n range.insertNode(document.createElement(\"br\"));\n }\n\n const newParent = document.createElement(tag);\n newParent.appendChild(range.extractContents());\n range.insertNode(newParent);\n\n if (empty) {\n range.selectNodeContents(newParent);\n }\n }\n catch (e) {\n console.log(e);\n console.log(ancestor)\n // probably selection is partial\n }\n\n clean(this.container);\n }\n}\n\nfunction clean(node)\n{\n for(var n = 0; n < node.childNodes.length; n ++)\n {\n var child = node.childNodes[n];\n if\n (\n child.nodeType === 8\n ||\n (child.nodeType === 3 && !/\\S/.test(child.nodeValue))\n || child.innerText === \"\"\n )\n {\n // console.log('removing node')\n // console.log(node.toString())\n // console.log(child.toString())\n node.removeChild(child);\n n --;\n }\n else if(child.nodeType === 1)\n {\n clean(child);\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorNav.vue?vue&type=template&id=f4847f42&\"\nimport script from \"./EditorNav.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorNav.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-tools font-sample-nav contextual-sidebar\"},[_c('div',{staticClass:\"toolbar panel btn-group\"},[_c('UiIconButton',{attrs:{\"tooltip\":\"Heading\",\"color\":_vm.isHeadingActive ? 'primary' : 'default'},on:{\"click\":_vm.makeHeading}},[_vm._v(\"\\n H\\n \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Bold\",\"color\":_vm.isBoldActive ? 'primary' : 'default'},on:{\"click\":_vm.makeBold}},[_vm._v(\"\\n B\\n \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Italic\",\"color\":_vm.isItalicActive ? 'primary' : 'default'},on:{\"click\":_vm.makeItalic}},[_vm._v(\"\\n I\\n \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextTools.vue?vue&type=template&id=7a15c57a&scoped=true&\"\nimport script from \"./TextTools.vue?vue&type=script&lang=js&\"\nexport * from \"./TextTools.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextTools.vue?vue&type=style&index=0&id=7a15c57a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a15c57a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{staticClass:\"site-logo\"},[_c('svg',{class:'logo',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 256\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('g',{attrs:{\"data-name\":\"Warstwa 3\"}},[_c('g',{attrs:{\"data-name\":\"Icon Big\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z\",\"data-name\":\"Hole 1\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z\",\"data-name\":\"Hole 2\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z\",\"data-name\":\"Hole 3\"}})])])]),_vm._m(0)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logotype\"},[_c('span',{staticClass:\"strong\"},[_vm._v(\"Bulletproof\")]),_c('span',{staticClass:\"weak\"},[_vm._v(\"Font Tester\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SiteLogo.vue?vue&type=template&id=3c965810&\"\nvar script = {}\nimport style0 from \"./SiteLogo.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sigmoid-container\",style:(_vm.rootStyle)},[(_vm.left)?_c('div',{staticClass:\"sigmoid left\",style:(_vm.sigmoidWrapperStyle)},[_c('div',{style:(_vm.sigmoidStyle)})]):_vm._e(),_c('div',{staticClass:\"container\",style:(_vm.containerStyle)},[_c('div',{staticClass:\"content\",style:(_vm.contentStyle)},[_vm._t(\"default\")],2)]),(_vm.right)?_c('div',{staticClass:\"sigmoid right\",style:(_vm.sigmoidWrapperStyle)},[_c('div',{style:(_vm.sigmoidStyle)})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SigmoidContainer.vue?vue&type=template&id=6ff99e0d&scoped=true&\"\nimport script from \"./SigmoidContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SigmoidContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SigmoidContainer.vue?vue&type=style&index=0&id=6ff99e0d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ff99e0d\",\n null\n \n)\n\nexport default component.exports","export default [\"lettering\", \"pangrams\", \"sentences\", \"gotchas\", \"ABCs\", \"glyphs\", \"kerning\", \"languages\"];\n","export default function(kind) {\n return kind[0].toUpperCase() + kind.substr(1);\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteHeader.vue?vue&type=template&id=197ecb26&\"\nimport script from \"./SiteHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SiteHeader.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"site-footer\"},[_c('div',{ref:\"sentinel\",staticClass:\"sentinel\"}),_vm._m(0),_c('SigmoidContainer',{staticClass:\"large light aside\",attrs:{\"sides\":\"left bottom\",\"width\":\"75\",\"idSeed\":\"footer\"}},[_c('a',{staticClass:\"github-link\",attrs:{\"href\":\"https://github.com/hyvyys/Bulletproof\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_c('div',[_vm._v(\"\\n Bulletproof\\n \"),_c('br'),_vm._v(\"\\n on Github\\n \")]),_c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"height\":'32',\"width\":'32',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}})])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main u-dark\"},[_c('div',{staticClass:\"extra-info\"},[_c('div',[_c('a',{attrs:{\"href\":\"https://github.com/huertatipografica/Alegreya-Sans\"}},[_vm._v(\"Alegreya Sans\")]),_vm._v(\" font by Juan Pablo del Peral.\\n \")]),_c('div',[_c('a',{attrs:{\"href\":\"https://github.com/etunni/Graduate-Variable-Font\"}},[_vm._v(\"Graduate\")]),_vm._v(\" Variable Font by Eduardo Tunni.\\n \")]),_c('div',[_vm._v(\"\\n Rywalka and \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/Tektur\"}},[_vm._v(\"Tektur\")]),_vm._v(\" fonts by Adam Jagosz.\\n \")]),_c('div',[_vm._v(\"\\n Sample texts from\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/language-data\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"\\n Language-Data.\\n \")]),_c('br'),_vm._v(\"\\n Visit to contribute! ↑\\n \")])]),_c('div',{staticClass:\"bulletproof-info\"},[_c('div',[_vm._v(\"\\n Bulletproof Font Tester\\n \")]),_c('div',[_vm._v(\"\\n © 2021 Adam Jagosz\\n \")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteFooter.vue?vue&type=template&id=1083513b&scoped=true&\"\nimport script from \"./SiteFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteFooter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SiteFooter.vue?vue&type=style&index=0&id=1083513b&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1083513b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }},[_c('div',{staticClass:\"background background-parallax\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }},[_c('div',{staticClass:\"pane\"},[_c('div',{ref:\"parallax\",staticClass:\"parallax-content\",attrs:{\"data-parallax\":\"0.3 0\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getParallaxText())+\"\\n \")])])]),_c('div',{ref:\"overlay\",staticClass:\"background background-overlay\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }}),_c('Welcome',{attrs:{\"msg\":\"Welcome to Your Vue.js App\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Shuffles array in place.\n * @param {Array} a items An array containing the items.\n */\nexport default function shuffle(a) {\n var j, x, i;\n for (i = a.length - 1; i > 0; i--) {\n j = Math.floor(Math.random() * (i + 1));\n x = a[i];\n a[i] = a[j];\n a[j] = x;\n }\n return a;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"welcome reading\"},[_c('div',{staticClass:\"fold\"},[_c('figure',{staticClass:\"banner\"},[_c('svg',{class:'logo',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 256\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('g',{attrs:{\"data-name\":\"Warstwa 3\"}},[_c('g',{attrs:{\"data-name\":\"Icon Big\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z\",\"data-name\":\"Hole 1\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z\",\"data-name\":\"Hole 2\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z\",\"data-name\":\"Hole 3\"}})])])]),_c('h1',[_vm._v(\"Bulletproof\")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\"I Wish I Was...\")])]),_c('div',{staticClass:\"invitation\"},[(!_vm.isMobile)?_c('div',{staticClass:\"drop-prompt\"},[_vm._v(\"\\n Drop font files to start\\n \")]):_vm._e(),(!_vm.isMobile)?_c('div',[_vm._v(\"or\")]):_vm._e(),_c('div',{staticClass:\"request-font\"},[_c('UiTextbox',{staticClass:\"font-url-input\",attrs:{\"placeholder\":\"Enter font file URL (TTF, OTF, WOFF)\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.requestFont($event)}},model:{value:(_vm.addFontUrl),callback:function ($$v) {_vm.addFontUrl=$$v},expression:\"addFontUrl\"}}),_c('UiButton',{attrs:{\"disabled\":!_vm.addFontUrl},on:{\"click\":_vm.requestFont}},[_vm._v(\"Load\")])],1),(_vm.isMobile)?_c('div',[_vm._v(\"or\")]):_vm._e(),(_vm.isMobile)?_c('UiButton',{on:{\"click\":function($event){return _vm.expandMenu('navMenu')}}},[_vm._v(\"Just look around\")]):_vm._e()],1)]),_c('WelcomeText',{staticClass:\"readme\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(\"What’s this all about?\")]),_c('p',[_vm._v(\"Test your local or remote fonts with the proofing tool developed by a type designer, for type designers. Check out kerning, OpenType features, and language coverage. Explore and animate variation axes in variable fonts.\")]),_vm._m(0),_vm._m(1),_c('h2',[_vm._v(\"Available formatting options\")]),_vm._m(2),_c('h2',[_vm._v(\"Text collection\")]),_vm._m(3),_vm._m(4),_c('p',[_vm._v(\"The selection of languages and texts is arbitrary and limited, but contributions are welcome. Currently the focus is on languages written with Latin and Cyrillic.\")]),_c('h2',[_vm._v(\"Kerning tester\")]),_c('p',[_vm._v(\"The \"),_c('router-link',{attrs:{\"to\":\"/kerning\"}},[_vm._v(\"Kerning tab\")]),_vm._v(\" has a kerning string generator. A couple of kerning patterns are predefined and more can be created on the fly. \"),_c('router-link',{attrs:{\"to\":\"/help/kerning\"}},[_vm._v(\"See kerning generator help.\")])],1),_c('h2',[_vm._v(\"Playground & Animation\")]),_c('p',[_vm._v(\"Any open text sample can be edited. In the \"),_c('router-link',{attrs:{\"to\":\"/editor\"}},[_vm._v(\"editor tab\")]),_vm._v(\" some more options are available: setting bold and italic (with separately selectable fonts), as well as taking snapshots of the settings and using them as animation keyframes — can be useful for recording gifs or videos, or toggling multiple features on and off more quickly. \"),_c('router-link',{attrs:{\"to\":\"/help/animation\"}},[_vm._v(\"See animation editor help.\")])],1),_c('h2',[_vm._v(\"Preload a remote font\")]),_c('p',[_vm._v(\"If you want to share a link to a specific tab and automatically load a remote font, you can add a query parameter with the URL of your font file — like \"),_c('code',[_vm._v(\"?preload=https://example.com/Font.ttf\")]),_vm._v(\" — to the end of the page URL. \"),_c('router-link',{attrs:{\"to\":\"/help/query-string\"}},[_vm._v(\"See preloading custom fonts help.\")])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To begin, load font files via drag’n’drop or by pasting a URL. The fonts’ OpenType features and variation axes will be automatically detected. Everything is processed locally in the browser, using \"),_c('a',{attrs:{\"href\":\"https://github.com/opentypejs/opentype.js\"}},[_vm._v(\"OpenType.js\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Or if you don't have any font files handy, look around and test the included fonts: \"),_c('a',{attrs:{\"href\":\"https://github.com/huertatipografica/Alegreya-Sans\"}},[_vm._v(\"Alegreya Sans\")]),_vm._v(\" by Juan Pablo del Peral, \"),_c('a',{attrs:{\"href\":\"https://github.com/etunni/Graduate-Variable-Font\"}},[_vm._v(\"Graduate\")]),_vm._v(\" Variable Font by Eduardo Tunni, and my own Rywalka (work-in-progress).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Changing font size, line height, text alignment, text case transform, text and background colors.\")]),_c('li',[_vm._v(\"Toggling OpenType features on and off.\")]),_c('li',[_vm._v(\"Choosing localization language from the list of languages built into the font.\")]),_c('li',[_vm._v(\"Manipulating OpenType Variation axes.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The multilingual texts and language metadata powering this project are maintained in their own repository and npm package \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/language-data\"}},[_vm._v(\"language-data\")]),_vm._v(\". Several kinds of texts are included:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"ordinary sentences,\")]),_c('li',[_vm._v(\"pangrams,\")]),_c('li',[_vm._v(\"lettering samples — defined as sets of A-Z words preferably repeating the initial letter within),\")]),_c('li',[_c('em',[_vm._v(\"gotchas\")]),_vm._v(\" — edge cases characteristic to the given language, things to look out for when desigining a typeface.\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Welcome.md?vue&type=template&id=6af9f7c8&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=05c36e7e&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=0eadec82&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=0eadec82&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0eadec82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',[_vm._v(\"Help pages\")]),_c('ol',[_c('li',[_c('router-link',{attrs:{\"to\":\"/help/animation\"}},[_vm._v(\"Animation editor\")])],1),_c('li',[_c('router-link',{attrs:{\"to\":\"/help/kerning\"}},[_vm._v(\"Kerning string editor\")])],1),_c('li',[_c('router-link',{attrs:{\"to\":\"/help/query-string\"}},[_vm._v(\"Preloading custom fonts\")])],1)])])]),_c('div',{staticClass:\"example\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Help.vue?vue&type=template&id=3788e376&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":\"/help\"}},[_vm._v(\"Help / \")]),_vm._v(\"Kerning string generator\\n \")],1),_c('Kerning')],1)]),_c('div',{staticClass:\"example\"},[_c('h2',[_vm._v(\"Try it out\")]),_c('transition-group',{attrs:{\"name\":\"fade\"}},[_c('KerningEditor',{key:\"editor\",attrs:{\"segments\":_vm.segments},on:{\"addKerningSegment\":_vm.addKerningSegment,\"removeKerningSegment\":function (i) { return _vm.removeKerningSegment(i); }}}),_c('div',{key:\"title\",staticClass:\"row\"},[_c('h3',[_vm._v(\"\\n Output\\n \")])]),_c('div',{key:\"string\"},_vm._l((_vm.kerningStringLines),function(line,i){return _c('div',{key:i},[_vm._v(\"\\n \"+_vm._s(line)+\"\\n \")])}),0)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function characterRange(charA, charZ) {\n var a = [], i = charA.charCodeAt(0), j = charZ.charCodeAt(0);\n for (; i <= j; ++i) {\n a.push(String.fromCharCode(i));\n }\n return a;\n}\n","export default function cartesianProductOf() {\n return Array.prototype.reduce.call(arguments, function(a, b) {\n var ret = [];\n a.forEach(function(a) {\n b.forEach(function(b) {\n ret.push(a.concat([b]));\n });\n });\n return ret;\n }, [[]]);\n}\n","import characterRange from \"@/utils/characterRange\";\nimport cartesianProduct from \"@/utils/cartesianProduct\";\n\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nfunction splitWithEscape(s, separator, escape = \"\\\\\") {\n\n const endsWithEscape = new RegExp(escapeRegExp(escape) + \"$\");\n let fragments = [];\n let options = [];\n let current = \"\";\n\n s.split(\"\").forEach(char => {\n if (char === separator && !endsWithEscape.test(current)) {\n options.push(current);\n current = \"\";\n }\n else { // separator was escaped e.g. \\|\n current += char;\n }\n });\n options.push(current);\n\n const escapedSeparator = new RegExp(escapeRegExp(escape) + escapeRegExp(separator), \"g\");\n options = options.map(o => o.replace(escapedSeparator, separator));\n [].push.apply(fragments, options);\n return fragments;\n}\n\nexport default class KerningGenerator {\n /**\n * Split string of alternatives terminated and separated by pipe character.\n * @param {String} s String to parse, e.g. `|fi|fj|fl|ff|`. Pipe escaped with leading backslash, e.g. `|\\|:|\\:|/:|`.\n */\n static parseSequences(s) {\n s = s.replace(/^\\|/, \"\").replace(/\\|$/, \"\"); // trim group delimiters | ... |\n let fragments = splitWithEscape(s, \"|\");\n\n return fragments;\n }\n\n /**\n * Split closure on the underscore character _, unless escaped \\_.\n * @param {String} s String to parse, e.g. `\"_\",`. Pipe escaped with leading backslash, e.g. |\\|:|\\:|/:|.\n */\n static parseClosure(s) {\n let fragments = splitWithEscape(s, \"_\");\n return fragments;\n }\n\n static sets(segments) {\n const sets = [];\n let closures = [];\n\n segments.forEach(s => {\n if (/^@/.test(s)) {\n s = s.replace(/^@/, \"\");\n s = s.replace(/\\\\@/g, \"@\");\n\n let segmentClosures = [];\n const special = \"_|\\\\\";\n const escaped = special.split(\"\").map(c => escapeRegExp(\"\\\\\" + c)).join(\"|\");\n const closureSide = `([^${escapeRegExp(special)}]*|${escaped})*`;\n const compoundClosure = new RegExp(`^\\\\|(${closureSide}_${closureSide}\\\\|)+$`);\n\n if (compoundClosure.test(s)) {\n segmentClosures = this.parseSequences(s).map(c => this.parseClosure(c));\n }\n else {\n segmentClosures = Array.from(s.matchAll(/(.)(.)/g)).map(m => [m[1], m[2]])\n }\n\n closures.push(segmentClosures);\n }\n\n // words etc.\n else {\n s = s.replace(/\\\\@/g, \"@\");\n\n if (/^\\|.+\\|$/.test(s)) {\n sets.push(this.parseSequences(s));\n }\n\n // character sets incl. ranges, only hyphen is escaped as \\-\n else {\n let fragments = [];\n\n const ranges = s.matchAll(/([^\\\\])-(.)/g); // e.g. a-z\n Array.from(ranges).forEach(r => {\n let [, start, end] = r;\n [].push.apply(fragments, characterRange(start, end));\n });\n\n s = s.replace(/([^\\\\])-(.)/g, \"\");\n\n const singleCharacters = s.replace(/\\\\-/g, \"-\").split(\"\");\n [].push.apply(fragments, singleCharacters);\n sets.push(fragments);\n }\n }\n });\n return { sets, closures };\n }\n\n static kerningString(pattern) {\n let sets = pattern.sets.filter(s => s.length);\n // clone\n sets = JSON.parse(JSON.stringify(sets));\n\n let product = cartesianProduct(...sets);\n // [ ['A', 'A'], ['A', 'B'], ['A', 'C'], ... ]\n\n let lines = [];\n let current = product[0][0] || \"\";\n let line = \"\";\n\n function commitLine(line) {\n // add initial character to the end of the line\n if (!pattern.closures.length) {\n // AAABACAD...WAXAYAZ\n // => AAABACAD...WAXAYAZA\n line += current;\n }\n // remove more than two repetitions of any character\n if (!pattern.closures.length) {\n line = line.replace(/(.)\\1{2,}/g, \"$1$1\"); // AAABACA => AABACA\n }\n lines.push(line);\n }\n\n product.filter(sub => sub.length).forEach(sub => {\n // new character on first position, finalize line\n if (sub[0] !== current) {\n commitLine(line);\n line = \"\";\n current = sub[0];\n }\n\n let fragment = sub.join(\"\");\n if (pattern.closures.length) {\n /* [\n [ [\"(\", \")\"], [\"[\", \"]\"], ... ],\n [ [\";\", \".\"], [\":\", \",\"], ... ],\n ... ] */\n\n const openings = pattern.closures.map(set => set.map(closure => closure[0]));\n const closings = pattern.closures.map(set => set.map(closure => closure[1]));\n /* [ [ \"(\", \"[\", ... ], [ \";\", \":\", ... ], ... ] */\n\n const openingSequences = cartesianProduct(...openings).map(sub => sub.reverse().join(\"\"));\n const closingSequences = cartesianProduct(...closings).map(sub => sub.join(\"\"));\n /* [ \";(\", \";[\", \":(\", \":[\", ... ] */\n\n const closures = openingSequences.map((o, i) => [o, closingSequences[i]]);\n\n fragment = closures\n .map(closure => `${closure[0]}${fragment}${closure[1]}`)\n .join(\" \") + \" \";\n }\n line += fragment;\n });\n commitLine(line);\n\n return lines;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kerning-editor panel\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('div',{key:\"title\",staticClass:\"row\"},[_c('h3',[_vm._v(\"\\n Pattern segments\\n \")]),_c('UiIconButton',{key:\"btnAdd\",attrs:{\"color\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('addKerningSegment')}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1),_vm._l((_vm.segments),function(segment,i){return _c('div',{key:(\"segment-\" + (segment.key)),staticClass:\"row segment-row\"},[_c('UiSelect',{ref:\"segmentSelects\",refInFor:true,attrs:{\"options\":_vm.builtInSegmentCharacters,\"dropdownClass\":\"kerning-segment-select\",\"dropdownPosition\":\"bottom-end\",\"placeholder\":\"type or choose\",\"autocomplete\":true},on:{\"input\":function($event){return _vm.$emit('updateKerningPattern')}},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [_c('kbd',[_vm._v(_vm._s(props.option || \"\\xa0\"))])]}}],null,true),model:{value:(_vm.segments[i].characters),callback:function ($$v) {_vm.$set(_vm.segments[i], \"characters\", $$v)},expression:\"segments[i].characters\"}}),_c('UiIconButton',{key:\"btnRemove\",staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('removeKerningSegment', i)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default [\n \"0-9\",\n \"A-Z\",\n \"a-z\",\n \"А-Я\",\n \"а-я\",\n \"Α-ΡΣ-Ω\",\n \"α-ω\",\n \"A-Za-z0-9\",\n \"FPTVWYfrvwy\",\n \"aáàâåäãæbcçdðeéèêëfghiíìîïjklmnñoóòôöõøpqrstuúùûüvwxyýÿzþ\",\n \"aáàăâåäãąāæbcćĉčċçdďđðeéèĕêěëėęēfgğĝġģhĥħiíìĭîïĩįīijıjĵkķlĺľļłŀmnńňñņŋoóòŏôöőõøōœpqĸrŕřŗsśŝšştťţŧuúùŭûůüűũųūvwŵxyýŷÿÿzźžżþ\",\n \",.\",\n \";:\",\n \"-–—+\",\n \"|fi|fj|fl|ff|ffi|ffl|fb|fh|fk|ft|\",\n \"@¡!¿?\",\n \"@“”‘’\",\n \"@“”„”„“””\",\n \"@|“_,”|”_”:|„_”,|„_“.|\",\n \"@\\\"\\\"''\",\n \"@()[]{}<>\",\n];\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningEditor.vue?vue&type=template&id=7f7c4944&scoped=true&\"\nimport script from \"./KerningEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningEditor.vue?vue&type=style&index=0&id=7f7c4944&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7f7c4944\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',[_vm._v(\"Kerning strings can be generated in the \"),_c('a',{attrs:{\"href\":\"/kerning\"}},[_vm._v(\"Kerning tab\")]),_vm._v(\". Each string is defined using a \"),_c('strong',[_vm._v(\"pattern\")]),_vm._v(\" consisting of character sets called \"),_c('strong',[_vm._v(\"segments\")]),_vm._v(\".\")]),_c('p',[_c('strong',[_vm._v(\"Regular segments\")]),_vm._v(\" are sets of letters, characters, or words that will be interpolated to create the kerning string. There are two kinds of regular segments:\")]),_c('ul',[_c('li',[_vm._v(\"Single-character segments, e.g. \"),_c('code',[_vm._v(\"A-Za-ząćę\")]),_vm._v(\".\")]),_c('li',[_vm._v(\"Multi-character segments, e.g. \"),_c('code',[_vm._v(\"|fi|fj|fl|\")]),_vm._v(\".\")])]),_c('p',[_c('strong',[_vm._v(\"Closure segments\")]),_vm._v(\" start with an at \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" and are used to surround the interpolated substrings with extra characters, typically punctuation. These also come in two flavors:\")]),_c('ul',[_c('li',[_vm._v(\"Single character closures, e.g. \"),_c('code',[_vm._v(\"@()[]{}\")]),_vm._v(\". Characters after \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" are treated as opening–closing pairs.\")]),_c('li',[_vm._v(\"Multiple character closures, e.g. \"),_c('code',[_vm._v(\"@|“_”.|“_.”|“_”,|“_,”|\")]),_vm._v(\". Anything before the underscore \"),_c('code',[_vm._v(\"_\")]),_vm._v(\" is treated as prefix, everything after — as suffix. Either can be empty, e.g. \"),_c('code',[_vm._v(\"@|_,|\")]),_vm._v(\" is a suffix-only closure.\")])]),_c('p',[_vm._v(\"Multiple closure segments can be combined. A pattern of the following segments:\")]),_c('blockquote',[_c('p',[_c('code',[_vm._v(\"abc\")]),_c('br'),_c('code',[_vm._v(\"@“”‘’\")]),_c('br'),_c('code',[_vm._v(\"@()\")])])]),_c('p',[_vm._v(\"will yield \"),_c('code',[_vm._v(\"(“a”) (‘a’) (“b”) (‘b’) (“c”) (‘c’)\")]),_vm._v(\".\")]),_c('h2',[_vm._v(\"Summary\")]),_c('p',[_vm._v(\"The segment syntax has just five special characters:\")]),_c('ul',[_c('li',[_vm._v(\"at \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" (only at the beginning of segment) — begins a closure segment,\")]),_c('li',[_vm._v(\"hyphen \"),_c('code',[_vm._v(\"-\")]),_vm._v(\" — signifies character range,\")]),_c('li',[_vm._v(\"pipe \"),_c('code',[_vm._v(\"|\")]),_vm._v(\" — delimits words or closures,\")]),_c('li',[_vm._v(\"underscore \"),_c('code',[_vm._v(\"_\")]),_vm._v(\", — separates closure prefix and suffix,\")]),_c('li',[_vm._v(\"and backslash \"),_c('code',[_vm._v(\"\\\\\")]),_vm._v(\" — escapes the above (and itself), e.g. \"),_c('code',[_vm._v(\"@|\\\\|_\\\\|\\\\_|\")]),_vm._v(\" means a closure segment with a \"),_c('code',[_vm._v(\"|\")]),_vm._v(\" prefix and \"),_c('code',[_vm._v(\"|_\")]),_vm._v(\" suffix.\")])])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Kerning.md?vue&type=template&id=7b3366bf&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningHelp.vue?vue&type=template&id=7273fa36&scoped=true&\"\nimport script from \"./KerningHelp.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningHelp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningHelp.vue?vue&type=style&index=0&id=7273fa36&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7273fa36\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":\"/help\"}},[_vm._v(\"Help / \")]),_vm._v(\"Animation editor\\n \")],1),_c('Animation')],1)]),_c('div',{staticClass:\"example\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',[_vm._v(\"In the \"),_c('a',{attrs:{\"href\":\"/editor\"}},[_vm._v(\"Editor tab\")]),_vm._v(\", the right side Contextual sidebar provides a simple animation editor. At any time a frame can be added to take a snapshot of the current settings from the left side Settings sidebar. Most settings are animatable, including continuous settings like Variation Axes, font size and color, as well as discrete settings like OpenType features. Currently a few settings remain unanimated: text align and text case transform.\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Animation.md?vue&type=template&id=4b43128c&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationHelp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationHelp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnimationHelp.vue?vue&type=template&id=3498f484&scoped=true&\"\nimport script from \"./AnimationHelp.vue?vue&type=script&lang=js&\"\nexport * from \"./AnimationHelp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3498f484\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":\"/help\"}},[_vm._v(\"Help / \")]),_vm._v(\"Preloading custom fonts\\n \")],1),_c('QueryString')],1)]),_c('div',{staticClass:\"example\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',[_vm._v(\"Parameters in the URL query string can be used to load custom fonts hosted elsewhere online and then share the result with others. For example, \"),_c('a',{attrs:{\"href\":\"/glyphs?preload=/fonts/Rywalka-Regular.ttf\",\"target\":\"_blank\"}},[_vm._v(\"here’s the glyphs tab with Rywalka loaded\")]),_vm._v(\" (opens in a new tab).\")]),_c('p',[_vm._v(\"To do this, add a \"),_c('code',[_vm._v(\"preload\")]),_vm._v(\" query parameter with the URL of your font file, for example \"),_c('code',[_vm._v(\"?preload=https://example.com/Font.ttf\")]),_vm._v(\", to the end of the page URL.\")]),_c('p',[_vm._v(\"You can even add multiple files by separating each parameter with \"),_c('code',[_vm._v(\"&\")]),_vm._v(\", for example \"),_c('code',[_vm._v(\"?preload=URL1&preload=URL2&preload=URL3\")]),_vm._v(\".\")]),_c('p',[_vm._v(\"When preloading mutliple font URLs, you can set an additional \"),_c('code',[_vm._v(\"f\")]),_vm._v(\" parameter with the name of the font to display by default. The other fonts will be available from the drop-down fonts menu. Here’s a full example:\")]),_c('pre',[_c('code',[_vm._v(\"https://bulletproof.italic.space/ABCs?preload=https://bulletproof.italic.space/fonts/Rywalka-\\nRegular.ttf&preload=https://bulletproof.italic.space/fonts/Graduate.ttf&f=Rywalka\\n\")])]),_c('p',[_vm._v(\"This will open the ABCs tab, preload Rywalka and Graduate to the fonts menu, and set Rywalka as the initially displayed font.\")]),_c('hr'),_c('h3',[_vm._v(\"Notes\")]),_c('ul',[_c('li',[_vm._v(\"Your font must be served over HTTPS, otherwise it will fail to load.\")]),_c('li',[_vm._v(\"Currently Bulletproof supports loading TTF, OTF, and WOFF font files, but not WOFF2.\")])])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./QueryString.md?vue&type=template&id=343690b6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./QueryString.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./QueryString.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QueryString.vue?vue&type=template&id=631cfacf&\"\nimport script from \"./QueryString.vue?vue&type=script&lang=js&\"\nexport * from \"./QueryString.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-tester\",style:((\"padding-top: \" + (this.expandedMenu === 'fontMenu' ? '90px' : 0) + \";\"))},[_c('transition',{attrs:{\"name\":\"fade-slow\",\"mode\":\"in-out\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fontLoading),expression:\"!fontLoading\"}],staticClass:\"font-tester-content\"},[_c('Pinnable',{staticClass:\"site-sidebar sidebar-settings left\",attrs:{\"title\":\"Settings\",\"isPinned\":_vm.isPinned,\"isVisible\":_vm.settingsPanelVisible,\"trigger\":\"#settings-trigger\"},on:{\"toggle\":function($event){return _vm.$store.commit('toggleSettingsPanel')},\"hide\":function($event){return _vm.$store.commit('toggleSettingsPanel', {value: false})}}},[_c('Settings')],1),(_vm.selectedSampleKey === 'languages')?_c('LanguageSupportSummary',{attrs:{\"languageSupport\":\"languageSupport\"}}):_c('TesterBody',{staticClass:\"main\",attrs:{\"texts\":_vm.fontSampleTexts,\"isCustom\":_vm.selectedTextKind === 'custom'},on:{\"update\":function (e) { return _vm.modifyText(e); }}}),_c('Pinnable',{staticClass:\"site-sidebar sidebar-nav right\",attrs:{\"title\":_vm.navElementTitle,\"isPinned\":_vm.isPinned,\"isVisible\":_vm.contextualPanelVisible,\"scrolled\":false,\"trigger\":\"#nav-trigger\"},on:{\"toggle\":function($event){return _vm.$store.commit('toggleContextualPanel')},\"hide\":function($event){return _vm.$store.commit('toggleContextualPanel', {value: false})}}},[_c('div',{staticClass:\"transition-wrapper u-flex-v\",staticStyle:{\"overflow\":\"hidden\"}},[_c('transition',{attrs:{\"name\":\"swap\"}},[_c(_vm.navElement,{key:_vm.navElementTitle,tag:\"component\"})],1)],1)])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.forceInvisible && _vm.isVisible)?_c('div',{class:(\"\\n pinnable \" + (_vm.pinned ? 'pinned' : '') + \"\\n \" + (!_vm.footerVisible && _vm.sticky ? 'sticky' : '') + \"\\n \" + (_vm.footerNear ? 'footer-near' : '') + \"\\n \" + (_vm.footerNearer ? 'footer-nearer' : '') + \"\\n \" + (_vm.triggerHover ? 'trigger-hover' : '') + \"\\n \" + (_vm.scrolled ? 'pinnable-scrolled' : '') + \"\\n \")},[(_vm.title)?_c('div',{staticClass:\"titlebar\"},[_c('h2',[_vm._v(_vm._s(_vm.title))]),_c('UiIconButton',{class:(\"pin \" + (_vm.pinned ? 'active' : '')),attrs:{\"size\":\"small\"},on:{\"click\":_vm.togglePinPanel}},[_c('svg',{staticStyle:{\"width\":\"24px\",\"height\":\"24px\"},attrs:{\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z\"}})])])],1):_vm._e(),(_vm.scrolled)?_c('div',{staticClass:\"content\"},[_c('div',{ref:\"scrolled\",class:(\"scrolled \" + (_vm.disableOverscroll ? 'disable-overscroll' : '')),on:{\"wheel\":_vm.onWheel}},[_vm._t(\"default\")],2)]):_vm._t(\"default\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pinnable.vue?vue&type=template&id=82a5684e&scoped=true&\"\nimport script from \"./Pinnable.vue?vue&type=script&lang=js&\"\nexport * from \"./Pinnable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pinnable.vue?vue&type=style&index=0&id=82a5684e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"82a5684e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings\"},[_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Font size\")]),_c('UiNumber',{ref:\"settingFontSize\",attrs:{\"value\":_vm.settings.fontSize,\"min\":_vm.settings.minFontSize,\"max\":_vm.settings.maxFontSize,\"step\":_vm.settings.fontSizeStep,\"clickStep\":_vm.settings.fontSizeClickStep},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { fontSize: v }); }}}),_c('UiSelect',{ref:\"settingFontSizeUnit\",staticClass:\"const3ch fontSizeUnitSelect\",attrs:{\"value\":_vm.settings.fontSizeUnit,\"options\":_vm.settings.fontSizeUnitOptions},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { fontSizeUnit: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('UiTextbox',{ref:\"settingWaterfallSizes\",attrs:{\"value\":_vm.settings.waterfallSizes,\"disabled\":!_vm.settings.enableWaterfall},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { waterfallSizes: v }); }}}),_c('UiCheckbox',{ref:\"settingEnableWaterfall\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableWaterfall},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { enableWaterfall: v }); }}},[_vm._v(\"waterfall\")])],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Line height\")]),_c('UiNumber',{ref:\"settingLineHeight\",attrs:{\"value\":_vm.settings.lineHeight,\"min\":_vm.settings.minLineHeight,\"max\":_vm.settings.maxLineHeight,\"step\":_vm.settings.lineHeightStep,\"clickStep\":_vm.settings.lineHeightClickStep,\"disabled\":!_vm.settings.enableLineHeight},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { lineHeight: v }); }}}),_c('UiCheckbox',{ref:\"settingDefaultLineHeight\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableLineHeight},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { enableLineHeight: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Tracking\")]),_c('UiNumber',{ref:\"settingTracking\",attrs:{\"value\":_vm.settings.tracking,\"min\":_vm.settings.minTracking,\"max\":_vm.settings.maxTracking,\"step\":_vm.settings.trackingStep,\"clickStep\":_vm.settings.trackingClickStep,\"disabled\":!_vm.settings.enableTracking},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { tracking: v }); }}}),_c('UiCheckbox',{ref:\"settingDefaultTracking\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableTracking},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { enableTracking: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Word spacing\")]),_c('UiNumber',{attrs:{\"value\":_vm.settings.wordSpacing,\"min\":_vm.settings.minWordSpacing,\"max\":_vm.settings.maxWordSpacing,\"step\":_vm.settings.wordSpacingStep,\"clickStep\":_vm.settings.wordSpacingStep,\"disabled\":!_vm.settings.enableWordSpacing},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { wordSpacing: v }); }}}),_c('UiCheckbox',{staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableWordSpacing},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { enableWordSpacing: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Text align\")]),_c('UiSelect',{ref:\"settingTextAlign\",attrs:{\"value\":_vm.settings.textAlign,\"options\":_vm.settings.textAlignOptions},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { textAlign: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Text color\")]),_c('UiColorPicker',{ref:\"settingTextColor\",attrs:{\"value\":_vm.settings.textColor},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { textColor: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Back color\")]),_c('UiColorPicker',{ref:\"settingBackgroundColor\",attrs:{\"value\":_vm.settings.backgroundColor},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { backgroundColor: v }); }}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Transform\")]),_c('UiSelect',{ref:\"settingTextTransform\",attrs:{\"value\":_vm.settings.textTransform,\"options\":_vm.settings.textTransformOptions},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { textTransform: v }); }}}),_c('UiCheckbox',{ref:\"settingEnableTextTransform\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableTextTransform},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { enableTextTransform: v }); }}})],1),_c('div',{staticClass:\"row row-check\"},[_c('UiCheckbox',{ref:\"settingWrapLines\",attrs:{\"label\":\"Break-word\",\"value\":_vm.settings.wrapLines},on:{\"input\":function (v) { return _vm.updateSetting('updateSettings', { wrapLines: v }); }}})],1),(_vm.capFeatures.length > 0)?_c('h3',[_vm._v(\"Caps\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.capFeatures),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v }); }}},[_vm._v(_vm._s(feature.name))])],1)}),0),(_vm.localization)?_c('h3',{staticClass:\"row-select-header\"},[_vm._v(\"Localization\")]):_vm._e(),(_vm.localization)?_c('div',{staticClass:\"setting-group\"},[_c('div',{staticClass:\"row row-select\"},[_c('UiSelect',{attrs:{\"value\":_vm.localizationLanguage,\"options\":_vm.localizationLanguages,\"keys\":_vm.loclSelectKeys,\"placeholder\":\"select language\",\"invalid\":_vm.isLocalizationInvalid,\"disabled\":_vm.onGotchasTab},on:{\"input\":function (v) { return _vm.updateSetting('updateLoclFeature', { selectedLanguage: v }); }},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return _c('div',{staticClass:\"locl-select__option\"},[_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(props.option.name))]),(props.option.name !== props.option.tag)?_c('div',{staticClass:\"tag\"},[_vm._v(\"(\"+_vm._s(props.option.tag)+\")\")]):_vm._e()])}}],null,false,3090818932)}),_c('UiCheckbox',{staticClass:\"checkbox-small\",attrs:{\"value\":_vm.localization.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: 'locl', value: v }); }}})],1)]):_vm._e(),(_vm.numberFeatures.length > 0)?_c('h3',[_vm._v(\"Numbers\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},[_c('div',{staticClass:\"row\"},[(!!(_vm.pnum && _vm.tnum))?_c('UiRadioGroup',{attrs:{\"name\":\"figureWidth\",\"options\":_vm.figureWidths,\"vertical\":true},model:{value:(_vm.figureWidth),callback:function ($$v) {_vm.figureWidth=$$v},expression:\"figureWidth\"}}):_vm._e(),(!!(_vm.lnum && _vm.onum))?_c('UiRadioGroup',{attrs:{\"name\":\"figureHeight\",\"options\":_vm.figureHeights,\"vertical\":true},model:{value:(_vm.figureHeight),callback:function ($$v) {_vm.figureHeight=$$v},expression:\"figureHeight\"}}):_vm._e()],1),_vm._l((_vm.numberFeatures),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v }); }}},[_vm._v(_vm._s(feature.name))])],1)})],2),(_vm.stylisticSets.length > 0)?_c('h3',[_vm._v(\"Stylistic Sets\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.stylisticSets),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v }); }}},[(feature.uiName)?[_c('strong',[_vm._v(_vm._s(feature.tag))]),_vm._v(\" \"+_vm._s(feature.uiName))]:[_vm._v(_vm._s(feature.name))]],2)],1)}),0),(_vm.characterVariants.length > 0)?_c('h3',[_vm._v(\"Character Variants\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.characterVariants),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v }); }}},[(feature.uiName)?[_c('strong',[_vm._v(_vm._s(feature.tag))]),_vm._v(\" \"+_vm._s(feature.uiName))]:[_vm._v(_vm._s(feature.name))]],2)],1)}),0),(_vm.otherGsub.length > 0)?_c('h3',[_vm._v(\"Other GSUB\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.otherGsub),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v }); }}},[_vm._v(_vm._s(feature.name))])],1)}),0),(_vm.activeGpos.length > 0)?_c('h3',[_vm._v(\"GPOS\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.activeGpos),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":function (v) { return _vm.updateSetting('updateGposFeature', { tag: feature.tag, value: v }); }}},[_vm._v(_vm._s(feature.name))])],1)}),0),_c('h3',[_vm._v(\"Variation axes\")]),_c('div',{staticClass:\"setting-group\"},[(_vm.variationAxes.length === 0)?_c('div',{staticClass:\"notice\"},[_vm._v(\"\\n The selected font is not variable.\\n \")]):_vm._e(),_vm._l((_vm.variationAxes),function(axis,key){return _c('div',{key:key},[_c('div',{staticClass:\"row\",staticStyle:{\"align-items\":\"center\"}},[_c('UiCheckbox',{staticStyle:{\"margin-bottom\":\"0\",\"margin-right\":\".8em\"},attrs:{\"label\":axis.displayName,\"value\":axis.enabled},on:{\"input\":function (v) { return _vm.updateSetting('updateVariationAxis', { tag: axis.tag, enabled: v }); }}}),_c('UiNumber',{attrs:{\"value\":axis.value,\"min\":axis.minValue,\"max\":axis.maxValue,\"step\":1},on:{\"input\":function (v) { return _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: v }); }}}),_c('UiButton',{staticClass:\"tiny\",on:{\"click\":function($event){return _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: axis.defaultValue })}}},[_vm._v(\"\\n ⭯\\n \")])],1),_c('div',{staticClass:\"row\",staticStyle:{\"padding\":\".5em 0.3em .7em\"}},[_c('UiSlider',{staticStyle:{\"flex\":\"2\"},attrs:{\"value\":axis.value,\"min\":axis.minValue,\"max\":axis.maxValue,\"step\":1,\"snapToStep\":true,\"showMarker\":false},on:{\"input\":function (v) { return _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: v }); }}})],1)])})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui-textbox ui-number\",class:_vm.classes,on:{\"dblclick\":function($event){$event.preventDefault();}}},[(_vm.icon || _vm.$slots.icon)?_c('div',{staticClass:\"ui-textbox__icon-wrapper\"},[_vm._t(\"icon\",[_c('ui-icon',{attrs:{\"icon\":_vm.icon}})])],2):_vm._e(),_c('div',{staticClass:\"ui-textbox__content\"},[_c('label',{staticClass:\"ui-textbox__label\"},[_c('div',{staticClass:\"ui-textbox__input-wrapper\"},[_c('input',{directives:[{name:\"autofocus\",rawName:\"v-autofocus\",value:(_vm.autofocus),expression:\"autofocus\"}],ref:\"input\",staticClass:\"ui-textbox__input\",attrs:{\"autocomplete\":_vm.autocomplete ? _vm.autocomplete : null,\"disabled\":_vm.disabled,\"inputmode\":\"decimal\",\"max\":_vm.maxValue,\"maxlength\":_vm.enforceMaxlength ? _vm.maxlength : null,\"minlength\":_vm.minlength,\"min\":_vm.minValue,\"name\":_vm.name,\"number\":_vm.type === 'number' ? true : null,\"placeholder\":_vm.hasFloatingLabel ? null : _vm.placeholder,\"readonly\":_vm.readonly,\"required\":_vm.required,\"tabindex\":_vm.tabindex},domProps:{\"value\":_vm.displayedText != null ? _vm.displayedText : _vm.value},on:{\"blur\":_vm.onBlur2,\"focus\":_vm.onFocus,\"change\":function($event){return _vm.updateValue($event.target.value)},\"input\":function($event){return _vm.updateValue($event.target.value)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onKeydownEnter($event)},_vm.onKeydown,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return (function ($event) { return _vm.increment(1, $event); })($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return (function ($event) { return _vm.increment(-1, $event); })($event)}]}}),_c('UiIconButton',{staticClass:\"ui-number__button up ui-select__dropdown-button\",attrs:{\"disabled\":_vm.disabled},nativeOn:{\"mousedown\":function($event){return _vm.startIncrement($event)},\"mouseleave\":function($event){return _vm.endIncrementDecrement($event)},\"mouseup\":function($event){return _vm.endIncrementDecrement($event)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"transform\":\"translate(0 24) scale(1 -1) translate(0 -1)\",\"d\":\"M6.984 9.984h10.03L12 15z\"}})])]),_c('UiIconButton',{staticClass:\"ui-number__button down ui-select__dropdown-button\",attrs:{\"disabled\":_vm.disabled},nativeOn:{\"mousedown\":function($event){return _vm.startDecrement($event)},\"mouseleave\":function($event){return _vm.endIncrementDecrement($event)},\"mouseup\":function($event){return _vm.endIncrementDecrement($event)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"transform\":\"translate(0 -1)\",\"d\":\"M6.984 9.984h10.03L12 15z\"}})])])],1),(_vm.label || _vm.$slots.default)?_c('div',{staticClass:\"ui-textbox__label-text\",class:_vm.labelClasses},[_vm._t(\"default\",[_vm._v(_vm._s(_vm.label))])],2):_vm._e()]),(_vm.hasFeedback || _vm.maxlength)?_c('div',{staticClass:\"ui-textbox__feedback\"},[(_vm.showError)?_c('div',{staticClass:\"ui-textbox__feedback-text\"},[_vm._t(\"error\",[_vm._v(_vm._s(_vm.error))])],2):(_vm.showHelp)?_c('div',{staticClass:\"ui-textbox__feedback-text\"},[_vm._t(\"help\",[_vm._v(_vm._s(_vm.help))])],2):_vm._e(),(_vm.maxlength)?_c('div',{staticClass:\"ui-textbox__counter\"},[_vm._v(_vm._s(_vm.valueLength + \"/\" + _vm.maxlength))]):_vm._e()]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiNumber.vue?vue&type=template&id=7af82180&scoped=true&\"\nimport script from \"./UiNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./UiNumber.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiNumber.vue?vue&type=style&index=0&id=7af82180&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7af82180\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui-color-picker popover-trigger\"},[_c('div',{staticClass:\"swatch\",style:((\"background-color: \" + _vm.value))},[_vm._v(\" \")]),_c('ui-textbox',{ref:\"input\",attrs:{\"label\":_vm.label,\"icon\":_vm.icon,\"help\":_vm.help},on:{\"input\":_vm.updateFromInput},model:{value:(_vm.textValue),callback:function ($$v) {_vm.textValue=$$v},expression:\"textValue\"}}),_c('ui-popover',{ref:\"popover\",staticClass:\"popover\",attrs:{\"position\":\"bottom-start\",\"constrainToScrollParent\":false},on:{\"reveal\":function($event){return _vm.$refs.input.focus()}}},[_c('sketch-picker',{attrs:{\"value\":_vm.colorValue,\"disableFields\":true},on:{\"input\":_vm.updateFromPicker}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiColorPicker.vue?vue&type=template&id=50a2c3f2&scoped=true&\"\nimport script from \"./UiColorPicker.vue?vue&type=script&lang=js&\"\nexport * from \"./UiColorPicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiColorPicker.vue?vue&type=style&index=0&id=50a2c3f2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50a2c3f2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=0712b6d0&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=0712b6d0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0712b6d0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"tester-body \" + (_vm.isGotchas ? 'gotchas' : '')),style:((\"background: \" + (_vm.settings.backgroundColor) + \";\"))},[(_vm.selectedSampleKey === 'glyphs')?[_vm._v(\"This page only lists encoded glyphs.\")]:_vm._e(),(!_vm.isCustom)?_vm._l((_vm.texts),function(item,i){return _c('div',{key:i},[(_vm.selectedSampleKey === 'gotchas')?_c('GotchaHeader',{attrs:{\"header\":item.header}}):(item.header && item.header.language)?_c('SampleHeader',{attrs:{\"header\":item.header}}):_vm._e(),_vm._l((item.texts),function(text,j){return _c('FontSample',{key:j,attrs:{\"lang\":_vm.selectedLoclLanguage || item.header && item.header.htmlTag}},_vm._l((_vm.fontSizes),function(size,k){return _c('div',{key:k,staticClass:\"sample-paragraph\"},[(_vm.fontSizes.length > 1)?_c('div',{staticClass:\"font-size-label\"},[_vm._v(_vm._s(size))]):_vm._e(),_c('div',{style:({ 'font-size': (\"\" + size + (_vm.settings.fontSizeUnit)) }),attrs:{\"contenteditable\":_vm.isContentEditable,\"spellcheck\":\"false\"},domProps:{\"innerHTML\":_vm._s(_vm.transformText(text, item.header && item.header.htmlTag))},on:{\"focus\":_vm.onFocus}})])}),0)})],2)}):_c('FontSample',{attrs:{\"lang\":_vm.selectedLoclLanguage}},_vm._l((_vm.fontSizes),function(size,k){return _c('div',{key:k,staticClass:\"sample-paragraph\"},[(_vm.fontSizes.length > 1)?_c('div',{staticClass:\"font-size-label\"},[_vm._v(_vm._s(size))]):_vm._e(),_c('div',{ref:\"content\",refInFor:true,staticClass:\"font-sample-content-inner\",style:({ 'font-size': (\"\" + size + (_vm.settings.fontSizeUnit)) }),attrs:{\"contenteditable\":\"\",\"spellcheck\":\"false\"},on:{\"input\":_vm.onInput,\"focus\":_vm.onFocus}})])}),0)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-sample\",style:((\"\\n color: \" + (_vm.settings.textColor) + \";\\n background: \" + (_vm.settings.backgroundColor) + \";\\n line-height: \" + (_vm.settings.enableLineHeight ? _vm.settings.lineHeight : '') + \";\\n letter-spacing: \" + (_vm.settings.enableTracking ? _vm.settings.tracking : '0') + \"em;\\n word-spacing: \" + (_vm.settings.enableWordSpacing ? _vm.settings.wordSpacing : '0') + \"em;\\n text-align: \" + (_vm.settings.textAlign) + \";\\n text-transform: \" + (_vm.settings.enableTextTransform ? _vm.settings.textTransform : 'none') + \";\\n font-feature-settings: \" + _vm.fontFeatureSettings + \";\\n font-variation-settings: \" + _vm.fontVariationSettings + \";\\n \"))},[_c('div',{staticClass:\"font-sample-content\",style:({\n 'word-break': _vm.settings.wrapLines ? 'break-all' : 'normal',\n })},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSample.vue?vue&type=template&id=438455ac&\"\nimport script from \"./FontSample.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSample.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSample.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-flex\"},[_c('h3',{attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.language))]),(_vm.header.opentypeTag)?_c('div',[_c('span',{staticClass:\"light\"},[_vm._v(\"OT code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.opentypeTag.padEnd(4, ' '))+\" \")]),_c('span',{staticClass:\"light\"},[_vm._v(\"HTML code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.htmlTag))])]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.printNumber(_vm.header.speakers))+\" speakers\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function fNum(n) { return n > 1000000 ? n/1000000 + 'M' : n > 9999 ? n/1000 + 'K' : n; };\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SampleHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SampleHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SampleHeader.vue?vue&type=template&id=52cde21e&scoped=true&\"\nimport script from \"./SampleHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./SampleHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52cde21e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-flex\"},[_c('h3',{staticClass:\"topic\",attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.topic))]),(_vm.header.description)?_c('UiButton',{staticClass:\"btn\",attrs:{\"color\":\"none\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"height\":'18',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('UiTooltip',{staticClass:\"description-tooltip\",attrs:{\"openOn\":\"click\",\"interactive\":true},domProps:{\"innerHTML\":_vm._s(_vm.header.description || '(no description)')}})],1):_vm._e(),_c('div',{staticClass:\"tags\"},_vm._l((_vm.header.tags),function(t,i){return _c('span',{key:i},[_vm._v(_vm._s(t))])}),0),_c('h3',{staticClass:\"language\",attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.language))]),(_vm.header.opentypeTag)?_c('div',{staticClass:\"language-codes\"},[_c('span',{staticClass:\"light\"},[_vm._v(\"OT code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.opentypeTag.padEnd(4, ' '))+\" \")]),_c('span',{staticClass:\"light\"},[_vm._v(\"HTML code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.htmlTag))])]):_vm._e(),_c('div',{staticClass:\"language-speakers\"},[_vm._v(_vm._s(_vm.printNumber(_vm.header.speakers))+\" speakers\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GotchaHeader.vue?vue&type=template&id=6bcea090&scoped=true&\"\nimport script from \"./GotchaHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./GotchaHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GotchaHeader.vue?vue&type=style&index=0&id=6bcea090&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bcea090\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TesterBody.vue?vue&type=template&id=7ec1963b&\"\nimport script from \"./TesterBody.vue?vue&type=script&lang=js&\"\nexport * from \"./TesterBody.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TesterBody.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-sidebar contextual-sidebar\",on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.nextAnchor($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.previousAnchor($event)}],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.goToAnchor($event)}}},[_c('div',{staticClass:\"row row-filter\"},[_c('label',{staticClass:\"row-label\",staticStyle:{\"min-width\":\"0\"}},[_vm._v(\"Search\")]),_c('UiTextbox',{ref:\"filterTextbox\",class:_vm.languageFilter ? 'filter-textbox' : '',model:{value:(_vm.languageFilter),callback:function ($$v) {_vm.languageFilter=$$v},expression:\"languageFilter\"}}),_c('UiIconButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.languageFilter),expression:\"languageFilter\"}],staticClass:\"btn-clear\",attrs:{\"color\":\"primary\"},on:{\"click\":_vm.clearFilter,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.stopPropagation();}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"stroke\":\"currentColor\",\"stroke-width\":\"1.2\",\"d\":\"M18.3 5.71a.996.996 0 00-1.41 0L12 10.59 7.11 5.7A.996.996 0 105.7 7.11L10.59 12 5.7 16.89a.996.996 0 101.41 1.41L12 13.41l4.89 4.89a.996.996 0 101.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z\"}})])])],1),_c('div',{staticClass:\"row row-filter\"},[_c('label',{staticClass:\"row-label\",staticStyle:{\"min-width\":\"0\"}},[_vm._v(\"Scripts\")]),_c('UiSelect',{attrs:{\"multiple\":true,\"options\":_vm.scripts,\"keys\":{\n class: 'class', image: 'image', label: 'script'\n },\"value\":_vm.scripts.filter(function (s) { return s.isSelected; })},on:{\"input\":function (values) { return _vm.selectScripts({ values: values }); }}})],1),_c('div',{staticClass:\"row row-filter\"},[_c('UiCheckbox',{attrs:{\"value\":_vm.anySelected,\"label\":_vm.anySelected ? 'clear all' : 'select all'},on:{\"input\":function (checked) { return _vm.selectDeselectAllLanguages({ checked: checked }); }}})],1),_c('div',{staticClass:\"language-list\"},[_c('div',{ref:\"scrolled\",staticClass:\"scrolled\",attrs:{\"tabindex\":\"-1\"},on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }$event.preventDefault();}]}},_vm._l((_vm.filteredLanguages),function(language,i){return _c('div',{key:i,staticClass:\"language-item\",class:{ 'has-text': language.hasText }},[_c('UiCheckbox',{attrs:{\"value\":language.isSelected,\"tabindex\":\"-1\"},on:{\"input\":function (v) { return _vm.toggleLanguage(language.id, v); }}}),_c('a',{class:(\"language-link \" + (language.isSelected ? '' : 'disabled')),attrs:{\"href\":(\"#\" + (language.language) + \"-\" + (language.id)),\"tabindex\":i > 0 ? -1 : 0},on:{\"focus\":function (e) { return i === 0 ? _vm.highlightAnchor(e) : ''; },\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();return _vm.toggleLanguage(language.id, !language.isSelected)}}},[_vm._v(\"\\n \"+_vm._s(language.language)+\"\\n \")])],1)}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport default function fireEvent(element, eventName) {\n var event = document.createEvent(\"HTMLEvents\");\n event.initEvent(eventName, true, false);\n element.dispatchEvent(event);\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageNav.vue?vue&type=template&id=1b3d2b4c&scoped=true&\"\nimport script from \"./LanguageNav.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageNav.vue?vue&type=style&index=0&id=1b3d2b4c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b3d2b4c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kerning-nav contextual-sidebar u-flex-v\"},[_c('div',[_c('div',{staticClass:\"scrolled\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('KerningEditor',{key:\"pattern-editor\",attrs:{\"segments\":_vm.segments},on:{\"addKerningSegment\":_vm.addKerningSegment,\"removeKerningSegment\":function (i) { return _vm.removeKerningSegment(i); },\"updateKerningPattern\":_vm.updateKerningPattern}}),_c('div',{key:\"pattern-list\",staticClass:\"nav panel\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('div',{key:\"heading\",staticClass:\"row\"},[_c('h3',[_vm._v(\"Patterns\")]),_c('UiIconButton',{attrs:{\"color\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.addKerningPattern}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1),_vm._l((_vm.kerningPatterns),function(pattern){return _c('div',{key:(\"pattern-\" + (pattern.id)),class:(\"kerning-pattern \" + (_vm.selectedPatternId === pattern.id ? 'selected' : ''))},[_c('UiCheckbox',{attrs:{\"value\":pattern.isVisible},on:{\"input\":function (v) { return _vm.toggleKerningPattern(pattern.id, v); }}}),_c('a',{staticClass:\"link\",attrs:{\"href\":(\"#\" + (pattern.id)),\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.selectPattern(pattern.id)}}},[_c('kbd',{attrs:{\"title\":pattern.id},domProps:{\"innerHTML\":_vm._s(_vm.formatPatternId(pattern.name || 'new pattern'))}})]),_c('UiIconButton',{staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.removeKerningPattern(pattern.id)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)}),_c('div',{key:\"revertBtn\",staticClass:\"btn-group\"},[_c('UiButton',{attrs:{\"color\":\"default\"},on:{\"click\":_vm.revertKerningPatterns}},[_vm._v(\"Revert\")]),_c('UiButton',{attrs:{\"color\":\"default\",\"disabled\":_vm.kerningPatterns.length === 0},on:{\"click\":_vm.clearKerningPatterns}},[_vm._v(\"Clear\")])],1)],2)],1),_c('a',{key:\"help\",staticClass:\"help-link\",attrs:{\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"href\":\"/help/kerning\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('span',[_vm._v(\"\\n Help\\n \")])])],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningNav.vue?vue&type=template&id=002f2e82&scoped=true&\"\nimport script from \"./KerningNav.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningNav.vue?vue&type=style&index=0&id=002f2e82&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"002f2e82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-support-summary\"},[_c('v-style',[_vm._v(\"\\n .glyph {\\n font-size: \"+_vm._s(_vm.settings.fontSize)+_vm._s(_vm.settings.fontSizeUnit)+\";\\n }\\n \")]),_c('div',{staticClass:\"main-column\"},[_c('div',[_c('p',[_vm._v(\"\\n Font supports \"),_c('strong',[_vm._v(_vm._s(_vm.languageSupport.supportedLanguages.length))]),_vm._v(\" out of \"),_c('strong',[_vm._v(_vm._s(_vm.languageSupport.languages.length))]),_vm._v(\" listed languages.\\n \")]),_c('h2',[_vm._v(\"\\n Supported languages\\n \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.supportedLanguagesSortingOptions},model:{value:(_vm.supportedLanguagesSorting),callback:function ($$v) {_vm.supportedLanguagesSorting=$$v},expression:\"supportedLanguagesSorting\"}})],1),_c('LanguageList',{attrs:{\"languages\":_vm.supportedLanguages},on:{\"select-language\":function (l) { return _vm.selectLanguage(l); }}}),_c('h2',[_vm._v(\"\\n Unsupported languages\\n \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.unsupportedLanguagesSortingOptions},model:{value:(_vm.unsupportedLanguagesSorting),callback:function ($$v) {_vm.unsupportedLanguagesSorting=$$v},expression:\"unsupportedLanguagesSorting\"}})],1),_c('LanguageList',{attrs:{\"languages\":_vm.unsupportedLanguages},on:{\"select-language\":function (l) { return _vm.selectLanguage(l); }}}),_c('h2',[_vm._v(\"\\n Missing characters\\n \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.missingCharacterSortingOptions},model:{value:(_vm.missingCharacterSorting),callback:function ($$v) {_vm.missingCharacterSorting=$$v},expression:\"missingCharacterSorting\"}})],1),_c('div',_vm._l((_vm.missingCharacters),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_vm._l((script.characters.filter(function (c) { return c.character.length === 1; })),function(c,j){return _c('button',{key:j,class:(\"glyph support-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return c.speakers > limit; }).length)),on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character)+\"\\n \")])})],2)}),0),_c('h2',[_vm._v(\"\\n Missing character combinations by script\\n \")]),_c('div',_vm._l((_vm.languageSupport.missingCharacterCombinationsByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_vm._l((script.characters),function(c,j){return _c('button',{key:j,class:(\"glyph support-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return c.speakers > limit; }).length)),on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character)+\"\\n \")])})],2)}),0),_c('h2',[_vm._v(\"\\n Included characters by script\\n \")]),_c('div',_vm._l((_vm.languageSupport.includedCharactersByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_c('FontSample',_vm._l((script.characters.filter(function (c) { return c.character.length === 1; })),function(c,j){return _c('div',{key:j,class:(\"glyph needed-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return c.speakers > limit; }).length)),on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)}),0),_c('h2',[_vm._v(\"\\n Included character combinations by script\\n \")]),_c('div',_vm._l((_vm.languageSupport.includedCharacterCombinationsByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_c('FontSample',_vm._l((script.characters),function(c,j){return _c('div',{key:j,class:(\"glyph needed-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return c.speakers > limit; }).length)),on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)}),0),_c('h2',[_vm._v(\"\\n All included characters\\n \")]),_c('FontSample',_vm._l((_vm.languageSupport.fontCharacters),function(c,j){return _c('div',{key:j,class:(\"glyph needed-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return c.speakers > limit; }).length)),on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)]),_c('Pinnable',{staticClass:\"sidebar\",attrs:{\"isPinned\":true,\"isVisible\":true,\"scrolled\":false}},[_c('div',{staticClass:\"language-character-sidebar\"},[(_vm.selectedCharacter)?_c('ScrollPanel',[_c('CharacterPanel',{attrs:{\"characterInfo\":_vm.selectedCharacter},on:{\"select-language\":function (l) { return _vm.selectLanguage(l); }}})],1):_c('div',{staticClass:\"placeholder-info\"},[_vm._v(\"\\n \"+_vm._s(_vm.languageSupport.characters.filter(function (c) { return !c.isMissing; }).length)+\" /\\n \"+_vm._s(_vm.languageSupport.characters.length)+\" characters\\n \")]),(_vm.selectedLanguage)?_c('ScrollPanel',[_c('LanguagePanel',{attrs:{\"lang\":_vm.selectedLanguage.htmlTag,\"languageInfo\":_vm.selectedLanguage,\"characters\":_vm.languageSupport.characters},on:{\"character-clicked\":function (c) { return _vm.selectCharacter(_vm.languageSupport.characters.find(function (cc) { return cc.character === c; })); }}})],1):_c('div',{staticClass:\"placeholder-info\"},[_vm._v(\"\\n \"+_vm._s(_vm.languageSupport.supportedLanguages.length)+\" /\\n \"+_vm._s(_vm.languageSupport.languages.length)+\" languages\\n \")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"scroll-panel\"},[_c('div',[_c('div',{staticClass:\"content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ScrollPanel.vue?vue&type=template&id=3b227518&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-panel\"},[_c('div',{staticClass:\"info-bar\"},[_c('strong',[_vm._v(_vm._s(_vm.languageInfo.language)+\" \")]),_c('div',[_c('label',[_vm._v(\"OpenType: \")]),_c('code',[_vm._v(_vm._s(_vm.languageInfo.opentypeTag))])]),_c('div',[_c('label',[_vm._v(\"HTML: \")]),_c('code',[_vm._v(_vm._s(_vm.languageInfo.htmlTag))])]),_c('a',{attrs:{\"href\":(\"https://en.wikipedia.org/wiki/\" + (_vm.languageInfo.language.replace(/languages?$/,'_language'))),\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Wikipedia\")])]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.printNumber(_vm.languageInfo.speakers))+\" speakers\")])]),(_vm.languageInfo.missingCharacters.length)?_c('header',[_vm._v(\"missing characters\")]):_vm._e(),_c('div',{staticClass:\"glyphs\"},_vm._l((_vm.languageInfo.missingCharacters),function(c,j){return _c('button',{key:j,staticClass:\"glyph support-4\",on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c)+\"\\n \")])}),0),(_vm.languageInfo.includedCharacters.length)?_c('header',[_vm._v(\"supported characters\")]):_vm._e(),_c('FontSample',_vm._l((_vm.languageInfo.includedCharacters),function(c,j){return _c('div',{key:j,class:(\"glyph needed-\" + (5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(function (limit) { return _vm.characters.find(function (ch) { return ch.character === c; }).speakers > limit; }).length)),on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c))])}),0),(_vm.languageInfo.specialLetters.length != _vm.languageInfo.requiredCharacters.length)?_c('div',[_c('header',[_vm._v(\"letter units\")]),_c('FontSample',_vm._l((_vm.languageInfo.specialLetters),function(c,j){return _c('div',{key:j,staticClass:\"glyph\",on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c))])}),0)],1):_vm._e(),(_vm.languageInfo.gotchas.length)?_c('div',[_c('header',[_vm._v(\"gotchas\")]),_c('div',{staticClass:\"gotchas\"},[_vm._l((_vm.languageInfo.gotchas),function(g,i){return _c('p',{key:i,domProps:{\"innerHTML\":_vm._s(\"\" + (g.topic) + \": \" + (g.description || g.tags.join(', ')))}})}),_c('p',[_c('router-link',{attrs:{\"to\":(\"/gotchas#\" + (_vm.languageInfo.language) + \"-\" + (_vm.languageInfo.id))}},[_vm._v(\"\\n go to tests\\n \")])],1)],2)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguagePanel.vue?vue&type=template&id=704de156&scoped=true&\"\nimport script from \"./LanguagePanel.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguagePanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguagePanel.vue?vue&type=style&index=0&id=704de156&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"704de156\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-list\"},[_vm._l((_vm.languages),function(l){return _c('span',{key:l.language +'-'+ l.script,attrs:{\"lang\":l.htmlCode}},[_c('UiButton',{class:(\"language-button support-\" + (Math.min(4, Math.ceil((l.missingCharacters || []).length / 5)) || 'full')),on:{\"click\":function($event){return _vm.$emit('select-language', l)}}},[_c('div',[_vm._v(\"\\n \"+_vm._s(l.language)+\"\\n \")]),(_vm.fields.indexOf('coverage') > -1)?_c('div',{staticClass:\"goals\"},[_vm._v(\"\\n \"+_vm._s(l.includedCharacters.length)+\"/\"+_vm._s(l.requiredCharacters.length)+\"\\n \")]):_vm._e(),(l.gotchas.length)?_c('div',{staticClass:\"gotcha-warning-icon\"},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"width\":\"18\",\"height\":\"18\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z\"}})])]):_vm._e()])],1)}),_c('UiButton',{on:{\"click\":_vm.copyList}},[_vm._v(\"copy list\")]),_c('textarea',{ref:\"list\",staticStyle:{\"position\":\"absolute\",\"left\":\"-9999px\"},domProps:{\"value\":_vm.languages.map(function (l) { return l.language; }).join(', ')}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageList.vue?vue&type=template&id=f2446db8&scoped=true&\"\nimport script from \"./LanguageList.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageList.vue?vue&type=style&index=0&id=f2446db8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f2446db8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"character-panel\"},[_c('CharacterInfo',{attrs:{\"character\":_vm.characterInfo.character}}),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.printNumber(_vm.characterInfo.speakers)))]),_vm._v(\" speakers total\")]),(_vm.characterInfo.obligatoryLanguages)?_c('div',[_c('h4',[_vm._v(\"obligatory in \"+_vm._s(_vm.characterInfo.obligatoryLanguages.length)+\" languages\")]),_c('div',[_c('LanguageList',{attrs:{\"languages\":_vm.characterInfo.obligatoryLanguages,\"fields\":['coverage']},on:{\"select-language\":function (l) { return _vm.$emit('select-language', l); }}})],1),_c('br'),_c('div',[_c('a',{attrs:{\"href\":_vm.wordFinderUrl,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"find words\")])])]):_vm._e(),(_vm.characterInfo.optionalLanguages)?_c('div',[(_vm.characterInfo.optionalLanguages.length)?_c('div',[_c('strong',[_vm._v(\"optional in \"+_vm._s(_vm.characterInfo.optionalLanguages.length)+\" languages\")])]):_vm._e(),_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.characterInfo.optionalLanguages.map(function (l) { return l.language + \" (\" + (l.optionalCharactersNote) + \")\"; }).join(', '))+\"\\n \")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"character-info\"},[_c('div',{staticClass:\"character-font-preview\"},[_vm._v(_vm._s(_vm.character)+\" \")]),_c('div',{staticClass:\"info-bar\"},[_c('div',{staticStyle:{\"font-size\":\"2.5rem\"}},[_vm._v(_vm._s(_vm.characterRepresentation)+\" \")]),_c('div',[_vm._v(_vm._s(_vm.unicodes))]),_c('div',[_vm._v(_vm._s(_vm.glyphnames))]),_c('a',{attrs:{\"href\":(\"https://en.wikipedia.org/wiki/\" + _vm.character),\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Wikipedia\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CharacterInfo.vue?vue&type=template&id=42b34de5&scoped=true&\"\nimport script from \"./CharacterInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./CharacterInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CharacterInfo.vue?vue&type=style&index=0&id=42b34de5&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42b34de5\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CharacterPanel.vue?vue&type=template&id=6c85dae4&scoped=true&\"\nimport script from \"./CharacterPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./CharacterPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CharacterPanel.vue?vue&type=style&index=0&id=6c85dae4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c85dae4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageSupportSummary.vue?vue&type=template&id=a49ceff2&\"\nimport script from \"./LanguageSupportSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSupportSummary.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSupportSummary.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-sample-nav contextual-sidebar\"},[_c('div',{staticClass:\"toolbar panel btn-group\"},[_c('UiIconButton',{attrs:{\"tooltip\":\"Heading\",\"color\":_vm.isHeadingActive ? 'primary' : 'default'},on:{\"click\":_vm.makeHeading}},[_vm._v(\"\\n H\\n \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Bold\",\"color\":_vm.isBoldActive ? 'primary' : 'default'},on:{\"click\":_vm.makeBold}},[_vm._v(\"\\n B\\n \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Italic\",\"color\":_vm.isItalicActive ? 'primary' : 'default'},on:{\"click\":_vm.makeItalic}},[_vm._v(\"\\n I\\n \")])],1),_c('div',{staticClass:\"nav-links\"},[_c('div',{staticClass:\"scrolled\"},[_c('div',{staticClass:\"nav panel\"},_vm._l((_vm.textHeadings),function(heading,i){return _c('div',{key:i},[_c('a',{staticClass:\"heading-link\",attrs:{\"href\":(\"#\" + (heading.id))}},[_vm._v(\"\\n \"+_vm._s(heading.text)+\"\\n \")])])}),0),_c('AnimationEditor')],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"animation-editor panel\"},[_c('h3',[_vm._v(\"Animation editor\")]),_c('div',{staticClass:\"row\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Duration\")]),_c('UiTextbox',{model:{value:(_vm.duration),callback:function ($$v) {_vm.duration=$$v},expression:\"duration\"}})],1),_c('EditableList',{staticClass:\"keyframes\",attrs:{\"options\":_vm.animationKeyframes,\"keys\":{key: 'id'}},on:{\"remove\":function (key) { return _vm.removeAnimationKeyframe({ id: key }); }},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar k = ref.option;\nvar i = ref.index;\nreturn [_c('UiButton',{class:'keyframe border' + (k.id === _vm.activeKeyframeId ? ' active' : ''),attrs:{\"id\":(\"keyframe-btn-\" + (k.id))},on:{\"click\":function($event){return _vm.activateKeyframe({ id: k.id })}}},[_c('div',{staticClass:\"label\"},[_vm._v(\"\\n Keyframe \"+_vm._s(k.id)+\"\\n \")]),_c('UiProgressLinear',{attrs:{\"progress\":_vm.keyframeProgress[i],\"type\":\"determinate\"}})],1)]}},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"btn-group\"},[_c('UiButton',{on:{\"click\":_vm.addAnimationKeyframe}},[_vm._v(\"\\n Add\\n \")]),_c('UiButton',{attrs:{\"loading\":_vm.playing,\"disabled\":!_vm.canAnimate},on:{\"click\":_vm.play}},[_vm._v(\"\\n Play\\n \")])],1)]},proxy:true}])}),_c('div',{staticClass:\"row-v\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Code\")]),_c('UiTextbox',{attrs:{\"value\":_vm.keyframesText,\"multiLine\":true,\"rows\":5,\"autosize\":false},on:{\"input\":function (v) { return _vm.importAnimationKeyframes(v); }}})],1),_c('div',{staticClass:\"row-v\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Animated\")]),_c('UiSelect',{attrs:{\"value\":_vm.animatedProperties,\"options\":_vm.animatableProperties,\"multiple\":true},on:{\"input\":function (properties) { return _vm.setAnimatedProperties({ properties: properties }); }}})],1),_c('a',{key:\"help\",staticClass:\"help-link\",attrs:{\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"href\":\"/help/animation\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('span',[_vm._v(\"\\n Help\\n \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"editable-list\"},[_c('transition-group',{attrs:{\"name\":\"fade\"}},[_c('div',{key:\"header\",staticClass:\"row\"},[_vm._t(\"header\")],2),_vm._l((_vm.options),function(o,i){return _c('div',{key:_vm.keys.key ? o[_vm.keys.key] : i,staticClass:\"editable-list-item\"},[(_vm.keys.checked)?_c('UiCheckbox',{attrs:{\"value\":o[_vm.keys.checked]},on:{\"input\":function (value) { return _vm.$emit('check', { key: o[_vm.keys.key], value: value }); }}}):_vm._e(),_vm._t(\"option\",[_vm._v(\"\\n \"+_vm._s(_vm.keys.label ? o[_vm.keys.label] : o)+\"\\n \")],{\"option\":o,\"index\":i}),_c('UiIconButton',{staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('remove', _vm.keys.key ? o[_vm.keys.key] : o)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],2)}),_c('div',{key:\"footer\",staticClass:\"row\"},[_vm._t(\"footer\")],2)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditableList.vue?vue&type=template&id=69007cc0&scoped=true&\"\nimport script from \"./EditableList.vue?vue&type=script&lang=js&\"\nexport * from \"./EditableList.vue?vue&type=script&lang=js&\"\nimport style1 from \"./EditableList.vue?vue&type=style&index=1&id=69007cc0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69007cc0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnimationEditor.vue?vue&type=template&id=0dcbafa4&scoped=true&\"\nimport script from \"./AnimationEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./AnimationEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AnimationEditor.vue?vue&type=style&index=0&id=0dcbafa4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0dcbafa4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSampleNav.vue?vue&type=template&id=1ab2b246&scoped=true&\"\nimport script from \"./FontSampleNav.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSampleNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSampleNav.vue?vue&type=style&index=0&id=1ab2b246&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ab2b246\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontTester.vue?vue&type=template&id=64e504be&scoped=true&\"\nimport script from \"./FontTester.vue?vue&type=script&lang=js&\"\nexport * from \"./FontTester.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontTester.vue?vue&type=style&index=0&id=64e504be&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64e504be\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\n\nimport SiteHeader from \"@/viewparts/SiteHeader.vue\";\nimport SiteFooter from \"@/viewparts/SiteFooter.vue\";\nimport Home from \"@/views/Home.vue\";\nimport Help from \"@/views/Help.vue\";\nimport KerningHelp from \"@/views/KerningHelp.vue\";\nimport AnimationHelp from \"@/views/AnimationHelp.vue\";\nimport QueryString from \"@/views/QueryString.vue\";\nimport FontTester from \"@/views/FontTester.vue\";\n\nimport textKinds from \"@/models/textKinds\";\n\nVue.use(Router);\n\nconst router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n name: \"Home\",\n components: {\n header: SiteHeader,\n main: Home,\n footer: SiteFooter,\n },\n },\n { path: '/editor', redirect: '/custom' },\n {\n // parentheses enclose text kind RegExp\n path: `/:text(${textKinds.join(\"|\")}|custom)/:id?`,\n name: \"FontTester\",\n components: {\n header: SiteHeader,\n main: FontTester,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/kerning\",\n name: \"KerningHelp\",\n components: {\n header: SiteHeader,\n main: KerningHelp,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/animation\",\n name: \"AnimationHelp\",\n components: {\n header: SiteHeader,\n main: AnimationHelp,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/query-string\",\n name: \"QueryString\",\n components: {\n header: SiteHeader,\n main: QueryString,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help\",\n name: \"Help\",\n components: {\n header: SiteHeader,\n main: Help,\n footer: SiteFooter,\n },\n },\n ],\n});\n\n\nfunction hasQueryParams(route) {\n return !!Object.keys(route.query).length\n}\n\nrouter.beforeEach((to, from, next) => {\n if(!hasQueryParams(to) && hasQueryParams(from)){\n next({ ...to, query: from.query });\n } else {\n next()\n }\n})\n\nexport default router;\n","export default [\n { segments: [\"A-Z\", \"A-Z\"] },\n { segments: [\"A-Z\", \"a-z\"] },\n { segments: [\"a-z\", \"a-z\"] },\n { segments: [\"А-Я\", \"А-Я\"] },\n { segments: [\"А-Я\", \"а-я\"] },\n { segments: [\"а-я\", \"а-я\"] },\n { segments: [\"Α-ΡΣ-Ω\", \"Α-ΡΣ-Ω\"] },\n { segments: [\"Α-ΡΣ-Ω\", \"α-ω\"] },\n { segments: [\"α-ω\", \"α-ω\"] },\n { segments: [\"0-9\", \"0-9\"] },\n { segments: [\".,\\\\-/\", \"0-9\"] },\n { segments: [\"@()[]{}\", \"0-9A-Za-z\"] },\n { segments: [\".,-\", \"A-Za-z\"] },\n { segments: [\"@“”„”„“””\\\"\\\"\", \"A-Za-z\"] },\n];\n","export default function kerningPatternName(pattern) {\n // let id = pattern.segments\n // .filter(s => s.length)\n // .map(s => s\n // .replace(/ /g, \"_\")\n // )\n // .join(\" × \");\n // return id;\n return pattern.lines[0];\n}\n","export default {\n lettering: \"letterings\",\n pangrams: \"pangrams\",\n sentences: \"paragraphs\",\n gotchas: \"gotchas\",\n ABCs: \"alphabet\",\n glyphs: null,\n kerning: null,\n languages: null,\n};\n","export default function (id) {\n return id\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n","export default function escapeHtml(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n","import Vue from \"vue\";\nimport router from \"@/router\";\n\nimport getId from \"@/utils/id\";\nimport kerningPatterns from \"@/models/kerningPatterns\";\nimport kerningPatternName from \"@/models/kerningPatternName\";\nimport languageDataFields from \"@/models/textKindLanguageDataField\";\nimport LanguageData from \"language-data\";\nimport escapeHtmlId from \"@/utils/escapeHtmlId\";\nimport escapeHtml from \"@/utils/escapeHtml\";\nimport KerningGenerator from \"@/models/KerningGenerator\";\n\nlet id = 0;\nlet customTextId = 1;\n\nconst SCRIPTS = [\n { script: 'Latn', name: 'Latin' },\n { script: 'Grek', name: 'Greek' },\n { script: 'Cyrl', name: 'Cyrillic' },\n { script: 'Arab', name: 'Arabic' },\n { script: 'Armn', name: 'Armenian' },\n { script: 'IPA ', name: 'IPA', isSelected: false },\n];\n\nconst SCRIPT_TAGS = LanguageData.map(l => l.script).filter((v, i, a) => a.indexOf(v) === i);\nconst LANGUAGES = LanguageData.sort((a,b) => a.language.localeCompare(b.language));\n\nexport default {\n state: {\n selectedSampleKey: \"\",\n texts: [],\n customTextIds: [],\n languages: LANGUAGES.map(l => ({ ...l, id: id++, isSelected: true })),\n scripts: SCRIPTS.filter(s => SCRIPT_TAGS.indexOf(s.script) > -1).map(s => ({ id: id++, isSelected: true, ...s })),\n textHeadings: [],\n formatRequested: false,\n kerningPatterns: [],\n defaultKerningPatterns: kerningPatterns,\n fontCharacters: 'xyz'.split(),\n },\n\n mutations: {\n setText(state, { sampleKey, html }) {\n Vue.set(state.texts, sampleKey, html)\n },\n\n modifyText(state, { html, headings = [] }) {\n if (state.selectedSampleKey in languageDataFields) {\n this.commit(\"addCustomText\", { html });\n }\n else {\n Vue.set(state.texts, state.selectedSampleKey, [{ html }]);\n // state.texts[state.selectedSampleKey] = html;\n }\n state.textHeadings = headings;\n },\n\n addCustomText(state, { html }) {\n state.customTextIds.push(customTextId);\n state.texts[customTextId] = [{ html }];\n this.commit(\"selectSample\", { kind: \"custom\", id: customTextId });\n const route = `/custom/${state.selectedSampleKey}`;\n if (router.currentRoute.path !== route) {\n router.push(route);\n }\n customTextId++;\n },\n\n removeCustomText(state, { id }) {\n const i = state.customTextIds.indexOf(id);\n state.customTextIds.splice(i, 1);\n delete state.texts[id];\n if (router.currentRoute.path === `/custom/${id}`) {\n let path = '/lettering';\n if (i < state.customTextIds.length) {\n id = state.customTextIds[i];\n path = `/custom/${id}`;\n } else if (i - 1 >= 0 && i - 1 < state.customTextIds.length) {\n id = state.customTextIds[i - 1];\n path = `/custom/${id}`;\n }\n router.push(path);\n }\n },\n\n format(state, { tag }) {\n state.formatRequested = tag;\n },\n\n selectSample(state, { kind, id }) {\n if (kind in languageDataFields) {\n state.selectedSampleKey = kind;\n } else if (kind === \"custom\") {\n if (id in state.texts) {\n state.selectedSampleKey = id;\n }\n else {\n const html = \"Type here\";\n this.commit(\"addCustomText\", { html });\n }\n }\n },\n\n selectLanguage(state, { id, checked }) {\n state.languages.find(l => l.id === id).isSelected = checked;\n },\n\n selectDeselectAllLanguages(state, { checked }) {\n state.languages.forEach(l => l.isSelected = checked);\n },\n\n selectScripts(state, { values }) {\n state.scripts.forEach(s => {\n if (values.indexOf(s) > -1) {\n s.isSelected = true;\n }\n else {\n s.isSelected = false;\n }\n });\n },\n\n clearKerningPatterns(state) {\n state.kerningPatterns.splice(0);\n this.commit(\"setText\", { sampleKey: \"kerning\", html: [\"\"] });\n },\n\n initKerningPatterns(state) {\n state.defaultKerningPatterns.forEach(({ segments, isVisible = true }) => {\n this.commit(\"addKerningPattern\", { segments, isVisible, toEnd: true });\n });\n },\n\n addKerningPattern(state, { segments, isVisible, toEnd }) {\n const { sets, closures } = KerningGenerator.sets(segments);\n const copy = state.kerningPatterns.slice();\n const pattern = { segments, sets, closures, isVisible };\n pattern.lines = KerningGenerator.kerningString(pattern);\n pattern.name = kerningPatternName(pattern);\n pattern.id = getId('kerning-pattern-' + pattern.name);\n if (toEnd) {\n copy.push(pattern);\n } else {\n copy.unshift(pattern);\n }\n state.kerningPatterns = copy;\n },\n\n updateKerningPattern(state, { id, segments }) {\n const { sets, closures } = KerningGenerator.sets(segments);\n let copy = state.kerningPatterns.slice();\n let pattern = copy.find(kp => kp.id === id);\n if (!pattern) {\n this.commit(\"addKerningPattern\", { segments, isVisible: true });\n copy = state.kerningPatterns.slice();\n pattern = copy[0];\n pattern.id = id;\n }\n pattern.segments = segments;\n pattern.sets = sets;\n pattern.closures = closures;\n pattern.lines = KerningGenerator.kerningString(pattern);\n pattern.name = kerningPatternName(pattern);\n state.kerningPatterns = copy;\n },\n\n removeKerningPattern(state, { id }) {\n const index = state.kerningPatterns.findIndex(p => p.id === id);\n state.kerningPatterns.splice(index, 1);\n },\n\n toggleKerningPattern(state, { id, on }) {\n const index = state.kerningPatterns.findIndex(p => p.id === id);\n state.kerningPatterns[index].isVisible = on;\n },\n\n updateKerning(state) {\n let patterns = state.kerningPatterns\n .filter(pattern => pattern.isVisible);\n let html = patterns\n .map(pattern => {\n const lines = pattern.lines;\n const text = lines[0].length > 50\n ? lines.join(\"\\n\")\n : lines.join(\" \").replace(/ +/g, \" \");\n return {\n // header: `

    `,\n // texts: [`

    ${escapeHtml(text)}

    `],\n texts: [`

    ${escapeHtml(text)}

    `],\n };\n });\n this.commit(\"setText\", { sampleKey: \"kerning\", html });\n },\n\n updateFontCharacters(state, { characters }) {\n state.fontCharacters = characters;\n },\n },\n\n actions: {\n selectScripts({ state, commit, dispatch }, { values }) {\n commit(\"selectScripts\", { values });\n dispatch(\"updateText\");\n },\n\n selectLanguage({ state, commit, dispatch }, { id, checked }) {\n const matching = state.languages.find(l => l.id === id);\n if (matching.isSelected !== checked) {\n commit(\"selectLanguage\", { id, checked });\n dispatch(\"updateText\");\n }\n },\n\n selectSample({ state, commit, dispatch }, { kind, id }) {\n commit(\"selectSample\", { kind, id });\n if (kind === \"kerning\") {\n if (state.kerningPatterns.length === 0) {\n this.commit(\"initKerningPatterns\");\n }\n }\n dispatch(\"updateText\");\n },\n\n updateFontCharacters({ dispatch }, { font }) {\n const characters = font.characters;\n this.commit(\"updateFontCharacters\", { characters });\n dispatch(\"updateText\");\n },\n\n updateText({ state, commit, getters }) {\n function squish(str) { return str.replace(/\\s\\s+/g, \"\") }\n function fNum(n) { return n > 1000000 ? n/1000000 + 'M' : n/1000 + 'K'; }\n\n // fieldKey = texts from language-data\n // no fieldKey = custom tab\n const fieldKey = getters.selectedSampleTextKey;\n if (!fieldKey) {\n if (state.selectedSampleKey === \"kerning\") {\n commit(\"updateKerning\");\n }\n else if (state.selectedSampleKey === \"glyphs\") {\n let texts = [\n `

    ${\n state.fontCharacters.map(c => `${c}`).join('')\n }

    `,\n ];\n commit(\"setText\", {\n sampleKey: state.selectedSampleKey,\n html: [{ header: '', texts }],\n });\n }\n return;\n }\n\n let data = getters.selectedLanguages\n .map(l => ({\n ...l,\n id: `${l.language}-${l.id}`,\n texts: l[fieldKey],\n }));\n\n let mappedData = []; // one to many\n\n if (getters.selectedSampleKey === 'gotchas') {\n data.forEach(({ id: langId, language, speakers, htmlTag, opentypeTag, texts }) => {\n let tests = texts.map(({ topic, tags, tests, description }) => {\n // let header = squish(\n // `

    \n //

    ${l.language} — ${topic}

    \n //
    ${tags.map(t => `${t}`).join(\"\")}
    \n // ${l.opentypeTag ? `
    OT code: ${l.opentypeTag.padEnd(4, ' ')}
    ` : ''}\n //
    ${fNum(l.speakers)} speakers
    \n //
    ${description || ''}
    \n //
    \n // `\n // );\n let header = {\n id: langId + '-' + topic.replace(/[^a-z0-9]/ig, '_'),\n langId,\n language, speakers, htmlTag, opentypeTag,\n topic, tags, tests, description,\n }\n let fragments = [squish(\n `
    \n ${tests.map(t => `

    ${t}

    `).join(\"\")}\n
    `\n )];\n return {\n header,\n texts: fragments,\n };\n });\n mappedData = [ ...mappedData, ...tests ];\n });\n } else {\n mappedData = data\n .map(({ id: langId, language, script, speakers, htmlTag, opentypeTag, texts }) => {\n let header = { langId, language, script, speakers, htmlTag, opentypeTag };\n let fragments;\n\n switch (getters.selectedSampleKey) {\n case \"ABCs\": {\n const AaBbCc = texts;\n const ABC = AaBbCc.split(' ').filter(l => l.split('').every(g=> g.toUpperCase() === g));\n const abc = AaBbCc.split(' ').filter(l => l.split('').every(g=> g.toLowerCase() === g));\n fragments = [\n AaBbCc,\n ABC.join(' '),\n abc.join(' '),\n ];\n if (script == 'Latn') {\n const Accents = ABC.filter(g => !/^[A-Z ]+$/.test(g));\n const accents = abc.filter(g => !/^[a-z ]+$/.test(g));\n fragments.push(Accents.join(''));\n fragments.push(accents.join(''));\n }\n\n fragments = fragments.map(t => `

    ${t}

    `);\n break;\n }\n default:\n if (texts instanceof Array)\n fragments = texts.map(t => `

    ${t}

    `);\n else\n fragments = [texts].map(t => `

    ${t}

    `);\n }\n return {\n header,\n texts: fragments,\n };\n });\n }\n\n commit(\"setText\", { sampleKey: state.selectedSampleKey, html: mappedData });\n },\n\n addKerningPattern({ commit }, { segments, toEnd }) {\n commit(\"addKerningPattern\", { segments, isVisible: true, toEnd });\n commit(\"updateKerning\");\n },\n\n updateKerningPattern({ commit }, { id, segments }) {\n commit(\"updateKerningPattern\", { id, segments });\n commit(\"updateKerning\");\n },\n\n removeKerningPattern({ commit }, { id }) {\n commit(\"removeKerningPattern\", { id });\n commit(\"updateKerning\");\n },\n\n toggleKerningPattern({ commit }, { id, on }) {\n commit(\"toggleKerningPattern\", { id, on });\n commit(\"updateKerning\");\n },\n\n clearKerningPatterns({ dispatch, commit }) {\n commit(\"clearKerningPatterns\");\n setTimeout(() => {\n dispatch(\"updateText\");\n }, 50);\n },\n\n revertKerningPatterns({ dispatch, commit }) {\n commit(\"clearKerningPatterns\");\n commit(\"initKerningPatterns\");\n dispatch(\"updateText\");\n },\n },\n\n\n getters: {\n texts: state => state.texts,\n textHeadings: state => state.textHeadings,\n formatRequested: state => state.formatRequested,\n customTextIds: state => state.customTextIds,\n selectedSampleKey: state => state.selectedSampleKey,\n selectedSampleTextKey: state => languageDataFields[state.selectedSampleKey],\n scripts: state => state.scripts,\n selectedScripts: state => state.scripts.filter(s => s.isSelected),\n filteredLanguages: (state, getters) => state.languages.filter(l => getters.selectedScripts.find(s => s.script === l.script)),\n visibleLanguages: (state, getters) => {\n if (getters.selectedSampleKey === 'languages') {\n return getters.filteredLanguages.filter(l => l.alphabet);\n }\n else if (getters.selectedSampleTextKey) {\n return getters.filteredLanguages\n .filter(l => l[getters.selectedSampleTextKey].length);\n }\n else {\n return [];\n }\n },\n otherLanguages: (state, getters) => {\n return getters.filteredLanguages.filter(l => getters.visibleLanguages.find(ll => ll.id === l.id) == null);\n },\n selectedLanguages: (state, getters) => getters.visibleLanguages.filter(l => l.isSelected),\n languages: (state, getters) => [\n ...getters.visibleLanguages.map(l => ({ ...l, hasText: true })),\n ...getters.otherLanguages.map(l => ({ ...l, hasText: false })),\n ],\n kerningPatterns: (state) => state.kerningPatterns,\n\n languageSupport: (state, getters) => {\n function uniqueCharacterFilter(c,i, a) {\n return !/^[A-Za-z ]+$/.test(c) && a.indexOf(c) === i;\n }\n\n const testableLanguages = getters.selectedLanguages; //.filter(l => l.specialCharacters);\n\n const languages = testableLanguages.map(l => {\n const specialLetters = (l.script === 'Latn' ? l.specialCharacters : l.alphabet).split(' ')\n .filter((e, i, a) => a.indexOf(e) === i && e)\n // .filter((c) => c.length < 2 || Array(c.length - 1).fill(0).every((_,i) => isAccent(c, i + 1)));\n // .filter((c) => !/^[A-Za-z ]+$/.test(c));\n\n const requiredCharacters = specialLetters.join('').split('')\n .filter(uniqueCharacterFilter);\n\n const includedCharacters = requiredCharacters.filter(g => g.split('').every(c => state.fontCharacters.indexOf(c) > -1));\n const missingCharacters = requiredCharacters.filter(g => includedCharacters.indexOf(g) === -1);\n\n return {\n ...l,\n specialLetters,\n requiredCharacters,\n includedCharacters,\n missingCharacters,\n };\n });\n\n const supportedLanguages = languages.filter(l => l.requiredCharacters.length === l.includedCharacters.length);\n const unsupportedLanguages = languages.filter(l => supportedLanguages.indexOf(l) === -1);\n\n const missingCharacters = languages\n .reduce((acc, cur) => [...cur.missingCharacters, ...acc], []);\n\n const characters = [\n ...languages.reduce((acc, cur) => [...cur.specialLetters, ...acc], []),\n ...languages.reduce((acc, cur) => [...cur.requiredCharacters, ...acc], [])\n ]\n .filter((v, i, a) => a.indexOf(v) === i)\n .map(c => ({\n character: c,\n unicode: c.charCodeAt(0),\n obligatoryLanguages: languages.filter(l => l.alphabet.indexOf(c) > -1),\n optionalLanguages: languages.filter(l => l.optionalCharacters.indexOf(c) > -1),\n script: (LANGUAGES.find(l => l.alphabet.indexOf(c) > -1) || {script: 'Latn'}).script,\n isMissing: missingCharacters.indexOf(c) > -1,\n }))\n .map(ch => ({\n ...ch,\n speakers: [... ch.obligatoryLanguages, ...ch.optionalLanguages ].reduce((acc, cur) => acc + cur.speakers, 0),\n }));\n\n const missingCharactersByScript = groupCharactersByScript(characters, true);\n const includedCharactersByScript = groupCharactersByScript(characters, false);\n const missingCharacterCombinationsByScript = characterCombinations(missingCharactersByScript);\n const includedCharacterCombinationsByScript = characterCombinations(includedCharactersByScript);\n\n const fontCharacters = state.fontCharacters.map(c => ({\n character: c,\n unicode: c.charCodeAt(0),\n obligatoryLanguages: languages.filter(l => l.alphabet.indexOf(c) > -1),\n optionalLanguages: languages.filter(l => l.optionalCharacters.indexOf(c) > -1),\n }))\n .map(ch => ({\n ...ch,\n speakers: [... ch.obligatoryLanguages, ...ch.optionalLanguages ].reduce((acc, cur) => acc + cur.speakers, 0),\n }));\n\n return {\n languages,\n supportedLanguages,\n unsupportedLanguages,\n characters,\n missingCharactersByScript,\n includedCharactersByScript,\n missingCharacterCombinationsByScript,\n includedCharacterCombinationsByScript,\n fontCharacters,\n };\n },\n },\n}\n\n\nfunction groupCharactersByScript(characters, isMissing) {\n const charactersByScript = [];\n characters\n .filter(c => c.isMissing === isMissing)\n .forEach(c => {\n let script = charactersByScript.find(s => s.script === c.script);\n if (!script) {\n script = { script: c.script, characters: [] }\n charactersByScript.push(script);\n }\n script.characters.push(c);\n });\n\n charactersByScript.forEach(script => {\n script.characters.sort((a, b) => a.character.localeCompare(b.character, 'en', { caseFirst: 'upper' }));\n });\n\n return charactersByScript;\n}\n\n\nfunction isAccent(c, i) {\n return c.charCodeAt(i) > 0x0300 && c.charCodeAt(i) < 0x037E;\n}\n\nfunction characterCombinations(charactersByScript) {\n return charactersByScript.map(s =>\n ({\n ...s,\n characters: s.characters.filter(c => c.character.length > 1 && isAccent(c.character, 1))\n })\n ).filter(s => s.characters.length);\n}\n","export default class Settings {\n static get definitions() {\n return {\n fontFamily: {\n type: String,\n default: \"\",\n },\n fallbackFontFamily: {\n type: String,\n default: \"sans-serif\",\n },\n\n fontSize: {\n type: Number,\n default: 24,\n validate: (value, settings) => value >= settings.minFontSize && value <= settings.maxFontSize,\n },\n fontSizeUnit: {\n type: String,\n default: \"pt\",\n kind: \"select\",\n },\n fontSizeUnitOptions: {\n type: Array,\n default: () => [\"pt\", \"px\", \"em\", \"vw\", \"vh\"],\n },\n enableWaterfall: {\n type: Boolean,\n default: false,\n },\n waterfallSizes: {\n type: String,\n // default: '10,12,16,24,26,36,45',\n default: '10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,34,36,38,44,64',\n default: '10,14,24,36,64',\n },\n\n enableLineHeight: {\n type: Boolean,\n default: false,\n },\n lineHeight: {\n type: Number,\n default: 1,\n validate: (value, settings) => value >= settings.minLineHeight && value <= settings.maxLineHeight,\n },\n minLineHeight: {\n type: Number,\n default: 0.5,\n },\n maxLineHeight: {\n type: Number,\n default: 3,\n },\n lineHeightStep: {\n type: Number,\n default: 0.01,\n },\n lineHeightClickStep: {\n type: Number,\n default: 0.01,\n },\n\n enableTracking: {\n type: Boolean,\n default: true,\n },\n tracking: {\n type: Number,\n default: 0,\n validate: (value, settings) => value >= settings.minTracking && value <= settings.maxTracking,\n },\n minTracking: {\n type: Number,\n default: -0.5,\n },\n maxTracking: {\n type: Number,\n default: 2,\n },\n trackingStep: {\n type: Number,\n default: 0.001,\n },\n trackingClickStep: {\n type: Number,\n default: 0.01,\n },\n\n enableWordSpacing: {\n type: Boolean,\n default: true,\n },\n wordSpacing: {\n type: Number,\n default: 0,\n validate: (value, settings) => value >= settings.minWordSpacing && value <= settings.maxWordSpacing,\n },\n minWordSpacing: {\n type: Number,\n default: -1,\n },\n maxWordSpacing: {\n type: Number,\n default: 1,\n },\n wordSpacingStep: {\n type: Number,\n default: 0.01,\n },\n\n textAlign: {\n type: String,\n default: \"left\",\n kind: \"select\",\n },\n textAlignOptions: {\n type: Array,\n default: () => [\"left\", \"center\", \"right\", \"justify\"],\n },\n\n textColor: {\n type: String,\n // default: \"#222\",\n default: \"#000\",\n },\n backgroundColor: {\n type: String,\n // default: \"#ddd\",\n default: \"#fff\",\n },\n\n textTransform: {\n type: String,\n default: \"uppercase\",\n kind: \"select\",\n },\n textTransformOptions: {\n type: Array,\n default: () => [\"none\", \"uppercase\", \"capitalize\", \"lowercase\"],\n },\n enableTextTransform: {\n type: Boolean,\n default: false,\n },\n wrapLines: {\n type: Boolean,\n default: false,\n },\n\n gposFeatures: {\n type: Object,\n default: () => ([]),\n },\n gsubFeatures: {\n type: Object,\n default: () => ([]),\n },\n variationAxes: {\n type: Object,\n default: () => ([]),\n },\n enableVariationAxis: {\n type: Object,\n default: () => ([]),\n },\n }\n }\n\n static getDefaults() {\n const data = {};\n Object.keys(this.definitions).forEach(key => {\n const definition = this.definitions[key];\n const dflt = definition.default;\n if (typeof dflt === \"function\" && definition.type !== Function) {\n data[key] = dflt();\n } else {\n data[key] = dflt;\n }\n });\n return data;\n }\n\n static getStyleFromSettings(settings) {\n return {\n fontSize: settings.fontSize,\n lineHeight: settings.lineHeight,\n textAlign: settings.textAlign,\n textTransform: settings.textTransform,\n color: settings.textColor,\n backgroundColor: settings.backgroundColor,\n fontFeatureSettings: settings.gsubFeatures.concat(settings.gposFeatures)\n .map(f => `'${f.tag}' ${f.value ? '1' : '0'} `)\n .join(', '),\n fontVariationSettings: settings.variationAxes\n .filter(a => a.enabled)\n .map(a => `'${a.tag}' ${a.value} `)\n .join(', ')\n || 'unset',\n };\n }\n\n static mergeStyleOntoSettings(settings, style) {\n settings.fontSize = parseFloat(style.fontSize);\n settings.lineHeight = parseFloat(settings.lineHeight);\n // settings.textAlign = style.textAlign\n // settings.textTransform = style.textTransform\n settings.textColor = style.color;\n settings.backgroundColor = style.backgroundColor;\n\n function mapCompoundProp(from, to) {\n const features = {};\n (style[from] || \"\").split(/, ?/g).filter(s => s).map(f => {\n let match = f.match(/[a-z]{4}/i);\n if (match) {\n const tag = match[0];\n match = f.match(/ \\d+/);\n const val = match ? parseInt(match[0]) : 1;\n features[tag] = val;\n }\n });\n settings[to].forEach((f, i) => {\n if (f.tag in features) {\n settings[to][i].value = features[f.tag];\n }\n });\n }\n mapCompoundProp(\"fontFeatureSettings\", \"gsubFeatures\");\n mapCompoundProp(\"fontFeatureSettings\", \"gposFeatures\");\n mapCompoundProp(\"fontVariationSettings\", \"variationAxes\");\n }\n}\n","import Vue from \"vue\";\nimport Settings from \"@/models/Settings\";\n\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport default {\n state: {\n animatedProperties: Object.keys(Settings.definitions),\n animatableProperties: Object.keys(Settings.definitions),\n animationKeyframes: [],\n activeKeyframeId: null,\n maxId: 0,\n },\n getters: {\n animatedProperties: state => state.animatedProperties,\n animatableProperties: state => state.animatableProperties,\n animationKeyframes: state => state.animationKeyframes,\n activeKeyframeId: state => state.activeKeyframeId,\n },\n mutations: {\n setAnimatedProperties(state, { properties }) {\n state.animatedProperties = properties;\n },\n importAnimationKeyframes(state, { keyframes }) {\n try {\n state.animationKeyframes = JSON.parse(keyframes);\n }\n catch (e) {\n console.log(e);\n }\n },\n addAnimationKeyframe(state) {\n const id = ++state.maxId;\n state.activeKeyframeId = id;\n state.animationKeyframes.push({ id });\n this.commit(\"updateKeyframe\");\n },\n removeAnimationKeyframe(state, { id }) {\n if (id == null)\n return;\n const index = state.animationKeyframes.findIndex(k => k.id === id);\n state.animationKeyframes.splice(index, 1);\n },\n activateKeyframe(state, { id }) {\n state.activeKeyframeId = id;\n const { snapshot } = state.animationKeyframes.find(k => k.id === id);\n this.commit(\"restoreSettings\", { snapshot });\n },\n updateKeyframe(state) {\n const id = state.activeKeyframeId;\n if (id == null)\n return;\n const snapshot = clone(this.state.settings);\n const frame = Settings.getStyleFromSettings(this.state.settings);\n const index = state.animationKeyframes.findIndex(k => k.id === id);\n Vue.set(state.animationKeyframes, index, { id, snapshot, frame });\n },\n finishAnimateSettings() {\n this.commit(\"animateSettings\", { settings: null });\n },\n },\n actions: {\n animateSettings(context, { style }) {\n const snapshot = clone(this.state.settings);\n Settings.mergeStyleOntoSettings(snapshot, style);\n\n const settings = clone(this.state.settings);\n Object.keys(snapshot).filter(k => context.state.animatedProperties.indexOf(k) > -1).forEach(k => {\n settings[k] = snapshot[k];\n })\n this.commit(\"animateSettings\", { settings });\n },\n },\n}\n","import Vue from \"vue\";\n\nconst scrolledParentSelector = \".app-content\";\nVue.prototype.$scrollToTop = () => scrolledParentSelector.scrollTo(0,0);\n\nexport default {\n state: {\n scrolledParentSelector,\n sticky: true,\n footerVisible: 0,\n footerSentinelVisibleRatio: 0,\n },\n getters: {\n scrolledParentSelector: state => state.scrolledParentSelector,\n },\n mutations: {\n sticky(state, { value }) {\n state.sticky = value;\n },\n\n updateFooter(state, { visible, ratio }) {\n state.footerVisible = visible;\n state.footerSentinelVisibleRatio = ratio;\n },\n scrollToTop(state) {\n this.commit(\"sticky\", { value: true });\n this.commit(\"updateFooter\", { visible: false, ratio: 0 });\n const el = document.querySelector(state.scrolledParentSelector);\n el.scrollTop = 0;\n },\n },\n\n actions: {\n },\n}\n","export default function configureMediator (store) {\n // listen to mutations\n // eslint-disable-next-line no-unused-vars\n store.subscribe(({ type, payload }, state) => {\n switch (type) {\n case 'updateSetting':\n if (state.animation.activeKeyframeId != null) {\n store.commit('updateKeyframe');\n }\n break;\n case 'selectFont':\n if (payload.font) {\n store.dispatch('updateFontCharacters', { font: payload.font });\n }\n }\n })\n}\n","export default {\n get width() {\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n },\n get height() {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n },\n};\n","import viewport from \"@/utils/viewport\";\n\n// https://github.com/jwilsson/CSS-Unit-Converter\n\nexport class UnitConverter {\n convert(options) {\n /* eslint-disable sort-keys */\n const formulas = {\n \"ch-cm\": options.value * 0.21087588,\n \"ch-em\": options.value * 0.5,\n \"ch-ex\": options.value / 0.9,\n \"ch-in\": options.value * 0.083022,\n \"ch-mm\": options.value * 2.1087588,\n \"ch-pc\": options.value * 0.5,\n \"ch-pt\": options.value * 5.977584,\n \"ch-%\": options.value * 50,\n \"ch-px\": options.value * options.base * 0.5,\n\n \"cm-ch\": options.value / 0.21087588,\n \"cm-em\": options.value / 0.42175176,\n \"cm-ex\": options.value / 0.189788292,\n \"cm-in\": options.value * 0.39,\n \"cm-mm\": options.value * 10,\n \"cm-pc\": options.value / 0.42175176,\n \"cm-pt\": options.value * 28.3464566929,\n \"cm-%\": (((options.value / options.base) * 100) / 2.54) * options.dpi,\n \"cm-px\": (options.value / 2.54) * options.dpi,\n\n \"em-ch\": options.value / 0.5,\n \"em-cm\": options.value * 0.42175176,\n \"em-ex\": options.value / 0.45,\n \"em-in\": options.value * 0.166044,\n \"em-mm\": options.value / 0.237106301584,\n \"em-pc\": options.value,\n \"em-pt\": options.value * 11.955168,\n \"em-%\": options.value * 100,\n \"em-px\": options.value * options.base,\n \"em-vh\": (100 * options.value * options.base) / viewport.height,\n \"em-vw\": (100 * options.value * options.base) / viewport.width,\n\n \"ex-ch\": options.value * 0.9,\n \"ex-cm\": options.value * 0.189788292,\n \"ex-em\": options.value * 0.45,\n \"ex-in\": options.value * 0.0747198,\n \"ex-mm\": options.value * 1.89788292,\n \"ex-pc\": options.value * 0.45,\n \"ex-pt\": options.value * 5.3798256,\n \"ex-%\": options.value * 45,\n \"ex-px\": options.value * options.base * 0.45,\n\n \"in-ch\": options.value / 0.083022,\n \"in-cm\": options.value * 2.54,\n \"in-em\": options.value / 0.166044,\n \"in-ex\": options.value / 0.0747198,\n \"in-mm\": options.value * 2.54 * 10,\n \"in-pc\": options.value / 0.166044,\n \"in-pt\": options.value / 0.014842519685,\n \"in-%\": (options.value / options.base) * 100 * options.dpi,\n \"in-px\": options.value * options.dpi,\n\n \"mm-ch\": options.value / 2.1087588,\n \"mm-cm\": options.value / 10,\n \"mm-em\": options.value * 0.237106301584,\n \"mm-ex\": options.value / 1.89788292,\n \"mm-in\": (options.value * 0.39) / 10,\n \"mm-pc\": options.value / 4.42175176,\n \"mm-pt\": options.value / 0.352777777778,\n \"mm-%\": ((((options.value / options.base) * 100) / 2.54) * options.dpi) / 10,\n \"mm-px\": ((options.value / 2.54) * options.dpi) / 10,\n\n \"pc-ch\": options.value / 0.5,\n \"pc-cm\": options.value * 0.42175176,\n \"pc-em\": options.value,\n \"pc-ex\": options.value / 0.45,\n \"pc-in\": options.value * 0.166044,\n \"pc-mm\": options.value * 4.42175176,\n \"pc-pt\": options.value / 0.0836458341698,\n \"pc-%\": options.value * 100,\n \"pc-px\": options.value * options.base,\n\n \"pt-ch\": options.value / 5.977584,\n \"pt-cm\": options.value / 28.3464566929,\n \"pt-em\": options.value / 11.955168,\n \"pt-ex\": options.value / 5.3798256,\n \"pt-in\": options.value * 0.014842519685,\n \"pt-mm\": options.value * 0.352777777778,\n \"pt-pc\": options.value * 0.0836458341698,\n \"pt-%\": (options.value / (options.base - 4)) * 100,\n \"pt-px\": (options.value * 96) / 72,\n \"pt-vh\": (100 * options.value * 96) / 72 / viewport.height,\n \"pt-vw\": (100 * options.value * 96) / 72 / viewport.width,\n\n \"%-ch\": options.value / 50,\n \"%-cm\": (((options.value * options.base) / 100) * 2.54) / options.dpi,\n \"%-em\": options.value / 100,\n \"%-ex\": options.value / 45,\n \"%-in\": (options.value * options.base) / 100 / options.dpi,\n \"%-mm\": ((((options.value * options.base) / 100) * 2.54) / options.dpi) * 10,\n \"%-pc\": options.value / 100,\n \"%-pt\": (options.value * (options.base - 4)) / 100,\n \"%-px\": (options.value * options.base) / 100,\n\n \"px-ch\": options.value / options.base / 0.5,\n \"px-cm\": (options.value * 2.54) / options.dpi,\n \"px-em\": options.value / options.base,\n \"px-ex\": options.value / options.base / 0.45,\n \"px-in\": options.value / options.dpi,\n \"px-mm\": ((options.value * 2.54) / options.dpi) * 10,\n \"px-pc\": options.value / options.base,\n \"px-pt\": (options.value * 72) / 96,\n \"px-%\": (options.value / options.base) * 100,\n \"px-vh\": (options.value / viewport.height) * 100,\n \"px-vw\": (options.value / viewport.width) * 100,\n\n \"vh-px\": (options.value * viewport.height) / 100,\n \"vh-pt\": ((72 / 96) * options.value * viewport.height) / 100,\n \"vh-em\": (options.value * viewport.height) / 100 / options.base,\n \"vh-vw\": (options.value * viewport.height) / viewport.width,\n\n \"vw-px\": (options.value * viewport.width) / 100,\n \"vw-pt\": ((72 / 96) * options.value * viewport.width) / 100,\n \"vw-em\": (options.value * viewport.width) / 100 / options.base,\n \"vw-vh\": (options.value * viewport.width) / viewport.height,\n };\n /* eslint-enable sort-keys */\n\n const units = `${options.from}-${options.to}`;\n const result = formulas[units];\n\n if (isNaN(result)) {\n return false;\n }\n\n return this.round(result, options.decimals) + options.to;\n }\n\n getUnits() {\n return [\"ch\", \"cm\", \"em\", \"ex\", \"in\", \"mm\", \"pc\", \"pt\", \"%\", \"px\"];\n }\n\n round(number, decimals) {\n return Math.round(number * 10 ** decimals) / 10 ** decimals;\n }\n}\n\nexport default function convertLength({ base = 16, decimals = 2, dpi = 72, from, to, value } = {}) {\n const converter = new UnitConverter();\n const result = converter.convert({ base, decimals, dpi, from, to, value });\n return result;\n}\n","import convertLength from \"@/models/convertLength\";\n\n//expects this to be the settings object\n\nexport default {\n minFontSize: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n return 4;\n default: {\n const value = convertLength({ from: \"px\", value: 4, to: this.fontSizeUnit });\n return parseFloat(value);\n }\n }\n },\n maxFontSize: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n return 1000;\n default: {\n const value = convertLength({ from: \"px\", value: 1000, to: this.fontSizeUnit });\n return parseFloat(value);\n }\n }\n },\n fontSizeStep: function() {\n switch (this.fontSizeUnit) {\n case \"pt\":\n return 0.5;\n case \"px\":\n return 1;\n case \"vw\":\n case \"vh\":\n case \"em\":\n return 0.01;\n default:\n return 0.01;\n }\n },\n fontSizeClickStep: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n case \"pt\":\n case \"vw\":\n case \"vh\":\n return 1;\n case \"em\":\n return 0.5;\n default:\n return 1;\n }\n },\n};\n","import Vue from \"vue\";\nimport Vuex from 'vuex';\nVue.use(Vuex);\n\nimport textModule from \"./store.text\";\nimport animationModule from \"./store.animation\";\nimport layoutModule from \"./store.layout\";\nimport configureMediator from \"./store-mediator\";\n\nimport Settings from \"@/models/Settings\";\nimport computedParams from \"@/models/computedParams\";\nimport convertLength from \"@/models/convertLength\";\nimport opentypeFeatureDefaults from \"@/models/opentypeFeatureDefaults\";\n\nconst store = new Vuex.Store({\n modules: {\n text: textModule,\n animation: animationModule,\n layout: layoutModule,\n },\n state: {\n fontLoading: true,\n selectedFont: { family: \"\" },\n selectedBoldFont: { family: \"\" },\n selectedItalicFont: { family: \"\" },\n selectedBoldItalicFont: { family: \"\" },\n selectedHeaderFont: { family: \"\" },\n settings: Settings.getDefaults(),\n animating: false,\n displayedSettings: {},\n settingsPanelVisible: true,\n contextualPanelVisible: false,\n expandedMenu: null,\n isMobile: false,\n remoteFontRequested: false,\n },\n\n getters: {\n selectedFont: state => {\n return state.selectedFont;\n },\n selectedHeaderFont: state => {\n return state.selectedHeaderFont;\n },\n selectedBoldFont: state => {\n return state.selectedBoldFont;\n },\n selectedItalicFont: state => {\n return state.selectedItalicFont;\n },\n selectedBoldItalicFont: state => {\n return state.selectedBoldItalicFont;\n },\n settings: state => {\n return state.settings;\n },\n displayedSettings: state => {\n return state.animating ? state.displayedSettings : state.settings;\n },\n animating: state => state.animating,\n selectedLoclLanguage: state => {\n const features = state.settings.gsubFeatures;\n const matching = features.find(f => f.tag === \"locl\");\n if (matching && matching.value) {\n return matching.selectedLanguage.htmlTag;\n }\n return \"\";\n },\n fontFeatureSettings: state => {\n return Settings.getStyleFromSettings(state.settings).fontFeatureSettings;\n },\n fontVariationSettings: state => {\n return Settings.getStyleFromSettings(state.settings).fontVariationSettings;\n },\n },\n\n mutations: {\n toggleSettingsPanel(state, { value } = { value: null }) {\n const val = value != null ? value : !state.settingsPanelVisible;\n state.settingsPanelVisible = val;\n },\n toggleContextualPanel(state, { value } = { value: null }) {\n const val = value != null ? value : !state.contextualPanelVisible;\n state.contextualPanelVisible = val;\n },\n expandMenu(state, { menuId }) {\n if (state.expandedMenu === menuId) {\n state.expandedMenu = null;\n } else {\n this.commit(\"toggleContextualPanel\", { value: false });\n this.commit(\"toggleSettingsPanel\", { value: false });\n state.expandedMenu = menuId;\n }\n },\n setMobile(state, { isMobile }) {\n state.isMobile = isMobile;\n },\n\n requestFont(state, { url }) {\n state.remoteFontRequested = url;\n },\n\n fontLoadStart(state) {\n state.fontLoading = true;\n },\n\n fontLoadEnd(state) {\n state.fontLoading = false;\n },\n\n selectFont(state, { font, boldFont, italicFont, boldItalicFont, headerFont }) {\n if (font) {\n state.selectedFont = font;\n this.commit(\"mapFontFeatureSettings\");\n this.commit(\"mapFontVariationSettings\");\n }\n if (boldFont) {\n state.selectedBoldFont = boldFont;\n }\n if (italicFont) {\n state.selectedItalicFont = italicFont;\n }\n if (boldItalicFont) {\n state.selectedBoldItalicFont = boldItalicFont;\n }\n if (headerFont) {\n state.selectedHeaderFont = headerFont;\n }\n },\n\n mapFontFeatureSettings(state) {\n const font = state.selectedFont;\n function mergeFeatures(key) {\n const from = font[key], to = state.settings[key];\n\n to.forEach(f => {\n f.active = false; // change to getter maybe\n });\n from.forEach(f => {\n const matching = to.find(ff => ff.tag === f.tag);\n if (!matching) {\n to.push({\n ...f,\n value: opentypeFeatureDefaults.indexOf(f.tag) > -1,\n active: true,\n });\n }\n else {\n matching.active = true;\n matching.uiName = f.uiName;\n if (f.tag === \"locl\") {\n matching.languages = f.languages;\n }\n }\n });\n }\n mergeFeatures(\"gsubFeatures\");\n mergeFeatures(\"gposFeatures\");\n },\n\n updateGposFeature(state, { tag, value }) {\n const features = state.settings.gposFeatures;\n const matching = features.find(f => f.tag === tag);\n if (matching) {\n matching.value = value;\n }\n this.commit(\"updateSetting\");\n },\n\n updateGsubFeature(state, { tag, value }) {\n const features = state.settings.gsubFeatures;\n const matching = features.find(f => f.tag === tag);\n if (matching) {\n matching.value = value;\n }\n this.commit(\"updateSetting\");\n },\n\n updateLoclFeature(state, { selectedLanguage }) {\n const features = state.settings.gsubFeatures;\n const matching = features.find(f => f.tag === \"locl\");\n if (matching) {\n matching.selectedLanguage = selectedLanguage;\n }\n this.commit(\"updateSetting\");\n },\n\n mapFontVariationSettings(state) {\n const font = state.selectedFont;\n state.settings.variationAxes = font.variationAxes.map(a => {\n const matching = state.settings.variationAxes.find(aa => aa.tag === a.tag);\n return {\n ...a,\n value: matching ? matching.value : a.defaultValue,\n enabled: matching ? matching.enabled : true,\n displayName: a.name.en,\n };\n });\n },\n\n updateVariationAxis(state, { tag, value, enabled }) {\n const axis = state.settings.variationAxes.find(a => a.tag === tag);\n if (axis) {\n if (value != null) {\n axis.value = value;\n }\n if (enabled != null) {\n axis.enabled = enabled;\n }\n }\n this.commit(\"updateSetting\");\n },\n\n resetSettings(state) {\n //todo add font-specific settings\n const settings = Settings.getDefaults();\n Object.keys(settings).forEach(key => state.settings[key] = settings[key]);\n this.commit(\"computeParams\");\n this.commit(\"updateSetting\");\n },\n\n computeParams(state) {\n Object.keys(computedParams).forEach(key => {\n const paramFunction = computedParams[key];\n const newValue = paramFunction.call(state.settings);\n if (newValue !== state.settings[key]) {\n state.settings[key] = newValue;\n }\n });\n },\n\n updateSettings(state, options) {\n Object.keys(options).forEach(key => {\n const value = options[key];\n if (key == \"fontSizeUnit\") {\n this.commit(\"convertFontSize\", { newUnit: value });\n }\n state.settings[key] = value;\n this.commit(\"updateSetting\");\n });\n this.commit(\"computeParams\");\n },\n\n restoreSettings(state, { snapshot }) {\n state.settings = snapshot;\n this.commit(\"mapFontFeatureSettings\");\n this.commit(\"mapFontVariationSettings\");\n },\n\n animateSettings(state, { settings }) {\n if (settings) {\n state.animating = true;\n Object.keys(settings).forEach(k => {\n Vue.set(state.displayedSettings, k, settings[k]);\n });\n }\n else {\n state.animating = false;\n }\n },\n\n updateSetting() {\n // signalize update to subscriber\n },\n\n convertFontSize(state, { newUnit }) {\n const settings = state.settings;\n let decimals = String(settings.fontSizeStep).replace(/\\d+\\.?/, \"\").length;\n let newSize = convertLength({\n value: settings.fontSize,\n from: settings.fontSizeUnit,\n to: newUnit,\n decimals,\n });\n settings.fontSize = parseFloat(newSize);\n },\n },\n\n\n actions: {\n fontLoadStart({ commit }) {\n commit(\"fontLoadStart\");\n },\n\n fontLoadEnd({ commit }) {\n commit(\"fontLoadEnd\");\n },\n },\n})\n\nconfigureMediator(store);\n\nexport default store;\n","import Vue from \"vue\";\n\nVue.config.productionTip = false;\n\nimport Vuebar from \"vuebar\";\nVue.use(Vuebar);\n\nimport VueObserveVisibility from 'vue-observe-visibility'\nVue.use(VueObserveVisibility);\n\nimport VueWorker from 'vue-worker';\nVue.use(VueWorker);\n\nimport \"@/scss/styles.scss\";\nimport App from \"@/App.vue\";\n\nimport router from \"@/router\";\nimport store from '@/store/';\n\nimport 'keen-ui/src/bootstrap';\n\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount(\"#app\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=style&index=0&id=f2446db8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=style&index=0&id=f2446db8&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=style&index=0&lang=scss&\"","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"12f30cb6044063ce9abe.worker.js\");\n};","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=style&index=0&id=0712b6d0&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=style&index=0&id=0712b6d0&scoped=true&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=style&index=0&id=7a15c57a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=style&index=0&id=7a15c57a&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=style&index=0&id=002f2e82&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=style&index=0&id=002f2e82&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteLogo.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteLogo.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=style&index=0&id=0dcbafa4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=style&index=0&id=0dcbafa4&lang=scss&scoped=true&\"","module.exports = [\n { name: \"Abaza\", opentypeTag: \"ABA \", htmlTag: \"abq\" },\n { name: \"Abkhazian\", opentypeTag: \"ABK \", htmlTag: \"ab\" },\n { name: \"Acholi\", opentypeTag: \"ACH \", htmlTag: \"ach\" },\n { name: \"Achi\", opentypeTag: \"ACR \", htmlTag: \"acr\" },\n { name: \"Adyghe\", opentypeTag: \"ADY \", htmlTag: \"ady\" },\n { name: \"Afrikaans\", opentypeTag: \"AFK \", htmlTag: \"af\" },\n { name: \"Afar\", opentypeTag: \"AFR \", htmlTag: \"aa\" },\n { name: \"Agaw\", opentypeTag: \"AGW \", htmlTag: \"ahg\" },\n { name: \"Aiton\", opentypeTag: \"AIO \", htmlTag: \"aio\" },\n { name: \"Akan\", opentypeTag: \"AKA \", htmlTag: \"ak\" },\n { name: \"Alsatian\", opentypeTag: \"ALS \", htmlTag: \"gsw\" },\n { name: \"Altai\", opentypeTag: \"ALT \", htmlTag: \"atv\" },\n { name: \"Amharic\", opentypeTag: \"AMH \", htmlTag: \"am\" },\n { name: \"Anglo-Saxon\", opentypeTag: \"ANG \", htmlTag: \"ang\" },\n { name: \"Phonetic transcription—Americanist conventions\", opentypeTag: \"APPH\" },\n { name: \"Arabic\", opentypeTag: \"ARA \", htmlTag: \"ar\" },\n { name: \"Aragonese\", opentypeTag: \"ARG \", htmlTag: \"an\" },\n { name: \"Aari\", opentypeTag: \"ARI \", htmlTag: \"aiw\" },\n { name: \"Rakhine\", opentypeTag: \"ARK \", htmlTag: \"mhv\" },\n { name: \"Assamese\", opentypeTag: \"ASM \", htmlTag: \"as\" },\n { name: \"Asturian\", opentypeTag: \"AST \", htmlTag: \"ast\" },\n { name: \"Athapaskan\", opentypeTag: \"ATH \", htmlTag: \"apk\" },\n { name: \"Avar\", opentypeTag: \"AVR \", htmlTag: \"av\" },\n { name: \"Awadhi\", opentypeTag: \"AWA \", htmlTag: \"awa\" },\n { name: \"Aymara\", opentypeTag: \"AYM \", htmlTag: \"ay\" },\n { name: \"Torki\", opentypeTag: \"AZB \", htmlTag: \"azb\" },\n { name: \"Azerbaijani\", opentypeTag: \"AZE \", htmlTag: \"az\" },\n { name: \"Badaga\", opentypeTag: \"BAD \", htmlTag: \"bfq\" },\n { name: \"Banda\", opentypeTag: \"BAD0\", htmlTag: \"bad\" },\n { name: \"Baghelkhandi\", opentypeTag: \"BAG \", htmlTag: \"bfy\" },\n { name: \"Balkar\", opentypeTag: \"BAL \", htmlTag: \"krc\" },\n { name: \"Balinese\", opentypeTag: \"BAN \", htmlTag: \"ban\" },\n { name: \"Bavarian\", opentypeTag: \"BAR \", htmlTag: \"bar\" },\n { name: \"Baulé\", opentypeTag: \"BAU \", htmlTag: \"bci\" },\n { name: \"Batak Toba\", opentypeTag: \"BBC \", htmlTag: \"bbc\" },\n { name: \"Berber\", opentypeTag: \"BBR \", htmlTag: \"ber\" },\n { name: \"Bench\", opentypeTag: \"BCH \", htmlTag: \"bcq\" },\n { name: \"Bible Cree\", opentypeTag: \"BCR \" },\n { name: \"Bandjalang\", opentypeTag: \"BDY \", htmlTag: \"bdy\" },\n { name: \"Belarussian\", opentypeTag: \"BEL \", htmlTag: \"be\" },\n { name: \"Bemba\", opentypeTag: \"BEM \", htmlTag: \"bem\" },\n { name: \"Bengali\", opentypeTag: \"BEN \", htmlTag: \"bn\" },\n { name: \"Haryanvi\", opentypeTag: \"BGC \", htmlTag: \"bgc\" },\n { name: \"Bagri\", opentypeTag: \"BGQ \", htmlTag: \"bgq\" },\n { name: \"Bulgarian\", opentypeTag: \"BGR \", htmlTag: \"bg\" },\n { name: \"Bhili\", opentypeTag: \"BHI \", htmlTag: \"bhi\" },\n { name: \"Bhojpuri\", opentypeTag: \"BHO \", htmlTag: \"bho\" },\n { name: \"Bikol\", opentypeTag: \"BIK \", htmlTag: \"bik\" },\n { name: \"Bilen\", opentypeTag: \"BIL \", htmlTag: \"byn\" },\n { name: \"Bislama\", opentypeTag: \"BIS \", htmlTag: \"bi\" },\n { name: \"Kanauji\", opentypeTag: \"BJJ \", htmlTag: \"bjj\" },\n { name: \"Blackfoot\", opentypeTag: \"BKF \", htmlTag: \"bla\" },\n { name: \"Baluchi\", opentypeTag: \"BLI \", htmlTag: \"bal\" },\n { name: \"Pa’o Karen\", opentypeTag: \"BLK \", htmlTag: \"blk\" },\n { name: \"Balante\", opentypeTag: \"BLN \", htmlTag: \"bjt\" },\n { name: \"Balti\", opentypeTag: \"BLT \", htmlTag: \"bft\" },\n { name: \"Bambara (Bamanankan)\", opentypeTag: \"BMB \", htmlTag: \"bm\" },\n { name: \"Bamileke\", opentypeTag: \"BML \" },\n { name: \"Bosnian\", opentypeTag: \"BOS \", htmlTag: \"bs\" },\n { name: \"Bishnupriya Manipuri\", opentypeTag: \"BPY \", htmlTag: \"bpy\" },\n { name: \"Breton\", opentypeTag: \"BRE \", htmlTag: \"br\" },\n { name: \"Brahui\", opentypeTag: \"BRH \", htmlTag: \"brh\" },\n { name: \"Braj Bhasha\", opentypeTag: \"BRI \", htmlTag: \"bra\" },\n { name: \"Burmese\", opentypeTag: \"BRM \", htmlTag: \"my\" },\n { name: \"Bodo\", opentypeTag: \"BRX \", htmlTag: \"brx\" },\n { name: \"Bashkir\", opentypeTag: \"BSH \", htmlTag: \"ba\" },\n { name: \"Burushaski\", opentypeTag: \"BSK \", htmlTag: \"bsk\" },\n { name: \"Beti\", opentypeTag: \"BTI \", htmlTag: \"btb\" },\n { name: \"Batak Simalungun\", opentypeTag: \"BTS \", htmlTag: \"bts\" },\n { name: \"Bugis\", opentypeTag: \"BUG \", htmlTag: \"bug\" },\n { name: \"Medumba\", opentypeTag: \"BYV \", htmlTag: \"byv\" },\n { name: \"Kaqchikel\", opentypeTag: \"CAK \", htmlTag: \"cak\" },\n { name: \"Catalan\", opentypeTag: \"CAT \", htmlTag: \"ca\" },\n { name: \"Zamboanga Chavacano\", opentypeTag: \"CBK \", htmlTag: \"cbk\" },\n { name: \"Chinantec\", opentypeTag: \"CCHN\", htmlTag: \"cco\" },\n { name: \"Cebuano\", opentypeTag: \"CEB \", htmlTag: \"ceb\" },\n { name: \"Chechen\", opentypeTag: \"CHE \", htmlTag: \"ce\" },\n { name: \"Chaha Gurage\", opentypeTag: \"CHG \", htmlTag: \"sgw\" },\n { name: \"Chattisgarhi\", opentypeTag: \"CHH \", htmlTag: \"hne\" },\n { name: \"Chichewa (Chewa, Nyanja)\", opentypeTag: \"CHI \", htmlTag: \"ny\" },\n { name: \"Chukchi\", opentypeTag: \"CHK \", htmlTag: \"ckt\" },\n { name: \"Chuukese\", opentypeTag: \"CHK0\", htmlTag: \"chk\" },\n { name: \"Choctaw\", opentypeTag: \"CHO \", htmlTag: \"cho\" },\n { name: \"Chipewyan\", opentypeTag: \"CHP \", htmlTag: \"chp\" },\n { name: \"Cherokee\", opentypeTag: \"CHR \", htmlTag: \"chr\" },\n { name: \"Chamorro\", opentypeTag: \"CHA \", htmlTag: \"ch\" },\n { name: \"Chuvash\", opentypeTag: \"CHU \", htmlTag: \"cv\" },\n { name: \"Cheyenne\", opentypeTag: \"CHY \", htmlTag: \"chy\" },\n { name: \"Chiga\", opentypeTag: \"CGG \", htmlTag: \"cgg\" },\n { name: \"Western Cham\", opentypeTag: \"CJA \", htmlTag: \"cja\" },\n { name: \"Eastern Cham\", opentypeTag: \"CJM \", htmlTag: \"cjm\" },\n { name: \"Comorian\", opentypeTag: \"CMR \", htmlTag: \"swb\" },\n { name: \"Coptic\", opentypeTag: \"COP \", htmlTag: \"cop\" },\n { name: \"Cornish\", opentypeTag: \"COR \", htmlTag: \"kw\" },\n { name: \"Corsican\", opentypeTag: \"COS \", htmlTag: \"co\" },\n { name: \"Creoles\", opentypeTag: \"CPP \", htmlTag: \"crp\" },\n { name: \"Cree\", opentypeTag: \"CRE \", htmlTag: \"cr\" },\n { name: \"Carrier\", opentypeTag: \"CRR \", htmlTag: \"crx\" },\n { name: \"Crimean Tatar\", opentypeTag: \"CRT \", htmlTag: \"crh\" },\n { name: \"Kashubian\", opentypeTag: \"CSB \", htmlTag: \"csb\" },\n { name: \"Church Slavonic\", opentypeTag: \"CSL \", htmlTag: \"cu\" },\n { name: \"Czech\", opentypeTag: \"CSY \", htmlTag: \"cs\" },\n { name: \"Chittagonian\", opentypeTag: \"CTG \", htmlTag: \"ctg\" },\n { name: \"San Blas Kuna\", opentypeTag: \"CUK \", htmlTag: \"cuk\" },\n { name: \"Danish\", opentypeTag: \"DAN \", htmlTag: \"da\" },\n { name: \"Dargwa\", opentypeTag: \"DAR \", htmlTag: \"dar\" },\n { name: \"Dayi\", opentypeTag: \"DAX \", htmlTag: \"dax\" },\n { name: \"Woods Cree\", opentypeTag: \"DCR \", htmlTag: \"cwd\" },\n { name: \"German\", opentypeTag: \"DEU \", htmlTag: \"de\" },\n { name: \"Dogri\", opentypeTag: \"DGO \", htmlTag: \"dgo\" },\n { name: \"Dogri\", opentypeTag: \"DGR \", htmlTag: \"doi\" },\n { name: \"Dhangu\", opentypeTag: \"DHG \", htmlTag: \"dhg\" },\n { name: \"Divehi (Dhivehi, Maldivian)\", opentypeTag: \"DHV (deprecated)\", htmlTag: \"dv\" },\n { name: \"Dimli\", opentypeTag: \"DIQ \", htmlTag: \"diq\" },\n { name: \"Divehi (Dhivehi, Maldivian)\", opentypeTag: \"DIV \", htmlTag: \"dv\" },\n { name: \"Zarma\", opentypeTag: \"DJR \", htmlTag: \"dje\" },\n { name: \"Djambarrpuyngu\", opentypeTag: \"DJR0\", htmlTag: \"djr\" },\n { name: \"Dangme\", opentypeTag: \"DNG \", htmlTag: \"ada\" },\n { name: \"Dan\", opentypeTag: \"DNJ \", htmlTag: \"dnj\" },\n { name: \"Dinka\", opentypeTag: \"DNK \", htmlTag: \"din\" },\n { name: \"Dari\", opentypeTag: \"DRI \", htmlTag: \"prs\" },\n { name: \"Dhuwal\", opentypeTag: \"DUJ \", htmlTag: \"duj\" },\n { name: \"Dungan\", opentypeTag: \"DUN \", htmlTag: \"dng\" },\n { name: \"Dzongkha\", opentypeTag: \"DZN \", htmlTag: \"dz\" },\n { name: \"Ebira\", opentypeTag: \"EBI \", htmlTag: \"igb\" },\n { name: \"Eastern Cree\", opentypeTag: \"ECR \", htmlTag: \"crj\" },\n { name: \"Edo\", opentypeTag: \"EDO \", htmlTag: \"bin\" },\n { name: \"Efik\", opentypeTag: \"EFI \", htmlTag: \"efi\" },\n { name: \"Greek\", opentypeTag: \"ELL \", htmlTag: \"el\" },\n { name: \"Eastern Maninkakan\", opentypeTag: \"EMK \", htmlTag: \"emk\" },\n { name: \"English\", opentypeTag: \"ENG \", htmlTag: \"en\" },\n { name: \"Erzya\", opentypeTag: \"ERZ \", htmlTag: \"myv\" },\n { name: \"Spanish\", opentypeTag: \"ESP \", htmlTag: \"es\" },\n { name: \"Central Yupik\", opentypeTag: \"ESU \", htmlTag: \"esu\" },\n { name: \"Estonian\", opentypeTag: \"ETI \", htmlTag: \"et\" },\n { name: \"Basque\", opentypeTag: \"EUQ \", htmlTag: \"eu\" },\n { name: \"Evenki\", opentypeTag: \"EVK \", htmlTag: \"evn\" },\n { name: \"Even\", opentypeTag: \"EVN \", htmlTag: \"eve\" },\n { name: \"Ewe\", opentypeTag: \"EWE \", htmlTag: \"ee\" },\n { name: \"French Antillean\", opentypeTag: \"FAN \", htmlTag: \"acf\" },\n { name: \"Fang\", opentypeTag: \"FAN0\", htmlTag: \"fan\" },\n { name: \"Persian\", opentypeTag: \"FAR \", htmlTag: \"fa\" },\n { name: \"Fanti\", opentypeTag: \"FAT \", htmlTag: \"fat\" },\n { name: \"Finnish\", opentypeTag: \"FIN \", htmlTag: \"fi\" },\n { name: \"Fijian\", opentypeTag: \"FJI \", htmlTag: \"fj\" },\n { name: \"Dutch (Flemish)\", opentypeTag: \"FLE \", htmlTag: \"vls\" },\n { name: \"Fe’fe’\", opentypeTag: \"FMP \", htmlTag: \"fmp\" },\n { name: \"Forest Nenets\", opentypeTag: \"FNE \", htmlTag: \"enf\" },\n { name: \"Fon\", opentypeTag: \"FON \", htmlTag: \"fon\" },\n { name: \"Faroese\", opentypeTag: \"FOS \", htmlTag: \"fo\" },\n { name: \"French\", opentypeTag: \"FRA \", htmlTag: \"fr\" },\n { name: \"Cajun French\", opentypeTag: \"FRC \", htmlTag: \"frc\" },\n { name: \"Frisian\", opentypeTag: \"FRI \", htmlTag: \"fy\" },\n { name: \"Friulian\", opentypeTag: \"FRL \", htmlTag: \"fur\" },\n { name: \"Arpitan\", opentypeTag: \"FRP \", htmlTag: \"frp\" },\n { name: \"Futa\", opentypeTag: \"FTA \", htmlTag: \"fuf\" },\n { name: \"Fulah\", opentypeTag: \"FUL \", htmlTag: \"ff\" },\n { name: \"Nigerian Fulfulde\", opentypeTag: \"FUV \", htmlTag: \"fuv\" },\n { name: \"Ga\", opentypeTag: \"GAD \", htmlTag: \"gaa\" },\n { name: \"Scottish Gaelic (Gaelic)\", opentypeTag: \"GAE \", htmlTag: \"gd\" },\n { name: \"Gagauz\", opentypeTag: \"GAG \", htmlTag: \"gag\" },\n { name: \"Galician\", opentypeTag: \"GAL \", htmlTag: \"gl\" },\n { name: \"Garshuni\", opentypeTag: \"GAR \" },\n { name: \"Garhwali\", opentypeTag: \"GAW \", htmlTag: \"gbm\" },\n { name: \"Geez\", opentypeTag: \"GEZ \", htmlTag: \"gez\" },\n { name: \"Githabul\", opentypeTag: \"GIH \", htmlTag: \"gih\" },\n { name: \"Gilyak\", opentypeTag: \"GIL \", htmlTag: \"niv\" },\n { name: \"Kiribati (Gilbertese)\", opentypeTag: \"GIL0\", htmlTag: \"gil\" },\n { name: \"Kpelle (Guinea)\", opentypeTag: \"GKP \", htmlTag: \"gkp\" },\n { name: \"Gilaki\", opentypeTag: \"GLK \", htmlTag: \"glk\" },\n { name: \"Gumuz\", opentypeTag: \"GMZ \", htmlTag: \"guk\" },\n { name: \"Gumatj\", opentypeTag: \"GNN \", htmlTag: \"gnn\" },\n { name: \"Gogo\", opentypeTag: \"GOG \", htmlTag: \"gog\" },\n { name: \"Gondi\", opentypeTag: \"GON \", htmlTag: \"gon\" },\n { name: \"Greenlandic\", opentypeTag: \"GRN \", htmlTag: \"kl\" },\n { name: \"Garo\", opentypeTag: \"GRO \", htmlTag: \"grt\" },\n { name: \"Guarani\", opentypeTag: \"GUA \", htmlTag: \"gn\" },\n { name: \"Wayuu\", opentypeTag: \"GUC \", htmlTag: \"guc\" },\n { name: \"Gupapuyngu\", opentypeTag: \"GUF \", htmlTag: \"guf\" },\n { name: \"Gujarati\", opentypeTag: \"GUJ \", htmlTag: \"gu\" },\n { name: \"Gusii\", opentypeTag: \"GUZ \", htmlTag: \"guz\" },\n { name: \"Haitian (Haitian Creole)\", opentypeTag: \"HAI \", htmlTag: \"ht\" },\n { name: \"Halam (Falam Chin)\", opentypeTag: \"HAL \", htmlTag: \"flm\" },\n { name: \"Harauti\", opentypeTag: \"HAR \", htmlTag: \"hoj\" },\n { name: \"Hausa\", opentypeTag: \"HAU \", htmlTag: \"ha\" },\n { name: \"Hawaiian\", opentypeTag: \"HAW \", htmlTag: \"haw\" },\n { name: \"Haya\", opentypeTag: \"HAY \", htmlTag: \"hay\" },\n { name: \"Hazaragi\", opentypeTag: \"HAZ \", htmlTag: \"haz\" },\n { name: \"Hammer-Banna\", opentypeTag: \"HBN \", htmlTag: \"amf\" },\n { name: \"Herero\", opentypeTag: \"HER \", htmlTag: \"hz\" },\n { name: \"Hiligaynon\", opentypeTag: \"HIL \", htmlTag: \"hil\" },\n { name: \"Hindi\", opentypeTag: \"HIN \", htmlTag: \"hi\" },\n { name: \"High Mari\", opentypeTag: \"HMA \", htmlTag: \"mrj\" },\n { name: \"Hmong\", opentypeTag: \"HMN \", htmlTag: \"hmn\" },\n { name: \"Hiri Motu\", opentypeTag: \"HMO \", htmlTag: \"ho\" },\n { name: \"Hindko\", opentypeTag: \"HND \", htmlTag: \"hno\" },\n { name: \"Ho\", opentypeTag: \"HO\", htmlTag: \"hoc\" },\n { name: \"Harari\", opentypeTag: \"HRI \", htmlTag: \"har\" },\n { name: \"Croatian\", opentypeTag: \"HRV \", htmlTag: \"hr\" },\n { name: \"Hungarian\", opentypeTag: \"HUN \", htmlTag: \"hu\" },\n { name: \"Armenian\", opentypeTag: \"HYE \", htmlTag: \"hy\" },\n { name: \"Armenian East\", opentypeTag: \"HYE0\", htmlTag: \"hy\" },\n { name: \"Iban\", opentypeTag: \"IBA \", htmlTag: \"iba\" },\n { name: \"Ibibio\", opentypeTag: \"IBB \", htmlTag: \"ibb\" },\n { name: \"Igbo\", opentypeTag: \"IBO \", htmlTag: \"ig\" },\n { name: \"Ijo languages\", opentypeTag: \"IJO \", htmlTag: \"ijc\" },\n { name: \"Ido\", opentypeTag: \"IDO \", htmlTag: \"io\" },\n { name: \"Interlingue\", opentypeTag: \"ILE \", htmlTag: \"ie\" },\n { name: \"Ilokano\", opentypeTag: \"ILO \", htmlTag: \"ilo\" },\n { name: \"Interlingua\", opentypeTag: \"INA \", htmlTag: \"ia\" },\n { name: \"Indonesian\", opentypeTag: \"IND \", htmlTag: \"id\" },\n { name: \"Ingush\", opentypeTag: \"ING \", htmlTag: \"inh\" },\n { name: \"Inuktitut\", opentypeTag: \"INU \", htmlTag: \"iu\" },\n { name: \"Inupiat\", opentypeTag: \"IPK \", htmlTag: \"ik\" },\n { name: \"Phonetic transcription—IPA conventions\", opentypeTag: \"IPPH\" },\n { name: \"Irish\", opentypeTag: \"IRI \", htmlTag: \"ga\" },\n { name: \"Irish Traditional\", opentypeTag: \"IRT \", htmlTag: \"ga\" },\n { name: \"Icelandic\", opentypeTag: \"ISL \", htmlTag: \"is\" },\n { name: \"Inari Sami\", opentypeTag: \"ISM \", htmlTag: \"smn\" },\n { name: \"Italian\", opentypeTag: \"ITA \", htmlTag: \"it\" },\n { name: \"Hebrew\", opentypeTag: \"IWR \", htmlTag: \"he\" },\n { name: \"Jamaican Creole\", opentypeTag: \"JAM \", htmlTag: \"jam\" },\n { name: \"Japanese\", opentypeTag: \"JAN \", htmlTag: \"ja\" },\n { name: \"Javanese\", opentypeTag: \"JAV \", htmlTag: \"jv\" },\n { name: \"Lojban\", opentypeTag: \"JBO \", htmlTag: \"jbo\" },\n { name: \"Krymchak\", opentypeTag: \"JCT \", htmlTag: \"jct\" },\n { name: \"Yiddish\", opentypeTag: \"JII \", htmlTag: \"yi\" },\n { name: \"Ladino\", opentypeTag: \"JUD \", htmlTag: \"lad\" },\n { name: \"Jula\", opentypeTag: \"JUL \", htmlTag: \"dyu\" },\n { name: \"Kabardian\", opentypeTag: \"KAB \", htmlTag: \"kbd\" },\n { name: \"Kabyle\", opentypeTag: \"KAB0\", htmlTag: \"kab\" },\n { name: \"Kachchi\", opentypeTag: \"KAC \", htmlTag: \"kfr\" },\n { name: \"Kalenjin\", opentypeTag: \"KAL \", htmlTag: \"kln\" },\n { name: \"Kannada\", opentypeTag: \"KAN \", htmlTag: \"kn\" },\n { name: \"Karachay\", opentypeTag: \"KAR \", htmlTag: \"krc\" },\n { name: \"Georgian\", opentypeTag: \"KAT \", htmlTag: \"ka\" },\n { name: \"Kazakh\", opentypeTag: \"KAZ \", htmlTag: \"kk\" },\n { name: \"Makonde\", opentypeTag: \"KDE \", htmlTag: \"kde\" },\n { name: \"Kabuverdianu (Crioulo)\", opentypeTag: \"KEA \", htmlTag: \"kea\" },\n { name: \"Kebena\", opentypeTag: \"KEB \", htmlTag: \"ktb\" },\n { name: \"Kekchi\", opentypeTag: \"KEK \", htmlTag: \"kek\" },\n { name: \"Khutsuri Georgian\", opentypeTag: \"KGE \", htmlTag: \"ka\" },\n { name: \"Khakass\", opentypeTag: \"KHA \", htmlTag: \"kjh\" },\n { name: \"Khanty-Kazim\", opentypeTag: \"KHK \", htmlTag: \"kca\" },\n { name: \"Khmer\", opentypeTag: \"KHM \", htmlTag: \"km\" },\n { name: \"Khanty-Shurishkar\", opentypeTag: \"KHS \", htmlTag: \"kca\" },\n { name: \"Khamti Shan\", opentypeTag: \"KHT \", htmlTag: \"kht\" },\n { name: \"Khanty-Vakhi\", opentypeTag: \"KHV \", htmlTag: \"kca\" },\n { name: \"Khowar\", opentypeTag: \"KHW \", htmlTag: \"khw\" },\n { name: \"Kikuyu (Gikuyu)\", opentypeTag: \"KIK \", htmlTag: \"ki\" },\n { name: \"Kirghiz (Kyrgyz)\", opentypeTag: \"KIR \", htmlTag: \"ky\" },\n { name: \"Kisii\", opentypeTag: \"KIS \", htmlTag: \"kqs\" },\n { name: \"Kirmanjki\", opentypeTag: \"KIU \", htmlTag: \"kiu\" },\n { name: \"Southern Kiwai\", opentypeTag: \"KJD \", htmlTag: \"kjd\" },\n { name: \"Eastern Pwo Karen\", opentypeTag: \"KJP \", htmlTag: \"kjp\" },\n { name: \"Bumthangkha\", opentypeTag: \"KJZ \", htmlTag: \"kjz\" },\n { name: \"Kokni\", opentypeTag: \"KKN \", htmlTag: \"kex\" },\n { name: \"Kalmyk\", opentypeTag: \"KLM \", htmlTag: \"xal\" },\n { name: \"Kamba\", opentypeTag: \"KMB \", htmlTag: \"kam\" },\n { name: \"Kumaoni\", opentypeTag: \"KMN \", htmlTag: \"kfy\" },\n { name: \"Komo\", opentypeTag: \"KMO \", htmlTag: \"kmw\" },\n { name: \"Komso\", opentypeTag: \"KMS \", htmlTag: \"kxc\" },\n { name: \"Khorasani Turkic\", opentypeTag: \"KMZ \", htmlTag: \"kmz\" },\n { name: \"Kanuri\", opentypeTag: \"KNR \", htmlTag: \"kr\" },\n { name: \"Kodagu\", opentypeTag: \"KOD \", htmlTag: \"kfa\" },\n { name: \"Korean Old Hangul\", opentypeTag: \"KOH \", htmlTag: \"okm\" },\n { name: \"Konkani\", opentypeTag: \"KOK \", htmlTag: \"kok\" },\n { name: \"Kikongo\", opentypeTag: \"KON \", htmlTag: \"ktu\" },\n { name: \"Komi\", opentypeTag: \"KOM \", htmlTag: \"kv\" },\n { name: \"Kongo\", opentypeTag: \"KON0\", htmlTag: \"kg\" },\n { name: \"Komi-Permyak\", opentypeTag: \"KOP \", htmlTag: \"koi\" },\n { name: \"Korean\", opentypeTag: \"KOR \", htmlTag: \"ko\" },\n { name: \"Kosraean\", opentypeTag: \"KOS \", htmlTag: \"kos\" },\n { name: \"Komi-Zyrian\", opentypeTag: \"KOZ \", htmlTag: \"kpv\" },\n { name: \"Kpelle\", opentypeTag: \"KPL \", htmlTag: \"kpe\" },\n { name: \"Krio\", opentypeTag: \"KRI \", htmlTag: \"kri\" },\n { name: \"Karakalpak\", opentypeTag: \"KRK \", htmlTag: \"kaa\" },\n { name: \"Karelian\", opentypeTag: \"KRL \", htmlTag: \"krl\" },\n { name: \"Karaim\", opentypeTag: \"KRM \", htmlTag: \"kdr\" },\n { name: \"Karen\", opentypeTag: \"KRN \", htmlTag: \"kar\" },\n { name: \"Koorete\", opentypeTag: \"KRT \", htmlTag: \"kqy\" },\n { name: \"Kashmiri\", opentypeTag: \"KSH \", htmlTag: \"ks\" },\n { name: \"Ripuarian\", opentypeTag: \"KSH0\", htmlTag: \"ksh\" },\n { name: \"Khasi\", opentypeTag: \"KSI \", htmlTag: \"kha\" },\n { name: \"Kildin Sami\", opentypeTag: \"KSM \", htmlTag: \"sjd\" },\n { name: \"S’gaw Karen\", opentypeTag: \"KSW \", htmlTag: \"ksw\" },\n { name: \"Kuanyama\", opentypeTag: \"KUA \", htmlTag: \"kj\" },\n { name: \"Kui\", opentypeTag: \"KUI \", htmlTag: \"kxu\" },\n { name: \"Kulvi\", opentypeTag: \"KUL \", htmlTag: \"kfx\" },\n { name: \"Kumyk\", opentypeTag: \"KUM \", htmlTag: \"kum\" },\n { name: \"Kurdish\", opentypeTag: \"KUR \", htmlTag: \"ku\" },\n { name: \"Kurukh\", opentypeTag: \"KUU \", htmlTag: \"kru\" },\n { name: \"Kuy\", opentypeTag: \"KUY \", htmlTag: \"kdt\" },\n { name: \"Koryak\", opentypeTag: \"KYK \", htmlTag: \"kpy\" },\n { name: \"Western Kayah\", opentypeTag: \"KYU \", htmlTag: \"kyu\" },\n { name: \"Ladin\", opentypeTag: \"LAD \", htmlTag: \"lld\" },\n { name: \"Lahuli\", opentypeTag: \"LAH \", htmlTag: \"bfu\" },\n { name: \"Lak\", opentypeTag: \"LAK \", htmlTag: \"lbe\" },\n { name: \"Lambani\", opentypeTag: \"LAM \", htmlTag: \"lmn\" },\n { name: \"Lao\", opentypeTag: \"LAO \", htmlTag: \"lo\" },\n { name: \"Latin\", opentypeTag: \"LAT \", htmlTag: \"la\" },\n { name: \"Laz\", opentypeTag: \"LAZ \", htmlTag: \"lzz\" },\n { name: \"L-Cree\", opentypeTag: \"LCR \", htmlTag: \"crm\" },\n { name: \"Ladakhi\", opentypeTag: \"LDK \", htmlTag: \"lbj\" },\n { name: \"Lezgi\", opentypeTag: \"LEZ \", htmlTag: \"lez\" },\n { name: \"Ligurian\", opentypeTag: \"LIJ \", htmlTag: \"lij\" },\n { name: \"Limburgish\", opentypeTag: \"LIM \", htmlTag: \"li\" },\n { name: \"Lingala\", opentypeTag: \"LIN \", htmlTag: \"ln\" },\n { name: \"Lisu\", opentypeTag: \"LIS \", htmlTag: \"lis\" },\n { name: \"Lampung\", opentypeTag: \"LJP \", htmlTag: \"ljp\" },\n { name: \"Laki\", opentypeTag: \"LKI \", htmlTag: \"lki\" },\n { name: \"Low Mari\", opentypeTag: \"LMA \", htmlTag: \"mhr\" },\n { name: \"Limbu\", opentypeTag: \"LMB \", htmlTag: \"lif\" },\n { name: \"Lombard\", opentypeTag: \"LMO \", htmlTag: \"lmo\" },\n { name: \"Lomwe\", opentypeTag: \"LMW \", htmlTag: \"ngl\" },\n { name: \"Loma\", opentypeTag: \"LOM \", htmlTag: \"lom\" },\n { name: \"Luri\", opentypeTag: \"LRC \", htmlTag: \"lrc\" },\n { name: \"Lower Sorbian\", opentypeTag: \"LSB \", htmlTag: \"dsb\" },\n { name: \"Lule Sami\", opentypeTag: \"LSM \", htmlTag: \"smj\" },\n { name: \"Lithuanian\", opentypeTag: \"LTH \", htmlTag: \"lt\" },\n { name: \"Luxembourgish\", opentypeTag: \"LTZ \", htmlTag: \"lb\" },\n { name: \"Luba-Lulua\", opentypeTag: \"LUA \", htmlTag: \"lua\" },\n { name: \"Luba-Katanga\", opentypeTag: \"LUB \", htmlTag: \"lu\" },\n { name: \"Ganda\", opentypeTag: \"LUG \", htmlTag: \"lg\" },\n { name: \"Luyia\", opentypeTag: \"LUH \", htmlTag: \"luy\" },\n { name: \"Luo\", opentypeTag: \"LUO \", htmlTag: \"luo\" },\n { name: \"Latvian\", opentypeTag: \"LVI \", htmlTag: \"lv\" },\n { name: \"Madura\", opentypeTag: \"MAD \", htmlTag: \"mad\" },\n { name: \"Magahi\", opentypeTag: \"MAG \", htmlTag: \"mag\" },\n { name: \"Marshallese\", opentypeTag: \"MAH \", htmlTag: \"mh\" },\n { name: \"Majang\", opentypeTag: \"MAJ \", htmlTag: \"mpe\" },\n { name: \"Makhuwa\", opentypeTag: \"MAK \", htmlTag: \"vmw\" },\n { name: \"Malayalam\", opentypeTag: \"MAL \", htmlTag: \"ml\" },\n { name: \"Mam\", opentypeTag: \"MAM \", htmlTag: \"mam\" },\n { name: \"Mansi\", opentypeTag: \"MAN \", htmlTag: \"mns\" },\n { name: \"Mapudungun\", opentypeTag: \"MAP \", htmlTag: \"arn\" },\n { name: \"Marathi\", opentypeTag: \"MAR \", htmlTag: \"mr\" },\n { name: \"Marwari\", opentypeTag: \"MAW \", htmlTag: \"mwr\" },\n { name: \"Mbundu\", opentypeTag: \"MBN \", htmlTag: \"kmb\" },\n { name: \"Mbo\", opentypeTag: \"MBO \", htmlTag: \"mbo\" },\n { name: \"Manchu\", opentypeTag: \"MCH \", htmlTag: \"mnc\" },\n { name: \"Moose Cree\", opentypeTag: \"MCR \", htmlTag: \"crm\" },\n { name: \"Mende\", opentypeTag: \"MDE \", htmlTag: \"men\" },\n { name: \"Mandar\", opentypeTag: \"MDR \", htmlTag: \"mdr\" },\n { name: \"Me’en\", opentypeTag: \"MEN \", htmlTag: \"mym\" },\n { name: \"Meru\", opentypeTag: \"MER \", htmlTag: \"mer\" },\n { name: \"Pattani Malay\", opentypeTag: \"MFA \", htmlTag: \"mfa\" },\n { name: \"Morisyen\", opentypeTag: \"MFE \", htmlTag: \"mfe\" },\n { name: \"Minangkabau\", opentypeTag: \"MIN \", htmlTag: \"min\" },\n { name: \"Mizo\", opentypeTag: \"MIZ \", htmlTag: \"lus\" },\n { name: \"Macedonian\", opentypeTag: \"MKD \", htmlTag: \"mk\" },\n { name: \"Makasar\", opentypeTag: \"MKR \", htmlTag: \"mak\" },\n { name: \"Kituba\", opentypeTag: \"MKW \", htmlTag: \"mkw\" },\n { name: \"Male\", opentypeTag: \"MLE \", htmlTag: \"mdy\" },\n { name: \"Malagasy\", opentypeTag: \"MLG \", htmlTag: \"mg\" },\n { name: \"Malinke\", opentypeTag: \"MLN \", htmlTag: \"mlq\" },\n { name: \"Malayalam Reformed\", opentypeTag: \"MLR \", htmlTag: \"ml\" },\n { name: \"Malay\", opentypeTag: \"MLY \", htmlTag: \"ms\" },\n { name: \"Mandinka\", opentypeTag: \"MND \", htmlTag: \"mnk\" },\n { name: \"Mongolian\", opentypeTag: \"MNG \", htmlTag: \"mn\" },\n { name: \"Manipuri\", opentypeTag: \"MNI \", htmlTag: \"mni\" },\n { name: \"Maninka\", opentypeTag: \"MNK \", htmlTag: \"man\" },\n { name: \"Manx\", opentypeTag: \"MNX \", htmlTag: \"gv\" },\n { name: \"Mohawk\", opentypeTag: \"MOH \", htmlTag: \"moh\" },\n { name: \"Moksha\", opentypeTag: \"MOK \", htmlTag: \"mdf\" },\n { name: \"Moldavian\", opentypeTag: \"MOL \", htmlTag: \"mol\" },\n { name: \"Mon\", opentypeTag: \"MON \", htmlTag: \"mnw\" },\n { name: \"Moroccan\", opentypeTag: \"MOR \" },\n { name: \"Mossi\", opentypeTag: \"MOS \", htmlTag: \"mos\" },\n { name: \"Maori\", opentypeTag: \"MRI \", htmlTag: \"mi\" },\n { name: \"Maithili\", opentypeTag: \"MTH \", htmlTag: \"mai\" },\n { name: \"Maltese\", opentypeTag: \"MTS \", htmlTag: \"mt\" },\n { name: \"Mundari\", opentypeTag: \"MUN \", htmlTag: \"unr\" },\n { name: \"Muscogee\", opentypeTag: \"MUS \", htmlTag: \"mus\" },\n { name: \"Mirandese\", opentypeTag: \"MWL \", htmlTag: \"mwl\" },\n { name: \"Hmong Daw\", opentypeTag: \"MWW \", htmlTag: \"mww\" },\n { name: \"Mayan\", opentypeTag: \"MYN \", htmlTag: \"myn\" },\n { name: \"Mazanderani\", opentypeTag: \"MZN \", htmlTag: \"mzn\" },\n { name: \"Naga-Assamese\", opentypeTag: \"NAG \", htmlTag: \"nag\" },\n { name: \"Nahuatl\", opentypeTag: \"NAH \", htmlTag: \"nah\" },\n { name: \"Nanai\", opentypeTag: \"NAN \", htmlTag: \"gld\" },\n { name: \"Neapolitan\", opentypeTag: \"NAP \", htmlTag: \"nap\" },\n { name: \"Naskapi\", opentypeTag: \"NAS \", htmlTag: \"nsk\" },\n { name: \"Nauruan\", opentypeTag: \"NAU \", htmlTag: \"na\" },\n { name: \"Navajo\", opentypeTag: \"NAV \", htmlTag: \"nv\" },\n { name: \"N-Cree\", opentypeTag: \"NCR \", htmlTag: \"csw\" },\n { name: \"Ndebele\", opentypeTag: \"NDB \", htmlTag: \"nr\" },\n { name: \"Ndau\", opentypeTag: \"NDC \", htmlTag: \"ndc\" },\n { name: \"Ndonga\", opentypeTag: \"NDG \", htmlTag: \"ng\" },\n { name: \"Low Saxon\", opentypeTag: \"NDS \", htmlTag: \"nds\" },\n { name: \"Nepali\", opentypeTag: \"NEP \", htmlTag: \"ne\" },\n { name: \"Newari\", opentypeTag: \"NEW \", htmlTag: \"new\" },\n { name: \"Ngbaka\", opentypeTag: \"NGA \", htmlTag: \"nga\" },\n { name: \"Nagari\", opentypeTag: \"NGR \" },\n { name: \"Norway House Cree\", opentypeTag: \"NHC \", htmlTag: \"csw\" },\n { name: \"Nisi\", opentypeTag: \"NIS \", htmlTag: \"dap\" },\n { name: \"Niuean\", opentypeTag: \"NIU \", htmlTag: \"niu\" },\n { name: \"Nyankole\", opentypeTag: \"NKL \", htmlTag: \"nyn\" },\n { name: \"N’Ko\", opentypeTag: \"NKO \", htmlTag: \"nqo\" },\n { name: \"Dutch\", opentypeTag: \"NLD \", htmlTag: \"nl\" },\n { name: \"Nimadi\", opentypeTag: \"NOE \", htmlTag: \"noe\" },\n { name: \"Nogai\", opentypeTag: \"NOG \", htmlTag: \"nog\" },\n { name: \"Norwegian\", opentypeTag: \"NOR \", htmlTag: \"nb\" },\n { name: \"Novial\", opentypeTag: \"NOV \", htmlTag: \"nov\" },\n { name: \"Northern Sami\", opentypeTag: \"NSM \", htmlTag: \"se\" },\n { name: \"Sotho, Northern\", opentypeTag: \"NSO \", htmlTag: \"nso\" },\n { name: \"Northern Tai\", opentypeTag: \"NTA \", htmlTag: \"nod\" },\n { name: \"Esperanto\", opentypeTag: \"NTO \", htmlTag: \"eo\" },\n { name: \"Nyamwezi\", opentypeTag: \"NYM \", htmlTag: \"nym\" },\n { name: \"Norwegian Nynorsk (Nynorsk, Norwegian)\", opentypeTag: \"NYN \", htmlTag: \"nn\" },\n { name: \"Mbembe Tigon\", opentypeTag: \"NZA \", htmlTag: \"nza\" },\n { name: \"Occitan\", opentypeTag: \"OCI \", htmlTag: \"oc\" },\n { name: \"Oji-Cree\", opentypeTag: \"OCR \", htmlTag: \"ojs\" },\n { name: \"Ojibway\", opentypeTag: \"OJB \", htmlTag: \"oj\" },\n { name: \"Odia (formerly Oriya)\", opentypeTag: \"ORI \", htmlTag: \"or\" },\n { name: \"Oromo\", opentypeTag: \"ORO \", htmlTag: \"om\" },\n { name: \"Ossetian\", opentypeTag: \"OSS \", htmlTag: \"os\" },\n { name: \"Palestinian Aramaic\", opentypeTag: \"PAA \", htmlTag: \"sam\" },\n { name: \"Pangasinan\", opentypeTag: \"PAG \", htmlTag: \"pag\" },\n { name: \"Pali\", opentypeTag: \"PAL \", htmlTag: \"pi\" },\n { name: \"Pampangan\", opentypeTag: \"PAM \", htmlTag: \"pam\" },\n { name: \"Punjabi\", opentypeTag: \"PAN \", htmlTag: \"pa\" },\n { name: \"Palpa\", opentypeTag: \"PAP \", htmlTag: \"plp\" },\n { name: \"Papiamentu\", opentypeTag: \"PAP0\", htmlTag: \"pap\" },\n { name: \"Pashto\", opentypeTag: \"PAS \", htmlTag: \"ps\" },\n { name: \"Palauan\", opentypeTag: \"PAU \", htmlTag: \"pau\" },\n { name: \"Bouyei\", opentypeTag: \"PCC \", htmlTag: \"pcc\" },\n { name: \"Picard\", opentypeTag: \"PCD \", htmlTag: \"pcd\" },\n { name: \"Pennsylvania German\", opentypeTag: \"PDC \", htmlTag: \"pdc\" },\n { name: \"Polytonic Greek\", opentypeTag: \"PGR \", htmlTag: \"el\" },\n { name: \"Phake\", opentypeTag: \"PHK \", htmlTag: \"phk\" },\n { name: \"Norfolk\", opentypeTag: \"PIH \", htmlTag: \"pih\" },\n { name: \"Filipino\", opentypeTag: \"PIL \", htmlTag: \"fil\" },\n { name: \"Palaung\", opentypeTag: \"PLG \", htmlTag: \"pce\" },\n { name: \"Polish\", opentypeTag: \"PLK \", htmlTag: \"pl\" },\n { name: \"Piemontese\", opentypeTag: \"PMS \", htmlTag: \"pms\" },\n { name: \"Western Panjabi\", opentypeTag: \"PNB \", htmlTag: \"pnb\" },\n { name: \"Pocomchi\", opentypeTag: \"POH \", htmlTag: \"poh\" },\n { name: \"Pohnpeian\", opentypeTag: \"PON \", htmlTag: \"pon\" },\n { name: \"Provençal / Old Provençal\", opentypeTag: \"PRO \", htmlTag: \"pro\" },\n { name: \"Portuguese\", opentypeTag: \"PTG \", htmlTag: \"pt\" },\n { name: \"Western Pwo Karen\", opentypeTag: \"PWO \", htmlTag: \"pwo\" },\n { name: \"Chin\", opentypeTag: \"QIN \", htmlTag: \"bgr\" },\n { name: \"K’iche’\", opentypeTag: \"QUC \", htmlTag: \"quc\" },\n { name: \"Quechua (Bolivia)\", opentypeTag: \"QUH \", htmlTag: \"quh\" },\n { name: \"Quechua\", opentypeTag: \"QUZ \", htmlTag: \"quz\" },\n { name: \"Quechua (Ecuador)\", opentypeTag: \"QVI \", htmlTag: \"qvi\" },\n { name: \"Quechua (Peru)\", opentypeTag: \"QWH \", htmlTag: \"qwh\" },\n { name: \"Rajasthani\", opentypeTag: \"RAJ \", htmlTag: \"raj\" },\n { name: \"Rarotongan\", opentypeTag: \"RAR \", htmlTag: \"rar\" },\n { name: \"Russian Buriat\", opentypeTag: \"RBU \", htmlTag: \"bxr\" },\n { name: \"R-Cree\", opentypeTag: \"RCR \", htmlTag: \"atj\" },\n { name: \"Rejang\", opentypeTag: \"REJ \", htmlTag: \"rej\" },\n { name: \"Riang\", opentypeTag: \"RIA \", htmlTag: \"ria\" },\n { name: \"Tarifit\", opentypeTag: \"RIF \", htmlTag: \"rif\" },\n { name: \"Ritarungo\", opentypeTag: \"RIT \", htmlTag: \"rit\" },\n { name: \"Arakwal\", opentypeTag: \"RKW \", htmlTag: \"rkw\" },\n { name: \"Romansh\", opentypeTag: \"RMS \", htmlTag: \"rm\" },\n { name: \"Vlax Romani\", opentypeTag: \"RMY \", htmlTag: \"rmy\" },\n { name: \"Romanian\", opentypeTag: \"ROM \", htmlTag: \"ro\" },\n { name: \"Romany\", opentypeTag: \"ROY \", htmlTag: \"rom\" },\n { name: \"Rusyn\", opentypeTag: \"RSY \", htmlTag: \"rue\" },\n { name: \"Rotuman\", opentypeTag: \"RTM \", htmlTag: \"rtm\" },\n { name: \"Kinyarwanda\", opentypeTag: \"RUA \", htmlTag: \"rw\" },\n { name: \"Rundi\", opentypeTag: \"RUN \", htmlTag: \"rn\" },\n { name: \"Aromanian\", opentypeTag: \"RUP \", htmlTag: \"rup\" },\n { name: \"Russian\", opentypeTag: \"RUS \", htmlTag: \"ru\" },\n { name: \"Sadri\", opentypeTag: \"SAD \", htmlTag: \"sck\" },\n { name: \"Sanskrit\", opentypeTag: \"SAN \", htmlTag: \"sa\" },\n { name: \"Sasak\", opentypeTag: \"SAS \", htmlTag: \"sas\" },\n { name: \"Santali\", opentypeTag: \"SAT \", htmlTag: \"sat\" },\n { name: \"Sayisi\", opentypeTag: \"SAY \", htmlTag: \"chp\" },\n { name: \"Sicilian\", opentypeTag: \"SCN \", htmlTag: \"scn\" },\n { name: \"Scots\", opentypeTag: \"SCO \", htmlTag: \"sco\" },\n { name: \"Sekota\", opentypeTag: \"SEK \", htmlTag: \"xan\" },\n { name: \"Selkup\", opentypeTag: \"SEL \", htmlTag: \"sel\" },\n { name: \"Old Irish\", opentypeTag: \"SGA \", htmlTag: \"sga\" },\n { name: \"Sango\", opentypeTag: \"SGO \", htmlTag: \"sg\" },\n { name: \"Samogitian\", opentypeTag: \"SGS \", htmlTag: \"sgs\" },\n { name: \"Tachelhit\", opentypeTag: \"SHI \", htmlTag: \"shi\" },\n { name: \"Shan\", opentypeTag: \"SHN \", htmlTag: \"shn\" },\n { name: \"Sibe\", opentypeTag: \"SIB \", htmlTag: \"sjo\" },\n { name: \"Sidamo\", opentypeTag: \"SID \", htmlTag: \"sid\" },\n { name: \"Silte Gurage\", opentypeTag: \"SIG \", htmlTag: \"xst\" },\n { name: \"Skolt Sami\", opentypeTag: \"SKS \", htmlTag: \"sms\" },\n { name: \"Slovak\", opentypeTag: \"SKY \", htmlTag: \"sk\" },\n { name: \"North Slavey\", opentypeTag: \"SCS \", htmlTag: \"scs\" },\n { name: \"Slavey\", opentypeTag: \"SLA \", htmlTag: \"scs\" },\n { name: \"Slovenian\", opentypeTag: \"SLV \", htmlTag: \"sl\" },\n { name: \"Somali\", opentypeTag: \"SML \", htmlTag: \"so\" },\n { name: \"Samoan\", opentypeTag: \"SMO \", htmlTag: \"sm\" },\n { name: \"Sena\", opentypeTag: \"SNA \", htmlTag: \"seh\" },\n { name: \"Shona\", opentypeTag: \"SNA0\", htmlTag: \"sn\" },\n { name: \"Sindhi\", opentypeTag: \"SND \", htmlTag: \"sd\" },\n { name: \"Sinhala (Sinhalese)\", opentypeTag: \"SNH \", htmlTag: \"si\" },\n { name: \"Soninke\", opentypeTag: \"SNK \", htmlTag: \"snk\" },\n { name: \"Sodo Gurage\", opentypeTag: \"SOG \", htmlTag: \"gru\" },\n { name: \"Songe\", opentypeTag: \"SOP \", htmlTag: \"sop\" },\n { name: \"Sotho, Southern\", opentypeTag: \"SOT \", htmlTag: \"st\" },\n { name: \"Albanian\", opentypeTag: \"SQI \", htmlTag: \"sq\" },\n { name: \"Serbian\", opentypeTag: \"SRB \", htmlTag: \"sr\" },\n { name: \"Sardinian\", opentypeTag: \"SRD \", htmlTag: \"sc\" },\n { name: \"Saraiki\", opentypeTag: \"SRK \", htmlTag: \"skr\" },\n { name: \"Serer\", opentypeTag: \"SRR \", htmlTag: \"srr\" },\n { name: \"South Slavey\", opentypeTag: \"SSL \", htmlTag: \"xsl\" },\n { name: \"Southern Sami\", opentypeTag: \"SSM \", htmlTag: \"sma\" },\n { name: \"Saterland Frisian\", opentypeTag: \"STQ \", htmlTag: \"stq\" },\n { name: \"Sukuma\", opentypeTag: \"SUK \", htmlTag: \"suk\" },\n { name: \"Sundanese\", opentypeTag: \"SUN \", htmlTag: \"su\" },\n { name: \"Suri\", opentypeTag: \"SUR \", htmlTag: \"suq\" },\n { name: \"Svan\", opentypeTag: \"SVA \", htmlTag: \"sva\" },\n { name: \"Swedish\", opentypeTag: \"SVE \", htmlTag: \"sv\" },\n { name: \"Swadaya Aramaic\", opentypeTag: \"SWA \", htmlTag: \"aii\" },\n { name: \"Swahili\", opentypeTag: \"SWK \", htmlTag: \"sw\" },\n { name: \"Swati\", opentypeTag: \"SWZ \", htmlTag: \"ss\" },\n { name: \"Sutu\", opentypeTag: \"SXT \", htmlTag: \"ngo\" },\n { name: \"Upper Saxon\", opentypeTag: \"SXU \", htmlTag: \"sxu\" },\n { name: \"Sylheti\", opentypeTag: \"SYL \", htmlTag: \"syl\" },\n { name: \"Syriac\", opentypeTag: \"SYR \", htmlTag: \"aii\" },\n { name: \"Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre')\", opentypeTag: \"SYRE\", htmlTag: \"syc\" },\n { name: \"Syriac, Western script-variant (equivalent to ISO 15924 'Syrj')\", opentypeTag: \"SYRJ\", htmlTag: \"syc\" },\n { name: \"Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn')\", opentypeTag: \"SYRN\", htmlTag: \"syc\" },\n { name: \"Silesian\", opentypeTag: \"SZL \", htmlTag: \"szl\" },\n { name: \"Tabasaran\", opentypeTag: \"TAB \", htmlTag: \"tab\" },\n { name: \"Tajiki\", opentypeTag: \"TAJ \", htmlTag: \"tg\" },\n { name: \"Tamil\", opentypeTag: \"TAM \", htmlTag: \"ta\" },\n { name: \"Tatar\", opentypeTag: \"TAT \", htmlTag: \"tt\" },\n { name: \"TH-Cree\", opentypeTag: \"TCR \", htmlTag: \"cwd\" },\n { name: \"Dehong Dai\", opentypeTag: \"TDD \", htmlTag: \"tdd\" },\n { name: \"Telugu\", opentypeTag: \"TEL \", htmlTag: \"te\" },\n { name: \"Tetum\", opentypeTag: \"TET \", htmlTag: \"tet\" },\n { name: \"Tagalog\", opentypeTag: \"TGL \", htmlTag: \"tl\" },\n { name: \"Tongan\", opentypeTag: \"TGN \", htmlTag: \"to\" },\n { name: \"Tigre\", opentypeTag: \"TGR \", htmlTag: \"tig\" },\n { name: \"Tigrinya\", opentypeTag: \"TGY \", htmlTag: \"ti\" },\n { name: \"Thai\", opentypeTag: \"THA \", htmlTag: \"th\" },\n { name: \"Tahitian\", opentypeTag: \"THT \", htmlTag: \"ty\" },\n { name: \"Tibetan\", opentypeTag: \"TIB \", htmlTag: \"bo\" },\n { name: \"Tiv\", opentypeTag: \"TIV \", htmlTag: \"tiv\" },\n { name: \"Turkmen\", opentypeTag: \"TKM \", htmlTag: \"tk\" },\n { name: \"Tamashek\", opentypeTag: \"TMH \", htmlTag: \"tmh\" },\n { name: \"Temne\", opentypeTag: \"TMN \", htmlTag: \"tem\" },\n { name: \"Tswana\", opentypeTag: \"TNA \", htmlTag: \"tn\" },\n { name: \"Tundra Nenets\", opentypeTag: \"TNE \", htmlTag: \"enh\" },\n { name: \"Tonga\", opentypeTag: \"TNG \", htmlTag: \"toi\" },\n { name: \"Todo\", opentypeTag: \"TOD \", htmlTag: \"xal\" },\n { name: \"Toma\", opentypeTag: \"TOD0\", htmlTag: \"tod\" },\n { name: \"Tok Pisin\", opentypeTag: \"TPI \", htmlTag: \"tpi\" },\n { name: \"Turkish\", opentypeTag: \"TRK \", htmlTag: \"tr\" },\n { name: \"Tsonga\", opentypeTag: \"TSG \", htmlTag: \"ts\" },\n { name: \"Tshangla\", opentypeTag: \"TSJ \", htmlTag: \"tsj\" },\n { name: \"Turoyo Aramaic\", opentypeTag: \"TUA \", htmlTag: \"tru\" },\n { name: \"Tulu\", opentypeTag: \"TUM \", htmlTag: \"tum\" },\n { name: \"Tumbuka\", opentypeTag: \"TUL \", htmlTag: \"tcy\" },\n { name: \"Tuvin\", opentypeTag: \"TUV \", htmlTag: \"tyv\" },\n { name: \"Tuvalu\", opentypeTag: \"TVL \", htmlTag: \"tvl\" },\n { name: \"Twi\", opentypeTag: \"TWI \", htmlTag: \"ak\" },\n { name: \"Tày\", opentypeTag: \"TYZ \", htmlTag: \"tyz\" },\n { name: \"Tamazight\", opentypeTag: \"TZM \", htmlTag: \"tzm\" },\n { name: \"Tzotzil\", opentypeTag: \"TZO \", htmlTag: \"tzo\" },\n { name: \"Udmurt\", opentypeTag: \"UDM \", htmlTag: \"udm\" },\n { name: \"Ukrainian\", opentypeTag: \"UKR \", htmlTag: \"uk\" },\n { name: \"Umbundu\", opentypeTag: \"UMB \", htmlTag: \"umb\" },\n { name: \"Urdu\", opentypeTag: \"URD \", htmlTag: \"ur\" },\n { name: \"Upper Sorbian\", opentypeTag: \"USB \", htmlTag: \"hsb\" },\n { name: \"Uyghur\", opentypeTag: \"UYG \", htmlTag: \"ug\" },\n { name: \"Uzbek\", opentypeTag: \"UZB \", htmlTag: \"uz\" },\n { name: \"Venetian\", opentypeTag: \"VEC \", htmlTag: \"vec\" },\n { name: \"Venda\", opentypeTag: \"VEN \", htmlTag: \"ve\" },\n { name: \"Vietnamese\", opentypeTag: \"VIT \", htmlTag: \"vi\" },\n { name: \"Volapük\", opentypeTag: \"VOL \", htmlTag: \"vo\" },\n { name: \"Võro\", opentypeTag: \"VRO \", htmlTag: \"vro\" },\n { name: \"Wa\", opentypeTag: \"WA\", htmlTag: \"wbm\" },\n { name: \"Wagdi\", opentypeTag: \"WAG \", htmlTag: \"wbr\" },\n { name: \"Waray-Waray\", opentypeTag: \"WAR \", htmlTag: \"war\" },\n { name: \"West-Cree\", opentypeTag: \"WCR \", htmlTag: \"crk\" },\n { name: \"Welsh\", opentypeTag: \"WEL \", htmlTag: \"cy\" },\n { name: \"Walloon\", opentypeTag: \"WLN \", htmlTag: \"wa\" },\n { name: \"Wolof\", opentypeTag: \"WLF \", htmlTag: \"wo\" },\n { name: \"Mewati\", opentypeTag: \"WTM \", htmlTag: \"wtm\" },\n { name: \"Lü\", opentypeTag: \"XBD \", htmlTag: \"khb\" },\n { name: \"Khengkha\", opentypeTag: \"XKF \", htmlTag: \"xkf\" },\n { name: \"Xhosa\", opentypeTag: \"XHS \", htmlTag: \"xh\" },\n { name: \"Minjangbal\", opentypeTag: \"XJB \", htmlTag: \"xjb\" },\n { name: \"Soga\", opentypeTag: \"XOG \", htmlTag: \"xog\" },\n { name: \"Kpelle (Liberia)\", opentypeTag: \"XPE \", htmlTag: \"xpe\" },\n { name: \"Sakha\", opentypeTag: \"YAK \", htmlTag: \"sah\" },\n { name: \"Yao\", opentypeTag: \"YAO \", htmlTag: \"yao\" },\n { name: \"Yapese\", opentypeTag: \"YAP \", htmlTag: \"yap\" },\n { name: \"Yoruba\", opentypeTag: \"YBA \", htmlTag: \"yo\" },\n { name: \"Y-Cree\", opentypeTag: \"YCR \", htmlTag: \"cr\" },\n { name: \"Yi Classic\", opentypeTag: \"YIC \" },\n { name: \"Yi Modern\", opentypeTag: \"YIM \", htmlTag: \"ii\" },\n { name: \"Zealandic\", opentypeTag: \"ZEA \", htmlTag: \"zea\" },\n { name: \"Standard Moroccan Tamazight\", opentypeTag: \"ZGH \", htmlTag: \"zgh\" },\n { name: \"Zhuang\", opentypeTag: \"ZHA \", htmlTag: \"za\" },\n { name: \"Chinese, Hong Kong SAR\", opentypeTag: \"ZHH \", htmlTag: \"zh\" },\n { name: \"Chinese Phonetic\", opentypeTag: \"ZHP \", htmlTag: \"zh\" },\n { name: \"Chinese Simplified\", opentypeTag: \"ZHS \", htmlTag: \"zh\" },\n { name: \"Chinese Traditional\", opentypeTag: \"ZHT \", htmlTag: \"zh\" },\n { name: \"Zande\", opentypeTag: \"ZND \", htmlTag: \"zne\" },\n { name: \"Zulu\", opentypeTag: \"ZUL \", htmlTag: \"zu\" },\n { name: \"Zazaki\", opentypeTag: \"ZZA \", htmlTag: \"zza\" },\n];\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=style&index=0&id=1ab2b246&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=style&index=0&id=1ab2b246&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=style&index=0&id=1b3d2b4c&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=style&index=0&id=1b3d2b4c&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=style&index=0&id=6c85dae4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=style&index=0&id=6c85dae4&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=style&index=0&id=6ff99e0d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=style&index=0&id=6ff99e0d&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=style&index=0&id=82a5684e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=style&index=0&id=82a5684e&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=style&index=0&id=1083513b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=style&index=0&id=1083513b&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=style&index=0&id=4f310594&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=style&index=0&id=4f310594&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=style&index=0&id=64e504be&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=style&index=0&id=64e504be&scoped=true&lang=scss&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.cb27efcb.js b/js/app.cb27efcb.js new file mode 100644 index 0000000..6a73343 --- /dev/null +++ b/js/app.cb27efcb.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var a,o,r=t[0],l=t[1],c=t[2],g=0,p=[];g0?this.value.map((function(t){return t[e.keys.label]||t})).join(this.multipleDelimiter):"":this.value?this.value[this.keys.label]||this.value:""},hasDisplayText:function(){return Boolean(this.displayText.length)},hasNoResults:function(){return!this.loading&&0!==this.query.length&&(this.disableFilter?this.noResults:0===this.filteredOptions.length)},submittedValue:function(){var e=this;if(this.name&&this.value)return Array.isArray(this.value)?this.value.map((function(t){return t[e.keys.value]||t})).join(","):this.value[this.keys.value]||this.value}},watch:{filteredOptions:function(){this.highlightedIndex=0,Object(z["a"])(this.$refs.optionsList)},query:function(){this.$emit("query-change",this.query)},isActive:function(e){e?this.addExternalClickListener(this.$el,this.onExternalClick):this.removeExternalClickListener()}},created:function(){this.value&&""!==this.value||this.setValue(null)},mounted:function(){this.refreshScrollbar()}},Object(S["a"])(a,"watch",{options:function(e,t){e.length!==t.length&&this.refreshScrollbar()}}),Object(S["a"])(a,"methods",{refreshScrollbar:function(){this.openDropdown(),this.closeDropdown()},setValue:function(e){e=e||(this.multiple?[]:""),this.$emit("input",e),this.$emit("change",e)},setCustomValue:function(e){e?this.setValue(e):this.selectOption(this.options[0],0,{autoClose:!1})},highlightOption:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{autoScroll:!0};if(this.highlightedIndex!==e&&0!==this.$refs.options.length){var n=0,a=this.$refs.options.length-1;ea&&(e=n),this.$refs.options[e]||(e=0),this.highlightedIndex=e,t.autoScroll&&this.scrollOptionIntoView(this.$refs.options[e].$el)}},selectHighlighted:function(e){var t=this.$refs.options;t[this.highlightedIndex]&&(e&&e.preventDefault(),this.selectOption(t[this.highlightedIndex].option,this.highlightedIndex))},selectOption:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{autoClose:!0},a=this.multiple&&!this.isOptionSelected(e);this.multiple?this.updateOption(e,{select:a}):(this.setValue(e),this.selectedIndex=t),this.$emit("select",e,{selected:!this.multiple||a}),this.highlightedIndex=t,this.multiple||this.clearQuery(),!this.multiple&&n.autoClose&&this.closeDropdown()},isOptionSelected:function(e){return this.multiple?Object(H["b"])(this.value,e)>-1:Object(H["a"])(this.value,e)},updateOption:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{select:!0},n=[],a=!1,i=Object(H["b"])(this.value,e);t.select&&i<0&&(n=this.value.concat(e),a=!0),!t.select&&i>-1&&(n=this.value.slice(0,i).concat(this.value.slice(i+1)),a=!0),a&&this.setValue(n)},defaultFilter:function(e,t){var n=e[this.keys.label]||e;return"string"===typeof n&&(n=n.toLowerCase()),D()(t.toLowerCase(),n)},clearSelection:function(){this.setValue(null)},clearQuery:function(){this.query=""},focus:function(){this.isAutocomplete&&this.$refs.input?this.$refs.input.focus():this.$refs.label.focus()},toggleDropdown:function(){this.$refs.dropdown.toggle()},openDropdown:function(){this.disabled||this.$refs.dropdown.open()},closeDropdown:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{blurAfterClose:!1};this.$refs.dropdown.close(),this.isTouched||(this.isTouched=!0,this.$emit("touch")),e.blurAfterClose?this.isActive=!1:this.focus()},onFocus:function(e){this.isAutocomplete&&(this.$refs.input&&this.$refs.input.focus(),this.isFocused=!0),this.isActive||(this.isActive=!0,this.$emit("focus",e))},onBlur:function(e){this.isActive=!1,this.$emit("blur",e),this.$refs.dropdown.isOpen()&&this.closeDropdown({blurAfterClose:!0})},onOpen:function(){var e=this;this.isActive=!0,this.$refs.dropdown.$el.style.width=this.$refs.label.getBoundingClientRect().width+"px",this.$nextTick((function(){e.$refs.optionsList&&e.scrollOptionIntoView(e.$refs.optionsList.querySelector(".is-selected"))})),this.$emit("dropdown-open")},onReveal:function(){var e=this;this.autocomplete?this.$nextTick((function(){e.focus()})):this.$refs[this.hasSearch?"searchInput":"dropdownContent"].focus()},onClose:function(){this.highlightedIndex=this.multiple?-1:this.selectedIndex,this.$emit("dropdown-close")},onExternalClick:function(){this.$refs.dropdown.isOpen()?this.closeDropdown({blurAfterClose:!0}):this.isActive&&(this.isActive=!1)},scrollOptionIntoView:function(e){Object(z["b"])(e,{container:this.$refs.optionsList,marginTop:180})},reset:function(){this.setValue(JSON.parse(this.initialValue)),this.clearQuery(),this.resetTouched(),this.selectedIndex=-1,this.highlightedIndex=-1},resetTouched:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{touched:!1};this.isTouched=e.touched},onInputEnter:function(){this.$refs.dropdown.isOpen()&&this.$refs.options[this.highlightedIndex]?this.selectHighlighted():this.toggleDropdown()}}),Object(S["a"])(a,"components",{UiIcon:B["a"],UiPopover:O["a"],UiProgressCircular:N["a"],UiSelectOption:U["a"]}),Object(S["a"])(a,"mixins",[E["a"]]),a),$=R,W=(n("1a82"),Object(h["a"])($,I,M,!1,null,null,null)),G=W.exports,q=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ui-tooltip"},[e._t("default")],2)},J=[],Y=(n("00b4"),n("a5c9")),Z=n("1513"),Q={name:"ui-tooltip",props:{animation:{type:String,default:"fade"},appendToBody:{type:Boolean,default:!0},openDelay:{type:Number,default:0},openOn:{type:String,default:"mouseenter focus"},position:{type:String,default:"bottom"},trigger:{validator:function(e){return Z["a"].validate(e,'[UiTooltip]: Invalid prop: "trigger". Expected Element, VueComponent or CSS selector string.')}},zIndex:Number,interactive:{type:Boolean,default:!1}},mounted:function(){if(this.triggerEl=Z["a"].resolve(this.trigger,this.$el.parentElement),this.triggerEl){var e={animateFill:"fade"!==this.animation,animation:"none"===this.animation?"fade":this.animation,arrow:!1,content:this.$el,delay:[this.openDelay,0],distance:4,duration:"none"===this.animation?0:[250,200],ignoreAttributes:!0,lazy:!0,multiple:!0,placement:this.position,theme:"ui-tooltip",trigger:this.openOn.replace("hover","mouseenter"),zIndex:this.zIndex,popperOptions:{modifiers:{computeStyle:{gpuAcceleration:!(window.devicePixelRatio<1.5&&/Win/.test(navigator.platform))}}},interactive:this.interactive};this.appendToBody||(e.appendTo=this.triggerEl.parentElement),this.tip=Object(Y["a"])(this.triggerEl,e)}},beforeDestroy:function(){this.tip&&(this.tip.destroy(),this.tip=null)}},X=Q,ee=(n("dae6"),Object(h["a"])(X,q,J,!1,null,null,null)),te=ee.exports,ne=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:{callback:e.visibilityChanged,once:!0},expression:"{\n callback: visibilityChanged,\n once: true,\n }"}],staticClass:"fit-me"},[t("div",{ref:"fitted",staticClass:"fitted",style:"font-size: ".concat(e.fontSize,"px;")},[e._v(" "+e._s(e.localText)+" ")])])},ae=[],ie=n("c7eb"),se=n("1da1"),oe={props:{text:String,cutText:Number},data:function(){return{localText:this.text,fontSize:16}},methods:{visibilityChanged:function(){this.runFit()},fit:function(e){var t=arguments,n=this;return Object(se["a"])(Object(ie["a"])().mark((function a(){var i,s,o,r,l,c,u,g,p,h;return Object(ie["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return i=t.length>1&&void 0!==t[1]?t[1]:0,n.localText=n.text.slice(0,n.text.length-e),a.next=4,n.$nextTick();case 4:if(s=n.$refs.fitted,o=n.$el,r=o.clientWidth,l=s.clientWidth,l&&r){a.next=10;break}return a.abrupt("return");case 10:if(!(l===r&&i<5)){a.next=13;break}return setTimeout((function(){n.fit(0,i+1)}),100),a.abrupt("return");case 13:return c=r/l,u=parseFloat(getComputedStyle(s).fontSize),g=Math.round(u*c),n.fontSize=g,a.next=19,n.$nextTick();case 19:if(p=o.clientHeight,h=s.clientHeight,!(h/p<.69&&e22?e.slice(0,8)+"..."+e.slice(-10):e).replace(/\.(ttf|otf)$/,(function(e){return e.toUpperCase()}))},selectOption:function(e){e.addFont?this.$emit("openAddFontDialog",e):this.$emit("input",e)}}},ge=ue,pe=(n("04a8"),Object(h["a"])(ge,j,K,!1,null,null,null)),he=pe.exports,me=function(){var e=this,t=e._self._c;return t("div",{class:"file-drop ".concat(this.visible?"":"hidden"),on:{dragenter:e.handleDragEnter,dragleave:e.handleDragLeave,dragover:e.handleDragOver,drop:e.handleDrop}})},de=[],fe={computed:Object(f["a"])({},Object(b["c"])(["scrolledParentSelector"])),data:function(){return{visible:!1,scrolledParent:null}},mounted:function(){this.scrolledParent=document.querySelector(this.scrolledParentSelector),this.scrolledParent.addEventListener("dragenter",this.handleBodyDragEnter)},destroyed:function(){this.scrolledParent.removeEventListener("dragenter",this.handleBodyDragEnter),this.scrolledParent.removeEventListener("scroll",this.preventScroll)},methods:{showDrop:function(){this.visible=!0,this.toggleBodyScroll(!1)},hideDrop:function(){this.visible=!1,this.toggleBodyScroll(!0)},handleDragEnter:function(e){e.preventDefault()},handleDragLeave:function(e){this.hideDrop(),e.preventDefault()},handleDragOver:function(e){e.preventDefault()},handleDrop:function(e){e.preventDefault();var t=e.target.files||e.dataTransfer.files;t&&this.$emit("filesDropped",t),this.hideDrop()},handleBodyDragEnter:function(e){e.dataTransfer.types.indexOf("Files")>-1&&(e.preventDefault(),this.showDrop())},preventScroll:function(){this.scrolledParent.scrollTop=this.scrolledParentTop},disableScroll:function(){this.scrolledParent.addEventListener("scroll",this.preventScroll),setTimeout(this.enableScroll,500)},enableScroll:function(){this.scrolledParent.removeEventListener("scroll",this.preventScroll)},toggleBodyScroll:function(e){this.scrolledParentTop=this.scrolledParent.scrollTop,e?this.enableScroll():this.disableScroll()}}},ve=fe,ye=(n("929d"),Object(h["a"])(ve,me,de,!1,null,"b51bf0cc",null)),Te=ye.exports,be=n("6c59d"),Se=n.n(be),ke=n("15fd"),xe=n("d4ec"),_e=n("bee2"),Ce=(n("6062"),n("5db7"),n("73d9"),n("bf45")),we=n.n(Ce);function Fe(e){var t=Pe.find((function(t){return t.tag.test(e)}));return t?e.replace(t.tag,t.name):e}var Oe,Ae,Le,Pe=[{tag:/aalt/,name:"Access All Alternates"},{tag:/abvf/,name:"Above-base Forms"},{tag:/abvm/,name:"Above-base Mark Positioning"},{tag:/abvs/,name:"Above-base Substitutions"},{tag:/afrc/,name:"Alternative Fractions"},{tag:/akhn/,name:"Akhands"},{tag:/blwf/,name:"Below-base Forms"},{tag:/blwm/,name:"Below-base Mark Positioning"},{tag:/blws/,name:"Below-base Substitutions"},{tag:/calt/,name:"Contextual Alternates"},{tag:/case/,name:"Case-Sensitive Forms"},{tag:/ccmp/,name:"Glyph Composition / Decomposition"},{tag:/cfar/,name:"Conjunct Form After Ro"},{tag:/cjct/,name:"Conjunct Forms"},{tag:/clig/,name:"Contextual Ligatures"},{tag:/cpct/,name:"Centered CJK Punctuation"},{tag:/cpsp/,name:"Capital Spacing"},{tag:/cswh/,name:"Contextual Swash"},{tag:/curs/,name:"Cursive Positioning"},{tag:/cv(\d{2})/,name:"Character Variants $1"},{tag:/c2pc/,name:"Petite Capitals From Capitals"},{tag:/c2sc/,name:"Small Capitals From Capitals"},{tag:/dist/,name:"Distances"},{tag:/dlig/,name:"Discretionary Ligatures"},{tag:/dnom/,name:"Denominators"},{tag:/dtls/,name:"Dotless Forms"},{tag:/expt/,name:"Expert Forms"},{tag:/falt/,name:"Final Glyph on Line Alternates"},{tag:/fin2/,name:"Terminal Forms #2"},{tag:/fin3/,name:"Terminal Forms #3"},{tag:/fina/,name:"Terminal Forms"},{tag:/flac/,name:"Flattened accent forms"},{tag:/frac/,name:"Fractions"},{tag:/fwid/,name:"Full Widths"},{tag:/half/,name:"Half Forms"},{tag:/haln/,name:"Halant Forms"},{tag:/halt/,name:"Alternate Half Widths"},{tag:/hist/,name:"Historical Forms"},{tag:/hkna/,name:"Horizontal Kana Alternates"},{tag:/hlig/,name:"Historical Ligatures"},{tag:/hngl/,name:"Hangul"},{tag:/hojo/,name:"Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)"},{tag:/hwid/,name:"Half Widths"},{tag:/init/,name:"Initial Forms"},{tag:/isol/,name:"Isolated Forms"},{tag:/ital/,name:"Italics"},{tag:/jalt/,name:"Justification Alternates"},{tag:/jp78/,name:"JIS78 Forms"},{tag:/jp83/,name:"JIS83 Forms"},{tag:/jp90/,name:"JIS90 Forms"},{tag:/jp04/,name:"JIS2004 Forms"},{tag:/kern/,name:"Kerning"},{tag:/lfbd/,name:"Left Bounds"},{tag:/liga/,name:"Standard Ligatures"},{tag:/ljmo/,name:"Leading Jamo Forms"},{tag:/lnum/,name:"Lining Figures"},{tag:/locl/,name:"Localized Forms"},{tag:/ltra/,name:"Left-to-right alternates"},{tag:/ltrm/,name:"Left-to-right mirrored forms"},{tag:/mark/,name:"Mark Positioning"},{tag:/med2/,name:"Medial Forms #2"},{tag:/medi/,name:"Medial Forms"},{tag:/mgrk/,name:"Mathematical Greek"},{tag:/mkmk/,name:"Mark to Mark Positioning"},{tag:/mset/,name:"Mark Positioning via Substitution"},{tag:/nalt/,name:"Alternate Annotation Forms"},{tag:/nlck/,name:"NLC Kanji Forms"},{tag:/nukt/,name:"Nukta Forms"},{tag:/numr/,name:"Numerators"},{tag:/onum/,name:"Oldstyle Figures"},{tag:/opbd/,name:"Optical Bounds"},{tag:/ordn/,name:"Ordinals"},{tag:/ornm/,name:"Ornaments"},{tag:/palt/,name:"Proportional Alternate Widths"},{tag:/pcap/,name:"Petite Capitals"},{tag:/pkna/,name:"Proportional Kana"},{tag:/pnum/,name:"Proportional Figures"},{tag:/pref/,name:"Pre-Base Forms"},{tag:/pres/,name:"Pre-base Substitutions"},{tag:/pstf/,name:"Post-base Forms"},{tag:/psts/,name:"Post-base Substitutions"},{tag:/pwid/,name:"Proportional Widths"},{tag:/qwid/,name:"Quarter Widths"},{tag:/rand/,name:"Randomize"},{tag:/rclt/,name:"Required Contextual Alternates"},{tag:/rkrf/,name:"Rakar Forms"},{tag:/rlig/,name:"Required Ligatures"},{tag:/rphf/,name:"Reph Forms"},{tag:/rtbd/,name:"Right Bounds"},{tag:/rtla/,name:"Right-to-left alternates"},{tag:/rtlm/,name:"Right-to-left mirrored forms"},{tag:/ruby/,name:"Ruby Notation Forms"},{tag:/rvrn/,name:"Required Variation Alternates"},{tag:/salt/,name:"Stylistic Alternates"},{tag:/sinf/,name:"Scientific Inferiors"},{tag:/size/,name:"Optical size"},{tag:/smcp/,name:"Small Capitals"},{tag:/smpl/,name:"Simplified Forms"},{tag:/ss01/,name:"Stylistic Set 1"},{tag:/ss02/,name:"Stylistic Set 2"},{tag:/ss03/,name:"Stylistic Set 3"},{tag:/ss04/,name:"Stylistic Set 4"},{tag:/ss05/,name:"Stylistic Set 5"},{tag:/ss06/,name:"Stylistic Set 6"},{tag:/ss07/,name:"Stylistic Set 7"},{tag:/ss08/,name:"Stylistic Set 8"},{tag:/ss09/,name:"Stylistic Set 9"},{tag:/ss10/,name:"Stylistic Set 10"},{tag:/ss11/,name:"Stylistic Set 11"},{tag:/ss12/,name:"Stylistic Set 12"},{tag:/ss13/,name:"Stylistic Set 13"},{tag:/ss14/,name:"Stylistic Set 14"},{tag:/ss15/,name:"Stylistic Set 15"},{tag:/ss16/,name:"Stylistic Set 16"},{tag:/ss17/,name:"Stylistic Set 17"},{tag:/ss18/,name:"Stylistic Set 18"},{tag:/ss19/,name:"Stylistic Set 19"},{tag:/ss20/,name:"Stylistic Set 20"},{tag:/ssty/,name:"Math script style alternates"},{tag:/stch/,name:"Stretching Glyph Decomposition"},{tag:/subs/,name:"Subscript"},{tag:/sups/,name:"Superscript"},{tag:/swsh/,name:"Swash"},{tag:/titl/,name:"Titling"},{tag:/tjmo/,name:"Trailing Jamo Forms"},{tag:/tnam/,name:"Traditional Name Forms"},{tag:/tnum/,name:"Tabular Figures"},{tag:/trad/,name:"Traditional Forms"},{tag:/twid/,name:"Third Widths"},{tag:/unic/,name:"Unicase"},{tag:/valt/,name:"Alternate Vertical Metrics"},{tag:/vatu/,name:"Vattu Variants"},{tag:/vert/,name:"Vertical Writing"},{tag:/vhal/,name:"Alternate Vertical Half Metrics"},{tag:/vjmo/,name:"Vowel Jamo Forms"},{tag:/vkna/,name:"Vertical Kana Alternates"},{tag:/vkrn/,name:"Vertical Kerning"},{tag:/vpal/,name:"Proportional Alternate Vertical Metrics"},{tag:/vrt2/,name:"Vertical Alternates and Rotation"},{tag:/vrtr/,name:"Vertical Alternates for Rotation"},{tag:/zero/,name:"Slashed Zero"}],je=["font"],Ke=function(){function e(t,n,a){Object(xe["a"])(this,e),this.version=0,this.url=n,this.fileName=a,this.font=t,this.processFont()}return Object(_e["a"])(e,[{key:"serialize",value:function(){this.font;var e=Object(ke["a"])(this,je);return e}},{key:"processFont",value:function(){this.getNames(),this.getFeatures(),this.getGlyphs(),this.generateFontFace()}},{key:"getNames",value:function(){var e,t,n,a=this.font,i=a.names.windows;this.family=i.preferredFamily&&(null===(e=i.preferredFamily)||void 0===e?void 0:e.en)||(null===(t=i.fontFamily)||void 0===t?void 0:t.en)||"",this.originalFamily=this.family,this.version&&(this.family+="-".concat(this.version)),this.style=i.preferredSubfamily&&i.preferredSubfamily.en||(null===(n=i.fontSubfamily)||void 0===n?void 0:n.en)||"",this.cssFamily=this.family+"-"+this.style,this.cssStyle=/(italic|oblique)/gi.test(this.style)?"oblique":"normal",this.cssWeight=a.tables.os2.usWeightClass,this.displayName="".concat(this.originalFamily," ").concat(this.style," ").concat(this.version?"(".concat(this.version,")"):"")}},{key:"getGlyphs",value:function(){var e=this.font,t=Object.keys(e.glyphs.glyphs).map((function(t){return e.glyphs.glyphs[t]})).filter((function(e){return e.unicode})).map((function(e){return String.fromCharCode(e.unicode)}));this.characters=t}},{key:"getFeatures",value:function(){var e=this,t=this.font,n=t.names.windows,a=t.tables.gpos||{},i=t.tables.gsub||{},s=new Set([].concat(Object(_["a"])(a.scripts||[]),Object(_["a"])(i.scripts||[])).flatMap((function(e){return e.script.langSysRecords})).map((function(e){return e.tag}))),o=Array.from(s).map((function(e){var t=we.a.find((function(t){return t.opentypeTag===e})),n=t?t.name:e,a=t?t.htmlTag:e.toLowerCase();return{tag:e,name:n,htmlTag:a}})).sort((function(e,t){return e.name>t.name}));o.unshift({tag:"",htmlTag:"",name:"automatic"}),this.gposFeatures=[],(a.features||[]).forEach((function(t){var n=e.gposFeatures.find((function(e){return e.tag==t.tag}));if(!n){var a={tag:t.tag,name:Fe(t.tag)};e.gposFeatures.push(a)}})),this.gsubFeatures=[],(i.features||[]).forEach((function(t){var a=e.gsubFeatures.find((function(e){return e.tag==t.tag}));if(!a){var i={tag:t.tag,name:Fe(t.tag)};if("locl"==t.tag)i.languages=o,i.selectedLanguage=o[0];else if(/ss\d\d/.test(t.tag)){var s=n[t.feature.featureParamsTable.uiNameId];i.uiName=s&&s["en"]}else if(/cv\d\d/.test(t.tag)){var r=n[t.feature.featureParamsTable.featUiLabelNameId];i.uiName=r&&r["en"]}e.gsubFeatures.push(i)}})),this.variationAxes=[],t&&t.tables.fvar&&t.tables.fvar.axes&&(this.variationAxes=t&&t.tables.fvar&&t.tables.fvar.axes),this.variationAxes.forEach((function(e){e.step=e.maxValue-e.minValue>10?1:.01,e.displayName=e.tag}))}},{key:"generateFontFace",value:function(){return this.fontFace="\n @font-face {\n src: url('".concat(this.url,"');\n font-family: \"").concat(this.cssFamily,'";\n ').concat(0===this.variationAxes.length?"font-weight: bold":"","; // prevent fake bold, allow for automatic weight in Variable fonts\n font-weight: 0 1000;\n font-style: oblique 0deg 20deg;\n }\n "),this.fontFace}},{key:"bumpVersion",value:function(e){e?this.version=e:this.version++,this.processFont()}}]),e}(),Ie=(n("25f0"),function(e){if(e){var t=e,n=1;while(document.getElementById(t))t="".concat(e,"-").concat(n++);return t}var a="";do{var i=Math.random()*Math.pow(2,8),s=i.toString(16);a="b"+s}while(document.getElementById(a));return a}),Me={add:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";t||(t=Ie());var n=document.createElement("style");if(n.appendChild(document.createTextNode(e)),document.head.appendChild(n),t){var a=document.getElementById(t);a&&a.parentNode.removeChild(a)}n.id=t},setProperty:function(e,t){document.documentElement.style.setProperty(e,t)}},Be=["AlegreyaSans/AlegreyaSans-Regular.ttf","AlegreyaSans/AlegreyaSans-Italic.ttf","AlegreyaSans/AlegreyaSans-Bold.ttf","AlegreyaSans/AlegreyaSans-BoldItalic.ttf","Rywalka-Regular.ttf","Graduate.ttf","Tektur[wdth,wght].ttf","RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf","Recursive-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf","Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf","Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf"],Ne={name:"FontTester",components:{FontSelect:he,UiModal:C["a"],UiButton:F["a"],UiPopover:O["a"],UiProgressLinear:P["a"],UiFileupload:w["a"],FileDrop:Te,UiTooltip:A["a"],UiTextbox:L["a"]},props:{gui:{type:Boolean,default:!0}},computed:Object(f["a"])(Object(f["a"])(Object(f["a"])({},Object(b["e"])(["fontLoading","remoteFontRequested"])),Object(b["c"])(["settings","selectedFont","selectedBoldFont","selectedItalicFont","selectedBoldItalicFont","selectedHeaderFont","selectedSampleKey","scripts","languageSupport"])),{},{fontOptions:function(){return this.fonts.map((function(e){return e.serialize()}))},progressVisible:function(){return this.fontLoading&&""!==this.selectedSampleKey}}),data:function(){return{fonts:[],lastFont:null,errorMessage:"",errorLogs:[],fontLoadingProgress:0,openedWithoutFonts:!0,defaultFontsLoaded:!1,previousFont:null,fontOverrides:{regular:"",italic:"",bold:"",boldItalic:"",header:""},addFontUrl:""}},watch:{gui:function(){this.init()},remoteFontRequested:function(e){this.navigateToTester(),this.addRemoteFont(e)}},mounted:function(){Me.setProperty("--fallbackFontFamily",this.settings.fallbackFontFamily),this.init()},methods:Object(f["a"])({init:function(){this.gui&&this.openedWithoutFonts&&!this.defaultFontsLoaded&&this.loadDefaultFonts()},getQueryStringFontUrls:function(){var e=this.$route.query.preload||[];return Array.isArray(e)?e:[e]},getDefaultFontUrls:function(){var e="//fonts/".replace(/\/+/g,"/");return Be.map((function(t){return e+t}))},loadDefaultFonts:function(){this.defaultFontsLoaded=!0;var e=this.getQueryStringFontUrls();e.length||(e=this.getDefaultFontUrls()),this.loadFonts({urls:e})},openAddFontDialog:function(){var e=this;this.$refs.modalAddFont.open(),setTimeout((function(){e.$refs.modalAddFont.$el.focus(),e.$refs.modalAddFont.$el.querySelector("input").focus()}),10)},addRemoteFont:function(e){this.openedWithoutFonts=!1,this.loadFonts({urls:[e||this.addFontUrl],remote:!0}),this.addFontUrl="",this.$refs.modalAddFont.close()},updateQuery:function(e){var t=JSON.parse(JSON.stringify(this.$route.query));t=Object(f["a"])(Object(f["a"])({},t),e),this.$router.replace({query:t})},onFilesDropped:function(e){this.openedWithoutFonts=!1,this.loadFonts({files:Array.from(e)})},navigateToTester:function(){"/"===this.$route.path&&this.$router.push({query:this.$route.query,path:"lettering"})},loadFonts:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.files,a=void 0===n?[]:n,i=t.urls,s=void 0===i?[]:i,o=t.remote,r=void 0!==o&&o;if(s.length||(s=a.map((function(e){return URL.createObjectURL(e)}))),s.length){this.navigateToTester(),this.fontLoadingProgress=0,this.$store.dispatch("fontLoadStart");var l=a.length?a.map((function(e){return e.name})):s.map((function(e){return e.replace(/.*\//,"")})),c=[],u=[],g=new Se.a;g.onmessage=function(t){if(p++,t.data.font){var n=t.data,a=n.font,i=n.url,o=n.fileName,l=new Ke(a,i,o),g=e.fonts.concat(c).filter((function(e){return e.originalFamily===l.originalFamily&&e.style===l.style})).map((function(e){return e.version}));if(g.length>0){var h=Math.max.apply(Math,Object(_["a"])(g));l.bumpVersion(h+1)}Me.add(l.fontFace),c.push(l),e.fontLoadingProgress=100*p/s.length}else if(t.data.error){var m=t.data,d=m.error,f=m.url,v=m.fileName;u.push({error:d,url:f,fileName:v}),e.updateQuery({preload:e.getQueryStringFontUrls().filter((function(e){return e!==f}))})}if(p===s.length){var y=["normal","italic","oblique"];if(c.length){c.sort((function(e,t){return e.family.localeCompare(t.family)||e.cssWeight-t.cssWeight||y.indexOf(e.cssStyle)-y.indexOf(t.cssStyle)})),e.fonts=Object.freeze([].concat(c,Object(_["a"])(e.fonts)));var T=e.$route.query.f||"",b=c.findIndex((function(e){return e.family.toLowerCase().startsWith(T.toLowerCase())}));e.selectFont(c[-1===b?0:b]),r&&e.updateQuery({preload:[].concat(Object(_["a"])(e.getQueryStringFontUrls()),Object(_["a"])(s))})}u.length&&e.printFontLoadingError(u),e.$store.dispatch("fontLoadEnd")}};var p=0;s.forEach((function(e,t){g.postMessage({url:e,fileName:l[t]})}))}},printFontLoadingError:function(e,t){if(e.length){var n=e.filter((function(e){return e.error}));this.errorMessage="".concat(n.length," out of ").concat(e.length," files were not loaded."),this.errorLogs=n}else this.errorMessage="An unexpected error occurred.",this.errorLogs=[t];this.$refs.modal.open()},getFont:function(e){var t=this.fonts.findIndex((function(t){return t.displayName===e.displayName})),n=this.fonts[t],a=n.serialize();return{index:t,font:a}},selectFont:function(e){this.lastFont=this.selectedFont;var t=this.getFont(e),n=t.index,a=t.font;function i(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;at.cssWeight})),o=i(s,(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===300}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>=200}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>0}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===0}))[0],r=i(this.fonts.slice(),(function(t){return t.family===e.family&&t.cssWeight===e.cssWeight&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight=200&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight>0&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight-e.cssWeight===0&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&"italic"===t.cssStyle}),(function(t){return t.family===e.family&&t.cssWeight<=e.cssWeight}))[0];this.selectBoldFont(o),this.selectHeaderFont(o),this.selectItalicFont(r),this.selectBoldItalicFont(l),this.selectScripts({values:this.scripts});var c=this.languageSupport.includedCharactersByScript.filter((function(e){return e.characters.length>12})).map((function(e){return e.script})),u=this.scripts.filter((function(e){return c.indexOf(e.script)>-1}));this.selectScripts({values:u})},setFont:function(e,t){var n=this.getFont(t),a=n.font;this.setCssFont(e,a.cssFamily),e="regular"===e?"font":e+"Font",this.$store.commit("selectFont",Object(S["a"])({},e,a))},setCssFont:function(e,t){var n={regular:"selectedFont",italic:"selectedItalicFont",bold:"selectedBoldFont",boldItalic:"selectedBoldItalicFont",header:"selectedHeaderFont"}[e],a="--"+n+"Family";t?Me.setProperty(a,t):Me.setProperty(a,this[n].cssFamily)},overrideCssFont:function(e,t){var n={regular:"selectedFont",italic:"selectedItalicFont",bold:"selectedBoldFont",boldItalic:"selectedBoldItalicFont",header:"selectedHeaderFont"}[e],a="--"+n+"Family",i="--"+n+"CssWeight";if(t){var s=/((Light|Semi-?bold|Bold|Heavy|Extra-?bold|Black|\d{1,3})? ?(Italic)?)$/i,o=t.match(s);if(o&&o[0].length){var r=t.replace(s,""),l=o[1];Me.setProperty(a,r),Me.setProperty(i,l)}else Me.setProperty(a,t)}else Me.setProperty(a,this[n].cssFamily),Me.setProperty(i,"");this.fontOverrides[e]=t},selectBoldFont:function(e){var t=this.getFont(e),n=t.font;Me.setProperty("--selectedBoldFontFamily",n.cssFamily),this.$store.commit("selectFont",{boldFont:n})},selectItalicFont:function(e){var t=this.getFont(e),n=t.font;Me.setProperty("--selectedItalicFontFamily",n.cssFamily);var a=this.selectedFont.cssFamily==n.cssFamily;Me.setProperty("--selectedItalicFontCssStyle",a?"oblique":this.selectedItalicFont.cssStyle),this.$store.commit("selectFont",{italicFont:n})},selectBoldItalicFont:function(e){var t=this.getFont(e),n=t.font;Me.setProperty("--selectedBoldItalicFontFamily",n.cssFamily);var a=this.selectedFont.cssFamily==n.cssFamily;Me.setProperty("--selectedBoldItalicFontCssWeight",a?700:this.selectedBoldItalicFont.cssWeight),Me.setProperty("--selectedBoldItalicFontCssStyle",a?"oblique":this.selectedBoldItalicFont.cssStyle),this.$store.commit("selectFont",{boldItalicFont:n})},selectHeaderFont:function(e){var t=this.getFont(e),n=t.font;Me.setProperty("--selectedHeaderFontFamily",n.cssFamily),this.$store.commit("selectFont",{headerFont:n})},setLastFont:function(){this.lastFont&&this.lastFont.family&&this.selectFont(this.lastFont)},setPreviousFont:function(){this.selectFont(this.fonts[Math.max(0,this.selectedFontIndex-1)])},setNextFont:function(){this.selectFont(this.fonts[Math.min(this.fonts.length-1,this.selectedFontIndex+1)])}},Object(b["b"])(["selectScripts"]))},Ue=Ne,Ee=(n("bc79"),Object(h["a"])(Ue,k,x,!1,null,null,null)),He=Ee.exports,ze=function(){var e=this,t=e._self._c;return t("span",{staticClass:"editor-nav"},[e._l(e.customTextIds,(function(n){return t("EditorNavLink",{key:n,attrs:{id:n},on:{navigated:function(t){return e.$emit("navigated")}}})})),t("span",{key:"-1",staticClass:"nav-link new"},[t("router-link",{attrs:{to:"/custom/-1"}},[e._v(" "+e._s(e.customTextIds.length>0?"+ New":"Editor")+" ")])],1)],2)},Ve=[],De=function(){var e=this,t=e._self._c;return t("span",{staticClass:"editor-nav-link nav-link"},[t("router-link",{attrs:{to:"/custom/".concat(e.id)},nativeOn:{click:function(t){return e.$emit("navigated")}}},[t("div",{staticClass:"middle-ellipsis"},[t("div",{staticClass:"start"},[e._v("Custom ")]),t("div",{staticClass:"end"},[e._v(e._s(e.id))])])]),t("UiIconButton",{staticStyle:{color:"white"},attrs:{color:"secondary"},on:{click:function(t){return e.removeCustomText(e.id)}}},[t("svg",{key:"1",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{fill:"currentColor",d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}),t("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1)},Re=[],$e=n("6904"),We={components:{UiIconButton:$e["a"]},props:{id:Number},methods:{removeCustomText:function(e){this.$store.commit("removeCustomText",{id:e})}}},Ge=We,qe=(n("85b2"),Object(h["a"])(Ge,De,Re,!1,null,"4f310594",null)),Je=qe.exports,Ye={components:{EditorNavLink:Je},computed:Object(f["a"])({},Object(b["c"])(["customTextIds"]))},Ze=Ye,Qe=(n("9486"),Object(h["a"])(Ze,ze,Ve,!1,null,null,null)),Xe=Qe.exports,et=function(){var e=this,t=e._self._c;return t("div",{staticClass:"text-tools font-sample-nav contextual-sidebar"},[t("div",{staticClass:"toolbar panel btn-group"},[t("UiIconButton",{attrs:{tooltip:"Heading",color:e.isHeadingActive?"primary":"default"},on:{click:e.makeHeading}},[e._v(" H ")]),t("UiIconButton",{attrs:{tooltip:"Bold",color:e.isBoldActive?"primary":"default"},on:{click:e.makeBold}},[e._v(" B ")]),t("UiIconButton",{attrs:{tooltip:"Italic",color:e.isItalicActive?"primary":"default"},on:{click:e.makeItalic}},[e._v(" I ")])],1)])},tt=[];window.getSelection&&document.createRange?(Le=function(){var e=window.getSelection();return e.rangeCount>=1&&e.getRangeAt(0)},Oe=function(e){var t=e.ownerDocument,n=t.defaultView,a=n.getSelection().getRangeAt(0),i=a.cloneRange();i.selectNodeContents(e),i.setEnd(a.startContainer,a.startOffset);var s=i.toString().length;return{start:s,end:s+a.toString().length}},Ae=function(e,t){var n=e.ownerDocument,a=n.defaultView,i=0,s=n.createRange();s.setStart(e,0),s.collapse(!0);var o,r=[e],l=!1,c=!1;while(!c&&(o=r.pop()))if(3==o.nodeType){var u=i+o.length;!l&&t.start>=i&&t.start<=u&&(s.setStart(o,t.start-i),l=!0),l&&t.end>=i&&t.end<=u&&(s.setEnd(o,t.end-i),c=!0),i=u}else{var g=o.childNodes.length;while(g--)r.push(o.childNodes[g])}var p=a.getSelection();p.removeAllRanges(),p.addRange(s)}):document.selection&&(Oe=function(e){var t=e.ownerDocument,n=t.selection.createRange(),a=t.body.createTextRange();a.moveToElementText(e),a.setEndPoint("EndToStart",n);var i=a.text.length;return{start:i,end:i+n.text.length}},Ae=function(e,t){var n=e.ownerDocument,a=n.body.createTextRange();a.moveToElementText(e),a.collapse(!0),a.moveEnd("character",t.end),a.moveStart("character",t.start),a.select()});var nt=function(){function e(t){Object(xe["a"])(this,e),this.selection=null,this.container=t}return Object(_e["a"])(e,[{key:"remembered",get:function(){return null!==this.selection}},{key:"save",value:function(){this.selection=Oe(this.container)}},{key:"restore",value:function(){this.selection&&Ae(this.container,this.selection)}},{key:"forget",value:function(){this.selection=null}},{key:"ancestor",value:function(){var e=Le(this.container),t=e.commonAncestorContainer;return t.nodeType===Node.TEXT_NODE&&(t=t.parentNode),t}},{key:"existentTags",value:function(e){var t=Le(this.container),n=t.cloneContents(),a=n.querySelectorAll(e);return a}},{key:"closestTag",value:function(e){var t=this.ancestor().closest(e);return t}},{key:"containsTag",value:function(e){return this.existentTags(e).length>0||null!=this.closestTag(e)}},{key:"wrap",value:function(e){var t=/^h[1-6]$/.test(e),n=this.ancestor();if(this.container.contains(n)){var a=Le(this.container),i=a.cloneContents(),s=i.querySelectorAll(e),o=this.closestTag(e);if(o){var r=n===o?n.parentNode:n,l=document.createElement("tmp");a.surroundContents(l);var c=document.createDocumentFragment();Array.from(o.childNodes).forEach((function(t){try{if(t===l)c.appendChild(t.childNodes[0]);else if(t.nodeValue||t.innerText){var n=document.createElement(e);n.appendChild(t.cloneNode()),c.appendChild(n)}}catch(a){console.log(a)}})),r.replaceChild(c,o)}else if(s.length)s.forEach((function(e){try{var t=document.createDocumentFragment();Array.from(e.childNodes).forEach((function(e){return t.appendChild(e)})),e.parentNode.replaceChild(t,e)}catch(n){console.log(n)}})),a.deleteContents(),a.insertNode(i);else try{var u=t&&""===a.toString();u&&a.insertNode(document.createElement("br"));var g=document.createElement(e);g.appendChild(a.extractContents()),a.insertNode(g),u&&a.selectNodeContents(g)}catch(p){console.log(p),console.log(n)}at(this.container)}else console.log("not contained")}}]),e}();function at(e){for(var t=0;t-1},left:function(){return this.sidesArray.indexOf("both")>-1||this.sidesArray.indexOf("left")>-1},right:function(){return this.sidesArray.indexOf("both")>-1||this.sidesArray.indexOf("right")>-1},rootStyle:function(){return"\n ".concat(this.left?"margin-left: ".concat(this.width-this.marginAdjust,"px;"):"","\n ").concat(this.right?"margin-right: ".concat(this.width-this.marginAdjust,"px;"):"","\n position: relative;\n ")},containerStyle:function(){return"\n height: 100%;\n display: flex;\n align-items: center;\n "},contentStyle:function(){return"\n ".concat(this.left?"margin-left: -".concat(this.marginAdjust,"px;"):"","\n ").concat(this.right?"margin-right: -".concat(this.marginAdjust,"px;"):"","\n z-index: 1;\n ")},sigmoidWrapperStyle:function(){return"\n width: ".concat(this.width,"px;\n ")},sigmoidStyle:function(){return"\n background: ".concat(this.background,";\n ").concat(this.top?"":"transform: translateY(-1px) scaleY(-1);","\n ")}},mounted:function(){var e=getComputedStyle(this.$el);this.background=this.$el.style.background||e.backgroundImage+" "+e.backgroundColor}},ft=dt,vt=(n("36a6"),Object(h["a"])(ft,ht,mt,!1,null,"6ff99e0d",null)),yt=vt.exports,Tt=["lettering","pangrams","sentences","gotchas","ABCs","glyphs","kerning","languages"],bt=function(e){return e[0].toUpperCase()+e.substr(1)},St={components:{FontLoader:He,EditorNav:Xe,TextTools:rt,SiteLogo:pt,SigmoidContainer:yt,UiButton:F["a"],UiIconButton:$e["a"]},props:{hideHeaderOnScroll:{type:Boolean,default:!1}},data:function(){return{textKinds:Tt,scrolledParent:null,stickyShowDelta:200,stickyHideDelta:300,lastTop:0}},computed:Object(f["a"])(Object(f["a"])(Object(f["a"])(Object(f["a"])({},Object(b["e"])({sticky:function(e){return e.layout.sticky},footerVisible:function(e){return e.layout.footerVisible}})),Object(b["e"])(["expandedMenu","isMobile"])),Object(b["c"])(["scrolledParentSelector","customTextIds","selectedSampleKey","selectedFont"])),{},{isTesterPage:function(){return!!this.$route.params.text},textKind:function(){return this.$route.params.text}}),mounted:function(){this.scrolledParent=document.querySelector(this.scrolledParentSelector)},methods:{expandMenu:function(e){this.$store.commit("expandMenu",{menuId:e})},setSticky:function(e){this.$store.commit("sticky",{value:e})},navlinkText:function(e){return bt(e)},scrollToTop:function(){this.scrolledParent.scrollTo(0,0),this.expandMenu(null)},toggleSettingsPanel:function(){this.expandMenu(null),this.isMobile&&this.$store.commit("toggleContextualPanel",{value:!1}),this.$store.commit("toggleSettingsPanel")},toggleContextualPanel:function(){this.expandMenu(null),this.isMobile&&this.$store.commit("toggleSettingsPanel",{value:!1}),this.$store.commit("toggleContextualPanel")},measureTop:function(){var e=this.scrolledParent===window?document.documentElement:this.scrolledParent,t=e.scrollTop;return t},hasScrolled:function(){var e=this.measureTop(),t=e-this.lastTop;-t>this.stickyShowDelta||e<100?(this.setSticky(!0),this.lastTop=e):t>this.stickyHideDelta&&(this.setSticky(!1),this.lastTop=e)},initStickyHeader:function(){var e=this,t=!1;this.scrolledParent.addEventListener("wheel",(function(){return t=!0})),this.scrolledParent.addEventListener("click",(function(){return e.lastTop=e.measureTop()})),setInterval((function(){t&&(e.hasScrolled(),t=!1)}),250)}}},kt=St,xt=(n("9a67"),Object(h["a"])(kt,y,T,!1,null,null,null)),_t=xt.exports,Ct=function(){var e=this,t=e._self._c;return t("div",{staticClass:"site-footer"},[t("div",{ref:"sentinel",staticClass:"sentinel"}),e._m(0),t("SigmoidContainer",{staticClass:"large light aside",attrs:{sides:"left bottom",width:"75",idSeed:"footer"}},[t("a",{staticClass:"github-link",attrs:{href:"https://github.com/hyvyys/Bulletproof",target:"_blank",rel:"noopener noreferrer"}},[t("div",[e._v(" Bulletproof "),t("br"),e._v(" on Github ")]),t("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","svg-inline":"",height:"32",width:"32",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{fill:"currentColor",d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"}})])])])],1)},wt=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"main u-dark"},[t("div",{staticClass:"extra-info"},[t("div",[t("a",{attrs:{href:"https://github.com/huertatipografica/Alegreya-Sans"}},[e._v("Alegreya Sans")]),e._v(" font by Juan Pablo del Peral. ")]),t("div",[t("a",{attrs:{href:"https://github.com/etunni/Graduate-Variable-Font"}},[e._v("Graduate")]),e._v(" Variable Font by Eduardo Tunni. ")]),t("div",[e._v(" Rywalka and "),t("a",{attrs:{href:"https://github.com/hyvyys/Tektur"}},[e._v("Tektur")]),e._v(" fonts by Adam Jagosz. ")]),t("div",[e._v(" Sample texts from "),t("a",{attrs:{href:"https://github.com/hyvyys/language-data",target:"_blank",rel:"noopener noreferrer"}},[e._v(" Language-Data. ")]),t("br"),e._v(" Visit to contribute! ↑ ")])]),t("div",{staticClass:"bulletproof-info"},[t("div",[e._v(" Bulletproof Font Tester ")]),t("div",[e._v(" © 2021 Adam Jagosz ")])])])}],Ft=n("9224").version,Ot={components:{SigmoidContainer:yt},data:function(){return{version:Ft}},mounted:function(){},destroyed:function(){this.observer.disconnect()},methods:{initObserver:function(){var e=this,t={threshold:[0,.25,.5,.75,1]},n=function(t,n){t.forEach((function(t){e.updateHeight(t)}))};this.observer=new IntersectionObserver(n,t),this.observer.observe(this.$refs.sentinel)},updateHeight:function(e){var t=e.intersectionRatio;this.$store.commit("updateFooter",{visible:t>.75,ratio:t})}}},At=Ot,Lt=(n("72d8"),Object(h["a"])(At,Ct,wt,!1,null,"1083513b",null)),Pt=Lt.exports,jt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"home",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}},[t("div",{staticClass:"background background-parallax",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}},[t("div",{staticClass:"pane"},[t("div",{ref:"parallax",staticClass:"parallax-content",attrs:{"data-parallax":"0.3 0"}},[e._v(" "+e._s(e.getParallaxText())+" ")])])]),t("div",{ref:"overlay",staticClass:"background background-overlay",class:{webkit:e.webkit,safari:e.safari,loaded:e.loaded}}),t("Welcome",{attrs:{msg:"Welcome to Your Vue.js App"}})],1)},Kt=[];n("38cf");function It(e){var t,n,a;for(a=e.length-1;a>0;a--)t=Math.floor(Math.random()*(a+1)),n=e[a],e[a]=e[t],e[t]=n;return e}var Mt=n("72c1"),Bt=function(){var e=this,t=e._self._c;return t("div",{staticClass:"welcome reading"},[t("div",{staticClass:"fold"},[t("figure",{staticClass:"banner"},[t("svg",{class:"logo",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("g",{attrs:{"data-name":"Warstwa 3"}},[t("g",{attrs:{"data-name":"Icon Big"}},[t("path",{attrs:{fill:"currentColor",d:"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z","data-name":"Hole 1"}}),t("path",{attrs:{fill:"currentColor",d:"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z","data-name":"Hole 2"}}),t("path",{attrs:{fill:"currentColor",d:"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z","data-name":"Hole 3"}})])])]),t("h1",[e._v("Bulletproof")]),t("div",{staticClass:"subtitle"},[e._v("I Wish I Was...")])]),t("div",{staticClass:"invitation"},[e.isMobile?e._e():t("div",{staticClass:"drop-prompt"},[e._v(" Drop font files to start ")]),e.isMobile?e._e():t("div",[e._v("or")]),t("div",{staticClass:"request-font"},[t("UiTextbox",{staticClass:"font-url-input",attrs:{placeholder:"Enter font file URL (TTF, OTF, WOFF)"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.requestFont.apply(null,arguments)}},model:{value:e.addFontUrl,callback:function(t){e.addFontUrl=t},expression:"addFontUrl"}}),t("UiButton",{attrs:{disabled:!e.addFontUrl},on:{click:e.requestFont}},[e._v("Load")])],1),e.isMobile?t("div",[e._v("or")]):e._e(),e.isMobile?t("UiButton",{on:{click:function(t){return e.expandMenu("navMenu")}}},[e._v("Just look around")]):e._e()],1)]),t("WelcomeText",{staticClass:"readme"})],1)},Nt=[],Ut=function(){var e=this,t=e._self._c;return t("div",[t("h2",[e._v("What’s this all about?")]),t("p",[e._v("Test your local or remote fonts with the proofing tool developed by a type designer, for type designers. Check out kerning, OpenType features, and language coverage. Explore and animate variation axes in variable fonts.")]),e._m(0),e._m(1),t("h2",[e._v("Available formatting options")]),e._m(2),t("h2",[e._v("Text collection")]),e._m(3),e._m(4),t("p",[e._v("The selection of languages and texts is arbitrary and limited, but contributions are welcome. Currently the focus is on languages written with Latin and Cyrillic.")]),t("h2",[e._v("Kerning tester")]),t("p",[e._v("The "),t("router-link",{attrs:{to:"/kerning"}},[e._v("Kerning tab")]),e._v(" has a kerning string generator. A couple of kerning patterns are predefined and more can be created on the fly. "),t("router-link",{attrs:{to:"/help/kerning"}},[e._v("See kerning generator help.")])],1),t("h2",[e._v("Playground & Animation")]),t("p",[e._v("Any open text sample can be edited. In the "),t("router-link",{attrs:{to:"/editor"}},[e._v("editor tab")]),e._v(" some more options are available: setting bold and italic (with separately selectable fonts), as well as taking snapshots of the settings and using them as animation keyframes — can be useful for recording gifs or videos, or toggling multiple features on and off more quickly. "),t("router-link",{attrs:{to:"/help/animation"}},[e._v("See animation editor help.")])],1),t("h2",[e._v("Preload a remote font")]),t("p",[e._v("If you want to share a link to a specific tab and automatically load a remote font, you can add a query parameter with the URL of your font file — like "),t("code",[e._v("?preload=https://example.com/Font.ttf")]),e._v(" — to the end of the page URL. "),t("router-link",{attrs:{to:"/help/query-string"}},[e._v("See preloading custom fonts help.")])],1)])},Et=[function(){var e=this,t=e._self._c;return t("p",[e._v("To begin, load font files via drag’n’drop or by pasting a URL. The fonts’ OpenType features and variation axes will be automatically detected. Everything is processed locally in the browser, using "),t("a",{attrs:{href:"https://github.com/opentypejs/opentype.js"}},[e._v("OpenType.js")]),e._v(".")])},function(){var e=this,t=e._self._c;return t("p",[e._v("Or if you don't have any font files handy, look around and test the included fonts: "),t("a",{attrs:{href:"https://github.com/huertatipografica/Alegreya-Sans"}},[e._v("Alegreya Sans")]),e._v(" by Juan Pablo del Peral, "),t("a",{attrs:{href:"https://github.com/etunni/Graduate-Variable-Font"}},[e._v("Graduate")]),e._v(" Variable Font by Eduardo Tunni, and my own Rywalka (work-in-progress).")])},function(){var e=this,t=e._self._c;return t("ul",[t("li",[e._v("Changing font size, line height, text alignment, text case transform, text and background colors.")]),t("li",[e._v("Toggling OpenType features on and off.")]),t("li",[e._v("Choosing localization language from the list of languages built into the font.")]),t("li",[e._v("Manipulating OpenType Variation axes.")])])},function(){var e=this,t=e._self._c;return t("p",[e._v("The multilingual texts and language metadata powering this project are maintained in their own repository and npm package "),t("a",{attrs:{href:"https://github.com/hyvyys/language-data"}},[e._v("language-data")]),e._v(". Several kinds of texts are included:")])},function(){var e=this,t=e._self._c;return t("ul",[t("li",[e._v("ordinary sentences,")]),t("li",[e._v("pangrams,")]),t("li",[e._v("lettering samples — defined as sets of A-Z words preferably repeating the initial letter within),")]),t("li",[t("em",[e._v("gotchas")]),e._v(" — edge cases characteristic to the given language, things to look out for when desigining a typeface.")])])}],Ht={},zt=Object(h["a"])(Ht,Ut,Et,!1,null,null,null),Vt=zt.exports,Dt={name:"Welcome",components:{WelcomeText:Vt,UiButton:F["a"],UiTextbox:L["a"]},props:{},computed:Object(f["a"])({},Object(b["e"])(["isMobile","remoteFontRequested"])),data:function(){return{addFontUrl:""}},mounted:function(){this.$store.commit("scrollToTop")},methods:{expandMenu:function(e){this.$store.commit("expandMenu",{menuId:e})},requestFont:function(){this.$store.commit("requestFont",{url:this.addFontUrl}),this.addFontUrl=""}}},Rt=Dt,$t=(n("6768"),Object(h["a"])(Rt,Bt,Nt,!1,null,null,null)),Wt=$t.exports,Gt=n("4a35"),qt=Gt.detect,Jt=qt(),Yt={name:"Home",components:{Welcome:Wt},computed:Object(f["a"])({},Object(b["c"])(["scrolledParentSelector"])),data:function(){return{loaded:!1,parallaxTexts:Mt["a"].flatMap((function(e){return e.gotchas})).flatMap((function(e){return e.tests[0]})),webkit:!1,safari:!1}},mounted:function(){var e=this;this.maybeSetupParallax(),setTimeout((function(){e.loaded=!0}),200)},destroyed:function(){this.cleanupParallax()},methods:{maybeSetupParallax:function(){switch(Jt&&Jt.name){case"chrome":this.webkit=!0,this.setupParallax();break;case"firefox":this.setupParallax();break;case"edge":break;case"safari":this.safari=!0;break;case"ios":this.safari=!0;break;default:break}},setupParallax:function(){this.scrolledParent=document.querySelector(this.scrolledParentSelector),this.parallaxes=[this.$refs.parallax],this.scrolledParent.addEventListener("scroll",this.moveParallax)},cleanupParallax:function(){this.scrolledParent.removeEventListener("scroll",this.moveParallax)},getParallaxText:function(){return It(this.parallaxTexts).join(" ").repeat(30)},moveParallax:function(){var e=this.scrolledParent.scrollTop;this.parallaxes.forEach((function(t){var n=t.dataset.parallax.split(" "),a=e*n[0];t.style.transform="translateY(".concat(a,"px)")}))}}},Zt=Yt,Qt=(n("699d"),Object(h["a"])(Zt,jt,Kt,!1,null,"0eadec82",null)),Xt=Qt.exports,en=function(){var e=this,t=e._self._c;return t("div",{staticClass:"help-topic"},[t("div",{staticClass:"help"},[t("div",{staticClass:"reading"},[t("h2",[e._v("Help pages")]),t("ol",[t("li",[t("router-link",{attrs:{to:"/help/animation"}},[e._v("Animation editor")])],1),t("li",[t("router-link",{attrs:{to:"/help/kerning"}},[e._v("Kerning string editor")])],1),t("li",[t("router-link",{attrs:{to:"/help/query-string"}},[e._v("Preloading custom fonts")])],1)])])]),t("div",{staticClass:"example"})])},tn=[],nn={},an=Object(h["a"])(nn,en,tn,!1,null,null,null),sn=an.exports,on=function(){var e=this,t=e._self._c;return t("div",{staticClass:"help-topic"},[t("div",{staticClass:"help"},[t("div",{staticClass:"reading"},[t("h2",{staticClass:"help-heading"},[t("router-link",{attrs:{to:"/help"}},[e._v("Help / ")]),e._v("Kerning string generator ")],1),t("Kerning")],1)]),t("div",{staticClass:"example"},[t("h2",[e._v("Try it out")]),t("transition-group",{attrs:{name:"fade"}},[t("KerningEditor",{key:"editor",attrs:{segments:e.segments},on:{addKerningSegment:e.addKerningSegment,removeKerningSegment:function(t){return e.removeKerningSegment(t)}}}),t("div",{key:"title",staticClass:"row"},[t("h3",[e._v(" Output ")])]),t("div",{key:"string"},e._l(e.kerningStringLines,(function(n,a){return t("div",{key:a},[e._v(" "+e._s(n)+" ")])})),0)],1)],1)])},rn=[],ln=(n("a434"),n("3835"));n("4d63"),n("c607"),n("a1f0");function cn(e,t){for(var n=[],a=e.charCodeAt(0),i=t.charCodeAt(0);a<=i;++a)n.push(String.fromCharCode(a));return n}n("13d5");function un(){return Array.prototype.reduce.call(arguments,(function(e,t){var n=[];return e.forEach((function(e){t.forEach((function(t){n.push(e.concat([t]))}))})),n}),[[]])}function gn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"\\",a=new RegExp(gn(n)+"$"),i=[],s=[],o="";e.split("").forEach((function(e){e!==t||a.test(o)?o+=e:(s.push(o),o="")})),s.push(o);var r=new RegExp(gn(n)+gn(t),"g");return s=s.map((function(e){return e.replace(r,t)})),[].push.apply(i,s),i}var hn=function(){function e(){Object(xe["a"])(this,e)}return Object(_e["a"])(e,null,[{key:"parseSequences",value:function(e){e=e.replace(/^\|/,"").replace(/\|$/,"");var t=pn(e,"|");return t}},{key:"parseClosure",value:function(e){var t=pn(e,"_");return t}},{key:"sets",value:function(e){var t=this,n=[],a=[];return e.forEach((function(e){if(/^@/.test(e)){e=e.replace(/^@/,""),e=e.replace(/\\@/g,"@");var i=[],s="_|\\",o=s.split("").map((function(e){return gn("\\"+e)})).join("|"),r="([^".concat(gn(s),"]*|").concat(o,")*"),l=new RegExp("^\\|(".concat(r,"_").concat(r,"\\|)+$"));i=l.test(e)?t.parseSequences(e).map((function(e){return t.parseClosure(e)})):Array.from(e.matchAll(/(.)(.)/g)).map((function(e){return[e[1],e[2]]})),a.push(i)}else if(e=e.replace(/\\@/g,"@"),/^\|.+\|$/.test(e))n.push(t.parseSequences(e));else{var c=[],u=e.matchAll(/([^\\])-(.)/g);Array.from(u).forEach((function(e){var t=Object(ln["a"])(e,3),n=t[1],a=t[2];[].push.apply(c,cn(n,a))})),e=e.replace(/([^\\])-(.)/g,"");var g=e.replace(/\\-/g,"-").split("");[].push.apply(c,g),n.push(c)}})),{sets:n,closures:a}}},{key:"kerningString",value:function(e){var t=e.sets.filter((function(e){return e.length}));t=JSON.parse(JSON.stringify(t));var n=un.apply(void 0,Object(_["a"])(t)),a=[],i=n[0][0]||"",s="";function o(t){e.closures.length||(t+=i),e.closures.length||(t=t.replace(/(.)\1{2,}/g,"$1$1")),a.push(t)}return n.filter((function(e){return e.length})).forEach((function(t){t[0]!==i&&(o(s),s="",i=t[0]);var n=t.join("");if(e.closures.length){var a=e.closures.map((function(e){return e.map((function(e){return e[0]}))})),r=e.closures.map((function(e){return e.map((function(e){return e[1]}))})),l=un.apply(void 0,Object(_["a"])(a)).map((function(e){return e.reverse().join("")})),c=un.apply(void 0,Object(_["a"])(r)).map((function(e){return e.join("")})),u=l.map((function(e,t){return[e,c[t]]}));n=u.map((function(e){return"".concat(e[0]).concat(n).concat(e[1])})).join(" ")+" "}s+=n})),o(s),a}}]),e}(),mn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"kerning-editor panel"},[t("transition-group",{staticClass:"fade-transition-group",attrs:{name:"fade",tag:"div"}},[t("div",{key:"title",staticClass:"row"},[t("h3",[e._v(" Pattern segments ")]),t("UiIconButton",{key:"btnAdd",attrs:{color:"primary",size:"small"},on:{click:function(t){return e.$emit("addKerningSegment")}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"}}),t("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1),e._l(e.segments,(function(n,a){return t("div",{key:"segment-".concat(n.key),staticClass:"row segment-row"},[t("UiSelect",{ref:"segmentSelects",refInFor:!0,attrs:{options:e.builtInSegmentCharacters,dropdownClass:"kerning-segment-select",dropdownPosition:"bottom-end",placeholder:"type or choose",autocomplete:!0},on:{input:function(t){return e.$emit("updateKerningPattern")}},scopedSlots:e._u([{key:"option",fn:function(n){return[t("kbd",[e._v(e._s(n.option||" "))])]}}],null,!0),model:{value:e.segments[a].characters,callback:function(t){e.$set(e.segments[a],"characters",t)},expression:"segments[i].characters"}}),t("UiIconButton",{key:"btnRemove",staticClass:"border",attrs:{color:"default",size:"small"},on:{click:function(t){return e.$emit("removeKerningSegment",a)}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{d:"M19 13H5v-2h14v2z",fill:"currentColor"}}),t("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],1)}))],2)],1)},dn=[],fn=["0-9","A-Z","a-z","А-Я","а-я","Α-ΡΣ-Ω","α-ω","A-Za-z0-9","FPTVWYfrvwy","aáàâåäãæbcçdðeéèêëfghiíìîïjklmnñoóòôöõøpqrstuúùûüvwxyýÿzþ","aáàăâåäãąāæbcćĉčċçdďđðeéèĕêěëėęēfgğĝġģhĥħiíìĭîïĩįīijıjĵkķlĺľļłŀmnńňñņŋoóòŏôöőõøōœpqĸrŕřŗsśŝšştťţŧuúùŭûůüűũųūvwŵxyýŷÿÿzźžżþ",",.",";:","-–—+","|fi|fj|fl|ff|ffi|ffl|fb|fh|fk|ft|","@¡!¿?","@“”‘’","@“”„”„“””","@|“_,”|”_”:|„_”,|„_“.|","@\"\"''","@()[]{}<>"],vn={components:{UiIconButton:$e["a"],UiSelect:G},props:{segments:{type:Array,default:function(){return[]}}},data:function(){return{builtInSegmentCharacters:[""].concat(Object(_["a"])(fn))}},watch:{segments:function(e,t){var n=this;return Object(se["a"])(Object(ie["a"])().mark((function e(){var a;return Object(ie["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!n.$refs.segmentSelects||!n.$refs.segmentSelects.length){e.next=6;break}return e.next=3,n.$nextTick();case 3:a=0,t.length>0&&(a=n.$refs.segmentSelects.length-1),n.$refs.segmentSelects[a]&&n.$refs.segmentSelects[a].focus();case 6:case"end":return e.stop()}}),e)})))()}},mounted:function(){this.$refs.segmentSelects&&this.$refs.segmentSelects.length&&this.$refs.segmentSelects[0]&&this.$refs.segmentSelects[0].focus()},updated:function(){}},yn=vn,Tn=(n("aac2"),Object(h["a"])(yn,mn,dn,!1,null,"7f7c4944",null)),bn=Tn.exports,Sn=function(){var e=this;e._self._c;return e._m(0)},kn=[function(){var e=this,t=e._self._c;return t("div",[t("p",[e._v("Kerning strings can be generated in the "),t("a",{attrs:{href:"/kerning"}},[e._v("Kerning tab")]),e._v(". Each string is defined using a "),t("strong",[e._v("pattern")]),e._v(" consisting of character sets called "),t("strong",[e._v("segments")]),e._v(".")]),t("p",[t("strong",[e._v("Regular segments")]),e._v(" are sets of letters, characters, or words that will be interpolated to create the kerning string. There are two kinds of regular segments:")]),t("ul",[t("li",[e._v("Single-character segments, e.g. "),t("code",[e._v("A-Za-ząćę")]),e._v(".")]),t("li",[e._v("Multi-character segments, e.g. "),t("code",[e._v("|fi|fj|fl|")]),e._v(".")])]),t("p",[t("strong",[e._v("Closure segments")]),e._v(" start with an at "),t("code",[e._v("@")]),e._v(" and are used to surround the interpolated substrings with extra characters, typically punctuation. These also come in two flavors:")]),t("ul",[t("li",[e._v("Single character closures, e.g. "),t("code",[e._v("@()[]{}")]),e._v(". Characters after "),t("code",[e._v("@")]),e._v(" are treated as opening–closing pairs.")]),t("li",[e._v("Multiple character closures, e.g. "),t("code",[e._v("@|“_”.|“_.”|“_”,|“_,”|")]),e._v(". Anything before the underscore "),t("code",[e._v("_")]),e._v(" is treated as prefix, everything after — as suffix. Either can be empty, e.g. "),t("code",[e._v("@|_,|")]),e._v(" is a suffix-only closure.")])]),t("p",[e._v("Multiple closure segments can be combined. A pattern of the following segments:")]),t("blockquote",[t("p",[t("code",[e._v("abc")]),t("br"),t("code",[e._v("@“”‘’")]),t("br"),t("code",[e._v("@()")])])]),t("p",[e._v("will yield "),t("code",[e._v("(“a”) (‘a’) (“b”) (‘b’) (“c”) (‘c’)")]),e._v(".")]),t("h2",[e._v("Summary")]),t("p",[e._v("The segment syntax has just five special characters:")]),t("ul",[t("li",[e._v("at "),t("code",[e._v("@")]),e._v(" (only at the beginning of segment) — begins a closure segment,")]),t("li",[e._v("hyphen "),t("code",[e._v("-")]),e._v(" — signifies character range,")]),t("li",[e._v("pipe "),t("code",[e._v("|")]),e._v(" — delimits words or closures,")]),t("li",[e._v("underscore "),t("code",[e._v("_")]),e._v(", — separates closure prefix and suffix,")]),t("li",[e._v("and backslash "),t("code",[e._v("\\")]),e._v(" — escapes the above (and itself), e.g. "),t("code",[e._v("@|\\|_\\|\\_|")]),e._v(" means a closure segment with a "),t("code",[e._v("|")]),e._v(" prefix and "),t("code",[e._v("|_")]),e._v(" suffix.")])])])}],xn={},_n=Object(h["a"])(xn,Sn,kn,!1,null,null,null),Cn=_n.exports,wn={components:{Kerning:Cn,KerningEditor:bn},data:function(){return{segments:[],key:0}},computed:{kerningStringLines:function(){var e=this.segments.map((function(e){return e.characters})),t=hn.sets(e),n=t.sets,a=t.closures,i={segments:e,sets:n,closures:a};return hn.kerningString(i)}},mounted:function(){this.addKerningSegment(null,"A-Z"),this.addKerningSegment(null,"aeiou")},methods:{addKerningSegment:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.segments.push({key:this.getKey(),characters:t})},getKey:function(){return++this.key},removeKerningSegment:function(e){this.segments.splice(e,1)}}},Fn=wn,On=(n("5d40"),Object(h["a"])(Fn,on,rn,!1,null,"7273fa36",null)),An=On.exports,Ln=function(){var e=this,t=e._self._c;return t("div",{staticClass:"help-topic"},[t("div",{staticClass:"help"},[t("div",{staticClass:"reading"},[t("h2",{staticClass:"help-heading"},[t("router-link",{attrs:{to:"/help"}},[e._v("Help / ")]),e._v("Animation editor ")],1),t("Animation")],1)]),t("div",{staticClass:"example"})])},Pn=[],jn=function(){var e=this;e._self._c;return e._m(0)},Kn=[function(){var e=this,t=e._self._c;return t("div",[t("p",[e._v("In the "),t("a",{attrs:{href:"/editor"}},[e._v("Editor tab")]),e._v(", the right side Contextual sidebar provides a simple animation editor. At any time a frame can be added to take a snapshot of the current settings from the left side Settings sidebar. Most settings are animatable, including continuous settings like Variation Axes, font size and color, as well as discrete settings like OpenType features. Currently a few settings remain unanimated: text align and text case transform.")])])}],In={},Mn=Object(h["a"])(In,jn,Kn,!1,null,null,null),Bn=Mn.exports,Nn={components:{Animation:Bn}},Un=Nn,En=Object(h["a"])(Un,Ln,Pn,!1,null,"3498f484",null),Hn=En.exports,zn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"help-topic"},[t("div",{staticClass:"help"},[t("div",{staticClass:"reading"},[t("h2",{staticClass:"help-heading"},[t("router-link",{attrs:{to:"/help"}},[e._v("Help / ")]),e._v("Preloading custom fonts ")],1),t("QueryString")],1)]),t("div",{staticClass:"example"})])},Vn=[],Dn=function(){var e=this;e._self._c;return e._m(0)},Rn=[function(){var e=this,t=e._self._c;return t("div",[t("p",[e._v("Parameters in the URL query string can be used to load custom fonts hosted elsewhere online and then share the result with others. For example, "),t("a",{attrs:{href:"/glyphs?preload=/fonts/Rywalka-Regular.ttf",target:"_blank"}},[e._v("here’s the glyphs tab with Rywalka loaded")]),e._v(" (opens in a new tab).")]),t("p",[e._v("To do this, add a "),t("code",[e._v("preload")]),e._v(" query parameter with the URL of your font file, for example "),t("code",[e._v("?preload=https://example.com/Font.ttf")]),e._v(", to the end of the page URL.")]),t("p",[e._v("You can even add multiple files by separating each parameter with "),t("code",[e._v("&")]),e._v(", for example "),t("code",[e._v("?preload=URL1&preload=URL2&preload=URL3")]),e._v(".")]),t("p",[e._v("When preloading mutliple font URLs, you can set an additional "),t("code",[e._v("f")]),e._v(" parameter with the name of the font to display by default. The other fonts will be available from the drop-down fonts menu. Here’s a full example:")]),t("pre",[t("code",[e._v("https://bulletproof.italic.space/ABCs?preload=https://bulletproof.italic.space/fonts/Rywalka-\nRegular.ttf&preload=https://bulletproof.italic.space/fonts/Graduate.ttf&f=Rywalka\n")])]),t("p",[e._v("This will open the ABCs tab, preload Rywalka and Graduate to the fonts menu, and set Rywalka as the initially displayed font.")]),t("hr"),t("h3",[e._v("Notes")]),t("ul",[t("li",[e._v("Your font must be served over HTTPS, otherwise it will fail to load.")]),t("li",[e._v("Currently Bulletproof supports loading TTF, OTF, and WOFF font files, but not WOFF2.")])])])}],$n={},Wn=Object(h["a"])($n,Dn,Rn,!1,null,null,null),Gn=Wn.exports,qn={components:{QueryString:Gn}},Jn=qn,Yn=Object(h["a"])(Jn,zn,Vn,!1,null,null,null),Zn=Yn.exports,Qn=function(){var e=this,t=e._self._c;return t("div",{staticClass:"font-tester",style:"padding-top: ".concat("fontMenu"===this.expandedMenu?"90px":0,";")},[t("transition",{attrs:{name:"fade-slow",mode:"in-out"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:!e.fontLoading,expression:"!fontLoading"}],staticClass:"font-tester-content"},[t("Pinnable",{staticClass:"site-sidebar sidebar-settings left",attrs:{title:"Settings",isPinned:e.isPinned,isVisible:e.settingsPanelVisible,trigger:"#settings-trigger"},on:{toggle:function(t){return e.$store.commit("toggleSettingsPanel")},hide:function(t){return e.$store.commit("toggleSettingsPanel",{value:!1})}}},[t("Settings")],1),"languages"===e.selectedSampleKey?t("LanguageSupportSummary",{attrs:{languageSupport:"languageSupport"}}):t("TesterBody",{staticClass:"main",attrs:{texts:e.fontSampleTexts,isCustom:"custom"===e.selectedTextKind},on:{update:function(t){return e.modifyText(t)}}}),t("Pinnable",{staticClass:"site-sidebar sidebar-nav right",attrs:{title:e.navElementTitle,isPinned:e.isPinned,isVisible:e.contextualPanelVisible,scrolled:!1,trigger:"#nav-trigger"},on:{toggle:function(t){return e.$store.commit("toggleContextualPanel")},hide:function(t){return e.$store.commit("toggleContextualPanel",{value:!1})}}},[t("div",{staticClass:"transition-wrapper u-flex-v",staticStyle:{overflow:"hidden"}},[t("transition",{attrs:{name:"swap"}},[t(e.navElement,{key:e.navElementTitle,tag:"component"})],1)],1)])],1)])],1)},Xn=[],ea=function(){var e=this,t=e._self._c;return!e.forceInvisible&&e.isVisible?t("div",{class:"\n pinnable ".concat(e.pinned?"pinned":"","\n ").concat(!e.footerVisible&&e.sticky?"sticky":"","\n ").concat(e.footerNear?"footer-near":"","\n ").concat(e.footerNearer?"footer-nearer":"","\n ").concat(e.triggerHover?"trigger-hover":"","\n ").concat(e.scrolled?"pinnable-scrolled":"","\n ")},[e.title?t("div",{staticClass:"titlebar"},[t("h2",[e._v(e._s(e.title))]),t("UiIconButton",{class:"pin ".concat(e.pinned?"active":""),attrs:{size:"small"},on:{click:e.togglePinPanel}},[t("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{fill:"currentColor",d:"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z"}})])])],1):e._e(),e.scrolled?t("div",{staticClass:"content"},[t("div",{ref:"scrolled",class:"scrolled ".concat(e.disableOverscroll?"disable-overscroll":""),on:{wheel:e.onWheel}},[e._t("default")],2)]):e._t("default")],2):e._e()},ta=[];function na(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,a=0,i=e;while(null!=i&&a<=n){if(t(i))return i;i=i.parentNode,a++}return null}var aa={name:"Pinnable",components:{UiIconButton:$e["a"]},props:{title:{type:String},isPinned:{type:Boolean,default:!0},scrolled:{type:Boolean,default:!0},side:{type:String,default:"left"},isVisible:{type:Boolean,default:!0},disableOverscroll:{type:Boolean,default:!0},trigger:String,forceInvisible:{type:Boolean,default:!1},scrollSyncStartEvent:{type:String,default:"scrollSyncStart"},scrollSyncEndEvent:{type:String,default:"scrollSyncEnd"}},data:function(){return{storedScrollPosition:0,pinned:this.isPinned,lastHeight:0,width:null,triggerHover:!1}},computed:Object(f["a"])(Object(f["a"])({},Object(b["e"])({sticky:function(e){return e.layout.sticky},footerVisible:function(e){return e.layout.footerVisible},footerSentinelVisibleRatio:function(e){return e.layout.footerSentinelVisibleRatio}})),{},{footerNear:function(){return this.footerSentinelVisibleRatio>0},footerNearer:function(){return this.footerSentinelVisibleRatio>.5}}),watch:{sticky:function(){var e=this;this.$refs.vb&&(setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),50),setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),100),setTimeout((function(){return e.$vuebar.refreshScrollbar(e.$refs.vb)}),250))}},mounted:function(){this.init()},destroyed:function(){this.cleanup()},methods:{init:function(){this.trigger&&(this.getTriggerElement().addEventListener("mouseenter",this.onTriggerMouseEnter),this.getTriggerElement().addEventListener("mouseleave",this.onTriggerMouseLeave))},cleanup:function(){this.trigger&&(this.getTriggerElement().removeEventListener("mouseenter",this.onTriggerMouseEnter),this.getTriggerElement().removeEventListener("mouseleave",this.onTriggerMouseLeave))},onTriggerMouseEnter:function(){this.triggerHover=!0},onTriggerMouseLeave:function(){this.triggerHover=!1},onWheel:function(e){this.disableOverscroll&&e.stopPropagation()},toggle:function(){this.$emit("toggle")},hide:function(){this.$emit("hide")},getTriggerElement:function(){return document.querySelector(this.trigger)},mysteriousClick:function(e){var t=this.getTriggerElement().contains(e.target);if(!this.pinned&&this.isVisible&&!t){var n=e.target,a=na(n,(function(e){return"A"===e.tagName}),3),i=!!a&&a.getAttribute("href").startsWith("#");this.$el.contains(e.target)&&!i||this.hide()}},initScrollSync:function(){var e=this;this.$on(this.scrollSyncStartEvent,(function(){e.storedScrollPosition=e.$refs.scrolled.scrollTop})),this.$on(this.scrollSyncEndEvent,(function(){e.$refs.scrolled.scrollTop=e.storedScrollPosition}))},togglePinPanel:function(){this.pinned=!this.pinned}}},ia=aa,sa=(n("1555"),Object(h["a"])(ia,ea,ta,!1,null,"82a5684e",null)),oa=sa.exports,ra=function(){var e=this,t=e._self._c;return t("div",{staticClass:"settings"},[t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Font size")]),t("UiNumber",{ref:"settingFontSize",attrs:{value:e.settings.fontSize,min:e.settings.minFontSize,max:e.settings.maxFontSize,step:e.settings.fontSizeStep,clickStep:e.settings.fontSizeClickStep},on:{input:function(t){return e.updateSetting("updateSettings",{fontSize:t})}}}),t("UiSelect",{ref:"settingFontSizeUnit",staticClass:"const3ch fontSizeUnitSelect",attrs:{value:e.settings.fontSizeUnit,options:e.settings.fontSizeUnitOptions},on:{input:function(t){return e.updateSetting("updateSettings",{fontSizeUnit:t})}}})],1),t("div",{staticClass:"row busy"},[t("UiTextbox",{ref:"settingWaterfallSizes",attrs:{value:e.settings.waterfallSizes,disabled:!e.settings.enableWaterfall},on:{input:function(t){return e.updateSetting("updateSettings",{waterfallSizes:t})}}}),t("UiCheckbox",{ref:"settingEnableWaterfall",staticClass:"checkbox-small",attrs:{value:e.settings.enableWaterfall},on:{input:function(t){return e.updateSetting("updateSettings",{enableWaterfall:t})}}},[e._v("waterfall")])],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Line height")]),t("UiNumber",{ref:"settingLineHeight",attrs:{value:e.settings.lineHeight,min:e.settings.minLineHeight,max:e.settings.maxLineHeight,step:e.settings.lineHeightStep,clickStep:e.settings.lineHeightClickStep,disabled:!e.settings.enableLineHeight},on:{input:function(t){return e.updateSetting("updateSettings",{lineHeight:t})}}}),t("UiCheckbox",{ref:"settingDefaultLineHeight",staticClass:"checkbox-small",attrs:{value:e.settings.enableLineHeight},on:{input:function(t){return e.updateSetting("updateSettings",{enableLineHeight:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Tracking")]),t("UiNumber",{ref:"settingTracking",attrs:{value:e.settings.tracking,min:e.settings.minTracking,max:e.settings.maxTracking,step:e.settings.trackingStep,clickStep:e.settings.trackingClickStep,disabled:!e.settings.enableTracking},on:{input:function(t){return e.updateSetting("updateSettings",{tracking:t})}}}),t("UiCheckbox",{ref:"settingDefaultTracking",staticClass:"checkbox-small",attrs:{value:e.settings.enableTracking},on:{input:function(t){return e.updateSetting("updateSettings",{enableTracking:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Word spacing")]),t("UiNumber",{attrs:{value:e.settings.wordSpacing,min:e.settings.minWordSpacing,max:e.settings.maxWordSpacing,step:e.settings.wordSpacingStep,clickStep:e.settings.wordSpacingStep,disabled:!e.settings.enableWordSpacing},on:{input:function(t){return e.updateSetting("updateSettings",{wordSpacing:t})}}}),t("UiCheckbox",{staticClass:"checkbox-small",attrs:{value:e.settings.enableWordSpacing},on:{input:function(t){return e.updateSetting("updateSettings",{enableWordSpacing:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Text align")]),t("UiSelect",{ref:"settingTextAlign",attrs:{value:e.settings.textAlign,options:e.settings.textAlignOptions},on:{input:function(t){return e.updateSetting("updateSettings",{textAlign:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Text color")]),t("UiColorPicker",{ref:"settingTextColor",attrs:{value:e.settings.textColor},on:{input:function(t){return e.updateSetting("updateSettings",{textColor:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Back color")]),t("UiColorPicker",{ref:"settingBackgroundColor",attrs:{value:e.settings.backgroundColor},on:{input:function(t){return e.updateSetting("updateSettings",{backgroundColor:t})}}})],1),t("div",{staticClass:"row busy"},[t("label",{staticClass:"row-label"},[e._v("Transform")]),t("UiSelect",{ref:"settingTextTransform",attrs:{value:e.settings.textTransform,options:e.settings.textTransformOptions},on:{input:function(t){return e.updateSetting("updateSettings",{textTransform:t})}}}),t("UiCheckbox",{ref:"settingEnableTextTransform",staticClass:"checkbox-small",attrs:{value:e.settings.enableTextTransform},on:{input:function(t){return e.updateSetting("updateSettings",{enableTextTransform:t})}}})],1),t("div",{staticClass:"row row-check"},[t("UiCheckbox",{ref:"settingWrapLines",attrs:{label:"Break-word",value:e.settings.wrapLines},on:{input:function(t){return e.updateSetting("updateSettings",{wrapLines:t})}}})],1),e.capFeatures.length>0?t("h3",[e._v("Caps")]):e._e(),t("div",{staticClass:"setting-group"},e._l(e.capFeatures,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:n.tag,value:t})}}},[e._v(e._s(n.name))])],1)})),0),e.localization?t("h3",{staticClass:"row-select-header"},[e._v("Localization")]):e._e(),e.localization?t("div",{staticClass:"setting-group"},[t("div",{staticClass:"row row-select"},[t("UiSelect",{attrs:{value:e.localizationLanguage,options:e.localizationLanguages,keys:e.loclSelectKeys,placeholder:"select language",invalid:e.isLocalizationInvalid,disabled:e.onGotchasTab},on:{input:function(t){return e.updateSetting("updateLoclFeature",{selectedLanguage:t})}},scopedSlots:e._u([{key:"option",fn:function(n){return t("div",{staticClass:"locl-select__option"},[t("div",{staticClass:"name"},[e._v(e._s(n.option.name))]),n.option.name!==n.option.tag?t("div",{staticClass:"tag"},[e._v("("+e._s(n.option.tag)+")")]):e._e()])}}],null,!1,3090818932)}),t("UiCheckbox",{staticClass:"checkbox-small",attrs:{value:e.localization.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:"locl",value:t})}}})],1)]):e._e(),e.numberFeatures.length>0?t("h3",[e._v("Numbers")]):e._e(),t("div",{staticClass:"setting-group"},[t("div",{staticClass:"row"},[e.pnum&&e.tnum?t("UiRadioGroup",{attrs:{name:"figureWidth",options:e.figureWidths,vertical:!0},model:{value:e.figureWidth,callback:function(t){e.figureWidth=t},expression:"figureWidth"}}):e._e(),e.lnum&&e.onum?t("UiRadioGroup",{attrs:{name:"figureHeight",options:e.figureHeights,vertical:!0},model:{value:e.figureHeight,callback:function(t){e.figureHeight=t},expression:"figureHeight"}}):e._e()],1),e._l(e.numberFeatures,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:n.tag,value:t})}}},[e._v(e._s(n.name))])],1)}))],2),e.stylisticSets.length>0?t("h3",[e._v("Stylistic Sets")]):e._e(),t("div",{staticClass:"setting-group"},e._l(e.stylisticSets,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:n.tag,value:t})}}},[n.uiName?[t("strong",[e._v(e._s(n.tag))]),e._v(" "+e._s(n.uiName))]:[e._v(e._s(n.name))]],2)],1)})),0),e.characterVariants.length>0?t("h3",[e._v("Character Variants")]):e._e(),t("div",{staticClass:"setting-group"},e._l(e.characterVariants,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:n.tag,value:t})}}},[n.uiName?[t("strong",[e._v(e._s(n.tag))]),e._v(" "+e._s(n.uiName))]:[e._v(e._s(n.name))]],2)],1)})),0),e.otherGsub.length>0?t("h3",[e._v("Other GSUB")]):e._e(),t("div",{staticClass:"setting-group"},e._l(e.otherGsub,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGsubFeature",{tag:n.tag,value:t})}}},[e._v(e._s(n.name))])],1)})),0),e.activeGpos.length>0?t("h3",[e._v("GPOS")]):e._e(),t("div",{staticClass:"setting-group"},e._l(e.activeGpos,(function(n,a){return t("div",{key:a,staticClass:"row"},[t("UiCheckbox",{attrs:{value:n.value},on:{input:function(t){return e.updateSetting("updateGposFeature",{tag:n.tag,value:t})}}},[e._v(e._s(n.name))])],1)})),0),t("h3",[e._v("Variation axes")]),t("div",{staticClass:"setting-group"},[0===e.variationAxes.length?t("div",{staticClass:"notice"},[e._v(" The selected font is not variable. ")]):e._e(),e._l(e.variationAxes,(function(n,a){return t("div",{key:a},[t("div",{staticClass:"row",staticStyle:{"align-items":"center"}},[t("UiCheckbox",{staticStyle:{"margin-bottom":"0","margin-right":".8em"},attrs:{label:n.displayName,value:n.enabled},on:{input:function(t){return e.updateSetting("updateVariationAxis",{tag:n.tag,enabled:t})}}}),t("UiNumber",{attrs:{value:n.value,min:n.minValue,max:n.maxValue,step:n.step},on:{input:function(t){return e.updateSetting("updateVariationAxis",{tag:n.tag,value:t})}}}),t("UiButton",{staticClass:"tiny",on:{click:function(t){return e.updateSetting("updateVariationAxis",{tag:n.tag,value:n.defaultValue})}}},[t("svg",{class:"reset-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 -960 960 960","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{d:"M480-160q-133 0-226.5-93.5T160-480q0-133 93.5-226.5T480-800q85 0 149 34.5T740-671v-129h60v254H546v-60h168q-38-60-97-97t-137-37q-109 0-184.5 75.5T220-480q0 109 75.5 184.5T480-220q83 0 152-47.5T728-393h62q-29 105-115 169t-195 64z"}})])])],1),t("div",{staticClass:"row",staticStyle:{padding:".5em 0.3em .7em"}},[t("UiSlider",{staticStyle:{flex:"2"},attrs:{value:n.value,min:n.minValue,max:n.maxValue,step:n.step,snapToStep:!0,showMarker:!1},on:{input:function(t){return e.updateSetting("updateVariationAxis",{tag:n.tag,value:t})}}})],1)])}))],2)])},la=[],ca=(n("cb29"),n("4d90"),n("caad"),n("2532"),n("3d86")),ua=n("40c3"),ga=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ui-slider",class:e.classes,attrs:{role:"slider","aria-valuemax":e.moderatedMax,"aria-valuemin":e.moderatedMin,"aria-valuenow":e.localValue,tabindex:e.disabled?null:e.tabindex||"0"},on:{blur:e.onBlur,focus:e.onFocus,keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.decrementValue.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.decrementValue.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:(t.preventDefault(),e.incrementValue.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.incrementValue.apply(null,arguments))}]}},[e.name?t("input",{staticClass:"ui-slider__hidden-input",attrs:{type:"hidden",name:e.name},domProps:{value:e.value}}):e._e(),e.hasIcon?t("div",{staticClass:"ui-slider__icon"},[e._t("icon",(function(){return[t("ui-icon",{attrs:{icon:e.icon}})]}))],2):e._e(),t("div",{ref:"track",staticClass:"ui-slider__track",on:{mousedown:e.onDragStart,touchstart:e.onDragStart}},[t("div",{staticClass:"ui-slider__track-background"},e._l(e.snapPoints,(function(n){return e.snapToSteps?t("span",{staticClass:"ui-slider__snap-point",style:{left:100*e.relativeValue(n)+"%"}}):e._e()})),0),t("div",{staticClass:"ui-slider__track-fill",style:e.fillStyle}),t("div",{ref:"thumb",staticClass:"ui-slider__thumb",style:e.thumbStyle},[e.showMarker?t("div",{staticClass:"ui-slider__marker"},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"36",height:"36"}},[t("path",{attrs:{d:"M11 .5c-1.7.2-3.4.9-4.7 2-1.1.9-2 2-2.5 3.2-1.2 2.4-1.2 5.1-.1 7.7 1.1 2.6 2.8 5 5.3 7.5 1.2 1.2 2.8 2.7 3 2.7 0 0 .3-.2.6-.5 3.2-2.7 5.6-5.6 7.1-8.5.8-1.5 1.1-2.6 1.3-3.8.2-1.4 0-2.9-.5-4.3-1.2-3.2-4.1-5.4-7.5-5.8-.5-.2-1.5-.2-2-.2z"}})]),t("span",{staticClass:"ui-slider__marker-text"},[e._v(e._s(e.markerText))])]):e._e()])])])},pa=[],ha=n("3c7e"),ma=n("4128"),da={name:"ui-slider",props:{name:String,tabindex:[String,Number],icon:String,value:{type:Number,required:!0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:10},snapToSteps:{type:Boolean,default:!1},showMarker:{type:Boolean,default:!1},markerValue:[String,Number],disabled:{type:Boolean,default:!1}},data:function(){return{initialValue:this.value,isActive:!1,isDragging:!1,localValue:this.value}},computed:{classes:function(){return[{"is-dragging":this.isDragging},{"is-disabled":this.disabled},{"is-active":this.isActive},{"has-icon":this.hasIcon},{"has-marker":this.showMarker}]},hasIcon:function(){return Boolean(this.$slots.icon)||Boolean(this.icon)},fillStyle:function(){return{transform:"scaleX("+this.relativeValue(this.localValue)+")"}},thumbStyle:function(){return{left:100*this.relativeValue(this.localValue)+"%"}},markerText:function(){return void 0===this.markerValue?this.value:this.markerValue},snapPoints:function(){var e=[],t=this.step*Math.ceil(this.moderatedMin/this.step);while(t<=this.moderatedMax)e.push(t),t+=this.step;return e},moderatedMin:function(){return this.max>this.min?this.min:0},moderatedMax:function(){return this.max>this.min?this.max:100}},watch:{value:function(){this.setValue(this.value)},isDragging:function(){var e=this.isDragging?"add":"remove";ha["a"][e](document.body,"ui-slider--is-dragging")}},mounted:function(){this.initializeSlider()},beforeDestroy:function(){this.teardownSlider()},methods:{focus:function(){this.$el.focus()},reset:function(){this.setValue(this.initialValue)},onFocus:function(){this.isActive=!0,this.$emit("focus")},onBlur:function(){this.isActive=!1,this.$emit("blur")},onExternalClick:function(e){this.$el.contains(e.target)||this.onBlur()},setValueWithSnap:function(e){e=this.moderateValue(e),this.snapToSteps&&(e=this.getNearestSnapPoint(e)),this.setValue(e)},setValue:function(e){e=this.moderateValue(e),e!==this.localValue&&(this.localValue=e,this.$emit("input",e),this.$emit("change",e))},incrementValue:function(){this.setValueWithSnap(this.localValue+this.step)},decrementValue:function(){this.setValueWithSnap(this.localValue-this.step)},getTrackOffset:function(){var e=this.$refs.track,t=e.offsetLeft;while(e.offsetParent)e=e.offsetParent,t+=e.offsetLeft;return t},getPointStyle:function(e){return{left:e+"%"}},initializeSlider:function(){document.addEventListener("touchend",this.onDragStop),document.addEventListener("mouseup",this.onDragStop),document.addEventListener("click",this.onExternalClick),this.initializeDrag()},teardownSlider:function(){document.removeEventListener("touchend",this.onDragStop),document.removeEventListener("mouseup",this.onDragStop),document.removeEventListener("click",this.onExternalClick)},initializeDrag:function(){var e=this.moderateValue(this.localValue?this.localValue:0);this.setValue(e)},onDragStart:function(e){document.documentElement.style.userSelect="none",this.disabled||(this.isActive||this.onFocus(),this.isDragging=!0,this.dragUpdate(e),document.addEventListener("touchmove",this.onDragMove),document.addEventListener("mousemove",this.onDragMove),this.$emit("dragstart",this.localValue,e))},onDragMove:function(e){this.dragUpdate(e)},dragUpdate:function(e){var t=e.touches?e.touches[0].pageX:e.pageX,n=this.$refs.track.offsetWidth,a=(t-this.getTrackOffset())/n,i=this.moderateValue(this.moderatedMin+a*(this.moderatedMax-this.moderatedMin));this.isDragging&&this.setValue(new ma(i).toNearest(this.step).toNumber())},onDragStop:function(e){document.documentElement.style.userSelect="",this.isDragging&&(this.isDragging=!1,this.snapToSteps&&this.value%this.step!==0&&this.setValueWithSnap(this.value),document.removeEventListener("touchmove",this.onDragMove),document.removeEventListener("mousemove",this.onDragMove),this.$emit("dragend",this.localValue,e))},getNearestSnapPoint:function(e){var t=Math.floor(e/this.step)*this.step,n=t+this.step,a=(t+n)/2;return tthis.moderatedMax?e:n:e>=a&&n<=this.moderatedMax?n:t},relativeValue:function(e){return(e-this.moderatedMin)/(this.moderatedMax-this.moderatedMin)},moderateValue:function(e){return ethis.moderatedMax?this.moderatedMax:e}},components:{UiIcon:B["a"]}},fa=da,va=(n("32ed"),Object(h["a"])(fa,ga,pa,!1,null,"5367bd16",null)),ya=va.exports,Ta=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ui-textbox ui-number",class:e.classes,on:{dblclick:function(e){e.preventDefault()}}},[e.icon||e.$slots.icon?t("div",{staticClass:"ui-textbox__icon-wrapper"},[e._t("icon",(function(){return[t("ui-icon",{attrs:{icon:e.icon}})]}))],2):e._e(),t("div",{staticClass:"ui-textbox__content"},[t("label",{staticClass:"ui-textbox__label"},[t("div",{staticClass:"ui-textbox__input-wrapper"},[t("input",{directives:[{name:"autofocus",rawName:"v-autofocus",value:e.autofocus,expression:"autofocus"}],ref:"input",staticClass:"ui-textbox__input",attrs:{autocomplete:e.autocomplete?e.autocomplete:null,disabled:e.disabled,inputmode:"decimal",max:e.maxValue,maxlength:e.enforceMaxlength?e.maxlength:null,minlength:e.minlength,min:e.minValue,name:e.name,number:"number"===e.type||null,placeholder:e.hasFloatingLabel?null:e.placeholder,readonly:e.readonly,required:e.required,tabindex:e.tabindex},domProps:{value:null!=e.displayedText?e.displayedText:e.value},on:{blur:e.onBlur2,focus:e.onFocus,change:function(t){return e.updateValue(t.target.value)},input:function(t){return e.updateValue(t.target.value)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onKeydownEnter.apply(null,arguments)},e.onKeydown,function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:function(t){return e.increment(1,t)}.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:function(t){return e.increment(-1,t)}.apply(null,arguments)}]}}),t("UiIconButton",{staticClass:"ui-number__button up ui-select__dropdown-button",attrs:{disabled:e.disabled},nativeOn:{mousedown:function(t){return e.startIncrement.apply(null,arguments)},mouseleave:function(t){return e.endIncrementDecrement.apply(null,arguments)},mouseup:function(t){return e.endIncrementDecrement.apply(null,arguments)}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"}},[t("path",{attrs:{transform:"translate(0 24) scale(1 -1) translate(0 -1)",d:"M6.984 9.984h10.03L12 15z"}})])]),t("UiIconButton",{staticClass:"ui-number__button down ui-select__dropdown-button",attrs:{disabled:e.disabled},nativeOn:{mousedown:function(t){return e.startDecrement.apply(null,arguments)},mouseleave:function(t){return e.endIncrementDecrement.apply(null,arguments)},mouseup:function(t){return e.endIncrementDecrement.apply(null,arguments)}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"}},[t("path",{attrs:{transform:"translate(0 -1)",d:"M6.984 9.984h10.03L12 15z"}})])])],1),e.label||e.$slots.default?t("div",{staticClass:"ui-textbox__label-text",class:e.labelClasses},[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2):e._e()]),e.hasFeedback||e.maxlength?t("div",{staticClass:"ui-textbox__feedback"},[e.showError?t("div",{staticClass:"ui-textbox__feedback-text"},[e._t("error",(function(){return[e._v(e._s(e.error))]}))],2):e.showHelp?t("div",{staticClass:"ui-textbox__feedback-text"},[e._t("help",(function(){return[e._v(e._s(e.help))]}))],2):e._e(),e.maxlength?t("div",{staticClass:"ui-textbox__counter"},[e._v(e._s(e.valueLength+"/"+e.maxlength))]):e._e()]):e._e()])])},ba=[],Sa=(n("35b3"),n("4128")),ka={name:"UiNumber",components:{UiIconButton:$e["a"]},extends:L["a"],props:{value:{type:Number,default:1},step:{type:Number,default:1},clickStep:{type:Number,default:1},clickStepFunction:{type:Function,default:null},minlength:{type:Number,default:-1}},data:function(){return{displayedText:null,tryValue:null,incrementTimeout:null}},computed:{stringValue:function(){return this.tempValue.toLocaleString()},_clickStep:function(){return this.clickStepFunction?this.clickStepFunction(this.value):this.clickStep}},watch:{value:function(e){this.coerceValue(e)},min:function(e){this.valuee&&this.updateValue(e)},step:function(){this.roundedToStep()!==this.value&&this.updateValue(this.roundedToStep())}},methods:{updateValue:function(e){var t=String(e),n=Number(t.replace(",","."));if(!isNaN(n)&&!/[.,]$/.test(t)){var a=this.correctValue(n);this.$emit("input",a)}},coerceValue:function(e){var t=this.correctValue(e);Math.abs(e-t)0&&void 0!==arguments[0]?arguments[0]:this.value;return new Sa(e).toNearest(this.step).toNumber()},roundedToClickStep:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.value;return new Sa(e).toNearest(this._clickStep).toNumber()},getSteps:function(e){return e<2?1:Math.ceil(.1*this.value/this._clickStep)},getDelay:function(e){return e<2?200:100},increment:function(e,t){e*=t?t.ctrlKey?100:t.shiftKey?10:1:1,this.updateValue(this.roundedToClickStep()+e*this._clickStep)},decrement:function(e){this.updateValue(this.roundedToClickStep()-e*this._clickStep)},startIncrement:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.getSteps(n);this.increment(a),this.incrementTimeout=setTimeout((function(){return t.startIncrement(e,n+1)}),this.getDelay(n))},startDecrement:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=this.getSteps(n);this.decrement(a),this.incrementTimeout=setTimeout((function(){return t.startDecrement(e,n+1)}),this.getDelay(n))},endIncrementDecrement:function(){clearTimeout(this.incrementTimeout)}}},xa=ka,_a=(n("d7849"),Object(h["a"])(xa,Ta,ba,!1,null,"7af82180",null)),Ca=_a.exports,wa=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ui-color-picker popover-trigger"},[t("div",{staticClass:"swatch",style:"background-color: ".concat(e.value)},[e._v(" ")]),t("ui-textbox",{ref:"input",attrs:{label:e.label,icon:e.icon,help:e.help},on:{input:e.updateFromInput},model:{value:e.textValue,callback:function(t){e.textValue=t},expression:"textValue"}}),t("ui-popover",{ref:"popover",staticClass:"popover",attrs:{position:"bottom-start",constrainToScrollParent:!1},on:{reveal:function(t){return e.$refs.input.focus()}}},[t("sketch-picker",{attrs:{value:e.colorValue,disableFields:!0},on:{input:e.updateFromPicker}})],1)],1)},Fa=[],Oa=n("ecb1"),Aa=n("94c7"),La={components:{UiTextbox:L["a"],UiPopover:O["a"],SketchPicker:Oa["a"]},props:{value:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},help:{type:String,default:null}},data:function(){return{colorValue:{hex:"#000000"},textValue:this.value}},mounted:function(){this.updateFromInput()},methods:{openPopover:function(){setTimeout(this.$refs.popover.open,0)},updateFromInput:function(){var e=Aa(this.textValue);e.isValid&&(this.colorValue=e,this.formatText(),this.update())},updateFromPicker:function(e){this.colorValue=Aa(Object(f["a"])({},e.rgba)),this.updateText(),this.update()},updateProgrammatically:function(){function e(e){return Aa(e).toHex8String()}e(this.value)!==e(this.textValue)&&(this.colorValue=Aa(this.value),this.updateText())},updateText:function(){this.textValue=this.colorValue.toHex8String(),/ff$/.test(this.textValue)&&(this.textValue=this.colorValue.toHexString()),this.formatText()},formatText:function(){"hex"===this.colorValue.getFormat()&&(/^#/.test(this.textValue)||(this.textValue="#"+this.textValue))},update:function(){this.$emit("input",this.textValue)}},watch:{value:function(){this.updateProgrammatically()}}},Pa=La,ja=(n("008f"),Object(h["a"])(Pa,wa,Fa,!1,null,"50a2c3f2",null)),Ka=ja.exports,Ia={name:"Settings",components:{UiSelect:G,UiCheckbox:ca["a"],UiSlider:ya,UiRadioGroup:ua["a"],UiButton:F["a"],UiNumber:Ca,UiTextbox:L["a"],UiColorPicker:Ka},props:{font:{type:Object,default:function(){return null}}},data:function(){return{capTags:["smcp","c2sc","pcap","c2pc"],figureTags:["pnum","tnum","lnum","onum"],figureHeights:[{value:"default",label:"default"},{value:"lnum",label:"lining"},{value:"onum",label:"oldstyle"}],figureHeight:"default",figureWidths:[{value:"default",label:"default"},{value:"pnum",label:"proportional"},{value:"tnum",label:"tabular"}],figureWidth:"default",numberTags:["sups","subs","numr","dnom","frac","zero"],stylisticSetTags:Array(20).fill(0).map((function(e,t){return"ss".concat((t+1).toString().padStart(2,"0"))})),characterVariantsTags:Array(99).fill(0).map((function(e,t){return"cv".concat((t+1).toString().padStart(2,"0"))})),loclTags:["locl"],loclSelectKeys:{class:"class",label:"name",image:"image"}}},computed:Object(f["a"])(Object(f["a"])({},Object(b["c"])(["displayedSettings","animating","selectedSampleKey"])),{},{settings:function(){return this.displayedSettings},activeGpos:function(){return this.settings.gposFeatures.filter((function(e){return e.active}))},activeGsub:function(){return this.settings.gsubFeatures.filter((function(e){return e.active}))},capFeatures:function(){return this.getGsubSubset(this.capTags)},lnum:function(){return this.getGsubFeature("lnum")},tnum:function(){return this.getGsubFeature("tnum")},pnum:function(){return this.getGsubFeature("pnum")},onum:function(){return this.getGsubFeature("onum")},numberFeatures:function(){return this.getGsubSubset(this.numberTags)},stylisticSets:function(){return this.getGsubSubset(this.stylisticSetTags)},characterVariants:function(){return this.getGsubSubset(this.characterVariantsTags)},localization:function(){return this.getGsubFeature("locl")},onGotchasTab:function(){return"gotchas"===this.selectedSampleKey},localizationLanguage:function(){return this.onGotchasTab?"automatic":this.localization.selectedLanguage},localizationLanguages:function(){return this.localization.languages},isLocalizationInvalid:function(){var e=this.localization.selectedLanguage;return!!e&&!this.localization.languages.find((function(t){return t.tag===e.tag}))},otherGsub:function(){var e=this;return this.activeGsub.filter((function(t){return![].concat(Object(_["a"])(e.capTags),Object(_["a"])(e.figureTags),Object(_["a"])(e.numberTags),Object(_["a"])(e.stylisticSetTags),Object(_["a"])(e.characterVariantsTags),Object(_["a"])(e.loclTags)).includes(t.tag)}))},variationAxes:function(){return this.settings.variationAxes}}),watch:{figureHeight:function(e,t){this.setFigureVariant(e,t)},figureWidth:function(e,t){this.setFigureVariant(e,t)}},beforeUpdate:function(){this.$parent.$emit("scrollSyncStart")},updated:function(){this.$parent.$emit("scrollSyncEnd")},methods:{updateSetting:function(e,t){this.animating||this.$store.commit(e,t)},getGsubSubset:function(e){return this.activeGsub.filter((function(t){return e.includes(t.tag)})).sort((function(t,n){return e.indexOf(t.tag)-e.indexOf(n.tag)}))},getGsubFeature:function(e){return this.activeGsub.find((function(t){return e===t.tag}))},setFigureVariant:function(e,t){"default"!==t&&this.$store.commit("updateGsubFeature",{tag:t,value:!1}),"default"!==e&&this.$store.commit("updateGsubFeature",{tag:e,value:!0})}}},Ma=Ia,Ba=(n("8021"),Object(h["a"])(Ma,ra,la,!1,null,"030b7c31",null)),Na=Ba.exports,Ua=function(){var e=this,t=e._self._c;return t("div",{class:"tester-body ".concat(e.isGotchas?"gotchas":""),style:"background: ".concat(e.settings.backgroundColor,";")},["glyphs"===e.selectedSampleKey?[e._v("This page only lists encoded glyphs.")]:e._e(),e.isCustom?t("FontSample",{attrs:{lang:e.selectedLoclLanguage}},e._l(e.fontSizes,(function(n,a){return t("div",{key:a,staticClass:"sample-paragraph"},[e.fontSizes.length>1?t("div",{staticClass:"font-size-label"},[e._v(e._s(n))]):e._e(),t("div",{ref:"content",refInFor:!0,staticClass:"font-sample-content-inner",style:{"font-size":"".concat(n).concat(e.settings.fontSizeUnit)},attrs:{contenteditable:"",spellcheck:"false"},on:{input:e.onInput,focus:e.onFocus}})])})),0):e._l(e.texts,(function(n,a){return t("div",{key:a},["gotchas"===e.selectedSampleKey?t("GotchaHeader",{attrs:{header:n.header}}):n.header&&n.header.language?t("SampleHeader",{attrs:{header:n.header}}):e._e(),e._l(n.texts,(function(a,i){return t("FontSample",{key:i,attrs:{lang:e.selectedLoclLanguage||n.header&&n.header.htmlTag}},e._l(e.fontSizes,(function(i,s){return t("div",{key:s,staticClass:"sample-paragraph"},[e.fontSizes.length>1?t("div",{staticClass:"font-size-label"},[e._v(e._s(i))]):e._e(),t("div",{style:{"font-size":"".concat(i).concat(e.settings.fontSizeUnit)},attrs:{contenteditable:e.isContentEditable,spellcheck:"false"},domProps:{innerHTML:e._s(e.transformText(a,n.header&&n.header.htmlTag))},on:{focus:e.onFocus}})])})),0)}))],2)}))],2)},Ea=[],Ha=function(){var e=this,t=e._self._c;return t("div",{staticClass:"font-sample",style:"\n color: ".concat(e.settings.textColor,";\n background: ").concat(e.settings.backgroundColor,";\n line-height: ").concat(e.settings.enableLineHeight?e.settings.lineHeight:"",";\n letter-spacing: ").concat(e.settings.enableTracking?e.settings.tracking:"0","em;\n word-spacing: ").concat(e.settings.enableWordSpacing?e.settings.wordSpacing:"0","em;\n text-align: ").concat(e.settings.textAlign,";\n text-transform: ").concat(e.settings.enableTextTransform?e.settings.textTransform:"none",";\n font-feature-settings: ").concat(e.fontFeatureSettings,";\n font-variation-settings: ").concat(e.fontVariationSettings,";\n font-weight: ").concat(e.fontWeight,";\n --font-weight: ").concat(e.fontWeight,";\n font-style: ").concat(e.fontStyle,";\n ")},[t("div",{staticClass:"font-sample-content",style:{"word-break":e.settings.wrapLines?"break-all":"normal"}},[e._t("default")],2)])},za=[],Va={name:"FontSample",computed:Object(f["a"])(Object(f["a"])(Object(f["a"])({},Object(b["e"])({scrolledParentSelector:function(e){return e.layout.scrolledParentSelector}})),Object(b["c"])(["selectedSampleKey","displayedSettings","selectedLoclLanguage","selectedFont","selectedBoldFont","selectedItalicFont","selectedBoldItalicFont","formatRequested","fontFeatureSettings","fontVariationSettings","fontWeight","fontStyle","languageSupport"])),{},{settings:function(){return this.displayedSettings}})},Da=Va,Ra=(n("3bc0"),Object(h["a"])(Da,Ha,za,!1,null,null,null)),$a=Ra.exports,Wa=(n("843c"),function(){var e=this,t=e._self._c;return t("div",{staticClass:"header-flex"},[t("h3",{attrs:{id:e.header.langId}},[e._v(e._s(e.header.language))]),e.header.opentypeTag?t("div",[t("span",{staticClass:"light"},[e._v("OT code: ")]),t("code",[e._v(e._s(e.header.opentypeTag.padEnd(4," "))+" ")]),t("span",{staticClass:"light"},[e._v("HTML code: ")]),t("code",[e._v(e._s(e.header.htmlTag))])]):e._e(),t("div",[e._v(e._s(e.printNumber(e.header.speakers))+" speakers")])])}),Ga=[];function qa(e){return e>1e6?e/1e6+"M":e>9999?e/1e3+"K":e}var Ja={props:{header:{type:Object,default:function(){}}},methods:{printNumber:qa}},Ya=Ja,Za=Object(h["a"])(Ya,Wa,Ga,!1,null,"52cde21e",null),Qa=Za.exports,Xa=(n("a4d3"),n("e01a"),function(){var e,t=this,n=t._self._c;return n("div",{staticClass:"header-flex"},[n("h3",{staticClass:"topic",attrs:{id:t.header.langId}},[t._v(t._s(t.header.topic))]),t.header.description?n("UiButton",{staticClass:"btn",attrs:{color:"none"}},[n("svg",{class:"help-icon",attrs:(e={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":""},Object(S["a"])(e,"height","18"),Object(S["a"])(e,"role","presentation"),Object(S["a"])(e,"focusable","false"),Object(S["a"])(e,"tabindex","-1"),e)},[n("path",{attrs:{fill:"none",d:"M0 0h24v24H0V0z"}}),n("path",{attrs:{fill:"currentColor",d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"}})]),n("UiTooltip",{staticClass:"description-tooltip",attrs:{openOn:"click",interactive:!0},domProps:{innerHTML:t._s(t.header.description||"(no description)")}})],1):t._e(),n("div",{staticClass:"tags"},t._l(t.header.tags,(function(e,a){return n("span",{key:a},[t._v(t._s(e))])})),0),n("h3",{staticClass:"language",attrs:{id:t.header.langId}},[t._v(t._s(t.header.language))]),t.header.opentypeTag?n("div",{staticClass:"language-codes"},[n("span",{staticClass:"light"},[t._v("OT code: ")]),n("code",[t._v(t._s(t.header.opentypeTag.padEnd(4," "))+" ")]),n("span",{staticClass:"light"},[t._v("HTML code: ")]),n("code",[t._v(t._s(t.header.htmlTag))])]):t._e(),n("div",{staticClass:"language-speakers"},[t._v(t._s(t.printNumber(t.header.speakers))+" speakers")])],1)}),ei=[],ti={components:{UiTooltip:te,UiButton:F["a"]},props:{header:{type:Object,default:function(){}}},methods:{printNumber:qa}},ni=ti,ai=(n("9845"),Object(h["a"])(ni,Xa,ei,!1,null,"6bcea090",null)),ii=ai.exports,si={name:"TesterBody",components:{SampleHeader:Qa,GotchaHeader:ii,FontSample:$a},props:{texts:{type:Array,default:function(){return[]}},isCustom:{type:Boolean,default:!1}},data:function(){return{selection:null,isContentEditable:!0}},computed:Object(f["a"])(Object(f["a"])(Object(f["a"])({},Object(b["e"])({scrolledParentSelector:function(e){return e.layout.scrolledParentSelector}})),Object(b["c"])(["selectedSampleKey","displayedSettings","selectedLoclLanguage","selectedFont","selectedBoldFont","selectedItalicFont","selectedBoldItalicFont","formatRequested","fontFeatureSettings","fontVariationSettings","languageSupport"])),{},{settings:function(){return this.displayedSettings},isGotchas:function(){return"gotchas"===this.selectedSampleKey},fontSizes:function(){return this.settings.enableWaterfall?this.settings.waterfallSizes.split(","):[this.settings.fontSize]}}),watch:{formatRequested:function(e){if(this.selection)if(e)try{this.selection.wrap(e),this.saveText(this.selection.container)}finally{this.$store.commit("format",{tag:""})}else this.selection.container.focus()}},mounted:function(){this.syncSamples(),this.$watch("texts",this.syncSamples,{deep:!0}),this.$watch("fontSizes",this.syncSamples,{deep:!0})},beforeDestroy:function(){},methods:{onPaste:function(e){var t=(e.clipboardData||window.clipboardData).getData("text"),n=window.getSelection();if(!n.rangeCount)return!1;n.deleteFromDocument(),n.getRangeAt(0).insertNode(document.createTextNode(t)),this.saveText(e.target),e.preventDefault()},onInput:function(e){this.saveText(e.target)},onFocus:function(e){this.selection=new nt(e.target)},syncSamples:function(){if(this.isCustom){var e=this.texts[0].html,t=this.$refs.content;if(t){var n=t instanceof Array?this.$refs.content:[this.$refs.content];n.filter((function(e){return e!==document.activeElement})).forEach((function(t){return t.innerHTML=e}))}}},saveText:function(e){if(this.isCustom){var t=e.innerHTML;this.$emit("update",{html:t,headings:[]})}},notifyWindow:function(){window.dispatchEvent(new Event("resize"))},transformText:function(e){return e}}},oi=si,ri=(n("3665"),Object(h["a"])(oi,Ua,Ea,!1,null,null,null)),li=ri.exports,ci=function(){var e=this,t=e._self._c;return t("div",{staticClass:"language-sidebar contextual-sidebar",on:{"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.nextAnchor.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.previousAnchor.apply(null,arguments)}],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.goToAnchor.apply(null,arguments)}}},[t("div",{staticClass:"row row-filter"},[t("label",{staticClass:"row-label",staticStyle:{"min-width":"0"}},[e._v("Search")]),t("UiTextbox",{ref:"filterTextbox",class:e.languageFilter?"filter-textbox":"",model:{value:e.languageFilter,callback:function(t){e.languageFilter=t},expression:"languageFilter"}}),t("UiIconButton",{directives:[{name:"show",rawName:"v-show",value:e.languageFilter,expression:"languageFilter"}],staticClass:"btn-clear",attrs:{color:"primary"},on:{click:e.clearFilter,keydown:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;t.stopPropagation()}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0V0z"}}),t("path",{attrs:{fill:"currentColor",stroke:"currentColor","stroke-width":"1.2",d:"M18.3 5.71a.996.996 0 00-1.41 0L12 10.59 7.11 5.7A.996.996 0 105.7 7.11L10.59 12 5.7 16.89a.996.996 0 101.41 1.41L12 13.41l4.89 4.89a.996.996 0 101.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"}})])])],1),t("div",{staticClass:"row row-filter"},[t("label",{staticClass:"row-label",staticStyle:{"min-width":"0"}},[e._v("Scripts")]),t("UiSelect",{attrs:{multiple:!0,options:e.scripts,keys:{class:"class",image:"image",label:"script"},value:e.scripts.filter((function(e){return e.isSelected}))},on:{input:function(t){return e.selectScripts({values:t})}}})],1),t("div",{staticClass:"row row-filter"},[t("UiCheckbox",{attrs:{value:e.anySelected,label:e.anySelected?"clear all":"select all"},on:{input:function(t){return e.selectDeselectAllLanguages({checked:t})}}})],1),t("div",{staticClass:"language-list"},[t("div",{ref:"scrolled",staticClass:"scrolled",attrs:{tabindex:"-1"},on:{"!keydown":[function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault()},function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault()}]}},e._l(e.filteredLanguages,(function(n,a){return t("div",{key:a,staticClass:"language-item",class:{"has-text":n.hasText}},[t("UiCheckbox",{attrs:{value:n.isSelected,tabindex:"-1"},on:{input:function(t){return e.toggleLanguage(n.id,t)}}}),t("a",{class:"language-link ".concat(n.isSelected?"":"disabled"),attrs:{href:"#".concat(n.language,"-").concat(n.id),tabindex:a>0?-1:0},on:{focus:function(t){return 0===a?e.highlightAnchor(t):""},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:(t.preventDefault(),e.toggleLanguage(n.id,!n.isSelected))}}},[e._v(" "+e._s(n.language)+" ")])],1)})),0)])])},ui=[];function gi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!1),e.dispatchEvent(n)}var pi={components:{UiCheckbox:ca["a"],UiSelect:G,UiTextbox:L["a"],UiIconButton:$e["a"]},props:{},computed:Object(f["a"])(Object(f["a"])({},Object(b["c"])(["languages","scripts"])),{},{filteredLanguages:function(){var e=this.languageFilter.toLowerCase(),t=this.languages.filter((function(t){return t.language.toLowerCase().startsWith(e)})),n=this.languages.filter((function(n){return~n.language.toLowerCase().indexOf(e)&&!t.includes(n)}));return[].concat(Object(_["a"])(t),Object(_["a"])(n))},highlightedAnchor:function(){return this.anchors.length&&null!=this.highlightedAnchorIndex?this.anchors[this.highlightedAnchorIndex]:null},anySelected:function(){return this.languages.some((function(e){return e.isSelected}))}}),data:function(){return{languageFilter:"",highlightedAnchorIndex:null,anchors:[],selectedScripts:[]}},watch:{languageFilter:function(){var e=this;this.$nextTick((function(){e.anchors=e.$el.querySelectorAll(".language-link"),e.highlightedAnchorIndex=null}))},highlightedAnchorIndex:function(e,t){var n=this;this.$nextTick((function(){null!=n.highlightedAnchorIndex&&(null!=t&&n.anchors[t].classList.remove("highlighted"),null!=e&&n.anchors[e].classList.add("highlighted"),n.scrollAnchorIntoView(),setTimeout((function(){return n.highlightedAnchor.focus()}),18))}))},anchors:function(){var e=this;this.anchors.forEach((function(t){t.removeEventListener("click",e.highlightAnchor),t.addEventListener("click",e.highlightAnchor)}))}},mounted:function(){this.anchors=this.$el.querySelectorAll(".language-link")},destroyed:function(){},methods:Object(f["a"])(Object(f["a"])({clearFilter:function(){this.languageFilter="",this.$refs.filterTextbox.focus()},toggleLanguage:function(e,t){this.$store.dispatch("selectLanguage",{id:e,checked:t})},highlightAnchor:function(e){this.highlightedAnchorIndex=Array.from(this.anchors).indexOf(e.target)},nextAnchor:function(){if(this.anchors.length)if(null==this.highlightedAnchorIndex)this.highlightedAnchorIndex=0;else{var e=this.highlightedAnchorIndex+1;e===this.anchors.length?(this.$refs.filterTextbox.focus(),this.highlightedAnchorIndex=null):this.highlightedAnchorIndex=e%this.anchors.length}},previousAnchor:function(){if(this.anchors.length)if(null==this.highlightedAnchorIndex)this.highlightedAnchorIndex=this.anchors.length-1;else{var e=this.highlightedAnchorIndex-1;-1===e?(this.$refs.filterTextbox.focus(),this.highlightedAnchorIndex=null):this.highlightedAnchorIndex=(e+this.anchors.length)%this.anchors.length}},scrollAnchorIntoView:function(){if(this.highlightedAnchor){var e=this.highlightedAnchor,t=e.getBoundingClientRect(),n=this.$refs.scrolled,a=n.getBoundingClientRect(),i=t.top-a.top,s=-t.bottom+a.bottom,o=10,r=36;(i1&&void 0!==arguments[1]?arguments[1]:"";this.segments.push({key:this.getKey(),characters:t})},removeKerningSegment:function(e){this.segments.splice(e,1),this.updateKerningPattern()},addKerningPattern:function(){var e=this;this.$store.dispatch("addKerningPattern",{segments:["",""]}),this.$nextTick((function(){var t=e.kerningPatterns[0];e.selectPattern(t.id)}))},updateKerningPattern:function(){null!=this.selectedPatternId&&(this.activeElement=document.activeElement,this.$store.dispatch("updateKerningPattern",{id:this.selectedPatternId,segments:this.segments.map((function(e){return e.characters}))}))},removeKerningPattern:function(e){this.$store.dispatch("removeKerningPattern",{id:e})},toggleKerningPattern:function(e,t){this.$store.dispatch("toggleKerningPattern",{id:e,on:t})},clearKerningPatterns:function(){this.$store.dispatch("clearKerningPatterns"),document.querySelector(this.scrolledParentSelector).scrollTop=0},revertKerningPatterns:function(){this.$store.dispatch("revertKerningPatterns")},formatPatternId:function(e){return e.replace(/×/g,"×").replace(/-/g,"‑")}}},Ti=yi,bi=(n("f5dfe"),Object(h["a"])(Ti,fi,vi,!1,null,"002f2e82",null)),Si=bi.exports,ki=function(){var e=this,t=e._self._c;return t("div",{staticClass:"language-support-summary"},[t("v-style",[e._v(" .glyph { font-size: "+e._s(e.settings.fontSize)+e._s(e.settings.fontSizeUnit)+"; } ")]),t("div",{staticClass:"main-column"},[t("div",[t("p",[e._v(" Font supports "),t("strong",[e._v(e._s(e.languageSupport.supportedLanguages.length))]),e._v(" out of "),t("strong",[e._v(e._s(e.languageSupport.languages.length))]),e._v(" listed languages. ")]),t("h2",[e._v(" Supported languages "),t("UiSelect",{staticClass:"inline",attrs:{options:e.supportedLanguagesSortingOptions},model:{value:e.supportedLanguagesSorting,callback:function(t){e.supportedLanguagesSorting=t},expression:"supportedLanguagesSorting"}})],1),t("LanguageList",{attrs:{languages:e.supportedLanguages},on:{"select-language":function(t){return e.selectLanguage(t)}}}),t("h2",[e._v(" Unsupported languages "),t("UiSelect",{staticClass:"inline",attrs:{options:e.unsupportedLanguagesSortingOptions},model:{value:e.unsupportedLanguagesSorting,callback:function(t){e.unsupportedLanguagesSorting=t},expression:"unsupportedLanguagesSorting"}})],1),t("LanguageList",{attrs:{languages:e.unsupportedLanguages},on:{"select-language":function(t){return e.selectLanguage(t)}}}),t("h2",[e._v(" Missing characters "),t("UiSelect",{staticClass:"inline",attrs:{options:e.missingCharacterSortingOptions},model:{value:e.missingCharacterSorting,callback:function(t){e.missingCharacterSorting=t},expression:"missingCharacterSorting"}})],1),t("div",e._l(e.missingCharacters,(function(n){return t("div",{key:n.script},[t("h3",[e._v(e._s(n.script))]),e._l(n.characters.filter((function(e){return 1===e.character.length})),(function(n,a){return t("button",{key:a,class:"glyph support-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return n.speakers>e})).length),on:{click:function(t){return e.selectCharacter(n)}}},[e._v(e._s(n.character)+" ")])}))],2)})),0),t("h2",[e._v(" Missing character combinations by script ")]),t("div",e._l(e.languageSupport.missingCharacterCombinationsByScript,(function(n){return t("div",{key:n.script},[t("h3",[e._v(e._s(n.script))]),e._l(n.characters,(function(n,a){return t("button",{key:a,class:"glyph support-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return n.speakers>e})).length),on:{click:function(t){return e.selectCharacter(n)}}},[e._v(e._s(n.character)+" ")])}))],2)})),0),t("h2",[e._v(" Included characters by script ")]),t("div",e._l(e.languageSupport.includedCharactersByScript,(function(n){return t("div",{key:n.script},[t("h3",[e._v(e._s(n.script))]),t("FontSample",e._l(n.characters.filter((function(e){return 1===e.character.length})),(function(n,a){return t("div",{key:a,class:"glyph needed-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return n.speakers>e})).length),on:{click:function(t){return e.selectCharacter(n)}}},[e._v(e._s(n.character))])})),0)],1)})),0),t("h2",[e._v(" Included character combinations by script ")]),t("div",e._l(e.languageSupport.includedCharacterCombinationsByScript,(function(n){return t("div",{key:n.script},[t("h3",[e._v(e._s(n.script))]),t("FontSample",e._l(n.characters,(function(n,a){return t("div",{key:a,class:"glyph needed-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return n.speakers>e})).length),on:{click:function(t){return e.selectCharacter(n)}}},[e._v(e._s(n.character))])})),0)],1)})),0),t("h2",[e._v(" All included characters ")]),t("FontSample",e._l(e.languageSupport.fontCharacters,(function(n,a){return t("div",{key:a,class:"glyph needed-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(e){return n.speakers>e})).length),on:{click:function(t){return e.selectCharacter(n)}}},[e._v(e._s(n.character))])})),0)],1)]),t("Pinnable",{staticClass:"sidebar",attrs:{isPinned:!0,isVisible:!0,scrolled:!1}},[t("div",{staticClass:"language-character-sidebar"},[e.selectedCharacter?t("ScrollPanel",[t("CharacterPanel",{attrs:{characterInfo:e.selectedCharacter},on:{"select-language":function(t){return e.selectLanguage(t)}}})],1):t("div",{staticClass:"placeholder-info"},[e._v(" "+e._s(e.languageSupport.characters.filter((function(e){return!e.isMissing})).length)+" / "+e._s(e.languageSupport.characters.length)+" characters ")]),e.selectedLanguage?t("ScrollPanel",[t("LanguagePanel",{attrs:{lang:e.selectedLanguage.htmlTag,languageInfo:e.selectedLanguage,characters:e.languageSupport.characters},on:{"character-clicked":function(t){return e.selectCharacter(e.languageSupport.characters.find((function(e){return e.character===t})))}}})],1):t("div",{staticClass:"placeholder-info"},[e._v(" "+e._s(e.languageSupport.supportedLanguages.length)+" / "+e._s(e.languageSupport.languages.length)+" languages ")])],1)])],1)},xi=[],_i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scroll-panel"},[t("div",[t("div",{staticClass:"content"},[e._t("default")],2)])])},Ci=[],wi={},Fi=Object(h["a"])(wi,_i,Ci,!1,null,null,null),Oi=Fi.exports,Ai=function(){var e=this,t=e._self._c;return t("div",{staticClass:"language-panel"},[t("div",{staticClass:"info-bar"},[t("strong",[e._v(e._s(e.languageInfo.language)+" ")]),t("div",[t("label",[e._v("OpenType: ")]),e._v(" "),t("code",[e._v(e._s(e.languageInfo.opentypeTag))])]),t("div",[t("label",[e._v("HTML: ")]),e._v(" "),t("code",[e._v(e._s(e.languageInfo.htmlTag))])]),t("a",{attrs:{href:"https://en.wikipedia.org/wiki/".concat(e.languageInfo.language.replace(/languages?$/,"_language")),target:"_blank",rel:"noopener noreferrer"}},[e._v("Wikipedia")])]),t("p",[t("strong",[e._v(e._s(e.printNumber(e.languageInfo.speakers))+" speakers")])]),e.languageInfo.missingCharacters.length?t("header",[e._v("missing characters")]):e._e(),t("div",{staticClass:"glyphs"},e._l(e.languageInfo.missingCharacters,(function(n,a){return t("button",{key:a,staticClass:"glyph support-4",on:{click:function(t){return e.$emit("character-clicked",n)}}},[e._v(e._s(n)+" ")])})),0),e.languageInfo.includedCharacters.length?t("header",[e._v("supported characters")]):e._e(),t("FontSample",e._l(e.languageInfo.includedCharacters,(function(n,a){return t("div",{key:a,class:"glyph needed-".concat(5-[0,2e4,6e5,2e6,8e6].filter((function(t){return e.characters.find((function(e){return e.character===n})).speakers>t})).length),on:{click:function(t){return e.$emit("character-clicked",n)}}},[e._v(e._s(n))])})),0),e.languageInfo.specialLetters.length!=e.languageInfo.requiredCharacters.length?t("div",[t("header",[e._v("letter units")]),t("FontSample",e._l(e.languageInfo.specialLetters,(function(n,a){return t("div",{key:a,staticClass:"glyph",on:{click:function(t){return e.$emit("character-clicked",n)}}},[e._v(e._s(n))])})),0)],1):e._e(),e.languageInfo.gotchas.length?t("div",[t("header",[e._v("gotchas")]),t("div",{staticClass:"gotchas"},[e._l(e.languageInfo.gotchas,(function(n,a){return t("p",{key:a,domProps:{innerHTML:e._s("".concat(n.topic,": ")+(n.description||n.tags.join(", ")))}})})),t("p",[t("router-link",{attrs:{to:"/gotchas#".concat(e.languageInfo.language,"-").concat(e.languageInfo.id)}},[e._v(" go to tests ")])],1)],2)]):e._e()],1)},Li=[],Pi={components:{FontSample:$a},props:{languageInfo:{type:Object,required:!0},characters:{type:Array,required:!0}},methods:{printNumber:qa}},ji=Pi,Ki=(n("bdbf"),Object(h["a"])(ji,Ai,Li,!1,null,"704de156",null)),Ii=Ki.exports,Mi=function(){var e=this,t=e._self._c;return t("div",{staticClass:"language-list"},[e._l(e.languages,(function(n){return t("span",{key:n.language+"-"+n.script,attrs:{lang:n.htmlCode}},[t("UiButton",{class:"language-button support-".concat(Math.min(4,Math.ceil((n.missingCharacters||[]).length/5))||"full"),on:{click:function(t){return e.$emit("select-language",n)}}},[t("div",[e._v(" "+e._s(n.language)+" ")]),e.fields.indexOf("coverage")>-1?t("div",{staticClass:"goals"},[e._v(" "+e._s(n.includedCharacters.length)+"/"+e._s(n.requiredCharacters.length)+" ")]):e._e(),n.gotchas.length?t("div",{staticClass:"gotcha-warning-icon"},[t("svg",{class:"help-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"18",height:"18","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z"}})])]):e._e()])],1)})),t("UiButton",{on:{click:e.copyList}},[e._v("copy list")]),t("textarea",{ref:"list",staticStyle:{position:"absolute",left:"-9999px"},domProps:{value:e.languages.map((function(e){return e.language})).join(", ")}})],2)},Bi=[],Ni={components:{UiButton:F["a"]},props:{languages:Array,fields:{type:Array,default:function(){return[]}}},methods:{copyList:function(){this.$refs.list.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()}}},Ui=Ni,Ei=(n("b346"),Object(h["a"])(Ui,Mi,Bi,!1,null,"f2446db8",null)),Hi=Ei.exports,zi=function(){var e=this,t=e._self._c;return t("div",{staticClass:"character-panel"},[t("CharacterInfo",{attrs:{character:e.characterInfo.character}}),t("div",[t("strong",[e._v(e._s(e.printNumber(e.characterInfo.speakers)))]),e._v(" speakers total")]),e.characterInfo.obligatoryLanguages?t("div",[t("h4",[e._v("obligatory in "+e._s(e.characterInfo.obligatoryLanguages.length)+" languages")]),t("div",[t("LanguageList",{attrs:{languages:e.characterInfo.obligatoryLanguages,fields:["coverage"]},on:{"select-language":function(t){return e.$emit("select-language",t)}}})],1),t("br"),t("div",[t("a",{attrs:{href:e.wordFinderUrl,target:"_blank",rel:"noopener noreferrer"}},[e._v("find words")])])]):e._e(),e.characterInfo.optionalLanguages?t("div",[e.characterInfo.optionalLanguages.length?t("div",[t("strong",[e._v("optional in "+e._s(e.characterInfo.optionalLanguages.length)+" languages")])]):e._e(),t("div",[e._v(" "+e._s(e.characterInfo.optionalLanguages.map((function(e){return e.language+" (".concat(e.optionalCharactersNote,")")})).join(", "))+" ")])]):e._e()],1)},Vi=[],Di=function(){var e=this,t=e._self._c;return t("div",{staticClass:"character-info"},[t("div",{staticClass:"character-font-preview"},[e._v(e._s(e.character)+" ")]),t("div",{staticClass:"info-bar"},[t("div",{staticStyle:{"font-size":"2.5rem"}},[e._v(e._s(e.characterRepresentation)+" ")]),t("div",[e._v(e._s(e.unicodes))]),t("div",[e._v(e._s(e.glyphnames))]),t("a",{attrs:{href:"https://en.wikipedia.org/wiki/".concat(e.character),target:"_blank",rel:"noopener noreferrer"}},[e._v("Wikipedia")])])])},Ri=[],$i={props:{character:{type:String,required:!0}},computed:{characterRepresentation:function(){var e=this.character.charCodeAt(0);return(e>767&&e<807?"◌":"")+this.character},codepoints:function(){return this.character.split("").map((function(e){return e.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0")}))},glyphnames:function(){return this.codepoints.map((function(e){return"uni"+e})).join(" + ")},unicodes:function(){return this.codepoints.map((function(e){return"U+"+e})).join(" ")}}},Wi=$i,Gi=(n("0f0c"),Object(h["a"])(Wi,Di,Ri,!1,null,"42b34de5",null)),qi=Gi.exports,Ji={components:{CharacterInfo:qi,LanguageList:Hi},props:{characterInfo:{type:Object,required:!0}},computed:{wordFinderUrl:function(){return"https://wordfinder.italic.space/search"+"?i=".concat(this.characterInfo.character)+"&l=".concat(this.characterInfo.obligatoryLanguages.map((function(e){return e.htmlTag})).join(","))}},methods:{printNumber:qa}},Yi=Ji,Zi=(n("accd"),Object(h["a"])(Yi,zi,Vi,!1,null,"6c85dae4",null)),Qi=Zi.exports,Xi=n("e83a");i["a"].component("v-style",{render:function(e){return e("style",this.$slots.default)}});var es=["alphabetically","by speakers","by included chars","by missing chars","by missing chars/speakers"],ts=es,ns=["alphabetically","by speakers","by language count"],as={components:{LanguagePanel:Ii,LanguageList:Hi,CharacterPanel:Qi,UiSelect:Xi["a"],Pinnable:oa,ScrollPanel:Oi,FontSample:$a},data:function(){return{unsupportedLanguagesSortingOptions:es,supportedLanguagesSortingOptions:ts,missingCharacterSortingOptions:ns,unsupportedLanguagesSorting:es[0],supportedLanguagesSorting:ts[1],missingCharacterSorting:ns[2],selectedCharacter:null,selectedLanguage:null}},computed:Object(f["a"])(Object(f["a"])({},Object(b["c"])(["selectedSampleKey","languageSupport","settings"])),{},{supportedLanguages:function(){var e=this.languageSupport.supportedLanguages.slice();return this.sortLanguages(e,this.supportedLanguagesSorting),e},unsupportedLanguages:function(){var e=this.languageSupport.unsupportedLanguages.slice();return this.sortLanguages(e,this.unsupportedLanguagesSorting),e},missingCharacters:function(){var e=this.languageSupport.missingCharactersByScript.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{characters:e.characters.slice()})}));switch(this.missingCharacterSortingOptions.indexOf(this.missingCharacterSorting)){case 1:e.forEach((function(e){return e.characters.sort((function(e,t){return t.speakers-e.speakers}))}));break;case 2:e.forEach((function(e){return e.characters.sort((function(e,t){return t.obligatoryLanguages.length-e.obligatoryLanguages.length}))}));break}return e}}),methods:{sortLanguages:function(e,t){switch(this.supportedLanguagesSortingOptions.indexOf(t)){case 1:e.sort((function(e,t){return t.speakers-e.speakers}));break;case 2:e.sort((function(e,t){return t.includedCharacters.length-e.includedCharacters.length}));break;case 3:e.sort((function(e,t){return t.missingCharacters.length-e.missingCharacters.length}));break;case 4:e.sort((function(e,t){return-t.missingCharacters.length/t.speakers+e.missingCharacters.length/e.speakers}));break}return e},printNumber:qa,selectCharacter:function(e){this.selectedCharacter=e},selectLanguage:function(e){this.selectedLanguage=e}}},is=as,ss=(n("ee87"),Object(h["a"])(is,ki,xi,!1,null,null,null)),os=ss.exports,rs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"font-sample-nav contextual-sidebar"},[t("div",{staticClass:"toolbar panel btn-group"},[t("UiIconButton",{attrs:{tooltip:"Heading",color:e.isHeadingActive?"primary":"default"},on:{click:e.makeHeading}},[e._v(" H ")]),t("UiIconButton",{attrs:{tooltip:"Bold",color:e.isBoldActive?"primary":"default"},on:{click:e.makeBold}},[e._v(" B ")]),t("UiIconButton",{attrs:{tooltip:"Italic",color:e.isItalicActive?"primary":"default"},on:{click:e.makeItalic}},[e._v(" I ")])],1),t("div",{staticClass:"nav-links"},[t("div",{staticClass:"scrolled"},[t("div",{staticClass:"nav panel"},e._l(e.textHeadings,(function(n,a){return t("div",{key:a},[t("a",{staticClass:"heading-link",attrs:{href:"#".concat(n.id)}},[e._v(" "+e._s(n.text)+" ")])])})),0),t("AnimationEditor")],1)])])},ls=[],cs=function(){var e=this,t=e._self._c;return t("div",{staticClass:"animation-editor panel"},[t("h3",[e._v("Animation editor")]),t("div",{staticClass:"row"},[t("label",{staticClass:"row-label"},[e._v("Duration")]),t("UiTextbox",{model:{value:e.duration,callback:function(t){e.duration=t},expression:"duration"}})],1),t("EditableList",{staticClass:"keyframes",attrs:{options:e.animationKeyframes,keys:{key:"id"}},on:{remove:function(t){return e.removeAnimationKeyframe({id:t})}},scopedSlots:e._u([{key:"option",fn:function(n){var a=n.option,i=n.index;return[t("UiButton",{class:"keyframe border"+(a.id===e.activeKeyframeId?" active":""),attrs:{id:"keyframe-btn-".concat(a.id)},on:{click:function(t){return e.activateKeyframe({id:a.id})}}},[t("div",{staticClass:"label"},[e._v(" Keyframe "+e._s(a.id)+" ")]),t("UiProgressLinear",{attrs:{progress:e.keyframeProgress[i],type:"determinate"}})],1)]}},{key:"footer",fn:function(){return[t("div",{staticClass:"btn-group"},[t("UiButton",{on:{click:e.addAnimationKeyframe}},[e._v(" Add ")]),t("UiButton",{attrs:{loading:e.playing,disabled:!e.canAnimate},on:{click:e.play}},[e._v(" Play ")])],1)]},proxy:!0}])}),t("div",{staticClass:"row-v"},[t("label",{staticClass:"row-label"},[e._v("Code")]),t("UiTextbox",{attrs:{value:e.keyframesText,multiLine:!0,rows:5,autosize:!1},on:{input:function(t){return e.importAnimationKeyframes(t)}}})],1),t("div",{staticClass:"row-v"},[t("label",{staticClass:"row-label"},[e._v("Animated")]),t("UiSelect",{attrs:{value:e.animatedProperties,options:e.animatableProperties,multiple:!0},on:{input:function(t){return e.setAnimatedProperties({properties:t})}}})],1),t("a",{key:"help",staticClass:"help-link",attrs:{target:"_blank",rel:"noopener noreferrer",href:"/help/animation"}},[t("svg",{class:"help-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0V0z"}}),t("path",{attrs:{fill:"currentColor",d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"}})]),t("span",[e._v(" Help ")])])],1)},us=[],gs=n("1209"),ps=function(){var e=this,t=e._self._c;return t("div",{staticClass:"editable-list"},[t("transition-group",{attrs:{name:"fade"}},[t("div",{key:"header",staticClass:"row"},[e._t("header")],2),e._l(e.options,(function(n,a){return t("div",{key:e.keys.key?n[e.keys.key]:a,staticClass:"editable-list-item"},[e.keys.checked?t("UiCheckbox",{attrs:{value:n[e.keys.checked]},on:{input:function(t){return e.$emit("check",{key:n[e.keys.key],value:t})}}}):e._e(),e._t("option",(function(){return[e._v(" "+e._s(e.keys.label?n[e.keys.label]:n)+" ")]}),{option:n,index:a}),t("UiIconButton",{staticClass:"border",attrs:{color:"default",size:"small"},on:{click:function(t){return e.$emit("remove",e.keys.key?n[e.keys.key]:n)}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","svg-inline":"",role:"presentation",focusable:"false",tabindex:"-1"}},[t("path",{attrs:{d:"M19 13H5v-2h14v2z",fill:"currentColor"}}),t("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}})])])],2)})),t("div",{key:"footer",staticClass:"row"},[e._t("footer")],2)],2)],1)},hs=[],ms={components:{UiIconButton:$e["a"],UiCheckbox:ca["a"]},props:{options:{type:Array,default:function(){return[]}},keys:{type:Object,default:function(){return{key:"",label:"",checked:""}}}}},ds=ms,fs=(n("72e2"),Object(h["a"])(ds,ps,hs,!1,null,"69007cc0",null)),vs=fs.exports,ys=["fontFeatureSettings"],Ts={components:{UiTextbox:L["a"],UiSelect:Xi["a"],UiButton:F["a"],UiProgressLinear:P["a"],EditableList:vs},data:function(){return{duration:2e3,playing:!1,progress:0,keyframeProgress:[]}},computed:Object(f["a"])(Object(f["a"])({},Object(b["c"])(["animationKeyframes","animatedProperties","animatableProperties","activeKeyframeId"])),{},{canAnimate:function(){return this.animationKeyframes.length>=2},keyframesText:function(){return JSON.stringify(this.animationKeyframes)}}),methods:Object(f["a"])(Object(f["a"])({},Object(b["d"])(["addAnimationKeyframe","removeAnimationKeyframe","activateKeyframe","importAnimationKeyframes","setAnimatedProperties"])),{},{updateKeyframeProgress:function(){var e=this;this.animationKeyframes.forEach((function(t,n,a){var i=100/a.length,s=i*n,o=i*(n+1),r=(e.progress-s)/(o-s)*100;e.$set(e.keyframeProgress,n,Math.max(0,Math.min(100,r)))}))},play:function(){var e=this;if(this.canAnimate){var t=this.animationKeyframes.map((function(t){var n={};return Object.keys(t.frame).forEach((function(a){e.animationKeyframes.some((function(e){return e.frame[a]!==t.frame[a]}))&&(n[a]=t.frame[a])})),n})),n=[],a=[];t.forEach((function(e,t){var i=e.fontFeatureSettings,s=Object(ke["a"])(e,ys);i&&(i=i.replace(/['"](ss\d\d|aalt)['"]( (0|1))* *,* */g,""));var o=Object(f["a"])({},s),r={fontFeatureSettings:i};0===t&&(r.duration=0,o.duration=0),n.push(r),a.push(o)}));var i=document.querySelector(".font-sample"),s=gs["a"].timeline({targets:i,duration:this.duration,easing:"easeOutQuad",autoplay:!1,delay:100,endDelay:0});s.add({keyframes:n,easing:"steps(1)"},0),s.add({keyframes:a,update:function(t){var n=i.style,a=(t.progress-e.progress)/100*e.duration;a>48&&(e.$store.dispatch("animateSettings",{style:n}),e.progress=t.progress)},begin:function(){e.playing=!0},complete:function(){e.$store.commit("finishAnimateSettings"),e.playing=!1,e.progress=0,e.activateKeyframe({id:e.animationKeyframes.slice(-1)[0].id})}},0),this.activateKeyframe({id:this.animationKeyframes[0].id}),s.restart()}}})},bs=Ts,Ss=(n("82c8"),Object(h["a"])(bs,cs,us,!1,null,"0dcbafa4",null)),ks=Ss.exports,xs={components:{UiIconButton:$e["a"],AnimationEditor:ks},data:function(){return{isBoldActive:!1,isItalicActive:!1,isHeadingActive:!1}},computed:Object(f["a"])({},Object(b["c"])(["textHeadings","editor"])),mounted:function(){document.addEventListener("selectionchange",this.onSelection)},beforeDestroy:function(){document.removeEventListener("selectionchange",this.onSelection)},methods:{onSelection:function(){if(document.activeElement){var e=new nt(document.activeElement);this.isBoldActive=e.containsTag("strong"),this.isItalicActive=e.containsTag("em"),this.isHeadingActive=e.containsTag("h3")}},makeHeading:function(){this.$store.commit("format",{tag:"h3"})},makeBold:function(){this.$store.commit("format",{tag:"strong"})},makeItalic:function(){this.$store.commit("format",{tag:"em"})}}},_s=xs,Cs=(n("53a0"),Object(h["a"])(_s,rs,ls,!1,null,"1ab2b246",null)),ws=Cs.exports,Fs={name:"FontTester",components:{Pinnable:oa,Settings:Na,TesterBody:li,LanguageNav:di,KerningNav:Si,FontSampleNav:ws,LanguageSupportSummary:os},data:function(){return{isPinned:!0}},computed:Object(f["a"])(Object(f["a"])(Object(f["a"])({},Object(b["e"])(["fontLoading","settingsPanelVisible","contextualPanelVisible","languageSupport","expandedMenu"])),{},{selectedTextKind:function(){return this.$route.params.text},selectedCustomTextId:function(){return Number(this.$route.params.id)}},Object(b["c"])(["scrolledParentSelector","texts","selectedSampleKey"])),{},{navElement:function(){return"kerning"===this.selectedTextKind?Si:"custom"===this.selectedTextKind?ws:di},navElementTitle:function(){return this.navElement===di?"Languages":this.navElement===Si?"Kerning":"Playground"},fontSampleTexts:function(){return this.texts[this.selectedSampleKey]}}),watch:{selectedTextKind:function(){this.selectSample()},selectedCustomTextId:function(){this.selectSample()}},beforeMount:function(){this.$store.commit("resetSettings"),this.selectSample()},mounted:function(){window.innerWidth<1e3&&this.$store.commit("toggleSettingsPanel",{value:!1})},methods:{selectSample:function(){var e=this.selectedTextKind,t=this.selectedCustomTextId;this.$store.dispatch("selectSample",{kind:e,id:t})},modifyText:function(e){this.$store.commit("modifyText",e)}}},Os=Fs,As=(n("ceaa"),Object(h["a"])(Os,Qn,Xn,!1,null,"64e504be",null)),Ls=As.exports;i["a"].use(v["a"]);var Ps=new v["a"]({mode:"history",base:"/",routes:[{path:"/",name:"Home",components:{header:_t,main:Xt,footer:Pt}},{path:"/editor",redirect:"/custom"},{path:"/:text(".concat(Tt.join("|"),"|custom)/:id?"),name:"FontTester",components:{header:_t,main:Ls,footer:Pt}},{path:"/help/kerning",name:"KerningHelp",components:{header:_t,main:An,footer:Pt}},{path:"/help/animation",name:"AnimationHelp",components:{header:_t,main:Hn,footer:Pt}},{path:"/help/query-string",name:"QueryString",components:{header:_t,main:Zn,footer:Pt}},{path:"/help",name:"Help",components:{header:_t,main:sn,footer:Pt}}]});function js(e){return!!Object.keys(e.query).length}Ps.beforeEach((function(e,t,n){!js(e)&&js(t)?n(Object(f["a"])(Object(f["a"])({},e),{},{query:t.query})):n()}));var Ks=Ps,Is=[{segments:["A-Z","A-Z"]},{segments:["A-Z","a-z"]},{segments:["a-z","a-z"]},{segments:["А-Я","А-Я"]},{segments:["А-Я","а-я"]},{segments:["а-я","а-я"]},{segments:["Α-ΡΣ-Ω","Α-ΡΣ-Ω"]},{segments:["Α-ΡΣ-Ω","α-ω"]},{segments:["α-ω","α-ω"]},{segments:["0-9","0-9"]},{segments:[".,\\-/","0-9"]},{segments:["@()[]{}","0-9A-Za-z"]},{segments:[".,-","A-Za-z"]},{segments:['@“”„”„“””""',"A-Za-z"]}];function Ms(e){return e.lines[0]}var Bs={lettering:"letterings",pangrams:"pangrams",sentences:"paragraphs",gotchas:"gotchas",ABCs:"alphabet",glyphs:null,kerning:null,languages:null},Ns=function(e){return e.replace(/"/g,""").replace(/'/g,"'")};function Us(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}var Es=0,Hs=1,zs=[{script:"Latn",name:"Latin"},{script:"Grek",name:"Greek"},{script:"Cyrl",name:"Cyrillic"},{script:"Arab",name:"Arabic"},{script:"Armn",name:"Armenian"},{script:"IPA ",name:"IPA",isSelected:!1}],Vs=Mt["a"].map((function(e){return e.script})).filter((function(e,t,n){return n.indexOf(e)===t})),Ds=Mt["a"].sort((function(e,t){return e.language.localeCompare(t.language)})),Rs={state:{selectedSampleKey:"",texts:[],customTextIds:[],languages:Ds.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{id:Es++,isSelected:!0})})),scripts:zs.filter((function(e){return Vs.indexOf(e.script)>-1})).map((function(e){return Object(f["a"])({id:Es++,isSelected:!0},e)})),textHeadings:[],formatRequested:!1,kerningPatterns:[],defaultKerningPatterns:Is,fontCharacters:"xyz".split()},mutations:{setText:function(e,t){var n=t.sampleKey,a=t.html;i["a"].set(e.texts,n,a)},modifyText:function(e,t){var n=t.html,a=t.headings,s=void 0===a?[]:a;e.selectedSampleKey in Bs?this.commit("addCustomText",{html:n}):i["a"].set(e.texts,e.selectedSampleKey,[{html:n}]),e.textHeadings=s},addCustomText:function(e,t){var n=t.html;e.customTextIds.push(Hs),e.texts[Hs]=[{html:n}],this.commit("selectSample",{kind:"custom",id:Hs});var a="/custom/".concat(e.selectedSampleKey);Ks.currentRoute.path!==a&&Ks.push(a),Hs++},removeCustomText:function(e,t){var n=t.id,a=e.customTextIds.indexOf(n);if(e.customTextIds.splice(a,1),delete e.texts[n],Ks.currentRoute.path==="/custom/".concat(n)){var i="/lettering";a=0&&a-1-1?e.isSelected=!0:e.isSelected=!1}))},clearKerningPatterns:function(e){e.kerningPatterns.splice(0),this.commit("setText",{sampleKey:"kerning",html:[""]})},initKerningPatterns:function(e){var t=this;e.defaultKerningPatterns.forEach((function(e){var n=e.segments,a=e.isVisible,i=void 0===a||a;t.commit("addKerningPattern",{segments:n,isVisible:i,toEnd:!0})}))},addKerningPattern:function(e,t){var n=t.segments,a=t.isVisible,i=t.toEnd,s=hn.sets(n),o=s.sets,r=s.closures,l=e.kerningPatterns.slice(),c={segments:n,sets:o,closures:r,isVisible:a};c.lines=hn.kerningString(c),c.name=Ms(c),c.id=Ie("kerning-pattern-"+c.name),i?l.push(c):l.unshift(c),e.kerningPatterns=l},updateKerningPattern:function(e,t){var n=t.id,a=t.segments,i=hn.sets(a),s=i.sets,o=i.closures,r=e.kerningPatterns.slice(),l=r.find((function(e){return e.id===n}));l||(this.commit("addKerningPattern",{segments:a,isVisible:!0}),r=e.kerningPatterns.slice(),l=r[0],l.id=n),l.segments=a,l.sets=s,l.closures=o,l.lines=hn.kerningString(l),l.name=Ms(l),e.kerningPatterns=r},removeKerningPattern:function(e,t){var n=t.id,a=e.kerningPatterns.findIndex((function(e){return e.id===n}));e.kerningPatterns.splice(a,1)},toggleKerningPattern:function(e,t){var n=t.id,a=t.on,i=e.kerningPatterns.findIndex((function(e){return e.id===n}));e.kerningPatterns[i].isVisible=a},updateKerning:function(e){var t=e.kerningPatterns.filter((function(e){return e.isVisible})),n=t.map((function(e){var t=e.lines,n=t[0].length>50?t.join("\n"):t.join(" ").replace(/ +/g," ");return{texts:['

    ').concat(Us(n),"

    ")]}}));this.commit("setText",{sampleKey:"kerning",html:n})},updateFontCharacters:function(e,t){var n=t.characters;e.fontCharacters=n}},actions:{selectScripts:function(e,t){e.state;var n=e.commit,a=e.dispatch,i=t.values;n("selectScripts",{values:i}),a("updateText")},selectLanguage:function(e,t){var n=e.state,a=e.commit,i=e.dispatch,s=t.id,o=t.checked,r=n.languages.find((function(e){return e.id===s}));r.isSelected!==o&&(a("selectLanguage",{id:s,checked:o}),i("updateText"))},selectSample:function(e,t){var n=e.state,a=e.commit,i=e.dispatch,s=t.kind,o=t.id;a("selectSample",{kind:s,id:o}),"kerning"===s&&0===n.kerningPatterns.length&&this.commit("initKerningPatterns"),i("updateText")},updateFontCharacters:function(e,t){var n=e.dispatch,a=t.font,i=a.characters;this.commit("updateFontCharacters",{characters:i}),n("updateText")},updateText:function(e){var t=e.state,n=e.commit,a=e.getters;function i(e){return e.replace(/\s\s+/g,"")}var s=a.selectedSampleTextKey;if(s){var o=a.selectedLanguages.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{id:"".concat(e.language,"-").concat(e.id),texts:e[s]})})),r=[];"gotchas"===a.selectedSampleKey?o.forEach((function(e){var t=e.id,n=e.language,a=e.speakers,s=e.htmlTag,o=e.opentypeTag,l=e.texts,c=l.map((function(e){var r=e.topic,l=e.tags,c=e.tests,u=e.description,g={id:t+"-"+r.replace(/[^a-z0-9]/gi,"_"),langId:t,language:n,speakers:a,htmlTag:s,opentypeTag:o,topic:r,tags:l,tests:c,description:u},p=[i('
    \n ').concat(c.map((function(e){return"

    ".concat(e,"

    ")})).join(""),"\n
    "))];return{header:g,texts:p}}));r=[].concat(Object(_["a"])(r),Object(_["a"])(c))})):r=o.map((function(e){var t,n=e.id,i=e.language,s=e.script,o=e.speakers,r=e.htmlTag,l=e.opentypeTag,c=e.texts,u={langId:n,language:i,script:s,speakers:o,htmlTag:r,opentypeTag:l};switch(a.selectedSampleKey){case"ABCs":var g=c,p=g.split(" ").filter((function(e){return e.split("").every((function(e){return e.toUpperCase()===e}))})),h=g.split(" ").filter((function(e){return e.split("").every((function(e){return e.toLowerCase()===e}))}));if(t=[g,p.join(" "),h.join(" ")],"Latn"==s){var m=p.filter((function(e){return!/^[A-Z ]+$/.test(e)})),d=h.filter((function(e){return!/^[a-z ]+$/.test(e)}));t.push(m.join("")),t.push(d.join(""))}t=t.map((function(e){return"

    ".concat(e,"

    ")}));break;default:t=c instanceof Array?c.map((function(e){return"

    ".concat(e,"

    ")})):[c].map((function(e){return"

    ".concat(e,"

    ")}))}return{header:u,texts:t}})),n("setText",{sampleKey:t.selectedSampleKey,html:r})}else if("kerning"===t.selectedSampleKey)n("updateKerning");else if("glyphs"===t.selectedSampleKey){var l=['

    '.concat(t.fontCharacters.map((function(e){return"").concat(e,"")})).join(""),"

    ")];n("setText",{sampleKey:t.selectedSampleKey,html:[{header:"",texts:l}]})}},addKerningPattern:function(e,t){var n=e.commit,a=t.segments,i=t.toEnd;n("addKerningPattern",{segments:a,isVisible:!0,toEnd:i}),n("updateKerning")},updateKerningPattern:function(e,t){var n=e.commit,a=t.id,i=t.segments;n("updateKerningPattern",{id:a,segments:i}),n("updateKerning")},removeKerningPattern:function(e,t){var n=e.commit,a=t.id;n("removeKerningPattern",{id:a}),n("updateKerning")},toggleKerningPattern:function(e,t){var n=e.commit,a=t.id,i=t.on;n("toggleKerningPattern",{id:a,on:i}),n("updateKerning")},clearKerningPatterns:function(e){var t=e.dispatch,n=e.commit;n("clearKerningPatterns"),setTimeout((function(){t("updateText")}),50)},revertKerningPatterns:function(e){var t=e.dispatch,n=e.commit;n("clearKerningPatterns"),n("initKerningPatterns"),t("updateText")}},getters:{texts:function(e){return e.texts},textHeadings:function(e){return e.textHeadings},formatRequested:function(e){return e.formatRequested},customTextIds:function(e){return e.customTextIds},selectedSampleKey:function(e){return e.selectedSampleKey},selectedSampleTextKey:function(e){return Bs[e.selectedSampleKey]},scripts:function(e){return e.scripts},selectedScripts:function(e){return e.scripts.filter((function(e){return e.isSelected}))},filteredLanguages:function(e,t){return e.languages.filter((function(e){return t.selectedScripts.find((function(t){return t.script===e.script}))}))},visibleLanguages:function(e,t){return"languages"===t.selectedSampleKey?t.filteredLanguages.filter((function(e){return e.alphabet})):t.selectedSampleTextKey?t.filteredLanguages.filter((function(e){return e[t.selectedSampleTextKey].length})):[]},otherLanguages:function(e,t){return t.filteredLanguages.filter((function(e){return null==t.visibleLanguages.find((function(t){return t.id===e.id}))}))},selectedLanguages:function(e,t){return t.visibleLanguages.filter((function(e){return e.isSelected}))},languages:function(e,t){return[].concat(Object(_["a"])(t.visibleLanguages.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{hasText:!0})}))),Object(_["a"])(t.otherLanguages.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{hasText:!1})}))))},kerningPatterns:function(e){return e.kerningPatterns},languageSupport:function(e,t){function n(e,t,n){return!/^[A-Za-z ]+$/.test(e)&&n.indexOf(e)===t}var a=t.selectedLanguages,i=a.map((function(t){var a=("Latn"===t.script?t.specialCharacters:t.alphabet).split(" ").filter((function(e,t,n){return n.indexOf(e)===t&&e})),i=a.join("").split("").filter(n),s=i.filter((function(t){return t.split("").every((function(t){return e.fontCharacters.indexOf(t)>-1}))})),o=i.filter((function(e){return-1===s.indexOf(e)}));return Object(f["a"])(Object(f["a"])({},t),{},{specialLetters:a,requiredCharacters:i,includedCharacters:s,missingCharacters:o})})),s=i.filter((function(e){return e.requiredCharacters.length===e.includedCharacters.length})),o=i.filter((function(e){return-1===s.indexOf(e)})),r=i.reduce((function(e,t){return[].concat(Object(_["a"])(t.missingCharacters),Object(_["a"])(e))}),[]),l=[].concat(Object(_["a"])(i.reduce((function(e,t){return[].concat(Object(_["a"])(t.specialLetters),Object(_["a"])(e))}),[])),Object(_["a"])(i.reduce((function(e,t){return[].concat(Object(_["a"])(t.requiredCharacters),Object(_["a"])(e))}),[]))).filter((function(e,t,n){return n.indexOf(e)===t})).map((function(e){return{character:e,unicode:e.charCodeAt(0),obligatoryLanguages:i.filter((function(t){return t.alphabet.indexOf(e)>-1})),optionalLanguages:i.filter((function(t){return t.optionalCharacters.indexOf(e)>-1})),script:(Ds.find((function(t){return t.alphabet.indexOf(e)>-1}))||{script:"Latn"}).script,isMissing:r.indexOf(e)>-1}})).map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{speakers:[].concat(Object(_["a"])(e.obligatoryLanguages),Object(_["a"])(e.optionalLanguages)).reduce((function(e,t){return e+t.speakers}),0)})})),c=$s(l,!0),u=$s(l,!1),g=Gs(c),p=Gs(u),h=e.fontCharacters.map((function(e){return{character:e,unicode:e.charCodeAt(0),obligatoryLanguages:i.filter((function(t){return t.alphabet.indexOf(e)>-1})),optionalLanguages:i.filter((function(t){return t.optionalCharacters.indexOf(e)>-1}))}})).map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{speakers:[].concat(Object(_["a"])(e.obligatoryLanguages),Object(_["a"])(e.optionalLanguages)).reduce((function(e,t){return e+t.speakers}),0)})}));return{languages:i,supportedLanguages:s,unsupportedLanguages:o,characters:l,missingCharactersByScript:c,includedCharactersByScript:u,missingCharacterCombinationsByScript:g,includedCharacterCombinationsByScript:p,fontCharacters:h}}}};function $s(e,t){var n=[];return e.filter((function(e){return e.isMissing===t})).forEach((function(e){var t=n.find((function(t){return t.script===e.script}));t||(t={script:e.script,characters:[]},n.push(t)),t.characters.push(e)})),n.forEach((function(e){e.characters.sort((function(e,t){return e.character.localeCompare(t.character,"en",{caseFirst:"upper"})}))})),n}function Ws(e,t){return e.charCodeAt(t)>768&&e.charCodeAt(t)<894}function Gs(e){return e.map((function(e){return Object(f["a"])(Object(f["a"])({},e),{},{characters:e.characters.filter((function(e){return e.character.length>1&&Ws(e.character,1)}))})})).filter((function(e){return e.characters.length}))}n("1276");var qs=function(){function e(){Object(xe["a"])(this,e)}return Object(_e["a"])(e,null,[{key:"definitions",get:function(){return{fontFamily:{type:String,default:""},fallbackFontFamily:{type:String,default:"sans-serif"},fontSize:{type:Number,default:24,validate:function(e,t){return e>=t.minFontSize&&e<=t.maxFontSize}},fontSizeUnit:{type:String,default:"pt",kind:"select"},fontSizeUnitOptions:{type:Array,default:function(){return["pt","px","em","vw","vh"]}},enableWaterfall:{type:Boolean,default:!1},waterfallSizes:Object(S["a"])({type:String,default:"10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,34,36,38,44,64"},"default","10,14,24,36,64"),enableLineHeight:{type:Boolean,default:!1},lineHeight:{type:Number,default:1,validate:function(e,t){return e>=t.minLineHeight&&e<=t.maxLineHeight}},minLineHeight:{type:Number,default:.5},maxLineHeight:{type:Number,default:3},lineHeightStep:{type:Number,default:.01},lineHeightClickStep:{type:Number,default:.01},enableTracking:{type:Boolean,default:!0},tracking:{type:Number,default:0,validate:function(e,t){return e>=t.minTracking&&e<=t.maxTracking}},minTracking:{type:Number,default:-.5},maxTracking:{type:Number,default:2},trackingStep:{type:Number,default:.001},trackingClickStep:{type:Number,default:.01},enableWordSpacing:{type:Boolean,default:!0},wordSpacing:{type:Number,default:0,validate:function(e,t){return e>=t.minWordSpacing&&e<=t.maxWordSpacing}},minWordSpacing:{type:Number,default:-1},maxWordSpacing:{type:Number,default:1},wordSpacingStep:{type:Number,default:.01},textAlign:{type:String,default:"left",kind:"select"},textAlignOptions:{type:Array,default:function(){return["left","center","right","justify"]}},textColor:{type:String,default:"#000"},backgroundColor:{type:String,default:"#fff"},textTransform:{type:String,default:"uppercase",kind:"select"},textTransformOptions:{type:Array,default:function(){return["none","uppercase","capitalize","lowercase"]}},enableTextTransform:{type:Boolean,default:!1},wrapLines:{type:Boolean,default:!1},gposFeatures:{type:Object,default:function(){return[]}},gsubFeatures:{type:Object,default:function(){return[]}},variationAxes:{type:Object,default:function(){return[]}},enableVariationAxis:{type:Object,default:function(){return[]}}}}},{key:"getDefaults",value:function(){var e=this,t={};return Object.keys(this.definitions).forEach((function(n){var a=e.definitions[n],i=a.default;"function"===typeof i&&a.type!==Function?t[n]=i():t[n]=i})),t}},{key:"getStyleFromSettings",value:function(e){var t,n=e.variationAxes,a=n.find((function(e){return"wght"==e.tag})),i=n.find((function(e){return"slnt"==e.tag})),s=n.find((function(e){return"ital"==e.tag})),o="normal";i?o="oblique ".concat(-i.value,"deg"):s&&1==s.value&&(o="italic");var r=i?["wght","slnt"]:["wght","ital"];return n=n.filter((function(e){return-1==r.indexOf(e.tag)})),{fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:e.textAlign,textTransform:e.textTransform,color:e.textColor,backgroundColor:e.backgroundColor,fontFeatureSettings:e.gsubFeatures.concat(e.gposFeatures).map((function(e){return"'".concat(e.tag,"' ").concat(e.value?"1":"0"," ")})).join(", "),fontVariationSettings:n.filter((function(e){return e.enabled})).map((function(e){return"'".concat(e.tag,"' ").concat(e.value," ")})).join(", ")||"unset",fontWeight:null!==(t=null===a||void 0===a?void 0:a.value)&&void 0!==t?t:400,fontStyle:o}}},{key:"mergeStyleOntoSettings",value:function(e,t){function n(n,a){var i={};(t[n]||"").split(/, ?/g).filter((function(e){return e})).map((function(e){var t=e.match(/[a-z]{4}/i);if(t){var n=t[0];t=e.match(/ \d+/);var a=t?parseInt(t[0]):1;i[n]=a}})),e[a].forEach((function(t,n){t.tag in i&&(e[a][n].value=i[t.tag])}))}e.fontSize=parseFloat(t.fontSize),e.lineHeight=parseFloat(e.lineHeight),e.textColor=t.color,e.backgroundColor=t.backgroundColor,n("fontFeatureSettings","gsubFeatures"),n("fontFeatureSettings","gposFeatures"),n("fontVariationSettings","variationAxes")}}]),e}();function Js(e){return JSON.parse(JSON.stringify(e))}var Ys={state:{animatedProperties:Object.keys(qs.definitions),animatableProperties:Object.keys(qs.definitions),animationKeyframes:[],activeKeyframeId:null,maxId:0},getters:{animatedProperties:function(e){return e.animatedProperties},animatableProperties:function(e){return e.animatableProperties},animationKeyframes:function(e){return e.animationKeyframes},activeKeyframeId:function(e){return e.activeKeyframeId}},mutations:{setAnimatedProperties:function(e,t){var n=t.properties;e.animatedProperties=n},importAnimationKeyframes:function(e,t){var n=t.keyframes;try{e.animationKeyframes=JSON.parse(n)}catch(a){console.log(a)}},addAnimationKeyframe:function(e){var t=++e.maxId;e.activeKeyframeId=t,e.animationKeyframes.push({id:t}),this.commit("updateKeyframe")},removeAnimationKeyframe:function(e,t){var n=t.id;if(null!=n){var a=e.animationKeyframes.findIndex((function(e){return e.id===n}));e.animationKeyframes.splice(a,1)}},activateKeyframe:function(e,t){var n=t.id;e.activeKeyframeId=n;var a=e.animationKeyframes.find((function(e){return e.id===n})),i=a.snapshot;this.commit("restoreSettings",{snapshot:i})},updateKeyframe:function(e){var t=e.activeKeyframeId;if(null!=t){var n=Js(this.state.settings),a=qs.getStyleFromSettings(this.state.settings),s=e.animationKeyframes.findIndex((function(e){return e.id===t}));i["a"].set(e.animationKeyframes,s,{id:t,snapshot:n,frame:a})}},finishAnimateSettings:function(){this.commit("animateSettings",{settings:null})}},actions:{animateSettings:function(e,t){var n=t.style,a=Js(this.state.settings);qs.mergeStyleOntoSettings(a,n);var i=Js(this.state.settings);Object.keys(a).filter((function(t){return e.state.animatedProperties.indexOf(t)>-1})).forEach((function(e){i[e]=a[e]})),this.commit("animateSettings",{settings:i})}}},Zs=".app-content";i["a"].prototype.$scrollToTop=function(){return Zs.scrollTo(0,0)};var Qs={state:{scrolledParentSelector:Zs,sticky:!0,footerVisible:0,footerSentinelVisibleRatio:0},getters:{scrolledParentSelector:function(e){return e.scrolledParentSelector}},mutations:{sticky:function(e,t){var n=t.value;e.sticky=n},updateFooter:function(e,t){var n=t.visible,a=t.ratio;e.footerVisible=n,e.footerSentinelVisibleRatio=a},scrollToTop:function(e){this.commit("sticky",{value:!0}),this.commit("updateFooter",{visible:!1,ratio:0});var t=document.querySelector(e.scrolledParentSelector);t.scrollTop=0}},actions:{}};function Xs(e){e.subscribe((function(t,n){var a=t.type,i=t.payload;switch(a){case"updateSetting":null!=n.animation.activeKeyframeId&&e.commit("updateKeyframe");break;case"selectFont":i.font&&e.dispatch("updateFontCharacters",{font:i.font})}}))}var eo={get width(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)},get height(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}},to=function(){function e(){Object(xe["a"])(this,e)}return Object(_e["a"])(e,[{key:"convert",value:function(e){var t={"ch-cm":.21087588*e.value,"ch-em":.5*e.value,"ch-ex":e.value/.9,"ch-in":.083022*e.value,"ch-mm":2.1087588*e.value,"ch-pc":.5*e.value,"ch-pt":5.977584*e.value,"ch-%":50*e.value,"ch-px":e.value*e.base*.5,"cm-ch":e.value/.21087588,"cm-em":e.value/.42175176,"cm-ex":e.value/.189788292,"cm-in":.39*e.value,"cm-mm":10*e.value,"cm-pc":e.value/.42175176,"cm-pt":28.3464566929*e.value,"cm-%":e.value/e.base*100/2.54*e.dpi,"cm-px":e.value/2.54*e.dpi,"em-ch":e.value/.5,"em-cm":.42175176*e.value,"em-ex":e.value/.45,"em-in":.166044*e.value,"em-mm":e.value/.237106301584,"em-pc":e.value,"em-pt":11.955168*e.value,"em-%":100*e.value,"em-px":e.value*e.base,"em-vh":100*e.value*e.base/eo.height,"em-vw":100*e.value*e.base/eo.width,"ex-ch":.9*e.value,"ex-cm":.189788292*e.value,"ex-em":.45*e.value,"ex-in":.0747198*e.value,"ex-mm":1.89788292*e.value,"ex-pc":.45*e.value,"ex-pt":5.3798256*e.value,"ex-%":45*e.value,"ex-px":e.value*e.base*.45,"in-ch":e.value/.083022,"in-cm":2.54*e.value,"in-em":e.value/.166044,"in-ex":e.value/.0747198,"in-mm":2.54*e.value*10,"in-pc":e.value/.166044,"in-pt":e.value/.014842519685,"in-%":e.value/e.base*100*e.dpi,"in-px":e.value*e.dpi,"mm-ch":e.value/2.1087588,"mm-cm":e.value/10,"mm-em":.237106301584*e.value,"mm-ex":e.value/1.89788292,"mm-in":.39*e.value/10,"mm-pc":e.value/4.42175176,"mm-pt":e.value/.352777777778,"mm-%":e.value/e.base*100/2.54*e.dpi/10,"mm-px":e.value/2.54*e.dpi/10,"pc-ch":e.value/.5,"pc-cm":.42175176*e.value,"pc-em":e.value,"pc-ex":e.value/.45,"pc-in":.166044*e.value,"pc-mm":4.42175176*e.value,"pc-pt":e.value/.0836458341698,"pc-%":100*e.value,"pc-px":e.value*e.base,"pt-ch":e.value/5.977584,"pt-cm":e.value/28.3464566929,"pt-em":e.value/11.955168,"pt-ex":e.value/5.3798256,"pt-in":.014842519685*e.value,"pt-mm":.352777777778*e.value,"pt-pc":.0836458341698*e.value,"pt-%":e.value/(e.base-4)*100,"pt-px":96*e.value/72,"pt-vh":100*e.value*96/72/eo.height,"pt-vw":100*e.value*96/72/eo.width,"%-ch":e.value/50,"%-cm":e.value*e.base/100*2.54/e.dpi,"%-em":e.value/100,"%-ex":e.value/45,"%-in":e.value*e.base/100/e.dpi,"%-mm":e.value*e.base/100*2.54/e.dpi*10,"%-pc":e.value/100,"%-pt":e.value*(e.base-4)/100,"%-px":e.value*e.base/100,"px-ch":e.value/e.base/.5,"px-cm":2.54*e.value/e.dpi,"px-em":e.value/e.base,"px-ex":e.value/e.base/.45,"px-in":e.value/e.dpi,"px-mm":2.54*e.value/e.dpi*10,"px-pc":e.value/e.base,"px-pt":72*e.value/96,"px-%":e.value/e.base*100,"px-vh":e.value/eo.height*100,"px-vw":e.value/eo.width*100,"vh-px":e.value*eo.height/100,"vh-pt":.75*e.value*eo.height/100,"vh-em":e.value*eo.height/100/e.base,"vh-vw":e.value*eo.height/eo.width,"vw-px":e.value*eo.width/100,"vw-pt":.75*e.value*eo.width/100,"vw-em":e.value*eo.width/100/e.base,"vw-vh":e.value*eo.width/eo.height},n="".concat(e.from,"-").concat(e.to),a=t[n];return!isNaN(a)&&this.round(a,e.decimals)+e.to}},{key:"getUnits",value:function(){return["ch","cm","em","ex","in","mm","pc","pt","%","px"]}},{key:"round",value:function(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}}]),e}();function no(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.base,n=void 0===t?16:t,a=e.decimals,i=void 0===a?2:a,s=e.dpi,o=void 0===s?72:s,r=e.from,l=e.to,c=e.value,u=new to,g=u.convert({base:n,decimals:i,dpi:o,from:r,to:l,value:c});return g}var ao={minFontSize:function(){switch(this.fontSizeUnit){case"px":return 4;default:var e=no({from:"px",value:4,to:this.fontSizeUnit});return parseFloat(e)}},maxFontSize:function(){switch(this.fontSizeUnit){case"px":return 1e3;default:var e=no({from:"px",value:1e3,to:this.fontSizeUnit});return parseFloat(e)}},fontSizeStep:function(){switch(this.fontSizeUnit){case"pt":return.5;case"px":return 1;case"vw":case"vh":case"em":return.01;default:return.01}},fontSizeClickStep:function(){switch(this.fontSizeUnit){case"px":case"pt":case"vw":case"vh":return 1;case"em":return.5;default:return 1}}},io=n("14fe"),so=n.n(io);i["a"].use(b["a"]);var oo=new b["a"].Store({modules:{text:Rs,animation:Ys,layout:Qs},state:{fontLoading:!0,selectedFont:{family:""},selectedBoldFont:{family:""},selectedItalicFont:{family:""},selectedBoldItalicFont:{family:""},selectedHeaderFont:{family:""},settings:qs.getDefaults(),animating:!1,displayedSettings:{},settingsPanelVisible:!0,contextualPanelVisible:!1,expandedMenu:null,isMobile:!1,remoteFontRequested:!1},getters:{selectedFont:function(e){return e.selectedFont},selectedHeaderFont:function(e){return e.selectedHeaderFont},selectedBoldFont:function(e){return e.selectedBoldFont},selectedItalicFont:function(e){return e.selectedItalicFont},selectedBoldItalicFont:function(e){return e.selectedBoldItalicFont},settings:function(e){return e.settings},displayedSettings:function(e){return e.animating?e.displayedSettings:e.settings},animating:function(e){return e.animating},selectedLoclLanguage:function(e){var t=e.settings.gsubFeatures,n=t.find((function(e){return"locl"===e.tag}));return n&&n.value?n.selectedLanguage.htmlTag:""},fontFeatureSettings:function(e){return qs.getStyleFromSettings(e.settings).fontFeatureSettings},fontVariationSettings:function(e){return qs.getStyleFromSettings(e.settings).fontVariationSettings},fontWeight:function(e){return qs.getStyleFromSettings(e.settings).fontWeight},fontStyle:function(e){return qs.getStyleFromSettings(e.settings).fontStyle}},mutations:{toggleSettingsPanel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{value:null},n=t.value,a=null!=n?n:!e.settingsPanelVisible;e.settingsPanelVisible=a},toggleContextualPanel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{value:null},n=t.value,a=null!=n?n:!e.contextualPanelVisible;e.contextualPanelVisible=a},expandMenu:function(e,t){var n=t.menuId;e.expandedMenu===n?e.expandedMenu=null:(this.commit("toggleContextualPanel",{value:!1}),this.commit("toggleSettingsPanel",{value:!1}),e.expandedMenu=n)},setMobile:function(e,t){var n=t.isMobile;e.isMobile=n},requestFont:function(e,t){var n=t.url;e.remoteFontRequested=n},fontLoadStart:function(e){e.fontLoading=!0},fontLoadEnd:function(e){e.fontLoading=!1},selectFont:function(e,t){var n=t.font,a=t.boldFont,i=t.italicFont,s=t.boldItalicFont,o=t.headerFont;n&&(e.selectedFont=n,this.commit("mapFontFeatureSettings"),this.commit("mapFontVariationSettings")),a&&(e.selectedBoldFont=a),i&&(e.selectedItalicFont=i),s&&(e.selectedBoldItalicFont=s),o&&(e.selectedHeaderFont=o)},mapFontFeatureSettings:function(e){var t=e.selectedFont;function n(n){var a=t[n],i=e.settings[n];i.forEach((function(e){e.active=!1})),a.forEach((function(e){var t=i.find((function(t){return t.tag===e.tag}));t?(t.active=!0,t.uiName=e.uiName,"locl"===e.tag&&(t.languages=e.languages)):i.push(Object(f["a"])(Object(f["a"])({},e),{},{value:so.a.indexOf(e.tag)>-1,active:!0}))}))}n("gsubFeatures"),n("gposFeatures")},updateGposFeature:function(e,t){var n=t.tag,a=t.value,i=e.settings.gposFeatures,s=i.find((function(e){return e.tag===n}));s&&(s.value=a),this.commit("updateSetting")},updateGsubFeature:function(e,t){var n=t.tag,a=t.value,i=e.settings.gsubFeatures,s=i.find((function(e){return e.tag===n}));s&&(s.value=a),this.commit("updateSetting")},updateLoclFeature:function(e,t){var n=t.selectedLanguage,a=e.settings.gsubFeatures,i=a.find((function(e){return"locl"===e.tag}));i&&(i.selectedLanguage=n),this.commit("updateSetting")},mapFontVariationSettings:function(e){var t=e.selectedFont;e.settings.variationAxes=t.variationAxes.map((function(t){var n=e.settings.variationAxes.find((function(e){return e.tag===t.tag}));return Object(f["a"])(Object(f["a"])({},t),{},{value:n?n.value:t.defaultValue,enabled:!n||n.enabled,displayName:t.displayName})}))},updateVariationAxis:function(e,t){var n=t.tag,a=t.value,i=t.enabled,s=e.settings.variationAxes.find((function(e){return e.tag===n}));s&&(null!=a&&(s.value=a),null!=i&&(s.enabled=i)),this.commit("updateSetting")},resetSettings:function(e){var t=qs.getDefaults();Object.keys(t).forEach((function(n){return e.settings[n]=t[n]})),this.commit("computeParams"),this.commit("updateSetting")},computeParams:function(e){Object.keys(ao).forEach((function(t){var n=ao[t],a=n.call(e.settings);a!==e.settings[t]&&(e.settings[t]=a)}))},updateSettings:function(e,t){var n=this;Object.keys(t).forEach((function(a){var i=t[a];"fontSizeUnit"==a&&n.commit("convertFontSize",{newUnit:i}),e.settings[a]=i,n.commit("updateSetting")})),this.commit("computeParams")},restoreSettings:function(e,t){var n=t.snapshot;e.settings=n,this.commit("mapFontFeatureSettings"),this.commit("mapFontVariationSettings")},animateSettings:function(e,t){var n=t.settings;n?(e.animating=!0,Object.keys(n).forEach((function(t){i["a"].set(e.displayedSettings,t,n[t])}))):e.animating=!1},updateSetting:function(){},convertFontSize:function(e,t){var n=t.newUnit,a=e.settings,i=String(a.fontSizeStep).replace(/\d+\.?/,"").length,s=no({value:a.fontSize,from:a.fontSizeUnit,to:n,decimals:i});a.fontSize=parseFloat(s)}},actions:{fontLoadStart:function(e){var t=e.commit;t("fontLoadStart")},fontLoadEnd:function(e){var t=e.commit;t("fontLoadEnd")}}});Xs(oo);var ro=oo;n("4cf1");i["a"].config.productionTip=!1,i["a"].use(o.a),i["a"].use(r["a"]),i["a"].use(l["a"]),new i["a"]({router:Ks,store:ro,render:function(e){return e(d)}}).$mount("#app")},"572e":function(e,t,n){},"59a9":function(e,t,n){},"59e2":function(e,t,n){},"59e8":function(e,t,n){},"5bcb":function(e,t,n){},"5d40":function(e,t,n){"use strict";n("cd9e")},"5e48":function(e,t,n){},"5f33":function(e,t,n){},"5f91":function(e,t,n){},"60ab":function(e,t,n){},6768:function(e,t,n){"use strict";n("5f33")},"699d":function(e,t,n){"use strict";n("14cd")},"6c59d":function(e,t,n){e.exports=function(){return new Worker(n.p+"e106d62cc6d652433a9c.worker.js")}},"72d8":function(e,t,n){"use strict";n("7964")},"72e2":function(e,t,n){"use strict";n("96f6")},7964:function(e,t,n){},"7cf4":function(e,t,n){"use strict";n("572e")},8021:function(e,t,n){"use strict";n("ff1f")},"82c8":function(e,t,n){"use strict";n("5bcb")},"84fa":function(e,t,n){},"85b2":function(e,t,n){"use strict";n("60ab")},"86d2":function(e,t,n){},9224:function(e){e.exports=JSON.parse('{"name":"bulletproof","version":"1.0.0","private":true,"scripts":{"dev":"vue-cli-service serve","serve":"vue-cli-service serve","build":"vue-cli-service build","test:unit":"vue-cli-service test:unit","test:e2e":"vue-cli-service test:e2e","lint":"vue-cli-service lint","deploy":"node .\\\\scripts\\\\publish.js"},"dependencies":{"animejs":"^3.2.1","convert-css-length":"^2.0.1","core-js":"^3.6.5","decimal.js":"^10.2.1","detect-browser":"^4.8.0","grapheme-splitter":"^1.0.4","hamsterjs":"^1.1.3","keen-ui":"1.3.1","language-data":"^0.1.2","lodash.debounce":"^4.0.8","lodash.throttle":"^4.1.1","opentype.js":"git+https://github.com/hyvyys/opentype.js.git#stylistic-set-names","vue":"^2.6.12","vue-closable":"0.0.3","vue-color":"^2.7.1","vue-observe-visibility":"^0.4.6","vue-router":"^3.4.6","vue-worker":"^1.2.1","vuebar":"github:hyvyys/vuebar","vuex":"^3.5.1"},"devDependencies":{"@vue/cli-plugin-babel":"~4.5.15","@vue/cli-plugin-eslint":"~4.5.15","@vue/cli-plugin-unit-jest":"~4.5.15","@vue/cli-service":"~4.5.15","@vue/test-utils":"1.0.0-beta.29","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^25.5.1","eslint":"^5.16.0","eslint-plugin-vue":"^5.2.3","gh-pages":"^2.2.0","markdown-it":"^9.1.0","node-sass":"^4.14.1","sass-loader":"^10.2.0","vue-svg-inline-loader":"^1.5.0","vue-template-compiler":"^2.6.12","ware-loader":"^0.2.4","worker-loader":"^2.0.0"},"postcss":{"plugins":{"autoprefixer":{}}},"browserslist":["> 1%","last 2 versions"],"jest":{"moduleFileExtensions":["js","jsx","json","vue"],"transform":{"^.+\\\\.vue$":"vue-jest",".+\\\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$":"jest-transform-stub","^.+\\\\.jsx?$":"babel-jest"},"transformIgnorePatterns":["node_modules/(?!(keen-ui|tippy\\\\.js|popper\\\\.js|vue-color)/)"],"moduleNameMapper":{"^@/(.*)$":"/src/$1"},"snapshotSerializers":["jest-serializer-vue"],"testMatch":["**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"],"testURL":"http://localhost/","watchPlugins":["jest-watch-typeahead/filename","jest-watch-typeahead/testname"]}}')},"929d":function(e,t,n){"use strict";n("a8f2")},"93b5":function(e,t,n){},9486:function(e,t,n){"use strict";n("5f91")},"96f6":function(e,t,n){},9845:function(e,t,n){"use strict";n("24fd")},"9a67":function(e,t,n){"use strict";n("00fb")},a8f2:function(e,t,n){},aac2:function(e,t,n){"use strict";n("59e8")},accd:function(e,t,n){"use strict";n("5e48")},ad09:function(e,t,n){},aeee:function(e,t,n){"use strict";n("cb2b")},b346:function(e,t,n){"use strict";n("93b5")},b3be:function(e,t,n){},bc79:function(e,t,n){"use strict";n("86d2")},bdbf:function(e,t,n){"use strict";n("dad9")},be07:function(e,t,n){},bf45:function(e,t){e.exports=[{name:"Abaza",opentypeTag:"ABA ",htmlTag:"abq"},{name:"Abkhazian",opentypeTag:"ABK ",htmlTag:"ab"},{name:"Acholi",opentypeTag:"ACH ",htmlTag:"ach"},{name:"Achi",opentypeTag:"ACR ",htmlTag:"acr"},{name:"Adyghe",opentypeTag:"ADY ",htmlTag:"ady"},{name:"Afrikaans",opentypeTag:"AFK ",htmlTag:"af"},{name:"Afar",opentypeTag:"AFR ",htmlTag:"aa"},{name:"Agaw",opentypeTag:"AGW ",htmlTag:"ahg"},{name:"Aiton",opentypeTag:"AIO ",htmlTag:"aio"},{name:"Akan",opentypeTag:"AKA ",htmlTag:"ak"},{name:"Alsatian",opentypeTag:"ALS ",htmlTag:"gsw"},{name:"Altai",opentypeTag:"ALT ",htmlTag:"atv"},{name:"Amharic",opentypeTag:"AMH ",htmlTag:"am"},{name:"Anglo-Saxon",opentypeTag:"ANG ",htmlTag:"ang"},{name:"Phonetic transcription—Americanist conventions",opentypeTag:"APPH"},{name:"Arabic",opentypeTag:"ARA ",htmlTag:"ar"},{name:"Aragonese",opentypeTag:"ARG ",htmlTag:"an"},{name:"Aari",opentypeTag:"ARI ",htmlTag:"aiw"},{name:"Rakhine",opentypeTag:"ARK ",htmlTag:"mhv"},{name:"Assamese",opentypeTag:"ASM ",htmlTag:"as"},{name:"Asturian",opentypeTag:"AST ",htmlTag:"ast"},{name:"Athapaskan",opentypeTag:"ATH ",htmlTag:"apk"},{name:"Avar",opentypeTag:"AVR ",htmlTag:"av"},{name:"Awadhi",opentypeTag:"AWA ",htmlTag:"awa"},{name:"Aymara",opentypeTag:"AYM ",htmlTag:"ay"},{name:"Torki",opentypeTag:"AZB ",htmlTag:"azb"},{name:"Azerbaijani",opentypeTag:"AZE ",htmlTag:"az"},{name:"Badaga",opentypeTag:"BAD ",htmlTag:"bfq"},{name:"Banda",opentypeTag:"BAD0",htmlTag:"bad"},{name:"Baghelkhandi",opentypeTag:"BAG ",htmlTag:"bfy"},{name:"Balkar",opentypeTag:"BAL ",htmlTag:"krc"},{name:"Balinese",opentypeTag:"BAN ",htmlTag:"ban"},{name:"Bavarian",opentypeTag:"BAR ",htmlTag:"bar"},{name:"Baulé",opentypeTag:"BAU ",htmlTag:"bci"},{name:"Batak Toba",opentypeTag:"BBC ",htmlTag:"bbc"},{name:"Berber",opentypeTag:"BBR ",htmlTag:"ber"},{name:"Bench",opentypeTag:"BCH ",htmlTag:"bcq"},{name:"Bible Cree",opentypeTag:"BCR "},{name:"Bandjalang",opentypeTag:"BDY ",htmlTag:"bdy"},{name:"Belarussian",opentypeTag:"BEL ",htmlTag:"be"},{name:"Bemba",opentypeTag:"BEM ",htmlTag:"bem"},{name:"Bengali",opentypeTag:"BEN ",htmlTag:"bn"},{name:"Haryanvi",opentypeTag:"BGC ",htmlTag:"bgc"},{name:"Bagri",opentypeTag:"BGQ ",htmlTag:"bgq"},{name:"Bulgarian",opentypeTag:"BGR ",htmlTag:"bg"},{name:"Bhili",opentypeTag:"BHI ",htmlTag:"bhi"},{name:"Bhojpuri",opentypeTag:"BHO ",htmlTag:"bho"},{name:"Bikol",opentypeTag:"BIK ",htmlTag:"bik"},{name:"Bilen",opentypeTag:"BIL ",htmlTag:"byn"},{name:"Bislama",opentypeTag:"BIS ",htmlTag:"bi"},{name:"Kanauji",opentypeTag:"BJJ ",htmlTag:"bjj"},{name:"Blackfoot",opentypeTag:"BKF ",htmlTag:"bla"},{name:"Baluchi",opentypeTag:"BLI ",htmlTag:"bal"},{name:"Pa’o Karen",opentypeTag:"BLK ",htmlTag:"blk"},{name:"Balante",opentypeTag:"BLN ",htmlTag:"bjt"},{name:"Balti",opentypeTag:"BLT ",htmlTag:"bft"},{name:"Bambara (Bamanankan)",opentypeTag:"BMB ",htmlTag:"bm"},{name:"Bamileke",opentypeTag:"BML "},{name:"Bosnian",opentypeTag:"BOS ",htmlTag:"bs"},{name:"Bishnupriya Manipuri",opentypeTag:"BPY ",htmlTag:"bpy"},{name:"Breton",opentypeTag:"BRE ",htmlTag:"br"},{name:"Brahui",opentypeTag:"BRH ",htmlTag:"brh"},{name:"Braj Bhasha",opentypeTag:"BRI ",htmlTag:"bra"},{name:"Burmese",opentypeTag:"BRM ",htmlTag:"my"},{name:"Bodo",opentypeTag:"BRX ",htmlTag:"brx"},{name:"Bashkir",opentypeTag:"BSH ",htmlTag:"ba"},{name:"Burushaski",opentypeTag:"BSK ",htmlTag:"bsk"},{name:"Beti",opentypeTag:"BTI ",htmlTag:"btb"},{name:"Batak Simalungun",opentypeTag:"BTS ",htmlTag:"bts"},{name:"Bugis",opentypeTag:"BUG ",htmlTag:"bug"},{name:"Medumba",opentypeTag:"BYV ",htmlTag:"byv"},{name:"Kaqchikel",opentypeTag:"CAK ",htmlTag:"cak"},{name:"Catalan",opentypeTag:"CAT ",htmlTag:"ca"},{name:"Zamboanga Chavacano",opentypeTag:"CBK ",htmlTag:"cbk"},{name:"Chinantec",opentypeTag:"CCHN",htmlTag:"cco"},{name:"Cebuano",opentypeTag:"CEB ",htmlTag:"ceb"},{name:"Chechen",opentypeTag:"CHE ",htmlTag:"ce"},{name:"Chaha Gurage",opentypeTag:"CHG ",htmlTag:"sgw"},{name:"Chattisgarhi",opentypeTag:"CHH ",htmlTag:"hne"},{name:"Chichewa (Chewa, Nyanja)",opentypeTag:"CHI ",htmlTag:"ny"},{name:"Chukchi",opentypeTag:"CHK ",htmlTag:"ckt"},{name:"Chuukese",opentypeTag:"CHK0",htmlTag:"chk"},{name:"Choctaw",opentypeTag:"CHO ",htmlTag:"cho"},{name:"Chipewyan",opentypeTag:"CHP ",htmlTag:"chp"},{name:"Cherokee",opentypeTag:"CHR ",htmlTag:"chr"},{name:"Chamorro",opentypeTag:"CHA ",htmlTag:"ch"},{name:"Chuvash",opentypeTag:"CHU ",htmlTag:"cv"},{name:"Cheyenne",opentypeTag:"CHY ",htmlTag:"chy"},{name:"Chiga",opentypeTag:"CGG ",htmlTag:"cgg"},{name:"Western Cham",opentypeTag:"CJA ",htmlTag:"cja"},{name:"Eastern Cham",opentypeTag:"CJM ",htmlTag:"cjm"},{name:"Comorian",opentypeTag:"CMR ",htmlTag:"swb"},{name:"Coptic",opentypeTag:"COP ",htmlTag:"cop"},{name:"Cornish",opentypeTag:"COR ",htmlTag:"kw"},{name:"Corsican",opentypeTag:"COS ",htmlTag:"co"},{name:"Creoles",opentypeTag:"CPP ",htmlTag:"crp"},{name:"Cree",opentypeTag:"CRE ",htmlTag:"cr"},{name:"Carrier",opentypeTag:"CRR ",htmlTag:"crx"},{name:"Crimean Tatar",opentypeTag:"CRT ",htmlTag:"crh"},{name:"Kashubian",opentypeTag:"CSB ",htmlTag:"csb"},{name:"Church Slavonic",opentypeTag:"CSL ",htmlTag:"cu"},{name:"Czech",opentypeTag:"CSY ",htmlTag:"cs"},{name:"Chittagonian",opentypeTag:"CTG ",htmlTag:"ctg"},{name:"San Blas Kuna",opentypeTag:"CUK ",htmlTag:"cuk"},{name:"Danish",opentypeTag:"DAN ",htmlTag:"da"},{name:"Dargwa",opentypeTag:"DAR ",htmlTag:"dar"},{name:"Dayi",opentypeTag:"DAX ",htmlTag:"dax"},{name:"Woods Cree",opentypeTag:"DCR ",htmlTag:"cwd"},{name:"German",opentypeTag:"DEU ",htmlTag:"de"},{name:"Dogri",opentypeTag:"DGO ",htmlTag:"dgo"},{name:"Dogri",opentypeTag:"DGR ",htmlTag:"doi"},{name:"Dhangu",opentypeTag:"DHG ",htmlTag:"dhg"},{name:"Divehi (Dhivehi, Maldivian)",opentypeTag:"DHV (deprecated)",htmlTag:"dv"},{name:"Dimli",opentypeTag:"DIQ ",htmlTag:"diq"},{name:"Divehi (Dhivehi, Maldivian)",opentypeTag:"DIV ",htmlTag:"dv"},{name:"Zarma",opentypeTag:"DJR ",htmlTag:"dje"},{name:"Djambarrpuyngu",opentypeTag:"DJR0",htmlTag:"djr"},{name:"Dangme",opentypeTag:"DNG ",htmlTag:"ada"},{name:"Dan",opentypeTag:"DNJ ",htmlTag:"dnj"},{name:"Dinka",opentypeTag:"DNK ",htmlTag:"din"},{name:"Dari",opentypeTag:"DRI ",htmlTag:"prs"},{name:"Dhuwal",opentypeTag:"DUJ ",htmlTag:"duj"},{name:"Dungan",opentypeTag:"DUN ",htmlTag:"dng"},{name:"Dzongkha",opentypeTag:"DZN ",htmlTag:"dz"},{name:"Ebira",opentypeTag:"EBI ",htmlTag:"igb"},{name:"Eastern Cree",opentypeTag:"ECR ",htmlTag:"crj"},{name:"Edo",opentypeTag:"EDO ",htmlTag:"bin"},{name:"Efik",opentypeTag:"EFI ",htmlTag:"efi"},{name:"Greek",opentypeTag:"ELL ",htmlTag:"el"},{name:"Eastern Maninkakan",opentypeTag:"EMK ",htmlTag:"emk"},{name:"English",opentypeTag:"ENG ",htmlTag:"en"},{name:"Erzya",opentypeTag:"ERZ ",htmlTag:"myv"},{name:"Spanish",opentypeTag:"ESP ",htmlTag:"es"},{name:"Central Yupik",opentypeTag:"ESU ",htmlTag:"esu"},{name:"Estonian",opentypeTag:"ETI ",htmlTag:"et"},{name:"Basque",opentypeTag:"EUQ ",htmlTag:"eu"},{name:"Evenki",opentypeTag:"EVK ",htmlTag:"evn"},{name:"Even",opentypeTag:"EVN ",htmlTag:"eve"},{name:"Ewe",opentypeTag:"EWE ",htmlTag:"ee"},{name:"French Antillean",opentypeTag:"FAN ",htmlTag:"acf"},{name:"Fang",opentypeTag:"FAN0",htmlTag:"fan"},{name:"Persian",opentypeTag:"FAR ",htmlTag:"fa"},{name:"Fanti",opentypeTag:"FAT ",htmlTag:"fat"},{name:"Finnish",opentypeTag:"FIN ",htmlTag:"fi"},{name:"Fijian",opentypeTag:"FJI ",htmlTag:"fj"},{name:"Dutch (Flemish)",opentypeTag:"FLE ",htmlTag:"vls"},{name:"Fe’fe’",opentypeTag:"FMP ",htmlTag:"fmp"},{name:"Forest Nenets",opentypeTag:"FNE ",htmlTag:"enf"},{name:"Fon",opentypeTag:"FON ",htmlTag:"fon"},{name:"Faroese",opentypeTag:"FOS ",htmlTag:"fo"},{name:"French",opentypeTag:"FRA ",htmlTag:"fr"},{name:"Cajun French",opentypeTag:"FRC ",htmlTag:"frc"},{name:"Frisian",opentypeTag:"FRI ",htmlTag:"fy"},{name:"Friulian",opentypeTag:"FRL ",htmlTag:"fur"},{name:"Arpitan",opentypeTag:"FRP ",htmlTag:"frp"},{name:"Futa",opentypeTag:"FTA ",htmlTag:"fuf"},{name:"Fulah",opentypeTag:"FUL ",htmlTag:"ff"},{name:"Nigerian Fulfulde",opentypeTag:"FUV ",htmlTag:"fuv"},{name:"Ga",opentypeTag:"GAD ",htmlTag:"gaa"},{name:"Scottish Gaelic (Gaelic)",opentypeTag:"GAE ",htmlTag:"gd"},{name:"Gagauz",opentypeTag:"GAG ",htmlTag:"gag"},{name:"Galician",opentypeTag:"GAL ",htmlTag:"gl"},{name:"Garshuni",opentypeTag:"GAR "},{name:"Garhwali",opentypeTag:"GAW ",htmlTag:"gbm"},{name:"Geez",opentypeTag:"GEZ ",htmlTag:"gez"},{name:"Githabul",opentypeTag:"GIH ",htmlTag:"gih"},{name:"Gilyak",opentypeTag:"GIL ",htmlTag:"niv"},{name:"Kiribati (Gilbertese)",opentypeTag:"GIL0",htmlTag:"gil"},{name:"Kpelle (Guinea)",opentypeTag:"GKP ",htmlTag:"gkp"},{name:"Gilaki",opentypeTag:"GLK ",htmlTag:"glk"},{name:"Gumuz",opentypeTag:"GMZ ",htmlTag:"guk"},{name:"Gumatj",opentypeTag:"GNN ",htmlTag:"gnn"},{name:"Gogo",opentypeTag:"GOG ",htmlTag:"gog"},{name:"Gondi",opentypeTag:"GON ",htmlTag:"gon"},{name:"Greenlandic",opentypeTag:"GRN ",htmlTag:"kl"},{name:"Garo",opentypeTag:"GRO ",htmlTag:"grt"},{name:"Guarani",opentypeTag:"GUA ",htmlTag:"gn"},{name:"Wayuu",opentypeTag:"GUC ",htmlTag:"guc"},{name:"Gupapuyngu",opentypeTag:"GUF ",htmlTag:"guf"},{name:"Gujarati",opentypeTag:"GUJ ",htmlTag:"gu"},{name:"Gusii",opentypeTag:"GUZ ",htmlTag:"guz"},{name:"Haitian (Haitian Creole)",opentypeTag:"HAI ",htmlTag:"ht"},{name:"Halam (Falam Chin)",opentypeTag:"HAL ",htmlTag:"flm"},{name:"Harauti",opentypeTag:"HAR ",htmlTag:"hoj"},{name:"Hausa",opentypeTag:"HAU ",htmlTag:"ha"},{name:"Hawaiian",opentypeTag:"HAW ",htmlTag:"haw"},{name:"Haya",opentypeTag:"HAY ",htmlTag:"hay"},{name:"Hazaragi",opentypeTag:"HAZ ",htmlTag:"haz"},{name:"Hammer-Banna",opentypeTag:"HBN ",htmlTag:"amf"},{name:"Herero",opentypeTag:"HER ",htmlTag:"hz"},{name:"Hiligaynon",opentypeTag:"HIL ",htmlTag:"hil"},{name:"Hindi",opentypeTag:"HIN ",htmlTag:"hi"},{name:"High Mari",opentypeTag:"HMA ",htmlTag:"mrj"},{name:"Hmong",opentypeTag:"HMN ",htmlTag:"hmn"},{name:"Hiri Motu",opentypeTag:"HMO ",htmlTag:"ho"},{name:"Hindko",opentypeTag:"HND ",htmlTag:"hno"},{name:"Ho",opentypeTag:"HO",htmlTag:"hoc"},{name:"Harari",opentypeTag:"HRI ",htmlTag:"har"},{name:"Croatian",opentypeTag:"HRV ",htmlTag:"hr"},{name:"Hungarian",opentypeTag:"HUN ",htmlTag:"hu"},{name:"Armenian",opentypeTag:"HYE ",htmlTag:"hy"},{name:"Armenian East",opentypeTag:"HYE0",htmlTag:"hy"},{name:"Iban",opentypeTag:"IBA ",htmlTag:"iba"},{name:"Ibibio",opentypeTag:"IBB ",htmlTag:"ibb"},{name:"Igbo",opentypeTag:"IBO ",htmlTag:"ig"},{name:"Ijo languages",opentypeTag:"IJO ",htmlTag:"ijc"},{name:"Ido",opentypeTag:"IDO ",htmlTag:"io"},{name:"Interlingue",opentypeTag:"ILE ",htmlTag:"ie"},{name:"Ilokano",opentypeTag:"ILO ",htmlTag:"ilo"},{name:"Interlingua",opentypeTag:"INA ",htmlTag:"ia"},{name:"Indonesian",opentypeTag:"IND ",htmlTag:"id"},{name:"Ingush",opentypeTag:"ING ",htmlTag:"inh"},{name:"Inuktitut",opentypeTag:"INU ",htmlTag:"iu"},{name:"Inupiat",opentypeTag:"IPK ",htmlTag:"ik"},{name:"Phonetic transcription—IPA conventions",opentypeTag:"IPPH"},{name:"Irish",opentypeTag:"IRI ",htmlTag:"ga"},{name:"Irish Traditional",opentypeTag:"IRT ",htmlTag:"ga"},{name:"Icelandic",opentypeTag:"ISL ",htmlTag:"is"},{name:"Inari Sami",opentypeTag:"ISM ",htmlTag:"smn"},{name:"Italian",opentypeTag:"ITA ",htmlTag:"it"},{name:"Hebrew",opentypeTag:"IWR ",htmlTag:"he"},{name:"Jamaican Creole",opentypeTag:"JAM ",htmlTag:"jam"},{name:"Japanese",opentypeTag:"JAN ",htmlTag:"ja"},{name:"Javanese",opentypeTag:"JAV ",htmlTag:"jv"},{name:"Lojban",opentypeTag:"JBO ",htmlTag:"jbo"},{name:"Krymchak",opentypeTag:"JCT ",htmlTag:"jct"},{name:"Yiddish",opentypeTag:"JII ",htmlTag:"yi"},{name:"Ladino",opentypeTag:"JUD ",htmlTag:"lad"},{name:"Jula",opentypeTag:"JUL ",htmlTag:"dyu"},{name:"Kabardian",opentypeTag:"KAB ",htmlTag:"kbd"},{name:"Kabyle",opentypeTag:"KAB0",htmlTag:"kab"},{name:"Kachchi",opentypeTag:"KAC ",htmlTag:"kfr"},{name:"Kalenjin",opentypeTag:"KAL ",htmlTag:"kln"},{name:"Kannada",opentypeTag:"KAN ",htmlTag:"kn"},{name:"Karachay",opentypeTag:"KAR ",htmlTag:"krc"},{name:"Georgian",opentypeTag:"KAT ",htmlTag:"ka"},{name:"Kazakh",opentypeTag:"KAZ ",htmlTag:"kk"},{name:"Makonde",opentypeTag:"KDE ",htmlTag:"kde"},{name:"Kabuverdianu (Crioulo)",opentypeTag:"KEA ",htmlTag:"kea"},{name:"Kebena",opentypeTag:"KEB ",htmlTag:"ktb"},{name:"Kekchi",opentypeTag:"KEK ",htmlTag:"kek"},{name:"Khutsuri Georgian",opentypeTag:"KGE ",htmlTag:"ka"},{name:"Khakass",opentypeTag:"KHA ",htmlTag:"kjh"},{name:"Khanty-Kazim",opentypeTag:"KHK ",htmlTag:"kca"},{name:"Khmer",opentypeTag:"KHM ",htmlTag:"km"},{name:"Khanty-Shurishkar",opentypeTag:"KHS ",htmlTag:"kca"},{name:"Khamti Shan",opentypeTag:"KHT ",htmlTag:"kht"},{name:"Khanty-Vakhi",opentypeTag:"KHV ",htmlTag:"kca"},{name:"Khowar",opentypeTag:"KHW ",htmlTag:"khw"},{name:"Kikuyu (Gikuyu)",opentypeTag:"KIK ",htmlTag:"ki"},{name:"Kirghiz (Kyrgyz)",opentypeTag:"KIR ",htmlTag:"ky"},{name:"Kisii",opentypeTag:"KIS ",htmlTag:"kqs"},{name:"Kirmanjki",opentypeTag:"KIU ",htmlTag:"kiu"},{name:"Southern Kiwai",opentypeTag:"KJD ",htmlTag:"kjd"},{name:"Eastern Pwo Karen",opentypeTag:"KJP ",htmlTag:"kjp"},{name:"Bumthangkha",opentypeTag:"KJZ ",htmlTag:"kjz"},{name:"Kokni",opentypeTag:"KKN ",htmlTag:"kex"},{name:"Kalmyk",opentypeTag:"KLM ",htmlTag:"xal"},{name:"Kamba",opentypeTag:"KMB ",htmlTag:"kam"},{name:"Kumaoni",opentypeTag:"KMN ",htmlTag:"kfy"},{name:"Komo",opentypeTag:"KMO ",htmlTag:"kmw"},{name:"Komso",opentypeTag:"KMS ",htmlTag:"kxc"},{name:"Khorasani Turkic",opentypeTag:"KMZ ",htmlTag:"kmz"},{name:"Kanuri",opentypeTag:"KNR ",htmlTag:"kr"},{name:"Kodagu",opentypeTag:"KOD ",htmlTag:"kfa"},{name:"Korean Old Hangul",opentypeTag:"KOH ",htmlTag:"okm"},{name:"Konkani",opentypeTag:"KOK ",htmlTag:"kok"},{name:"Kikongo",opentypeTag:"KON ",htmlTag:"ktu"},{name:"Komi",opentypeTag:"KOM ",htmlTag:"kv"},{name:"Kongo",opentypeTag:"KON0",htmlTag:"kg"},{name:"Komi-Permyak",opentypeTag:"KOP ",htmlTag:"koi"},{name:"Korean",opentypeTag:"KOR ",htmlTag:"ko"},{name:"Kosraean",opentypeTag:"KOS ",htmlTag:"kos"},{name:"Komi-Zyrian",opentypeTag:"KOZ ",htmlTag:"kpv"},{name:"Kpelle",opentypeTag:"KPL ",htmlTag:"kpe"},{name:"Krio",opentypeTag:"KRI ",htmlTag:"kri"},{name:"Karakalpak",opentypeTag:"KRK ",htmlTag:"kaa"},{name:"Karelian",opentypeTag:"KRL ",htmlTag:"krl"},{name:"Karaim",opentypeTag:"KRM ",htmlTag:"kdr"},{name:"Karen",opentypeTag:"KRN ",htmlTag:"kar"},{name:"Koorete",opentypeTag:"KRT ",htmlTag:"kqy"},{name:"Kashmiri",opentypeTag:"KSH ",htmlTag:"ks"},{name:"Ripuarian",opentypeTag:"KSH0",htmlTag:"ksh"},{name:"Khasi",opentypeTag:"KSI ",htmlTag:"kha"},{name:"Kildin Sami",opentypeTag:"KSM ",htmlTag:"sjd"},{name:"S’gaw Karen",opentypeTag:"KSW ",htmlTag:"ksw"},{name:"Kuanyama",opentypeTag:"KUA ",htmlTag:"kj"},{name:"Kui",opentypeTag:"KUI ",htmlTag:"kxu"},{name:"Kulvi",opentypeTag:"KUL ",htmlTag:"kfx"},{name:"Kumyk",opentypeTag:"KUM ",htmlTag:"kum"},{name:"Kurdish",opentypeTag:"KUR ",htmlTag:"ku"},{name:"Kurukh",opentypeTag:"KUU ",htmlTag:"kru"},{name:"Kuy",opentypeTag:"KUY ",htmlTag:"kdt"},{name:"Koryak",opentypeTag:"KYK ",htmlTag:"kpy"},{name:"Western Kayah",opentypeTag:"KYU ",htmlTag:"kyu"},{name:"Ladin",opentypeTag:"LAD ",htmlTag:"lld"},{name:"Lahuli",opentypeTag:"LAH ",htmlTag:"bfu"},{name:"Lak",opentypeTag:"LAK ",htmlTag:"lbe"},{name:"Lambani",opentypeTag:"LAM ",htmlTag:"lmn"},{name:"Lao",opentypeTag:"LAO ",htmlTag:"lo"},{name:"Latin",opentypeTag:"LAT ",htmlTag:"la"},{name:"Laz",opentypeTag:"LAZ ",htmlTag:"lzz"},{name:"L-Cree",opentypeTag:"LCR ",htmlTag:"crm"},{name:"Ladakhi",opentypeTag:"LDK ",htmlTag:"lbj"},{name:"Lezgi",opentypeTag:"LEZ ",htmlTag:"lez"},{name:"Ligurian",opentypeTag:"LIJ ",htmlTag:"lij"},{name:"Limburgish",opentypeTag:"LIM ",htmlTag:"li"},{name:"Lingala",opentypeTag:"LIN ",htmlTag:"ln"},{name:"Lisu",opentypeTag:"LIS ",htmlTag:"lis"},{name:"Lampung",opentypeTag:"LJP ",htmlTag:"ljp"},{name:"Laki",opentypeTag:"LKI ",htmlTag:"lki"},{name:"Low Mari",opentypeTag:"LMA ",htmlTag:"mhr"},{name:"Limbu",opentypeTag:"LMB ",htmlTag:"lif"},{name:"Lombard",opentypeTag:"LMO ",htmlTag:"lmo"},{name:"Lomwe",opentypeTag:"LMW ",htmlTag:"ngl"},{name:"Loma",opentypeTag:"LOM ",htmlTag:"lom"},{name:"Luri",opentypeTag:"LRC ",htmlTag:"lrc"},{name:"Lower Sorbian",opentypeTag:"LSB ",htmlTag:"dsb"},{name:"Lule Sami",opentypeTag:"LSM ",htmlTag:"smj"},{name:"Lithuanian",opentypeTag:"LTH ",htmlTag:"lt"},{name:"Luxembourgish",opentypeTag:"LTZ ",htmlTag:"lb"},{name:"Luba-Lulua",opentypeTag:"LUA ",htmlTag:"lua"},{name:"Luba-Katanga",opentypeTag:"LUB ",htmlTag:"lu"},{name:"Ganda",opentypeTag:"LUG ",htmlTag:"lg"},{name:"Luyia",opentypeTag:"LUH ",htmlTag:"luy"},{name:"Luo",opentypeTag:"LUO ",htmlTag:"luo"},{name:"Latvian",opentypeTag:"LVI ",htmlTag:"lv"},{name:"Madura",opentypeTag:"MAD ",htmlTag:"mad"},{name:"Magahi",opentypeTag:"MAG ",htmlTag:"mag"},{name:"Marshallese",opentypeTag:"MAH ",htmlTag:"mh"},{name:"Majang",opentypeTag:"MAJ ",htmlTag:"mpe"},{name:"Makhuwa",opentypeTag:"MAK ",htmlTag:"vmw"},{name:"Malayalam",opentypeTag:"MAL ",htmlTag:"ml"},{name:"Mam",opentypeTag:"MAM ",htmlTag:"mam"},{name:"Mansi",opentypeTag:"MAN ",htmlTag:"mns"},{name:"Mapudungun",opentypeTag:"MAP ",htmlTag:"arn"},{name:"Marathi",opentypeTag:"MAR ",htmlTag:"mr"},{name:"Marwari",opentypeTag:"MAW ",htmlTag:"mwr"},{name:"Mbundu",opentypeTag:"MBN ",htmlTag:"kmb"},{name:"Mbo",opentypeTag:"MBO ",htmlTag:"mbo"},{name:"Manchu",opentypeTag:"MCH ",htmlTag:"mnc"},{name:"Moose Cree",opentypeTag:"MCR ",htmlTag:"crm"},{name:"Mende",opentypeTag:"MDE ",htmlTag:"men"},{name:"Mandar",opentypeTag:"MDR ",htmlTag:"mdr"},{name:"Me’en",opentypeTag:"MEN ",htmlTag:"mym"},{name:"Meru",opentypeTag:"MER ",htmlTag:"mer"},{name:"Pattani Malay",opentypeTag:"MFA ",htmlTag:"mfa"},{name:"Morisyen",opentypeTag:"MFE ",htmlTag:"mfe"},{name:"Minangkabau",opentypeTag:"MIN ",htmlTag:"min"},{name:"Mizo",opentypeTag:"MIZ ",htmlTag:"lus"},{name:"Macedonian",opentypeTag:"MKD ",htmlTag:"mk"},{name:"Makasar",opentypeTag:"MKR ",htmlTag:"mak"},{name:"Kituba",opentypeTag:"MKW ",htmlTag:"mkw"},{name:"Male",opentypeTag:"MLE ",htmlTag:"mdy"},{name:"Malagasy",opentypeTag:"MLG ",htmlTag:"mg"},{name:"Malinke",opentypeTag:"MLN ",htmlTag:"mlq"},{name:"Malayalam Reformed",opentypeTag:"MLR ",htmlTag:"ml"},{name:"Malay",opentypeTag:"MLY ",htmlTag:"ms"},{name:"Mandinka",opentypeTag:"MND ",htmlTag:"mnk"},{name:"Mongolian",opentypeTag:"MNG ",htmlTag:"mn"},{name:"Manipuri",opentypeTag:"MNI ",htmlTag:"mni"},{name:"Maninka",opentypeTag:"MNK ",htmlTag:"man"},{name:"Manx",opentypeTag:"MNX ",htmlTag:"gv"},{name:"Mohawk",opentypeTag:"MOH ",htmlTag:"moh"},{name:"Moksha",opentypeTag:"MOK ",htmlTag:"mdf"},{name:"Moldavian",opentypeTag:"MOL ",htmlTag:"mol"},{name:"Mon",opentypeTag:"MON ",htmlTag:"mnw"},{name:"Moroccan",opentypeTag:"MOR "},{name:"Mossi",opentypeTag:"MOS ",htmlTag:"mos"},{name:"Maori",opentypeTag:"MRI ",htmlTag:"mi"},{name:"Maithili",opentypeTag:"MTH ",htmlTag:"mai"},{name:"Maltese",opentypeTag:"MTS ",htmlTag:"mt"},{name:"Mundari",opentypeTag:"MUN ",htmlTag:"unr"},{name:"Muscogee",opentypeTag:"MUS ",htmlTag:"mus"},{name:"Mirandese",opentypeTag:"MWL ",htmlTag:"mwl"},{name:"Hmong Daw",opentypeTag:"MWW ",htmlTag:"mww"},{name:"Mayan",opentypeTag:"MYN ",htmlTag:"myn"},{name:"Mazanderani",opentypeTag:"MZN ",htmlTag:"mzn"},{name:"Naga-Assamese",opentypeTag:"NAG ",htmlTag:"nag"},{name:"Nahuatl",opentypeTag:"NAH ",htmlTag:"nah"},{name:"Nanai",opentypeTag:"NAN ",htmlTag:"gld"},{name:"Neapolitan",opentypeTag:"NAP ",htmlTag:"nap"},{name:"Naskapi",opentypeTag:"NAS ",htmlTag:"nsk"},{name:"Nauruan",opentypeTag:"NAU ",htmlTag:"na"},{name:"Navajo",opentypeTag:"NAV ",htmlTag:"nv"},{name:"N-Cree",opentypeTag:"NCR ",htmlTag:"csw"},{name:"Ndebele",opentypeTag:"NDB ",htmlTag:"nr"},{name:"Ndau",opentypeTag:"NDC ",htmlTag:"ndc"},{name:"Ndonga",opentypeTag:"NDG ",htmlTag:"ng"},{name:"Low Saxon",opentypeTag:"NDS ",htmlTag:"nds"},{name:"Nepali",opentypeTag:"NEP ",htmlTag:"ne"},{name:"Newari",opentypeTag:"NEW ",htmlTag:"new"},{name:"Ngbaka",opentypeTag:"NGA ",htmlTag:"nga"},{name:"Nagari",opentypeTag:"NGR "},{name:"Norway House Cree",opentypeTag:"NHC ",htmlTag:"csw"},{name:"Nisi",opentypeTag:"NIS ",htmlTag:"dap"},{name:"Niuean",opentypeTag:"NIU ",htmlTag:"niu"},{name:"Nyankole",opentypeTag:"NKL ",htmlTag:"nyn"},{name:"N’Ko",opentypeTag:"NKO ",htmlTag:"nqo"},{name:"Dutch",opentypeTag:"NLD ",htmlTag:"nl"},{name:"Nimadi",opentypeTag:"NOE ",htmlTag:"noe"},{name:"Nogai",opentypeTag:"NOG ",htmlTag:"nog"},{name:"Norwegian",opentypeTag:"NOR ",htmlTag:"nb"},{name:"Novial",opentypeTag:"NOV ",htmlTag:"nov"},{name:"Northern Sami",opentypeTag:"NSM ",htmlTag:"se"},{name:"Sotho, Northern",opentypeTag:"NSO ",htmlTag:"nso"},{name:"Northern Tai",opentypeTag:"NTA ",htmlTag:"nod"},{name:"Esperanto",opentypeTag:"NTO ",htmlTag:"eo"},{name:"Nyamwezi",opentypeTag:"NYM ",htmlTag:"nym"},{name:"Norwegian Nynorsk (Nynorsk, Norwegian)",opentypeTag:"NYN ",htmlTag:"nn"},{name:"Mbembe Tigon",opentypeTag:"NZA ",htmlTag:"nza"},{name:"Occitan",opentypeTag:"OCI ",htmlTag:"oc"},{name:"Oji-Cree",opentypeTag:"OCR ",htmlTag:"ojs"},{name:"Ojibway",opentypeTag:"OJB ",htmlTag:"oj"},{name:"Odia (formerly Oriya)",opentypeTag:"ORI ",htmlTag:"or"},{name:"Oromo",opentypeTag:"ORO ",htmlTag:"om"},{name:"Ossetian",opentypeTag:"OSS ",htmlTag:"os"},{name:"Palestinian Aramaic",opentypeTag:"PAA ",htmlTag:"sam"},{name:"Pangasinan",opentypeTag:"PAG ",htmlTag:"pag"},{name:"Pali",opentypeTag:"PAL ",htmlTag:"pi"},{name:"Pampangan",opentypeTag:"PAM ",htmlTag:"pam"},{name:"Punjabi",opentypeTag:"PAN ",htmlTag:"pa"},{name:"Palpa",opentypeTag:"PAP ",htmlTag:"plp"},{name:"Papiamentu",opentypeTag:"PAP0",htmlTag:"pap"},{name:"Pashto",opentypeTag:"PAS ",htmlTag:"ps"},{name:"Palauan",opentypeTag:"PAU ",htmlTag:"pau"},{name:"Bouyei",opentypeTag:"PCC ",htmlTag:"pcc"},{name:"Picard",opentypeTag:"PCD ",htmlTag:"pcd"},{name:"Pennsylvania German",opentypeTag:"PDC ",htmlTag:"pdc"},{name:"Polytonic Greek",opentypeTag:"PGR ",htmlTag:"el"},{name:"Phake",opentypeTag:"PHK ",htmlTag:"phk"},{name:"Norfolk",opentypeTag:"PIH ",htmlTag:"pih"},{name:"Filipino",opentypeTag:"PIL ",htmlTag:"fil"},{name:"Palaung",opentypeTag:"PLG ",htmlTag:"pce"},{name:"Polish",opentypeTag:"PLK ",htmlTag:"pl"},{name:"Piemontese",opentypeTag:"PMS ",htmlTag:"pms"},{name:"Western Panjabi",opentypeTag:"PNB ",htmlTag:"pnb"},{name:"Pocomchi",opentypeTag:"POH ",htmlTag:"poh"},{name:"Pohnpeian",opentypeTag:"PON ",htmlTag:"pon"},{name:"Provençal / Old Provençal",opentypeTag:"PRO ",htmlTag:"pro"},{name:"Portuguese",opentypeTag:"PTG ",htmlTag:"pt"},{name:"Western Pwo Karen",opentypeTag:"PWO ",htmlTag:"pwo"},{name:"Chin",opentypeTag:"QIN ",htmlTag:"bgr"},{name:"K’iche’",opentypeTag:"QUC ",htmlTag:"quc"},{name:"Quechua (Bolivia)",opentypeTag:"QUH ",htmlTag:"quh"},{name:"Quechua",opentypeTag:"QUZ ",htmlTag:"quz"},{name:"Quechua (Ecuador)",opentypeTag:"QVI ",htmlTag:"qvi"},{name:"Quechua (Peru)",opentypeTag:"QWH ",htmlTag:"qwh"},{name:"Rajasthani",opentypeTag:"RAJ ",htmlTag:"raj"},{name:"Rarotongan",opentypeTag:"RAR ",htmlTag:"rar"},{name:"Russian Buriat",opentypeTag:"RBU ",htmlTag:"bxr"},{name:"R-Cree",opentypeTag:"RCR ",htmlTag:"atj"},{name:"Rejang",opentypeTag:"REJ ",htmlTag:"rej"},{name:"Riang",opentypeTag:"RIA ",htmlTag:"ria"},{name:"Tarifit",opentypeTag:"RIF ",htmlTag:"rif"},{name:"Ritarungo",opentypeTag:"RIT ",htmlTag:"rit"},{name:"Arakwal",opentypeTag:"RKW ",htmlTag:"rkw"},{name:"Romansh",opentypeTag:"RMS ",htmlTag:"rm"},{name:"Vlax Romani",opentypeTag:"RMY ",htmlTag:"rmy"},{name:"Romanian",opentypeTag:"ROM ",htmlTag:"ro"},{name:"Romany",opentypeTag:"ROY ",htmlTag:"rom"},{name:"Rusyn",opentypeTag:"RSY ",htmlTag:"rue"},{name:"Rotuman",opentypeTag:"RTM ",htmlTag:"rtm"},{name:"Kinyarwanda",opentypeTag:"RUA ",htmlTag:"rw"},{name:"Rundi",opentypeTag:"RUN ",htmlTag:"rn"},{name:"Aromanian",opentypeTag:"RUP ",htmlTag:"rup"},{name:"Russian",opentypeTag:"RUS ",htmlTag:"ru"},{name:"Sadri",opentypeTag:"SAD ",htmlTag:"sck"},{name:"Sanskrit",opentypeTag:"SAN ",htmlTag:"sa"},{name:"Sasak",opentypeTag:"SAS ",htmlTag:"sas"},{name:"Santali",opentypeTag:"SAT ",htmlTag:"sat"},{name:"Sayisi",opentypeTag:"SAY ",htmlTag:"chp"},{name:"Sicilian",opentypeTag:"SCN ",htmlTag:"scn"},{name:"Scots",opentypeTag:"SCO ",htmlTag:"sco"},{name:"Sekota",opentypeTag:"SEK ",htmlTag:"xan"},{name:"Selkup",opentypeTag:"SEL ",htmlTag:"sel"},{name:"Old Irish",opentypeTag:"SGA ",htmlTag:"sga"},{name:"Sango",opentypeTag:"SGO ",htmlTag:"sg"},{name:"Samogitian",opentypeTag:"SGS ",htmlTag:"sgs"},{name:"Tachelhit",opentypeTag:"SHI ",htmlTag:"shi"},{name:"Shan",opentypeTag:"SHN ",htmlTag:"shn"},{name:"Sibe",opentypeTag:"SIB ",htmlTag:"sjo"},{name:"Sidamo",opentypeTag:"SID ",htmlTag:"sid"},{name:"Silte Gurage",opentypeTag:"SIG ",htmlTag:"xst"},{name:"Skolt Sami",opentypeTag:"SKS ",htmlTag:"sms"},{name:"Slovak",opentypeTag:"SKY ",htmlTag:"sk"},{name:"North Slavey",opentypeTag:"SCS ",htmlTag:"scs"},{name:"Slavey",opentypeTag:"SLA ",htmlTag:"scs"},{name:"Slovenian",opentypeTag:"SLV ",htmlTag:"sl"},{name:"Somali",opentypeTag:"SML ",htmlTag:"so"},{name:"Samoan",opentypeTag:"SMO ",htmlTag:"sm"},{name:"Sena",opentypeTag:"SNA ",htmlTag:"seh"},{name:"Shona",opentypeTag:"SNA0",htmlTag:"sn"},{name:"Sindhi",opentypeTag:"SND ",htmlTag:"sd"},{name:"Sinhala (Sinhalese)",opentypeTag:"SNH ",htmlTag:"si"},{name:"Soninke",opentypeTag:"SNK ",htmlTag:"snk"},{name:"Sodo Gurage",opentypeTag:"SOG ",htmlTag:"gru"},{name:"Songe",opentypeTag:"SOP ",htmlTag:"sop"},{name:"Sotho, Southern",opentypeTag:"SOT ",htmlTag:"st"},{name:"Albanian",opentypeTag:"SQI ",htmlTag:"sq"},{name:"Serbian",opentypeTag:"SRB ",htmlTag:"sr"},{name:"Sardinian",opentypeTag:"SRD ",htmlTag:"sc"},{name:"Saraiki",opentypeTag:"SRK ",htmlTag:"skr"},{name:"Serer",opentypeTag:"SRR ",htmlTag:"srr"},{name:"South Slavey",opentypeTag:"SSL ",htmlTag:"xsl"},{name:"Southern Sami",opentypeTag:"SSM ",htmlTag:"sma"},{name:"Saterland Frisian",opentypeTag:"STQ ",htmlTag:"stq"},{name:"Sukuma",opentypeTag:"SUK ",htmlTag:"suk"},{name:"Sundanese",opentypeTag:"SUN ",htmlTag:"su"},{name:"Suri",opentypeTag:"SUR ",htmlTag:"suq"},{name:"Svan",opentypeTag:"SVA ",htmlTag:"sva"},{name:"Swedish",opentypeTag:"SVE ",htmlTag:"sv"},{name:"Swadaya Aramaic",opentypeTag:"SWA ",htmlTag:"aii"},{name:"Swahili",opentypeTag:"SWK ",htmlTag:"sw"},{name:"Swati",opentypeTag:"SWZ ",htmlTag:"ss"},{name:"Sutu",opentypeTag:"SXT ",htmlTag:"ngo"},{name:"Upper Saxon",opentypeTag:"SXU ",htmlTag:"sxu"},{name:"Sylheti",opentypeTag:"SYL ",htmlTag:"syl"},{name:"Syriac",opentypeTag:"SYR ",htmlTag:"aii"},{name:"Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre')",opentypeTag:"SYRE",htmlTag:"syc"},{name:"Syriac, Western script-variant (equivalent to ISO 15924 'Syrj')",opentypeTag:"SYRJ",htmlTag:"syc"},{name:"Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn')",opentypeTag:"SYRN",htmlTag:"syc"},{name:"Silesian",opentypeTag:"SZL ",htmlTag:"szl"},{name:"Tabasaran",opentypeTag:"TAB ",htmlTag:"tab"},{name:"Tajiki",opentypeTag:"TAJ ",htmlTag:"tg"},{name:"Tamil",opentypeTag:"TAM ",htmlTag:"ta"},{name:"Tatar",opentypeTag:"TAT ",htmlTag:"tt"},{name:"TH-Cree",opentypeTag:"TCR ",htmlTag:"cwd"},{name:"Dehong Dai",opentypeTag:"TDD ",htmlTag:"tdd"},{name:"Telugu",opentypeTag:"TEL ",htmlTag:"te"},{name:"Tetum",opentypeTag:"TET ",htmlTag:"tet"},{name:"Tagalog",opentypeTag:"TGL ",htmlTag:"tl"},{name:"Tongan",opentypeTag:"TGN ",htmlTag:"to"},{name:"Tigre",opentypeTag:"TGR ",htmlTag:"tig"},{name:"Tigrinya",opentypeTag:"TGY ",htmlTag:"ti"},{name:"Thai",opentypeTag:"THA ",htmlTag:"th"},{name:"Tahitian",opentypeTag:"THT ",htmlTag:"ty"},{name:"Tibetan",opentypeTag:"TIB ",htmlTag:"bo"},{name:"Tiv",opentypeTag:"TIV ",htmlTag:"tiv"},{name:"Turkmen",opentypeTag:"TKM ",htmlTag:"tk"},{name:"Tamashek",opentypeTag:"TMH ",htmlTag:"tmh"},{name:"Temne",opentypeTag:"TMN ",htmlTag:"tem"},{name:"Tswana",opentypeTag:"TNA ",htmlTag:"tn"},{name:"Tundra Nenets",opentypeTag:"TNE ",htmlTag:"enh"},{name:"Tonga",opentypeTag:"TNG ",htmlTag:"toi"},{name:"Todo",opentypeTag:"TOD ",htmlTag:"xal"},{name:"Toma",opentypeTag:"TOD0",htmlTag:"tod"},{name:"Tok Pisin",opentypeTag:"TPI ",htmlTag:"tpi"},{name:"Turkish",opentypeTag:"TRK ",htmlTag:"tr"},{name:"Tsonga",opentypeTag:"TSG ",htmlTag:"ts"},{name:"Tshangla",opentypeTag:"TSJ ",htmlTag:"tsj"},{name:"Turoyo Aramaic",opentypeTag:"TUA ",htmlTag:"tru"},{name:"Tulu",opentypeTag:"TUM ",htmlTag:"tum"},{name:"Tumbuka",opentypeTag:"TUL ",htmlTag:"tcy"},{name:"Tuvin",opentypeTag:"TUV ",htmlTag:"tyv"},{name:"Tuvalu",opentypeTag:"TVL ",htmlTag:"tvl"},{name:"Twi",opentypeTag:"TWI ",htmlTag:"ak"},{name:"Tày",opentypeTag:"TYZ ",htmlTag:"tyz"},{name:"Tamazight",opentypeTag:"TZM ",htmlTag:"tzm"},{name:"Tzotzil",opentypeTag:"TZO ",htmlTag:"tzo"},{name:"Udmurt",opentypeTag:"UDM ",htmlTag:"udm"},{name:"Ukrainian",opentypeTag:"UKR ",htmlTag:"uk"},{name:"Umbundu",opentypeTag:"UMB ",htmlTag:"umb"},{name:"Urdu",opentypeTag:"URD ",htmlTag:"ur"},{name:"Upper Sorbian",opentypeTag:"USB ",htmlTag:"hsb"},{name:"Uyghur",opentypeTag:"UYG ",htmlTag:"ug"},{name:"Uzbek",opentypeTag:"UZB ",htmlTag:"uz"},{name:"Venetian",opentypeTag:"VEC ",htmlTag:"vec"},{name:"Venda",opentypeTag:"VEN ",htmlTag:"ve"},{name:"Vietnamese",opentypeTag:"VIT ",htmlTag:"vi"},{name:"Volapük",opentypeTag:"VOL ",htmlTag:"vo"},{name:"Võro",opentypeTag:"VRO ",htmlTag:"vro"},{name:"Wa",opentypeTag:"WA",htmlTag:"wbm"},{name:"Wagdi",opentypeTag:"WAG ",htmlTag:"wbr"},{name:"Waray-Waray",opentypeTag:"WAR ",htmlTag:"war"},{name:"West-Cree",opentypeTag:"WCR ",htmlTag:"crk"},{name:"Welsh",opentypeTag:"WEL ",htmlTag:"cy"},{name:"Walloon",opentypeTag:"WLN ",htmlTag:"wa"},{name:"Wolof",opentypeTag:"WLF ",htmlTag:"wo"},{name:"Mewati",opentypeTag:"WTM ",htmlTag:"wtm"},{name:"Lü",opentypeTag:"XBD ",htmlTag:"khb"},{name:"Khengkha",opentypeTag:"XKF ",htmlTag:"xkf"},{name:"Xhosa",opentypeTag:"XHS ",htmlTag:"xh"},{name:"Minjangbal",opentypeTag:"XJB ",htmlTag:"xjb"},{name:"Soga",opentypeTag:"XOG ",htmlTag:"xog"},{name:"Kpelle (Liberia)",opentypeTag:"XPE ",htmlTag:"xpe"},{name:"Sakha",opentypeTag:"YAK ",htmlTag:"sah"},{name:"Yao",opentypeTag:"YAO ",htmlTag:"yao"},{name:"Yapese",opentypeTag:"YAP ",htmlTag:"yap"},{name:"Yoruba",opentypeTag:"YBA ",htmlTag:"yo"},{name:"Y-Cree",opentypeTag:"YCR ",htmlTag:"cr"},{name:"Yi Classic",opentypeTag:"YIC "},{name:"Yi Modern",opentypeTag:"YIM ",htmlTag:"ii"},{name:"Zealandic",opentypeTag:"ZEA ",htmlTag:"zea"},{name:"Standard Moroccan Tamazight",opentypeTag:"ZGH ",htmlTag:"zgh"},{name:"Zhuang",opentypeTag:"ZHA ",htmlTag:"za"},{name:"Chinese, Hong Kong SAR",opentypeTag:"ZHH ",htmlTag:"zh"},{name:"Chinese Phonetic",opentypeTag:"ZHP ",htmlTag:"zh"},{name:"Chinese Simplified",opentypeTag:"ZHS ",htmlTag:"zh"},{name:"Chinese Traditional",opentypeTag:"ZHT ",htmlTag:"zh"},{name:"Zande",opentypeTag:"ZND ",htmlTag:"zne"},{name:"Zulu",opentypeTag:"ZUL ",htmlTag:"zu"},{name:"Zazaki",opentypeTag:"ZZA ",htmlTag:"zza"}]},c2a8:function(e,t,n){},c30e:function(e,t,n){},cb2b:function(e,t,n){},cd9e:function(e,t,n){},ceaa:function(e,t,n){"use strict";n("1c5d")},d7849:function(e,t,n){"use strict";n("84fa")},dad9:function(e,t,n){},dae6:function(e,t,n){"use strict";n("ece6")},db14:function(e,t,n){},e176:function(e,t,n){},ea3a:function(e,t,n){},ece6:function(e,t,n){},ee87:function(e,t,n){"use strict";n("59e2")},f5dfe:function(e,t,n){"use strict";n("db14")},ff1f:function(e,t,n){}}); +//# sourceMappingURL=app.cb27efcb.js.map \ No newline at end of file diff --git a/js/app.cb27efcb.js.map b/js/app.cb27efcb.js.map new file mode 100644 index 0000000..409d6ce --- /dev/null +++ b/js/app.cb27efcb.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/UiColorPicker.vue?c0b2","webpack:///./src/App.vue?bb5e","webpack:///./src/components/FontSelect.vue?f778","webpack:///./src/components/layout/FitMe.vue?1445","webpack:///./src/components/CharacterInfo.vue?8919","webpack:///./src/models/opentypeFeatureDefaults.js","webpack:///./src/components/layout/Pinnable.vue?cf95","webpack:///./src/components/UiSelect.vue?8380","webpack:///./src/components/TextTools.vue?ad69","webpack:///./src/components/UiSlider.vue?1b4b","webpack:///./src/components/TesterBody.vue?fc39","webpack:///./src/components/layout/SigmoidContainer.vue?381b","webpack:///./src/components/FontSample.vue?54cf","webpack:///./src/components/FontSampleNav.vue?88e0","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?82a9","webpack:///./src/App.vue?806e","webpack:///./src/viewparts/SiteHeader.vue","webpack:///./src/components/FontLoader.vue","webpack:///./src/components/FontSelect.vue","webpack:///./src/components/UiSelect.vue","webpack:///src/components/UiSelect.vue","webpack:///./src/components/UiSelect.vue?3f7f","webpack:///./src/components/UiSelect.vue?7b0d","webpack:///./src/components/UiTooltip.vue","webpack:///src/components/UiTooltip.vue","webpack:///./src/components/UiTooltip.vue?1f1b","webpack:///./src/components/UiTooltip.vue?846e","webpack:///./src/components/layout/FitMe.vue","webpack:///src/components/layout/FitMe.vue","webpack:///./src/components/layout/FitMe.vue?a0d5","webpack:///./src/components/layout/FitMe.vue?90f7","webpack:///src/components/FontSelect.vue","webpack:///./src/components/FontSelect.vue?2fdb","webpack:///./src/components/FontSelect.vue?72ed","webpack:///./src/components/FileDrop.vue","webpack:///src/components/FileDrop.vue","webpack:///./src/components/FileDrop.vue?021b","webpack:///./src/components/FileDrop.vue?dc57","webpack:///./src/models/opentypeFeatureNames.js","webpack:///./src/utils/DomSelection.js","webpack:///./src/models/Font.js","webpack:///./src/utils/id.js","webpack:///./src/utils/styles.js","webpack:///./src/models/DEFAULT_FONTS.js","webpack:///src/components/FontLoader.vue","webpack:///./src/components/FontLoader.vue?24e6","webpack:///./src/components/FontLoader.vue?7980","webpack:///./src/components/EditorNav.vue","webpack:///./src/components/EditorNavLink.vue","webpack:///src/components/EditorNavLink.vue","webpack:///./src/components/EditorNavLink.vue?9c48","webpack:///./src/components/EditorNavLink.vue?a925","webpack:///src/components/EditorNav.vue","webpack:///./src/components/EditorNav.vue?7f2c","webpack:///./src/components/EditorNav.vue?d880","webpack:///./src/components/TextTools.vue","webpack:///src/components/TextTools.vue","webpack:///./src/components/TextTools.vue?b135","webpack:///./src/components/TextTools.vue?3237","webpack:///./src/components/SiteLogo.vue","webpack:///./src/components/SiteLogo.vue?3c0e","webpack:///./src/components/layout/SigmoidContainer.vue","webpack:///src/components/layout/SigmoidContainer.vue","webpack:///./src/components/layout/SigmoidContainer.vue?37a9","webpack:///./src/components/layout/SigmoidContainer.vue?fe1c","webpack:///./src/models/textKinds.js","webpack:///./src/models/textKindTitle.js","webpack:///src/viewparts/SiteHeader.vue","webpack:///./src/viewparts/SiteHeader.vue?7b8a","webpack:///./src/viewparts/SiteHeader.vue?188b","webpack:///./src/viewparts/SiteFooter.vue","webpack:///src/viewparts/SiteFooter.vue","webpack:///./src/viewparts/SiteFooter.vue?521e","webpack:///./src/viewparts/SiteFooter.vue?b1e5","webpack:///./src/views/Home.vue","webpack:///./src/models/shuffle.js","webpack:///./src/views/Welcome.vue","webpack:///./src/views/Welcome.md","webpack:///./src/views/Welcome.md?205a","webpack:///src/views/Welcome.vue","webpack:///./src/views/Welcome.vue?0a79","webpack:///./src/views/Welcome.vue?e714","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?0136","webpack:///./src/views/Home.vue?08ee","webpack:///./src/views/Help.vue","webpack:///./src/views/Help.vue?27d8","webpack:///./src/views/KerningHelp.vue","webpack:///./src/utils/characterRange.js","webpack:///./src/utils/cartesianProduct.js","webpack:///./src/models/KerningGenerator.js","webpack:///./src/components/KerningEditor.vue","webpack:///./src/models/kerningSegments.js","webpack:///src/components/KerningEditor.vue","webpack:///./src/components/KerningEditor.vue?5b92","webpack:///./src/components/KerningEditor.vue?653d","webpack:///./src/views/Kerning.md","webpack:///./src/views/Kerning.md?048a","webpack:///src/views/KerningHelp.vue","webpack:///./src/views/KerningHelp.vue?444e","webpack:///./src/views/KerningHelp.vue?8ef0","webpack:///./src/views/AnimationHelp.vue","webpack:///./src/views/Animation.md","webpack:///./src/views/Animation.md?0d03","webpack:///src/views/AnimationHelp.vue","webpack:///./src/views/AnimationHelp.vue?10d6","webpack:///./src/views/AnimationHelp.vue?1255","webpack:///./src/views/QueryString.vue","webpack:///./src/views/QueryString.md","webpack:///./src/views/QueryString.md?dd91","webpack:///src/views/QueryString.vue","webpack:///./src/views/QueryString.vue?f0a5","webpack:///./src/views/QueryString.vue?0ca0","webpack:///./src/views/FontTester.vue","webpack:///./src/components/layout/Pinnable.vue","webpack:///src/components/layout/Pinnable.vue","webpack:///./src/components/layout/Pinnable.vue?2c69","webpack:///./src/components/layout/Pinnable.vue?ab0a","webpack:///./src/components/Settings.vue","webpack:///./src/components/UiSlider.vue","webpack:///src/components/UiSlider.vue","webpack:///./src/components/UiSlider.vue?7c35","webpack:///./src/components/UiSlider.vue?d2d3","webpack:///./src/components/UiNumber.vue","webpack:///src/components/UiNumber.vue","webpack:///./src/components/UiNumber.vue?7ff2","webpack:///./src/components/UiNumber.vue?acc4","webpack:///./src/components/UiColorPicker.vue","webpack:///src/components/UiColorPicker.vue","webpack:///./src/components/UiColorPicker.vue?0a59","webpack:///./src/components/UiColorPicker.vue?30ab","webpack:///src/components/Settings.vue","webpack:///./src/components/Settings.vue?d9ca","webpack:///./src/components/Settings.vue?0b40","webpack:///./src/components/TesterBody.vue","webpack:///./src/components/FontSample.vue","webpack:///src/components/FontSample.vue","webpack:///./src/components/FontSample.vue?1ae0","webpack:///./src/components/FontSample.vue?0513","webpack:///./src/components/SampleHeader.vue","webpack:///./src/utils/printNumber.js","webpack:///src/components/SampleHeader.vue","webpack:///./src/components/SampleHeader.vue?ee3f","webpack:///./src/components/SampleHeader.vue?e41f","webpack:///./src/components/GotchaHeader.vue","webpack:///src/components/GotchaHeader.vue","webpack:///./src/components/GotchaHeader.vue?5f9d","webpack:///./src/components/GotchaHeader.vue?4751","webpack:///src/components/TesterBody.vue","webpack:///./src/components/TesterBody.vue?93cb","webpack:///./src/components/TesterBody.vue?0a51","webpack:///./src/components/LanguageNav.vue","webpack:///./src/utils/fireEvent.js","webpack:///src/components/LanguageNav.vue","webpack:///./src/components/LanguageNav.vue?f824","webpack:///./src/components/LanguageNav.vue?3aee","webpack:///./src/components/KerningNav.vue","webpack:///src/components/KerningNav.vue","webpack:///./src/components/KerningNav.vue?85ab","webpack:///./src/components/KerningNav.vue?a6cf","webpack:///./src/components/LanguageSupportSummary.vue","webpack:///./src/components/layout/ScrollPanel.vue","webpack:///./src/components/layout/ScrollPanel.vue?fe31","webpack:///./src/components/LanguagePanel.vue","webpack:///src/components/LanguagePanel.vue","webpack:///./src/components/LanguagePanel.vue?6afd","webpack:///./src/components/LanguagePanel.vue?de16","webpack:///./src/components/LanguageList.vue","webpack:///src/components/LanguageList.vue","webpack:///./src/components/LanguageList.vue?59c9","webpack:///./src/components/LanguageList.vue?bfdb","webpack:///./src/components/CharacterPanel.vue","webpack:///./src/components/CharacterInfo.vue","webpack:///src/components/CharacterInfo.vue","webpack:///./src/components/CharacterInfo.vue?5d00","webpack:///./src/components/CharacterInfo.vue?d7a7","webpack:///src/components/CharacterPanel.vue","webpack:///./src/components/CharacterPanel.vue?6698","webpack:///./src/components/CharacterPanel.vue?404c","webpack:///src/components/LanguageSupportSummary.vue","webpack:///./src/components/LanguageSupportSummary.vue?0db7","webpack:///./src/components/LanguageSupportSummary.vue?4c98","webpack:///./src/components/FontSampleNav.vue","webpack:///./src/components/AnimationEditor.vue","webpack:///./src/components/EditableList.vue","webpack:///src/components/EditableList.vue","webpack:///./src/components/EditableList.vue?ae74","webpack:///./src/components/EditableList.vue?32bc","webpack:///src/components/AnimationEditor.vue","webpack:///./src/components/AnimationEditor.vue?0797","webpack:///./src/components/AnimationEditor.vue?4631","webpack:///src/components/FontSampleNav.vue","webpack:///./src/components/FontSampleNav.vue?f9e8","webpack:///./src/components/FontSampleNav.vue?8020","webpack:///src/views/FontTester.vue","webpack:///./src/views/FontTester.vue?1661","webpack:///./src/views/FontTester.vue?d2c7","webpack:///./src/router.js","webpack:///./src/models/kerningPatterns.js","webpack:///./src/models/kerningPatternName.js","webpack:///./src/models/textKindLanguageDataField.js","webpack:///./src/utils/escapeHtmlId.js","webpack:///./src/utils/escapeHtml.js","webpack:///./src/store/store.text.js","webpack:///./src/models/Settings.js","webpack:///./src/store/store.animation.js","webpack:///./src/store/store.layout.js","webpack:///./src/store/store-mediator.js","webpack:///./src/utils/viewport.js","webpack:///./src/models/convertLength.js","webpack:///./src/models/computedParams.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/views/KerningHelp.vue?a893","webpack:///./src/views/Welcome.vue?bdf7","webpack:///./src/views/Home.vue?459e","webpack:///./src/models/loadFont.worker.js","webpack:///./src/viewparts/SiteFooter.vue?5f27","webpack:///./src/components/EditableList.vue?f38b","webpack:///./src/components/LanguageNav.vue?fbb6","webpack:///./src/components/Settings.vue?13c2","webpack:///./src/components/AnimationEditor.vue?89c3","webpack:///./src/components/EditorNavLink.vue?cbf2","webpack:///./src/components/FileDrop.vue?51fe","webpack:///./src/components/EditorNav.vue?df5c","webpack:///./src/components/GotchaHeader.vue?9a59","webpack:///./src/viewparts/SiteHeader.vue?0f5d","webpack:///./src/components/KerningEditor.vue?5425","webpack:///./src/components/CharacterPanel.vue?504d","webpack:///./src/components/SiteLogo.vue?2cd0","webpack:///./src/components/LanguageList.vue?868d","webpack:///./src/components/FontLoader.vue?5ce1","webpack:///./src/components/LanguagePanel.vue?28f8","webpack:///./src/models/opentypeLanguageTags.js","webpack:///./src/views/FontTester.vue?a7e6","webpack:///./src/components/UiNumber.vue?a48e","webpack:///./src/components/UiTooltip.vue?cd07","webpack:///./src/components/LanguageSupportSummary.vue?590c","webpack:///./src/components/KerningNav.vue?3d69"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","staticClass","attrs","staticRenderFns","watch","$route","val","oldVal","route","path","$store","commit","mounted","addEventListener","someMethod","isMobile","innerWidth","query","preload","$router","beforeDestroy","removeEventListener","methods","event","component","class","concat","footerVisible","sticky","slide","textKind","on","toggleSettingsPanel","nativeOn","$event","scrollToTop","arguments","isTesterPage","expandMenu","_v","_s","selectedFont","family","_e","expanded","expandedMenu","alone","staticStyle","_l","textKinds","kind","navlinkText","toggleContextualPanel","stopPropagation","_attrs","_attrs2","_attrs3","gui","onFilesDropped","fontOptions","fontLoading","selectFont","openAddFontDialog","setLastFont","_defineProperty","setPreviousFont","setNextFont","ref","$refs","button1","v","setFont","fontOverrides","regular","overrideCssFont","selectedItalicFont","italic","selectedBoldFont","bold","selectedBoldItalicFont","boldItalic","selectedHeaderFont","header","directives","rawName","progressVisible","expression","fontLoadingProgress","errorMessage","errorLogs","log","url","error","type","indexOf","_k","keyCode","addRemoteFont","addFontUrl","model","callback","$$v","options","fontOptionKeys","label","loading","selectOption","scopedSlots","_u","fn","props","option","addFont","style","optionSampleStyle","sampleText","originalFamily","version","shortFileName","fileName","keys","$slots","slot","_t","classes","domProps","submittedValue","icon","disabled","isAutocomplete","tabindex","onFocus","preventDefault","openDropdown","onBlur","default","labelClasses","hasDisplayText","placeholder","e","setCustomValue","target","highlightOption","highlightedIndex","onInputEnter","closeDropdown","isFocused","displayText","hasFloatingLabel","isLabelInline","dropdownClass","dropdownPosition","onClose","onOpen","onReveal","selectHighlighted","hasSearch","searchPlaceholder","composing","sortedOptions","filteredOptions","index","refInFor","multiple","isOptionSelected","autoScroll","hasNoResults","hasFeedback","showError","showHelp","help","_name$props$data$comp","String","Number","Array","required","iconPosition","floatingLabel","Boolean","multipleDelimiter","filter","Function","disableFilter","noResults","image","invalid","autocomplete","isActive","isTouched","selectedIndex","initialValue","JSON","stringify","computed","some","hasLabel","_this","defaultFilter","sort","_this2","getOption","exactMatch","find","_toConsumableArray","startsWith","match","toLowerCase","other","_this3","map","join","_this4","isArray","resetScroll","optionsList","$emit","addExternalClickListener","$el","onExternalClick","removeExternalClickListener","created","setValue","refreshScrollbar","autoClose","undefined","firstIndex","lastIndex","scrollOptionIntoView","shouldSelect","updateOption","select","selected","clearQuery","looseIndexOf","looseEqual","updated","text","fuzzysearch","clearSelection","focus","input","toggleDropdown","dropdown","toggle","open","blurAfterClose","close","isOpen","_this5","width","getBoundingClientRect","$nextTick","querySelector","_this6","optionEl","scrollIntoView","container","marginTop","reset","parse","resetTouched","touched","UiIcon","UiPopover","UiProgressCircular","UiSelectOption","RespondsToExternalClick","animation","appendToBody","openDelay","openOn","position","trigger","validator","elementRef","validate","zIndex","interactive","triggerEl","resolve","parentElement","animateFill","arrow","content","delay","distance","duration","ignoreAttributes","lazy","placement","theme","replace","popperOptions","modifiers","computeStyle","gpuAcceleration","devicePixelRatio","test","navigator","platform","appendTo","tip","tippy","destroy","visibilityChanged","once","fontSize","localText","cutText","runFit","fit","_arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","trial","el","parent","W","w","ratio","newFontSize","H","h","wrap","_context","prev","next","fitted","clientWidth","abrupt","setTimeout","parseFloat","getComputedStyle","Math","round","clientHeight","stop","components","UiSelect","UiTooltip","FitMe","fonts","addFontOption","cssFamily","cssStyle","cssWeight","str","toUpperCase","visible","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","_objectSpread","mapGetters","scrolledParent","document","scrolledParentSelector","handleBodyDragEnter","destroyed","preventScroll","showDrop","toggleBodyScroll","hideDrop","files","dataTransfer","types","scrollTop","scrolledParentTop","disableScroll","enableScroll","getOpenTypeFeatureName","tag","opentypeFeatureNames","f","saveSelection","restoreSelection","getSelectionRange","Font","font","_classCallCheck","processFont","_createClass","obj","_objectWithoutProperties","_excluded","getNames","getFeatures","getGlyphs","generateFontFace","_names$preferredFamil","_names$fontFamily","_names$fontSubfamily","names","windows","preferredFamily","en","fontFamily","preferredSubfamily","fontSubfamily","tables","os2","usWeightClass","displayName","glyphs","k","g","unicode","fromCharCode","characters","gpos","gsub","languageSet","Set","scripts","flatMap","script","langSysRecords","lsr","loclLanguages","from","language","opentypeLanguageTags","opentypeTag","htmlTag","a","b","unshift","gposFeatures","features","forEach","duplicate","ff","feature","gsubFeatures","languages","selectedLanguage","uiName","featureParamsTable","uiNameId","featUiLabelNameId","variationAxes","fvar","axes","step","maxValue","minValue","fontFace","proposal","id","getElementById","random","pow","hex","toString","add","css","getId","newStyle","createElement","appendChild","createTextNode","head","existing","parentNode","removeChild","setProperty","prop","documentElement","FontSelect","UiModal","UiButton","UiProgressLinear","UiFileupload","FileDrop","UiTextbox","mapState","serialize","selectedSampleKey","lastFont","openedWithoutFonts","defaultFontsLoaded","previousFont","init","remoteFontRequested","navigateToTester","styles","settings","fallbackFontFamily","loadDefaultFonts","getQueryStringFontUrls","urls","getDefaultFontUrls","dir","DEFAULT_FONTS","loadFonts","modalAddFont","remote","updateQuery","update","_ref","_ref$files","_ref$urls","_ref$remote","file","URL","createObjectURL","dispatch","fileNames","u","errors","worker","LoadFontWorker","onmessage","_e$data","opentypeFont","duplicates","highest","max","bumpVersion","_e$data2","styleOrder","localeCompare","freeze","requestedFont","matchedFont","findIndex","printFontLoadingError","postMessage","results","extraError","modal","getFont","fontOption","serialized","_this$getFont","waterfallFilter","array","_len","predicates","_key","_i","_predicates","predicate","selectedFontIndex","fontsByWeight","matchingBold","matchingItalic","matchingBoldItalic","selectBoldFont","selectHeaderFont","selectItalicFont","selectBoldItalicFont","selectScripts","values","supportedScripts","languageSupport","includedCharactersByScript","_this$getFont2","setCssFont","variable","cssVariable","cssFontVariable","cssWeightVariable","regex","styleMatch","_this$getFont3","boldFont","_this$getFont4","italicFont","same","_this$getFont5","boldItalicFont","_this$getFont6","headerFont","min","mapActions","customTextIds","removeCustomText","UiIconButton","EditorNavLink","isHeadingActive","makeHeading","isBoldActive","makeBold","isItalicActive","makeItalic","getSelection","createRange","sel","rangeCount","getRangeAt","containerEl","doc","ownerDocument","win","defaultView","range","preSelectionRange","cloneRange","selectNodeContents","setEnd","startContainer","startOffset","start","end","savedSel","charIndex","setStart","collapse","node","nodeStack","foundStart","pop","nodeType","nextCharIndex","childNodes","removeAllRanges","addRange","selection","selectedTextRange","preSelectionTextRange","body","createTextRange","moveToElementText","setEndPoint","textRange","moveEnd","moveStart","DomSelection","ancestor","commonAncestorContainer","Node","TEXT_NODE","fragment","cloneContents","existentTags","querySelectorAll","closestTag","closest","isParagraph","contains","tmp","surroundContents","newContent","createDocumentFragment","nodeValue","innerText","newEl","cloneNode","console","replaceChild","fr","cc","deleteContents","insertNode","empty","newParent","extractContents","clean","child","onSelection","activeElement","containsTag","_m","rootStyle","left","sigmoidWrapperStyle","sigmoidStyle","containerStyle","contentStyle","right","waviness","sides","marginAdjust","svgLeftId","svgRightId","background","control","sidesArray","split","top","backgroundImage","backgroundColor","substr","FontLoader","EditorNav","TextTools","SiteLogo","SigmoidContainer","hideHeaderOnScroll","stickyShowDelta","stickyHideDelta","lastTop","state","layout","params","menuId","setSticky","textKindTitle","scrollTo","measureTop","hasScrolled","delta","initStickyHeader","didScroll","setInterval","require","observer","disconnect","initObserver","threshold","entries","entry","updateHeight","IntersectionObserver","observe","sentinel","intersectionRatio","webkit","safari","loaded","getParallaxText","shuffle","x","floor","requestFont","WelcomeText","_require","detect","browser","Welcome","parallaxTexts","LanguageData","gotchas","tests","maybeSetupParallax","cleanupParallax","setupParallax","parallaxes","parallax","moveParallax","repeat","dataset","y","transform","segments","addKerningSegment","removeKerningSegment","kerningStringLines","line","characterRange","charA","charZ","charCodeAt","cartesianProductOf","reduce","ret","escapeRegExp","string","splitWithEscape","separator","escape","endsWithEscape","RegExp","fragments","current","char","escapedSeparator","KerningGenerator","sets","closures","segmentClosures","special","escaped","closureSide","compoundClosure","parseSequences","parseClosure","matchAll","ranges","_r","_slicedToArray","singleCharacters","pattern","product","cartesianProduct","lines","commitLine","sub","openings","set","closure","closings","openingSequences","reverse","closingSequences","segment","builtInSegmentCharacters","$set","kerningSegments","segmentSelects","Kerning","KerningEditor","_KerningGenerator$set","kerningString","getKey","Animation","QueryString","isPinned","settingsPanelVisible","fontSampleTexts","selectedTextKind","modifyText","navElementTitle","contextualPanelVisible","navElement","forceInvisible","isVisible","pinned","footerNear","footerNearer","triggerHover","scrolled","title","togglePinPanel","disableOverscroll","onWheel","closestLike","depth","side","scrollSyncStartEvent","scrollSyncEndEvent","storedScrollPosition","lastHeight","footerSentinelVisibleRatio","vb","$vuebar","cleanup","getTriggerElement","onTriggerMouseEnter","onTriggerMouseLeave","hide","mysteriousClick","clickedTrigger","anchor","tagName","isNavigationAnchor","getAttribute","initScrollSync","$on","minFontSize","maxFontSize","fontSizeStep","fontSizeClickStep","updateSetting","fontSizeUnit","fontSizeUnitOptions","waterfallSizes","enableWaterfall","lineHeight","minLineHeight","maxLineHeight","lineHeightStep","lineHeightClickStep","enableLineHeight","tracking","minTracking","maxTracking","trackingStep","trackingClickStep","enableTracking","wordSpacing","minWordSpacing","maxWordSpacing","wordSpacingStep","enableWordSpacing","textAlign","textAlignOptions","textColor","textTransform","textTransformOptions","enableTextTransform","wrapLines","capFeatures","localization","localizationLanguage","localizationLanguages","loclSelectKeys","isLocalizationInvalid","onGotchasTab","numberFeatures","pnum","tnum","figureWidths","figureWidth","lnum","onum","figureHeights","figureHeight","stylisticSets","characterVariants","otherGsub","activeGpos","axis","enabled","defaultValue","moderatedMax","moderatedMin","localValue","decrementValue","button","incrementValue","hasIcon","onDragStart","snapPoints","point","snapToSteps","relativeValue","fillStyle","thumbStyle","showMarker","markerText","Decimal","markerValue","isDragging","points","ceil","operation","classlist","initializeSlider","teardownSlider","setValueWithSnap","moderateValue","getNearestSnapPoint","getTrackOffset","track","offset","offsetLeft","offsetParent","getPointStyle","onDragStop","initializeDrag","userSelect","dragUpdate","onDragMove","touches","pageX","trackLength","offsetWidth","toNearest","toNumber","previousSnapPoint","nextSnapPoint","midpoint","autofocus","enforceMaxlength","maxlength","minlength","readonly","displayedText","onBlur2","updateValue","onKeydownEnter","onKeydown","increment","startIncrement","endIncrementDecrement","startDecrement","valueLength","extends","clickStep","clickStepFunction","tryValue","incrementTimeout","stringValue","tempValue","toLocaleString","_clickStep","coerceValue","roundedToStep","stringOrNumber","isNaN","corrected","correctValue","abs","EPSILON","roundedToClickStep","getSteps","iteration","getDelay","by","ctrlKey","shiftKey","decrement","steps","clearTimeout","updateFromInput","textValue","colorValue","updateFromPicker","TinyColor","SketchPicker","openPopover","popover","tiny","isValid","formatText","color","rgba","updateText","updateProgrammatically","toHex8","toHex8String","toHexString","getFormat","UiCheckbox","UiSlider","UiRadioGroup","UiNumber","UiColorPicker","capTags","figureTags","numberTags","stylisticSetTags","fill","_","padStart","characterVariantsTags","loclTags","displayedSettings","active","activeGsub","getGsubSubset","getGsubFeature","includes","setFigureVariant","beforeUpdate","$parent","mutation","payload","animating","tags","isGotchas","isCustom","selectedLoclLanguage","fontSizes","size","onInput","texts","item","isContentEditable","transformText","fontFeatureSettings","fontVariationSettings","fontWeight","fontStyle","langId","padEnd","printNumber","speakers","fNum","topic","description","SampleHeader","GotchaHeader","FontSample","formatRequested","saveText","syncSamples","$watch","deep","onPaste","paste","clipboardData","getData","deleteFromDocument","customText","html","elements","sample","innerHTML","headings","notifyWindow","dispatchEvent","Event","nextAnchor","previousAnchor","goToAnchor","languageFilter","clearFilter","isSelected","anySelected","checked","selectDeselectAllLanguages","filteredLanguages","hasText","toggleLanguage","highlightAnchor","fireEvent","element","eventName","createEvent","initEvent","search","exactStartMatches","otherMatches","highlightedAnchor","anchors","highlightedAnchorIndex","selectedScripts","classList","remove","scrollAnchorIntoView","filterTextbox","targetRect","scrolledRect","bottom","padding","margin","mapMutations","updateKerningPattern","addKerningPattern","kerningPatterns","selectedPatternId","toggleKerningPattern","selectPattern","formatPatternId","removeKerningPattern","revertKerningPatterns","clearKerningPatterns","inputInvalid","emptySegment","noSegments","newPattern","supportedLanguages","supportedLanguagesSortingOptions","supportedLanguagesSorting","selectLanguage","unsupportedLanguagesSortingOptions","unsupportedLanguagesSorting","unsupportedLanguages","missingCharacterSortingOptions","missingCharacterSorting","missingCharacters","character","limit","selectCharacter","missingCharacterCombinationsByScript","includedCharacterCombinationsByScript","fontCharacters","selectedCharacter","isMissing","languageInfo","includedCharacters","ch","specialLetters","requiredCharacters","htmlCode","fields","copyList","list","execCommand","characterInfo","obligatoryLanguages","wordFinderUrl","optionalLanguages","optionalCharactersNote","characterRepresentation","unicodes","glyphnames","codepoints","CharacterInfo","LanguageList","Vue","LanguagePanel","CharacterPanel","Pinnable","ScrollPanel","langs","sortLanguages","chars","missingCharactersByScript","sorting","textHeadings","heading","animationKeyframes","removeAnimationKeyframe","activeKeyframeId","activateKeyframe","keyframeProgress","addAnimationKeyframe","playing","canAnimate","play","proxy","keyframesText","importAnimationKeyframes","animatedProperties","animatableProperties","properties","setAnimatedProperties","EditableList","progress","updateKeyframeProgress","arr","chunk","keyframes","frame","kf","discreteKeyframes","continuousKeyframes","continuousProps","continuousFrame","discreteFrame","timeline","anime","targets","easing","autoplay","endDelay","anim","elapsed","begin","complete","restart","AnimationEditor","Settings","TesterBody","LanguageNav","KerningNav","FontSampleNav","LanguageSupportSummary","selectedCustomTextId","selectSample","beforeMount","use","Router","router","base","process","routes","SiteHeader","main","Home","footer","SiteFooter","redirect","FontTester","KerningHelp","AnimationHelp","Help","hasQueryParams","beforeEach","to","kerningPatternName","lettering","pangrams","sentences","ABCs","kerning","escapeHtml","unsafe","customTextId","SCRIPTS","SCRIPT_TAGS","LANGUAGES","defaultKerningPatterns","mutations","setText","sampleKey","_ref2","_ref2$headings","languageDataFields","addCustomText","_ref3","currentRoute","_ref4","format","_ref5","_ref6","_ref7","_ref8","_ref9","initKerningPatterns","_ref10","_ref10$isVisible","toEnd","_ref11","copy","_ref12","_KerningGenerator$set2","kp","_ref13","_ref14","updateKerning","patterns","escapeHtmlId","updateFontCharacters","_ref15","actions","_ref16","_ref17","_ref18","_ref19","matching","_ref20","_ref21","_ref22","_ref23","_ref24","getters","squish","fieldKey","selectedSampleTextKey","selectedLanguages","mappedData","_ref25","_ref26","_ref27","AaBbCc","ABC","every","abc","Accents","accents","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","visibleLanguages","alphabet","otherLanguages","ll","uniqueCharacterFilter","testableLanguages","specialCharacters","acc","cur","optionalCharacters","groupCharactersByScript","characterCombinations","charactersByScript","caseFirst","isAccent","enableVariationAxis","definitions","definition","dflt","_weightAxis$value","weightAxis","slantAxis","italicAxis","filteredAxes","mapCompoundProp","parseInt","clone","maxId","_state$animationKeyfr","snapshot","updateKeyframe","getStyleFromSettings","finishAnimateSettings","animateSettings","context","mergeStyleOntoSettings","$scrollToTop","updateFooter","configureMediator","store","subscribe","innerHeight","UnitConverter","formulas","dpi","viewport","height","units","decimals","number","convertLength","_ref$base","_ref$decimals","_ref$dpi","converter","convert","Vuex","Store","textModule","animationModule","layoutModule","getDefaults","setMobile","fontLoadStart","fontLoadEnd","mapFontFeatureSettings","mergeFeatures","opentypeFeatureDefaults","updateGposFeature","updateGsubFeature","updateLoclFeature","mapFontVariationSettings","aa","updateVariationAxis","resetSettings","computeParams","computedParams","paramFunction","newValue","updateSettings","newUnit","restoreSettings","convertFontSize","newSize","config","productionTip","Vuebar","VueObserveVisibility","VueWorker","App","$mount","Worker"],"mappings":"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","file":"js/app.cb27efcb.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=style&index=0&id=50a2c3f2&prod&lang=scss&scoped=true&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=style&index=0&id=0c7aa288&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=style&index=0&id=bdc07762&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=style&index=0&id=1f5793db&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=style&index=0&id=42b34de5&prod&lang=scss&scoped=true&\"","// included features are enabled by default\n\nmodule.exports = [\n 'mark',\n 'mkmk',\n 'kern',\n 'ccmp',\n 'locl',\n 'liga',\n 'calt',\n 'rclt',\n 'rlig',\n 'rvrn',\n]\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=style&index=0&id=82a5684e&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=style&index=0&id=3fd33b53&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=style&index=0&id=7a15c57a&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSlider.vue?vue&type=style&index=0&id=5367bd16&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=style&index=0&id=7ec1963b&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=style&index=0&id=6ff99e0d&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=style&index=0&id=36953751&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=style&index=0&id=1ab2b246&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"app\"},[_c('div',{staticClass:\"app-content\"},[_c('router-view',{attrs:{\"name\":\"header\"}}),_c('div',{staticClass:\"site-content\"},[_c('keep-alive',[_c('router-view',{attrs:{\"name\":\"main\"}})],1)],1),_c('router-view',{attrs:{\"name\":\"footer\"}})],1),_c('div',{staticClass:\"shade\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/dist/index.min.js!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=0c7aa288&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=0c7aa288&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`site-header ${!_vm.footerVisible && _vm.sticky ? 'sticky' : ''}`},[_c('div',{staticClass:\"above-sidebar slide-left-wrapper\",class:{ slide: !_vm.textKind }},[_c('div',{key:\"button\",staticClass:\"settings-aside-wrap\"},[_c('SigmoidContainer',{staticClass:\"settings-aside light\",attrs:{\"id\":\"settings-trigger\",\"sides\":\"right top\"}},[_c('nav',{staticClass:\"nav nav-aside\",on:{\"click\":_vm.toggleSettingsPanel}},[_c('div',{staticClass:\"transition-wrapper\"},[_c('UiIconButton',[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}})])])],1)])])],1),_c('div',{key:\"logo\",staticClass:\"logo\"},[_c('router-link',{staticClass:\"home\",attrs:{\"to\":\"/\"},nativeOn:{\"click\":function($event){return _vm.scrollToTop.apply(null, arguments)}}},[_c('SiteLogo')],1)],1)]),_c('div',{staticClass:\"logo-top\"},[_c('router-link',{staticClass:\"home\",attrs:{\"to\":\"/\"},nativeOn:{\"click\":function($event){return _vm.scrollToTop.apply(null, arguments)}}},[_c('SiteLogo')],1)],1),_c('div',{staticClass:\"dark main\"},[(_vm.isTesterPage)?_c('UiButton',{staticClass:\"collapse-mobile-trigger left\",on:{\"click\":function($event){return _vm.expandMenu('fontMenu')}}},[_vm._v(_vm._s(_vm.selectedFont && _vm.selectedFont.family ? _vm.selectedFont.family : 'Font'))]):_vm._e(),_c('div',{staticClass:\"collapse-mobile\",class:{ expanded: _vm.expandedMenu === 'fontMenu' }},[_c('FontLoader',{attrs:{\"gui\":_vm.isTesterPage}}),(_vm.isTesterPage)?_c('TextTools'):_vm._e()],1),(true)?_c('UiButton',{staticClass:\"collapse-mobile-trigger right\",class:{ alone: !_vm.isTesterPage },on:{\"click\":function($event){return _vm.expandMenu('navMenu')}}},[(_vm.textKind)?_c('span',[_vm._v(\" \"+_vm._s(_vm.textKind)+\" \")]):_c('span',[_c('span',[_vm._v(\"Pages\")]),_c('span',{staticStyle:{\"margin-left\":\".1em\",\"font-family\":\"sans-serif\",\"font-size\":\"12px\"}},[_vm._v(\" \"+_vm._s(_vm.expandedMenu === 'navMenu' ? '▲' : '▼')+\" \")])])]):_vm._e(),_c('div',{staticClass:\"collapse-mobile nav-menu\",class:{ expanded: _vm.expandedMenu === 'navMenu' }},[_c('nav',{staticClass:\"nav nav-text-kinds\"},[_c('EditorNav',{on:{\"navigated\":function($event){return _vm.expandMenu(null)}}}),_vm._l((_vm.textKinds),function(kind){return _c('span',{key:kind,staticClass:\"nav-link\"},[_c('router-link',{attrs:{\"to\":`/${kind}`},nativeOn:{\"click\":function($event){return _vm.expandMenu(null)}}},[_vm._v(_vm._s(_vm.navlinkText(kind)))])],1)})],2)])],1),_c('SigmoidContainer',{staticClass:\"light aside right-wrapper\",attrs:{\"id\":\"nav-trigger\",\"sides\":\"left top\"}},[_c('nav',{staticClass:\"nav nav-aside\",on:{\"click\":_vm.toggleContextualPanel}},[_c('div',{staticClass:\"transition-wrapper\"},[_c('transition',{attrs:{\"name\":\"swap\"}},[(!_vm.textKind)?_c('div',{key:\"0\",staticClass:\"ui-icon-button github-icon-link-wrapper\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('a',{staticClass:\"github-icon-link\",attrs:{\"href\":\"https://github.com/hyvyys/Bulletproof\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}})])])]):(_vm.textKind === 'custom')?_c('UiIconButton',{key:\"1\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}})])]):(_vm.textKind === 'kerning')?_c('UiIconButton',{key:\"2\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M8.01 17V8.97h-3V7.03H13v1.94h-3V17zM18 19v2h-7v2.4L7 19zM6 5V3h7V.6L17 5z\"}}),_c('path',{staticStyle:{\"line-height\":\"0\",\"-inkscape-font-specification\":\"'arial Bold'\"},attrs:{\"d\":\"M15.53 15.44c-.86 0-1.62-.76-1.62-1.93 0-1.16.76-1.93 1.62-1.93.85 0 1.62.77 1.62 1.93 0 1.17-.77 1.93-1.62 1.93zm0-5.54c-2.06 0-3.72 1.4-3.72 3.61 0 2.22 1.66 3.61 3.72 3.61 2.07 0 3.7-1.4 3.7-3.6 0-2.23-1.7-3.62-3.7-3.62z\"}})])]):_c('UiIconButton',{key:\"3\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('defs',[_c('path',{attrs:{\"id\":\"a\",\"d\":\"M0 0h24v24H0V0z\"}})]),_c('clipPath',{attrs:{\"id\":\"b\"}},[_c('use',{attrs:{\"xlink:href\":\"#a\",\"overflow\":\"visible\"}})]),_c('path',{attrs:{\"clip-path\":\"url(#b)\",\"d\":\"M14 10H2v2h12v-2zm0-4H2v2h12V6zM2 16h8v-2H2v2zm19.5-4.5L23 13l-6.99 7-4.51-4.5L13 14l3.01 3 5.49-5.5z\"}})])])],1)],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-loader\"},[(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiFileupload',{staticClass:\"dark\",attrs:{\"label\":\" \",\"name\":\"font-file-input\",\"accept\":\".ttf,.otf,.woff,.woff2\",\"multiple\":true,\"size\":\"small\"},on:{\"change\":_vm.onFilesDropped}}),_c('UiTooltip',{staticStyle:{\"width\":\"min(90vw,20em)\"},attrs:{\"openDelay\":500}},[_vm._v(\" Open fonts (you can also drag and drop font files anywhere on the page) \")])],1):_vm._e(),(_vm.gui)?_c('FontSelect',{staticClass:\"dark font-select-main font-loader-item\",attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedFont,\"addFontOption\":true,\"loading\":_vm.fontLoading},on:{\"input\":_vm.selectFont,\"openAddFontDialog\":_vm.openAddFontDialog}}):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set last font\"},on:{\"click\":_vm.setLastFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M20.653 14.577v2.885H10.21l.347 5.46-7.769-8.345zM3.347 9.423V6.538H13.71l-.267-5.46 7.769 8.345z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set previous font\"},on:{\"click\":_vm.setPreviousFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M11.117 18.903l-.267-5.46h10.36V10.56H10.85l.267-5.463L3.347 12z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Set next font\"},on:{\"click\":_vm.setNextFont}},[_c('svg',{attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"width\":'14',\"height\":'14',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M13.441 18.903l.268-5.46H3.348V10.56h10.361l-.268-5.463L21.211 12z\",\"fill\":\"#fff\"}})])])],1):_vm._e(),(_vm.gui)?_c('div',{staticClass:\"font-loader-item\"},[_c('UiButton',{ref:\"button1\",staticClass:\"dark bi-button\",attrs:{\"tooltip\":\"Emphasis fonts\"}},[_c('b',[_vm._v(\"B\")]),_c('i',[_vm._v(\"I\")])]),_c('UiPopover',{staticClass:\"font-select-popover\",attrs:{\"trigger\":_vm.$refs.button1,\"zIndex\":58}},[_c('div',{staticClass:\"font-select-menu\"},[_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedFont,\"label\":\"Regular\",\"loading\":_vm.fontLoading},on:{\"input\":v => _vm.setFont('regular', v)}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.regular},on:{\"input\":v => _vm.overrideCssFont('regular', v)}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedItalicFont,\"label\":\"Italic (emphasis)\",\"loading\":_vm.fontLoading},on:{\"input\":v => _vm.setFont('italic', v)}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.italic},on:{\"input\":v => _vm.overrideCssFont('italic', v)}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedBoldFont,\"label\":\"Bold (strong emphasis)\",\"loading\":_vm.fontLoading},on:{\"input\":v => _vm.setFont('bold', v)}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.bold},on:{\"input\":v => _vm.overrideCssFont('bold', v)}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedBoldItalicFont,\"label\":\"Bold italic\",\"loading\":_vm.fontLoading},on:{\"input\":v => _vm.setFont('boldItalic', v)}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.boldItalic},on:{\"input\":v => _vm.overrideCssFont('boldItalic', v)}}),_c('FontSelect',{attrs:{\"fonts\":_vm.fontOptions,\"value\":_vm.selectedHeaderFont,\"label\":\"Header\",\"loading\":_vm.fontLoading},on:{\"input\":v => _vm.setFont('header', v)}}),_c('UiTextbox',{attrs:{\"label\":\"Override\",\"value\":_vm.fontOverrides.header},on:{\"input\":v => _vm.overrideCssFont('header', v)}})],1)])],1):_vm._e(),_c('FileDrop',{ref:\"fileDrop\",on:{\"filesDropped\":_vm.onFilesDropped}}),_c('transition',{attrs:{\"name\":\"fade-slow-reverse\"}},[_c('UiProgressLinear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.progressVisible),expression:\"progressVisible\"}],staticClass:\"font-loading-progress\",attrs:{\"type\":\"determinate\",\"progress\":_vm.fontLoadingProgress}})],1),_c('UiModal',{ref:\"modal\",attrs:{\"title\":\"Error opening fonts\"}},[_c('div',{staticClass:\"error-modal-body\"},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))]),_vm._l((_vm.errorLogs),function(log,i){return _c('p',{key:i},[_c('code',[_c('strong',[_vm._v(_vm._s(log.url)+\":\")]),_vm._v(\" \"+_vm._s(log.error))])])})],2)]),_c('UiModal',{ref:\"modalAddFont\",attrs:{\"title\":\"Add remote fonts\"}},[_c('div',{staticClass:\"add-font-modal-body\"},[_c('UiTextbox',{ref:\"addFontUrlInput\",attrs:{\"placeholder\":\"HTTPS-enabled URL (TTF, OTF, WOFF)\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.addRemoteFont(_vm.addFontUrl)}},model:{value:(_vm.addFontUrl),callback:function ($$v) {_vm.addFontUrl=$$v},expression:\"addFontUrl\"}}),_c('div',{staticClass:\"align-right\"},[_c('UiButton',{attrs:{\"disabled\":!_vm.addFontUrl},on:{\"click\":function($event){return _vm.addRemoteFont(_vm.addFontUrl)}}},[_vm._v(\"Load\")])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('UiSelect',{staticClass:\"font-select\",attrs:{\"value\":_vm.value,\"options\":_vm.options,\"keys\":_vm.fontOptionKeys,\"dropdownClass\":\"font-select__dropdown\",\"label\":_vm.label,\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"input\":_vm.selectOption},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return _c('div',{},[(props.option.addFont)?[_c('div',{staticClass:\"col col-sample icon-add\"},[_vm._v(\" + \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" Add remote font \")])]:[_c('div',{staticClass:\"col col-sample\",style:(_vm.optionSampleStyle(props.option))},[_c('FitMe',{attrs:{\"text\":props.option && _vm.sampleText,\"cutText\":2}})],1),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"font-family\"},[_vm._v(_vm._s(props.option && props.option.originalFamily))]),_c('div',{staticClass:\"font-style\"},[_vm._v(_vm._s(props.option && props.option.style))]),_c('div',{staticClass:\"font-version\"},[_vm._v(\" \"+_vm._s(props.option && props.option.version ? `(${props.option.version})` : \"\")+\" \")])]),_c('UiTooltip',{attrs:{\"position\":\"left\",\"appendToBody\":false,\"openDelay\":380}},[_vm._v(\" \"+_vm._s(_vm.shortFileName(props.option.fileName))+\" \")])]],2)}}])},[_vm._l((Object.keys(_vm.$slots)),function(slot){return _vm._t(slot,null,{\"slot\":slot})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ui-select\",class:_vm.classes},[(_vm.name)?_c('input',{staticClass:\"ui-select__hidden-input\",attrs:{\"type\":\"hidden\",\"name\":_vm.name},domProps:{\"value\":_vm.submittedValue}}):_vm._e(),(_vm.icon || _vm.$slots.icon)?_c('div',{staticClass:\"ui-select__icon-wrapper\"},[_vm._t(\"icon\",function(){return [_c('ui-icon',{attrs:{\"icon\":_vm.icon}})]})],2):_vm._e(),_c('div',{staticClass:\"ui-select__content\"},[_c('div',{ref:\"label\",staticClass:\"ui-select__label\",attrs:{\"tabindex\":_vm.disabled || _vm.isAutocomplete ? null : (_vm.tabindex || '0')},on:{\"focus\":_vm.onFocus,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.openDropdown.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.preventDefault();return _vm.openDropdown.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.onBlur.apply(null, arguments)}]}},[(_vm.label || _vm.$slots.default)?_c('div',{staticClass:\"ui-select__label-text\",class:_vm.labelClasses},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.label))]})],2):_vm._e(),_c('div',{staticClass:\"ui-select__display\"},[(_vm.isAutocomplete)?_c('input',{ref:\"input\",staticClass:\"ui-select__display-value\",class:{ 'is-placeholder': !_vm.hasDisplayText },attrs:{\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":e => _vm.setCustomValue(e.target.value),\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.stopPropagation();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex + 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex - 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.preventDefault();return _vm.closeDropdown()},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.onBlur.apply(null, arguments)}],\"focus\":_vm.onFocus,\"blur\":function($event){_vm.isFocused = false}}}):_c('div',{staticClass:\"ui-select__display-value\",class:{ 'is-placeholder': !_vm.hasDisplayText }},[_vm._v(\" \"+_vm._s(_vm.hasDisplayText ? _vm.displayText : (_vm.hasFloatingLabel && _vm.isLabelInline) ? null : _vm.placeholder)+\" \")]),_c('ui-icon',{ref:\"dropdownButton\",staticClass:\"ui-select__dropdown-button\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M6.984 9.984h10.03L12 15z\"}})])])],1),_c('ui-popover',{ref:\"dropdown\",class:`ui-select__dropdown ${_vm.dropdownClass}`,attrs:{\"close-on-scroll\":false,\"constrain-to-scroll-parent\":false,\"disabled\":_vm.disabled,\"position\":_vm.dropdownPosition},on:{\"close\":_vm.onClose,\"open\":_vm.onOpen,\"reveal\":_vm.onReveal}},[_c('keep-alive',[_c('div',{ref:\"dropdownContent\",staticClass:\"ui-select__dropdown-content\",attrs:{\"tabindex\":\"-1\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex + 1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();$event.stopPropagation();return _vm.selectHighlighted($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.preventDefault();return _vm.closeDropdown()},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.onBlur.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.highlightOption(_vm.highlightedIndex - 1)}]}},[(_vm.hasSearch)?_c('div',{staticClass:\"ui-select__search\",on:{\"click\":function($event){$event.stopPropagation();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.stopPropagation();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"searchInput\",staticClass:\"ui-select__search-input\",attrs:{\"autocomplete\":\"off\",\"type\":\"text\",\"placeholder\":_vm.searchPlaceholder},domProps:{\"value\":(_vm.query)},on:{\"input\":function($event){if($event.target.composing)return;_vm.query=$event.target.value}}}),_c('ui-icon',{staticClass:\"ui-select__search-icon\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9.516 14.016c2.484 0 4.5-2.016 4.5-4.5s-2.016-4.5-4.5-4.5-4.5 2.016-4.5 4.5 2.016 4.5 4.5 4.5zm6 0l4.97 4.97-1.5 1.5-4.97-4.97v-.797l-.28-.282c-1.126.984-2.626 1.547-4.22 1.547-3.61 0-6.516-2.86-6.516-6.47S5.906 3 9.516 3s6.47 2.906 6.47 6.516c0 1.594-.564 3.094-1.548 4.22l.28.28h.798z\"}})])]),(_vm.loading)?_c('ui-progress-circular',{staticClass:\"ui-select__search-progress\",attrs:{\"size\":20,\"stroke\":4}}):_vm._e()],1):_vm._e(),_c('ul',{ref:\"optionsList\",staticClass:\"ui-select__options\"},[_vm._l(((_vm.isAutocomplete ? _vm.sortedOptions : _vm.filteredOptions)),function(option,index){return _c('ui-select-option',{key:_vm.keys.key ? option[_vm.keys.key] : index,ref:\"options\",refInFor:true,attrs:{\"highlighted\":_vm.highlightedIndex === index,\"keys\":_vm.keys,\"multiple\":_vm.multiple,\"option\":option,\"selected\":_vm.isOptionSelected(option),\"type\":_vm.type},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.selectOption(option, index)},\"mouseover\":function($event){$event.stopPropagation();return _vm.highlightOption(index, { autoScroll: false })}}},[_vm._t(\"option\",null,{\"highlighted\":_vm.highlightedIndex === index,\"index\":index,\"option\":option,\"selected\":_vm.isOptionSelected(option)})],2)}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasNoResults),expression:\"hasNoResults\"}],staticClass:\"ui-select__no-results\"},[_vm._t(\"no-results\",function(){return [_vm._v(\"No results found\")]})],2)],2)])])],1)],1),(_vm.hasFeedback)?_c('div',{staticClass:\"ui-select__feedback\"},[(_vm.showError)?_c('div',{staticClass:\"ui-select__feedback-text\"},[_vm._t(\"error\",function(){return [_vm._v(_vm._s(_vm.error))]})],2):(_vm.showHelp)?_c('div',{staticClass:\"ui-select__feedback-text\"},[_vm._t(\"help\",function(){return [_vm._v(_vm._s(_vm.help))]})],2):_vm._e()]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiSelect.vue?vue&type=template&id=3fd33b53&\"\nimport script from \"./UiSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./UiSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiSelect.vue?vue&type=style&index=0&id=3fd33b53&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ui-tooltip\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiTooltip.vue?vue&type=template&id=24ff4b92&\"\nimport script from \"./UiTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./UiTooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiTooltip.vue?vue&type=style&index=0&id=24ff4b92&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:({\n callback: _vm.visibilityChanged,\n once: true,\n }),expression:\"{\\n callback: visibilityChanged,\\n once: true,\\n }\"}],staticClass:\"fit-me\"},[_c('div',{ref:\"fitted\",staticClass:\"fitted\",style:(`font-size: ${_vm.fontSize}px;`)},[_vm._v(\" \"+_vm._s(_vm.localText)+\" \")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FitMe.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FitMe.vue?vue&type=template&id=1f5793db&scoped=true&\"\nimport script from \"./FitMe.vue?vue&type=script&lang=js&\"\nexport * from \"./FitMe.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FitMe.vue?vue&type=style&index=0&id=1f5793db&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f5793db\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSelect.vue?vue&type=template&id=bdc07762&\"\nimport script from \"./FontSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSelect.vue?vue&type=style&index=0&id=bdc07762&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`file-drop ${this.visible ? '' : 'hidden'}`,on:{\"dragenter\":_vm.handleDragEnter,\"dragleave\":_vm.handleDragLeave,\"dragover\":_vm.handleDragOver,\"drop\":_vm.handleDrop}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FileDrop.vue?vue&type=template&id=b51bf0cc&scoped=true&\"\nimport script from \"./FileDrop.vue?vue&type=script&lang=js&\"\nexport * from \"./FileDrop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileDrop.vue?vue&type=style&index=0&id=b51bf0cc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b51bf0cc\",\n null\n \n)\n\nexport default component.exports","export function getOpenTypeFeatureName(tag) {\n const match = opentypeFeatureNames.find(f => f.tag.test(tag));\n return match ? tag.replace(match.tag, match.name) : tag;\n}\n\nconst opentypeFeatureNames = [\n { tag: /aalt/, name: \"Access All Alternates\" },\n { tag: /abvf/, name: \"Above-base Forms\" },\n { tag: /abvm/, name: \"Above-base Mark Positioning\" },\n { tag: /abvs/, name: \"Above-base Substitutions\" },\n { tag: /afrc/, name: \"Alternative Fractions\" },\n { tag: /akhn/, name: \"Akhands\" },\n { tag: /blwf/, name: \"Below-base Forms\" },\n { tag: /blwm/, name: \"Below-base Mark Positioning\" },\n { tag: /blws/, name: \"Below-base Substitutions\" },\n { tag: /calt/, name: \"Contextual Alternates\" },\n { tag: /case/, name: \"Case-Sensitive Forms\" },\n { tag: /ccmp/, name: \"Glyph Composition / Decomposition\" },\n { tag: /cfar/, name: \"Conjunct Form After Ro\" },\n { tag: /cjct/, name: \"Conjunct Forms\" },\n { tag: /clig/, name: \"Contextual Ligatures\" },\n { tag: /cpct/, name: \"Centered CJK Punctuation\" },\n { tag: /cpsp/, name: \"Capital Spacing\" },\n { tag: /cswh/, name: \"Contextual Swash\" },\n { tag: /curs/, name: \"Cursive Positioning\" },\n { tag: /cv(\\d{2})/, name: \"Character Variants $1\" },\n { tag: /c2pc/, name: \"Petite Capitals From Capitals\" },\n { tag: /c2sc/, name: \"Small Capitals From Capitals\" },\n { tag: /dist/, name: \"Distances\" },\n { tag: /dlig/, name: \"Discretionary Ligatures\" },\n { tag: /dnom/, name: \"Denominators\" },\n { tag: /dtls/, name: \"Dotless Forms\" },\n { tag: /expt/, name: \"Expert Forms\" },\n { tag: /falt/, name: \"Final Glyph on Line Alternates\" },\n { tag: /fin2/, name: \"Terminal Forms #2\" },\n { tag: /fin3/, name: \"Terminal Forms #3\" },\n { tag: /fina/, name: \"Terminal Forms\" },\n { tag: /flac/, name: \"Flattened accent forms\" },\n { tag: /frac/, name: \"Fractions\" },\n { tag: /fwid/, name: \"Full Widths\" },\n { tag: /half/, name: \"Half Forms\" },\n { tag: /haln/, name: \"Halant Forms\" },\n { tag: /halt/, name: \"Alternate Half Widths\" },\n { tag: /hist/, name: \"Historical Forms\" },\n { tag: /hkna/, name: \"Horizontal Kana Alternates\" },\n { tag: /hlig/, name: \"Historical Ligatures\" },\n { tag: /hngl/, name: \"Hangul\" },\n { tag: /hojo/, name: \"Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)\" },\n { tag: /hwid/, name: \"Half Widths\" },\n { tag: /init/, name: \"Initial Forms\" },\n { tag: /isol/, name: \"Isolated Forms\" },\n { tag: /ital/, name: \"Italics\" },\n { tag: /jalt/, name: \"Justification Alternates\" },\n { tag: /jp78/, name: \"JIS78 Forms\" },\n { tag: /jp83/, name: \"JIS83 Forms\" },\n { tag: /jp90/, name: \"JIS90 Forms\" },\n { tag: /jp04/, name: \"JIS2004 Forms\" },\n { tag: /kern/, name: \"Kerning\" },\n { tag: /lfbd/, name: \"Left Bounds\" },\n { tag: /liga/, name: \"Standard Ligatures\" },\n { tag: /ljmo/, name: \"Leading Jamo Forms\" },\n { tag: /lnum/, name: \"Lining Figures\" },\n { tag: /locl/, name: \"Localized Forms\" },\n { tag: /ltra/, name: \"Left-to-right alternates\" },\n { tag: /ltrm/, name: \"Left-to-right mirrored forms\" },\n { tag: /mark/, name: \"Mark Positioning\" },\n { tag: /med2/, name: \"Medial Forms #2\" },\n { tag: /medi/, name: \"Medial Forms\" },\n { tag: /mgrk/, name: \"Mathematical Greek\" },\n { tag: /mkmk/, name: \"Mark to Mark Positioning\" },\n { tag: /mset/, name: \"Mark Positioning via Substitution\" },\n { tag: /nalt/, name: \"Alternate Annotation Forms\" },\n { tag: /nlck/, name: \"NLC Kanji Forms\" },\n { tag: /nukt/, name: \"Nukta Forms\" },\n { tag: /numr/, name: \"Numerators\" },\n { tag: /onum/, name: \"Oldstyle Figures\" },\n { tag: /opbd/, name: \"Optical Bounds\" },\n { tag: /ordn/, name: \"Ordinals\" },\n { tag: /ornm/, name: \"Ornaments\" },\n { tag: /palt/, name: \"Proportional Alternate Widths\" },\n { tag: /pcap/, name: \"Petite Capitals\" },\n { tag: /pkna/, name: \"Proportional Kana\" },\n { tag: /pnum/, name: \"Proportional Figures\" },\n { tag: /pref/, name: \"Pre-Base Forms\" },\n { tag: /pres/, name: \"Pre-base Substitutions\" },\n { tag: /pstf/, name: \"Post-base Forms\" },\n { tag: /psts/, name: \"Post-base Substitutions\" },\n { tag: /pwid/, name: \"Proportional Widths\" },\n { tag: /qwid/, name: \"Quarter Widths\" },\n { tag: /rand/, name: \"Randomize\" },\n { tag: /rclt/, name: \"Required Contextual Alternates\" },\n { tag: /rkrf/, name: \"Rakar Forms\" },\n { tag: /rlig/, name: \"Required Ligatures\" },\n { tag: /rphf/, name: \"Reph Forms\" },\n { tag: /rtbd/, name: \"Right Bounds\" },\n { tag: /rtla/, name: \"Right-to-left alternates\" },\n { tag: /rtlm/, name: \"Right-to-left mirrored forms\" },\n { tag: /ruby/, name: \"Ruby Notation Forms\" },\n { tag: /rvrn/, name: \"Required Variation Alternates\" },\n { tag: /salt/, name: \"Stylistic Alternates\" },\n { tag: /sinf/, name: \"Scientific Inferiors\" },\n { tag: /size/, name: \"Optical size\" },\n { tag: /smcp/, name: \"Small Capitals\" },\n { tag: /smpl/, name: \"Simplified Forms\" },\n { tag: /ss01/, name: \"Stylistic Set 1\" },\n { tag: /ss02/, name: \"Stylistic Set 2\" },\n { tag: /ss03/, name: \"Stylistic Set 3\" },\n { tag: /ss04/, name: \"Stylistic Set 4\" },\n { tag: /ss05/, name: \"Stylistic Set 5\" },\n { tag: /ss06/, name: \"Stylistic Set 6\" },\n { tag: /ss07/, name: \"Stylistic Set 7\" },\n { tag: /ss08/, name: \"Stylistic Set 8\" },\n { tag: /ss09/, name: \"Stylistic Set 9\" },\n { tag: /ss10/, name: \"Stylistic Set 10\" },\n { tag: /ss11/, name: \"Stylistic Set 11\" },\n { tag: /ss12/, name: \"Stylistic Set 12\" },\n { tag: /ss13/, name: \"Stylistic Set 13\" },\n { tag: /ss14/, name: \"Stylistic Set 14\" },\n { tag: /ss15/, name: \"Stylistic Set 15\" },\n { tag: /ss16/, name: \"Stylistic Set 16\" },\n { tag: /ss17/, name: \"Stylistic Set 17\" },\n { tag: /ss18/, name: \"Stylistic Set 18\" },\n { tag: /ss19/, name: \"Stylistic Set 19\" },\n { tag: /ss20/, name: \"Stylistic Set 20\" },\n { tag: /ssty/, name: \"Math script style alternates\" },\n { tag: /stch/, name: \"Stretching Glyph Decomposition\" },\n { tag: /subs/, name: \"Subscript\" },\n { tag: /sups/, name: \"Superscript\" },\n { tag: /swsh/, name: \"Swash\" },\n { tag: /titl/, name: \"Titling\" },\n { tag: /tjmo/, name: \"Trailing Jamo Forms\" },\n { tag: /tnam/, name: \"Traditional Name Forms\" },\n { tag: /tnum/, name: \"Tabular Figures\" },\n { tag: /trad/, name: \"Traditional Forms\" },\n { tag: /twid/, name: \"Third Widths\" },\n { tag: /unic/, name: \"Unicase\" },\n { tag: /valt/, name: \"Alternate Vertical Metrics\" },\n { tag: /vatu/, name: \"Vattu Variants\" },\n { tag: /vert/, name: \"Vertical Writing\" },\n { tag: /vhal/, name: \"Alternate Vertical Half Metrics\" },\n { tag: /vjmo/, name: \"Vowel Jamo Forms\" },\n { tag: /vkna/, name: \"Vertical Kana Alternates\" },\n { tag: /vkrn/, name: \"Vertical Kerning\" },\n { tag: /vpal/, name: \"Proportional Alternate Vertical Metrics\" },\n { tag: /vrt2/, name: \"Vertical Alternates and Rotation\" },\n { tag: /vrtr/, name: \"Vertical Alternates for Rotation\" },\n { tag: /zero/, name: \"Slashed Zero\" },\n];\n","// https://stackoverflow.com/a/17694760/6805143\n\nvar saveSelection, restoreSelection, getSelectionRange;\n\nif (window.getSelection && document.createRange) {\n getSelectionRange = function () {\n const sel = window.getSelection();\n return sel.rangeCount >= 1 && sel.getRangeAt(0);\n }\n\n saveSelection = function (containerEl) {\n var doc = containerEl.ownerDocument, win = doc.defaultView;\n var range = win.getSelection().getRangeAt(0);\n var preSelectionRange = range.cloneRange();\n preSelectionRange.selectNodeContents(containerEl);\n preSelectionRange.setEnd(range.startContainer, range.startOffset);\n var start = preSelectionRange.toString().length;\n\n return {\n start: start,\n end: start + range.toString().length,\n };\n };\n\n restoreSelection = function (containerEl, savedSel) {\n var doc = containerEl.ownerDocument, win = doc.defaultView;\n var charIndex = 0, range = doc.createRange();\n range.setStart(containerEl, 0);\n range.collapse(true);\n var nodeStack = [containerEl], node, foundStart = false, stop = false;\n\n while (!stop && (node = nodeStack.pop())) {\n if (node.nodeType == 3) {\n var nextCharIndex = charIndex + node.length;\n if (!foundStart && savedSel.start >= charIndex && savedSel.start <= nextCharIndex) {\n range.setStart(node, savedSel.start - charIndex);\n foundStart = true;\n }\n if (foundStart && savedSel.end >= charIndex && savedSel.end <= nextCharIndex) {\n range.setEnd(node, savedSel.end - charIndex);\n stop = true;\n }\n charIndex = nextCharIndex;\n } else {\n var i = node.childNodes.length;\n while (i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n }\n\n var sel = win.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n };\n} else if (document.selection) {\n saveSelection = function (containerEl) {\n var doc = containerEl.ownerDocument;\n var selectedTextRange = doc.selection.createRange();\n var preSelectionTextRange = doc.body.createTextRange();\n preSelectionTextRange.moveToElementText(containerEl);\n preSelectionTextRange.setEndPoint(\"EndToStart\", selectedTextRange);\n var start = preSelectionTextRange.text.length;\n\n return {\n start: start,\n end: start + selectedTextRange.text.length,\n };\n };\n\n restoreSelection = function (containerEl, savedSel) {\n var doc = containerEl.ownerDocument;\n var textRange = doc.body.createTextRange();\n textRange.moveToElementText(containerEl);\n textRange.collapse(true);\n textRange.moveEnd(\"character\", savedSel.end);\n textRange.moveStart(\"character\", savedSel.start);\n textRange.select();\n };\n}\n\nexport default class DomSelection {\n constructor(container) {\n this.selection = null;\n this.container = container;\n }\n\n get remembered() {\n return this.selection !== null;\n }\n\n save() {\n this.selection = saveSelection(this.container);\n }\n\n restore() {\n if (this.selection) {\n restoreSelection(this.container, this.selection);\n }\n }\n\n forget() {\n this.selection = null;\n }\n\n ancestor() {\n const range = getSelectionRange(this.container);\n let ancestor = range.commonAncestorContainer;\n if (ancestor.nodeType === Node.TEXT_NODE) {\n ancestor = ancestor.parentNode;\n }\n return ancestor;\n }\n\n existentTags(tag) {\n const range = getSelectionRange(this.container);\n const fragment = range.cloneContents();\n let existentTags = fragment.querySelectorAll(tag);\n // existentTags = Array.from(existentTags).filter(t => t.innerText);\n return existentTags;\n }\n\n closestTag(tag) {\n let closestTag = this.ancestor().closest(tag);\n return closestTag;\n }\n\n containsTag(tag) {\n return this.existentTags(tag).length > 0 || this.closestTag(tag) != null;\n }\n\n wrap(tag) {\n const isParagraph = /^h[1-6]$/.test(tag);\n\n let ancestor = this.ancestor();\n // if selection is outside editor; not probable though\n if (!this.container.contains(ancestor)) {\n console.log(\"not contained\")\n return;\n }\n // if (ancestor.tagName === tag.toUpperCase()) {\n // existentTag = ancestor;\n // }\n const range = getSelectionRange(this.container);\n let fragment = range.cloneContents();\n let existentTags = fragment.querySelectorAll(tag);\n const closestTag = this.closestTag(tag);\n\n if (closestTag) {\n // console.log('closest');\n const parent = ancestor === closestTag ? ancestor.parentNode : ancestor;\n const tmp = document.createElement('tmp');\n range.surroundContents(tmp);\n const newContent = document.createDocumentFragment();\n Array.from(closestTag.childNodes).forEach(c => {\n try {\n if (c === tmp) {\n newContent.appendChild(c.childNodes[0]);\n }\n else if (c.nodeValue || c.innerText) {\n const newEl = document.createElement(tag);\n newEl.appendChild(c.cloneNode());\n newContent.appendChild(newEl);\n }\n }\n catch (e) {\n console.log(e);\n }\n });\n parent.replaceChild(newContent, closestTag);\n }\n else if (existentTags.length) {\n // console.log(existentTags.length + ' existent ' + tag + 's')\n existentTags.forEach(c => {\n try {\n const fr = document.createDocumentFragment();\n Array.from(c.childNodes).forEach(cc => fr.appendChild(cc));\n c.parentNode.replaceChild(fr, c);\n }\n catch (e) {\n console.log(e);\n }\n });\n range.deleteContents();\n range.insertNode(fragment);\n }\n else\n try {\n const empty = isParagraph && range.toString() === \"\";\n if (empty) {\n range.insertNode(document.createElement(\"br\"));\n }\n\n const newParent = document.createElement(tag);\n newParent.appendChild(range.extractContents());\n range.insertNode(newParent);\n\n if (empty) {\n range.selectNodeContents(newParent);\n }\n }\n catch (e) {\n console.log(e);\n console.log(ancestor)\n // probably selection is partial\n }\n\n clean(this.container);\n }\n}\n\nfunction clean(node)\n{\n for(var n = 0; n < node.childNodes.length; n ++)\n {\n var child = node.childNodes[n];\n if\n (\n child.nodeType === 8\n ||\n (child.nodeType === 3 && !/\\S/.test(child.nodeValue))\n || child.innerText === \"\"\n )\n {\n // console.log('removing node')\n // console.log(node.toString())\n // console.log(child.toString())\n node.removeChild(child);\n n --;\n }\n else if(child.nodeType === 1)\n {\n clean(child);\n }\n }\n}\n","import opentypeLanguageTags from \"./opentypeLanguageTags\";\r\nimport { getOpenTypeFeatureName } from \"./opentypeFeatureNames\";\r\n\r\nexport default class Font {\r\n constructor(font, url, fileName) {\r\n this.version = 0;\r\n this.url = url;\r\n this.fileName = fileName;\r\n this.font = font;\r\n this.processFont();\r\n }\r\n\r\n serialize() {\r\n // eslint-disable-next-line no-unused-vars\r\n const { font, ...obj } = this;\r\n return obj;\r\n }\r\n\r\n processFont() {\r\n this.getNames();\r\n this.getFeatures();\r\n this.getGlyphs();\r\n this.generateFontFace();\r\n }\r\n\r\n getNames() {\r\n const font = this.font;\r\n const names = font.names.windows;\r\n this.family = (names.preferredFamily && names.preferredFamily?.en) || names.fontFamily?.en || '';\r\n this.originalFamily = this.family;\r\n if (this.version) {\r\n this.family += `-${this.version}`;\r\n }\r\n this.style =\r\n (names.preferredSubfamily && names.preferredSubfamily.en) || names.fontSubfamily?.en || '';\r\n\r\n this.cssFamily = this.family + '-' + this.style;\r\n // this.cssStyle = /(italic|oblique)/gi.test(this.style) ? \"italic\" : \"normal\";\r\n this.cssStyle = /(italic|oblique)/gi.test(this.style) ? \"oblique\" : \"normal\";\r\n this.cssWeight = font.tables.os2.usWeightClass;\r\n\r\n this.displayName = `${this.originalFamily} ${this.style} ${this.version ? `(${this.version})` : ''}`;\r\n }\r\n\r\n getGlyphs() {\r\n const font = this.font;\r\n // this.characters = Object.keys(font.tables.cmap.glyphIndexMap).map(unicode => String.fromCharCode(unicode));\r\n const glyphs = Object.keys(font.glyphs.glyphs)\r\n .map(k => font.glyphs.glyphs[k])\r\n .filter(g => g.unicode)\r\n .map(g => String.fromCharCode(g.unicode));\r\n this.characters = glyphs;\r\n }\r\n\r\n getFeatures() {\r\n const font = this.font;\r\n const names = font.names.windows;\r\n const gpos = font.tables.gpos || {};\r\n const gsub = font.tables.gsub || {};\r\n\r\n const languageSet = new Set(\r\n [...(gpos.scripts || []), ...(gsub.scripts || [])]\r\n .flatMap(s => s.script.langSysRecords).map(lsr => lsr.tag)\r\n );\r\n const loclLanguages = Array.from(languageSet)\r\n .map(tag => {\r\n // tags are four characters, last most commonly space\r\n const language = opentypeLanguageTags.find(l => l.opentypeTag === tag);\r\n const name = language ? language.name : tag;\r\n const htmlTag = language ? language.htmlTag : tag.toLowerCase();\r\n return ({ tag, name, htmlTag });\r\n })\r\n .sort((a, b) => a.name > b.name);\r\n loclLanguages.unshift({ tag: '', htmlTag: '', name: 'automatic' });\r\n\r\n this.gposFeatures = [];\r\n (gpos.features || []).forEach(f => {\r\n const duplicate = this.gposFeatures.find(ff => ff.tag == f.tag);\r\n if (!duplicate) {\r\n const feature = {\r\n tag: f.tag,\r\n name: getOpenTypeFeatureName(f.tag),\r\n };\r\n this.gposFeatures.push(feature);\r\n }\r\n });\r\n\r\n this.gsubFeatures = [];\r\n (gsub.features || []).forEach(f => {\r\n const duplicate = this.gsubFeatures.find(ff => ff.tag == f.tag);\r\n if (!duplicate) {\r\n const feature = {\r\n tag: f.tag,\r\n name: getOpenTypeFeatureName(f.tag),\r\n };\r\n\r\n if (f.tag == \"locl\") {\r\n feature.languages = loclLanguages;\r\n feature.selectedLanguage = loclLanguages[0];\r\n } else if (/ss\\d\\d/.test(f.tag)) {\r\n const uiName = names[f.feature.featureParamsTable.uiNameId];\r\n feature.uiName = uiName && uiName['en'];\r\n } else if (/cv\\d\\d/.test(f.tag)) {\r\n const uiName = names[f.feature.featureParamsTable.featUiLabelNameId];\r\n feature.uiName = uiName && uiName['en'];\r\n }\r\n this.gsubFeatures.push(feature);\r\n }\r\n });\r\n\r\n this.variationAxes = [];\r\n if (font && font.tables.fvar && font.tables.fvar.axes) {\r\n this.variationAxes = font && font.tables.fvar && font.tables.fvar.axes;\r\n }\r\n this.variationAxes.forEach(a => {\r\n a.step = (a.maxValue - a.minValue) > 10 ? 1 : .01;\r\n a.displayName = a.tag;\r\n })\r\n }\r\n\r\n // generateFontFace({ family, style, weight } = {}) {\r\n generateFontFace() {\r\n this.fontFace = `\r\n @font-face {\r\n src: url('${this.url}');\r\n font-family: \"${this.cssFamily}\";\r\n ${ this.variationAxes.length === 0 ? 'font-weight: bold' : ''}; // prevent fake bold, allow for automatic weight in Variable fonts\r\n font-weight: 0 1000;\r\n font-style: oblique 0deg 20deg;\r\n }\r\n `;\r\n return this.fontFace;\r\n }\r\n\r\n bumpVersion(value) {\r\n if (value) {\r\n this.version = value;\r\n }\r\n else {\r\n this.version++;\r\n }\r\n this.processFont();\r\n }\r\n}\r\n","export default function(proposal) {\n if (!proposal) {\n let id = '';\n do {\n let val = Math.random() * (2 ** 8);\n let hex = val.toString(16);\n id = 'b' + hex;\n } while (document.getElementById(id));\n return id;\n }\n else {\n let id = proposal;\n let i = 1;\n while (document.getElementById(id)) {\n id = `${proposal}-${i++}`;\n }\n return id;\n }\n}\n","import getId from \"./id\";\n\nexport default {\n add(css, id = \"\") {\n if (!id) {\n id = getId();\n }\n\n var newStyle = document.createElement(\"style\");\n newStyle.appendChild(document.createTextNode(css));\n\n document.head.appendChild(newStyle);\n\n if (id) {\n const existing = document.getElementById(id);\n if (existing) {\n existing.parentNode.removeChild(existing);\n }\n }\n newStyle.id = id;\n },\n\n setProperty(prop, val) {\n document.documentElement.style.setProperty(prop, val);\n },\n};\n","export default [\r\n \"AlegreyaSans/AlegreyaSans-Regular.ttf\",\r\n \"AlegreyaSans/AlegreyaSans-Italic.ttf\",\r\n \"AlegreyaSans/AlegreyaSans-Bold.ttf\",\r\n \"AlegreyaSans/AlegreyaSans-BoldItalic.ttf\",\r\n \"Rywalka-Regular.ttf\",\r\n \"Graduate.ttf\",\r\n \"Tektur[wdth,wght].ttf\",\r\n \"RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf\",\r\n \"Recursive-VariableFont_CASL,CRSV,MONO,slnt,wght.ttf\",\r\n \"Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf\",\r\n \"Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf\",\r\n];\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontLoader.vue?vue&type=template&id=66b06bc2&\"\nimport script from \"./FontLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./FontLoader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontLoader.vue?vue&type=style&index=0&id=66b06bc2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"editor-nav\"},[_vm._l((_vm.customTextIds),function(id){return _c('EditorNavLink',{key:id,attrs:{\"id\":id},on:{\"navigated\":function($event){return _vm.$emit('navigated')}}})}),_c('span',{key:\"-1\",staticClass:\"nav-link new\"},[_c('router-link',{attrs:{\"to\":`/custom/-1`}},[_vm._v(\" \"+_vm._s(_vm.customTextIds.length > 0 ? '+ New' : 'Editor')+\" \")])],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"editor-nav-link nav-link\"},[_c('router-link',{attrs:{\"to\":`/custom/${_vm.id}`},nativeOn:{\"click\":function($event){return _vm.$emit('navigated')}}},[_c('div',{staticClass:\"middle-ellipsis\"},[_c('div',{staticClass:\"start\"},[_vm._v(\"Custom \")]),_c('div',{staticClass:\"end\"},[_vm._v(_vm._s(_vm.id))])])]),_c('UiIconButton',{staticStyle:{\"color\":\"white\"},attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.removeCustomText(_vm.id)}}},[_c('svg',{key:'1',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorNavLink.vue?vue&type=template&id=4f310594&scoped=true&\"\nimport script from \"./EditorNavLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorNavLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorNavLink.vue?vue&type=style&index=0&id=4f310594&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f310594\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorNav.vue?vue&type=template&id=f4847f42&\"\nimport script from \"./EditorNav.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditorNav.vue?vue&type=style&index=0&id=f4847f42&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-tools font-sample-nav contextual-sidebar\"},[_c('div',{staticClass:\"toolbar panel btn-group\"},[_c('UiIconButton',{attrs:{\"tooltip\":\"Heading\",\"color\":_vm.isHeadingActive ? 'primary' : 'default'},on:{\"click\":_vm.makeHeading}},[_vm._v(\" H \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Bold\",\"color\":_vm.isBoldActive ? 'primary' : 'default'},on:{\"click\":_vm.makeBold}},[_vm._v(\" B \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Italic\",\"color\":_vm.isItalicActive ? 'primary' : 'default'},on:{\"click\":_vm.makeItalic}},[_vm._v(\" I \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TextTools.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextTools.vue?vue&type=template&id=7a15c57a&scoped=true&\"\nimport script from \"./TextTools.vue?vue&type=script&lang=js&\"\nexport * from \"./TextTools.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextTools.vue?vue&type=style&index=0&id=7a15c57a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a15c57a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('h1',{staticClass:\"site-logo\"},[_c('svg',{class:'logo',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 256\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('g',{attrs:{\"data-name\":\"Warstwa 3\"}},[_c('g',{attrs:{\"data-name\":\"Icon Big\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z\",\"data-name\":\"Hole 1\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z\",\"data-name\":\"Hole 2\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z\",\"data-name\":\"Hole 3\"}})])])]),_vm._m(0)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"logotype\"},[_c('span',{staticClass:\"strong\"},[_vm._v(\"Bulletproof\")]),_c('span',{staticClass:\"weak\"},[_vm._v(\"Font Tester\")])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SiteLogo.vue?vue&type=template&id=3c965810&\"\nvar script = {}\nimport style0 from \"./SiteLogo.vue?vue&type=style&index=0&id=3c965810&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sigmoid-container\",style:(_vm.rootStyle)},[(_vm.left)?_c('div',{staticClass:\"sigmoid left\",style:(_vm.sigmoidWrapperStyle)},[_c('div',{style:(_vm.sigmoidStyle)})]):_vm._e(),_c('div',{staticClass:\"container\",style:(_vm.containerStyle)},[_c('div',{staticClass:\"content\",style:(_vm.contentStyle)},[_vm._t(\"default\")],2)]),(_vm.right)?_c('div',{staticClass:\"sigmoid right\",style:(_vm.sigmoidWrapperStyle)},[_c('div',{style:(_vm.sigmoidStyle)})]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SigmoidContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SigmoidContainer.vue?vue&type=template&id=6ff99e0d&scoped=true&\"\nimport script from \"./SigmoidContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SigmoidContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SigmoidContainer.vue?vue&type=style&index=0&id=6ff99e0d&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ff99e0d\",\n null\n \n)\n\nexport default component.exports","export default [\"lettering\", \"pangrams\", \"sentences\", \"gotchas\", \"ABCs\", \"glyphs\", \"kerning\", \"languages\"];\n","export default function(kind) {\n return kind[0].toUpperCase() + kind.substr(1);\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteHeader.vue?vue&type=template&id=197ecb26&\"\nimport script from \"./SiteHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SiteHeader.vue?vue&type=style&index=0&id=197ecb26&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"site-footer\"},[_c('div',{ref:\"sentinel\",staticClass:\"sentinel\"}),_vm._m(0),_c('SigmoidContainer',{staticClass:\"large light aside\",attrs:{\"sides\":\"left bottom\",\"width\":\"75\",\"idSeed\":\"footer\"}},[_c('a',{staticClass:\"github-link\",attrs:{\"href\":\"https://github.com/hyvyys/Bulletproof\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_c('div',[_vm._v(\" Bulletproof \"),_c('br'),_vm._v(\" on Github \")]),_c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"height\":'32',\"width\":'32',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}})])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"main u-dark\"},[_c('div',{staticClass:\"extra-info\"},[_c('div',[_c('a',{attrs:{\"href\":\"https://github.com/huertatipografica/Alegreya-Sans\"}},[_vm._v(\"Alegreya Sans\")]),_vm._v(\" font by Juan Pablo del Peral. \")]),_c('div',[_c('a',{attrs:{\"href\":\"https://github.com/etunni/Graduate-Variable-Font\"}},[_vm._v(\"Graduate\")]),_vm._v(\" Variable Font by Eduardo Tunni. \")]),_c('div',[_vm._v(\" Rywalka and \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/Tektur\"}},[_vm._v(\"Tektur\")]),_vm._v(\" fonts by Adam Jagosz. \")]),_c('div',[_vm._v(\" Sample texts from \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/language-data\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\" Language-Data. \")]),_c('br'),_vm._v(\" Visit to contribute! ↑ \")])]),_c('div',{staticClass:\"bulletproof-info\"},[_c('div',[_vm._v(\" Bulletproof Font Tester \")]),_c('div',[_vm._v(\" © 2021 Adam Jagosz \")])])])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SiteFooter.vue?vue&type=template&id=1083513b&scoped=true&\"\nimport script from \"./SiteFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./SiteFooter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SiteFooter.vue?vue&type=style&index=0&id=1083513b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1083513b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }},[_c('div',{staticClass:\"background background-parallax\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }},[_c('div',{staticClass:\"pane\"},[_c('div',{ref:\"parallax\",staticClass:\"parallax-content\",attrs:{\"data-parallax\":\"0.3 0\"}},[_vm._v(\" \"+_vm._s(_vm.getParallaxText())+\" \")])])]),_c('div',{ref:\"overlay\",staticClass:\"background background-overlay\",class:{webkit: _vm.webkit, safari: _vm.safari, loaded: _vm.loaded }}),_c('Welcome',{attrs:{\"msg\":\"Welcome to Your Vue.js App\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Shuffles array in place.\n * @param {Array} a items An array containing the items.\n */\nexport default function shuffle(a) {\n var j, x, i;\n for (i = a.length - 1; i > 0; i--) {\n j = Math.floor(Math.random() * (i + 1));\n x = a[i];\n a[i] = a[j];\n a[j] = x;\n }\n return a;\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"welcome reading\"},[_c('div',{staticClass:\"fold\"},[_c('figure',{staticClass:\"banner\"},[_c('svg',{class:'logo',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 256\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('g',{attrs:{\"data-name\":\"Warstwa 3\"}},[_c('g',{attrs:{\"data-name\":\"Icon Big\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M207.6 192.9c.28-1.46 3.45-3.78 7.05-5.15l14.81-5.64c3.6-1.37 3.41-2.88-.41-3.36L214.5 177c-3.82-.47-7.66-3.06-8.52-5.74s-3.21-12-1.77-15.53l8.73-21.56c1.45-3.57.13-4.58-2.93-2.24l-17.33 13.25c-3.06 2.34-6.82 3.65-8.36 2.91l-2.13-.73-4.5-1.53c-2.8-.25-7.48-2.51-10.41-5a19.57 19.57 0 00-4-3.9c-2.67-2-2.9-1.21-.51 1.81l.91 1.15c2.39 3 3.6 5.73 2.68 6s-7.33-.86-11-2.1l-9.55-3.24c-3.64-1.24-6 .83-5.22 4.6l.59 2.88c.77 3.77.48 7.7-.65 8.74s-6.83 4.88-10.55 5.85l-.71.19c-3.72 1-4.51 2.43-1.75 3.23a4.66 4.66 0 013.25 6.15c-1 2.58-4.53 12-7.49 14.49l-7.53 6.28c-3 2.46-2.26 4.89 1.56 5.4l7.42 1c3.82.5 8.17 3.13 9.67 5.85s6.81 11.9 6.81 15.75v2.87c0 3.85 2.27 4.81 5 2.14l.18-.17c2.78-2.67 6.79-4.19 8.93-3.37s10.3 4.29 13 7.08l6.5 6.85c2.65 2.8 5.59 2 6.54-1.7l1.68-6.58a20.76 20.76 0 017.6-10.6l7.81-7c2.45-3 6.94-5.9 10-6.5s10.13-3.17 6.37-4l-1.78-.39c-3.75-.86-5.72-5.23-5.44-6.69zm-21.25-16.6a2.91 2.91 0 00-.15 5.44c.86.54.87 1.24 0 1.55a3.82 3.82 0 00-1.73 2.13c-.07.42.74 1.24 1.82 1.82s1 .92-.21.76a3.51 3.51 0 00-2.82 1.42 2.61 2.61 0 00.53 2.12c.5.72.18 1.23-.71 1.15s-2.6 1.06-3 1.48 0 2.79.93 5.27.09 3.07-1.85 1.29-5.88-2.23-6.85-2a2.67 2.67 0 00-1.75 2.58c0 1.18-.52 1.22-1.16.09l-.64-1.13a4.1 4.1 0 00-.76-.92c-2.16 0-4.14-.15-6.57-.32l-.53 1c-.53 1-1 .83-1-.45a5.37 5.37 0 00-1.3-3.14c-.35-.24-1.91.67-3.46 2s-2 .94-1-.91a7.68 7.68 0 00-.07-5.74c-.44-.7-1.93-.88-3.29-.39s-1.6 0-.52-1.17 1.42-3.93 1.3-4.67-1.13-1.35-2.24-1.35-1.13-.56 0-1.23 2.23-3.38 2.43-4.16-1.17-2.17-3-3.07-1.6-1.54.6-1.41 5.77-2.38 6.63-3.22a3.77 3.77 0 001-3.32c-.3-1 .2-1.33 1.1-.76s3.18.24 3.8 0a2.8 2.8 0 001.13-2.5c0-1.15.47-1.26 1-.26a4.05 4.05 0 002.64 1.63c.45 0 1.28-1.16 1.86-2.51s1.47-1.27 2 .17 3.77 3.48 4.75 4 2.7-.2 3.84-1.58 1.66-1 1.15.89 1.22 5.77 1.84 6.83a4.35 4.35 0 003.9 1.66c1.54-.1 1.7.3.36.93z\",\"data-name\":\"Hole 1\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M185.51 76.49l-10.72-7a2.71 2.71 0 01-.65-4l6.59-8.32c1-1.3.52-2.21-1.12-2l-9.77 1c-1.64.17-2-.56-.68-1.61l6-4.91A1 1 0 00174 48.1L163.6 53a2.15 2.15 0 01-3.2-1.69l-1.75-10.9c-.27-1.63-1.5-2.07-2.74-1l-8.51 7.45a2.31 2.31 0 01-3.7-.66l-.38-.7c-.79-1.45-2-2.76-2.79-2.91s-2.17.81-3.16 2.13l-1.28 1.72a2.12 2.12 0 01-3.59 0l-5.66-7.66a2.11 2.11 0 00-3.58 0l-12.68 16.87a1.89 1.89 0 01-3.36-.16L94.59 34.57c-.86-1.41-1.26-1.25-.89.36l6.3 27.8a5.36 5.36 0 01-1.64 4.84l-5.16 4.3a10.64 10.64 0 01-4.75 2.19c-1.34.15-1.58 1.31-.52 2.58l1.59 1.9a14.9 14.9 0 012.57 5.24l2 8.8a12.19 12.19 0 002.78 5l.09.09a3 3 0 010 4.25l-4.44 4.44c-1.16 1.17-.8 2.43.8 2.81l5.68 1.39a7.07 7.07 0 014.29 10.76l-1.52 2.32a2.63 2.63 0 002.61 4l13-2.07a2.82 2.82 0 013 3.89l-3 7a1.68 1.68 0 002.69 1.89l7.71-7.17a12.37 12.37 0 015.14-2.61l10.93-2.12a5 5 0 014.64 1.91l3.67 5.36c.93 1.36 1.87 1.13 2.08-.5l.86-6.54a16.5 16.5 0 012-5.52l3.9-6.3a3.36 3.36 0 014.26-1.21l3.32 1.66c1.48.74 2.48 0 2.24-1.62l-2.37-15.78a2 2 0 012.51-2.42l11.47 2.15c1.62.31 1.93-.33.69-1.42l-9.06-8c-1.24-1.09-1-2.35.63-2.81l1.83-.52c1.59-.45 1.58-1.18 0-1.61 0 0-3.07-.84-3.62-1.39-1.21-1.21 12.24-3.33 12.24-3.33 1.55-.21 1.75-1.16.37-2.07zm-28.21 8.93c-1.86.94-3.74 5.11-4.14 6.37a4.68 4.68 0 001.46 4.3c1.21 1.11 1 1.53-.46.92a4.41 4.41 0 00-4 .87 4.34 4.34 0 00-.44 2.91c.18 1.07-.37 1.59-1.22 1.13a4.09 4.09 0 00-2.94.15c-.39.24-.46 1.48-.15 2.75s0 1.45-.76.39a3.74 3.74 0 00-3.15-1.24 2.78 2.78 0 00-1.32 2c-.21.91-.86 1-1.43.25s-2.71-1.31-3.34-1.34-2.22 2-3.55 4.52-2.38 2.28-2.35-.55-2.43-6.3-3.31-6.9a2.86 2.86 0 00-3.32.44c-1 .85-1.35.46-.91-.86a12.61 12.61 0 00.7-2.52l-.06-.07-1.55-1.73c-1.06-2.2-2.07-4.5-2.25-5.1s-.56-2.27-.62-2.71-1.89-1-4.08-1.32-2.2-.94 0-1.48 4.29-3.3 4.53-4.17-.68-2.17-2.05-2.91-1.11-1.3.57-1.26 4.15-1.68 4.66-2.31a25.14 25.14 0 011.88-2.05 31.32 31.32 0 013.62-2.65c.77-.41.89-2.49.27-4.64s.08-2.38 1.56-.52 6 2.9 7.32 3a4 4 0 003.39-1.57c.57-.94 2-.43 3.16 1.13s2.85 2.18 3.77 1.36 1.34-.53.95.65a4.29 4.29 0 00.59 3.28c.34.33 1.84.19 3.33-.32s2.08.26 1.3 1.72-.07 5.51.22 6.65 2.1 2 4 1.94 1.97.55.12 1.49z\",\"data-name\":\"Hole 2\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M117.52 172.68c.06-.47-4-4.94-4-4.94-3.69-4.07-3.74-7.23-.11-7s6.52 0 6.42-.4-3-1.6-6.42-2.61-5.84-5.6-4-8.14a6 6 0 00-4-9.18s-12.45-2.53-13.3-3.17-5.77-15.21-7.21-15-11.77 8.46-16.18 10l-4.11 1.39c-2.61 1.29-6.05.86-7.64-1s-2.91-3.28-3.2-1.75-3 3.46-4.86 1.09l-.57-2.75-.56-2.75c-2.16-2.09-4.25.69-4.66 6.18a103.16 103.16 0 01-2.55 15.23c-.53 2.11-2 4.76-4.11 4a4.11 4.11 0 01-1.77-1.62l-1.51-2.07c-2.29-4-4.36-7.14-4.59-7.06s.57 4.54 1.8 9.91c0 0 .34 1.51-1.64 6.83l-.89 2.4c-2.59.65-4.31 2.77-3.82 4.69l1.45 1.09c1.46 1.09 3.18 1.87 4.33 3.28s1.44 3.79 0 4.86c-2.38 1.74-2.17 5.59-.35 7.91s4.71 3.47 7.46 4.53c1 .37.79 1.76.44 2.73l-1.23 3.44c-1.36 3.78-.41 7 2.1 7.11s8.36 4.21 7.72 7.3 1 10.27 4.66 9 16.28-4.79 20.81-3.28l3.07-2.52c1.82-1.49 1.94-5.48 4-6.5 3.09-1.5 7.81 1.64 9.85 4.4s2.65 6.32 3.28 9.69c.32 1.81 3 2.28 4.46 1.21S99.3 212 99.3 212c1.48-5.3 3.94-8.68 5.46-7.53s4.08-.06 2.31-5.27a42.23 42.23 0 01-2-13.69c.29-5.36 12.35-12.09 12.45-12.83zM85.84 178c.62 1.17.13 1.89-1.08 1.61a4.37 4.37 0 00-3.61.84c-.77.74-2.73 3.42-2.29 4.83s-.3 1.52-1.64.22-3.21-2-4.17-1.55-4.37 1.74-5 3.09-1 1.3-.91-.12-.31-2.69-.89-2.83a26.72 26.72 0 01-3.37-1.38c-.73-.38-1.6-.9-2-1.14a3.68 3.68 0 00-3 .22c-1 .63-1.24.4-.55-.53s1-2 .67-2.34a4.46 4.46 0 00-2.58-1.24c-.84.09-1.12-.42-.64-1.13a2.85 2.85 0 00.5-2.25 8.73 8.73 0 00-2.72-3.09c-1.15-.62-1.25-1.59-.22-2.15a4.21 4.21 0 002-2.72 27.69 27.69 0 011.27-4.41c.27-.59.49-1.09.51-1.12s-.06-1.82-.19-3.91l-.05-.33 3.35-.72c1.83-.38 3.45-1.29 3.59-2s1.25-1.12 2.46-.88a4.66 4.66 0 003-.2c.46-.35 2.3-1.43 2.53-2.81s.77-1.32 1.23.11 1.39 2.75 2.08 2.9a27.51 27.51 0 013.53 1.37 21.37 21.37 0 012.22 1.39 5.7 5.7 0 005.1-.24c1.63-1.15 2-.63.9 1.16s-1.79 3.79-1.44 4.42 1.8 3.38 2.77 3.59 1.18 1.44.47 2.73-.72 3.94.24 4.47.84 1-.27 1-2.18.55-2.38 1.19a7.1 7.1 0 00.58 3.95z\",\"data-name\":\"Hole 3\"}})])])]),_c('h1',[_vm._v(\"Bulletproof\")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\"I Wish I Was...\")])]),_c('div',{staticClass:\"invitation\"},[(!_vm.isMobile)?_c('div',{staticClass:\"drop-prompt\"},[_vm._v(\" Drop font files to start \")]):_vm._e(),(!_vm.isMobile)?_c('div',[_vm._v(\"or\")]):_vm._e(),_c('div',{staticClass:\"request-font\"},[_c('UiTextbox',{staticClass:\"font-url-input\",attrs:{\"placeholder\":\"Enter font file URL (TTF, OTF, WOFF)\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.requestFont.apply(null, arguments)}},model:{value:(_vm.addFontUrl),callback:function ($$v) {_vm.addFontUrl=$$v},expression:\"addFontUrl\"}}),_c('UiButton',{attrs:{\"disabled\":!_vm.addFontUrl},on:{\"click\":_vm.requestFont}},[_vm._v(\"Load\")])],1),(_vm.isMobile)?_c('div',[_vm._v(\"or\")]):_vm._e(),(_vm.isMobile)?_c('UiButton',{on:{\"click\":function($event){return _vm.expandMenu('navMenu')}}},[_vm._v(\"Just look around\")]):_vm._e()],1)]),_c('WelcomeText',{staticClass:\"readme\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h2',[_vm._v(\"What’s this all about?\")]),_c('p',[_vm._v(\"Test your local or remote fonts with the proofing tool developed by a type designer, for type designers. Check out kerning, OpenType features, and language coverage. Explore and animate variation axes in variable fonts.\")]),_vm._m(0),_vm._m(1),_c('h2',[_vm._v(\"Available formatting options\")]),_vm._m(2),_c('h2',[_vm._v(\"Text collection\")]),_vm._m(3),_vm._m(4),_c('p',[_vm._v(\"The selection of languages and texts is arbitrary and limited, but contributions are welcome. Currently the focus is on languages written with Latin and Cyrillic.\")]),_c('h2',[_vm._v(\"Kerning tester\")]),_c('p',[_vm._v(\"The \"),_c('router-link',{attrs:{\"to\":\"/kerning\"}},[_vm._v(\"Kerning tab\")]),_vm._v(\" has a kerning string generator. A couple of kerning patterns are predefined and more can be created on the fly. \"),_c('router-link',{attrs:{\"to\":\"/help/kerning\"}},[_vm._v(\"See kerning generator help.\")])],1),_c('h2',[_vm._v(\"Playground & Animation\")]),_c('p',[_vm._v(\"Any open text sample can be edited. In the \"),_c('router-link',{attrs:{\"to\":\"/editor\"}},[_vm._v(\"editor tab\")]),_vm._v(\" some more options are available: setting bold and italic (with separately selectable fonts), as well as taking snapshots of the settings and using them as animation keyframes — can be useful for recording gifs or videos, or toggling multiple features on and off more quickly. \"),_c('router-link',{attrs:{\"to\":\"/help/animation\"}},[_vm._v(\"See animation editor help.\")])],1),_c('h2',[_vm._v(\"Preload a remote font\")]),_c('p',[_vm._v(\"If you want to share a link to a specific tab and automatically load a remote font, you can add a query parameter with the URL of your font file — like \"),_c('code',[_vm._v(\"?preload=https://example.com/Font.ttf\")]),_vm._v(\" — to the end of the page URL. \"),_c('router-link',{attrs:{\"to\":\"/help/query-string\"}},[_vm._v(\"See preloading custom fonts help.\")])],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"To begin, load font files via drag’n’drop or by pasting a URL. The fonts’ OpenType features and variation axes will be automatically detected. Everything is processed locally in the browser, using \"),_c('a',{attrs:{\"href\":\"https://github.com/opentypejs/opentype.js\"}},[_vm._v(\"OpenType.js\")]),_vm._v(\".\")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"Or if you don't have any font files handy, look around and test the included fonts: \"),_c('a',{attrs:{\"href\":\"https://github.com/huertatipografica/Alegreya-Sans\"}},[_vm._v(\"Alegreya Sans\")]),_vm._v(\" by Juan Pablo del Peral, \"),_c('a',{attrs:{\"href\":\"https://github.com/etunni/Graduate-Variable-Font\"}},[_vm._v(\"Graduate\")]),_vm._v(\" Variable Font by Eduardo Tunni, and my own Rywalka (work-in-progress).\")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\"Changing font size, line height, text alignment, text case transform, text and background colors.\")]),_c('li',[_vm._v(\"Toggling OpenType features on and off.\")]),_c('li',[_vm._v(\"Choosing localization language from the list of languages built into the font.\")]),_c('li',[_vm._v(\"Manipulating OpenType Variation axes.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"The multilingual texts and language metadata powering this project are maintained in their own repository and npm package \"),_c('a',{attrs:{\"href\":\"https://github.com/hyvyys/language-data\"}},[_vm._v(\"language-data\")]),_vm._v(\". Several kinds of texts are included:\")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\"ordinary sentences,\")]),_c('li',[_vm._v(\"pangrams,\")]),_c('li',[_vm._v(\"lettering samples — defined as sets of A-Z words preferably repeating the initial letter within),\")]),_c('li',[_c('em',[_vm._v(\"gotchas\")]),_vm._v(\" — edge cases characteristic to the given language, things to look out for when desigining a typeface.\")])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Welcome.md?vue&type=template&id=6af9f7c8&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=05c36e7e&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&id=05c36e7e&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=0eadec82&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=0eadec82&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0eadec82\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',[_vm._v(\"Help pages\")]),_c('ol',[_c('li',[_c('router-link',{attrs:{\"to\":`/help/animation`}},[_vm._v(\"Animation editor\")])],1),_c('li',[_c('router-link',{attrs:{\"to\":`/help/kerning`}},[_vm._v(\"Kerning string editor\")])],1),_c('li',[_c('router-link',{attrs:{\"to\":`/help/query-string`}},[_vm._v(\"Preloading custom fonts\")])],1)])])]),_c('div',{staticClass:\"example\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Help.vue?vue&type=template&id=3788e376&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":`/help`}},[_vm._v(\"Help / \")]),_vm._v(\"Kerning string generator \")],1),_c('Kerning')],1)]),_c('div',{staticClass:\"example\"},[_c('h2',[_vm._v(\"Try it out\")]),_c('transition-group',{attrs:{\"name\":\"fade\"}},[_c('KerningEditor',{key:\"editor\",attrs:{\"segments\":_vm.segments},on:{\"addKerningSegment\":_vm.addKerningSegment,\"removeKerningSegment\":i => _vm.removeKerningSegment(i)}}),_c('div',{key:\"title\",staticClass:\"row\"},[_c('h3',[_vm._v(\" Output \")])]),_c('div',{key:\"string\"},_vm._l((_vm.kerningStringLines),function(line,i){return _c('div',{key:i},[_vm._v(\" \"+_vm._s(line)+\" \")])}),0)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function characterRange(charA, charZ) {\n var a = [], i = charA.charCodeAt(0), j = charZ.charCodeAt(0);\n for (; i <= j; ++i) {\n a.push(String.fromCharCode(i));\n }\n return a;\n}\n","export default function cartesianProductOf() {\n return Array.prototype.reduce.call(arguments, function(a, b) {\n var ret = [];\n a.forEach(function(a) {\n b.forEach(function(b) {\n ret.push(a.concat([b]));\n });\n });\n return ret;\n }, [[]]);\n}\n","import characterRange from \"@/utils/characterRange\";\nimport cartesianProduct from \"@/utils/cartesianProduct\";\n\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nfunction splitWithEscape(s, separator, escape = \"\\\\\") {\n\n const endsWithEscape = new RegExp(escapeRegExp(escape) + \"$\");\n let fragments = [];\n let options = [];\n let current = \"\";\n\n s.split(\"\").forEach(char => {\n if (char === separator && !endsWithEscape.test(current)) {\n options.push(current);\n current = \"\";\n }\n else { // separator was escaped e.g. \\|\n current += char;\n }\n });\n options.push(current);\n\n const escapedSeparator = new RegExp(escapeRegExp(escape) + escapeRegExp(separator), \"g\");\n options = options.map(o => o.replace(escapedSeparator, separator));\n [].push.apply(fragments, options);\n return fragments;\n}\n\nexport default class KerningGenerator {\n /**\n * Split string of alternatives terminated and separated by pipe character.\n * @param {String} s String to parse, e.g. `|fi|fj|fl|ff|`. Pipe escaped with leading backslash, e.g. `|\\|:|\\:|/:|`.\n */\n static parseSequences(s) {\n s = s.replace(/^\\|/, \"\").replace(/\\|$/, \"\"); // trim group delimiters | ... |\n let fragments = splitWithEscape(s, \"|\");\n\n return fragments;\n }\n\n /**\n * Split closure on the underscore character _, unless escaped \\_.\n * @param {String} s String to parse, e.g. `\"_\",`. Pipe escaped with leading backslash, e.g. |\\|:|\\:|/:|.\n */\n static parseClosure(s) {\n let fragments = splitWithEscape(s, \"_\");\n return fragments;\n }\n\n static sets(segments) {\n const sets = [];\n let closures = [];\n\n segments.forEach(s => {\n if (/^@/.test(s)) {\n s = s.replace(/^@/, \"\");\n s = s.replace(/\\\\@/g, \"@\");\n\n let segmentClosures = [];\n const special = \"_|\\\\\";\n const escaped = special.split(\"\").map(c => escapeRegExp(\"\\\\\" + c)).join(\"|\");\n const closureSide = `([^${escapeRegExp(special)}]*|${escaped})*`;\n const compoundClosure = new RegExp(`^\\\\|(${closureSide}_${closureSide}\\\\|)+$`);\n\n if (compoundClosure.test(s)) {\n segmentClosures = this.parseSequences(s).map(c => this.parseClosure(c));\n }\n else {\n segmentClosures = Array.from(s.matchAll(/(.)(.)/g)).map(m => [m[1], m[2]])\n }\n\n closures.push(segmentClosures);\n }\n\n // words etc.\n else {\n s = s.replace(/\\\\@/g, \"@\");\n\n if (/^\\|.+\\|$/.test(s)) {\n sets.push(this.parseSequences(s));\n }\n\n // character sets incl. ranges, only hyphen is escaped as \\-\n else {\n let fragments = [];\n\n const ranges = s.matchAll(/([^\\\\])-(.)/g); // e.g. a-z\n Array.from(ranges).forEach(r => {\n let [, start, end] = r;\n [].push.apply(fragments, characterRange(start, end));\n });\n\n s = s.replace(/([^\\\\])-(.)/g, \"\");\n\n const singleCharacters = s.replace(/\\\\-/g, \"-\").split(\"\");\n [].push.apply(fragments, singleCharacters);\n sets.push(fragments);\n }\n }\n });\n return { sets, closures };\n }\n\n static kerningString(pattern) {\n let sets = pattern.sets.filter(s => s.length);\n // clone\n sets = JSON.parse(JSON.stringify(sets));\n\n let product = cartesianProduct(...sets);\n // [ ['A', 'A'], ['A', 'B'], ['A', 'C'], ... ]\n\n let lines = [];\n let current = product[0][0] || \"\";\n let line = \"\";\n\n function commitLine(line) {\n // add initial character to the end of the line\n if (!pattern.closures.length) {\n // AAABACAD...WAXAYAZ\n // => AAABACAD...WAXAYAZA\n line += current;\n }\n // remove more than two repetitions of any character\n if (!pattern.closures.length) {\n line = line.replace(/(.)\\1{2,}/g, \"$1$1\"); // AAABACA => AABACA\n }\n lines.push(line);\n }\n\n product.filter(sub => sub.length).forEach(sub => {\n // new character on first position, finalize line\n if (sub[0] !== current) {\n commitLine(line);\n line = \"\";\n current = sub[0];\n }\n\n let fragment = sub.join(\"\");\n if (pattern.closures.length) {\n /* [\n [ [\"(\", \")\"], [\"[\", \"]\"], ... ],\n [ [\";\", \".\"], [\":\", \",\"], ... ],\n ... ] */\n\n const openings = pattern.closures.map(set => set.map(closure => closure[0]));\n const closings = pattern.closures.map(set => set.map(closure => closure[1]));\n /* [ [ \"(\", \"[\", ... ], [ \";\", \":\", ... ], ... ] */\n\n const openingSequences = cartesianProduct(...openings).map(sub => sub.reverse().join(\"\"));\n const closingSequences = cartesianProduct(...closings).map(sub => sub.join(\"\"));\n /* [ \";(\", \";[\", \":(\", \":[\", ... ] */\n\n const closures = openingSequences.map((o, i) => [o, closingSequences[i]]);\n\n fragment = closures\n .map(closure => `${closure[0]}${fragment}${closure[1]}`)\n .join(\" \") + \" \";\n }\n line += fragment;\n });\n commitLine(line);\n\n return lines;\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"kerning-editor panel\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('div',{key:\"title\",staticClass:\"row\"},[_c('h3',[_vm._v(\" Pattern segments \")]),_c('UiIconButton',{key:\"btnAdd\",attrs:{\"color\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('addKerningSegment')}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1),_vm._l((_vm.segments),function(segment,i){return _c('div',{key:`segment-${segment.key}`,staticClass:\"row segment-row\"},[_c('UiSelect',{ref:\"segmentSelects\",refInFor:true,attrs:{\"options\":_vm.builtInSegmentCharacters,\"dropdownClass\":\"kerning-segment-select\",\"dropdownPosition\":\"bottom-end\",\"placeholder\":\"type or choose\",\"autocomplete\":true},on:{\"input\":function($event){return _vm.$emit('updateKerningPattern')}},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [_c('kbd',[_vm._v(_vm._s(props.option || \"\\xa0\"))])]}}],null,true),model:{value:(_vm.segments[i].characters),callback:function ($$v) {_vm.$set(_vm.segments[i], \"characters\", $$v)},expression:\"segments[i].characters\"}}),_c('UiIconButton',{key:\"btnRemove\",staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('removeKerningSegment', i)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default [\n \"0-9\",\n \"A-Z\",\n \"a-z\",\n \"А-Я\",\n \"а-я\",\n \"Α-ΡΣ-Ω\",\n \"α-ω\",\n \"A-Za-z0-9\",\n \"FPTVWYfrvwy\",\n \"aáàâåäãæbcçdðeéèêëfghiíìîïjklmnñoóòôöõøpqrstuúùûüvwxyýÿzþ\",\n \"aáàăâåäãąāæbcćĉčċçdďđðeéèĕêěëėęēfgğĝġģhĥħiíìĭîïĩįīijıjĵkķlĺľļłŀmnńňñņŋoóòŏôöőõøōœpqĸrŕřŗsśŝšştťţŧuúùŭûůüűũųūvwŵxyýŷÿÿzźžżþ\",\n \",.\",\n \";:\",\n \"-–—+\",\n \"|fi|fj|fl|ff|ffi|ffl|fb|fh|fk|ft|\",\n \"@¡!¿?\",\n \"@“”‘’\",\n \"@“”„”„“””\",\n \"@|“_,”|”_”:|„_”,|„_“.|\",\n \"@\\\"\\\"''\",\n \"@()[]{}<>\",\n];\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningEditor.vue?vue&type=template&id=7f7c4944&scoped=true&\"\nimport script from \"./KerningEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningEditor.vue?vue&type=style&index=0&id=7f7c4944&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7f7c4944\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('p',[_vm._v(\"Kerning strings can be generated in the \"),_c('a',{attrs:{\"href\":\"/kerning\"}},[_vm._v(\"Kerning tab\")]),_vm._v(\". Each string is defined using a \"),_c('strong',[_vm._v(\"pattern\")]),_vm._v(\" consisting of character sets called \"),_c('strong',[_vm._v(\"segments\")]),_vm._v(\".\")]),_c('p',[_c('strong',[_vm._v(\"Regular segments\")]),_vm._v(\" are sets of letters, characters, or words that will be interpolated to create the kerning string. There are two kinds of regular segments:\")]),_c('ul',[_c('li',[_vm._v(\"Single-character segments, e.g. \"),_c('code',[_vm._v(\"A-Za-ząćę\")]),_vm._v(\".\")]),_c('li',[_vm._v(\"Multi-character segments, e.g. \"),_c('code',[_vm._v(\"|fi|fj|fl|\")]),_vm._v(\".\")])]),_c('p',[_c('strong',[_vm._v(\"Closure segments\")]),_vm._v(\" start with an at \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" and are used to surround the interpolated substrings with extra characters, typically punctuation. These also come in two flavors:\")]),_c('ul',[_c('li',[_vm._v(\"Single character closures, e.g. \"),_c('code',[_vm._v(\"@()[]{}\")]),_vm._v(\". Characters after \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" are treated as opening–closing pairs.\")]),_c('li',[_vm._v(\"Multiple character closures, e.g. \"),_c('code',[_vm._v(\"@|“_”.|“_.”|“_”,|“_,”|\")]),_vm._v(\". Anything before the underscore \"),_c('code',[_vm._v(\"_\")]),_vm._v(\" is treated as prefix, everything after — as suffix. Either can be empty, e.g. \"),_c('code',[_vm._v(\"@|_,|\")]),_vm._v(\" is a suffix-only closure.\")])]),_c('p',[_vm._v(\"Multiple closure segments can be combined. A pattern of the following segments:\")]),_c('blockquote',[_c('p',[_c('code',[_vm._v(\"abc\")]),_c('br'),_c('code',[_vm._v(\"@“”‘’\")]),_c('br'),_c('code',[_vm._v(\"@()\")])])]),_c('p',[_vm._v(\"will yield \"),_c('code',[_vm._v(\"(“a”) (‘a’) (“b”) (‘b’) (“c”) (‘c’)\")]),_vm._v(\".\")]),_c('h2',[_vm._v(\"Summary\")]),_c('p',[_vm._v(\"The segment syntax has just five special characters:\")]),_c('ul',[_c('li',[_vm._v(\"at \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" (only at the beginning of segment) — begins a closure segment,\")]),_c('li',[_vm._v(\"hyphen \"),_c('code',[_vm._v(\"-\")]),_vm._v(\" — signifies character range,\")]),_c('li',[_vm._v(\"pipe \"),_c('code',[_vm._v(\"|\")]),_vm._v(\" — delimits words or closures,\")]),_c('li',[_vm._v(\"underscore \"),_c('code',[_vm._v(\"_\")]),_vm._v(\", — separates closure prefix and suffix,\")]),_c('li',[_vm._v(\"and backslash \"),_c('code',[_vm._v(\"\\\\\")]),_vm._v(\" — escapes the above (and itself), e.g. \"),_c('code',[_vm._v(\"@|\\\\|_\\\\|\\\\_|\")]),_vm._v(\" means a closure segment with a \"),_c('code',[_vm._v(\"|\")]),_vm._v(\" prefix and \"),_c('code',[_vm._v(\"|_\")]),_vm._v(\" suffix.\")])])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Kerning.md?vue&type=template&id=7b3366bf&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningHelp.vue?vue&type=template&id=7273fa36&scoped=true&\"\nimport script from \"./KerningHelp.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningHelp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningHelp.vue?vue&type=style&index=0&id=7273fa36&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7273fa36\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":`/help`}},[_vm._v(\"Help / \")]),_vm._v(\"Animation editor \")],1),_c('Animation')],1)]),_c('div',{staticClass:\"example\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('p',[_vm._v(\"In the \"),_c('a',{attrs:{\"href\":\"/editor\"}},[_vm._v(\"Editor tab\")]),_vm._v(\", the right side Contextual sidebar provides a simple animation editor. At any time a frame can be added to take a snapshot of the current settings from the left side Settings sidebar. Most settings are animatable, including continuous settings like Variation Axes, font size and color, as well as discrete settings like OpenType features. Currently a few settings remain unanimated: text align and text case transform.\")])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Animation.md?vue&type=template&id=4b43128c&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationHelp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationHelp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnimationHelp.vue?vue&type=template&id=3498f484&scoped=true&\"\nimport script from \"./AnimationHelp.vue?vue&type=script&lang=js&\"\nexport * from \"./AnimationHelp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3498f484\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"help-topic\"},[_c('div',{staticClass:\"help\"},[_c('div',{staticClass:\"reading\"},[_c('h2',{staticClass:\"help-heading\"},[_c('router-link',{attrs:{\"to\":`/help`}},[_vm._v(\"Help / \")]),_vm._v(\"Preloading custom fonts \")],1),_c('QueryString')],1)]),_c('div',{staticClass:\"example\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('p',[_vm._v(\"Parameters in the URL query string can be used to load custom fonts hosted elsewhere online and then share the result with others. For example, \"),_c('a',{attrs:{\"href\":\"/glyphs?preload=/fonts/Rywalka-Regular.ttf\",\"target\":\"_blank\"}},[_vm._v(\"here’s the glyphs tab with Rywalka loaded\")]),_vm._v(\" (opens in a new tab).\")]),_c('p',[_vm._v(\"To do this, add a \"),_c('code',[_vm._v(\"preload\")]),_vm._v(\" query parameter with the URL of your font file, for example \"),_c('code',[_vm._v(\"?preload=https://example.com/Font.ttf\")]),_vm._v(\", to the end of the page URL.\")]),_c('p',[_vm._v(\"You can even add multiple files by separating each parameter with \"),_c('code',[_vm._v(\"&\")]),_vm._v(\", for example \"),_c('code',[_vm._v(\"?preload=URL1&preload=URL2&preload=URL3\")]),_vm._v(\".\")]),_c('p',[_vm._v(\"When preloading mutliple font URLs, you can set an additional \"),_c('code',[_vm._v(\"f\")]),_vm._v(\" parameter with the name of the font to display by default. The other fonts will be available from the drop-down fonts menu. Here’s a full example:\")]),_c('pre',[_c('code',[_vm._v(\"https://bulletproof.italic.space/ABCs?preload=https://bulletproof.italic.space/fonts/Rywalka-\\nRegular.ttf&preload=https://bulletproof.italic.space/fonts/Graduate.ttf&f=Rywalka\\n\")])]),_c('p',[_vm._v(\"This will open the ABCs tab, preload Rywalka and Graduate to the fonts menu, and set Rywalka as the initially displayed font.\")]),_c('hr'),_c('h3',[_vm._v(\"Notes\")]),_c('ul',[_c('li',[_vm._v(\"Your font must be served over HTTPS, otherwise it will fail to load.\")]),_c('li',[_vm._v(\"Currently Bulletproof supports loading TTF, OTF, and WOFF font files, but not WOFF2.\")])])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./QueryString.md?vue&type=template&id=343690b6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./QueryString.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./QueryString.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QueryString.vue?vue&type=template&id=631cfacf&\"\nimport script from \"./QueryString.vue?vue&type=script&lang=js&\"\nexport * from \"./QueryString.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-tester\",style:(`padding-top: ${this.expandedMenu === 'fontMenu' ? '90px' : 0};`)},[_c('transition',{attrs:{\"name\":\"fade-slow\",\"mode\":\"in-out\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fontLoading),expression:\"!fontLoading\"}],staticClass:\"font-tester-content\"},[_c('Pinnable',{staticClass:\"site-sidebar sidebar-settings left\",attrs:{\"title\":\"Settings\",\"isPinned\":_vm.isPinned,\"isVisible\":_vm.settingsPanelVisible,\"trigger\":\"#settings-trigger\"},on:{\"toggle\":function($event){return _vm.$store.commit('toggleSettingsPanel')},\"hide\":function($event){return _vm.$store.commit('toggleSettingsPanel', {value: false})}}},[_c('Settings')],1),(_vm.selectedSampleKey === 'languages')?_c('LanguageSupportSummary',{attrs:{\"languageSupport\":\"languageSupport\"}}):_c('TesterBody',{staticClass:\"main\",attrs:{\"texts\":_vm.fontSampleTexts,\"isCustom\":_vm.selectedTextKind === 'custom'},on:{\"update\":e => _vm.modifyText(e)}}),_c('Pinnable',{staticClass:\"site-sidebar sidebar-nav right\",attrs:{\"title\":_vm.navElementTitle,\"isPinned\":_vm.isPinned,\"isVisible\":_vm.contextualPanelVisible,\"scrolled\":false,\"trigger\":\"#nav-trigger\"},on:{\"toggle\":function($event){return _vm.$store.commit('toggleContextualPanel')},\"hide\":function($event){return _vm.$store.commit('toggleContextualPanel', {value: false})}}},[_c('div',{staticClass:\"transition-wrapper u-flex-v\",staticStyle:{\"overflow\":\"hidden\"}},[_c('transition',{attrs:{\"name\":\"swap\"}},[_c(_vm.navElement,{key:_vm.navElementTitle,tag:\"component\"})],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.forceInvisible && _vm.isVisible)?_c('div',{class:`\n pinnable ${_vm.pinned ? 'pinned' : ''}\n ${!_vm.footerVisible && _vm.sticky ? 'sticky' : ''}\n ${_vm.footerNear ? 'footer-near' : ''}\n ${_vm.footerNearer ? 'footer-nearer' : ''}\n ${_vm.triggerHover ? 'trigger-hover' : ''}\n ${_vm.scrolled ? 'pinnable-scrolled' : ''}\n `},[(_vm.title)?_c('div',{staticClass:\"titlebar\"},[_c('h2',[_vm._v(_vm._s(_vm.title))]),_c('UiIconButton',{class:`pin ${_vm.pinned ? 'active' : ''}`,attrs:{\"size\":\"small\"},on:{\"click\":_vm.togglePinPanel}},[_c('svg',{staticStyle:{\"width\":\"24px\",\"height\":\"24px\"},attrs:{\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z\"}})])])],1):_vm._e(),(_vm.scrolled)?_c('div',{staticClass:\"content\"},[_c('div',{ref:\"scrolled\",class:`scrolled ${_vm.disableOverscroll ? 'disable-overscroll' : ''}`,on:{\"wheel\":_vm.onWheel}},[_vm._t(\"default\")],2)]):_vm._t(\"default\")],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Pinnable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pinnable.vue?vue&type=template&id=82a5684e&scoped=true&\"\nimport script from \"./Pinnable.vue?vue&type=script&lang=js&\"\nexport * from \"./Pinnable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pinnable.vue?vue&type=style&index=0&id=82a5684e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"82a5684e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings\"},[_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Font size\")]),_c('UiNumber',{ref:\"settingFontSize\",attrs:{\"value\":_vm.settings.fontSize,\"min\":_vm.settings.minFontSize,\"max\":_vm.settings.maxFontSize,\"step\":_vm.settings.fontSizeStep,\"clickStep\":_vm.settings.fontSizeClickStep},on:{\"input\":v => _vm.updateSetting('updateSettings', { fontSize: v })}}),_c('UiSelect',{ref:\"settingFontSizeUnit\",staticClass:\"const3ch fontSizeUnitSelect\",attrs:{\"value\":_vm.settings.fontSizeUnit,\"options\":_vm.settings.fontSizeUnitOptions},on:{\"input\":v => _vm.updateSetting('updateSettings', { fontSizeUnit: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('UiTextbox',{ref:\"settingWaterfallSizes\",attrs:{\"value\":_vm.settings.waterfallSizes,\"disabled\":!_vm.settings.enableWaterfall},on:{\"input\":v => _vm.updateSetting('updateSettings', { waterfallSizes: v })}}),_c('UiCheckbox',{ref:\"settingEnableWaterfall\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableWaterfall},on:{\"input\":v => _vm.updateSetting('updateSettings', { enableWaterfall: v })}},[_vm._v(\"waterfall\")])],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Line height\")]),_c('UiNumber',{ref:\"settingLineHeight\",attrs:{\"value\":_vm.settings.lineHeight,\"min\":_vm.settings.minLineHeight,\"max\":_vm.settings.maxLineHeight,\"step\":_vm.settings.lineHeightStep,\"clickStep\":_vm.settings.lineHeightClickStep,\"disabled\":!_vm.settings.enableLineHeight},on:{\"input\":v => _vm.updateSetting('updateSettings', { lineHeight: v })}}),_c('UiCheckbox',{ref:\"settingDefaultLineHeight\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableLineHeight},on:{\"input\":v => _vm.updateSetting('updateSettings', { enableLineHeight: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Tracking\")]),_c('UiNumber',{ref:\"settingTracking\",attrs:{\"value\":_vm.settings.tracking,\"min\":_vm.settings.minTracking,\"max\":_vm.settings.maxTracking,\"step\":_vm.settings.trackingStep,\"clickStep\":_vm.settings.trackingClickStep,\"disabled\":!_vm.settings.enableTracking},on:{\"input\":v => _vm.updateSetting('updateSettings', { tracking: v })}}),_c('UiCheckbox',{ref:\"settingDefaultTracking\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableTracking},on:{\"input\":v => _vm.updateSetting('updateSettings', { enableTracking: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Word spacing\")]),_c('UiNumber',{attrs:{\"value\":_vm.settings.wordSpacing,\"min\":_vm.settings.minWordSpacing,\"max\":_vm.settings.maxWordSpacing,\"step\":_vm.settings.wordSpacingStep,\"clickStep\":_vm.settings.wordSpacingStep,\"disabled\":!_vm.settings.enableWordSpacing},on:{\"input\":v => _vm.updateSetting('updateSettings', { wordSpacing: v })}}),_c('UiCheckbox',{staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableWordSpacing},on:{\"input\":v => _vm.updateSetting('updateSettings', { enableWordSpacing: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Text align\")]),_c('UiSelect',{ref:\"settingTextAlign\",attrs:{\"value\":_vm.settings.textAlign,\"options\":_vm.settings.textAlignOptions},on:{\"input\":v => _vm.updateSetting('updateSettings', { textAlign: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Text color\")]),_c('UiColorPicker',{ref:\"settingTextColor\",attrs:{\"value\":_vm.settings.textColor},on:{\"input\":v => _vm.updateSetting('updateSettings', { textColor: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Back color\")]),_c('UiColorPicker',{ref:\"settingBackgroundColor\",attrs:{\"value\":_vm.settings.backgroundColor},on:{\"input\":v => _vm.updateSetting('updateSettings', { backgroundColor: v })}})],1),_c('div',{staticClass:\"row busy\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Transform\")]),_c('UiSelect',{ref:\"settingTextTransform\",attrs:{\"value\":_vm.settings.textTransform,\"options\":_vm.settings.textTransformOptions},on:{\"input\":v => _vm.updateSetting('updateSettings', { textTransform: v })}}),_c('UiCheckbox',{ref:\"settingEnableTextTransform\",staticClass:\"checkbox-small\",attrs:{\"value\":_vm.settings.enableTextTransform},on:{\"input\":v => _vm.updateSetting('updateSettings', { enableTextTransform: v })}})],1),_c('div',{staticClass:\"row row-check\"},[_c('UiCheckbox',{ref:\"settingWrapLines\",attrs:{\"label\":\"Break-word\",\"value\":_vm.settings.wrapLines},on:{\"input\":v => _vm.updateSetting('updateSettings', { wrapLines: v })}})],1),(_vm.capFeatures.length > 0)?_c('h3',[_vm._v(\"Caps\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.capFeatures),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v })}},[_vm._v(_vm._s(feature.name))])],1)}),0),(_vm.localization)?_c('h3',{staticClass:\"row-select-header\"},[_vm._v(\"Localization\")]):_vm._e(),(_vm.localization)?_c('div',{staticClass:\"setting-group\"},[_c('div',{staticClass:\"row row-select\"},[_c('UiSelect',{attrs:{\"value\":_vm.localizationLanguage,\"options\":_vm.localizationLanguages,\"keys\":_vm.loclSelectKeys,\"placeholder\":\"select language\",\"invalid\":_vm.isLocalizationInvalid,\"disabled\":_vm.onGotchasTab},on:{\"input\":v => _vm.updateSetting('updateLoclFeature', { selectedLanguage: v })},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return _c('div',{staticClass:\"locl-select__option\"},[_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(props.option.name))]),(props.option.name !== props.option.tag)?_c('div',{staticClass:\"tag\"},[_vm._v(\"(\"+_vm._s(props.option.tag)+\")\")]):_vm._e()])}}],null,false,3090818932)}),_c('UiCheckbox',{staticClass:\"checkbox-small\",attrs:{\"value\":_vm.localization.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: 'locl', value: v })}})],1)]):_vm._e(),(_vm.numberFeatures.length > 0)?_c('h3',[_vm._v(\"Numbers\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},[_c('div',{staticClass:\"row\"},[(!!(_vm.pnum && _vm.tnum))?_c('UiRadioGroup',{attrs:{\"name\":\"figureWidth\",\"options\":_vm.figureWidths,\"vertical\":true},model:{value:(_vm.figureWidth),callback:function ($$v) {_vm.figureWidth=$$v},expression:\"figureWidth\"}}):_vm._e(),(!!(_vm.lnum && _vm.onum))?_c('UiRadioGroup',{attrs:{\"name\":\"figureHeight\",\"options\":_vm.figureHeights,\"vertical\":true},model:{value:(_vm.figureHeight),callback:function ($$v) {_vm.figureHeight=$$v},expression:\"figureHeight\"}}):_vm._e()],1),_vm._l((_vm.numberFeatures),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v })}},[_vm._v(_vm._s(feature.name))])],1)})],2),(_vm.stylisticSets.length > 0)?_c('h3',[_vm._v(\"Stylistic Sets\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.stylisticSets),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v })}},[(feature.uiName)?[_c('strong',[_vm._v(_vm._s(feature.tag))]),_vm._v(\" \"+_vm._s(feature.uiName))]:[_vm._v(_vm._s(feature.name))]],2)],1)}),0),(_vm.characterVariants.length > 0)?_c('h3',[_vm._v(\"Character Variants\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.characterVariants),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v })}},[(feature.uiName)?[_c('strong',[_vm._v(_vm._s(feature.tag))]),_vm._v(\" \"+_vm._s(feature.uiName))]:[_vm._v(_vm._s(feature.name))]],2)],1)}),0),(_vm.otherGsub.length > 0)?_c('h3',[_vm._v(\"Other GSUB\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.otherGsub),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGsubFeature', { tag: feature.tag, value: v })}},[_vm._v(_vm._s(feature.name))])],1)}),0),(_vm.activeGpos.length > 0)?_c('h3',[_vm._v(\"GPOS\")]):_vm._e(),_c('div',{staticClass:\"setting-group\"},_vm._l((_vm.activeGpos),function(feature,key){return _c('div',{key:key,staticClass:\"row\"},[_c('UiCheckbox',{attrs:{\"value\":feature.value},on:{\"input\":v => _vm.updateSetting('updateGposFeature', { tag: feature.tag, value: v })}},[_vm._v(_vm._s(feature.name))])],1)}),0),_c('h3',[_vm._v(\"Variation axes\")]),_c('div',{staticClass:\"setting-group\"},[(_vm.variationAxes.length === 0)?_c('div',{staticClass:\"notice\"},[_vm._v(\" The selected font is not variable. \")]):_vm._e(),_vm._l((_vm.variationAxes),function(axis,key){return _c('div',{key:key},[_c('div',{staticClass:\"row\",staticStyle:{\"align-items\":\"center\"}},[_c('UiCheckbox',{staticStyle:{\"margin-bottom\":\"0\",\"margin-right\":\".8em\"},attrs:{\"label\":axis.displayName,\"value\":axis.enabled},on:{\"input\":v => _vm.updateSetting('updateVariationAxis', { tag: axis.tag, enabled: v })}}),_c('UiNumber',{attrs:{\"value\":axis.value,\"min\":axis.minValue,\"max\":axis.maxValue,\"step\":axis.step},on:{\"input\":v => _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: v })}}),_c('UiButton',{staticClass:\"tiny\",on:{\"click\":function($event){return _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: axis.defaultValue })}}},[_c('svg',{class:'reset-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 -960 960 960\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M480-160q-133 0-226.5-93.5T160-480q0-133 93.5-226.5T480-800q85 0 149 34.5T740-671v-129h60v254H546v-60h168q-38-60-97-97t-137-37q-109 0-184.5 75.5T220-480q0 109 75.5 184.5T480-220q83 0 152-47.5T728-393h62q-29 105-115 169t-195 64z\"}})])])],1),_c('div',{staticClass:\"row\",staticStyle:{\"padding\":\".5em 0.3em .7em\"}},[_c('UiSlider',{staticStyle:{\"flex\":\"2\"},attrs:{\"value\":axis.value,\"min\":axis.minValue,\"max\":axis.maxValue,\"step\":axis.step,\"snapToStep\":true,\"showMarker\":false},on:{\"input\":v => _vm.updateSetting('updateVariationAxis', { tag: axis.tag, value: v })}})],1)])})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ui-slider\",class:_vm.classes,attrs:{\"role\":\"slider\",\"aria-valuemax\":_vm.moderatedMax,\"aria-valuemin\":_vm.moderatedMin,\"aria-valuenow\":_vm.localValue,\"tabindex\":_vm.disabled ? null : (_vm.tabindex || '0')},on:{\"blur\":_vm.onBlur,\"focus\":_vm.onFocus,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.decrementValue.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;$event.preventDefault();return _vm.decrementValue.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;$event.preventDefault();return _vm.incrementValue.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.incrementValue.apply(null, arguments)}]}},[(_vm.name)?_c('input',{staticClass:\"ui-slider__hidden-input\",attrs:{\"type\":\"hidden\",\"name\":_vm.name},domProps:{\"value\":_vm.value}}):_vm._e(),(_vm.hasIcon)?_c('div',{staticClass:\"ui-slider__icon\"},[_vm._t(\"icon\",function(){return [_c('ui-icon',{attrs:{\"icon\":_vm.icon}})]})],2):_vm._e(),_c('div',{ref:\"track\",staticClass:\"ui-slider__track\",on:{\"mousedown\":_vm.onDragStart,\"touchstart\":_vm.onDragStart}},[_c('div',{staticClass:\"ui-slider__track-background\"},_vm._l((_vm.snapPoints),function(point){return (_vm.snapToSteps)?_c('span',{staticClass:\"ui-slider__snap-point\",style:({ left: 100 * _vm.relativeValue(point) + '%' })}):_vm._e()}),0),_c('div',{staticClass:\"ui-slider__track-fill\",style:(_vm.fillStyle)}),_c('div',{ref:\"thumb\",staticClass:\"ui-slider__thumb\",style:(_vm.thumbStyle)},[(_vm.showMarker)?_c('div',{staticClass:\"ui-slider__marker\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"36\",\"height\":\"36\"}},[_c('path',{attrs:{\"d\":\"M11 .5c-1.7.2-3.4.9-4.7 2-1.1.9-2 2-2.5 3.2-1.2 2.4-1.2 5.1-.1 7.7 1.1 2.6 2.8 5 5.3 7.5 1.2 1.2 2.8 2.7 3 2.7 0 0 .3-.2.6-.5 3.2-2.7 5.6-5.6 7.1-8.5.8-1.5 1.1-2.6 1.3-3.8.2-1.4 0-2.9-.5-4.3-1.2-3.2-4.1-5.4-7.5-5.8-.5-.2-1.5-.2-2-.2z\"}})]),_c('span',{staticClass:\"ui-slider__marker-text\"},[_vm._v(_vm._s(_vm.markerText))])]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSlider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiSlider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiSlider.vue?vue&type=template&id=5367bd16&scoped=true&\"\nimport script from \"./UiSlider.vue?vue&type=script&lang=js&\"\nexport * from \"./UiSlider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiSlider.vue?vue&type=style&index=0&id=5367bd16&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5367bd16\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ui-textbox ui-number\",class:_vm.classes,on:{\"dblclick\":function($event){$event.preventDefault();}}},[(_vm.icon || _vm.$slots.icon)?_c('div',{staticClass:\"ui-textbox__icon-wrapper\"},[_vm._t(\"icon\",function(){return [_c('ui-icon',{attrs:{\"icon\":_vm.icon}})]})],2):_vm._e(),_c('div',{staticClass:\"ui-textbox__content\"},[_c('label',{staticClass:\"ui-textbox__label\"},[_c('div',{staticClass:\"ui-textbox__input-wrapper\"},[_c('input',{directives:[{name:\"autofocus\",rawName:\"v-autofocus\",value:(_vm.autofocus),expression:\"autofocus\"}],ref:\"input\",staticClass:\"ui-textbox__input\",attrs:{\"autocomplete\":_vm.autocomplete ? _vm.autocomplete : null,\"disabled\":_vm.disabled,\"inputmode\":\"decimal\",\"max\":_vm.maxValue,\"maxlength\":_vm.enforceMaxlength ? _vm.maxlength : null,\"minlength\":_vm.minlength,\"min\":_vm.minValue,\"name\":_vm.name,\"number\":_vm.type === 'number' ? true : null,\"placeholder\":_vm.hasFloatingLabel ? null : _vm.placeholder,\"readonly\":_vm.readonly,\"required\":_vm.required,\"tabindex\":_vm.tabindex},domProps:{\"value\":_vm.displayedText != null ? _vm.displayedText : _vm.value},on:{\"blur\":_vm.onBlur2,\"focus\":_vm.onFocus,\"change\":function($event){return _vm.updateValue($event.target.value)},\"input\":function($event){return _vm.updateValue($event.target.value)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.onKeydownEnter.apply(null, arguments)},_vm.onKeydown,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;return ($event => _vm.increment(1, $event)).apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;return ($event => _vm.increment(-1, $event)).apply(null, arguments)}]}}),_c('UiIconButton',{staticClass:\"ui-number__button up ui-select__dropdown-button\",attrs:{\"disabled\":_vm.disabled},nativeOn:{\"mousedown\":function($event){return _vm.startIncrement.apply(null, arguments)},\"mouseleave\":function($event){return _vm.endIncrementDecrement.apply(null, arguments)},\"mouseup\":function($event){return _vm.endIncrementDecrement.apply(null, arguments)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"transform\":\"translate(0 24) scale(1 -1) translate(0 -1)\",\"d\":\"M6.984 9.984h10.03L12 15z\"}})])]),_c('UiIconButton',{staticClass:\"ui-number__button down ui-select__dropdown-button\",attrs:{\"disabled\":_vm.disabled},nativeOn:{\"mousedown\":function($event){return _vm.startDecrement.apply(null, arguments)},\"mouseleave\":function($event){return _vm.endIncrementDecrement.apply(null, arguments)},\"mouseup\":function($event){return _vm.endIncrementDecrement.apply(null, arguments)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"transform\":\"translate(0 -1)\",\"d\":\"M6.984 9.984h10.03L12 15z\"}})])])],1),(_vm.label || _vm.$slots.default)?_c('div',{staticClass:\"ui-textbox__label-text\",class:_vm.labelClasses},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.label))]})],2):_vm._e()]),(_vm.hasFeedback || _vm.maxlength)?_c('div',{staticClass:\"ui-textbox__feedback\"},[(_vm.showError)?_c('div',{staticClass:\"ui-textbox__feedback-text\"},[_vm._t(\"error\",function(){return [_vm._v(_vm._s(_vm.error))]})],2):(_vm.showHelp)?_c('div',{staticClass:\"ui-textbox__feedback-text\"},[_vm._t(\"help\",function(){return [_vm._v(_vm._s(_vm.help))]})],2):_vm._e(),(_vm.maxlength)?_c('div',{staticClass:\"ui-textbox__counter\"},[_vm._v(_vm._s(_vm.valueLength + \"/\" + _vm.maxlength))]):_vm._e()]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiNumber.vue?vue&type=template&id=7af82180&scoped=true&\"\nimport script from \"./UiNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./UiNumber.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiNumber.vue?vue&type=style&index=0&id=7af82180&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7af82180\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ui-color-picker popover-trigger\"},[_c('div',{staticClass:\"swatch\",style:(`background-color: ${_vm.value}`)},[_vm._v(\" \")]),_c('ui-textbox',{ref:\"input\",attrs:{\"label\":_vm.label,\"icon\":_vm.icon,\"help\":_vm.help},on:{\"input\":_vm.updateFromInput},model:{value:(_vm.textValue),callback:function ($$v) {_vm.textValue=$$v},expression:\"textValue\"}}),_c('ui-popover',{ref:\"popover\",staticClass:\"popover\",attrs:{\"position\":\"bottom-start\",\"constrainToScrollParent\":false},on:{\"reveal\":function($event){return _vm.$refs.input.focus()}}},[_c('sketch-picker',{attrs:{\"value\":_vm.colorValue,\"disableFields\":true},on:{\"input\":_vm.updateFromPicker}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiColorPicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiColorPicker.vue?vue&type=template&id=50a2c3f2&scoped=true&\"\nimport script from \"./UiColorPicker.vue?vue&type=script&lang=js&\"\nexport * from \"./UiColorPicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiColorPicker.vue?vue&type=style&index=0&id=50a2c3f2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50a2c3f2\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=030b7c31&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=030b7c31&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"030b7c31\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`tester-body ${_vm.isGotchas ? 'gotchas' : ''}`,style:(`background: ${_vm.settings.backgroundColor};`)},[(_vm.selectedSampleKey === 'glyphs')?[_vm._v(\"This page only lists encoded glyphs.\")]:_vm._e(),(!_vm.isCustom)?_vm._l((_vm.texts),function(item,i){return _c('div',{key:i},[(_vm.selectedSampleKey === 'gotchas')?_c('GotchaHeader',{attrs:{\"header\":item.header}}):(item.header && item.header.language)?_c('SampleHeader',{attrs:{\"header\":item.header}}):_vm._e(),_vm._l((item.texts),function(text,j){return _c('FontSample',{key:j,attrs:{\"lang\":_vm.selectedLoclLanguage || item.header && item.header.htmlTag}},_vm._l((_vm.fontSizes),function(size,k){return _c('div',{key:k,staticClass:\"sample-paragraph\"},[(_vm.fontSizes.length > 1)?_c('div',{staticClass:\"font-size-label\"},[_vm._v(_vm._s(size))]):_vm._e(),_c('div',{style:({ 'font-size': `${size}${_vm.settings.fontSizeUnit}` }),attrs:{\"contenteditable\":_vm.isContentEditable,\"spellcheck\":\"false\"},domProps:{\"innerHTML\":_vm._s(_vm.transformText(text, item.header && item.header.htmlTag))},on:{\"focus\":_vm.onFocus}})])}),0)})],2)}):_c('FontSample',{attrs:{\"lang\":_vm.selectedLoclLanguage}},_vm._l((_vm.fontSizes),function(size,k){return _c('div',{key:k,staticClass:\"sample-paragraph\"},[(_vm.fontSizes.length > 1)?_c('div',{staticClass:\"font-size-label\"},[_vm._v(_vm._s(size))]):_vm._e(),_c('div',{ref:\"content\",refInFor:true,staticClass:\"font-sample-content-inner\",style:({ 'font-size': `${size}${_vm.settings.fontSizeUnit}` }),attrs:{\"contenteditable\":\"\",\"spellcheck\":\"false\"},on:{\"input\":_vm.onInput,\"focus\":_vm.onFocus}})])}),0)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-sample\",style:(`\n color: ${_vm.settings.textColor};\n background: ${_vm.settings.backgroundColor};\n line-height: ${_vm.settings.enableLineHeight ? _vm.settings.lineHeight : ''};\n letter-spacing: ${_vm.settings.enableTracking ? _vm.settings.tracking : '0'}em;\n word-spacing: ${_vm.settings.enableWordSpacing ? _vm.settings.wordSpacing : '0'}em;\n text-align: ${_vm.settings.textAlign};\n text-transform: ${_vm.settings.enableTextTransform ? _vm.settings.textTransform : 'none'};\n font-feature-settings: ${ _vm.fontFeatureSettings };\n font-variation-settings: ${ _vm.fontVariationSettings };\n font-weight: ${ _vm.fontWeight };\n --font-weight: ${ _vm.fontWeight };\n font-style: ${ _vm.fontStyle };\n `)},[_c('div',{staticClass:\"font-sample-content\",style:({\n 'word-break': _vm.settings.wrapLines ? 'break-all' : 'normal',\n })},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSample.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSample.vue?vue&type=template&id=36953751&\"\nimport script from \"./FontSample.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSample.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSample.vue?vue&type=style&index=0&id=36953751&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-flex\"},[_c('h3',{attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.language))]),(_vm.header.opentypeTag)?_c('div',[_c('span',{staticClass:\"light\"},[_vm._v(\"OT code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.opentypeTag.padEnd(4, ' '))+\" \")]),_c('span',{staticClass:\"light\"},[_vm._v(\"HTML code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.htmlTag))])]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.printNumber(_vm.header.speakers))+\" speakers\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function fNum(n) { return n > 1000000 ? n/1000000 + 'M' : n > 9999 ? n/1000 + 'K' : n; };\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SampleHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SampleHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SampleHeader.vue?vue&type=template&id=52cde21e&scoped=true&\"\nimport script from \"./SampleHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./SampleHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52cde21e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-flex\"},[_c('h3',{staticClass:\"topic\",attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.topic))]),(_vm.header.description)?_c('UiButton',{staticClass:\"btn\",attrs:{\"color\":\"none\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"height\":'18',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('UiTooltip',{staticClass:\"description-tooltip\",attrs:{\"openOn\":\"click\",\"interactive\":true},domProps:{\"innerHTML\":_vm._s(_vm.header.description || '(no description)')}})],1):_vm._e(),_c('div',{staticClass:\"tags\"},_vm._l((_vm.header.tags),function(t,i){return _c('span',{key:i},[_vm._v(_vm._s(t))])}),0),_c('h3',{staticClass:\"language\",attrs:{\"id\":_vm.header.langId}},[_vm._v(_vm._s(_vm.header.language))]),(_vm.header.opentypeTag)?_c('div',{staticClass:\"language-codes\"},[_c('span',{staticClass:\"light\"},[_vm._v(\"OT code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.opentypeTag.padEnd(4, ' '))+\" \")]),_c('span',{staticClass:\"light\"},[_vm._v(\"HTML code: \")]),_c('code',[_vm._v(_vm._s(_vm.header.htmlTag))])]):_vm._e(),_c('div',{staticClass:\"language-speakers\"},[_vm._v(_vm._s(_vm.printNumber(_vm.header.speakers))+\" speakers\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GotchaHeader.vue?vue&type=template&id=6bcea090&scoped=true&\"\nimport script from \"./GotchaHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./GotchaHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GotchaHeader.vue?vue&type=style&index=0&id=6bcea090&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bcea090\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./TesterBody.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TesterBody.vue?vue&type=template&id=7ec1963b&\"\nimport script from \"./TesterBody.vue?vue&type=script&lang=js&\"\nexport * from \"./TesterBody.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TesterBody.vue?vue&type=style&index=0&id=7ec1963b&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language-sidebar contextual-sidebar\",on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;return _vm.nextAnchor.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;return _vm.previousAnchor.apply(null, arguments)}],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.goToAnchor.apply(null, arguments)}}},[_c('div',{staticClass:\"row row-filter\"},[_c('label',{staticClass:\"row-label\",staticStyle:{\"min-width\":\"0\"}},[_vm._v(\"Search\")]),_c('UiTextbox',{ref:\"filterTextbox\",class:_vm.languageFilter ? 'filter-textbox' : '',model:{value:(_vm.languageFilter),callback:function ($$v) {_vm.languageFilter=$$v},expression:\"languageFilter\"}}),_c('UiIconButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.languageFilter),expression:\"languageFilter\"}],staticClass:\"btn-clear\",attrs:{\"color\":\"primary\"},on:{\"click\":_vm.clearFilter,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.stopPropagation();}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"stroke\":\"currentColor\",\"stroke-width\":\"1.2\",\"d\":\"M18.3 5.71a.996.996 0 00-1.41 0L12 10.59 7.11 5.7A.996.996 0 105.7 7.11L10.59 12 5.7 16.89a.996.996 0 101.41 1.41L12 13.41l4.89 4.89a.996.996 0 101.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z\"}})])])],1),_c('div',{staticClass:\"row row-filter\"},[_c('label',{staticClass:\"row-label\",staticStyle:{\"min-width\":\"0\"}},[_vm._v(\"Scripts\")]),_c('UiSelect',{attrs:{\"multiple\":true,\"options\":_vm.scripts,\"keys\":{\n class: 'class', image: 'image', label: 'script'\n },\"value\":_vm.scripts.filter(s => s.isSelected)},on:{\"input\":values => _vm.selectScripts({ values })}})],1),_c('div',{staticClass:\"row row-filter\"},[_c('UiCheckbox',{attrs:{\"value\":_vm.anySelected,\"label\":_vm.anySelected ? 'clear all' : 'select all'},on:{\"input\":checked => _vm.selectDeselectAllLanguages({ checked })}})],1),_c('div',{staticClass:\"language-list\"},[_c('div',{ref:\"scrolled\",staticClass:\"scrolled\",attrs:{\"tabindex\":\"-1\"},on:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();}]}},_vm._l((_vm.filteredLanguages),function(language,i){return _c('div',{key:i,staticClass:\"language-item\",class:{ 'has-text': language.hasText }},[_c('UiCheckbox',{attrs:{\"value\":language.isSelected,\"tabindex\":\"-1\"},on:{\"input\":v => _vm.toggleLanguage(language.id, v)}}),_c('a',{class:`language-link ${language.isSelected ? '' : 'disabled'}`,attrs:{\"href\":`#${language.language}-${language.id}`,\"tabindex\":i > 0 ? -1 : 0},on:{\"focus\":e => i === 0 ? _vm.highlightAnchor(e) : '',\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.preventDefault();return _vm.toggleLanguage(language.id, !language.isSelected)}}},[_vm._v(\" \"+_vm._s(language.language)+\" \")])],1)}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport default function fireEvent(element, eventName) {\n var event = document.createEvent(\"HTMLEvents\");\n event.initEvent(eventName, true, false);\n element.dispatchEvent(event);\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageNav.vue?vue&type=template&id=1b3d2b4c&scoped=true&\"\nimport script from \"./LanguageNav.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageNav.vue?vue&type=style&index=0&id=1b3d2b4c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b3d2b4c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"kerning-nav contextual-sidebar u-flex-v\"},[_c('div',[_c('div',{staticClass:\"scrolled\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('KerningEditor',{key:\"pattern-editor\",attrs:{\"segments\":_vm.segments},on:{\"addKerningSegment\":_vm.addKerningSegment,\"removeKerningSegment\":i => _vm.removeKerningSegment(i),\"updateKerningPattern\":_vm.updateKerningPattern}}),_c('div',{key:\"pattern-list\",staticClass:\"nav panel\"},[_c('transition-group',{staticClass:\"fade-transition-group\",attrs:{\"name\":\"fade\",\"tag\":\"div\"}},[_c('div',{key:\"heading\",staticClass:\"row\"},[_c('h3',[_vm._v(\"Patterns\")]),_c('UiIconButton',{attrs:{\"color\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.addKerningPattern}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1),_vm._l((_vm.kerningPatterns),function(pattern){return _c('div',{key:`pattern-${pattern.id}`,class:`kerning-pattern ${_vm.selectedPatternId === pattern.id ? 'selected' : ''}`},[_c('UiCheckbox',{attrs:{\"value\":pattern.isVisible},on:{\"input\":v => _vm.toggleKerningPattern(pattern.id, v)}}),_c('a',{staticClass:\"link\",attrs:{\"href\":`#${pattern.id}`,\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.selectPattern(pattern.id)}}},[_c('kbd',{attrs:{\"title\":pattern.id},domProps:{\"innerHTML\":_vm._s(_vm.formatPatternId(pattern.name || 'new pattern'))}})]),_c('UiIconButton',{staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.removeKerningPattern(pattern.id)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],1)}),_c('div',{key:\"revertBtn\",staticClass:\"btn-group\"},[_c('UiButton',{attrs:{\"color\":\"default\"},on:{\"click\":_vm.revertKerningPatterns}},[_vm._v(\"Revert\")]),_c('UiButton',{attrs:{\"color\":\"default\",\"disabled\":_vm.kerningPatterns.length === 0},on:{\"click\":_vm.clearKerningPatterns}},[_vm._v(\"Clear\")])],1)],2)],1),_c('a',{key:\"help\",staticClass:\"help-link\",attrs:{\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"href\":\"/help/kerning\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('span',[_vm._v(\" Help \")])])],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KerningNav.vue?vue&type=template&id=002f2e82&scoped=true&\"\nimport script from \"./KerningNav.vue?vue&type=script&lang=js&\"\nexport * from \"./KerningNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KerningNav.vue?vue&type=style&index=0&id=002f2e82&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"002f2e82\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language-support-summary\"},[_c('v-style',[_vm._v(\" .glyph { font-size: \"+_vm._s(_vm.settings.fontSize)+_vm._s(_vm.settings.fontSizeUnit)+\"; } \")]),_c('div',{staticClass:\"main-column\"},[_c('div',[_c('p',[_vm._v(\" Font supports \"),_c('strong',[_vm._v(_vm._s(_vm.languageSupport.supportedLanguages.length))]),_vm._v(\" out of \"),_c('strong',[_vm._v(_vm._s(_vm.languageSupport.languages.length))]),_vm._v(\" listed languages. \")]),_c('h2',[_vm._v(\" Supported languages \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.supportedLanguagesSortingOptions},model:{value:(_vm.supportedLanguagesSorting),callback:function ($$v) {_vm.supportedLanguagesSorting=$$v},expression:\"supportedLanguagesSorting\"}})],1),_c('LanguageList',{attrs:{\"languages\":_vm.supportedLanguages},on:{\"select-language\":l => _vm.selectLanguage(l)}}),_c('h2',[_vm._v(\" Unsupported languages \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.unsupportedLanguagesSortingOptions},model:{value:(_vm.unsupportedLanguagesSorting),callback:function ($$v) {_vm.unsupportedLanguagesSorting=$$v},expression:\"unsupportedLanguagesSorting\"}})],1),_c('LanguageList',{attrs:{\"languages\":_vm.unsupportedLanguages},on:{\"select-language\":l => _vm.selectLanguage(l)}}),_c('h2',[_vm._v(\" Missing characters \"),_c('UiSelect',{staticClass:\"inline\",attrs:{\"options\":_vm.missingCharacterSortingOptions},model:{value:(_vm.missingCharacterSorting),callback:function ($$v) {_vm.missingCharacterSorting=$$v},expression:\"missingCharacterSorting\"}})],1),_c('div',_vm._l((_vm.missingCharacters),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_vm._l((script.characters.filter(c => c.character.length === 1)),function(c,j){return _c('button',{key:j,class:`glyph support-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => c.speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character)+\" \")])})],2)}),0),_c('h2',[_vm._v(\" Missing character combinations by script \")]),_c('div',_vm._l((_vm.languageSupport.missingCharacterCombinationsByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_vm._l((script.characters),function(c,j){return _c('button',{key:j,class:`glyph support-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => c.speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character)+\" \")])})],2)}),0),_c('h2',[_vm._v(\" Included characters by script \")]),_c('div',_vm._l((_vm.languageSupport.includedCharactersByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_c('FontSample',_vm._l((script.characters.filter(c => c.character.length === 1)),function(c,j){return _c('div',{key:j,class:`glyph needed-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => c.speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)}),0),_c('h2',[_vm._v(\" Included character combinations by script \")]),_c('div',_vm._l((_vm.languageSupport.includedCharacterCombinationsByScript),function(script){return _c('div',{key:script.script},[_c('h3',[_vm._v(_vm._s(script.script))]),_c('FontSample',_vm._l((script.characters),function(c,j){return _c('div',{key:j,class:`glyph needed-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => c.speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)}),0),_c('h2',[_vm._v(\" All included characters \")]),_c('FontSample',_vm._l((_vm.languageSupport.fontCharacters),function(c,j){return _c('div',{key:j,class:`glyph needed-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => c.speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.selectCharacter(c)}}},[_vm._v(_vm._s(c.character))])}),0)],1)]),_c('Pinnable',{staticClass:\"sidebar\",attrs:{\"isPinned\":true,\"isVisible\":true,\"scrolled\":false}},[_c('div',{staticClass:\"language-character-sidebar\"},[(_vm.selectedCharacter)?_c('ScrollPanel',[_c('CharacterPanel',{attrs:{\"characterInfo\":_vm.selectedCharacter},on:{\"select-language\":l => _vm.selectLanguage(l)}})],1):_c('div',{staticClass:\"placeholder-info\"},[_vm._v(\" \"+_vm._s(_vm.languageSupport.characters.filter(c => !c.isMissing).length)+\" / \"+_vm._s(_vm.languageSupport.characters.length)+\" characters \")]),(_vm.selectedLanguage)?_c('ScrollPanel',[_c('LanguagePanel',{attrs:{\"lang\":_vm.selectedLanguage.htmlTag,\"languageInfo\":_vm.selectedLanguage,\"characters\":_vm.languageSupport.characters},on:{\"character-clicked\":c => _vm.selectCharacter(_vm.languageSupport.characters.find(cc => cc.character === c))}})],1):_c('div',{staticClass:\"placeholder-info\"},[_vm._v(\" \"+_vm._s(_vm.languageSupport.supportedLanguages.length)+\" / \"+_vm._s(_vm.languageSupport.languages.length)+\" languages \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"scroll-panel\"},[_c('div',[_c('div',{staticClass:\"content\"},[_vm._t(\"default\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ScrollPanel.vue?vue&type=template&id=3b227518&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language-panel\"},[_c('div',{staticClass:\"info-bar\"},[_c('strong',[_vm._v(_vm._s(_vm.languageInfo.language)+\" \")]),_c('div',[_c('label',[_vm._v(\"OpenType: \")]),_vm._v(\" \"),_c('code',[_vm._v(_vm._s(_vm.languageInfo.opentypeTag))])]),_c('div',[_c('label',[_vm._v(\"HTML: \")]),_vm._v(\" \"),_c('code',[_vm._v(_vm._s(_vm.languageInfo.htmlTag))])]),_c('a',{attrs:{\"href\":`https://en.wikipedia.org/wiki/${_vm.languageInfo.language.replace(/languages?$/,'_language')}`,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Wikipedia\")])]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.printNumber(_vm.languageInfo.speakers))+\" speakers\")])]),(_vm.languageInfo.missingCharacters.length)?_c('header',[_vm._v(\"missing characters\")]):_vm._e(),_c('div',{staticClass:\"glyphs\"},_vm._l((_vm.languageInfo.missingCharacters),function(c,j){return _c('button',{key:j,staticClass:\"glyph support-4\",on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c)+\" \")])}),0),(_vm.languageInfo.includedCharacters.length)?_c('header',[_vm._v(\"supported characters\")]):_vm._e(),_c('FontSample',_vm._l((_vm.languageInfo.includedCharacters),function(c,j){return _c('div',{key:j,class:`glyph needed-${\n 5 - [ 0, 20000, 600000, 2000000, 8000000 ].filter(limit => _vm.characters.find(ch => ch.character === c).speakers > limit).length\n }`,on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c))])}),0),(_vm.languageInfo.specialLetters.length != _vm.languageInfo.requiredCharacters.length)?_c('div',[_c('header',[_vm._v(\"letter units\")]),_c('FontSample',_vm._l((_vm.languageInfo.specialLetters),function(c,j){return _c('div',{key:j,staticClass:\"glyph\",on:{\"click\":function($event){return _vm.$emit('character-clicked', c)}}},[_vm._v(_vm._s(c))])}),0)],1):_vm._e(),(_vm.languageInfo.gotchas.length)?_c('div',[_c('header',[_vm._v(\"gotchas\")]),_c('div',{staticClass:\"gotchas\"},[_vm._l((_vm.languageInfo.gotchas),function(g,i){return _c('p',{key:i,domProps:{\"innerHTML\":_vm._s(`${g.topic}: ` + (g.description || g.tags.join(', ')))}})}),_c('p',[_c('router-link',{attrs:{\"to\":`/gotchas#${_vm.languageInfo.language}-${_vm.languageInfo.id}`}},[_vm._v(\" go to tests \")])],1)],2)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguagePanel.vue?vue&type=template&id=704de156&scoped=true&\"\nimport script from \"./LanguagePanel.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguagePanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguagePanel.vue?vue&type=style&index=0&id=704de156&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"704de156\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language-list\"},[_vm._l((_vm.languages),function(l){return _c('span',{key:l.language +'-'+ l.script,attrs:{\"lang\":l.htmlCode}},[_c('UiButton',{class:`language-button support-${Math.min(4, Math.ceil((l.missingCharacters || []).length / 5)) || 'full'}`,on:{\"click\":function($event){return _vm.$emit('select-language', l)}}},[_c('div',[_vm._v(\" \"+_vm._s(l.language)+\" \")]),(_vm.fields.indexOf('coverage') > -1)?_c('div',{staticClass:\"goals\"},[_vm._v(\" \"+_vm._s(l.includedCharacters.length)+\"/\"+_vm._s(l.requiredCharacters.length)+\" \")]):_vm._e(),(l.gotchas.length)?_c('div',{staticClass:\"gotcha-warning-icon\"},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"width\":\"18\",\"height\":\"18\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z\"}})])]):_vm._e()])],1)}),_c('UiButton',{on:{\"click\":_vm.copyList}},[_vm._v(\"copy list\")]),_c('textarea',{ref:\"list\",staticStyle:{\"position\":\"absolute\",\"left\":\"-9999px\"},domProps:{\"value\":_vm.languages.map(l => l.language).join(', ')}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageList.vue?vue&type=template&id=f2446db8&scoped=true&\"\nimport script from \"./LanguageList.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageList.vue?vue&type=style&index=0&id=f2446db8&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f2446db8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"character-panel\"},[_c('CharacterInfo',{attrs:{\"character\":_vm.characterInfo.character}}),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.printNumber(_vm.characterInfo.speakers)))]),_vm._v(\" speakers total\")]),(_vm.characterInfo.obligatoryLanguages)?_c('div',[_c('h4',[_vm._v(\"obligatory in \"+_vm._s(_vm.characterInfo.obligatoryLanguages.length)+\" languages\")]),_c('div',[_c('LanguageList',{attrs:{\"languages\":_vm.characterInfo.obligatoryLanguages,\"fields\":['coverage']},on:{\"select-language\":l => _vm.$emit('select-language', l)}})],1),_c('br'),_c('div',[_c('a',{attrs:{\"href\":_vm.wordFinderUrl,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"find words\")])])]):_vm._e(),(_vm.characterInfo.optionalLanguages)?_c('div',[(_vm.characterInfo.optionalLanguages.length)?_c('div',[_c('strong',[_vm._v(\"optional in \"+_vm._s(_vm.characterInfo.optionalLanguages.length)+\" languages\")])]):_vm._e(),_c('div',[_vm._v(\" \"+_vm._s(_vm.characterInfo.optionalLanguages.map(l => l.language + ` (${l.optionalCharactersNote})`).join(', '))+\" \")])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"character-info\"},[_c('div',{staticClass:\"character-font-preview\"},[_vm._v(_vm._s(_vm.character)+\" \")]),_c('div',{staticClass:\"info-bar\"},[_c('div',{staticStyle:{\"font-size\":\"2.5rem\"}},[_vm._v(_vm._s(_vm.characterRepresentation)+\" \")]),_c('div',[_vm._v(_vm._s(_vm.unicodes))]),_c('div',[_vm._v(_vm._s(_vm.glyphnames))]),_c('a',{attrs:{\"href\":`https://en.wikipedia.org/wiki/${ _vm.character }`,\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_vm._v(\"Wikipedia\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CharacterInfo.vue?vue&type=template&id=42b34de5&scoped=true&\"\nimport script from \"./CharacterInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./CharacterInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CharacterInfo.vue?vue&type=style&index=0&id=42b34de5&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42b34de5\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CharacterPanel.vue?vue&type=template&id=6c85dae4&scoped=true&\"\nimport script from \"./CharacterPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./CharacterPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CharacterPanel.vue?vue&type=style&index=0&id=6c85dae4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c85dae4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageSupportSummary.vue?vue&type=template&id=a49ceff2&\"\nimport script from \"./LanguageSupportSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSupportSummary.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSupportSummary.vue?vue&type=style&index=0&id=a49ceff2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-sample-nav contextual-sidebar\"},[_c('div',{staticClass:\"toolbar panel btn-group\"},[_c('UiIconButton',{attrs:{\"tooltip\":\"Heading\",\"color\":_vm.isHeadingActive ? 'primary' : 'default'},on:{\"click\":_vm.makeHeading}},[_vm._v(\" H \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Bold\",\"color\":_vm.isBoldActive ? 'primary' : 'default'},on:{\"click\":_vm.makeBold}},[_vm._v(\" B \")]),_c('UiIconButton',{attrs:{\"tooltip\":\"Italic\",\"color\":_vm.isItalicActive ? 'primary' : 'default'},on:{\"click\":_vm.makeItalic}},[_vm._v(\" I \")])],1),_c('div',{staticClass:\"nav-links\"},[_c('div',{staticClass:\"scrolled\"},[_c('div',{staticClass:\"nav panel\"},_vm._l((_vm.textHeadings),function(heading,i){return _c('div',{key:i},[_c('a',{staticClass:\"heading-link\",attrs:{\"href\":`#${heading.id}`}},[_vm._v(\" \"+_vm._s(heading.text)+\" \")])])}),0),_c('AnimationEditor')],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"animation-editor panel\"},[_c('h3',[_vm._v(\"Animation editor\")]),_c('div',{staticClass:\"row\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Duration\")]),_c('UiTextbox',{model:{value:(_vm.duration),callback:function ($$v) {_vm.duration=$$v},expression:\"duration\"}})],1),_c('EditableList',{staticClass:\"keyframes\",attrs:{\"options\":_vm.animationKeyframes,\"keys\":{key: 'id'}},on:{\"remove\":key => _vm.removeAnimationKeyframe({ id: key })},scopedSlots:_vm._u([{key:\"option\",fn:function({option: k, index: i}){return [_c('UiButton',{class:'keyframe border' + (k.id === _vm.activeKeyframeId ? ' active' : ''),attrs:{\"id\":`keyframe-btn-${k.id}`},on:{\"click\":function($event){return _vm.activateKeyframe({ id: k.id })}}},[_c('div',{staticClass:\"label\"},[_vm._v(\" Keyframe \"+_vm._s(k.id)+\" \")]),_c('UiProgressLinear',{attrs:{\"progress\":_vm.keyframeProgress[i],\"type\":\"determinate\"}})],1)]}},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"btn-group\"},[_c('UiButton',{on:{\"click\":_vm.addAnimationKeyframe}},[_vm._v(\" Add \")]),_c('UiButton',{attrs:{\"loading\":_vm.playing,\"disabled\":!_vm.canAnimate},on:{\"click\":_vm.play}},[_vm._v(\" Play \")])],1)]},proxy:true}])}),_c('div',{staticClass:\"row-v\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Code\")]),_c('UiTextbox',{attrs:{\"value\":_vm.keyframesText,\"multiLine\":true,\"rows\":5,\"autosize\":false},on:{\"input\":v => _vm.importAnimationKeyframes(v)}})],1),_c('div',{staticClass:\"row-v\"},[_c('label',{staticClass:\"row-label\"},[_vm._v(\"Animated\")]),_c('UiSelect',{attrs:{\"value\":_vm.animatedProperties,\"options\":_vm.animatableProperties,\"multiple\":true},on:{\"input\":properties => _vm.setAnimatedProperties({ properties })}})],1),_c('a',{key:\"help\",staticClass:\"help-link\",attrs:{\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"href\":\"/help/animation\"}},[_c('svg',{class:'help-icon',attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h24v24H0V0z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"}})]),_c('span',[_vm._v(\" Help \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"editable-list\"},[_c('transition-group',{attrs:{\"name\":\"fade\"}},[_c('div',{key:\"header\",staticClass:\"row\"},[_vm._t(\"header\")],2),_vm._l((_vm.options),function(o,i){return _c('div',{key:_vm.keys.key ? o[_vm.keys.key] : i,staticClass:\"editable-list-item\"},[(_vm.keys.checked)?_c('UiCheckbox',{attrs:{\"value\":o[_vm.keys.checked]},on:{\"input\":value => _vm.$emit('check', { key: o[_vm.keys.key], value })}}):_vm._e(),_vm._t(\"option\",function(){return [_vm._v(\" \"+_vm._s(_vm.keys.label ? o[_vm.keys.label] : o)+\" \")]},{\"option\":o,\"index\":i}),_c('UiIconButton',{staticClass:\"border\",attrs:{\"color\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$emit('remove', _vm.keys.key ? o[_vm.keys.key] : o)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M19 13H5v-2h14v2z\",\"fill\":\"currentColor\"}}),_c('path',{attrs:{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}})])])],2)}),_c('div',{key:\"footer\",staticClass:\"row\"},[_vm._t(\"footer\")],2)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditableList.vue?vue&type=template&id=69007cc0&scoped=true&\"\nimport script from \"./EditableList.vue?vue&type=script&lang=js&\"\nexport * from \"./EditableList.vue?vue&type=script&lang=js&\"\nimport style1 from \"./EditableList.vue?vue&type=style&index=1&id=69007cc0&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69007cc0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnimationEditor.vue?vue&type=template&id=0dcbafa4&scoped=true&\"\nimport script from \"./AnimationEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./AnimationEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AnimationEditor.vue?vue&type=style&index=0&id=0dcbafa4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0dcbafa4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontSampleNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontSampleNav.vue?vue&type=template&id=1ab2b246&scoped=true&\"\nimport script from \"./FontSampleNav.vue?vue&type=script&lang=js&\"\nexport * from \"./FontSampleNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontSampleNav.vue?vue&type=style&index=0&id=1ab2b246&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ab2b246\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FontTester.vue?vue&type=template&id=64e504be&scoped=true&\"\nimport script from \"./FontTester.vue?vue&type=script&lang=js&\"\nexport * from \"./FontTester.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FontTester.vue?vue&type=style&index=0&id=64e504be&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64e504be\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\n\nimport SiteHeader from \"@/viewparts/SiteHeader.vue\";\nimport SiteFooter from \"@/viewparts/SiteFooter.vue\";\nimport Home from \"@/views/Home.vue\";\nimport Help from \"@/views/Help.vue\";\nimport KerningHelp from \"@/views/KerningHelp.vue\";\nimport AnimationHelp from \"@/views/AnimationHelp.vue\";\nimport QueryString from \"@/views/QueryString.vue\";\nimport FontTester from \"@/views/FontTester.vue\";\n\nimport textKinds from \"@/models/textKinds\";\n\nVue.use(Router);\n\nconst router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n name: \"Home\",\n components: {\n header: SiteHeader,\n main: Home,\n footer: SiteFooter,\n },\n },\n { path: '/editor', redirect: '/custom' },\n {\n // parentheses enclose text kind RegExp\n path: `/:text(${textKinds.join(\"|\")}|custom)/:id?`,\n name: \"FontTester\",\n components: {\n header: SiteHeader,\n main: FontTester,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/kerning\",\n name: \"KerningHelp\",\n components: {\n header: SiteHeader,\n main: KerningHelp,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/animation\",\n name: \"AnimationHelp\",\n components: {\n header: SiteHeader,\n main: AnimationHelp,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help/query-string\",\n name: \"QueryString\",\n components: {\n header: SiteHeader,\n main: QueryString,\n footer: SiteFooter,\n },\n },\n {\n path: \"/help\",\n name: \"Help\",\n components: {\n header: SiteHeader,\n main: Help,\n footer: SiteFooter,\n },\n },\n ],\n});\n\n\nfunction hasQueryParams(route) {\n return !!Object.keys(route.query).length\n}\n\nrouter.beforeEach((to, from, next) => {\n if(!hasQueryParams(to) && hasQueryParams(from)){\n next({ ...to, query: from.query });\n } else {\n next()\n }\n})\n\nexport default router;\n","export default [\n { segments: [\"A-Z\", \"A-Z\"] },\n { segments: [\"A-Z\", \"a-z\"] },\n { segments: [\"a-z\", \"a-z\"] },\n { segments: [\"А-Я\", \"А-Я\"] },\n { segments: [\"А-Я\", \"а-я\"] },\n { segments: [\"а-я\", \"а-я\"] },\n { segments: [\"Α-ΡΣ-Ω\", \"Α-ΡΣ-Ω\"] },\n { segments: [\"Α-ΡΣ-Ω\", \"α-ω\"] },\n { segments: [\"α-ω\", \"α-ω\"] },\n { segments: [\"0-9\", \"0-9\"] },\n { segments: [\".,\\\\-/\", \"0-9\"] },\n { segments: [\"@()[]{}\", \"0-9A-Za-z\"] },\n { segments: [\".,-\", \"A-Za-z\"] },\n { segments: [\"@“”„”„“””\\\"\\\"\", \"A-Za-z\"] },\n];\n","export default function kerningPatternName(pattern) {\n // let id = pattern.segments\n // .filter(s => s.length)\n // .map(s => s\n // .replace(/ /g, \"_\")\n // )\n // .join(\" × \");\n // return id;\n return pattern.lines[0];\n}\n","export default {\n lettering: \"letterings\",\n pangrams: \"pangrams\",\n sentences: \"paragraphs\",\n gotchas: \"gotchas\",\n ABCs: \"alphabet\",\n glyphs: null,\n kerning: null,\n languages: null,\n};\n","export default function (id) {\n return id\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n","export default function escapeHtml(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n","import Vue from \"vue\";\nimport router from \"@/router\";\n\nimport getId from \"@/utils/id\";\nimport kerningPatterns from \"@/models/kerningPatterns\";\nimport kerningPatternName from \"@/models/kerningPatternName\";\nimport languageDataFields from \"@/models/textKindLanguageDataField\";\nimport LanguageData from \"language-data\";\nimport escapeHtmlId from \"@/utils/escapeHtmlId\";\nimport escapeHtml from \"@/utils/escapeHtml\";\nimport KerningGenerator from \"@/models/KerningGenerator\";\n\nlet id = 0;\nlet customTextId = 1;\n\nconst SCRIPTS = [\n { script: 'Latn', name: 'Latin' },\n { script: 'Grek', name: 'Greek' },\n { script: 'Cyrl', name: 'Cyrillic' },\n { script: 'Arab', name: 'Arabic' },\n { script: 'Armn', name: 'Armenian' },\n { script: 'IPA ', name: 'IPA', isSelected: false },\n];\n\nconst SCRIPT_TAGS = LanguageData.map(l => l.script).filter((v, i, a) => a.indexOf(v) === i);\nconst LANGUAGES = LanguageData.sort((a,b) => a.language.localeCompare(b.language));\n\nexport default {\n state: {\n selectedSampleKey: \"\",\n texts: [],\n customTextIds: [],\n languages: LANGUAGES.map(l => ({ ...l, id: id++, isSelected: true })),\n scripts: SCRIPTS.filter(s => SCRIPT_TAGS.indexOf(s.script) > -1).map(s => ({ id: id++, isSelected: true, ...s })),\n textHeadings: [],\n formatRequested: false,\n kerningPatterns: [],\n defaultKerningPatterns: kerningPatterns,\n fontCharacters: 'xyz'.split(),\n },\n\n mutations: {\n setText(state, { sampleKey, html }) {\n Vue.set(state.texts, sampleKey, html)\n },\n\n modifyText(state, { html, headings = [] }) {\n if (state.selectedSampleKey in languageDataFields) {\n this.commit(\"addCustomText\", { html });\n }\n else {\n Vue.set(state.texts, state.selectedSampleKey, [{ html }]);\n // state.texts[state.selectedSampleKey] = html;\n }\n state.textHeadings = headings;\n },\n\n addCustomText(state, { html }) {\n state.customTextIds.push(customTextId);\n state.texts[customTextId] = [{ html }];\n this.commit(\"selectSample\", { kind: \"custom\", id: customTextId });\n const route = `/custom/${state.selectedSampleKey}`;\n if (router.currentRoute.path !== route) {\n router.push(route);\n }\n customTextId++;\n },\n\n removeCustomText(state, { id }) {\n const i = state.customTextIds.indexOf(id);\n state.customTextIds.splice(i, 1);\n delete state.texts[id];\n if (router.currentRoute.path === `/custom/${id}`) {\n let path = '/lettering';\n if (i < state.customTextIds.length) {\n id = state.customTextIds[i];\n path = `/custom/${id}`;\n } else if (i - 1 >= 0 && i - 1 < state.customTextIds.length) {\n id = state.customTextIds[i - 1];\n path = `/custom/${id}`;\n }\n router.push(path);\n }\n },\n\n format(state, { tag }) {\n state.formatRequested = tag;\n },\n\n selectSample(state, { kind, id }) {\n if (kind in languageDataFields) {\n state.selectedSampleKey = kind;\n } else if (kind === \"custom\") {\n if (id in state.texts) {\n state.selectedSampleKey = id;\n }\n else {\n const html = \"Type here\";\n this.commit(\"addCustomText\", { html });\n }\n }\n },\n\n selectLanguage(state, { id, checked }) {\n state.languages.find(l => l.id === id).isSelected = checked;\n },\n\n selectDeselectAllLanguages(state, { checked }) {\n state.languages.forEach(l => l.isSelected = checked);\n },\n\n selectScripts(state, { values }) {\n state.scripts.forEach(s => {\n if (values.indexOf(s) > -1) {\n s.isSelected = true;\n }\n else {\n s.isSelected = false;\n }\n });\n },\n\n clearKerningPatterns(state) {\n state.kerningPatterns.splice(0);\n this.commit(\"setText\", { sampleKey: \"kerning\", html: [\"\"] });\n },\n\n initKerningPatterns(state) {\n state.defaultKerningPatterns.forEach(({ segments, isVisible = true }) => {\n this.commit(\"addKerningPattern\", { segments, isVisible, toEnd: true });\n });\n },\n\n addKerningPattern(state, { segments, isVisible, toEnd }) {\n const { sets, closures } = KerningGenerator.sets(segments);\n const copy = state.kerningPatterns.slice();\n const pattern = { segments, sets, closures, isVisible };\n pattern.lines = KerningGenerator.kerningString(pattern);\n pattern.name = kerningPatternName(pattern);\n pattern.id = getId('kerning-pattern-' + pattern.name);\n if (toEnd) {\n copy.push(pattern);\n } else {\n copy.unshift(pattern);\n }\n state.kerningPatterns = copy;\n },\n\n updateKerningPattern(state, { id, segments }) {\n const { sets, closures } = KerningGenerator.sets(segments);\n let copy = state.kerningPatterns.slice();\n let pattern = copy.find(kp => kp.id === id);\n if (!pattern) {\n this.commit(\"addKerningPattern\", { segments, isVisible: true });\n copy = state.kerningPatterns.slice();\n pattern = copy[0];\n pattern.id = id;\n }\n pattern.segments = segments;\n pattern.sets = sets;\n pattern.closures = closures;\n pattern.lines = KerningGenerator.kerningString(pattern);\n pattern.name = kerningPatternName(pattern);\n state.kerningPatterns = copy;\n },\n\n removeKerningPattern(state, { id }) {\n const index = state.kerningPatterns.findIndex(p => p.id === id);\n state.kerningPatterns.splice(index, 1);\n },\n\n toggleKerningPattern(state, { id, on }) {\n const index = state.kerningPatterns.findIndex(p => p.id === id);\n state.kerningPatterns[index].isVisible = on;\n },\n\n updateKerning(state) {\n let patterns = state.kerningPatterns\n .filter(pattern => pattern.isVisible);\n let html = patterns\n .map(pattern => {\n const lines = pattern.lines;\n const text = lines[0].length > 50\n ? lines.join(\"\\n\")\n : lines.join(\" \").replace(/ +/g, \" \");\n return {\n // header: `

    `,\n // texts: [`

    ${escapeHtml(text)}

    `],\n texts: [`

    ${escapeHtml(text)}

    `],\n };\n });\n this.commit(\"setText\", { sampleKey: \"kerning\", html });\n },\n\n updateFontCharacters(state, { characters }) {\n state.fontCharacters = characters;\n },\n },\n\n actions: {\n selectScripts({ state, commit, dispatch }, { values }) {\n commit(\"selectScripts\", { values });\n dispatch(\"updateText\");\n },\n\n selectLanguage({ state, commit, dispatch }, { id, checked }) {\n const matching = state.languages.find(l => l.id === id);\n if (matching.isSelected !== checked) {\n commit(\"selectLanguage\", { id, checked });\n dispatch(\"updateText\");\n }\n },\n\n selectSample({ state, commit, dispatch }, { kind, id }) {\n commit(\"selectSample\", { kind, id });\n if (kind === \"kerning\") {\n if (state.kerningPatterns.length === 0) {\n this.commit(\"initKerningPatterns\");\n }\n }\n dispatch(\"updateText\");\n },\n\n updateFontCharacters({ dispatch }, { font }) {\n const characters = font.characters;\n this.commit(\"updateFontCharacters\", { characters });\n dispatch(\"updateText\");\n },\n\n updateText({ state, commit, getters }) {\n function squish(str) { return str.replace(/\\s\\s+/g, \"\") }\n function fNum(n) { return n > 1000000 ? n/1000000 + 'M' : n/1000 + 'K'; }\n\n // fieldKey = texts from language-data\n // no fieldKey = custom tab\n const fieldKey = getters.selectedSampleTextKey;\n if (!fieldKey) {\n if (state.selectedSampleKey === \"kerning\") {\n commit(\"updateKerning\");\n }\n else if (state.selectedSampleKey === \"glyphs\") {\n let texts = [\n `

    ${\n state.fontCharacters.map(c => `${c}`).join('')\n }

    `,\n ];\n commit(\"setText\", {\n sampleKey: state.selectedSampleKey,\n html: [{ header: '', texts }],\n });\n }\n return;\n }\n\n let data = getters.selectedLanguages\n .map(l => ({\n ...l,\n id: `${l.language}-${l.id}`,\n texts: l[fieldKey],\n }));\n\n let mappedData = []; // one to many\n\n if (getters.selectedSampleKey === 'gotchas') {\n data.forEach(({ id: langId, language, speakers, htmlTag, opentypeTag, texts }) => {\n let tests = texts.map(({ topic, tags, tests, description }) => {\n // let header = squish(\n // `

    \n //

    ${l.language} — ${topic}

    \n //
    ${tags.map(t => `${t}`).join(\"\")}
    \n // ${l.opentypeTag ? `
    OT code: ${l.opentypeTag.padEnd(4, ' ')}
    ` : ''}\n //
    ${fNum(l.speakers)} speakers
    \n //
    ${description || ''}
    \n //
    \n // `\n // );\n let header = {\n id: langId + '-' + topic.replace(/[^a-z0-9]/ig, '_'),\n langId,\n language, speakers, htmlTag, opentypeTag,\n topic, tags, tests, description,\n }\n let fragments = [squish(\n `
    \n ${tests.map(t => `

    ${t}

    `).join(\"\")}\n
    `\n )];\n return {\n header,\n texts: fragments,\n };\n });\n mappedData = [ ...mappedData, ...tests ];\n });\n } else {\n mappedData = data\n .map(({ id: langId, language, script, speakers, htmlTag, opentypeTag, texts }) => {\n let header = { langId, language, script, speakers, htmlTag, opentypeTag };\n let fragments;\n\n switch (getters.selectedSampleKey) {\n case \"ABCs\": {\n const AaBbCc = texts;\n const ABC = AaBbCc.split(' ').filter(l => l.split('').every(g=> g.toUpperCase() === g));\n const abc = AaBbCc.split(' ').filter(l => l.split('').every(g=> g.toLowerCase() === g));\n fragments = [\n AaBbCc,\n ABC.join(' '),\n abc.join(' '),\n ];\n if (script == 'Latn') {\n const Accents = ABC.filter(g => !/^[A-Z ]+$/.test(g));\n const accents = abc.filter(g => !/^[a-z ]+$/.test(g));\n fragments.push(Accents.join(''));\n fragments.push(accents.join(''));\n }\n\n fragments = fragments.map(t => `

    ${t}

    `);\n break;\n }\n default:\n if (texts instanceof Array)\n fragments = texts.map(t => `

    ${t}

    `);\n else\n fragments = [texts].map(t => `

    ${t}

    `);\n }\n return {\n header,\n texts: fragments,\n };\n });\n }\n\n commit(\"setText\", { sampleKey: state.selectedSampleKey, html: mappedData });\n },\n\n addKerningPattern({ commit }, { segments, toEnd }) {\n commit(\"addKerningPattern\", { segments, isVisible: true, toEnd });\n commit(\"updateKerning\");\n },\n\n updateKerningPattern({ commit }, { id, segments }) {\n commit(\"updateKerningPattern\", { id, segments });\n commit(\"updateKerning\");\n },\n\n removeKerningPattern({ commit }, { id }) {\n commit(\"removeKerningPattern\", { id });\n commit(\"updateKerning\");\n },\n\n toggleKerningPattern({ commit }, { id, on }) {\n commit(\"toggleKerningPattern\", { id, on });\n commit(\"updateKerning\");\n },\n\n clearKerningPatterns({ dispatch, commit }) {\n commit(\"clearKerningPatterns\");\n setTimeout(() => {\n dispatch(\"updateText\");\n }, 50);\n },\n\n revertKerningPatterns({ dispatch, commit }) {\n commit(\"clearKerningPatterns\");\n commit(\"initKerningPatterns\");\n dispatch(\"updateText\");\n },\n },\n\n\n getters: {\n texts: state => state.texts,\n textHeadings: state => state.textHeadings,\n formatRequested: state => state.formatRequested,\n customTextIds: state => state.customTextIds,\n selectedSampleKey: state => state.selectedSampleKey,\n selectedSampleTextKey: state => languageDataFields[state.selectedSampleKey],\n scripts: state => state.scripts,\n selectedScripts: state => state.scripts.filter(s => s.isSelected),\n filteredLanguages: (state, getters) => state.languages.filter(l => getters.selectedScripts.find(s => s.script === l.script)),\n visibleLanguages: (state, getters) => {\n if (getters.selectedSampleKey === 'languages') {\n return getters.filteredLanguages.filter(l => l.alphabet);\n }\n else if (getters.selectedSampleTextKey) {\n return getters.filteredLanguages\n .filter(l => l[getters.selectedSampleTextKey].length);\n }\n else {\n return [];\n }\n },\n otherLanguages: (state, getters) => {\n return getters.filteredLanguages.filter(l => getters.visibleLanguages.find(ll => ll.id === l.id) == null);\n },\n selectedLanguages: (state, getters) => getters.visibleLanguages.filter(l => l.isSelected),\n languages: (state, getters) => [\n ...getters.visibleLanguages.map(l => ({ ...l, hasText: true })),\n ...getters.otherLanguages.map(l => ({ ...l, hasText: false })),\n ],\n kerningPatterns: (state) => state.kerningPatterns,\n\n languageSupport: (state, getters) => {\n function uniqueCharacterFilter(c,i, a) {\n return !/^[A-Za-z ]+$/.test(c) && a.indexOf(c) === i;\n }\n\n const testableLanguages = getters.selectedLanguages; //.filter(l => l.specialCharacters);\n\n const languages = testableLanguages.map(l => {\n const specialLetters = (l.script === 'Latn' ? l.specialCharacters : l.alphabet).split(' ')\n .filter((e, i, a) => a.indexOf(e) === i && e)\n // .filter((c) => c.length < 2 || Array(c.length - 1).fill(0).every((_,i) => isAccent(c, i + 1)));\n // .filter((c) => !/^[A-Za-z ]+$/.test(c));\n\n const requiredCharacters = specialLetters.join('').split('')\n .filter(uniqueCharacterFilter);\n\n const includedCharacters = requiredCharacters.filter(g => g.split('').every(c => state.fontCharacters.indexOf(c) > -1));\n const missingCharacters = requiredCharacters.filter(g => includedCharacters.indexOf(g) === -1);\n\n return {\n ...l,\n specialLetters,\n requiredCharacters,\n includedCharacters,\n missingCharacters,\n };\n });\n\n const supportedLanguages = languages.filter(l => l.requiredCharacters.length === l.includedCharacters.length);\n const unsupportedLanguages = languages.filter(l => supportedLanguages.indexOf(l) === -1);\n\n const missingCharacters = languages\n .reduce((acc, cur) => [...cur.missingCharacters, ...acc], []);\n\n const characters = [\n ...languages.reduce((acc, cur) => [...cur.specialLetters, ...acc], []),\n ...languages.reduce((acc, cur) => [...cur.requiredCharacters, ...acc], [])\n ]\n .filter((v, i, a) => a.indexOf(v) === i)\n .map(c => ({\n character: c,\n unicode: c.charCodeAt(0),\n obligatoryLanguages: languages.filter(l => l.alphabet.indexOf(c) > -1),\n optionalLanguages: languages.filter(l => l.optionalCharacters.indexOf(c) > -1),\n script: (LANGUAGES.find(l => l.alphabet.indexOf(c) > -1) || {script: 'Latn'}).script,\n isMissing: missingCharacters.indexOf(c) > -1,\n }))\n .map(ch => ({\n ...ch,\n speakers: [... ch.obligatoryLanguages, ...ch.optionalLanguages ].reduce((acc, cur) => acc + cur.speakers, 0),\n }));\n\n const missingCharactersByScript = groupCharactersByScript(characters, true);\n const includedCharactersByScript = groupCharactersByScript(characters, false);\n const missingCharacterCombinationsByScript = characterCombinations(missingCharactersByScript);\n const includedCharacterCombinationsByScript = characterCombinations(includedCharactersByScript);\n\n const fontCharacters = state.fontCharacters.map(c => ({\n character: c,\n unicode: c.charCodeAt(0),\n obligatoryLanguages: languages.filter(l => l.alphabet.indexOf(c) > -1),\n optionalLanguages: languages.filter(l => l.optionalCharacters.indexOf(c) > -1),\n }))\n .map(ch => ({\n ...ch,\n speakers: [... ch.obligatoryLanguages, ...ch.optionalLanguages ].reduce((acc, cur) => acc + cur.speakers, 0),\n }));\n\n return {\n languages,\n supportedLanguages,\n unsupportedLanguages,\n characters,\n missingCharactersByScript,\n includedCharactersByScript,\n missingCharacterCombinationsByScript,\n includedCharacterCombinationsByScript,\n fontCharacters,\n };\n },\n },\n}\n\n\nfunction groupCharactersByScript(characters, isMissing) {\n const charactersByScript = [];\n characters\n .filter(c => c.isMissing === isMissing)\n .forEach(c => {\n let script = charactersByScript.find(s => s.script === c.script);\n if (!script) {\n script = { script: c.script, characters: [] }\n charactersByScript.push(script);\n }\n script.characters.push(c);\n });\n\n charactersByScript.forEach(script => {\n script.characters.sort((a, b) => a.character.localeCompare(b.character, 'en', { caseFirst: 'upper' }));\n });\n\n return charactersByScript;\n}\n\n\nfunction isAccent(c, i) {\n return c.charCodeAt(i) > 0x0300 && c.charCodeAt(i) < 0x037E;\n}\n\nfunction characterCombinations(charactersByScript) {\n return charactersByScript.map(s =>\n ({\n ...s,\n characters: s.characters.filter(c => c.character.length > 1 && isAccent(c.character, 1))\n })\n ).filter(s => s.characters.length);\n}\n","export default class Settings {\r\n static get definitions() {\r\n return {\r\n fontFamily: {\r\n type: String,\r\n default: \"\",\r\n },\r\n fallbackFontFamily: {\r\n type: String,\r\n default: \"sans-serif\",\r\n },\r\n\r\n fontSize: {\r\n type: Number,\r\n default: 24,\r\n validate: (value, settings) => value >= settings.minFontSize && value <= settings.maxFontSize,\r\n },\r\n fontSizeUnit: {\r\n type: String,\r\n default: \"pt\",\r\n kind: \"select\",\r\n },\r\n fontSizeUnitOptions: {\r\n type: Array,\r\n default: () => [\"pt\", \"px\", \"em\", \"vw\", \"vh\"],\r\n },\r\n enableWaterfall: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n waterfallSizes: {\r\n type: String,\r\n // default: '10,12,16,24,26,36,45',\r\n default: '10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,34,36,38,44,64',\r\n default: '10,14,24,36,64',\r\n },\r\n\r\n enableLineHeight: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n lineHeight: {\r\n type: Number,\r\n default: 1,\r\n validate: (value, settings) => value >= settings.minLineHeight && value <= settings.maxLineHeight,\r\n },\r\n minLineHeight: {\r\n type: Number,\r\n default: 0.5,\r\n },\r\n maxLineHeight: {\r\n type: Number,\r\n default: 3,\r\n },\r\n lineHeightStep: {\r\n type: Number,\r\n default: 0.01,\r\n },\r\n lineHeightClickStep: {\r\n type: Number,\r\n default: 0.01,\r\n },\r\n\r\n enableTracking: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n tracking: {\r\n type: Number,\r\n default: 0,\r\n validate: (value, settings) => value >= settings.minTracking && value <= settings.maxTracking,\r\n },\r\n minTracking: {\r\n type: Number,\r\n default: -0.5,\r\n },\r\n maxTracking: {\r\n type: Number,\r\n default: 2,\r\n },\r\n trackingStep: {\r\n type: Number,\r\n default: 0.001,\r\n },\r\n trackingClickStep: {\r\n type: Number,\r\n default: 0.01,\r\n },\r\n\r\n enableWordSpacing: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n wordSpacing: {\r\n type: Number,\r\n default: 0,\r\n validate: (value, settings) => value >= settings.minWordSpacing && value <= settings.maxWordSpacing,\r\n },\r\n minWordSpacing: {\r\n type: Number,\r\n default: -1,\r\n },\r\n maxWordSpacing: {\r\n type: Number,\r\n default: 1,\r\n },\r\n wordSpacingStep: {\r\n type: Number,\r\n default: 0.01,\r\n },\r\n\r\n textAlign: {\r\n type: String,\r\n default: \"left\",\r\n kind: \"select\",\r\n },\r\n textAlignOptions: {\r\n type: Array,\r\n default: () => [\"left\", \"center\", \"right\", \"justify\"],\r\n },\r\n\r\n textColor: {\r\n type: String,\r\n // default: \"#222\",\r\n default: \"#000\",\r\n },\r\n backgroundColor: {\r\n type: String,\r\n // default: \"#ddd\",\r\n default: \"#fff\",\r\n },\r\n\r\n textTransform: {\r\n type: String,\r\n default: \"uppercase\",\r\n kind: \"select\",\r\n },\r\n textTransformOptions: {\r\n type: Array,\r\n default: () => [\"none\", \"uppercase\", \"capitalize\", \"lowercase\"],\r\n },\r\n enableTextTransform: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n wrapLines: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n gposFeatures: {\r\n type: Object,\r\n default: () => ([]),\r\n },\r\n gsubFeatures: {\r\n type: Object,\r\n default: () => ([]),\r\n },\r\n variationAxes: {\r\n type: Object,\r\n default: () => ([]),\r\n },\r\n enableVariationAxis: {\r\n type: Object,\r\n default: () => ([]),\r\n },\r\n }\r\n }\r\n\r\n static getDefaults() {\r\n const data = {};\r\n Object.keys(this.definitions).forEach(key => {\r\n const definition = this.definitions[key];\r\n const dflt = definition.default;\r\n if (typeof dflt === \"function\" && definition.type !== Function) {\r\n data[key] = dflt();\r\n } else {\r\n data[key] = dflt;\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n static getStyleFromSettings(settings) {\r\n let variationAxes = settings.variationAxes;\r\n let weightAxis = variationAxes.find(a => a.tag == 'wght');\r\n let slantAxis = variationAxes.find(a => a.tag == 'slnt');\r\n let italicAxis = variationAxes.find(a => a.tag == 'ital');\r\n let fontStyle = 'normal';\r\n // if (slantAxis && slantAxis.value != 0) {\r\n if (slantAxis) {\r\n fontStyle = `oblique ${-slantAxis.value}deg`;\r\n } else if (italicAxis && italicAxis.value == 1) {\r\n fontStyle = 'italic';\r\n }\r\n \r\n const filteredAxes = slantAxis ? ['wght', 'slnt'] : ['wght', 'ital'];\r\n\r\n variationAxes = variationAxes.filter(a => filteredAxes.indexOf(a.tag) == -1);\r\n\r\n return {\r\n fontSize: settings.fontSize,\r\n lineHeight: settings.lineHeight,\r\n textAlign: settings.textAlign,\r\n textTransform: settings.textTransform,\r\n color: settings.textColor,\r\n backgroundColor: settings.backgroundColor,\r\n fontFeatureSettings: settings.gsubFeatures.concat(settings.gposFeatures)\r\n .map(f => `'${f.tag}' ${f.value ? '1' : '0'} `)\r\n .join(', '),\r\n fontVariationSettings: variationAxes\r\n .filter(a => a.enabled)\r\n .map(a => `'${a.tag}' ${a.value} `)\r\n .join(', ')\r\n || 'unset',\r\n fontWeight: weightAxis?.value ?? 400,\r\n fontStyle,\r\n };\r\n }\r\n\r\n static mergeStyleOntoSettings(settings, style) {\r\n settings.fontSize = parseFloat(style.fontSize);\r\n settings.lineHeight = parseFloat(settings.lineHeight);\r\n // settings.textAlign = style.textAlign\r\n // settings.textTransform = style.textTransform\r\n settings.textColor = style.color;\r\n settings.backgroundColor = style.backgroundColor;\r\n\r\n function mapCompoundProp(from, to) {\r\n const features = {};\r\n (style[from] || \"\").split(/, ?/g).filter(s => s).map(f => {\r\n let match = f.match(/[a-z]{4}/i);\r\n if (match) {\r\n const tag = match[0];\r\n match = f.match(/ \\d+/);\r\n const val = match ? parseInt(match[0]) : 1;\r\n features[tag] = val;\r\n }\r\n });\r\n settings[to].forEach((f, i) => {\r\n if (f.tag in features) {\r\n settings[to][i].value = features[f.tag];\r\n }\r\n });\r\n }\r\n mapCompoundProp(\"fontFeatureSettings\", \"gsubFeatures\");\r\n mapCompoundProp(\"fontFeatureSettings\", \"gposFeatures\");\r\n mapCompoundProp(\"fontVariationSettings\", \"variationAxes\");\r\n }\r\n}\r\n","import Vue from \"vue\";\nimport Settings from \"@/models/Settings\";\n\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport default {\n state: {\n animatedProperties: Object.keys(Settings.definitions),\n animatableProperties: Object.keys(Settings.definitions),\n animationKeyframes: [],\n activeKeyframeId: null,\n maxId: 0,\n },\n getters: {\n animatedProperties: state => state.animatedProperties,\n animatableProperties: state => state.animatableProperties,\n animationKeyframes: state => state.animationKeyframes,\n activeKeyframeId: state => state.activeKeyframeId,\n },\n mutations: {\n setAnimatedProperties(state, { properties }) {\n state.animatedProperties = properties;\n },\n importAnimationKeyframes(state, { keyframes }) {\n try {\n state.animationKeyframes = JSON.parse(keyframes);\n }\n catch (e) {\n console.log(e);\n }\n },\n addAnimationKeyframe(state) {\n const id = ++state.maxId;\n state.activeKeyframeId = id;\n state.animationKeyframes.push({ id });\n this.commit(\"updateKeyframe\");\n },\n removeAnimationKeyframe(state, { id }) {\n if (id == null)\n return;\n const index = state.animationKeyframes.findIndex(k => k.id === id);\n state.animationKeyframes.splice(index, 1);\n },\n activateKeyframe(state, { id }) {\n state.activeKeyframeId = id;\n const { snapshot } = state.animationKeyframes.find(k => k.id === id);\n this.commit(\"restoreSettings\", { snapshot });\n },\n updateKeyframe(state) {\n const id = state.activeKeyframeId;\n if (id == null)\n return;\n const snapshot = clone(this.state.settings);\n const frame = Settings.getStyleFromSettings(this.state.settings);\n const index = state.animationKeyframes.findIndex(k => k.id === id);\n Vue.set(state.animationKeyframes, index, { id, snapshot, frame });\n },\n finishAnimateSettings() {\n this.commit(\"animateSettings\", { settings: null });\n },\n },\n actions: {\n animateSettings(context, { style }) {\n const snapshot = clone(this.state.settings);\n Settings.mergeStyleOntoSettings(snapshot, style);\n\n const settings = clone(this.state.settings);\n Object.keys(snapshot).filter(k => context.state.animatedProperties.indexOf(k) > -1).forEach(k => {\n settings[k] = snapshot[k];\n })\n this.commit(\"animateSettings\", { settings });\n },\n },\n}\n","import Vue from \"vue\";\n\nconst scrolledParentSelector = \".app-content\";\nVue.prototype.$scrollToTop = () => scrolledParentSelector.scrollTo(0,0);\n\nexport default {\n state: {\n scrolledParentSelector,\n sticky: true,\n footerVisible: 0,\n footerSentinelVisibleRatio: 0,\n },\n getters: {\n scrolledParentSelector: state => state.scrolledParentSelector,\n },\n mutations: {\n sticky(state, { value }) {\n state.sticky = value;\n },\n\n updateFooter(state, { visible, ratio }) {\n state.footerVisible = visible;\n state.footerSentinelVisibleRatio = ratio;\n },\n scrollToTop(state) {\n this.commit(\"sticky\", { value: true });\n this.commit(\"updateFooter\", { visible: false, ratio: 0 });\n const el = document.querySelector(state.scrolledParentSelector);\n el.scrollTop = 0;\n },\n },\n\n actions: {\n },\n}\n","export default function configureMediator (store) {\n // listen to mutations\n // eslint-disable-next-line no-unused-vars\n store.subscribe(({ type, payload }, state) => {\n switch (type) {\n case 'updateSetting':\n if (state.animation.activeKeyframeId != null) {\n store.commit('updateKeyframe');\n }\n break;\n case 'selectFont':\n if (payload.font) {\n store.dispatch('updateFontCharacters', { font: payload.font });\n }\n }\n })\n}\n","export default {\n get width() {\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n },\n get height() {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n },\n};\n","import viewport from \"@/utils/viewport\";\n\n// https://github.com/jwilsson/CSS-Unit-Converter\n\nexport class UnitConverter {\n convert(options) {\n /* eslint-disable sort-keys */\n const formulas = {\n \"ch-cm\": options.value * 0.21087588,\n \"ch-em\": options.value * 0.5,\n \"ch-ex\": options.value / 0.9,\n \"ch-in\": options.value * 0.083022,\n \"ch-mm\": options.value * 2.1087588,\n \"ch-pc\": options.value * 0.5,\n \"ch-pt\": options.value * 5.977584,\n \"ch-%\": options.value * 50,\n \"ch-px\": options.value * options.base * 0.5,\n\n \"cm-ch\": options.value / 0.21087588,\n \"cm-em\": options.value / 0.42175176,\n \"cm-ex\": options.value / 0.189788292,\n \"cm-in\": options.value * 0.39,\n \"cm-mm\": options.value * 10,\n \"cm-pc\": options.value / 0.42175176,\n \"cm-pt\": options.value * 28.3464566929,\n \"cm-%\": (((options.value / options.base) * 100) / 2.54) * options.dpi,\n \"cm-px\": (options.value / 2.54) * options.dpi,\n\n \"em-ch\": options.value / 0.5,\n \"em-cm\": options.value * 0.42175176,\n \"em-ex\": options.value / 0.45,\n \"em-in\": options.value * 0.166044,\n \"em-mm\": options.value / 0.237106301584,\n \"em-pc\": options.value,\n \"em-pt\": options.value * 11.955168,\n \"em-%\": options.value * 100,\n \"em-px\": options.value * options.base,\n \"em-vh\": (100 * options.value * options.base) / viewport.height,\n \"em-vw\": (100 * options.value * options.base) / viewport.width,\n\n \"ex-ch\": options.value * 0.9,\n \"ex-cm\": options.value * 0.189788292,\n \"ex-em\": options.value * 0.45,\n \"ex-in\": options.value * 0.0747198,\n \"ex-mm\": options.value * 1.89788292,\n \"ex-pc\": options.value * 0.45,\n \"ex-pt\": options.value * 5.3798256,\n \"ex-%\": options.value * 45,\n \"ex-px\": options.value * options.base * 0.45,\n\n \"in-ch\": options.value / 0.083022,\n \"in-cm\": options.value * 2.54,\n \"in-em\": options.value / 0.166044,\n \"in-ex\": options.value / 0.0747198,\n \"in-mm\": options.value * 2.54 * 10,\n \"in-pc\": options.value / 0.166044,\n \"in-pt\": options.value / 0.014842519685,\n \"in-%\": (options.value / options.base) * 100 * options.dpi,\n \"in-px\": options.value * options.dpi,\n\n \"mm-ch\": options.value / 2.1087588,\n \"mm-cm\": options.value / 10,\n \"mm-em\": options.value * 0.237106301584,\n \"mm-ex\": options.value / 1.89788292,\n \"mm-in\": (options.value * 0.39) / 10,\n \"mm-pc\": options.value / 4.42175176,\n \"mm-pt\": options.value / 0.352777777778,\n \"mm-%\": ((((options.value / options.base) * 100) / 2.54) * options.dpi) / 10,\n \"mm-px\": ((options.value / 2.54) * options.dpi) / 10,\n\n \"pc-ch\": options.value / 0.5,\n \"pc-cm\": options.value * 0.42175176,\n \"pc-em\": options.value,\n \"pc-ex\": options.value / 0.45,\n \"pc-in\": options.value * 0.166044,\n \"pc-mm\": options.value * 4.42175176,\n \"pc-pt\": options.value / 0.0836458341698,\n \"pc-%\": options.value * 100,\n \"pc-px\": options.value * options.base,\n\n \"pt-ch\": options.value / 5.977584,\n \"pt-cm\": options.value / 28.3464566929,\n \"pt-em\": options.value / 11.955168,\n \"pt-ex\": options.value / 5.3798256,\n \"pt-in\": options.value * 0.014842519685,\n \"pt-mm\": options.value * 0.352777777778,\n \"pt-pc\": options.value * 0.0836458341698,\n \"pt-%\": (options.value / (options.base - 4)) * 100,\n \"pt-px\": (options.value * 96) / 72,\n \"pt-vh\": (100 * options.value * 96) / 72 / viewport.height,\n \"pt-vw\": (100 * options.value * 96) / 72 / viewport.width,\n\n \"%-ch\": options.value / 50,\n \"%-cm\": (((options.value * options.base) / 100) * 2.54) / options.dpi,\n \"%-em\": options.value / 100,\n \"%-ex\": options.value / 45,\n \"%-in\": (options.value * options.base) / 100 / options.dpi,\n \"%-mm\": ((((options.value * options.base) / 100) * 2.54) / options.dpi) * 10,\n \"%-pc\": options.value / 100,\n \"%-pt\": (options.value * (options.base - 4)) / 100,\n \"%-px\": (options.value * options.base) / 100,\n\n \"px-ch\": options.value / options.base / 0.5,\n \"px-cm\": (options.value * 2.54) / options.dpi,\n \"px-em\": options.value / options.base,\n \"px-ex\": options.value / options.base / 0.45,\n \"px-in\": options.value / options.dpi,\n \"px-mm\": ((options.value * 2.54) / options.dpi) * 10,\n \"px-pc\": options.value / options.base,\n \"px-pt\": (options.value * 72) / 96,\n \"px-%\": (options.value / options.base) * 100,\n \"px-vh\": (options.value / viewport.height) * 100,\n \"px-vw\": (options.value / viewport.width) * 100,\n\n \"vh-px\": (options.value * viewport.height) / 100,\n \"vh-pt\": ((72 / 96) * options.value * viewport.height) / 100,\n \"vh-em\": (options.value * viewport.height) / 100 / options.base,\n \"vh-vw\": (options.value * viewport.height) / viewport.width,\n\n \"vw-px\": (options.value * viewport.width) / 100,\n \"vw-pt\": ((72 / 96) * options.value * viewport.width) / 100,\n \"vw-em\": (options.value * viewport.width) / 100 / options.base,\n \"vw-vh\": (options.value * viewport.width) / viewport.height,\n };\n /* eslint-enable sort-keys */\n\n const units = `${options.from}-${options.to}`;\n const result = formulas[units];\n\n if (isNaN(result)) {\n return false;\n }\n\n return this.round(result, options.decimals) + options.to;\n }\n\n getUnits() {\n return [\"ch\", \"cm\", \"em\", \"ex\", \"in\", \"mm\", \"pc\", \"pt\", \"%\", \"px\"];\n }\n\n round(number, decimals) {\n return Math.round(number * 10 ** decimals) / 10 ** decimals;\n }\n}\n\nexport default function convertLength({ base = 16, decimals = 2, dpi = 72, from, to, value } = {}) {\n const converter = new UnitConverter();\n const result = converter.convert({ base, decimals, dpi, from, to, value });\n return result;\n}\n","import convertLength from \"@/models/convertLength\";\n\n//expects this to be the settings object\n\nexport default {\n minFontSize: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n return 4;\n default: {\n const value = convertLength({ from: \"px\", value: 4, to: this.fontSizeUnit });\n return parseFloat(value);\n }\n }\n },\n maxFontSize: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n return 1000;\n default: {\n const value = convertLength({ from: \"px\", value: 1000, to: this.fontSizeUnit });\n return parseFloat(value);\n }\n }\n },\n fontSizeStep: function() {\n switch (this.fontSizeUnit) {\n case \"pt\":\n return 0.5;\n case \"px\":\n return 1;\n case \"vw\":\n case \"vh\":\n case \"em\":\n return 0.01;\n default:\n return 0.01;\n }\n },\n fontSizeClickStep: function() {\n switch (this.fontSizeUnit) {\n case \"px\":\n case \"pt\":\n case \"vw\":\n case \"vh\":\n return 1;\n case \"em\":\n return 0.5;\n default:\n return 1;\n }\n },\n};\n","import Vue from \"vue\";\r\nimport Vuex from 'vuex';\r\nVue.use(Vuex);\r\n\r\nimport textModule from \"./store.text\";\r\nimport animationModule from \"./store.animation\";\r\nimport layoutModule from \"./store.layout\";\r\nimport configureMediator from \"./store-mediator\";\r\n\r\nimport Settings from \"@/models/Settings\";\r\nimport computedParams from \"@/models/computedParams\";\r\nimport convertLength from \"@/models/convertLength\";\r\nimport opentypeFeatureDefaults from \"@/models/opentypeFeatureDefaults\";\r\n\r\nconst store = new Vuex.Store({\r\n modules: {\r\n text: textModule,\r\n animation: animationModule,\r\n layout: layoutModule,\r\n },\r\n state: {\r\n fontLoading: true,\r\n selectedFont: { family: \"\" },\r\n selectedBoldFont: { family: \"\" },\r\n selectedItalicFont: { family: \"\" },\r\n selectedBoldItalicFont: { family: \"\" },\r\n selectedHeaderFont: { family: \"\" },\r\n settings: Settings.getDefaults(),\r\n animating: false,\r\n displayedSettings: {},\r\n settingsPanelVisible: true,\r\n contextualPanelVisible: false,\r\n expandedMenu: null,\r\n isMobile: false,\r\n remoteFontRequested: false,\r\n },\r\n\r\n getters: {\r\n selectedFont: state => {\r\n return state.selectedFont;\r\n },\r\n selectedHeaderFont: state => {\r\n return state.selectedHeaderFont;\r\n },\r\n selectedBoldFont: state => {\r\n return state.selectedBoldFont;\r\n },\r\n selectedItalicFont: state => {\r\n return state.selectedItalicFont;\r\n },\r\n selectedBoldItalicFont: state => {\r\n return state.selectedBoldItalicFont;\r\n },\r\n settings: state => {\r\n return state.settings;\r\n },\r\n displayedSettings: state => {\r\n return state.animating ? state.displayedSettings : state.settings;\r\n },\r\n animating: state => state.animating,\r\n selectedLoclLanguage: state => {\r\n const features = state.settings.gsubFeatures;\r\n const matching = features.find(f => f.tag === \"locl\");\r\n if (matching && matching.value) {\r\n return matching.selectedLanguage.htmlTag;\r\n }\r\n return \"\";\r\n },\r\n fontFeatureSettings: state => {\r\n return Settings.getStyleFromSettings(state.settings).fontFeatureSettings;\r\n },\r\n fontVariationSettings: state => {\r\n return Settings.getStyleFromSettings(state.settings).fontVariationSettings;\r\n },\r\n fontWeight: state => {\r\n return Settings.getStyleFromSettings(state.settings).fontWeight;\r\n },\r\n fontStyle: state => {\r\n return Settings.getStyleFromSettings(state.settings).fontStyle;\r\n },\r\n },\r\n\r\n mutations: {\r\n toggleSettingsPanel(state, { value } = { value: null }) {\r\n const val = value != null ? value : !state.settingsPanelVisible;\r\n state.settingsPanelVisible = val;\r\n },\r\n toggleContextualPanel(state, { value } = { value: null }) {\r\n const val = value != null ? value : !state.contextualPanelVisible;\r\n state.contextualPanelVisible = val;\r\n },\r\n expandMenu(state, { menuId }) {\r\n if (state.expandedMenu === menuId) {\r\n state.expandedMenu = null;\r\n } else {\r\n this.commit(\"toggleContextualPanel\", { value: false });\r\n this.commit(\"toggleSettingsPanel\", { value: false });\r\n state.expandedMenu = menuId;\r\n }\r\n },\r\n setMobile(state, { isMobile }) {\r\n state.isMobile = isMobile;\r\n },\r\n\r\n requestFont(state, { url }) {\r\n state.remoteFontRequested = url;\r\n },\r\n\r\n fontLoadStart(state) {\r\n state.fontLoading = true;\r\n },\r\n\r\n fontLoadEnd(state) {\r\n state.fontLoading = false;\r\n },\r\n\r\n selectFont(state, { font, boldFont, italicFont, boldItalicFont, headerFont }) {\r\n if (font) {\r\n state.selectedFont = font;\r\n this.commit(\"mapFontFeatureSettings\");\r\n this.commit(\"mapFontVariationSettings\");\r\n }\r\n if (boldFont) {\r\n state.selectedBoldFont = boldFont;\r\n }\r\n if (italicFont) {\r\n state.selectedItalicFont = italicFont;\r\n }\r\n if (boldItalicFont) {\r\n state.selectedBoldItalicFont = boldItalicFont;\r\n }\r\n if (headerFont) {\r\n state.selectedHeaderFont = headerFont;\r\n }\r\n },\r\n\r\n mapFontFeatureSettings(state) {\r\n const font = state.selectedFont;\r\n function mergeFeatures(key) {\r\n const from = font[key], to = state.settings[key];\r\n\r\n to.forEach(f => {\r\n f.active = false; // change to getter maybe\r\n });\r\n from.forEach(f => {\r\n const matching = to.find(ff => ff.tag === f.tag);\r\n if (!matching) {\r\n to.push({\r\n ...f,\r\n value: opentypeFeatureDefaults.indexOf(f.tag) > -1,\r\n active: true,\r\n });\r\n }\r\n else {\r\n matching.active = true;\r\n matching.uiName = f.uiName;\r\n if (f.tag === \"locl\") {\r\n matching.languages = f.languages;\r\n }\r\n }\r\n });\r\n }\r\n mergeFeatures(\"gsubFeatures\");\r\n mergeFeatures(\"gposFeatures\");\r\n },\r\n\r\n updateGposFeature(state, { tag, value }) {\r\n const features = state.settings.gposFeatures;\r\n const matching = features.find(f => f.tag === tag);\r\n if (matching) {\r\n matching.value = value;\r\n }\r\n this.commit(\"updateSetting\");\r\n },\r\n\r\n updateGsubFeature(state, { tag, value }) {\r\n const features = state.settings.gsubFeatures;\r\n const matching = features.find(f => f.tag === tag);\r\n if (matching) {\r\n matching.value = value;\r\n }\r\n this.commit(\"updateSetting\");\r\n },\r\n\r\n updateLoclFeature(state, { selectedLanguage }) {\r\n const features = state.settings.gsubFeatures;\r\n const matching = features.find(f => f.tag === \"locl\");\r\n if (matching) {\r\n matching.selectedLanguage = selectedLanguage;\r\n }\r\n this.commit(\"updateSetting\");\r\n },\r\n\r\n mapFontVariationSettings(state) {\r\n const font = state.selectedFont;\r\n state.settings.variationAxes = font.variationAxes.map(a => {\r\n const matching = state.settings.variationAxes.find(aa => aa.tag === a.tag);\r\n return {\r\n ...a,\r\n value: matching ? matching.value : a.defaultValue,\r\n enabled: matching ? matching.enabled : true,\r\n displayName: a.displayName,\r\n };\r\n });\r\n },\r\n\r\n updateVariationAxis(state, { tag, value, enabled }) {\r\n const axis = state.settings.variationAxes.find(a => a.tag === tag);\r\n if (axis) {\r\n if (value != null) {\r\n axis.value = value;\r\n }\r\n if (enabled != null) {\r\n axis.enabled = enabled;\r\n }\r\n }\r\n this.commit(\"updateSetting\");\r\n },\r\n\r\n resetSettings(state) {\r\n //todo add font-specific settings\r\n const settings = Settings.getDefaults();\r\n Object.keys(settings).forEach(key => state.settings[key] = settings[key]);\r\n this.commit(\"computeParams\");\r\n this.commit(\"updateSetting\");\r\n },\r\n\r\n computeParams(state) {\r\n Object.keys(computedParams).forEach(key => {\r\n const paramFunction = computedParams[key];\r\n const newValue = paramFunction.call(state.settings);\r\n if (newValue !== state.settings[key]) {\r\n state.settings[key] = newValue;\r\n }\r\n });\r\n },\r\n\r\n updateSettings(state, options) {\r\n Object.keys(options).forEach(key => {\r\n const value = options[key];\r\n if (key == \"fontSizeUnit\") {\r\n this.commit(\"convertFontSize\", { newUnit: value });\r\n }\r\n state.settings[key] = value;\r\n this.commit(\"updateSetting\");\r\n });\r\n this.commit(\"computeParams\");\r\n },\r\n\r\n restoreSettings(state, { snapshot }) {\r\n state.settings = snapshot;\r\n this.commit(\"mapFontFeatureSettings\");\r\n this.commit(\"mapFontVariationSettings\");\r\n },\r\n\r\n animateSettings(state, { settings }) {\r\n if (settings) {\r\n state.animating = true;\r\n Object.keys(settings).forEach(k => {\r\n Vue.set(state.displayedSettings, k, settings[k]);\r\n });\r\n }\r\n else {\r\n state.animating = false;\r\n }\r\n },\r\n\r\n updateSetting() {\r\n // signalize update to subscriber\r\n },\r\n\r\n convertFontSize(state, { newUnit }) {\r\n const settings = state.settings;\r\n let decimals = String(settings.fontSizeStep).replace(/\\d+\\.?/, \"\").length;\r\n let newSize = convertLength({\r\n value: settings.fontSize,\r\n from: settings.fontSizeUnit,\r\n to: newUnit,\r\n decimals,\r\n });\r\n settings.fontSize = parseFloat(newSize);\r\n },\r\n },\r\n\r\n\r\n actions: {\r\n fontLoadStart({ commit }) {\r\n commit(\"fontLoadStart\");\r\n },\r\n\r\n fontLoadEnd({ commit }) {\r\n commit(\"fontLoadEnd\");\r\n },\r\n },\r\n})\r\n\r\nconfigureMediator(store);\r\n\r\nexport default store;\r\n","import Vue from \"vue\";\n\nVue.config.productionTip = false;\n\nimport Vuebar from \"vuebar\";\nVue.use(Vuebar);\n\nimport VueObserveVisibility from 'vue-observe-visibility'\nVue.use(VueObserveVisibility);\n\nimport VueWorker from 'vue-worker';\nVue.use(VueWorker);\n\nimport \"@/scss/styles.scss\";\nimport App from \"@/App.vue\";\n\nimport router from \"@/router\";\nimport store from '@/store/';\n\nimport 'keen-ui/src/bootstrap';\n\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount(\"#app\");\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningHelp.vue?vue&type=style&index=0&id=7273fa36&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Welcome.vue?vue&type=style&index=0&id=05c36e7e&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Home.vue?vue&type=style&index=0&id=0eadec82&prod&lang=scss&scoped=true&\"","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"e106d62cc6d652433a9c.worker.js\");\n};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteFooter.vue?vue&type=style&index=0&id=1083513b&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditableList.vue?vue&type=style&index=1&id=69007cc0&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageNav.vue?vue&type=style&index=0&id=1b3d2b4c&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./Settings.vue?vue&type=style&index=0&id=030b7c31&prod&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./AnimationEditor.vue?vue&type=style&index=0&id=0dcbafa4&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNavLink.vue?vue&type=style&index=0&id=4f310594&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FileDrop.vue?vue&type=style&index=0&id=b51bf0cc&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./EditorNav.vue?vue&type=style&index=0&id=f4847f42&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./GotchaHeader.vue?vue&type=style&index=0&id=6bcea090&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteHeader.vue?vue&type=style&index=0&id=197ecb26&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningEditor.vue?vue&type=style&index=0&id=7f7c4944&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./CharacterPanel.vue?vue&type=style&index=0&id=6c85dae4&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./SiteLogo.vue?vue&type=style&index=0&id=3c965810&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageList.vue?vue&type=style&index=0&id=f2446db8&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontLoader.vue?vue&type=style&index=0&id=66b06bc2&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguagePanel.vue?vue&type=style&index=0&id=704de156&prod&lang=scss&scoped=true&\"","module.exports = [\n { name: \"Abaza\", opentypeTag: \"ABA \", htmlTag: \"abq\" },\n { name: \"Abkhazian\", opentypeTag: \"ABK \", htmlTag: \"ab\" },\n { name: \"Acholi\", opentypeTag: \"ACH \", htmlTag: \"ach\" },\n { name: \"Achi\", opentypeTag: \"ACR \", htmlTag: \"acr\" },\n { name: \"Adyghe\", opentypeTag: \"ADY \", htmlTag: \"ady\" },\n { name: \"Afrikaans\", opentypeTag: \"AFK \", htmlTag: \"af\" },\n { name: \"Afar\", opentypeTag: \"AFR \", htmlTag: \"aa\" },\n { name: \"Agaw\", opentypeTag: \"AGW \", htmlTag: \"ahg\" },\n { name: \"Aiton\", opentypeTag: \"AIO \", htmlTag: \"aio\" },\n { name: \"Akan\", opentypeTag: \"AKA \", htmlTag: \"ak\" },\n { name: \"Alsatian\", opentypeTag: \"ALS \", htmlTag: \"gsw\" },\n { name: \"Altai\", opentypeTag: \"ALT \", htmlTag: \"atv\" },\n { name: \"Amharic\", opentypeTag: \"AMH \", htmlTag: \"am\" },\n { name: \"Anglo-Saxon\", opentypeTag: \"ANG \", htmlTag: \"ang\" },\n { name: \"Phonetic transcription—Americanist conventions\", opentypeTag: \"APPH\" },\n { name: \"Arabic\", opentypeTag: \"ARA \", htmlTag: \"ar\" },\n { name: \"Aragonese\", opentypeTag: \"ARG \", htmlTag: \"an\" },\n { name: \"Aari\", opentypeTag: \"ARI \", htmlTag: \"aiw\" },\n { name: \"Rakhine\", opentypeTag: \"ARK \", htmlTag: \"mhv\" },\n { name: \"Assamese\", opentypeTag: \"ASM \", htmlTag: \"as\" },\n { name: \"Asturian\", opentypeTag: \"AST \", htmlTag: \"ast\" },\n { name: \"Athapaskan\", opentypeTag: \"ATH \", htmlTag: \"apk\" },\n { name: \"Avar\", opentypeTag: \"AVR \", htmlTag: \"av\" },\n { name: \"Awadhi\", opentypeTag: \"AWA \", htmlTag: \"awa\" },\n { name: \"Aymara\", opentypeTag: \"AYM \", htmlTag: \"ay\" },\n { name: \"Torki\", opentypeTag: \"AZB \", htmlTag: \"azb\" },\n { name: \"Azerbaijani\", opentypeTag: \"AZE \", htmlTag: \"az\" },\n { name: \"Badaga\", opentypeTag: \"BAD \", htmlTag: \"bfq\" },\n { name: \"Banda\", opentypeTag: \"BAD0\", htmlTag: \"bad\" },\n { name: \"Baghelkhandi\", opentypeTag: \"BAG \", htmlTag: \"bfy\" },\n { name: \"Balkar\", opentypeTag: \"BAL \", htmlTag: \"krc\" },\n { name: \"Balinese\", opentypeTag: \"BAN \", htmlTag: \"ban\" },\n { name: \"Bavarian\", opentypeTag: \"BAR \", htmlTag: \"bar\" },\n { name: \"Baulé\", opentypeTag: \"BAU \", htmlTag: \"bci\" },\n { name: \"Batak Toba\", opentypeTag: \"BBC \", htmlTag: \"bbc\" },\n { name: \"Berber\", opentypeTag: \"BBR \", htmlTag: \"ber\" },\n { name: \"Bench\", opentypeTag: \"BCH \", htmlTag: \"bcq\" },\n { name: \"Bible Cree\", opentypeTag: \"BCR \" },\n { name: \"Bandjalang\", opentypeTag: \"BDY \", htmlTag: \"bdy\" },\n { name: \"Belarussian\", opentypeTag: \"BEL \", htmlTag: \"be\" },\n { name: \"Bemba\", opentypeTag: \"BEM \", htmlTag: \"bem\" },\n { name: \"Bengali\", opentypeTag: \"BEN \", htmlTag: \"bn\" },\n { name: \"Haryanvi\", opentypeTag: \"BGC \", htmlTag: \"bgc\" },\n { name: \"Bagri\", opentypeTag: \"BGQ \", htmlTag: \"bgq\" },\n { name: \"Bulgarian\", opentypeTag: \"BGR \", htmlTag: \"bg\" },\n { name: \"Bhili\", opentypeTag: \"BHI \", htmlTag: \"bhi\" },\n { name: \"Bhojpuri\", opentypeTag: \"BHO \", htmlTag: \"bho\" },\n { name: \"Bikol\", opentypeTag: \"BIK \", htmlTag: \"bik\" },\n { name: \"Bilen\", opentypeTag: \"BIL \", htmlTag: \"byn\" },\n { name: \"Bislama\", opentypeTag: \"BIS \", htmlTag: \"bi\" },\n { name: \"Kanauji\", opentypeTag: \"BJJ \", htmlTag: \"bjj\" },\n { name: \"Blackfoot\", opentypeTag: \"BKF \", htmlTag: \"bla\" },\n { name: \"Baluchi\", opentypeTag: \"BLI \", htmlTag: \"bal\" },\n { name: \"Pa’o Karen\", opentypeTag: \"BLK \", htmlTag: \"blk\" },\n { name: \"Balante\", opentypeTag: \"BLN \", htmlTag: \"bjt\" },\n { name: \"Balti\", opentypeTag: \"BLT \", htmlTag: \"bft\" },\n { name: \"Bambara (Bamanankan)\", opentypeTag: \"BMB \", htmlTag: \"bm\" },\n { name: \"Bamileke\", opentypeTag: \"BML \" },\n { name: \"Bosnian\", opentypeTag: \"BOS \", htmlTag: \"bs\" },\n { name: \"Bishnupriya Manipuri\", opentypeTag: \"BPY \", htmlTag: \"bpy\" },\n { name: \"Breton\", opentypeTag: \"BRE \", htmlTag: \"br\" },\n { name: \"Brahui\", opentypeTag: \"BRH \", htmlTag: \"brh\" },\n { name: \"Braj Bhasha\", opentypeTag: \"BRI \", htmlTag: \"bra\" },\n { name: \"Burmese\", opentypeTag: \"BRM \", htmlTag: \"my\" },\n { name: \"Bodo\", opentypeTag: \"BRX \", htmlTag: \"brx\" },\n { name: \"Bashkir\", opentypeTag: \"BSH \", htmlTag: \"ba\" },\n { name: \"Burushaski\", opentypeTag: \"BSK \", htmlTag: \"bsk\" },\n { name: \"Beti\", opentypeTag: \"BTI \", htmlTag: \"btb\" },\n { name: \"Batak Simalungun\", opentypeTag: \"BTS \", htmlTag: \"bts\" },\n { name: \"Bugis\", opentypeTag: \"BUG \", htmlTag: \"bug\" },\n { name: \"Medumba\", opentypeTag: \"BYV \", htmlTag: \"byv\" },\n { name: \"Kaqchikel\", opentypeTag: \"CAK \", htmlTag: \"cak\" },\n { name: \"Catalan\", opentypeTag: \"CAT \", htmlTag: \"ca\" },\n { name: \"Zamboanga Chavacano\", opentypeTag: \"CBK \", htmlTag: \"cbk\" },\n { name: \"Chinantec\", opentypeTag: \"CCHN\", htmlTag: \"cco\" },\n { name: \"Cebuano\", opentypeTag: \"CEB \", htmlTag: \"ceb\" },\n { name: \"Chechen\", opentypeTag: \"CHE \", htmlTag: \"ce\" },\n { name: \"Chaha Gurage\", opentypeTag: \"CHG \", htmlTag: \"sgw\" },\n { name: \"Chattisgarhi\", opentypeTag: \"CHH \", htmlTag: \"hne\" },\n { name: \"Chichewa (Chewa, Nyanja)\", opentypeTag: \"CHI \", htmlTag: \"ny\" },\n { name: \"Chukchi\", opentypeTag: \"CHK \", htmlTag: \"ckt\" },\n { name: \"Chuukese\", opentypeTag: \"CHK0\", htmlTag: \"chk\" },\n { name: \"Choctaw\", opentypeTag: \"CHO \", htmlTag: \"cho\" },\n { name: \"Chipewyan\", opentypeTag: \"CHP \", htmlTag: \"chp\" },\n { name: \"Cherokee\", opentypeTag: \"CHR \", htmlTag: \"chr\" },\n { name: \"Chamorro\", opentypeTag: \"CHA \", htmlTag: \"ch\" },\n { name: \"Chuvash\", opentypeTag: \"CHU \", htmlTag: \"cv\" },\n { name: \"Cheyenne\", opentypeTag: \"CHY \", htmlTag: \"chy\" },\n { name: \"Chiga\", opentypeTag: \"CGG \", htmlTag: \"cgg\" },\n { name: \"Western Cham\", opentypeTag: \"CJA \", htmlTag: \"cja\" },\n { name: \"Eastern Cham\", opentypeTag: \"CJM \", htmlTag: \"cjm\" },\n { name: \"Comorian\", opentypeTag: \"CMR \", htmlTag: \"swb\" },\n { name: \"Coptic\", opentypeTag: \"COP \", htmlTag: \"cop\" },\n { name: \"Cornish\", opentypeTag: \"COR \", htmlTag: \"kw\" },\n { name: \"Corsican\", opentypeTag: \"COS \", htmlTag: \"co\" },\n { name: \"Creoles\", opentypeTag: \"CPP \", htmlTag: \"crp\" },\n { name: \"Cree\", opentypeTag: \"CRE \", htmlTag: \"cr\" },\n { name: \"Carrier\", opentypeTag: \"CRR \", htmlTag: \"crx\" },\n { name: \"Crimean Tatar\", opentypeTag: \"CRT \", htmlTag: \"crh\" },\n { name: \"Kashubian\", opentypeTag: \"CSB \", htmlTag: \"csb\" },\n { name: \"Church Slavonic\", opentypeTag: \"CSL \", htmlTag: \"cu\" },\n { name: \"Czech\", opentypeTag: \"CSY \", htmlTag: \"cs\" },\n { name: \"Chittagonian\", opentypeTag: \"CTG \", htmlTag: \"ctg\" },\n { name: \"San Blas Kuna\", opentypeTag: \"CUK \", htmlTag: \"cuk\" },\n { name: \"Danish\", opentypeTag: \"DAN \", htmlTag: \"da\" },\n { name: \"Dargwa\", opentypeTag: \"DAR \", htmlTag: \"dar\" },\n { name: \"Dayi\", opentypeTag: \"DAX \", htmlTag: \"dax\" },\n { name: \"Woods Cree\", opentypeTag: \"DCR \", htmlTag: \"cwd\" },\n { name: \"German\", opentypeTag: \"DEU \", htmlTag: \"de\" },\n { name: \"Dogri\", opentypeTag: \"DGO \", htmlTag: \"dgo\" },\n { name: \"Dogri\", opentypeTag: \"DGR \", htmlTag: \"doi\" },\n { name: \"Dhangu\", opentypeTag: \"DHG \", htmlTag: \"dhg\" },\n { name: \"Divehi (Dhivehi, Maldivian)\", opentypeTag: \"DHV (deprecated)\", htmlTag: \"dv\" },\n { name: \"Dimli\", opentypeTag: \"DIQ \", htmlTag: \"diq\" },\n { name: \"Divehi (Dhivehi, Maldivian)\", opentypeTag: \"DIV \", htmlTag: \"dv\" },\n { name: \"Zarma\", opentypeTag: \"DJR \", htmlTag: \"dje\" },\n { name: \"Djambarrpuyngu\", opentypeTag: \"DJR0\", htmlTag: \"djr\" },\n { name: \"Dangme\", opentypeTag: \"DNG \", htmlTag: \"ada\" },\n { name: \"Dan\", opentypeTag: \"DNJ \", htmlTag: \"dnj\" },\n { name: \"Dinka\", opentypeTag: \"DNK \", htmlTag: \"din\" },\n { name: \"Dari\", opentypeTag: \"DRI \", htmlTag: \"prs\" },\n { name: \"Dhuwal\", opentypeTag: \"DUJ \", htmlTag: \"duj\" },\n { name: \"Dungan\", opentypeTag: \"DUN \", htmlTag: \"dng\" },\n { name: \"Dzongkha\", opentypeTag: \"DZN \", htmlTag: \"dz\" },\n { name: \"Ebira\", opentypeTag: \"EBI \", htmlTag: \"igb\" },\n { name: \"Eastern Cree\", opentypeTag: \"ECR \", htmlTag: \"crj\" },\n { name: \"Edo\", opentypeTag: \"EDO \", htmlTag: \"bin\" },\n { name: \"Efik\", opentypeTag: \"EFI \", htmlTag: \"efi\" },\n { name: \"Greek\", opentypeTag: \"ELL \", htmlTag: \"el\" },\n { name: \"Eastern Maninkakan\", opentypeTag: \"EMK \", htmlTag: \"emk\" },\n { name: \"English\", opentypeTag: \"ENG \", htmlTag: \"en\" },\n { name: \"Erzya\", opentypeTag: \"ERZ \", htmlTag: \"myv\" },\n { name: \"Spanish\", opentypeTag: \"ESP \", htmlTag: \"es\" },\n { name: \"Central Yupik\", opentypeTag: \"ESU \", htmlTag: \"esu\" },\n { name: \"Estonian\", opentypeTag: \"ETI \", htmlTag: \"et\" },\n { name: \"Basque\", opentypeTag: \"EUQ \", htmlTag: \"eu\" },\n { name: \"Evenki\", opentypeTag: \"EVK \", htmlTag: \"evn\" },\n { name: \"Even\", opentypeTag: \"EVN \", htmlTag: \"eve\" },\n { name: \"Ewe\", opentypeTag: \"EWE \", htmlTag: \"ee\" },\n { name: \"French Antillean\", opentypeTag: \"FAN \", htmlTag: \"acf\" },\n { name: \"Fang\", opentypeTag: \"FAN0\", htmlTag: \"fan\" },\n { name: \"Persian\", opentypeTag: \"FAR \", htmlTag: \"fa\" },\n { name: \"Fanti\", opentypeTag: \"FAT \", htmlTag: \"fat\" },\n { name: \"Finnish\", opentypeTag: \"FIN \", htmlTag: \"fi\" },\n { name: \"Fijian\", opentypeTag: \"FJI \", htmlTag: \"fj\" },\n { name: \"Dutch (Flemish)\", opentypeTag: \"FLE \", htmlTag: \"vls\" },\n { name: \"Fe’fe’\", opentypeTag: \"FMP \", htmlTag: \"fmp\" },\n { name: \"Forest Nenets\", opentypeTag: \"FNE \", htmlTag: \"enf\" },\n { name: \"Fon\", opentypeTag: \"FON \", htmlTag: \"fon\" },\n { name: \"Faroese\", opentypeTag: \"FOS \", htmlTag: \"fo\" },\n { name: \"French\", opentypeTag: \"FRA \", htmlTag: \"fr\" },\n { name: \"Cajun French\", opentypeTag: \"FRC \", htmlTag: \"frc\" },\n { name: \"Frisian\", opentypeTag: \"FRI \", htmlTag: \"fy\" },\n { name: \"Friulian\", opentypeTag: \"FRL \", htmlTag: \"fur\" },\n { name: \"Arpitan\", opentypeTag: \"FRP \", htmlTag: \"frp\" },\n { name: \"Futa\", opentypeTag: \"FTA \", htmlTag: \"fuf\" },\n { name: \"Fulah\", opentypeTag: \"FUL \", htmlTag: \"ff\" },\n { name: \"Nigerian Fulfulde\", opentypeTag: \"FUV \", htmlTag: \"fuv\" },\n { name: \"Ga\", opentypeTag: \"GAD \", htmlTag: \"gaa\" },\n { name: \"Scottish Gaelic (Gaelic)\", opentypeTag: \"GAE \", htmlTag: \"gd\" },\n { name: \"Gagauz\", opentypeTag: \"GAG \", htmlTag: \"gag\" },\n { name: \"Galician\", opentypeTag: \"GAL \", htmlTag: \"gl\" },\n { name: \"Garshuni\", opentypeTag: \"GAR \" },\n { name: \"Garhwali\", opentypeTag: \"GAW \", htmlTag: \"gbm\" },\n { name: \"Geez\", opentypeTag: \"GEZ \", htmlTag: \"gez\" },\n { name: \"Githabul\", opentypeTag: \"GIH \", htmlTag: \"gih\" },\n { name: \"Gilyak\", opentypeTag: \"GIL \", htmlTag: \"niv\" },\n { name: \"Kiribati (Gilbertese)\", opentypeTag: \"GIL0\", htmlTag: \"gil\" },\n { name: \"Kpelle (Guinea)\", opentypeTag: \"GKP \", htmlTag: \"gkp\" },\n { name: \"Gilaki\", opentypeTag: \"GLK \", htmlTag: \"glk\" },\n { name: \"Gumuz\", opentypeTag: \"GMZ \", htmlTag: \"guk\" },\n { name: \"Gumatj\", opentypeTag: \"GNN \", htmlTag: \"gnn\" },\n { name: \"Gogo\", opentypeTag: \"GOG \", htmlTag: \"gog\" },\n { name: \"Gondi\", opentypeTag: \"GON \", htmlTag: \"gon\" },\n { name: \"Greenlandic\", opentypeTag: \"GRN \", htmlTag: \"kl\" },\n { name: \"Garo\", opentypeTag: \"GRO \", htmlTag: \"grt\" },\n { name: \"Guarani\", opentypeTag: \"GUA \", htmlTag: \"gn\" },\n { name: \"Wayuu\", opentypeTag: \"GUC \", htmlTag: \"guc\" },\n { name: \"Gupapuyngu\", opentypeTag: \"GUF \", htmlTag: \"guf\" },\n { name: \"Gujarati\", opentypeTag: \"GUJ \", htmlTag: \"gu\" },\n { name: \"Gusii\", opentypeTag: \"GUZ \", htmlTag: \"guz\" },\n { name: \"Haitian (Haitian Creole)\", opentypeTag: \"HAI \", htmlTag: \"ht\" },\n { name: \"Halam (Falam Chin)\", opentypeTag: \"HAL \", htmlTag: \"flm\" },\n { name: \"Harauti\", opentypeTag: \"HAR \", htmlTag: \"hoj\" },\n { name: \"Hausa\", opentypeTag: \"HAU \", htmlTag: \"ha\" },\n { name: \"Hawaiian\", opentypeTag: \"HAW \", htmlTag: \"haw\" },\n { name: \"Haya\", opentypeTag: \"HAY \", htmlTag: \"hay\" },\n { name: \"Hazaragi\", opentypeTag: \"HAZ \", htmlTag: \"haz\" },\n { name: \"Hammer-Banna\", opentypeTag: \"HBN \", htmlTag: \"amf\" },\n { name: \"Herero\", opentypeTag: \"HER \", htmlTag: \"hz\" },\n { name: \"Hiligaynon\", opentypeTag: \"HIL \", htmlTag: \"hil\" },\n { name: \"Hindi\", opentypeTag: \"HIN \", htmlTag: \"hi\" },\n { name: \"High Mari\", opentypeTag: \"HMA \", htmlTag: \"mrj\" },\n { name: \"Hmong\", opentypeTag: \"HMN \", htmlTag: \"hmn\" },\n { name: \"Hiri Motu\", opentypeTag: \"HMO \", htmlTag: \"ho\" },\n { name: \"Hindko\", opentypeTag: \"HND \", htmlTag: \"hno\" },\n { name: \"Ho\", opentypeTag: \"HO\", htmlTag: \"hoc\" },\n { name: \"Harari\", opentypeTag: \"HRI \", htmlTag: \"har\" },\n { name: \"Croatian\", opentypeTag: \"HRV \", htmlTag: \"hr\" },\n { name: \"Hungarian\", opentypeTag: \"HUN \", htmlTag: \"hu\" },\n { name: \"Armenian\", opentypeTag: \"HYE \", htmlTag: \"hy\" },\n { name: \"Armenian East\", opentypeTag: \"HYE0\", htmlTag: \"hy\" },\n { name: \"Iban\", opentypeTag: \"IBA \", htmlTag: \"iba\" },\n { name: \"Ibibio\", opentypeTag: \"IBB \", htmlTag: \"ibb\" },\n { name: \"Igbo\", opentypeTag: \"IBO \", htmlTag: \"ig\" },\n { name: \"Ijo languages\", opentypeTag: \"IJO \", htmlTag: \"ijc\" },\n { name: \"Ido\", opentypeTag: \"IDO \", htmlTag: \"io\" },\n { name: \"Interlingue\", opentypeTag: \"ILE \", htmlTag: \"ie\" },\n { name: \"Ilokano\", opentypeTag: \"ILO \", htmlTag: \"ilo\" },\n { name: \"Interlingua\", opentypeTag: \"INA \", htmlTag: \"ia\" },\n { name: \"Indonesian\", opentypeTag: \"IND \", htmlTag: \"id\" },\n { name: \"Ingush\", opentypeTag: \"ING \", htmlTag: \"inh\" },\n { name: \"Inuktitut\", opentypeTag: \"INU \", htmlTag: \"iu\" },\n { name: \"Inupiat\", opentypeTag: \"IPK \", htmlTag: \"ik\" },\n { name: \"Phonetic transcription—IPA conventions\", opentypeTag: \"IPPH\" },\n { name: \"Irish\", opentypeTag: \"IRI \", htmlTag: \"ga\" },\n { name: \"Irish Traditional\", opentypeTag: \"IRT \", htmlTag: \"ga\" },\n { name: \"Icelandic\", opentypeTag: \"ISL \", htmlTag: \"is\" },\n { name: \"Inari Sami\", opentypeTag: \"ISM \", htmlTag: \"smn\" },\n { name: \"Italian\", opentypeTag: \"ITA \", htmlTag: \"it\" },\n { name: \"Hebrew\", opentypeTag: \"IWR \", htmlTag: \"he\" },\n { name: \"Jamaican Creole\", opentypeTag: \"JAM \", htmlTag: \"jam\" },\n { name: \"Japanese\", opentypeTag: \"JAN \", htmlTag: \"ja\" },\n { name: \"Javanese\", opentypeTag: \"JAV \", htmlTag: \"jv\" },\n { name: \"Lojban\", opentypeTag: \"JBO \", htmlTag: \"jbo\" },\n { name: \"Krymchak\", opentypeTag: \"JCT \", htmlTag: \"jct\" },\n { name: \"Yiddish\", opentypeTag: \"JII \", htmlTag: \"yi\" },\n { name: \"Ladino\", opentypeTag: \"JUD \", htmlTag: \"lad\" },\n { name: \"Jula\", opentypeTag: \"JUL \", htmlTag: \"dyu\" },\n { name: \"Kabardian\", opentypeTag: \"KAB \", htmlTag: \"kbd\" },\n { name: \"Kabyle\", opentypeTag: \"KAB0\", htmlTag: \"kab\" },\n { name: \"Kachchi\", opentypeTag: \"KAC \", htmlTag: \"kfr\" },\n { name: \"Kalenjin\", opentypeTag: \"KAL \", htmlTag: \"kln\" },\n { name: \"Kannada\", opentypeTag: \"KAN \", htmlTag: \"kn\" },\n { name: \"Karachay\", opentypeTag: \"KAR \", htmlTag: \"krc\" },\n { name: \"Georgian\", opentypeTag: \"KAT \", htmlTag: \"ka\" },\n { name: \"Kazakh\", opentypeTag: \"KAZ \", htmlTag: \"kk\" },\n { name: \"Makonde\", opentypeTag: \"KDE \", htmlTag: \"kde\" },\n { name: \"Kabuverdianu (Crioulo)\", opentypeTag: \"KEA \", htmlTag: \"kea\" },\n { name: \"Kebena\", opentypeTag: \"KEB \", htmlTag: \"ktb\" },\n { name: \"Kekchi\", opentypeTag: \"KEK \", htmlTag: \"kek\" },\n { name: \"Khutsuri Georgian\", opentypeTag: \"KGE \", htmlTag: \"ka\" },\n { name: \"Khakass\", opentypeTag: \"KHA \", htmlTag: \"kjh\" },\n { name: \"Khanty-Kazim\", opentypeTag: \"KHK \", htmlTag: \"kca\" },\n { name: \"Khmer\", opentypeTag: \"KHM \", htmlTag: \"km\" },\n { name: \"Khanty-Shurishkar\", opentypeTag: \"KHS \", htmlTag: \"kca\" },\n { name: \"Khamti Shan\", opentypeTag: \"KHT \", htmlTag: \"kht\" },\n { name: \"Khanty-Vakhi\", opentypeTag: \"KHV \", htmlTag: \"kca\" },\n { name: \"Khowar\", opentypeTag: \"KHW \", htmlTag: \"khw\" },\n { name: \"Kikuyu (Gikuyu)\", opentypeTag: \"KIK \", htmlTag: \"ki\" },\n { name: \"Kirghiz (Kyrgyz)\", opentypeTag: \"KIR \", htmlTag: \"ky\" },\n { name: \"Kisii\", opentypeTag: \"KIS \", htmlTag: \"kqs\" },\n { name: \"Kirmanjki\", opentypeTag: \"KIU \", htmlTag: \"kiu\" },\n { name: \"Southern Kiwai\", opentypeTag: \"KJD \", htmlTag: \"kjd\" },\n { name: \"Eastern Pwo Karen\", opentypeTag: \"KJP \", htmlTag: \"kjp\" },\n { name: \"Bumthangkha\", opentypeTag: \"KJZ \", htmlTag: \"kjz\" },\n { name: \"Kokni\", opentypeTag: \"KKN \", htmlTag: \"kex\" },\n { name: \"Kalmyk\", opentypeTag: \"KLM \", htmlTag: \"xal\" },\n { name: \"Kamba\", opentypeTag: \"KMB \", htmlTag: \"kam\" },\n { name: \"Kumaoni\", opentypeTag: \"KMN \", htmlTag: \"kfy\" },\n { name: \"Komo\", opentypeTag: \"KMO \", htmlTag: \"kmw\" },\n { name: \"Komso\", opentypeTag: \"KMS \", htmlTag: \"kxc\" },\n { name: \"Khorasani Turkic\", opentypeTag: \"KMZ \", htmlTag: \"kmz\" },\n { name: \"Kanuri\", opentypeTag: \"KNR \", htmlTag: \"kr\" },\n { name: \"Kodagu\", opentypeTag: \"KOD \", htmlTag: \"kfa\" },\n { name: \"Korean Old Hangul\", opentypeTag: \"KOH \", htmlTag: \"okm\" },\n { name: \"Konkani\", opentypeTag: \"KOK \", htmlTag: \"kok\" },\n { name: \"Kikongo\", opentypeTag: \"KON \", htmlTag: \"ktu\" },\n { name: \"Komi\", opentypeTag: \"KOM \", htmlTag: \"kv\" },\n { name: \"Kongo\", opentypeTag: \"KON0\", htmlTag: \"kg\" },\n { name: \"Komi-Permyak\", opentypeTag: \"KOP \", htmlTag: \"koi\" },\n { name: \"Korean\", opentypeTag: \"KOR \", htmlTag: \"ko\" },\n { name: \"Kosraean\", opentypeTag: \"KOS \", htmlTag: \"kos\" },\n { name: \"Komi-Zyrian\", opentypeTag: \"KOZ \", htmlTag: \"kpv\" },\n { name: \"Kpelle\", opentypeTag: \"KPL \", htmlTag: \"kpe\" },\n { name: \"Krio\", opentypeTag: \"KRI \", htmlTag: \"kri\" },\n { name: \"Karakalpak\", opentypeTag: \"KRK \", htmlTag: \"kaa\" },\n { name: \"Karelian\", opentypeTag: \"KRL \", htmlTag: \"krl\" },\n { name: \"Karaim\", opentypeTag: \"KRM \", htmlTag: \"kdr\" },\n { name: \"Karen\", opentypeTag: \"KRN \", htmlTag: \"kar\" },\n { name: \"Koorete\", opentypeTag: \"KRT \", htmlTag: \"kqy\" },\n { name: \"Kashmiri\", opentypeTag: \"KSH \", htmlTag: \"ks\" },\n { name: \"Ripuarian\", opentypeTag: \"KSH0\", htmlTag: \"ksh\" },\n { name: \"Khasi\", opentypeTag: \"KSI \", htmlTag: \"kha\" },\n { name: \"Kildin Sami\", opentypeTag: \"KSM \", htmlTag: \"sjd\" },\n { name: \"S’gaw Karen\", opentypeTag: \"KSW \", htmlTag: \"ksw\" },\n { name: \"Kuanyama\", opentypeTag: \"KUA \", htmlTag: \"kj\" },\n { name: \"Kui\", opentypeTag: \"KUI \", htmlTag: \"kxu\" },\n { name: \"Kulvi\", opentypeTag: \"KUL \", htmlTag: \"kfx\" },\n { name: \"Kumyk\", opentypeTag: \"KUM \", htmlTag: \"kum\" },\n { name: \"Kurdish\", opentypeTag: \"KUR \", htmlTag: \"ku\" },\n { name: \"Kurukh\", opentypeTag: \"KUU \", htmlTag: \"kru\" },\n { name: \"Kuy\", opentypeTag: \"KUY \", htmlTag: \"kdt\" },\n { name: \"Koryak\", opentypeTag: \"KYK \", htmlTag: \"kpy\" },\n { name: \"Western Kayah\", opentypeTag: \"KYU \", htmlTag: \"kyu\" },\n { name: \"Ladin\", opentypeTag: \"LAD \", htmlTag: \"lld\" },\n { name: \"Lahuli\", opentypeTag: \"LAH \", htmlTag: \"bfu\" },\n { name: \"Lak\", opentypeTag: \"LAK \", htmlTag: \"lbe\" },\n { name: \"Lambani\", opentypeTag: \"LAM \", htmlTag: \"lmn\" },\n { name: \"Lao\", opentypeTag: \"LAO \", htmlTag: \"lo\" },\n { name: \"Latin\", opentypeTag: \"LAT \", htmlTag: \"la\" },\n { name: \"Laz\", opentypeTag: \"LAZ \", htmlTag: \"lzz\" },\n { name: \"L-Cree\", opentypeTag: \"LCR \", htmlTag: \"crm\" },\n { name: \"Ladakhi\", opentypeTag: \"LDK \", htmlTag: \"lbj\" },\n { name: \"Lezgi\", opentypeTag: \"LEZ \", htmlTag: \"lez\" },\n { name: \"Ligurian\", opentypeTag: \"LIJ \", htmlTag: \"lij\" },\n { name: \"Limburgish\", opentypeTag: \"LIM \", htmlTag: \"li\" },\n { name: \"Lingala\", opentypeTag: \"LIN \", htmlTag: \"ln\" },\n { name: \"Lisu\", opentypeTag: \"LIS \", htmlTag: \"lis\" },\n { name: \"Lampung\", opentypeTag: \"LJP \", htmlTag: \"ljp\" },\n { name: \"Laki\", opentypeTag: \"LKI \", htmlTag: \"lki\" },\n { name: \"Low Mari\", opentypeTag: \"LMA \", htmlTag: \"mhr\" },\n { name: \"Limbu\", opentypeTag: \"LMB \", htmlTag: \"lif\" },\n { name: \"Lombard\", opentypeTag: \"LMO \", htmlTag: \"lmo\" },\n { name: \"Lomwe\", opentypeTag: \"LMW \", htmlTag: \"ngl\" },\n { name: \"Loma\", opentypeTag: \"LOM \", htmlTag: \"lom\" },\n { name: \"Luri\", opentypeTag: \"LRC \", htmlTag: \"lrc\" },\n { name: \"Lower Sorbian\", opentypeTag: \"LSB \", htmlTag: \"dsb\" },\n { name: \"Lule Sami\", opentypeTag: \"LSM \", htmlTag: \"smj\" },\n { name: \"Lithuanian\", opentypeTag: \"LTH \", htmlTag: \"lt\" },\n { name: \"Luxembourgish\", opentypeTag: \"LTZ \", htmlTag: \"lb\" },\n { name: \"Luba-Lulua\", opentypeTag: \"LUA \", htmlTag: \"lua\" },\n { name: \"Luba-Katanga\", opentypeTag: \"LUB \", htmlTag: \"lu\" },\n { name: \"Ganda\", opentypeTag: \"LUG \", htmlTag: \"lg\" },\n { name: \"Luyia\", opentypeTag: \"LUH \", htmlTag: \"luy\" },\n { name: \"Luo\", opentypeTag: \"LUO \", htmlTag: \"luo\" },\n { name: \"Latvian\", opentypeTag: \"LVI \", htmlTag: \"lv\" },\n { name: \"Madura\", opentypeTag: \"MAD \", htmlTag: \"mad\" },\n { name: \"Magahi\", opentypeTag: \"MAG \", htmlTag: \"mag\" },\n { name: \"Marshallese\", opentypeTag: \"MAH \", htmlTag: \"mh\" },\n { name: \"Majang\", opentypeTag: \"MAJ \", htmlTag: \"mpe\" },\n { name: \"Makhuwa\", opentypeTag: \"MAK \", htmlTag: \"vmw\" },\n { name: \"Malayalam\", opentypeTag: \"MAL \", htmlTag: \"ml\" },\n { name: \"Mam\", opentypeTag: \"MAM \", htmlTag: \"mam\" },\n { name: \"Mansi\", opentypeTag: \"MAN \", htmlTag: \"mns\" },\n { name: \"Mapudungun\", opentypeTag: \"MAP \", htmlTag: \"arn\" },\n { name: \"Marathi\", opentypeTag: \"MAR \", htmlTag: \"mr\" },\n { name: \"Marwari\", opentypeTag: \"MAW \", htmlTag: \"mwr\" },\n { name: \"Mbundu\", opentypeTag: \"MBN \", htmlTag: \"kmb\" },\n { name: \"Mbo\", opentypeTag: \"MBO \", htmlTag: \"mbo\" },\n { name: \"Manchu\", opentypeTag: \"MCH \", htmlTag: \"mnc\" },\n { name: \"Moose Cree\", opentypeTag: \"MCR \", htmlTag: \"crm\" },\n { name: \"Mende\", opentypeTag: \"MDE \", htmlTag: \"men\" },\n { name: \"Mandar\", opentypeTag: \"MDR \", htmlTag: \"mdr\" },\n { name: \"Me’en\", opentypeTag: \"MEN \", htmlTag: \"mym\" },\n { name: \"Meru\", opentypeTag: \"MER \", htmlTag: \"mer\" },\n { name: \"Pattani Malay\", opentypeTag: \"MFA \", htmlTag: \"mfa\" },\n { name: \"Morisyen\", opentypeTag: \"MFE \", htmlTag: \"mfe\" },\n { name: \"Minangkabau\", opentypeTag: \"MIN \", htmlTag: \"min\" },\n { name: \"Mizo\", opentypeTag: \"MIZ \", htmlTag: \"lus\" },\n { name: \"Macedonian\", opentypeTag: \"MKD \", htmlTag: \"mk\" },\n { name: \"Makasar\", opentypeTag: \"MKR \", htmlTag: \"mak\" },\n { name: \"Kituba\", opentypeTag: \"MKW \", htmlTag: \"mkw\" },\n { name: \"Male\", opentypeTag: \"MLE \", htmlTag: \"mdy\" },\n { name: \"Malagasy\", opentypeTag: \"MLG \", htmlTag: \"mg\" },\n { name: \"Malinke\", opentypeTag: \"MLN \", htmlTag: \"mlq\" },\n { name: \"Malayalam Reformed\", opentypeTag: \"MLR \", htmlTag: \"ml\" },\n { name: \"Malay\", opentypeTag: \"MLY \", htmlTag: \"ms\" },\n { name: \"Mandinka\", opentypeTag: \"MND \", htmlTag: \"mnk\" },\n { name: \"Mongolian\", opentypeTag: \"MNG \", htmlTag: \"mn\" },\n { name: \"Manipuri\", opentypeTag: \"MNI \", htmlTag: \"mni\" },\n { name: \"Maninka\", opentypeTag: \"MNK \", htmlTag: \"man\" },\n { name: \"Manx\", opentypeTag: \"MNX \", htmlTag: \"gv\" },\n { name: \"Mohawk\", opentypeTag: \"MOH \", htmlTag: \"moh\" },\n { name: \"Moksha\", opentypeTag: \"MOK \", htmlTag: \"mdf\" },\n { name: \"Moldavian\", opentypeTag: \"MOL \", htmlTag: \"mol\" },\n { name: \"Mon\", opentypeTag: \"MON \", htmlTag: \"mnw\" },\n { name: \"Moroccan\", opentypeTag: \"MOR \" },\n { name: \"Mossi\", opentypeTag: \"MOS \", htmlTag: \"mos\" },\n { name: \"Maori\", opentypeTag: \"MRI \", htmlTag: \"mi\" },\n { name: \"Maithili\", opentypeTag: \"MTH \", htmlTag: \"mai\" },\n { name: \"Maltese\", opentypeTag: \"MTS \", htmlTag: \"mt\" },\n { name: \"Mundari\", opentypeTag: \"MUN \", htmlTag: \"unr\" },\n { name: \"Muscogee\", opentypeTag: \"MUS \", htmlTag: \"mus\" },\n { name: \"Mirandese\", opentypeTag: \"MWL \", htmlTag: \"mwl\" },\n { name: \"Hmong Daw\", opentypeTag: \"MWW \", htmlTag: \"mww\" },\n { name: \"Mayan\", opentypeTag: \"MYN \", htmlTag: \"myn\" },\n { name: \"Mazanderani\", opentypeTag: \"MZN \", htmlTag: \"mzn\" },\n { name: \"Naga-Assamese\", opentypeTag: \"NAG \", htmlTag: \"nag\" },\n { name: \"Nahuatl\", opentypeTag: \"NAH \", htmlTag: \"nah\" },\n { name: \"Nanai\", opentypeTag: \"NAN \", htmlTag: \"gld\" },\n { name: \"Neapolitan\", opentypeTag: \"NAP \", htmlTag: \"nap\" },\n { name: \"Naskapi\", opentypeTag: \"NAS \", htmlTag: \"nsk\" },\n { name: \"Nauruan\", opentypeTag: \"NAU \", htmlTag: \"na\" },\n { name: \"Navajo\", opentypeTag: \"NAV \", htmlTag: \"nv\" },\n { name: \"N-Cree\", opentypeTag: \"NCR \", htmlTag: \"csw\" },\n { name: \"Ndebele\", opentypeTag: \"NDB \", htmlTag: \"nr\" },\n { name: \"Ndau\", opentypeTag: \"NDC \", htmlTag: \"ndc\" },\n { name: \"Ndonga\", opentypeTag: \"NDG \", htmlTag: \"ng\" },\n { name: \"Low Saxon\", opentypeTag: \"NDS \", htmlTag: \"nds\" },\n { name: \"Nepali\", opentypeTag: \"NEP \", htmlTag: \"ne\" },\n { name: \"Newari\", opentypeTag: \"NEW \", htmlTag: \"new\" },\n { name: \"Ngbaka\", opentypeTag: \"NGA \", htmlTag: \"nga\" },\n { name: \"Nagari\", opentypeTag: \"NGR \" },\n { name: \"Norway House Cree\", opentypeTag: \"NHC \", htmlTag: \"csw\" },\n { name: \"Nisi\", opentypeTag: \"NIS \", htmlTag: \"dap\" },\n { name: \"Niuean\", opentypeTag: \"NIU \", htmlTag: \"niu\" },\n { name: \"Nyankole\", opentypeTag: \"NKL \", htmlTag: \"nyn\" },\n { name: \"N’Ko\", opentypeTag: \"NKO \", htmlTag: \"nqo\" },\n { name: \"Dutch\", opentypeTag: \"NLD \", htmlTag: \"nl\" },\n { name: \"Nimadi\", opentypeTag: \"NOE \", htmlTag: \"noe\" },\n { name: \"Nogai\", opentypeTag: \"NOG \", htmlTag: \"nog\" },\n { name: \"Norwegian\", opentypeTag: \"NOR \", htmlTag: \"nb\" },\n { name: \"Novial\", opentypeTag: \"NOV \", htmlTag: \"nov\" },\n { name: \"Northern Sami\", opentypeTag: \"NSM \", htmlTag: \"se\" },\n { name: \"Sotho, Northern\", opentypeTag: \"NSO \", htmlTag: \"nso\" },\n { name: \"Northern Tai\", opentypeTag: \"NTA \", htmlTag: \"nod\" },\n { name: \"Esperanto\", opentypeTag: \"NTO \", htmlTag: \"eo\" },\n { name: \"Nyamwezi\", opentypeTag: \"NYM \", htmlTag: \"nym\" },\n { name: \"Norwegian Nynorsk (Nynorsk, Norwegian)\", opentypeTag: \"NYN \", htmlTag: \"nn\" },\n { name: \"Mbembe Tigon\", opentypeTag: \"NZA \", htmlTag: \"nza\" },\n { name: \"Occitan\", opentypeTag: \"OCI \", htmlTag: \"oc\" },\n { name: \"Oji-Cree\", opentypeTag: \"OCR \", htmlTag: \"ojs\" },\n { name: \"Ojibway\", opentypeTag: \"OJB \", htmlTag: \"oj\" },\n { name: \"Odia (formerly Oriya)\", opentypeTag: \"ORI \", htmlTag: \"or\" },\n { name: \"Oromo\", opentypeTag: \"ORO \", htmlTag: \"om\" },\n { name: \"Ossetian\", opentypeTag: \"OSS \", htmlTag: \"os\" },\n { name: \"Palestinian Aramaic\", opentypeTag: \"PAA \", htmlTag: \"sam\" },\n { name: \"Pangasinan\", opentypeTag: \"PAG \", htmlTag: \"pag\" },\n { name: \"Pali\", opentypeTag: \"PAL \", htmlTag: \"pi\" },\n { name: \"Pampangan\", opentypeTag: \"PAM \", htmlTag: \"pam\" },\n { name: \"Punjabi\", opentypeTag: \"PAN \", htmlTag: \"pa\" },\n { name: \"Palpa\", opentypeTag: \"PAP \", htmlTag: \"plp\" },\n { name: \"Papiamentu\", opentypeTag: \"PAP0\", htmlTag: \"pap\" },\n { name: \"Pashto\", opentypeTag: \"PAS \", htmlTag: \"ps\" },\n { name: \"Palauan\", opentypeTag: \"PAU \", htmlTag: \"pau\" },\n { name: \"Bouyei\", opentypeTag: \"PCC \", htmlTag: \"pcc\" },\n { name: \"Picard\", opentypeTag: \"PCD \", htmlTag: \"pcd\" },\n { name: \"Pennsylvania German\", opentypeTag: \"PDC \", htmlTag: \"pdc\" },\n { name: \"Polytonic Greek\", opentypeTag: \"PGR \", htmlTag: \"el\" },\n { name: \"Phake\", opentypeTag: \"PHK \", htmlTag: \"phk\" },\n { name: \"Norfolk\", opentypeTag: \"PIH \", htmlTag: \"pih\" },\n { name: \"Filipino\", opentypeTag: \"PIL \", htmlTag: \"fil\" },\n { name: \"Palaung\", opentypeTag: \"PLG \", htmlTag: \"pce\" },\n { name: \"Polish\", opentypeTag: \"PLK \", htmlTag: \"pl\" },\n { name: \"Piemontese\", opentypeTag: \"PMS \", htmlTag: \"pms\" },\n { name: \"Western Panjabi\", opentypeTag: \"PNB \", htmlTag: \"pnb\" },\n { name: \"Pocomchi\", opentypeTag: \"POH \", htmlTag: \"poh\" },\n { name: \"Pohnpeian\", opentypeTag: \"PON \", htmlTag: \"pon\" },\n { name: \"Provençal / Old Provençal\", opentypeTag: \"PRO \", htmlTag: \"pro\" },\n { name: \"Portuguese\", opentypeTag: \"PTG \", htmlTag: \"pt\" },\n { name: \"Western Pwo Karen\", opentypeTag: \"PWO \", htmlTag: \"pwo\" },\n { name: \"Chin\", opentypeTag: \"QIN \", htmlTag: \"bgr\" },\n { name: \"K’iche’\", opentypeTag: \"QUC \", htmlTag: \"quc\" },\n { name: \"Quechua (Bolivia)\", opentypeTag: \"QUH \", htmlTag: \"quh\" },\n { name: \"Quechua\", opentypeTag: \"QUZ \", htmlTag: \"quz\" },\n { name: \"Quechua (Ecuador)\", opentypeTag: \"QVI \", htmlTag: \"qvi\" },\n { name: \"Quechua (Peru)\", opentypeTag: \"QWH \", htmlTag: \"qwh\" },\n { name: \"Rajasthani\", opentypeTag: \"RAJ \", htmlTag: \"raj\" },\n { name: \"Rarotongan\", opentypeTag: \"RAR \", htmlTag: \"rar\" },\n { name: \"Russian Buriat\", opentypeTag: \"RBU \", htmlTag: \"bxr\" },\n { name: \"R-Cree\", opentypeTag: \"RCR \", htmlTag: \"atj\" },\n { name: \"Rejang\", opentypeTag: \"REJ \", htmlTag: \"rej\" },\n { name: \"Riang\", opentypeTag: \"RIA \", htmlTag: \"ria\" },\n { name: \"Tarifit\", opentypeTag: \"RIF \", htmlTag: \"rif\" },\n { name: \"Ritarungo\", opentypeTag: \"RIT \", htmlTag: \"rit\" },\n { name: \"Arakwal\", opentypeTag: \"RKW \", htmlTag: \"rkw\" },\n { name: \"Romansh\", opentypeTag: \"RMS \", htmlTag: \"rm\" },\n { name: \"Vlax Romani\", opentypeTag: \"RMY \", htmlTag: \"rmy\" },\n { name: \"Romanian\", opentypeTag: \"ROM \", htmlTag: \"ro\" },\n { name: \"Romany\", opentypeTag: \"ROY \", htmlTag: \"rom\" },\n { name: \"Rusyn\", opentypeTag: \"RSY \", htmlTag: \"rue\" },\n { name: \"Rotuman\", opentypeTag: \"RTM \", htmlTag: \"rtm\" },\n { name: \"Kinyarwanda\", opentypeTag: \"RUA \", htmlTag: \"rw\" },\n { name: \"Rundi\", opentypeTag: \"RUN \", htmlTag: \"rn\" },\n { name: \"Aromanian\", opentypeTag: \"RUP \", htmlTag: \"rup\" },\n { name: \"Russian\", opentypeTag: \"RUS \", htmlTag: \"ru\" },\n { name: \"Sadri\", opentypeTag: \"SAD \", htmlTag: \"sck\" },\n { name: \"Sanskrit\", opentypeTag: \"SAN \", htmlTag: \"sa\" },\n { name: \"Sasak\", opentypeTag: \"SAS \", htmlTag: \"sas\" },\n { name: \"Santali\", opentypeTag: \"SAT \", htmlTag: \"sat\" },\n { name: \"Sayisi\", opentypeTag: \"SAY \", htmlTag: \"chp\" },\n { name: \"Sicilian\", opentypeTag: \"SCN \", htmlTag: \"scn\" },\n { name: \"Scots\", opentypeTag: \"SCO \", htmlTag: \"sco\" },\n { name: \"Sekota\", opentypeTag: \"SEK \", htmlTag: \"xan\" },\n { name: \"Selkup\", opentypeTag: \"SEL \", htmlTag: \"sel\" },\n { name: \"Old Irish\", opentypeTag: \"SGA \", htmlTag: \"sga\" },\n { name: \"Sango\", opentypeTag: \"SGO \", htmlTag: \"sg\" },\n { name: \"Samogitian\", opentypeTag: \"SGS \", htmlTag: \"sgs\" },\n { name: \"Tachelhit\", opentypeTag: \"SHI \", htmlTag: \"shi\" },\n { name: \"Shan\", opentypeTag: \"SHN \", htmlTag: \"shn\" },\n { name: \"Sibe\", opentypeTag: \"SIB \", htmlTag: \"sjo\" },\n { name: \"Sidamo\", opentypeTag: \"SID \", htmlTag: \"sid\" },\n { name: \"Silte Gurage\", opentypeTag: \"SIG \", htmlTag: \"xst\" },\n { name: \"Skolt Sami\", opentypeTag: \"SKS \", htmlTag: \"sms\" },\n { name: \"Slovak\", opentypeTag: \"SKY \", htmlTag: \"sk\" },\n { name: \"North Slavey\", opentypeTag: \"SCS \", htmlTag: \"scs\" },\n { name: \"Slavey\", opentypeTag: \"SLA \", htmlTag: \"scs\" },\n { name: \"Slovenian\", opentypeTag: \"SLV \", htmlTag: \"sl\" },\n { name: \"Somali\", opentypeTag: \"SML \", htmlTag: \"so\" },\n { name: \"Samoan\", opentypeTag: \"SMO \", htmlTag: \"sm\" },\n { name: \"Sena\", opentypeTag: \"SNA \", htmlTag: \"seh\" },\n { name: \"Shona\", opentypeTag: \"SNA0\", htmlTag: \"sn\" },\n { name: \"Sindhi\", opentypeTag: \"SND \", htmlTag: \"sd\" },\n { name: \"Sinhala (Sinhalese)\", opentypeTag: \"SNH \", htmlTag: \"si\" },\n { name: \"Soninke\", opentypeTag: \"SNK \", htmlTag: \"snk\" },\n { name: \"Sodo Gurage\", opentypeTag: \"SOG \", htmlTag: \"gru\" },\n { name: \"Songe\", opentypeTag: \"SOP \", htmlTag: \"sop\" },\n { name: \"Sotho, Southern\", opentypeTag: \"SOT \", htmlTag: \"st\" },\n { name: \"Albanian\", opentypeTag: \"SQI \", htmlTag: \"sq\" },\n { name: \"Serbian\", opentypeTag: \"SRB \", htmlTag: \"sr\" },\n { name: \"Sardinian\", opentypeTag: \"SRD \", htmlTag: \"sc\" },\n { name: \"Saraiki\", opentypeTag: \"SRK \", htmlTag: \"skr\" },\n { name: \"Serer\", opentypeTag: \"SRR \", htmlTag: \"srr\" },\n { name: \"South Slavey\", opentypeTag: \"SSL \", htmlTag: \"xsl\" },\n { name: \"Southern Sami\", opentypeTag: \"SSM \", htmlTag: \"sma\" },\n { name: \"Saterland Frisian\", opentypeTag: \"STQ \", htmlTag: \"stq\" },\n { name: \"Sukuma\", opentypeTag: \"SUK \", htmlTag: \"suk\" },\n { name: \"Sundanese\", opentypeTag: \"SUN \", htmlTag: \"su\" },\n { name: \"Suri\", opentypeTag: \"SUR \", htmlTag: \"suq\" },\n { name: \"Svan\", opentypeTag: \"SVA \", htmlTag: \"sva\" },\n { name: \"Swedish\", opentypeTag: \"SVE \", htmlTag: \"sv\" },\n { name: \"Swadaya Aramaic\", opentypeTag: \"SWA \", htmlTag: \"aii\" },\n { name: \"Swahili\", opentypeTag: \"SWK \", htmlTag: \"sw\" },\n { name: \"Swati\", opentypeTag: \"SWZ \", htmlTag: \"ss\" },\n { name: \"Sutu\", opentypeTag: \"SXT \", htmlTag: \"ngo\" },\n { name: \"Upper Saxon\", opentypeTag: \"SXU \", htmlTag: \"sxu\" },\n { name: \"Sylheti\", opentypeTag: \"SYL \", htmlTag: \"syl\" },\n { name: \"Syriac\", opentypeTag: \"SYR \", htmlTag: \"aii\" },\n { name: \"Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre')\", opentypeTag: \"SYRE\", htmlTag: \"syc\" },\n { name: \"Syriac, Western script-variant (equivalent to ISO 15924 'Syrj')\", opentypeTag: \"SYRJ\", htmlTag: \"syc\" },\n { name: \"Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn')\", opentypeTag: \"SYRN\", htmlTag: \"syc\" },\n { name: \"Silesian\", opentypeTag: \"SZL \", htmlTag: \"szl\" },\n { name: \"Tabasaran\", opentypeTag: \"TAB \", htmlTag: \"tab\" },\n { name: \"Tajiki\", opentypeTag: \"TAJ \", htmlTag: \"tg\" },\n { name: \"Tamil\", opentypeTag: \"TAM \", htmlTag: \"ta\" },\n { name: \"Tatar\", opentypeTag: \"TAT \", htmlTag: \"tt\" },\n { name: \"TH-Cree\", opentypeTag: \"TCR \", htmlTag: \"cwd\" },\n { name: \"Dehong Dai\", opentypeTag: \"TDD \", htmlTag: \"tdd\" },\n { name: \"Telugu\", opentypeTag: \"TEL \", htmlTag: \"te\" },\n { name: \"Tetum\", opentypeTag: \"TET \", htmlTag: \"tet\" },\n { name: \"Tagalog\", opentypeTag: \"TGL \", htmlTag: \"tl\" },\n { name: \"Tongan\", opentypeTag: \"TGN \", htmlTag: \"to\" },\n { name: \"Tigre\", opentypeTag: \"TGR \", htmlTag: \"tig\" },\n { name: \"Tigrinya\", opentypeTag: \"TGY \", htmlTag: \"ti\" },\n { name: \"Thai\", opentypeTag: \"THA \", htmlTag: \"th\" },\n { name: \"Tahitian\", opentypeTag: \"THT \", htmlTag: \"ty\" },\n { name: \"Tibetan\", opentypeTag: \"TIB \", htmlTag: \"bo\" },\n { name: \"Tiv\", opentypeTag: \"TIV \", htmlTag: \"tiv\" },\n { name: \"Turkmen\", opentypeTag: \"TKM \", htmlTag: \"tk\" },\n { name: \"Tamashek\", opentypeTag: \"TMH \", htmlTag: \"tmh\" },\n { name: \"Temne\", opentypeTag: \"TMN \", htmlTag: \"tem\" },\n { name: \"Tswana\", opentypeTag: \"TNA \", htmlTag: \"tn\" },\n { name: \"Tundra Nenets\", opentypeTag: \"TNE \", htmlTag: \"enh\" },\n { name: \"Tonga\", opentypeTag: \"TNG \", htmlTag: \"toi\" },\n { name: \"Todo\", opentypeTag: \"TOD \", htmlTag: \"xal\" },\n { name: \"Toma\", opentypeTag: \"TOD0\", htmlTag: \"tod\" },\n { name: \"Tok Pisin\", opentypeTag: \"TPI \", htmlTag: \"tpi\" },\n { name: \"Turkish\", opentypeTag: \"TRK \", htmlTag: \"tr\" },\n { name: \"Tsonga\", opentypeTag: \"TSG \", htmlTag: \"ts\" },\n { name: \"Tshangla\", opentypeTag: \"TSJ \", htmlTag: \"tsj\" },\n { name: \"Turoyo Aramaic\", opentypeTag: \"TUA \", htmlTag: \"tru\" },\n { name: \"Tulu\", opentypeTag: \"TUM \", htmlTag: \"tum\" },\n { name: \"Tumbuka\", opentypeTag: \"TUL \", htmlTag: \"tcy\" },\n { name: \"Tuvin\", opentypeTag: \"TUV \", htmlTag: \"tyv\" },\n { name: \"Tuvalu\", opentypeTag: \"TVL \", htmlTag: \"tvl\" },\n { name: \"Twi\", opentypeTag: \"TWI \", htmlTag: \"ak\" },\n { name: \"Tày\", opentypeTag: \"TYZ \", htmlTag: \"tyz\" },\n { name: \"Tamazight\", opentypeTag: \"TZM \", htmlTag: \"tzm\" },\n { name: \"Tzotzil\", opentypeTag: \"TZO \", htmlTag: \"tzo\" },\n { name: \"Udmurt\", opentypeTag: \"UDM \", htmlTag: \"udm\" },\n { name: \"Ukrainian\", opentypeTag: \"UKR \", htmlTag: \"uk\" },\n { name: \"Umbundu\", opentypeTag: \"UMB \", htmlTag: \"umb\" },\n { name: \"Urdu\", opentypeTag: \"URD \", htmlTag: \"ur\" },\n { name: \"Upper Sorbian\", opentypeTag: \"USB \", htmlTag: \"hsb\" },\n { name: \"Uyghur\", opentypeTag: \"UYG \", htmlTag: \"ug\" },\n { name: \"Uzbek\", opentypeTag: \"UZB \", htmlTag: \"uz\" },\n { name: \"Venetian\", opentypeTag: \"VEC \", htmlTag: \"vec\" },\n { name: \"Venda\", opentypeTag: \"VEN \", htmlTag: \"ve\" },\n { name: \"Vietnamese\", opentypeTag: \"VIT \", htmlTag: \"vi\" },\n { name: \"Volapük\", opentypeTag: \"VOL \", htmlTag: \"vo\" },\n { name: \"Võro\", opentypeTag: \"VRO \", htmlTag: \"vro\" },\n { name: \"Wa\", opentypeTag: \"WA\", htmlTag: \"wbm\" },\n { name: \"Wagdi\", opentypeTag: \"WAG \", htmlTag: \"wbr\" },\n { name: \"Waray-Waray\", opentypeTag: \"WAR \", htmlTag: \"war\" },\n { name: \"West-Cree\", opentypeTag: \"WCR \", htmlTag: \"crk\" },\n { name: \"Welsh\", opentypeTag: \"WEL \", htmlTag: \"cy\" },\n { name: \"Walloon\", opentypeTag: \"WLN \", htmlTag: \"wa\" },\n { name: \"Wolof\", opentypeTag: \"WLF \", htmlTag: \"wo\" },\n { name: \"Mewati\", opentypeTag: \"WTM \", htmlTag: \"wtm\" },\n { name: \"Lü\", opentypeTag: \"XBD \", htmlTag: \"khb\" },\n { name: \"Khengkha\", opentypeTag: \"XKF \", htmlTag: \"xkf\" },\n { name: \"Xhosa\", opentypeTag: \"XHS \", htmlTag: \"xh\" },\n { name: \"Minjangbal\", opentypeTag: \"XJB \", htmlTag: \"xjb\" },\n { name: \"Soga\", opentypeTag: \"XOG \", htmlTag: \"xog\" },\n { name: \"Kpelle (Liberia)\", opentypeTag: \"XPE \", htmlTag: \"xpe\" },\n { name: \"Sakha\", opentypeTag: \"YAK \", htmlTag: \"sah\" },\n { name: \"Yao\", opentypeTag: \"YAO \", htmlTag: \"yao\" },\n { name: \"Yapese\", opentypeTag: \"YAP \", htmlTag: \"yap\" },\n { name: \"Yoruba\", opentypeTag: \"YBA \", htmlTag: \"yo\" },\n { name: \"Y-Cree\", opentypeTag: \"YCR \", htmlTag: \"cr\" },\n { name: \"Yi Classic\", opentypeTag: \"YIC \" },\n { name: \"Yi Modern\", opentypeTag: \"YIM \", htmlTag: \"ii\" },\n { name: \"Zealandic\", opentypeTag: \"ZEA \", htmlTag: \"zea\" },\n { name: \"Standard Moroccan Tamazight\", opentypeTag: \"ZGH \", htmlTag: \"zgh\" },\n { name: \"Zhuang\", opentypeTag: \"ZHA \", htmlTag: \"za\" },\n { name: \"Chinese, Hong Kong SAR\", opentypeTag: \"ZHH \", htmlTag: \"zh\" },\n { name: \"Chinese Phonetic\", opentypeTag: \"ZHP \", htmlTag: \"zh\" },\n { name: \"Chinese Simplified\", opentypeTag: \"ZHS \", htmlTag: \"zh\" },\n { name: \"Chinese Traditional\", opentypeTag: \"ZHT \", htmlTag: \"zh\" },\n { name: \"Zande\", opentypeTag: \"ZND \", htmlTag: \"zne\" },\n { name: \"Zulu\", opentypeTag: \"ZUL \", htmlTag: \"zu\" },\n { name: \"Zazaki\", opentypeTag: \"ZZA \", htmlTag: \"zza\" },\n];\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./FontTester.vue?vue&type=style&index=0&id=64e504be&prod&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiNumber.vue?vue&type=style&index=0&id=7af82180&prod&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=style&index=0&id=24ff4b92&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./LanguageSupportSummary.vue?vue&type=style&index=0&id=a49ceff2&prod&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../node_modules/vue-svg-inline-loader/dist/index.min.js!./KerningNav.vue?vue&type=style&index=0&id=002f2e82&prod&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors.a1088525.js b/js/chunk-vendors.a1088525.js new file mode 100644 index 0000000..7b46840 --- /dev/null +++ b/js/chunk-vendors.a1088525.js @@ -0,0 +1,58 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00b4":function(t,e,n){"use strict";n("ac1f");var r=n("23e7"),i=n("c65b"),a=n("1626"),o=n("825a"),s=n("577e"),c=function(){var t=!1,e=/[ac]/;return e.exec=function(){return t=!0,/./.exec.apply(this,arguments)},!0===e.test("abc")&&t}(),u=/./.test;r({target:"RegExp",proto:!0,forced:!c},{test:function(t){var e=o(this),n=s(t),r=e.exec;if(!a(r))return i(u,e,n);var c=i(r,e,n);return null!==c&&(o(c),!0)}})},"00ee":function(t,e,n){var r=n("b622"),i=r("toStringTag"),a={};a[i]="z",t.exports="[object z]"===String(a)},"01b4":function(t,e){var n=function(){this.head=null,this.tail=null};n.prototype={add:function(t){var e={item:t,next:null},n=this.tail;n?n.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t){var e=this.head=t.next;return null===e&&(this.tail=null),t.item}}},t.exports=n},"024f":function(t,e,n){},"030b":function(t,e,n){},"0366":function(t,e,n){var r=n("4625"),i=n("59ed"),a=n("40d5"),o=r(r.bind);t.exports=function(t,e){return i(t),void 0===e?t:a?o(t,e):function(){return t.apply(e,arguments)}}},"03b8":function(t,e,n){"use strict";n("030b")},"0415":function(t,e,n){"use strict";n("25ce")},"04d1":function(t,e,n){var r=n("342f"),i=r.match(/firefox\/(\d+)/i);t.exports=!!i&&+i[1]},"04f8":function(t,e,n){var r=n("2d00"),i=n("d039"),a=n("da84"),o=a.String;t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!o(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},"057f":function(t,e,n){var r=n("c6b6"),i=n("fc6a"),a=n("241c").f,o=n("4dae"),s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return a(t)}catch(e){return o(s)}};t.exports.f=function(t){return s&&"Window"==r(t)?c(t):a(i(t))}},"06c5":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n("fb6a"),n("d3b7"),n("25f0"),n("b0c0"),n("a630"),n("3ca3"),n("ac1f"),n("00b4");var r=n("6b75");function i(t,e){if(t){if("string"===typeof t)return Object(r["a"])(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r["a"])(t,e):void 0}}},"06cf":function(t,e,n){var r=n("83ab"),i=n("c65b"),a=n("d1e7"),o=n("5c6c"),s=n("fc6a"),c=n("a04b"),u=n("1a2d"),l=n("0cfb"),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=s(t),e=c(e),l)try{return f(t,e)}catch(n){}if(u(t,e))return o(!i(a.f,t,e),t[e])}},"07fa":function(t,e,n){var r=n("50c4");t.exports=function(t){return r(t.length)}},"083a":function(t,e,n){"use strict";var r=n("0d51"),i=TypeError;t.exports=function(t,e){if(!delete t[e])throw i("Cannot delete property "+r(e)+" of "+r(t))}},"0b42":function(t,e,n){var r=n("e8b5"),i=n("68ee"),a=n("861d"),o=n("b622"),s=o("species"),c=Array;t.exports=function(t){var e;return r(t)&&(e=t.constructor,i(e)&&(e===c||r(e.prototype))?e=void 0:a(e)&&(e=e[s],null===e&&(e=void 0))),void 0===e?c:e}},"0b43":function(t,e,n){var r=n("04f8");t.exports=r&&!!Symbol["for"]&&!!Symbol.keyFor},"0c47":function(t,e,n){var r=n("da84"),i=n("d44e");i(r.JSON,"JSON",!0)},"0cb2":function(t,e,n){var r=n("e330"),i=n("7b0b"),a=Math.floor,o=r("".charAt),s=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,l=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,n,r,f,p){var h=n+t.length,d=r.length,g=l;return void 0!==f&&(f=i(f),g=u),s(p,g,(function(i,s){var u;switch(o(s,0)){case"$":return"$";case"&":return t;case"`":return c(e,0,n);case"'":return c(e,h);case"<":u=f[c(s,1,-1)];break;default:var l=+s;if(0===l)return i;if(l>d){var p=a(l/10);return 0===p?i:p<=d?void 0===r[p-1]?o(s,1):r[p-1]+o(s,1):i}u=r[l-1]}return void 0===u?"":u}))}},"0ccb":function(t,e,n){var r=n("e330"),i=n("50c4"),a=n("577e"),o=n("1148"),s=n("1d80"),c=r(o),u=r("".slice),l=Math.ceil,f=function(t){return function(e,n,r){var o,f,p=a(s(e)),h=i(n),d=p.length,g=void 0===r?" ":a(r);return h<=d||""==g?p:(o=h-d,f=c(g,l(o/g.length)),f.length>o&&(f=u(f,0,o)),t?p+f:f+p)}};t.exports={start:f(!1),end:f(!0)}},"0cfb":function(t,e,n){var r=n("83ab"),i=n("d039"),a=n("cc12");t.exports=!r&&!i((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},"0d26":function(t,e,n){var r=n("e330"),i=Error,a=r("".replace),o=function(t){return String(i(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,c=s.test(o);t.exports=function(t,e){if(c&&"string"==typeof t&&!i.prepareStackTrace)while(e--)t=a(t,s,"");return t}},"0d51":function(t,e){var n=String;t.exports=function(t){try{return n(t)}catch(e){return"Object"}}},"107c":function(t,e,n){var r=n("d039"),i=n("da84"),a=i.RegExp;t.exports=r((function(){var t=a("(?b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}))},"10a7":function(t,e,n){},1148:function(t,e,n){"use strict";var r=n("5926"),i=n("577e"),a=n("1d80"),o=RangeError;t.exports=function(t){var e=i(a(this)),n="",s=r(t);if(s<0||s==1/0)throw o("Wrong number of repetitions");for(;s>0;(s>>>=1)&&(e+=e))1&s&&(n+=e);return n}},1209:function(t,e,n){"use strict";var r={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},i={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],o={CSS:{},springs:{}};function s(t,e,n){return Math.min(Math.max(t,e),n)}function c(t,e){return t.indexOf(e)>-1}function u(t,e){return t.apply(null,e)}var l={arr:function(t){return Array.isArray(t)},obj:function(t){return c(Object.prototype.toString.call(t),"Object")},pth:function(t){return l.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},inp:function(t){return t instanceof HTMLInputElement},dom:function(t){return t.nodeType||l.svg(t)},str:function(t){return"string"===typeof t},fnc:function(t){return"function"===typeof t},und:function(t){return"undefined"===typeof t},nil:function(t){return l.und(t)||null===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return l.hex(t)||l.rgb(t)||l.hsl(t)},key:function(t){return!r.hasOwnProperty(t)&&!i.hasOwnProperty(t)&&"targets"!==t&&"keyframes"!==t}};function f(t){var e=/\(([^)]+)\)/.exec(t);return e?e[1].split(",").map((function(t){return parseFloat(t)})):[]}function p(t,e){var n=f(t),r=s(l.und(n[0])?1:n[0],.1,100),i=s(l.und(n[1])?100:n[1],.1,100),a=s(l.und(n[2])?10:n[2],.1,100),c=s(l.und(n[3])?0:n[3],.1,100),u=Math.sqrt(i/r),p=a/(2*Math.sqrt(i*r)),h=p<1?u*Math.sqrt(1-p*p):0,d=1,g=p<1?(p*u-c)/h:-c+u;function v(t){var n=e?e*t/1e3:t;return n=p<1?Math.exp(-n*p*u)*(d*Math.cos(h*n)+g*Math.sin(h*n)):(d+g*n)*Math.exp(-n*u),0===t||1===t?t:1-n}function m(){var e=o.springs[t];if(e)return e;var n=1/6,r=0,i=0;while(1)if(r+=n,1===v(r)){if(i++,i>=16)break}else i=0;var a=r*n*1e3;return o.springs[t]=a,a}return e?v:m}function h(t){return void 0===t&&(t=10),function(e){return Math.ceil(s(e,1e-6,1)*t)*(1/t)}}var d=function(){var t=11,e=1/(t-1);function n(t,e){return 1-3*e+3*t}function r(t,e){return 3*e-6*t}function i(t){return 3*t}function a(t,e,a){return((n(e,a)*t+r(e,a))*t+i(e))*t}function o(t,e,a){return 3*n(e,a)*t*t+2*r(e,a)*t+i(e)}function s(t,e,n,r,i){var o,s,c=0;do{s=e+(n-e)/2,o=a(s,r,i)-t,o>0?n=s:e=s}while(Math.abs(o)>1e-7&&++c<10);return s}function c(t,e,n,r){for(var i=0;i<4;++i){var s=o(e,n,r);if(0===s)return e;var c=a(e,n,r)-t;e-=c/s}return e}function u(n,r,i,u){if(0<=n&&n<=1&&0<=i&&i<=1){var l=new Float32Array(t);if(n!==r||i!==u)for(var f=0;f=.001?c(r,h,n,i):0===d?h:s(r,a,a+e,n,i)}}return u}(),g=function(){var t={linear:function(){return function(t){return t}}},e={Sine:function(){return function(t){return 1-Math.cos(t*Math.PI/2)}},Circ:function(){return function(t){return 1-Math.sqrt(1-t*t)}},Back:function(){return function(t){return t*t*(3*t-2)}},Bounce:function(){return function(t){var e,n=4;while(t<((e=Math.pow(2,--n))-1)/11);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*e-2)/22-t,2)}},Elastic:function(t,e){void 0===t&&(t=1),void 0===e&&(e=.5);var n=s(t,1,10),r=s(e,.1,2);return function(t){return 0===t||1===t?t:-n*Math.pow(2,10*(t-1))*Math.sin((t-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}},n=["Quad","Cubic","Quart","Quint","Expo"];return n.forEach((function(t,n){e[t]=function(){return function(t){return Math.pow(t,n+2)}}})),Object.keys(e).forEach((function(n){var r=e[n];t["easeIn"+n]=r,t["easeOut"+n]=function(t,e){return function(n){return 1-r(t,e)(1-n)}},t["easeInOut"+n]=function(t,e){return function(n){return n<.5?r(t,e)(2*n)/2:1-r(t,e)(-2*n+2)/2}},t["easeOutIn"+n]=function(t,e){return function(n){return n<.5?(1-r(t,e)(1-2*n))/2:(r(t,e)(2*n-1)+1)/2}}})),t}();function v(t,e){if(l.fnc(t))return t;var n=t.split("(")[0],r=g[n],i=f(t);switch(n){case"spring":return p(t,e);case"cubicBezier":return u(d,i);case"steps":return u(h,i);default:return u(r,i)}}function m(t){try{var e=document.querySelectorAll(t);return e}catch(n){return}}function b(t,e){for(var n=t.length,r=arguments.length>=2?arguments[1]:void 0,i=[],a=0;a1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(0==o)e=n=r=s;else{var l=s<.5?s*(1+o):s+o-s*o,f=2*s-l;e=u(f,l,a+1/3),n=u(f,l,a),r=u(f,l,a-1/3)}return"rgba("+255*e+","+255*n+","+255*r+","+c+")"}function T(t){return l.rgb(t)?S(t):l.hex(t)?E(t):l.hsl(t)?O(t):void 0}function A(t){var e=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t);if(e)return e[1]}function L(t){return c(t,"translate")||"perspective"===t?"px":c(t,"rotate")||c(t,"skew")?"deg":void 0}function N(t,e){return l.fnc(t)?t(e.target,e.id,e.total):t}function j(t,e){return t.getAttribute(e)}function M(t,e,n){var r=A(e);if(k([n,"deg","rad","turn"],r))return e;var i=o.CSS[e+n];if(!l.und(i))return i;var a=100,s=document.createElement(t.tagName),c=t.parentNode&&t.parentNode!==document?t.parentNode:document.body;c.appendChild(s),s.style.position="absolute",s.style.width=a+n;var u=a/s.offsetWidth;c.removeChild(s);var f=u*parseFloat(e);return o.CSS[e+n]=f,f}function P(t,e,n){if(e in t.style){var r=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i=t.style[e]||getComputedStyle(t).getPropertyValue(r)||"0";return n?M(t,i,n):i}}function I(t,e){return l.dom(t)&&!l.inp(t)&&(!l.nil(j(t,e))||l.svg(t)&&t[e])?"attribute":l.dom(t)&&k(a,e)?"transform":l.dom(t)&&"transform"!==e&&P(t,e)?"css":null!=t[e]?"object":void 0}function R(t){if(l.dom(t)){var e,n=t.style.transform||"",r=/(\w+)\(([^)]*)\)/g,i=new Map;while(e=r.exec(n))i.set(e[1],e[2]);return i}}function z(t,e,n,r){var i=c(e,"scale")?1:0+L(e),a=R(t).get(e)||i;return n&&(n.transforms.list.set(e,a),n.transforms["last"]=e),r?M(t,a,r):a}function D(t,e,n,r){switch(I(t,e)){case"transform":return z(t,e,r,n);case"css":return P(t,e,n);case"attribute":return j(t,e);default:return t[e]||0}}function $(t,e){var n=/^(\*=|\+=|-=)/.exec(t);if(!n)return t;var r=A(t)||0,i=parseFloat(e),a=parseFloat(t.replace(n[0],""));switch(n[0][0]){case"+":return i+a+r;case"-":return i-a+r;case"*":return i*a+r}}function F(t,e){if(l.col(t))return T(t);if(/\s/g.test(t))return t;var n=A(t),r=n?t.substr(0,t.length-n.length):t;return e?r+e:r}function B(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function H(t){return 2*Math.PI*j(t,"r")}function U(t){return 2*j(t,"width")+2*j(t,"height")}function V(t){return B({x:j(t,"x1"),y:j(t,"y1")},{x:j(t,"x2"),y:j(t,"y2")})}function q(t){for(var e,n=t.points,r=0,i=0;i0&&(r+=B(e,a)),e=a}return r}function W(t){var e=t.points;return q(t)+B(e.getItem(e.numberOfItems-1),e.getItem(0))}function G(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return H(t);case"rect":return U(t);case"line":return V(t);case"polyline":return q(t);case"polygon":return W(t)}}function K(t){var e=G(t);return t.setAttribute("stroke-dasharray",e),e}function Y(t){var e=t.parentNode;while(l.svg(e)){if(!l.svg(e.parentNode))break;e=e.parentNode}return e}function J(t,e){var n=e||{},r=n.el||Y(t),i=r.getBoundingClientRect(),a=j(r,"viewBox"),o=i.width,s=i.height,c=n.viewBox||(a?a.split(" "):[0,0,o,s]);return{el:r,viewBox:c,x:c[0]/1,y:c[1]/1,w:o,h:s,vW:c[2],vH:c[3]}}function Z(t,e){var n=l.str(t)?m(t)[0]:t,r=e||100;return function(t){return{property:t,el:n,svg:J(n),totalLength:G(n)*(r/100)}}}function X(t,e,n){function r(n){void 0===n&&(n=0);var r=e+n>=1?e+n:0;return t.el.getPointAtLength(r)}var i=J(t.el,t.svg),a=r(),o=r(-1),s=r(1),c=n?1:i.w/i.vW,u=n?1:i.h/i.vH;switch(t.property){case"x":return(a.x-i.x)*c;case"y":return(a.y-i.y)*u;case"angle":return 180*Math.atan2(s.y-o.y,s.x-o.x)/Math.PI}}function Q(t,e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=F(l.pth(t)?t.totalLength:t,e)+"";return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:l.str(t)||e?r.split(n):[]}}function tt(t){var e=t?y(l.arr(t)?t.map(w):w(t)):[];return b(e,(function(t,e,n){return n.indexOf(t)===e}))}function et(t){var e=tt(t);return e.map((function(t,n){return{target:t,id:n,total:e.length,transforms:{list:R(t)}}}))}function nt(t,e){var n=x(e);if(/^spring/.test(n.easing)&&(n.duration=p(n.easing)),l.arr(t)){var r=t.length,i=2===r&&!l.obj(t[0]);i?t={value:t}:l.fnc(e.duration)||(n.duration=e.duration/r)}var a=l.arr(t)?t:[t];return a.map((function(t,n){var r=l.obj(t)&&!l.pth(t)?t:{value:t};return l.und(r.delay)&&(r.delay=n?0:e.delay),l.und(r.endDelay)&&(r.endDelay=n===a.length-1?e.endDelay:0),r})).map((function(t){return _(t,n)}))}function rt(t){for(var e=b(y(t.map((function(t){return Object.keys(t)}))),(function(t){return l.key(t)})).reduce((function(t,e){return t.indexOf(e)<0&&t.push(e),t}),[]),n={},r=function(r){var i=e[r];n[i]=t.map((function(t){var e={};for(var n in t)l.key(n)?n==i&&(e.value=t[n]):e[n]=t[n];return e}))},i=0;i0)||(t=requestAnimationFrame(n))}function n(e){var r=dt.length,i=0;while(i0?requestAnimationFrame(n):void 0}function r(){mt.suspendWhenDocumentHidden&&(vt()?t=cancelAnimationFrame(t):(dt.forEach((function(t){return t._onDocumentVisibility()})),gt()))}return"undefined"!==typeof document&&document.addEventListener("visibilitychange",r),e}();function vt(){return!!document&&document.hidden}function mt(t){void 0===t&&(t={});var e,n=0,r=0,i=0,a=0,o=null;function c(t){var e=window.Promise&&new Promise((function(t){return o=t}));return t.finished=e,e}var u=ht(t);c(u);function l(){var t=u.direction;"alternate"!==t&&(u.direction="normal"!==t?"normal":"reverse"),u.reversed=!u.reversed,e.forEach((function(t){return t.reversed=u.reversed}))}function f(t){return u.reversed?u.duration-t:t}function p(){n=0,r=f(u.currentTime)*(1/mt.speed)}function h(t,e){e&&e.seek(t-e.timelineOffset)}function d(t){if(u.reversePlayback)for(var n=a;n--;)h(t,e[n]);else for(var r=0;r2||(w=Math.round(w*d)/d)),g.push(w)}var C=h.length;if(C){m=h[0];for(var _=0;_0&&(u.began=!0,v("begin")),!u.loopBegan&&u.currentTime>0&&(u.loopBegan=!0,v("loopBegin")),b<=p&&0!==u.currentTime&&g(0),(b>=h&&u.currentTime!==a||!a)&&g(a),b>p&&b=a&&(r=0,m(),u.remaining?(n=i,v("loopComplete"),u.loopBegan=!1,"alternate"===u.direction&&l()):(u.paused=!0,u.completed||(u.completed=!0,v("loopComplete"),v("complete"),!u.passThrough&&"Promise"in window&&(o(),c(u)))))}return u.reset=function(){var t=u.direction;u.passThrough=!1,u.currentTime=0,u.progress=0,u.paused=!0,u.began=!1,u.loopBegan=!1,u.changeBegan=!1,u.completed=!1,u.changeCompleted=!1,u.reversePlayback=!1,u.reversed="reverse"===t,u.remaining=u.loop,e=u.children,a=e.length;for(var n=a;n--;)u.children[n].reset();(u.reversed&&!0!==u.loop||"alternate"===t&&1===u.loop)&&u.remaining++,g(u.reversed?u.duration:0)},u._onDocumentVisibility=p,u.set=function(t,e){return ct(t,e),u},u.tick=function(t){i=t,n||(n=i),y((i+(r-n))*mt.speed)},u.seek=function(t){y(f(t))},u.pause=function(){u.paused=!0,p()},u.play=function(){u.paused&&(u.completed&&u.reset(),u.paused=!1,dt.push(u),p(),gt())},u.reverse=function(){l(),u.completed=!u.reversed,p()},u.restart=function(){u.reset(),u.play()},u.remove=function(t){var e=tt(t);yt(e,u)},u.reset(),u.autoplay&&u.play(),u}function bt(t,e){for(var n=e.length;n--;)k(t,e[n].animatable.target)&&e.splice(n,1)}function yt(t,e){var n=e.animations,r=e.children;bt(t,n);for(var i=r.length;i--;){var a=r[i],o=a.animations;bt(t,o),o.length||a.children.length||r.splice(i,1)}n.length||r.length||e.pause()}function wt(t){for(var e=tt(t),n=dt.length;n--;){var r=dt[n];yt(e,r)}}function kt(t,e){void 0===e&&(e={});var n=e.direction||"normal",r=e.easing?v(e.easing):null,i=e.grid,a=e.axis,o=e.from||0,s="first"===o,c="center"===o,u="last"===o,f=l.arr(t),p=f?parseFloat(t[0]):parseFloat(t),h=f?parseFloat(t[1]):0,d=A(f?t[1]:t)||0,g=e.start||0+(f?p:0),m=[],b=0;return function(t,e,l){if(s&&(o=0),c&&(o=(l-1)/2),u&&(o=l-1),!m.length){for(var v=0;v-1&&dt.splice(a,1);for(var c=0;c1||"".split(/.?/).length?function(t,n){var a=d(l(this)),o=void 0===n?x:n>>>0;if(0===o)return[];if(void 0===t)return[a];if(!u(t))return i(e,a,t,o);var s,c,f,p=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,m=new RegExp(t.source,h+"g");while(s=i(b,m,a)){if(c=m.lastIndex,c>g&&(E(p,O(a,g,s.index)),s.length>1&&s.index=o))break;m.lastIndex===s.index&&m.lastIndex++}return g===a.length?!f&&S(m,"")||E(p,""):E(p,O(a,g)),p.length>o?v(p,0,o):p}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:i(e,this,t,n)}:e,[function(e,n){var r=l(this),o=c(e)?void 0:g(e,t);return o?i(o,e,r,n):i(a,d(r),e,n)},function(t,r){var i=s(this),o=d(t),c=n(a,i,o,r,a!==e);if(c.done)return c.value;var u=f(i,RegExp),l=i.unicode,g=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(k?"g":"y"),v=new u(k?"^(?:"+i.source+")":i,g),b=void 0===r?x:r>>>0;if(0===b)return[];if(0===o.length)return null===m(v,o)?[o]:[];var y=0,w=0,_=[];while(w79&&o<83,u=c||!a("reduce");r({target:"Array",proto:!0,forced:u},{reduce:function(t){var e=arguments.length;return i(this,t,e,e>1?arguments[1]:void 0)}})},"14c3":function(t,e,n){var r=n("c65b"),i=n("825a"),a=n("1626"),o=n("c6b6"),s=n("9263"),c=TypeError;t.exports=function(t,e){var n=t.exec;if(a(n)){var u=r(n,t,e);return null!==u&&i(u),u}if("RegExp"===o(t))return r(s,t,e);throw c("RegExp#exec called on incompatible receiver")}},"14d9":function(t,e,n){"use strict";var r=n("23e7"),i=n("7b0b"),a=n("07fa"),o=n("3a34"),s=n("3511"),c=n("d039"),u=c((function(){return 4294967297!==[].push.call({length:4294967296},1)})),l=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}},f=u||!l();r({target:"Array",proto:!0,arity:1,forced:f},{push:function(t){var e=i(this),n=a(e),r=arguments.length;s(n+r);for(var c=0;c100?100:t}}}),o=a,s=(n("45d1"),n("2877")),c=Object(s["a"])(o,r,i,!1,null,null,null);e["a"]=c.exports},"159b":function(t,e,n){var r=n("da84"),i=n("fdbc"),a=n("785a"),o=n("17c2"),s=n("9112"),c=function(t){if(t&&t.forEach!==o)try{s(t,"forEach",o)}catch(e){t.forEach=o}};for(var u in i)i[u]&&c(r[u]&&r[u].prototype);c(a)},"15fd":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n("a4d3"),n("b64b");function r(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}function i(t,e){if(null==t)return{};var n,i,a=r(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}},1626:function(t,e,n){var r=n("8ea1"),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}:function(t){return"function"==typeof t}},1704:function(t,e,n){},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,i=n("a640"),a=i("forEach");t.exports=a?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"19aa":function(t,e,n){var r=n("3a9b"),i=TypeError;t.exports=function(t,e){if(r(e,t))return t;throw i("Incorrect invocation")}},"19e9":function(t,e,n){var r,i,a; +/*! + Autosize 3.0.21 + license: MIT + http://www.jacklmoore.com/autosize +*/(function(n,o){i=[e,t],r=o,a="function"===typeof r?r.apply(e,i):r,void 0===a||(t.exports=a)})(0,(function(t,e){"use strict";var n="function"===typeof Map?new Map:function(){var t=[],e=[];return{has:function(e){return t.indexOf(e)>-1},get:function(n){return e[t.indexOf(n)]},set:function(n,r){-1===t.indexOf(n)&&(t.push(n),e.push(r))},delete:function(n){var r=t.indexOf(n);r>-1&&(t.splice(r,1),e.splice(r,1))}}}(),r=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(c){r=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!1),e}}function i(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!n.has(t)){var e=null,i=t.clientWidth,a=null,o=function(){t.clientWidth!==i&&p()},s=function(e){window.removeEventListener("resize",o,!1),t.removeEventListener("input",p,!1),t.removeEventListener("keyup",p,!1),t.removeEventListener("autosize:destroy",s,!1),t.removeEventListener("autosize:update",p,!1),Object.keys(e).forEach((function(n){t.style[n]=e[n]})),n["delete"](t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",s,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",p,!1),window.addEventListener("resize",o,!1),t.addEventListener("input",p,!1),t.addEventListener("autosize:update",p,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",n.set(t,{destroy:s,update:p}),c()}function c(){var n=window.getComputedStyle(t,null);"vertical"===n.resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),e="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(e)&&(e=0),p()}function u(e){var n=t.style.width;t.style.width="0px",t.offsetWidth,t.style.width=n,t.style.overflowY=e}function l(t){var e=[];while(t&&t.parentNode&&t.parentNode instanceof Element)t.parentNode.scrollTop&&e.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return e}function f(){var n=t.style.height,r=l(t),a=document.documentElement&&document.documentElement.scrollTop;t.style.height="auto";var o=t.scrollHeight+e;0!==t.scrollHeight?(t.style.height=o+"px",i=t.clientWidth,r.forEach((function(t){t.node.scrollTop=t.scrollTop})),a&&(document.documentElement.scrollTop=a)):t.style.height=n}function p(){f();var e=Math.round(parseFloat(t.style.height)),n=window.getComputedStyle(t,null),i="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):t.offsetHeight;if(i!==e?"hidden"===n.overflowY&&(u("scroll"),f(),i="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==n.overflowY&&(u("hidden"),f(),i="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),a!==i){a=i;var o=r("autosize:resized");try{t.dispatchEvent(o)}catch(s){}}}}function a(t){var e=n.get(t);e&&e.destroy()}function o(t){var e=n.get(t);e&&e.update()}var s=null;"undefined"===typeof window||"function"!==typeof window.getComputedStyle?(s=function(t){return t},s.destroy=function(t){return t},s.update=function(t){return t}):(s=function(t,e){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return i(t,e)})),t},s.destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],a),t},s.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],o),t}),e.exports=s}))},"1a2d":function(t,e,n){var r=n("e330"),i=n("7b0b"),a=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return a(i(t),e)}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c59":function(t,e,n){"use strict";var r=n("6d61"),i=n("6566");r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),i)},"1c7e":function(t,e,n){var r=n("b622"),i=r("iterator"),a=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){a=!0}};s[i]=function(){return this},Array.from(s,(function(){throw 2}))}catch(c){}t.exports=function(t,e){if(!e&&!a)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(c){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},"1d80":function(t,e,n){var r=n("7234"),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},"1da1":function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n("d3b7");function r(t,e,n,r,i,a,o){try{var s=t[a](o),c=s.value}catch(u){return void n(u)}s.done?e(c):Promise.resolve(c).then(r,i)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var o=t.apply(e,n);function s(t){r(o,i,a,s,c,"next",t)}function c(t){r(o,i,a,s,c,"throw",t)}s(void 0)}))}}},"1dde":function(t,e,n){var r=n("d039"),i=n("b622"),a=n("2d00"),o=i("species");t.exports=function(t){return a>=51||!r((function(){var e=[],n=e.constructor={};return n[o]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1f68":function(t,e,n){"use strict";var r=n("83ab"),i=n("edd0"),a=n("861d"),o=n("7b0b"),s=n("1d80"),c=Object.getPrototypeOf,u=Object.setPrototypeOf,l=Object.prototype,f="__proto__";if(r&&c&&u&&!(f in l))try{i(l,f,{configurable:!0,get:function(){return c(o(this))},set:function(t){var e=s(this);(a(t)||null===t)&&a(e)&&u(e,t)}})}catch(p){}},"20a9":function(t,e,n){"use strict";n("1704")},2266:function(t,e,n){var r=n("0366"),i=n("c65b"),a=n("825a"),o=n("0d51"),s=n("e95a"),c=n("07fa"),u=n("3a9b"),l=n("9a1f"),f=n("35a1"),p=n("2a62"),h=TypeError,d=function(t,e){this.stopped=t,this.result=e},g=d.prototype;t.exports=function(t,e,n){var v,m,b,y,w,k,x,C=n&&n.that,_=!(!n||!n.AS_ENTRIES),S=!(!n||!n.IS_RECORD),E=!(!n||!n.IS_ITERATOR),O=!(!n||!n.INTERRUPTED),T=r(e,C),A=function(t){return v&&p(v,"normal",t),new d(!0,t)},L=function(t){return _?(a(t),O?T(t[0],t[1],A):T(t[0],t[1])):O?T(t,A):T(t)};if(S)v=t.iterator;else if(E)v=t;else{if(m=f(t),!m)throw h(o(t)+" is not iterable");if(s(m)){for(b=0,y=c(t);y>b;b++)if(w=L(t[b]),w&&u(g,w))return w;return new d(!1)}v=l(t,m)}k=S?t.next:v.next;while(!(x=i(k,v)).done){try{w=L(x.value)}catch(N){p(v,"throw",N)}if("object"==typeof w&&w&&u(g,w))return w}return new d(!1)}},"23cb":function(t,e,n){var r=n("5926"),i=Math.max,a=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):a(n,e)}},"23dc":function(t,e,n){var r=n("d44e");r(Math,"Math",!0)},"23e7":function(t,e,n){var r=n("da84"),i=n("06cf").f,a=n("9112"),o=n("cb2d"),s=n("6374"),c=n("e893"),u=n("94ca");t.exports=function(t,e){var n,l,f,p,h,d,g=t.target,v=t.global,m=t.stat;if(l=v?r:m?r[g]||s(g,{}):(r[g]||{}).prototype,l)for(f in e){if(h=e[f],t.dontCallGetSet?(d=i(l,f),p=d&&d.value):p=l[f],n=u(v?f:g+(m?".":"#")+f,t.forced),!n&&void 0!==p){if(typeof h==typeof p)continue;c(h,p)}(t.sham||p&&p.sham)&&a(h,"sham",!0),o(l,f,h,t)}}},"241c":function(t,e,n){var r=n("ca84"),i=n("7839"),a=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,a)}},2532:function(t,e,n){"use strict";var r=n("23e7"),i=n("e330"),a=n("5a34"),o=n("1d80"),s=n("577e"),c=n("ab13"),u=i("".indexOf);r({target:"String",proto:!0,forced:!c("includes")},{includes:function(t){return!!~u(s(o(this)),s(a(t)),arguments.length>1?arguments[1]:void 0)}})},"25ce":function(t,e,n){},"25f0":function(t,e,n){"use strict";var r=n("5e77").PROPER,i=n("cb2d"),a=n("825a"),o=n("577e"),s=n("d039"),c=n("90d8"),u="toString",l=RegExp.prototype,f=l[u],p=s((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),h=r&&f.name!=u;(p||h)&&i(RegExp.prototype,u,(function(){var t=a(this),e=o(t.source),n=o(c(t));return"/"+e+"/"+n}),{unsafe:!0})},2619:function(t,e,n){},2626:function(t,e,n){"use strict";var r=n("d066"),i=n("edd0"),a=n("b622"),o=n("83ab"),s=a("species");t.exports=function(t){var e=r(t);o&&e&&!e[s]&&i(e,s,{configurable:!0,get:function(){return this}})}},"271a":function(t,e,n){"use strict";var r=n("cb2d"),i=n("e330"),a=n("577e"),o=n("d6d6"),s=URLSearchParams,c=s.prototype,u=i(c.getAll),l=i(c.has),f=new s("a=1");f.has("a",2)&&r(c,"has",(function(t){var e=arguments.length,n=e<2?void 0:arguments[1];if(e&&void 0===n)return l(this,t);var r=u(this,t);o(e,1);var i=a(n),s=0;while(s=0&&Math.floor(e)===e&&isFinite(t)}function m(t){return s(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function b(t){return null==t?"":Array.isArray(t)||d(t)&&t.toString===h?JSON.stringify(t,null,2):String(t)}function y(t){var e=parseFloat(t);return isNaN(e)?t:e}function w(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(r,1)}}var C=Object.prototype.hasOwnProperty;function _(t,e){return C.call(t,e)}function S(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var E=/-(\w)/g,O=S((function(t){return t.replace(E,(function(t,e){return e?e.toUpperCase():""}))})),T=S((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,L=S((function(t){return t.replace(A,"-$1").toLowerCase()}));function N(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function j(t,e){return t.bind(e)}var M=Function.prototype.bind?j:N;function P(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function I(t,e){for(var n in e)t[n]=e[n];return t}function R(t){for(var e={},n=0;n0,it=et&&et.indexOf("edge/")>0;et&&et.indexOf("android");var at=et&&/iphone|ipad|ipod|ios/.test(et);et&&/chrome\/\d+/.test(et),et&&/phantomjs/.test(et);var ot,st=et&&et.match(/firefox\/(\d+)/),ct={}.watch,ut=!1;if(tt)try{var lt={};Object.defineProperty(lt,"passive",{get:function(){ut=!0}}),window.addEventListener("test-passive",null,lt)}catch(Xo){}var ft=function(){return void 0===ot&&(ot=!tt&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),ot},pt=tt&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ht(t){return"function"===typeof t&&/native code/.test(t.toString())}var dt,gt="undefined"!==typeof Symbol&&ht(Symbol)&&"undefined"!==typeof Reflect&&ht(Reflect.ownKeys);dt="undefined"!==typeof Set&&ht(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var vt=null;function mt(t){void 0===t&&(t=null),t||vt&&vt._scope.off(),vt=t,t&&t._scope.on()}var bt=function(){function t(t,e,n,r,i,a,o,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=a,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=o,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),yt=function(t){void 0===t&&(t="");var e=new bt;return e.text=t,e.isComment=!0,e};function wt(t){return new bt(void 0,void 0,void 0,String(t))}function kt(t){var e=new bt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var xt=0,Ct=[],_t=function(){for(var t=0;t0&&(r=ce(r,"".concat(e||"","_").concat(n)),se(r[0])&&se(u)&&(f[i]=wt(u.text+r[0].text),r.shift()),f.push.apply(f,r)):l(r)?se(u)?f[i]=wt(u.text+r):""!==r&&f.push(wt(r)):se(r)&&se(u)?f[i]=wt(u.text+r.text):(c(t._isVList)&&s(r.tag)&&o(r.key)&&s(e)&&(r.key="__vlist".concat(e,"_").concat(n,"__")),f.push(r)));return f}function ue(t,e){var n,r,i,o,c=null;if(a(t)||"string"===typeof t)for(c=new Array(t.length),n=0,r=t.length;n0,s=e?!!e.$stable:!o,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&r&&r!==i&&c===r.$key&&!o&&!r.$hasNormal)return r;for(var u in a={},e)e[u]&&"$"!==u[0]&&(a[u]=Te(t,n,u,e[u]))}else a={};for(var l in n)l in a||(a[l]=Ae(n,l));return e&&Object.isExtensible(e)&&(e._normalized=a),J(a,"$stable",s),J(a,"$key",c),J(a,"$hasNormal",o),a}function Te(t,e,n,r){var i=function(){var e=vt;mt(t);var n=arguments.length?r.apply(null,arguments):r({});n=n&&"object"===typeof n&&!a(n)?[n]:oe(n);var i=n&&n[0];return mt(e),n&&(!i||1===n.length&&i.isComment&&!Ee(i))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function Ae(t,e){return function(){return t[e]}}function Le(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=Ne(t);mt(t),Ot();var i=Je(n,null,[t._props||Ut({}),r],t,"setup");if(Tt(),mt(),f(i))e.render=i;else if(p(i))if(t._setupState=i,i.__sfc){var a=t._setupProxy={};for(var o in i)"__sfc"!==o&&Gt(a,i,o)}else for(var o in i)Y(o)||Gt(t,i,o);else 0}}function Ne(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};J(e,"_v_attr_proxy",!0),je(e,t.$attrs,i,t,"$attrs")}return t._attrsProxy},get listeners(){if(!t._listenersProxy){var e=t._listenersProxy={};je(e,t.$listeners,i,t,"$listeners")}return t._listenersProxy},get slots(){return Pe(t)},emit:M(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Gt(t,e,n)}))}}}function je(t,e,n,r,i){var a=!1;for(var o in e)o in t?e[o]!==n[o]&&(a=!0):(a=!0,Me(t,o,r,i));for(var o in t)o in e||(a=!0,delete t[o]);return a}function Me(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function Pe(t){return t._slotsProxy||Ie(t._slotsProxy={},t.$scopedSlots),t._slotsProxy}function Ie(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function Re(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=_e(e._renderChildren,r),t.$scopedSlots=n?Oe(t.$parent,n.data.scopedSlots,t.$slots):i,t._c=function(e,n,r,i){return qe(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return qe(t,e,n,r,i,!0)};var a=n&&n.data;$t(t,"$attrs",a&&a.attrs||i,null,!0),$t(t,"$listeners",e._parentListeners||i,null,!0)}var ze=null;function De(t){Ce(t.prototype),t.prototype.$nextTick=function(t){return un(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,i=n._parentVnode;i&&e._isMounted&&(e.$scopedSlots=Oe(e.$parent,i.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&Ie(e._slotsProxy,e.$scopedSlots)),e.$vnode=i;try{mt(e),ze=e,t=r.call(e._renderProxy,e.$createElement)}catch(Xo){Ye(Xo,e,"render"),t=e._vnode}finally{ze=null,mt()}return a(t)&&1===t.length&&(t=t[0]),t instanceof bt||(t=yt()),t.parent=i,t}}function $e(t,e){return(t.__esModule||gt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),p(t)?e.extend(t):t}function Fe(t,e,n,r,i){var a=yt();return a.asyncFactory=t,a.asyncMeta={data:e,context:n,children:r,tag:i},a}function Be(t,e){if(c(t.error)&&s(t.errorComp))return t.errorComp;if(s(t.resolved))return t.resolved;var n=ze;if(n&&s(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n),c(t.loading)&&s(t.loadingComp))return t.loadingComp;if(n&&!s(t.owners)){var r=t.owners=[n],i=!0,a=null,u=null;n.$on("hook:destroyed",(function(){return x(r,n)}));var l=function(t){for(var e=0,n=r.length;e1?P(n):n;for(var r=P(arguments,1),i='event handler for "'.concat(t,'"'),a=0,o=n.length;adocument.createEvent("Event").timeStamp&&(Un=function(){return Vn.now()})}var qn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function Wn(){var t,e;for(Hn=Un(),$n=!0,In.sort(qn),Fn=0;FnFn&&In[n].id>t.id)n--;In.splice(n+1,0,t)}else In.push(t);Dn||(Dn=!0,un(Wn))}}function Zn(t){var e=t.$options.provide;if(e){var n=f(e)?e.call(t):e;if(!p(n))return;for(var r=Xt(t),i=gt?Reflect.ownKeys(n):Object.keys(n),a=0;a-1)if(a&&!_(i,"default"))o=!1;else if(""===o||o===L(t)){var c=Lr(String,i.type);(c<0||s-1)return this;var n=P(arguments,1);return n.unshift(this),f(t.install)?t.install.apply(t,n):f(t)&&t.apply(null,n),e.push(t),this}}function Qr(t){t.mixin=function(t){return this.options=Cr(this.options,t),this}}function ti(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var a=ir(t)||ir(n.options);var o=function(t){this._init(t)};return o.prototype=Object.create(n.prototype),o.prototype.constructor=o,o.cid=e++,o.options=Cr(n.options,t),o["super"]=n,o.options.props&&ei(o),o.options.computed&&ni(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,q.forEach((function(t){o[t]=n[t]})),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=t,o.sealedOptions=I({},o.options),i[r]=o,o}}function ei(t){var e=t.options.props;for(var n in e)jr(t.prototype,"_props",n)}function ni(t){var e=t.options.computed;for(var n in e)$r(t.prototype,n,e[n])}function ri(t){q.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&d(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&f(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function ii(t){return t&&(ir(t.Ctor.options)||t.tag)}function ai(t,e){return a(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!g(t)&&t.test(e)}function oi(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var a in n){var o=n[a];if(o){var s=o.name;s&&!e(s)&&si(n,a,r,i)}}}function si(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,x(n,e)}Gr(Zr),qr(Zr),_n(Zr),Tn(Zr),De(Zr);var ci=[String,RegExp,Array],ui={name:"keep-alive",abstract:!0,props:{include:ci,exclude:ci,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,i=t.keyToCache;if(r){var a=r.tag,o=r.componentInstance,s=r.componentOptions;e[i]={name:ii(s),tag:a,componentInstance:o},n.push(i),this.max&&n.length>parseInt(this.max)&&si(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)si(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){oi(t,(function(t){return ai(e,t)}))})),this.$watch("exclude",(function(e){oi(t,(function(t){return!ai(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=He(t),n=e&&e.componentOptions;if(n){var r=ii(n),i=this,a=i.include,o=i.exclude;if(a&&(!r||!ai(a,r))||o&&r&&ai(o,r))return e;var s=this,c=s.cache,u=s.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;c[l]?(e.componentInstance=c[l].componentInstance,x(u,l),u.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},li={KeepAlive:ui};function fi(t){var e={get:function(){return G}};Object.defineProperty(t,"config",e),t.util={warn:pr,extend:I,mergeOptions:Cr,defineReactive:$t},t.set=Ft,t.delete=Bt,t.nextTick=un,t.observable=function(t){return Dt(t),t},t.options=Object.create(null),q.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,I(t.options.components,li),Xr(t),Qr(t),ti(t),ri(t)}fi(Zr),Object.defineProperty(Zr.prototype,"$isServer",{get:ft}),Object.defineProperty(Zr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Zr,"FunctionalRenderContext",{value:tr}),Zr.version=pn;var pi=w("style,class"),hi=w("input,textarea,option,select,progress"),di=function(t,e,n){return"value"===n&&hi(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},gi=w("contenteditable,draggable,spellcheck"),vi=w("events,caret,typing,plaintext-only"),mi=function(t,e){return xi(e)||"false"===e?"false":"contenteditable"===t&&vi(e)?e:"true"},bi=w("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),yi="http://www.w3.org/1999/xlink",wi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},ki=function(t){return wi(t)?t.slice(6,t.length):""},xi=function(t){return null==t||!1===t};function Ci(t){var e=t.data,n=t,r=t;while(s(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=_i(r.data,e));while(s(n=n.parent))n&&n.data&&(e=_i(e,n.data));return Si(e.staticClass,e.class)}function _i(t,e){return{staticClass:Ei(t.staticClass,e.staticClass),class:s(t.class)?[t.class,e.class]:e.class}}function Si(t,e){return s(t)||s(e)?Ei(t,Oi(e)):""}function Ei(t,e){return t?e?t+" "+e:t:e||""}function Oi(t){return Array.isArray(t)?Ti(t):p(t)?Ai(t):"string"===typeof t?t:""}function Ti(t){for(var e,n="",r=0,i=t.length;r-1?Ii[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ii[t]=/HTMLUnknownElement/.test(e.toString())}var zi=w("text,number,password,search,email,tel,url");function Di(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function $i(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function Fi(t,e){return document.createElementNS(Li[t],e)}function Bi(t){return document.createTextNode(t)}function Hi(t){return document.createComment(t)}function Ui(t,e,n){t.insertBefore(e,n)}function Vi(t,e){t.removeChild(e)}function qi(t,e){t.appendChild(e)}function Wi(t){return t.parentNode}function Gi(t){return t.nextSibling}function Ki(t){return t.tagName}function Yi(t,e){t.textContent=e}function Ji(t,e){t.setAttribute(e,"")}var Zi=Object.freeze({__proto__:null,createElement:$i,createElementNS:Fi,createTextNode:Bi,createComment:Hi,insertBefore:Ui,removeChild:Vi,appendChild:qi,parentNode:Wi,nextSibling:Gi,tagName:Ki,setTextContent:Yi,setStyleScope:Ji}),Xi={create:function(t,e){Qi(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Qi(t,!0),Qi(e))},destroy:function(t){Qi(t,!0)}};function Qi(t,e){var n=t.data.ref;if(s(n)){var r=t.context,i=t.componentInstance||t.elm,o=e?null:i,c=e?void 0:i;if(f(n))Je(n,r,[o],r,"template ref function");else{var u=t.data.refInFor,l="string"===typeof n||"number"===typeof n,p=Wt(n),h=r.$refs;if(l||p)if(u){var d=l?h[n]:n.value;e?a(d)&&x(d,i):a(d)?d.includes(i)||d.push(i):l?(h[n]=[i],ta(r,n,h[n])):n.value=[i]}else if(l){if(e&&h[n]!==i)return;h[n]=c,ta(r,n,o)}else if(p){if(e&&n.value!==i)return;n.value=o}else 0}}}function ta(t,e,n){var r=t._setupState;r&&_(r,e)&&(Wt(r[e])?r[e].value=n:r[e]=n)}var ea=new bt("",{},[]),na=["create","activate","update","remove","destroy"];function ra(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&s(t.data)===s(e.data)&&ia(t,e)||c(t.isAsyncPlaceholder)&&o(e.asyncFactory.error))}function ia(t,e){if("input"!==t.tag)return!0;var n,r=s(n=t.data)&&s(n=n.attrs)&&n.type,i=s(n=e.data)&&s(n=n.attrs)&&n.type;return r===i||zi(r)&&zi(i)}function aa(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,s(i)&&(a[i]=r);return a}function oa(t){var e,n,r={},i=t.modules,u=t.nodeOps;for(e=0;eg?(f=o(n[b+1])?null:n[b+1].elm,_(t,f,n,h,b,r)):h>b&&E(e,p,g)}function A(t,e,n,r){for(var i=n;i-1?ma(t,e,n):bi(e)?xi(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):gi(e)?t.setAttribute(e,mi(e,n)):wi(e)?xi(n)?t.removeAttributeNS(yi,ki(e)):t.setAttributeNS(yi,e,n):ma(t,e,n)}function ma(t,e,n){if(xi(n))t.removeAttribute(e);else{if(nt&&!rt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var ba={create:ga,update:ga};function ya(t,e){var n=e.elm,r=e.data,i=t.data;if(!(o(r.staticClass)&&o(r.class)&&(o(i)||o(i.staticClass)&&o(i.class)))){var a=Ci(e),c=n._transitionClasses;s(c)&&(a=Ei(a,Oi(c))),a!==n._prevClass&&(n.setAttribute("class",a),n._prevClass=a)}}var wa,ka={create:ya,update:ya},xa="__r",Ca="__c";function _a(t){if(s(t[xa])){var e=nt?"change":"input";t[e]=[].concat(t[xa],t[e]||[]),delete t[xa]}s(t[Ca])&&(t.change=[].concat(t[Ca],t.change||[]),delete t[Ca])}function Sa(t,e,n){var r=wa;return function i(){var a=e.apply(null,arguments);null!==a&&Ta(t,i,n,r)}}var Ea=tn&&!(st&&Number(st[1])<=53);function Oa(t,e,n,r){if(Ea){var i=Hn,a=e;e=a._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return a.apply(this,arguments)}}wa.addEventListener(t,e,ut?{capture:n,passive:r}:n)}function Ta(t,e,n,r){(r||wa).removeEventListener(t,e._wrapper||e,n)}function Aa(t,e){if(!o(t.data.on)||!o(e.data.on)){var n=e.data.on||{},r=t.data.on||{};wa=e.elm||t.elm,_a(n),ee(n,r,Oa,Ta,Sa,e.context),wa=void 0}}var La,Na={create:Aa,update:Aa,destroy:function(t){return Aa(t,ea)}};function ja(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var n,r,i=e.elm,a=t.data.domProps||{},u=e.data.domProps||{};for(n in(s(u.__ob__)||c(u._v_attr_proxy))&&(u=e.data.domProps=I({},u)),a)n in u||(i[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===a[n])continue;1===i.childNodes.length&&i.removeChild(i.childNodes[0])}if("value"===n&&"PROGRESS"!==i.tagName){i._value=r;var l=o(r)?"":String(r);Ma(i,l)&&(i.value=l)}else if("innerHTML"===n&&ji(i.tagName)&&o(i.innerHTML)){La=La||document.createElement("div"),La.innerHTML="".concat(r,"");var f=La.firstChild;while(i.firstChild)i.removeChild(i.firstChild);while(f.firstChild)i.appendChild(f.firstChild)}else if(r!==a[n])try{i[n]=r}catch(Xo){}}}}function Ma(t,e){return!t.composing&&("OPTION"===t.tagName||Pa(t,e)||Ia(t,e))}function Pa(t,e){var n=!0;try{n=document.activeElement!==t}catch(Xo){}return n&&t.value!==e}function Ia(t,e){var n=t.value,r=t._vModifiers;if(s(r)){if(r.number)return y(n)!==y(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Ra={create:ja,update:ja},za=S((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function Da(t){var e=$a(t.style);return t.staticStyle?I(t.staticStyle,e):e}function $a(t){return Array.isArray(t)?R(t):"string"===typeof t?za(t):t}function Fa(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=Da(i.data))&&I(r,n)}(n=Da(t.data))&&I(r,n);var a=t;while(a=a.parent)a.data&&(n=Da(a.data))&&I(r,n);return r}var Ba,Ha=/^--/,Ua=/\s*!important$/,Va=function(t,e,n){if(Ha.test(e))t.style.setProperty(e,n);else if(Ua.test(n))t.style.setProperty(L(e),n.replace(Ua,""),"important");else{var r=Wa(e);if(Array.isArray(n))for(var i=0,a=n.length;i-1?e.split(Ya).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Za(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Ya).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function Xa(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&I(e,Qa(t.name||"v")),I(e,t),e}return"string"===typeof t?Qa(t):void 0}}var Qa=S((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),to=tt&&!rt,eo="transition",no="animation",ro="transition",io="transitionend",ao="animation",oo="animationend";to&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ro="WebkitTransition",io="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ao="WebkitAnimation",oo="webkitAnimationEnd"));var so=tt?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function co(t){so((function(){so(t)}))}function uo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Ja(t,e))}function lo(t,e){t._transitionClasses&&x(t._transitionClasses,e),Za(t,e)}function fo(t,e,n){var r=ho(t,e),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var s=i===eo?io:oo,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=o&&u()};setTimeout((function(){c0&&(n=eo,l=o,f=a.length):e===no?u>0&&(n=no,l=u,f=c.length):(l=Math.max(o,u),n=l>0?o>u?eo:no:null,f=n?n===eo?a.length:c.length:0);var p=n===eo&&po.test(r[ro+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function go(t,e){while(t.length1}function ko(t,e){!0!==e.data.show&&mo(e)}var xo=tt?{create:ko,activate:ko,remove:function(t,e){!0!==t.data.show?bo(t,e):e()}}:{},Co=[ba,ka,Na,Ra,Ka,xo],_o=Co.concat(da),So=oa({nodeOps:Zi,modules:_o});rt&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Mo(t,"input")}));var Eo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?ne(n,"postpatch",(function(){Eo.componentUpdated(t,e,n)})):Oo(t,e,n.context),t._vOptions=[].map.call(t.options,Lo)):("textarea"===n.tag||zi(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",No),t.addEventListener("compositionend",jo),t.addEventListener("change",jo),rt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Oo(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,Lo);if(i.some((function(t,e){return!F(t,r[e])}))){var a=t.multiple?e.value.some((function(t){return Ao(t,i)})):e.value!==e.oldValue&&Ao(e.value,i);a&&Mo(t,"change")}}}};function Oo(t,e,n){To(t,e,n),(nt||it)&&setTimeout((function(){To(t,e,n)}),0)}function To(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var a,o,s=0,c=t.options.length;s-1,o.selected!==a&&(o.selected=a);else if(F(Lo(o),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Ao(t,e){return e.every((function(e){return!F(e,t)}))}function Lo(t){return"_value"in t?t._value:t.value}function No(t){t.target.composing=!0}function jo(t){t.target.composing&&(t.target.composing=!1,Mo(t.target,"input"))}function Mo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Po(t){return!t.componentInstance||t.data&&t.data.transition?t:Po(t.componentInstance._vnode)}var Io={bind:function(t,e,n){var r=e.value;n=Po(n);var i=n.data&&n.data.transition,a=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,mo(n,(function(){t.style.display=a}))):t.style.display=r?a:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=Po(n);var a=n.data&&n.data.transition;a?(n.data.show=!0,r?mo(n,(function(){t.style.display=t.__vOriginalDisplay})):bo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Ro={model:Eo,show:Io},zo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Do(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Do(He(e.children)):t}function $o(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var r in i)e[O(r)]=i[r];return e}function Fo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Bo(t){while(t=t.parent)if(t.data.transition)return!0}function Ho(t,e){return e.key===t.key&&e.tag===t.tag}var Uo=function(t){return t.tag||Ee(t)},Vo=function(t){return"show"===t.name},qo={name:"transition",props:zo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Uo),n.length)){0;var r=this.mode;0;var i=n[0];if(Bo(this.$vnode))return i;var a=Do(i);if(!a)return i;if(this._leaving)return Fo(t,i);var o="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?o+"comment":o+a.tag:l(a.key)?0===String(a.key).indexOf(o)?a.key:o+a.key:a.key;var s=(a.data||(a.data={})).transition=$o(this),c=this._vnode,u=Do(c);if(a.data.directives&&a.data.directives.some(Vo)&&(a.data.show=!0),u&&u.data&&!Ho(a,u)&&!Ee(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var f=u.data.transition=I({},s);if("out-in"===r)return this._leaving=!0,ne(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Fo(t,i);if("in-out"===r){if(Ee(a))return c;var p,h=function(){p()};ne(s,"afterEnter",h),ne(s,"enterCancelled",h),ne(f,"delayLeave",(function(t){p=t}))}}return i}}},Wo=I({tag:String,moveClass:String},zo);delete Wo.mode;var Go={props:Wo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=En(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],a=this.children=[],o=$o(this),s=0;s1?arguments[1]:void 0,e.length)),r=s(t);return p?p(e,r,n):h(e,n,n+r.length)===r}})},"2cf4":function(t,e,n){var r,i,a,o,s=n("da84"),c=n("2ba4"),u=n("0366"),l=n("1626"),f=n("1a2d"),p=n("d039"),h=n("1be4"),d=n("f36a"),g=n("cc12"),v=n("d6d6"),m=n("1cdc"),b=n("605d"),y=s.setImmediate,w=s.clearImmediate,k=s.process,x=s.Dispatch,C=s.Function,_=s.MessageChannel,S=s.String,E=0,O={},T="onreadystatechange";p((function(){r=s.location}));var A=function(t){if(f(O,t)){var e=O[t];delete O[t],e()}},L=function(t){return function(){A(t)}},N=function(t){A(t.data)},j=function(t){s.postMessage(S(t),r.protocol+"//"+r.host)};y&&w||(y=function(t){v(arguments.length,1);var e=l(t)?t:C(t),n=d(arguments,1);return O[++E]=function(){c(e,void 0,n)},i(E),E},w=function(t){delete O[t]},b?i=function(t){k.nextTick(L(t))}:x&&x.now?i=function(t){x.now(L(t))}:_&&!m?(a=new _,o=a.port2,a.port1.onmessage=N,i=u(o.postMessage,o)):s.addEventListener&&l(s.postMessage)&&!s.importScripts&&r&&"file:"!==r.protocol&&!p(j)?(i=j,s.addEventListener("message",N,!1)):i=T in g("script")?function(t){h.appendChild(g("script"))[T]=function(){h.removeChild(this),A(t)}}:function(t){setTimeout(L(t),0)}),t.exports={set:y,clear:w}},"2d00":function(t,e,n){var r,i,a=n("da84"),o=n("342f"),s=a.process,c=a.Deno,u=s&&s.versions||c&&c.version,l=u&&u.v8;l&&(r=l.split("."),i=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&o&&(r=o.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},"2e25":function(t,e,n){},"2e39":function(t,e,n){"use strict";function r(t,e){var n=e.length,r=t.length;if(r>n)return!1;if(r===n)return t===e;t:for(var i=0,a=0;i=2)t.mixin({beforeCreate:r});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[r].concat(t.init):r,n.call(this,t)}}function r(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}n.d(e,"b",(function(){return R})),n.d(e,"c",(function(){return I})),n.d(e,"d",(function(){return P})),n.d(e,"e",(function(){return M}));var i="undefined"!==typeof window?window:"undefined"!==typeof t?t:{},a=i.__VUE_DEVTOOLS_GLOBAL_HOOK__;function o(t){a&&(t._devtoolHook=a,a.emit("vuex:init",t),a.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){a.emit("vuex:mutation",t,e)}),{prepend:!0}),t.subscribeAction((function(t,e){a.emit("vuex:action",t,e)}),{prepend:!0}))}function s(t,e){return t.filter(e)[0]}function c(t,e){if(void 0===e&&(e=[]),null===t||"object"!==typeof t)return t;var n=s(e,(function(e){return e.original===t}));if(n)return n.copy;var r=Array.isArray(t)?[]:{};return e.push({original:t,copy:r}),Object.keys(t).forEach((function(n){r[n]=c(t[n],e)})),r}function u(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function l(t){return null!==t&&"object"===typeof t}function f(t){return t&&"function"===typeof t.then}function p(t,e){return function(){return t(e)}}var h=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},d={namespaced:{configurable:!0}};d.namespaced.get=function(){return!!this._rawModule.namespaced},h.prototype.addChild=function(t,e){this._children[t]=e},h.prototype.removeChild=function(t){delete this._children[t]},h.prototype.getChild=function(t){return this._children[t]},h.prototype.hasChild=function(t){return t in this._children},h.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},h.prototype.forEachChild=function(t){u(this._children,t)},h.prototype.forEachGetter=function(t){this._rawModule.getters&&u(this._rawModule.getters,t)},h.prototype.forEachAction=function(t){this._rawModule.actions&&u(this._rawModule.actions,t)},h.prototype.forEachMutation=function(t){this._rawModule.mutations&&u(this._rawModule.mutations,t)},Object.defineProperties(h.prototype,d);var g=function(t){this.register([],t,!1)};function v(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;v(t.concat(r),e.getChild(r),n.modules[r])}}g.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},g.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},g.prototype.update=function(t){v([],this.root,t)},g.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new h(e,n);if(0===t.length)this.root=i;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],i)}e.modules&&u(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},g.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},g.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var m;var b=function(t){var e=this;void 0===t&&(t={}),!m&&"undefined"!==typeof window&&window.Vue&&j(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new g(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new m,this._makeLocalGettersCache=Object.create(null);var i=this,a=this,s=a.dispatch,c=a.commit;this.dispatch=function(t,e){return s.call(i,t,e)},this.commit=function(t,e,n){return c.call(i,t,e,n)},this.strict=r;var u=this._modules.root.state;C(this,u,[],this._modules.root),x(this,u),n.forEach((function(t){return t(e)}));var l=void 0!==t.devtools?t.devtools:m.config.devtools;l&&o(this)},y={state:{configurable:!0}};function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function k(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;C(t,n,[],t._modules.root,!0),x(t,n,e)}function x(t,e,n){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var i=t._wrappedGetters,a={};u(i,(function(e,n){a[n]=p(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var o=m.config.silent;m.config.silent=!0,t._vm=new m({data:{$$state:e},computed:a}),m.config.silent=o,t.strict&&A(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),m.nextTick((function(){return r.$destroy()})))}function C(t,e,n,r,i){var a=!n.length,o=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[o],t._modulesNamespaceMap[o]=r),!a&&!i){var s=L(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){m.set(s,c,r.state)}))}var u=r.context=_(t,o,n);r.forEachMutation((function(e,n){var r=o+n;E(t,r,e,u)})),r.forEachAction((function(e,n){var r=e.root?n:o+n,i=e.handler||e;O(t,r,i,u)})),r.forEachGetter((function(e,n){var r=o+n;T(t,r,e,u)})),r.forEachChild((function(r,a){C(t,e,n.concat(a),r,i)}))}function _(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var a=N(n,r,i),o=a.payload,s=a.options,c=a.type;return s&&s.root||(c=e+c),t.dispatch(c,o)},commit:r?t.commit:function(n,r,i){var a=N(n,r,i),o=a.payload,s=a.options,c=a.type;s&&s.root||(c=e+c),t.commit(c,o,s)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return S(t,e)}},state:{get:function(){return L(t.state,n)}}}),i}function S(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var a=i.slice(r);Object.defineProperty(n,a,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function E(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function O(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return f(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function T(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function A(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function L(t,e){return e.reduce((function(t,e){return t[e]}),t)}function N(t,e,n){return l(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function j(t){m&&t===m||(m=t,r(m))}y.state.get=function(){return this._vm._data.$$state},y.state.set=function(t){0},b.prototype.commit=function(t,e,n){var r=this,i=N(t,e,n),a=i.type,o=i.payload,s=(i.options,{type:a,payload:o}),c=this._mutations[a];c&&(this._withCommit((function(){c.forEach((function(t){t(o)}))})),this._subscribers.slice().forEach((function(t){return t(s,r.state)})))},b.prototype.dispatch=function(t,e){var n=this,r=N(t,e),i=r.type,a=r.payload,o={type:i,payload:a},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(o,n.state)}))}catch(u){0}var c=s.length>1?Promise.all(s.map((function(t){return t(a)}))):s[0](a);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(o,n.state)}))}catch(u){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(o,n.state,t)}))}catch(u){0}e(t)}))}))}},b.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},b.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},b.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},b.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},b.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),C(this,this.state,t,this._modules.get(t),n.preserveState),x(this,this.state)},b.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=L(e.state,t.slice(0,-1));m.delete(n,t[t.length-1])})),k(this)},b.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},b.prototype.hotUpdate=function(t){this._modules.update(t),k(this,!0)},b.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(b.prototype,y);var M=F((function(t,e){var n={};return D(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=B(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),P=F((function(t,e){var n={};return D(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var a=B(this.$store,"mapMutations",t);if(!a)return;r=a.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),I=F((function(t,e){var n={};return D(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||B(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),R=F((function(t,e){var n={};return D(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var a=B(this.$store,"mapActions",t);if(!a)return;r=a.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),z=function(t){return{mapState:M.bind(null,t),mapGetters:I.bind(null,t),mapMutations:P.bind(null,t),mapActions:R.bind(null,t)}};function D(t){return $(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function $(t){return Array.isArray(t)||l(t)}function F(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function B(t,e,n){var r=t._modulesNamespaceMap[n];return r}function H(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var n=t.filter;void 0===n&&(n=function(t,e,n){return!0});var r=t.transformer;void 0===r&&(r=function(t){return t});var i=t.mutationTransformer;void 0===i&&(i=function(t){return t});var a=t.actionFilter;void 0===a&&(a=function(t,e){return!0});var o=t.actionTransformer;void 0===o&&(o=function(t){return t});var s=t.logMutations;void 0===s&&(s=!0);var u=t.logActions;void 0===u&&(u=!0);var l=t.logger;return void 0===l&&(l=console),function(t){var f=c(t.state);"undefined"!==typeof l&&(s&&t.subscribe((function(t,a){var o=c(a);if(n(t,f,o)){var s=q(),u=i(t),p="mutation "+t.type+s;U(l,p,e),l.log("%c prev state","color: #9E9E9E; font-weight: bold",r(f)),l.log("%c mutation","color: #03A9F4; font-weight: bold",u),l.log("%c next state","color: #4CAF50; font-weight: bold",r(o)),V(l)}f=o})),u&&t.subscribeAction((function(t,n){if(a(t,n)){var r=q(),i=o(t),s="action "+t.type+r;U(l,s,e),l.log("%c action","color: #03A9F4; font-weight: bold",i),V(l)}})))}}function U(t,e,n){var r=n?t.groupCollapsed:t.group;try{r.call(t,e)}catch(i){t.log(e)}}function V(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function q(){var t=new Date;return" @ "+G(t.getHours(),2)+":"+G(t.getMinutes(),2)+":"+G(t.getSeconds(),2)+"."+G(t.getMilliseconds(),3)}function W(t,e){return new Array(e+1).join(t)}function G(t,e){return W("0",e-t.toString().length)+t}var K={Store:b,install:j,version:"3.6.2",mapState:M,mapMutations:P,mapGetters:I,mapActions:R,createNamespacedHelpers:z,createLogger:H};e["a"]=K}).call(this,n("c8ba"))},3024:function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e(t.tag,{tag:"component",staticClass:"ui-focus-container"},[t.renderRedirector?e("span",{staticClass:"ui-focus-container__focus-redirector",attrs:{tabindex:"0"},on:{focus:function(e){return t.redirectFocus(e,{isTabbingForward:!1})}}}):t._e(),e("div",{ref:"content",staticClass:"ui-focus-container__content",attrs:{tabindex:"-1"}},[t._t("default")],2),!t.disabled&&t.containFocus?e("span",{ref:"lastFocusable",staticClass:"ui-focus-container__last-focusable",attrs:{tabindex:"-1"}}):t._e(),t.renderRedirector?e("span",{staticClass:"ui-focus-container__focus-redirector",attrs:{tabindex:"0"},on:{focus:function(e){return t.redirectFocus(e,{isTabbingForward:!0})}}}):t._e()])},i=[],a={name:"ui-focus-container",props:{containFocus:{type:Boolean,default:!0},focusRedirector:Function,disabled:{type:Boolean,default:!1},tag:{type:String,default:"div"},lazy:{type:Boolean,default:!1}},computed:{renderRedirector:function(){return!this.disabled&&(!this.lazy||this.containFocus)}},methods:{focus:function(){this.$refs.content.focus()},redirectFocus:function(t,e){this.containFocus?(t.stopPropagation(),this.focusRedirector?this.focusRedirector(t,e):e.isTabbingForward?this.$refs.content.focus():this.$refs.lastFocusable.focus()):this.$emit("focus-overflow",t,e)}}},o=a,s=(n("906c"),n("2877")),c=Object(s["a"])(o,r,i,!1,null,null,null);e["a"]=c.exports},3343:function(t,e,n){"use strict";n("024f")},3410:function(t,e,n){var r=n("23e7"),i=n("d039"),a=n("7b0b"),o=n("e163"),s=n("e177"),c=i((function(){o(1)}));r({target:"Object",stat:!0,forced:c,sham:!s},{getPrototypeOf:function(t){return o(a(t))}})},"342f":function(t,e){t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},3511:function(t,e){var n=TypeError,r=9007199254740991;t.exports=function(t){if(t>r)throw n("Maximum allowed index exceeded");return t}},3529:function(t,e,n){"use strict";var r=n("23e7"),i=n("c65b"),a=n("59ed"),o=n("f069"),s=n("e667"),c=n("2266"),u=n("5eed");r({target:"Promise",stat:!0,forced:u},{race:function(t){var e=this,n=o.f(e),r=n.reject,u=s((function(){var o=a(e.resolve);c(t,(function(t){i(o,e,t).then(n.resolve,r)}))}));return u.error&&r(u.value),n.promise}})},"35a1":function(t,e,n){var r=n("f5df"),i=n("dc4a"),a=n("7234"),o=n("3f8c"),s=n("b622"),c=s("iterator");t.exports=function(t){if(!a(t))return i(t,c)||i(t,"@@iterator")||o[r(t)]}},"35b3":function(t,e,n){var r=n("23e7");r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},"37e8":function(t,e,n){var r=n("83ab"),i=n("aed9"),a=n("9bf2"),o=n("825a"),s=n("fc6a"),c=n("df75");e.f=r&&!i?Object.defineProperties:function(t,e){o(t);var n,r=s(e),i=c(e),u=i.length,l=0;while(u>l)a.f(t,n=i[l++],r[n]);return t}},3835:function(t,e,n){"use strict";function r(t){if(Array.isArray(t))return t}n.d(e,"a",(function(){return s}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("14d9");function i(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],c=!0,u=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);c=!0);}catch(l){u=!0,i=l}finally{try{if(!c&&null!=n["return"]&&(o=n["return"](),Object(o)!==o))return}finally{if(u)throw i}}return s}}var a=n("06c5");n("d9e2");function o(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(t,e){return r(t)||i(t,e)||Object(a["a"])(t,e)||o()}},"38cf":function(t,e,n){var r=n("23e7"),i=n("1148");r({target:"String",proto:!0},{repeat:i})},"3a34":function(t,e,n){"use strict";var r=n("83ab"),i=n("e8b5"),a=TypeError,o=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(i(t)&&!o(t,"length").writable)throw a("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},"3a9b":function(t,e,n){var r=n("e330");t.exports=r({}.isPrototypeOf)},"3bbe":function(t,e,n){var r=n("1626"),i=String,a=TypeError;t.exports=function(t){if("object"==typeof t||r(t))return t;throw a("Can't set "+i(t)+" as a prototype")}},"3c7e":function(t,e,n){"use strict";const r=/^\s+|\s+$/g,i=/\s+/g;function a(t){return"string"===typeof t?t.replace(r,"").split(i):t}function o(t){return f(t)?(t.getAttribute("class")||"").replace(r,"").split(i):[]}function s(t,e){f(t)&&t.setAttribute("class",a(e).join(" "))}function c(t,e){const n=u(t,e),r=a(e);return n.push.apply(n,r),s(t,n),n}function u(t,e){const n=o(t),r=a(e);return r.forEach(t=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}),s(t,n),n}function l(t,e){const n=o(t),r=a(e);return r.every(t=>-1!==n.indexOf(t))}function f(t){const e="object"===typeof HTMLElement;return e?t instanceof HTMLElement:p(t)}function p(t){return t&&"object"===typeof t&&"string"===typeof t.nodeName&&1===t.nodeType}e["a"]={add:c,remove:u,contains:l,has:l,set:s,get:o}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,i=n("577e"),a=n("69f3"),o=n("c6d2"),s=n("4754"),c="String Iterator",u=a.set,l=a.getterFor(c);o(String,"String",(function(t){u(this,{type:c,string:i(t),index:0})}),(function(){var t,e=l(this),n=e.string,i=e.index;return i>=n.length?s(void 0,!0):(t=r(n,i),e.index+=t.length,s(t,!1))}))},"3d86":function(t,e,n){"use strict";n("b0c0");var r=function(){var t=this,e=t._self._c;return e("label",{staticClass:"ui-checkbox",class:t.classes},[e("input",{ref:"input",staticClass:"ui-checkbox__input",attrs:{type:"checkbox",disabled:t.disabled,name:t.name,tabindex:t.tabindex},domProps:{checked:t.isChecked,value:t.submittedValue},on:{blur:t.onBlur,click:t.onClick,focus:t.onFocus}}),t._m(0),t.label||t.$slots.default?e("div",{staticClass:"ui-checkbox__label-text"},[t._t("default",(function(){return[t._v(t._s(t.label))]}))],2):t._e()])},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"ui-checkbox__checkmark"},[e("div",{staticClass:"ui-checkbox__checkmark-background"}),e("div",{staticClass:"ui-checkbox__focus-ring"})])}],a=(n("a9e3"),{name:"ui-checkbox",props:{name:String,label:String,tabindex:[String,Number],value:{required:!0},trueValue:{default:!0},falseValue:{default:!1},submittedValue:{type:String,default:"on"},checked:{type:Boolean,default:!1},boxPosition:{type:String,default:"left"},color:{type:String,default:"primary"},disabled:{type:Boolean,default:!1}},data:function(){return{isActive:!1,isChecked:this.value===this.trueValue||this.checked}},computed:{classes:function(){return["ui-checkbox--color-".concat(this.color),"ui-checkbox--box-position-".concat(this.boxPosition),{"is-checked":this.isChecked},{"is-active":this.isActive},{"is-disabled":this.disabled}]}},watch:{value:function(){this.isChecked=this.value===this.trueValue}},created:function(){this.$emit("input",this.isChecked?this.trueValue:this.falseValue)},methods:{focus:function(){this.$refs.input.focus()},onClick:function(t){var e=this.isChecked,n=t.target.checked;this.$emit("input",n?this.trueValue:this.falseValue,t),e!==n&&this.$emit("change",n?this.trueValue:this.falseValue,t)},onFocus:function(t){this.isActive=!0,this.$emit("focus",t)},onBlur:function(t){this.isActive=!1,this.$emit("blur",t)}}}),o=a,s=(n("3e8d"),n("2877")),c=Object(s["a"])(o,r,i,!1,null,null,null);e["a"]=c.exports},"3e8d":function(t,e,n){"use strict";n("10a7")},"3f33":function(t,e,n){"use strict";function r(t){return null!==t&&"object"===typeof t}function i(t,e){return t==e||!(!r(t)||!r(e))&&JSON.stringify(t)===JSON.stringify(e)}function a(t,e){for(let n=0;n?@[\\\]^|]/,rt=/[\0\t\n\r #/:<>?@[\\\]^|]/,it=/^[\u0000-\u0020]+/,at=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,ot=/[\t\n\r]/g,st=function(t){var e,n,r,i,a,o,s,c=B(t,".");if(c.length&&""==c[c.length-1]&&c.length--,e=c.length,e>4)return t;for(n=[],r=0;r1&&"0"==M(i,0)&&(a=P(X,i)?16:8,i=H(i,8==a?1:2)),""===i)o=0;else{if(!P(10==a?tt:8==a?Q:et,i))return t;o=L(i,a)}D(n,o)}for(r=0;r=j(256,5-e))return null}else if(o>255)return null;for(s=z(n),r=0;r6)return;r=0;while(p()){if(i=null,r>0){if(!("."==p()&&r<4))return;f++}if(!P(Z,p()))return;while(P(Z,p())){if(a=L(p(),10),null===i)i=a;else{if(0==i)return;i=10*i+a}if(i>255)return;f++}c[u]=256*c[u]+i,r++,2!=r&&4!=r||u++}if(4!=r)return;break}if(":"==p()){if(f++,!p())return}else if(p())return;c[u++]=e}else{if(null!==l)return;f++,u++,l=u}}if(null!==l){o=u-l,u=7;while(0!=u&&o>0)s=c[u],c[u--]=c[l+o-1],c[l+--o]=s}else if(8!=u)return;return c},ut=function(t){for(var e=null,n=1,r=null,i=0,a=0;a<8;a++)0!==t[a]?(i>n&&(e=r,n=i),r=null,i=0):(null===r&&(r=a),++i);return i>n&&(e=r,n=i),e},lt=function(t){var e,n,r,i;if("number"==typeof t){for(e=[],n=0;n<4;n++)V(e,t%256),t=N(t/256);return I(e,".")}if("object"==typeof t){for(e="",r=ut(t),n=0;n<8;n++)i&&0===t[n]||(i&&(i=!1),r===n?(e+=n?":":"::",i=!0):(e+=R(t[n],16),n<7&&(e+=":")));return"["+e+"]"}return t},ft={},pt=d({},ft,{" ":1,'"':1,"<":1,">":1,"`":1}),ht=d({},pt,{"#":1,"?":1,"{":1,"}":1}),dt=d({},ht,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),gt=function(t,e){var n=m(t,0);return n>32&&n<127&&!h(e,t)?t:encodeURIComponent(t)},vt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},mt=function(t,e){var n;return 2==t.length&&P(Y,M(t,0))&&(":"==(n=M(t,1))||!e&&"|"==n)},bt=function(t){var e;return t.length>1&&mt(H(t,0,2))&&(2==t.length||"/"===(e=M(t,2))||"\\"===e||"?"===e||"#"===e)},yt=function(t){return"."===t||"%2e"===U(t)},wt=function(t){return t=U(t),".."===t||"%2e."===t||".%2e"===t||"%2e%2e"===t},kt={},xt={},Ct={},_t={},St={},Et={},Ot={},Tt={},At={},Lt={},Nt={},jt={},Mt={},Pt={},It={},Rt={},zt={},Dt={},$t={},Ft={},Bt={},Ht=function(t,e,n){var r,i,a,o=y(t);if(e){if(i=this.parse(o),i)throw A(i);this.searchParams=null}else{if(void 0!==n&&(r=new Ht(n,!0)),i=this.parse(o,null,r),i)throw A(i);a=O(new E),a.bindURL(this),this.searchParams=a}};Ht.prototype={type:"URL",parse:function(t,e,n){var i,a,o,s,c=this,u=e||kt,l=0,f="",p=!1,d=!1,m=!1;t=y(t),e||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,t=$(t,it,""),t=$(t,at,"$1")),t=$(t,ot,""),i=g(t);while(l<=i.length){switch(a=i[l],u){case kt:if(!a||!P(Y,a)){if(e)return W;u=Ct;continue}f+=U(a),u=xt;break;case xt:if(a&&(P(J,a)||"+"==a||"-"==a||"."==a))f+=U(a);else{if(":"!=a){if(e)return W;f="",u=Ct,l=0;continue}if(e&&(c.isSpecial()!=h(vt,f)||"file"==f&&(c.includesCredentials()||null!==c.port)||"file"==c.scheme&&!c.host))return;if(c.scheme=f,e)return void(c.isSpecial()&&vt[c.scheme]==c.port&&(c.port=null));f="","file"==c.scheme?u=Pt:c.isSpecial()&&n&&n.scheme==c.scheme?u=_t:c.isSpecial()?u=Tt:"/"==i[l+1]?(u=St,l++):(c.cannotBeABaseURL=!0,D(c.path,""),u=$t)}break;case Ct:if(!n||n.cannotBeABaseURL&&"#"!=a)return W;if(n.cannotBeABaseURL&&"#"==a){c.scheme=n.scheme,c.path=v(n.path),c.query=n.query,c.fragment="",c.cannotBeABaseURL=!0,u=Bt;break}u="file"==n.scheme?Pt:Et;continue;case _t:if("/"!=a||"/"!=i[l+1]){u=Et;continue}u=At,l++;break;case St:if("/"==a){u=Lt;break}u=Dt;continue;case Et:if(c.scheme=n.scheme,a==r)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=v(n.path),c.query=n.query;else if("/"==a||"\\"==a&&c.isSpecial())u=Ot;else if("?"==a)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=v(n.path),c.query="",u=Ft;else{if("#"!=a){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=v(n.path),c.path.length--,u=Dt;continue}c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=v(n.path),c.query=n.query,c.fragment="",u=Bt}break;case Ot:if(!c.isSpecial()||"/"!=a&&"\\"!=a){if("/"!=a){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,u=Dt;continue}u=Lt}else u=At;break;case Tt:if(u=At,"/"!=a||"/"!=M(f,l+1))continue;l++;break;case At:if("/"!=a&&"\\"!=a){u=Lt;continue}break;case Lt:if("@"==a){p&&(f="%40"+f),p=!0,o=g(f);for(var b=0;b65535)return K;c.port=c.isSpecial()&&x===vt[c.scheme]?null:x,f=""}if(e)return;u=zt;continue}return K}f+=a;break;case Pt:if(c.scheme="file","/"==a||"\\"==a)u=It;else{if(!n||"file"!=n.scheme){u=Dt;continue}if(a==r)c.host=n.host,c.path=v(n.path),c.query=n.query;else if("?"==a)c.host=n.host,c.path=v(n.path),c.query="",u=Ft;else{if("#"!=a){bt(I(v(i,l),""))||(c.host=n.host,c.path=v(n.path),c.shortenPath()),u=Dt;continue}c.host=n.host,c.path=v(n.path),c.query=n.query,c.fragment="",u=Bt}}break;case It:if("/"==a||"\\"==a){u=Rt;break}n&&"file"==n.scheme&&!bt(I(v(i,l),""))&&(mt(n.path[0],!0)?D(c.path,n.path[0]):c.host=n.host),u=Dt;continue;case Rt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!e&&mt(f))u=Dt;else if(""==f){if(c.host="",e)return;u=zt}else{if(s=c.parseHost(f),s)return s;if("localhost"==c.host&&(c.host=""),e)return;f="",u=zt}continue}f+=a;break;case zt:if(c.isSpecial()){if(u=Dt,"/"!=a&&"\\"!=a)continue}else if(e||"?"!=a)if(e||"#"!=a){if(a!=r&&(u=Dt,"/"!=a))continue}else c.fragment="",u=Bt;else c.query="",u=Ft;break;case Dt:if(a==r||"/"==a||"\\"==a&&c.isSpecial()||!e&&("?"==a||"#"==a)){if(wt(f)?(c.shortenPath(),"/"==a||"\\"==a&&c.isSpecial()||D(c.path,"")):yt(f)?"/"==a||"\\"==a&&c.isSpecial()||D(c.path,""):("file"==c.scheme&&!c.path.length&&mt(f)&&(c.host&&(c.host=""),f=M(f,0)+":"),D(c.path,f)),f="","file"==c.scheme&&(a==r||"?"==a||"#"==a))while(c.path.length>1&&""===c.path[0])F(c.path);"?"==a?(c.query="",u=Ft):"#"==a&&(c.fragment="",u=Bt)}else f+=gt(a,ht);break;case $t:"?"==a?(c.query="",u=Ft):"#"==a?(c.fragment="",u=Bt):a!=r&&(c.path[0]+=gt(a,ft));break;case Ft:e||"#"!=a?a!=r&&("'"==a&&c.isSpecial()?c.query+="%27":c.query+="#"==a?"%23":gt(a,ft)):(c.fragment="",u=Bt);break;case Bt:a!=r&&(c.fragment+=gt(a,pt));break}l++}},parseHost:function(t){var e,n,r;if("["==M(t,0)){if("]"!=M(t,t.length-1))return G;if(e=ct(H(t,1,-1)),!e)return G;this.host=e}else if(this.isSpecial()){if(t=b(t),P(nt,t))return G;if(e=st(t),null===e)return G;this.host=e}else{if(P(rt,t))return G;for(e="",n=g(t),r=0;r1?arguments[1]:void 0,r=_(e,new Ht(t,!1,n));a||(e.href=r.serialize(),e.origin=r.getOrigin(),e.protocol=r.getProtocol(),e.username=r.getUsername(),e.password=r.getPassword(),e.host=r.getHost(),e.hostname=r.getHostname(),e.port=r.getPort(),e.pathname=r.getPathname(),e.search=r.getSearch(),e.searchParams=r.getSearchParams(),e.hash=r.getHash())},Vt=Ut.prototype,qt=function(t,e){return{get:function(){return S(this)[t]()},set:e&&function(t){return S(this)[e](t)},configurable:!0,enumerable:!0}};if(a&&(f(Vt,"href",qt("serialize","setHref")),f(Vt,"origin",qt("getOrigin")),f(Vt,"protocol",qt("getProtocol","setProtocol")),f(Vt,"username",qt("getUsername","setUsername")),f(Vt,"password",qt("getPassword","setPassword")),f(Vt,"host",qt("getHost","setHost")),f(Vt,"hostname",qt("getHostname","setHostname")),f(Vt,"port",qt("getPort","setPort")),f(Vt,"pathname",qt("getPathname","setPathname")),f(Vt,"search",qt("getSearch","setSearch")),f(Vt,"searchParams",qt("getSearchParams")),f(Vt,"hash",qt("getHash","setHash"))),l(Vt,"toJSON",(function(){return S(this).serialize()}),{enumerable:!0}),l(Vt,"toString",(function(){return S(this).serialize()}),{enumerable:!0}),T){var Wt=T.createObjectURL,Gt=T.revokeObjectURL;Wt&&l(Ut,"createObjectURL",c(Wt,T)),Gt&&l(Ut,"revokeObjectURL",c(Gt,T))}w(Ut,"URL"),i({global:!0,constructor:!0,forced:!o,sham:!a},{URL:Ut})},"408a":function(t,e,n){var r=n("e330");t.exports=r(1..valueOf)},"40c3":function(t,e,n){"use strict";n("d3b7"),n("ddb0"),n("b0c0");var r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"ui-radio-group",class:t.classes},[t.label||t.$slots.default?e("div",{staticClass:"ui-radio-group__label-text"},[t._t("default",(function(){return[t._v(t._s(t.label))]}))],2):t._e(),e("div",{staticClass:"ui-radio-group__radios"},t._l(t.options,(function(n){return e("ui-radio",{key:n[t.keys.id],staticClass:"ui-radio-group__radio",class:n[t.keys.class],attrs:{"button-position":t.buttonPosition,checked:t.isOptionCheckedByDefault(n),color:t.color,disabled:t.disabled||n[t.keys.disabled],id:n[t.keys.id],name:t.name,tabindex:t.tabindex,"true-value":t.getTrueValue(n)},on:{blur:t.onBlur,focus:t.onFocus},model:{value:t.selectedOptionValue,callback:function(e){t.selectedOptionValue=e},expression:"selectedOptionValue"}},[t._v(t._s(n[t.keys.label]||n))])})),1),t.hasFeedback?e("div",{staticClass:"ui-radio-group__feedback"},[t.showError?e("div",{staticClass:"ui-radio-group__feedback-text"},[t._t("error",(function(){return[t._v(t._s(t.error))]}))],2):t.showHelp?e("div",{staticClass:"ui-radio-group__feedback-text"},[t._t("help",(function(){return[t._v(t._s(t.help))]}))],2):t._e()]):t._e()])},i=[],a=(n("a9e3"),function(){var t=this,e=t._self._c;return e("label",{staticClass:"ui-radio",class:t.classes,on:{click:t.toggleCheck}},[e("div",{staticClass:"ui-radio__input-wrapper"},[e("input",{ref:"input",staticClass:"ui-radio__input",attrs:{type:"radio",disabled:t.disabled,name:t.name,tabindex:t.tabindex},domProps:{checked:t.checked,value:t.trueValue},on:{blur:t.onBlur,change:t.onChange,focus:t.onFocus}}),e("div",{staticClass:"ui-radio__focus-ring"}),e("span",{staticClass:"ui-radio__outer-circle"}),e("span",{staticClass:"ui-radio__inner-circle"})]),t.label||t.$slots.default?e("div",{staticClass:"ui-radio__label-text"},[t._t("default",(function(){return[t._v(t._s(t.label))]}))],2):t._e()])}),o=[],s={name:"ui-radio",props:{name:String,label:String,tabindex:[String,Number],value:{type:[Number,String],required:!0},trueValue:{type:[Number,String],required:!0},checked:{type:Boolean,default:!1},color:{type:String,default:"primary"},buttonPosition:{type:String,default:"left"},disabled:{type:Boolean,default:!1}},data:function(){return{isActive:!1}},computed:{classes:function(){return["ui-radio--color-".concat(this.color),"ui-radio--button-position-".concat(this.buttonPosition),{"is-active":this.isActive},{"is-checked":this.isChecked},{"is-disabled":this.disabled}]},isChecked:function(){return this.value===this.trueValue}},created:function(){this.checked&&this.$emit("input",this.trueValue)},methods:{focus:function(){this.$refs.input.focus()},toggleCheck:function(){this.disabled||this.$emit("input",this.trueValue)},onFocus:function(t){this.isActive=!0,this.$emit("focus",t)},onBlur:function(t){this.isActive=!1,this.$emit("blur",t)},onChange:function(t){this.$emit("change",this.isChecked,t)}}},c=s,u=(n("66ce"),n("2877")),l=Object(u["a"])(c,a,o,!1,null,null,null),f=l.exports,p={name:"ui-radio-group",props:{name:{type:String,required:!0},tabindex:[String,Number],label:String,options:{type:Array,required:!0},value:{type:[Number,String],required:!0},keys:{type:Object,default:function(){return{id:"id",class:"class",label:"label",value:"value",checked:"checked",disabled:"disabled"}}},color:{type:String,default:"primary"},buttonPosition:{type:String,default:"left"},vertical:{type:Boolean,default:!1},help:String,error:String,invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},data:function(){return{isActive:!1,initialValue:this.value,selectedOptionValue:this.value}},computed:{classes:function(){return["ui-radio-group--color-".concat(this.color),"ui-radio-group--button-position-".concat(this.buttonPosition),{"is-vertical":this.vertical},{"is-active":this.isActive},{"is-invalid":this.invalid},{"is-disabled":this.disabled}]},hasFeedback:function(){return this.showError||this.showHelp},showError:function(){return this.invalid&&(Boolean(this.error)||Boolean(this.$slots.error))},showHelp:function(){return Boolean(this.help)||Boolean(this.$slots.help)}},watch:{selectedOptionValue:function(){this.$emit("input",this.selectedOptionValue),this.$emit("change",this.selectedOptionValue)},value:function(){this.selectedOptionValue=this.value}},methods:{reset:function(){this.$emit("input",this.initialValue)},isOptionCheckedByDefault:function(t){return this.initialValue==t[this.keys.value]||this.initialValue==t||t[this.keys.checked]},getTrueValue:function(t){if("string"===typeof t||"number"===typeof t)return t;var e=t[this.keys.value];return void 0===e?(console.warn("[UiRadioGroup] option has no `value`: ",t),t):e},onFocus:function(t){this.isActive=!0,this.$emit("focus",t)},onBlur:function(t){this.isActive=!1,this.$emit("blur",t)}},components:{UiRadio:f}},h=p,d=(n("e0a5"),Object(u["a"])(h,r,i,!1,null,null,null));e["a"]=d.exports},"40d5":function(t,e,n){var r=n("d039");t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},4128:function(t,e,n){var r;(function(i){"use strict"; +/*! + * decimal.js v10.4.3 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2022 Michael Mclaughlin + * MIT Licence + */var a,o,s,c=9e15,u=1e9,l="0123456789abcdef",f="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",p="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",h={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-c,maxE:c,crypto:!1},d=!0,g="[DecimalError] ",v=g+"Invalid argument: ",m=g+"Precision limit exceeded",b=g+"crypto unavailable",y="[object Decimal]",w=Math.floor,k=Math.pow,x=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,C=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,_=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,S=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,E=1e7,O=7,T=9007199254740991,A=f.length-1,L=p.length-1,N={toStringTag:y};function j(t){var e,n,r,i=t.length-1,a="",o=t[0];if(i>0){for(a+=o,e=1;en)throw Error(v+t)}function P(t,e,n,r){var i,a,o,s;for(a=t[0];a>=10;a/=10)--e;return--e<0?(e+=O,i=0):(i=Math.ceil((e+1)/O),e%=O),a=k(10,O-e),s=t[i]%a|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),o=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(t[i+1]/a/100|0)==k(10,e-2)-1||(s==a/2||0==s)&&0==(t[i+1]/a/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),o=(r||n<4)&&9999==s||!r&&n>3&&4999==s):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(t[i+1]/a/1e3|0)==k(10,e-3)-1,o}function I(t,e,n){for(var r,i,a=[0],o=0,s=t.length;on-1&&(void 0===a[r+1]&&(a[r+1]=0),a[r+1]+=a[r]/n|0,a[r]%=n)}return a.reverse()}function R(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/et(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=tt(t,1,e.times(i),new t(1));for(var a=n;a--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return t.precision-=n,e}N.absoluteValue=N.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),D(t)},N.ceil=function(){return D(new this.constructor(this),this.e+1,2)},N.clampedTo=N.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(v+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)},N.comparedTo=N.cmp=function(t){var e,n,r,i,a=this,o=a.d,s=(t=new a.constructor(t)).d,c=a.s,u=t.s;if(!o||!s)return c&&u?c!==u?c:o===s?0:!o^c<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?c:s[0]?-u:0;if(c!==u)return c;if(a.e!==t.e)return a.e>t.e^c<0?1:-1;for(r=o.length,i=s.length,e=0,n=rs[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1},N.cosine=N.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+O,r.rounding=1,n=R(r,nt(r,n)),r.precision=t,r.rounding=e,D(2==s||3==s?n.neg():n,t,e,!0)):new r(1):new r(NaN)},N.cubeRoot=N.cbrt=function(){var t,e,n,r,i,a,o,s,c,u,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(d=!1,a=l.s*k(l.s*l,1/3),a&&Math.abs(a)!=1/0?r=new f(a.toString()):(n=j(l.d),t=l.e,(a=(t-n.length+1)%3)&&(n+=1==a||-2==a?"0":"00"),a=k(n,1/3),t=w((t+1)/3)-(t%3==(t<0?-1:2)),a==1/0?n="5e"+t:(n=a.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new f(n),r.s=l.s),o=(t=f.precision)+3;;)if(s=r,c=s.times(s).times(s),u=c.plus(l),r=z(u.plus(l).times(s),u.plus(c),o+2,1),j(s.d).slice(0,o)===(n=j(r.d)).slice(0,o)){if(n=n.slice(o-3,o+1),"9999"!=n&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(D(r,t+1,1),e=!r.times(r).times(r).eq(l));break}if(!i&&(D(s,t+1,0),s.times(s).times(s).eq(l))){r=s;break}o+=4,i=1}return d=!0,D(r,t,f.rounding,e)},N.decimalPlaces=N.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-w(this.e/O))*O,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},N.dividedBy=N.div=function(t){return z(this,new this.constructor(t))},N.dividedToIntegerBy=N.divToInt=function(t){var e=this,n=e.constructor;return D(z(e,new n(t),0,1,1),n.precision,n.rounding)},N.equals=N.eq=function(t){return 0===this.cmp(t)},N.floor=function(){return D(new this.constructor(this),this.e+1,3)},N.greaterThan=N.gt=function(t){return this.cmp(t)>0},N.greaterThanOrEqualTo=N.gte=function(t){var e=this.cmp(t);return 1==e||0===e},N.hyperbolicCosine=N.cosh=function(){var t,e,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,i=a.d.length,i<32?(t=Math.ceil(i/3),e=(1/et(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),a=tt(o,1,a.times(e),new o(1),!0);for(var c,u=t,l=new o(8);u--;)c=a.times(a),a=s.minus(c.times(l.minus(c.times(l))));return D(a,o.precision=n,o.rounding=r,!0)},N.hyperbolicSine=N.sinh=function(){var t,e,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(e=a.precision,n=a.rounding,a.precision=e+Math.max(i.e,i.sd())+4,a.rounding=1,r=i.d.length,r<3)i=tt(a,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:0|t,i=i.times(1/et(5,t)),i=tt(a,2,i,i,!0);for(var o,s=new a(5),c=new a(16),u=new a(20);t--;)o=i.times(i),i=i.times(s.plus(o.times(c.times(o).plus(u))))}return a.precision=e,a.rounding=n,D(i,e,n,!0)},N.hyperbolicTangent=N.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,z(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},N.inverseCosine=N.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,a=n.rounding;return-1!==r?0===r?e.isNeg()?H(n,i,a):new n(0):new n(NaN):e.isZero()?H(n,i+4,a).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=H(n,i+4,a).times(.5),n.precision=i,n.rounding=a,t.minus(e))},N.inverseHyperbolicCosine=N.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,d=!1,n=n.times(n).minus(1).sqrt().plus(n),d=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},N.inverseHyperbolicSine=N.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,d=!1,n=n.times(n).plus(1).sqrt().plus(n),d=!0,r.precision=t,r.rounding=e,n.ln())},N.inverseHyperbolicTangent=N.atanh=function(){var t,e,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=a.precision,e=a.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?D(new a(i),t,e,!0):(a.precision=n=r-i.e,i=z(i.plus(1),new a(1).minus(i),n+t,1),a.precision=t+4,a.rounding=1,i=i.ln(),a.precision=t,a.rounding=e,i.times(.5))):new a(NaN)},N.inverseSine=N.asin=function(){var t,e,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(e=i.abs().cmp(1),n=a.precision,r=a.rounding,-1!==e?0===e?(t=H(a,n+4,r).times(.5),t.s=i.s,t):new a(NaN):(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)))},N.inverseTangent=N.atan=function(){var t,e,n,r,i,a,o,s,c,u=this,l=u.constructor,f=l.precision,p=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&f+4<=L)return o=H(l,f+4,p).times(.25),o.s=u.s,o}else{if(!u.s)return new l(NaN);if(f+4<=L)return o=H(l,f+4,p).times(.5),o.s=u.s,o}for(l.precision=s=f+10,l.rounding=1,n=Math.min(28,s/O+2|0),t=n;t;--t)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(d=!1,e=Math.ceil(s/O),r=1,c=u.times(u),o=new l(u),i=u;-1!==t;)if(i=i.times(c),a=o.minus(i.div(r+=2)),i=i.times(c),o=a.plus(i.div(r+=2)),void 0!==o.d[e])for(t=e;o.d[t]===a.d[t]&&t--;);return n&&(o=o.times(2<this.d.length-2},N.isNaN=function(){return!this.s},N.isNegative=N.isNeg=function(){return this.s<0},N.isPositive=N.isPos=function(){return this.s>0},N.isZero=function(){return!!this.d&&0===this.d[0]},N.lessThan=N.lt=function(t){return this.cmp(t)<0},N.lessThanOrEqualTo=N.lte=function(t){return this.cmp(t)<1},N.logarithm=N.log=function(t){var e,n,r,i,a,o,s,c,u=this,l=u.constructor,f=l.precision,p=l.rounding,h=5;if(null==t)t=new l(10),e=!0;else{if(t=new l(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:1!=u.s?NaN:n?0:1/0);if(e)if(n.length>1)a=!0;else{for(i=n[0];i%10===0;)i/=10;a=1!==i}if(d=!1,s=f+h,o=Y(u,s),r=e?B(l,s+10):Y(t,s),c=z(o,r,s,1),P(c.d,i=f,p))do{if(s+=10,o=Y(u,s),r=e?B(l,s+10):Y(t,s),c=z(o,r,s,1),!a){+j(c.d).slice(i+1,i+15)+1==1e14&&(c=D(c,f+1,0));break}}while(P(c.d,i+=10,p));return d=!0,D(c,f,p)},N.minus=N.sub=function(t){var e,n,r,i,a,o,s,c,u,l,f,p,h=this,g=h.constructor;if(t=new g(t),!h.d||!t.d)return h.s&&t.s?h.d?t.s=-t.s:t=new g(t.d||h.s!==t.s?h:NaN):t=new g(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.plus(t);if(u=h.d,p=t.d,s=g.precision,c=g.rounding,!u[0]||!p[0]){if(p[0])t.s=-t.s;else{if(!u[0])return new g(3===c?-0:0);t=new g(h)}return d?D(t,s,c):t}if(n=w(t.e/O),l=w(h.e/O),u=u.slice(),a=l-n,a){for(f=a<0,f?(e=u,a=-a,o=p.length):(e=p,n=l,o=u.length),r=Math.max(Math.ceil(s/O),o)+2,a>r&&(a=r,e.length=1),e.reverse(),r=a;r--;)e.push(0);e.reverse()}else{for(r=u.length,o=p.length,f=r0;--r)u[o++]=0;for(r=p.length;r>a;){if(u[--r]o?a+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=u.length,i=l.length,o-i<0&&(i=o,n=l,l=u,u=n),e=0;i;)e=(u[--i]=u[i]+l[i]+e)/E|0,u[i]%=E;for(e&&(u.unshift(e),++r),o=u.length;0==u[--o];)u.pop();return t.d=u,t.e=F(u,r),d?D(t,s,c):t},N.precision=N.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(v+t);return n.d?(e=U(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},N.round=function(){var t=this,e=t.constructor;return D(new e(t),t.e+1,e.rounding)},N.sine=N.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+O,r.rounding=1,n=Q(r,nt(r,n)),r.precision=t,r.rounding=e,D(s>2?n.neg():n,t,e,!0)):new r(NaN)},N.squareRoot=N.sqrt=function(){var t,e,n,r,i,a,o=this,s=o.d,c=o.e,u=o.s,l=o.constructor;if(1!==u||!s||!s[0])return new l(!u||u<0&&(!s||s[0])?NaN:s?o:1/0);for(d=!1,u=Math.sqrt(+o),0==u||u==1/0?(e=j(s),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=w((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new l(e)):r=new l(u.toString()),n=(c=l.precision)+3;;)if(a=r,r=a.plus(z(o,a,n+2,1)).times(.5),j(a.d).slice(0,n)===(e=j(r.d)).slice(0,n)){if(e=e.slice(n-3,n+1),"9999"!=e&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(D(r,c+1,1),t=!r.times(r).eq(o));break}if(!i&&(D(a,c+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}return d=!0,D(r,c,l.rounding,t)},N.tangent=N.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=z(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,D(2==s||4==s?n.neg():n,t,e,!0)):new r(NaN)},N.times=N.mul=function(t){var e,n,r,i,a,o,s,c,u,l=this,f=l.constructor,p=l.d,h=(t=new f(t)).d;if(t.s*=l.s,!p||!p[0]||!h||!h[0])return new f(!t.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:p&&h?0*t.s:t.s/0);for(n=w(l.e/O)+w(t.e/O),c=p.length,u=h.length,c=0;){for(e=0,i=c+r;i>r;)s=a[i]+h[r]*p[i-r-1]+e,a[i--]=s%E|0,e=s/E|0;a[i]=(a[i]+e)%E|0}for(;!a[--o];)a.pop();return e?++n:a.shift(),t.d=a,t.e=F(a,n),d?D(t,f.precision,f.rounding):t},N.toBinary=function(t,e){return rt(this,2,t,e)},N.toDecimalPlaces=N.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(M(t,0,u),void 0===e?e=r.rounding:M(e,0,8),D(n,t+n.e+1,e))},N.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=$(r,!0):(M(t,0,u),void 0===e?e=i.rounding:M(e,0,8),r=D(new i(r),t+1,e),n=$(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},N.toFixed=function(t,e){var n,r,i=this,a=i.constructor;return void 0===t?n=$(i):(M(t,0,u),void 0===e?e=a.rounding:M(e,0,8),r=D(new a(i),t+i.e+1,e),n=$(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},N.toFraction=function(t){var e,n,r,i,a,o,s,c,u,l,f,p,h=this,g=h.d,m=h.constructor;if(!g)return new m(h);if(u=n=new m(1),r=c=new m(0),e=new m(r),a=e.e=U(g)-h.e-1,o=a%O,e.d[0]=k(10,o<0?O+o:o),null==t)t=a>0?e:u;else{if(s=new m(t),!s.isInt()||s.lt(u))throw Error(v+s);t=s.gt(e)?a>0?e:u:s}for(d=!1,s=new m(j(g)),l=m.precision,m.precision=a=g.length*O*2;;){if(f=z(s,e,0,1,1),i=n.plus(f.times(r)),1==i.cmp(t))break;n=r,r=i,i=u,u=c.plus(f.times(i)),c=i,i=e,e=s.minus(f.times(i)),s=i}return i=z(t.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=h.s,p=z(u,r,a,1).minus(h).abs().cmp(z(c,n,a,1).minus(h).abs())<1?[u,r]:[c,n],m.precision=l,d=!0,p},N.toHexadecimal=N.toHex=function(t,e){return rt(this,16,t,e)},N.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:M(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(d=!1,n=z(n,t,0,e,1).times(t),d=!0,D(n)):(t.s=n.s,n=t),n},N.toNumber=function(){return+this},N.toOctal=function(t,e){return rt(this,8,t,e)},N.toPower=N.pow=function(t){var e,n,r,i,a,o,s=this,c=s.constructor,u=+(t=new c(t));if(!s.d||!t.d||!s.d[0]||!t.d[0])return new c(k(+s,u));if(s=new c(s),s.eq(1))return s;if(r=c.precision,a=c.rounding,t.eq(1))return D(s,r,a);if(e=w(t.e/O),e>=t.d.length-1&&(n=u<0?-u:u)<=T)return i=q(c,s,n,r),t.s<0?new c(1).div(i):D(i,r,a);if(o=s.s,o<0){if(ec.maxE+1||e0?o/0:0):(d=!1,c.rounding=s.s=1,n=Math.min(12,(e+"").length),i=K(t.times(Y(s,r+n)),r),i.d&&(i=D(i,r+5,1),P(i.d,r,a)&&(e=r+10,i=D(K(t.times(Y(s,e+n)),e),e+5,1),+j(i.d).slice(r+1,r+15)+1==1e14&&(i=D(i,r+1,0)))),i.s=o,d=!0,c.rounding=a,D(i,r,a))},N.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=$(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(M(t,1,u),void 0===e?e=i.rounding:M(e,0,8),r=D(new i(r),t,e),n=$(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},N.toSignificantDigits=N.toSD=function(t,e){var n=this,r=n.constructor;return void 0===t?(t=r.precision,e=r.rounding):(M(t,1,u),void 0===e?e=r.rounding:M(e,0,8)),D(new r(n),t,e)},N.toString=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},N.truncated=N.trunc=function(){return D(new this.constructor(this),this.e+1,1)},N.valueOf=N.toJSON=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var z=function(){function t(t,e,n){var r,i=0,a=t.length;for(t=t.slice();a--;)r=t[a]*e+i,t[a]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;ie[i]?1:-1;break}return a}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]1;)t.shift()}return function(r,i,a,s,c,u){var l,f,p,h,d,g,v,m,b,y,k,x,C,_,S,T,A,L,N,j,M=r.constructor,P=r.s==i.s?1:-1,I=r.d,R=i.d;if(!I||!I[0]||!R||!R[0])return new M(r.s&&i.s&&(I?!R||I[0]!=R[0]:R)?I&&0==I[0]||!R?0*P:P/0:NaN);for(u?(d=1,f=r.e-i.e):(u=E,d=O,f=w(r.e/d)-w(i.e/d)),N=R.length,A=I.length,b=new M(P),y=b.d=[],p=0;R[p]==(I[p]||0);p++);if(R[p]>(I[p]||0)&&f--,null==a?(_=a=M.precision,s=M.rounding):_=c?a+(r.e-i.e)+1:a,_<0)y.push(1),g=!0;else{if(_=_/d+2|0,p=0,1==N){for(h=0,R=R[0],_++;(p1&&(R=t(R,h,u),I=t(I,h,u),N=R.length,A=I.length),T=N,k=I.slice(0,N),x=k.length;x=u/2&&++L;do{h=0,l=e(R,k,N,x),l<0?(C=k[0],N!=x&&(C=C*u+(k[1]||0)),h=C/L|0,h>1?(h>=u&&(h=u-1),v=t(R,h,u),m=v.length,x=k.length,l=e(v,k,m,x),1==l&&(h--,n(v,N=10;h/=10)p++;b.e=p+f*d-1,D(b,c?a+b.e+1:a,s,g)}return b}}();function D(t,e,n,r){var i,a,o,s,c,u,l,f,p,h=t.constructor;t:if(null!=e){if(f=t.d,!f)return t;for(i=1,s=f[0];s>=10;s/=10)i++;if(a=e-i,a<0)a+=O,o=e,l=f[p=0],c=l/k(10,i-o-1)%10|0;else if(p=Math.ceil((a+1)/O),s=f.length,p>=s){if(!r)break t;for(;s++<=p;)f.push(0);l=c=0,i=1,a%=O,o=a-O+1}else{for(l=s=f[p],i=1;s>=10;s/=10)i++;a%=O,o=a-O+i,c=o<0?0:l/k(10,i-o-1)%10|0}if(r=r||e<0||void 0!==f[p+1]||(o<0?l:l%k(10,i-o-1)),u=n<4?(c||r)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||r||6==n&&(a>0?o>0?l/k(10,i-o):0:f[p-1])%10&1||n==(t.s<0?8:7)),e<1||!f[0])return f.length=0,u?(e-=t.e+1,f[0]=k(10,(O-e%O)%O),t.e=-e||0):f[0]=t.e=0,t;if(0==a?(f.length=p,s=1,p--):(f.length=p+1,s=k(10,O-a),f[p]=o>0?(l/k(10,i-o)%k(10,o)|0)*s:0),u)for(;;){if(0==p){for(a=1,o=f[0];o>=10;o/=10)a++;for(o=f[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(t.e++,f[0]==E&&(f[0]=1));break}if(f[p]+=s,f[p]!=E)break;f[p--]=0,s=1}for(a=f.length;0===f[--a];)f.pop()}return d&&(t.e>h.maxE?(t.d=null,t.e=NaN):t.e0?a=a.charAt(0)+"."+a.slice(1)+V(r):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(t.e<0?"e":"e+")+t.e):i<0?(a="0."+V(-i-1)+a,n&&(r=n-o)>0&&(a+=V(r))):i>=o?(a+=V(i+1-o),n&&(r=n-i-1)>0&&(a=a+"."+V(r))):((r=i+1)0&&(i+1===o&&(a+="."),a+=V(r))),a}function F(t,e){var n=t[0];for(e*=O;n>=10;n/=10)e++;return e}function B(t,e,n){if(e>A)throw d=!0,n&&(t.precision=n),Error(m);return D(new t(f),e,1,!0)}function H(t,e,n){if(e>L)throw Error(m);return D(new t(p),e,n,!0)}function U(t){var e=t.length-1,n=e*O+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function V(t){for(var e="";t--;)e+="0";return e}function q(t,e,n,r){var i,a=new t(1),o=Math.ceil(r/O+4);for(d=!1;;){if(n%2&&(a=a.times(e),it(a.d,o)&&(i=!0)),n=w(n/2),0===n){n=a.d.length-1,i&&0===a.d[n]&&++a.d[n];break}e=e.times(e),it(e.d,o)}return d=!0,a}function W(t){return 1&t.d[t.d.length-1]}function G(t,e,n){for(var r,i=new t(e[0]),a=0;++a17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);null==e?(d=!1,c=g):c=e,s=new p(.03125);while(t.e>-2)t=t.times(s),f+=5;for(r=Math.log(k(2,f))/Math.LN10*2+5|0,c+=r,n=a=o=new p(1),p.precision=c;;){if(a=D(a.times(t),c,1),n=n.times(++l),s=o.plus(z(a,n,c,1)),j(s.d).slice(0,c)===j(o.d).slice(0,c)){i=f;while(i--)o=D(o.times(o),c,1);if(null!=e)return p.precision=g,o;if(!(u<3&&P(o.d,c-r,h,u)))return D(o,p.precision=g,h,d=!0);p.precision=c+=10,n=a=s=new p(1),l=0,u++}o=s}}function Y(t,e){var n,r,i,a,o,s,c,u,l,f,p,h=1,g=10,v=t,m=v.d,b=v.constructor,y=b.rounding,w=b.precision;if(v.s<0||!m||!m[0]||!v.e&&1==m[0]&&1==m.length)return new b(m&&!m[0]?-1/0:1!=v.s?NaN:m?0:v);if(null==e?(d=!1,l=w):l=e,b.precision=l+=g,n=j(m),r=n.charAt(0),!(Math.abs(a=v.e)<15e14))return u=B(b,l+2,w).times(a+""),v=Y(new b(r+"."+n.slice(1)),l-g).plus(u),b.precision=w,null==e?D(v,w,y,d=!0):v;while(r<7&&1!=r||1==r&&n.charAt(1)>3)v=v.times(t),n=j(v.d),r=n.charAt(0),h++;for(a=v.e,r>1?(v=new b("0."+n),a++):v=new b(r+"."+n.slice(1)),f=v,c=o=v=z(v.minus(1),v.plus(1),l,1),p=D(v.times(v),l,1),i=3;;){if(o=D(o.times(p),l,1),u=c.plus(z(o,new b(i),l,1)),j(u.d).slice(0,l)===j(c.d).slice(0,l)){if(c=c.times(2),0!==a&&(c=c.plus(B(b,l+2,w).times(a+""))),c=z(c,new b(h),l,1),null!=e)return b.precision=w,c;if(!P(c.d,l-g,y,s))return D(c,b.precision=w,y,d=!0);b.precision=l+=g,u=o=v=z(f.minus(1),f.plus(1),l,1),p=D(v.times(v),l,1),i=s=1}c=u,i+=2}}function J(t){return String(t.s*t.s/0)}function Z(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%O,n<0&&(r+=O),rt.constructor.maxE?(t.d=null,t.e=NaN):t.e-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),S.test(e))return Z(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(C.test(e))n=16,e=e.toLowerCase();else if(x.test(e))n=2;else{if(!_.test(e))throw Error(v+e);n=8}for(o=e.search(/p/i),o>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),c=e.length,o=c-o,i=q(r,new r(n),o,2*o)),l=I(e,n,E),f=l.length-1,o=f;0===l[o];--o)l.pop();return o<0?new r(0*t.s):(t.e=F(l,f),t.d=l,d=!1,s&&(t=z(t,i,4*c)),u&&(t=t.times(Math.abs(u)<54?k(2,u):a.pow(2,u))),d=!0,t)}function Q(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:tt(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:0|n,e=e.times(1/et(5,n)),e=tt(t,2,e,e);for(var i,a=new t(5),o=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(a.plus(i.times(o.times(i).minus(s))));return e}function tt(t,e,n,r,i){var a,o,s,c,u=t.precision,l=Math.ceil(u/O);for(d=!1,c=n.times(n),s=new t(r);;){if(o=z(s.times(c),new t(e++*e++),u,1),s=i?r.plus(o):r.minus(o),r=z(o.times(c),new t(e++*e++),u,1),o=s.plus(r),void 0!==o.d[l]){for(a=l;o.d[a]===s.d[a]&&a--;);if(-1==a)break}a=s,s=r,r=o,o=a}return d=!0,o.d.length=l+1,o}function et(t,e){var n=t;while(--e)n*=t;return n}function nt(t,e){var n,r=e.s<0,i=H(t,t.precision,1),a=i.times(.5);if(e=e.abs(),e.lte(a))return s=r?4:1,e;if(n=e.divToInt(i),n.isZero())s=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(a))return s=W(n)?r?2:3:r?4:1,e;s=W(n)?r?1:4:r?3:2}return e.minus(i).abs()}function rt(t,e,n,r){var i,a,s,c,f,p,h,d,g,v=t.constructor,m=void 0!==n;if(m?(M(n,1,u),void 0===r?r=v.rounding:M(r,0,8)):(n=v.precision,r=v.rounding),t.isFinite()){for(h=$(t),s=h.indexOf("."),m?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,s>=0&&(h=h.replace(".",""),g=new v(1),g.e=h.length-s,g.d=I($(g),10,i),g.e=g.d.length),d=I(h,10,i),a=f=d.length;0==d[--f];)d.pop();if(d[0]){if(s<0?a--:(t=new v(t),t.d=d,t.e=a,t=z(t,g,n,r,0,i),d=t.d,a=t.e,p=o),s=d[n],c=i/2,p=p||void 0!==d[n+1],p=r<4?(void 0!==s||p)&&(0===r||r===(t.s<0?3:2)):s>c||s===c&&(4===r||p||6===r&&1&d[n-1]||r===(t.s<0?8:7)),d.length=n,p)for(;++d[--n]>i-1;)d[n]=0,n||(++a,d.unshift(1));for(f=d.length;!d[f-1];--f);for(s=0,h="";s1)if(16==e||8==e){for(s=16==e?4:3,--f;f%s;f++)h+="0";for(d=I(h,i,e),f=d.length;!d[f-1];--f);for(s=1,h="1.";sf)for(a-=f;a--;)h+="0";else ae)return t.length=e,!0}function at(t){return new this(t).abs()}function ot(t){return new this(t).acos()}function st(t){return new this(t).acosh()}function ct(t,e){return new this(t).plus(e)}function ut(t){return new this(t).asin()}function lt(t){return new this(t).asinh()}function ft(t){return new this(t).atan()}function pt(t){return new this(t).atanh()}function ht(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,a=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?H(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=H(this,a,1).times(.5),n.s=t.s):e.s<0?(this.precision=a,this.rounding=1,n=this.atan(z(t,e,a,1)),e=H(this,a,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(z(t,e,a,1)):(n=H(this,a,1).times(e.s>0?.25:.75),n.s=t.s):n=new this(NaN),n}function dt(t){return new this(t).cbrt()}function gt(t){return D(t=new this(t),t.e+1,2)}function vt(t,e,n){return new this(t).clamp(e,n)}function mt(t){if(!t||"object"!==typeof t)throw Error(g+"Object expected");var e,n,r,i=!0===t.defaults,a=["precision",1,u,"rounding",0,8,"toExpNeg",-c,0,"toExpPos",0,c,"maxE",0,c,"minE",-c,0,"modulo",0,9];for(e=0;e=a[e+1]&&r<=a[e+2]))throw Error(v+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=h[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(v+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(b);this[n]=!0}else this[n]=!1}return this}function bt(t){return new this(t).cos()}function yt(t){return new this(t).cosh()}function wt(t){var e,n,r;function i(t){var e,n,r,a=this;if(!(a instanceof i))return new i(t);if(a.constructor=i,St(t))return a.s=t.s,void(d?!t.d||t.e>i.maxE?(a.e=NaN,a.d=null):t.e=10;n/=10)e++;return void(d?e>i.maxE?(a.e=NaN,a.d=null):e=429e7?e[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else{if(!crypto.randomBytes)throw Error(b);for(e=crypto.randomBytes(r*=4);a=214e7?crypto.randomBytes(4).copy(e,a):(s.push(i%1e7),a+=4);a=r/4}else for(;a=10;i/=10)r++;r@^][^\s!#%&*+<=>@^]*>/,P=/a/g,I=/a/g,R=new S(P)!==P,z=d.MISSED_STICKY,D=d.UNSUPPORTED_Y,$=r&&(!R||z||x||C||m((function(){return I[_]=!1,S(P)!=P||S(I)==I||"/a/i"!=S(P,"i")}))),F=function(t){for(var e,n=t.length,r=0,i="",a=!1;r<=n;r++)e=A(t,r),"\\"!==e?a||"."!==e?("["===e?a=!0:"]"===e&&(a=!1),i+=e):i+="[\\s\\S]":i+=e+A(t,++r);return i},B=function(t){for(var e,n=t.length,r=0,i="",a=[],o={},s=!1,c=!1,u=0,l="";r<=n;r++){if(e=A(t,r),"\\"===e)e+=A(t,++r);else if("]"===e)s=!1;else if(!s)switch(!0){case"["===e:s=!0;break;case"("===e:T(M,j(t,r+1))&&(r+=2,c=!0),i+=e,u++;continue;case">"===e&&c:if(""===l||b(o,l))throw new O("Invalid capture group name");o[l]=!0,a[a.length]=[l,u],c=!1,l="";continue}c?l+=e:i+=e}return[i,a]};if(o("RegExp",$)){for(var H=function(t,e){var n,r,i,a,o,u,d=l(E,this),g=f(t),v=void 0===e,m=[],b=t;if(!d&&g&&v&&t.constructor===H)return t;if((g||l(E,t))&&(t=t.source,v&&(e=h(b))),t=void 0===t?"":p(t),e=void 0===e?"":p(e),b=t,x&&"dotAll"in P&&(r=!!e&&N(e,"s")>-1,r&&(e=L(e,/s/g,""))),n=e,z&&"sticky"in P&&(i=!!e&&N(e,"y")>-1,i&&D&&(e=L(e,/y/g,""))),C&&(a=B(t),t=a[0],m=a[1]),o=s(S(t,e),d?this:E,H),(r||i||m.length)&&(u=y(o),r&&(u.dotAll=!0,u.raw=H(F(t),n)),i&&(u.sticky=!0),m.length&&(u.groups=m)),t!==b)try{c(o,"source",""===b?"(?:)":b)}catch(w){}return o},U=u(S),V=0;U.length>V;)g(H,S,U[V++]);E.constructor=H,H.prototype=E,v(i,"RegExp",H,{constructor:!0})}w("RegExp")},"4d64":function(t,e,n){var r=n("fc6a"),i=n("23cb"),a=n("07fa"),o=function(t){return function(e,n,o){var s,c=r(e),u=a(c),l=i(o,u);if(t&&n!=n){while(u>l)if(s=c[l++],s!=s)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:o(!0),indexOf:o(!1)}},"4d90":function(t,e,n){"use strict";var r=n("23e7"),i=n("0ccb").start,a=n("9a0c");r({target:"String",proto:!0,forced:a},{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},"4dae":function(t,e,n){var r=n("23cb"),i=n("07fa"),a=n("8418"),o=Array,s=Math.max;t.exports=function(t,e,n){for(var c=i(t),u=r(e,c),l=r(void 0===n?c:n,c),f=o(s(l-u,0)),p=0;u1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),i=n("c65b"),a=n("7b0b"),o=n("9bdd"),s=n("e95a"),c=n("68ee"),u=n("07fa"),l=n("8418"),f=n("9a1f"),p=n("35a1"),h=Array;t.exports=function(t){var e=a(t),n=c(this),d=arguments.length,g=d>1?arguments[1]:void 0,v=void 0!==g;v&&(g=r(g,d>2?arguments[2]:void 0));var m,b,y,w,k,x,C=p(e),_=0;if(!C||this===h&&s(C))for(m=u(e),b=n?new this(m):h(m);m>_;_++)x=v?g(e[_],_):e[_],l(b,_,x);else for(w=f(e,C),k=w.next,b=n?new this:[];!(y=i(k,w)).done;_++)x=v?o(w,g,[y.value,_],!0):y.value,l(b,_,x);return b.length=_,b}},"4e82":function(t,e,n){"use strict";var r=n("23e7"),i=n("e330"),a=n("59ed"),o=n("7b0b"),s=n("07fa"),c=n("083a"),u=n("577e"),l=n("d039"),f=n("addb"),p=n("a640"),h=n("04d1"),d=n("d998"),g=n("2d00"),v=n("512c"),m=[],b=i(m.sort),y=i(m.push),w=l((function(){m.sort(void 0)})),k=l((function(){m.sort(null)})),x=p("sort"),C=!l((function(){if(g)return g<70;if(!(h&&h>3)){if(d)return!0;if(v)return v<603;var t,e,n,r,i="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)m.push({k:e+r,v:n})}for(m.sort((function(t,e){return e.v-t.v})),r=0;ru(n)?1:-1}};r({target:"Array",proto:!0,forced:_},{sort:function(t){void 0!==t&&a(t);var e=o(this);if(C)return void 0===t?b(e):b(e,t);var n,r,i=[],u=s(e);for(r=0;r0?i(r(t),9007199254740991):0}},5118:function(t,e,n){(function(t){var r="undefined"!==typeof t&&t||"undefined"!==typeof self&&self||window,i=Function.prototype.apply;function a(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new a(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new a(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n("6017"),e.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n("c8ba"))},"512c":function(t,e,n){var r=n("342f"),i=r.match(/AppleWebKit\/(\d+)\./);t.exports=!!i&&+i[1]},"51eb":function(t,e,n){"use strict";var r=n("825a"),i=n("485a"),a=TypeError;t.exports=function(t){if(r(this),"string"===t||"default"===t)t="string";else if("number"!==t)throw a("Incorrect hint");return i(this,t)}},5319:function(t,e,n){"use strict";var r=n("2ba4"),i=n("c65b"),a=n("e330"),o=n("d784"),s=n("d039"),c=n("825a"),u=n("1626"),l=n("7234"),f=n("5926"),p=n("50c4"),h=n("577e"),d=n("1d80"),g=n("8aa5"),v=n("dc4a"),m=n("0cb2"),b=n("14c3"),y=n("b622"),w=y("replace"),k=Math.max,x=Math.min,C=a([].concat),_=a([].push),S=a("".indexOf),E=a("".slice),O=function(t){return void 0===t?t:String(t)},T=function(){return"$0"==="a".replace(/./,"$0")}(),A=function(){return!!/./[w]&&""===/./[w]("a","$0")}(),L=!s((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}));o("replace",(function(t,e,n){var a=A?"$":"$0";return[function(t,n){var r=d(this),a=l(t)?void 0:v(t,w);return a?i(a,t,r,n):i(e,h(r),t,n)},function(t,i){var o=c(this),s=h(t);if("string"==typeof i&&-1===S(i,a)&&-1===S(i,"$<")){var l=n(e,o,s,i);if(l.done)return l.value}var d=u(i);d||(i=h(i));var v=o.global;if(v){var y=o.unicode;o.lastIndex=0}var w=[];while(1){var T=b(o,s);if(null===T)break;if(_(w,T),!v)break;var A=h(T[0]);""===A&&(o.lastIndex=g(s,p(o.lastIndex),y))}for(var L="",N=0,j=0;j=N&&(L+=E(s,N,P)+$,N=P+M.length)}return L+E(s,N)}]}),!L||!T||A)},5352:function(t,e,n){"use strict";n("e260");var r=n("23e7"),i=n("da84"),a=n("c65b"),o=n("e330"),s=n("83ab"),c=n("f354"),u=n("cb2d"),l=n("edd0"),f=n("6964"),p=n("d44e"),h=n("dcc3"),d=n("69f3"),g=n("19aa"),v=n("1626"),m=n("1a2d"),b=n("0366"),y=n("f5df"),w=n("825a"),k=n("861d"),x=n("577e"),C=n("7c73"),_=n("5c6c"),S=n("9a1f"),E=n("35a1"),O=n("d6d6"),T=n("b622"),A=n("addb"),L=T("iterator"),N="URLSearchParams",j=N+"Iterator",M=d.set,P=d.getterFor(N),I=d.getterFor(j),R=Object.getOwnPropertyDescriptor,z=function(t){if(!s)return i[t];var e=R(i,t);return e&&e.value},D=z("fetch"),$=z("Request"),F=z("Headers"),B=$&&$.prototype,H=F&&F.prototype,U=i.RegExp,V=i.TypeError,q=i.decodeURIComponent,W=i.encodeURIComponent,G=o("".charAt),K=o([].join),Y=o([].push),J=o("".replace),Z=o([].shift),X=o([].splice),Q=o("".split),tt=o("".slice),et=/\+/g,nt=Array(4),rt=function(t){return nt[t-1]||(nt[t-1]=U("((?:%[\\da-f]{2}){"+t+"})","gi"))},it=function(t){try{return q(t)}catch(e){return t}},at=function(t){var e=J(t,et," "),n=4;try{return q(e)}catch(r){while(n)e=J(e,rt(n--),it);return e}},ot=/[!'()~]|%20/g,st={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ct=function(t){return st[t]},ut=function(t){return J(W(t),ot,ct)},lt=h((function(t,e){M(this,{type:j,iterator:S(P(t).entries),kind:e})}),"Iterator",(function(){var t=I(this),e=t.kind,n=t.iterator.next(),r=n.value;return n.done||(n.value="keys"===e?r.key:"values"===e?r.value:[r.key,r.value]),n}),!0),ft=function(t){this.entries=[],this.url=null,void 0!==t&&(k(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===G(t,0)?tt(t,1):t:x(t)))};ft.prototype={type:N,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,n,r,i,o,s,c,u=E(t);if(u){e=S(t,u),n=e.next;while(!(r=a(n,e)).done){if(i=S(w(r.value)),o=i.next,(s=a(o,i)).done||(c=a(o,i)).done||!a(o,i).done)throw V("Expected sequence with length 2");Y(this.entries,{key:x(s.value),value:x(c.value)})}}else for(var l in t)m(t,l)&&Y(this.entries,{key:l,value:x(t[l])})},parseQuery:function(t){if(t){var e,n,r=Q(t,"&"),i=0;while(i0?arguments[0]:void 0,e=M(this,new ft(t));s||(this.size=e.entries.length)},ht=pt.prototype;if(f(ht,{append:function(t,e){var n=P(this);O(arguments.length,2),Y(n.entries,{key:x(t),value:x(e)}),s||this.length++,n.updateURL()},delete:function(t){var e=P(this),n=O(arguments.length,1),r=e.entries,i=x(t),a=n<2?void 0:arguments[1],o=void 0===a?a:x(a),c=0;while(ce.key?1:-1})),t.updateURL()},forEach:function(t){var e,n=P(this).entries,r=b(t,arguments.length>1?arguments[1]:void 0),i=0;while(i1?vt(arguments[1]):{})}}),v($)){var mt=function(t){return g(this,B),new $(t,arguments.length>1?vt(arguments[1]):{})};B.constructor=mt,mt.prototype=B,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:mt})}}t.exports={URLSearchParams:pt,getState:P}},"53a5":function(t,e){function n(t,e,n){return en?n:t:te?e:t}t.exports=n},"53ca":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0");function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}},5494:function(t,e,n){"use strict";var r=n("83ab"),i=n("e330"),a=n("edd0"),o=URLSearchParams.prototype,s=i(o.forEach);r&&!("size"in o)&&a(o,"size",{get:function(){var t=0;return s(this,(function(){t++})),t},configurable:!0,enumerable:!0})},5530:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));n("b64b"),n("a4d3"),n("4de4"),n("d3b7"),n("e439"),n("14d9"),n("159b"),n("dbb4");var r=n("ade3");function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e1?arguments[1]:void 0),e}})},"5e77":function(t,e,n){var r=n("83ab"),i=n("1a2d"),a=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,s=i(a,"name"),c=s&&"something"===function(){}.name,u=s&&(!r||r&&o(a,"name").configurable);t.exports={EXISTS:s,PROPER:c,CONFIGURABLE:u}},"5e7e":function(t,e,n){"use strict";var r,i,a,o,s=n("23e7"),c=n("c430"),u=n("605d"),l=n("da84"),f=n("c65b"),p=n("cb2d"),h=n("d2bb"),d=n("d44e"),g=n("2626"),v=n("59ed"),m=n("1626"),b=n("861d"),y=n("19aa"),w=n("4840"),k=n("2cf4").set,x=n("b575"),C=n("44de"),_=n("e667"),S=n("01b4"),E=n("69f3"),O=n("d256"),T=n("4738"),A=n("f069"),L="Promise",N=T.CONSTRUCTOR,j=T.REJECTION_EVENT,M=T.SUBCLASSING,P=E.getterFor(L),I=E.set,R=O&&O.prototype,z=O,D=R,$=l.TypeError,F=l.document,B=l.process,H=A.f,U=H,V=!!(F&&F.createEvent&&l.dispatchEvent),q="unhandledrejection",W="rejectionhandled",G=0,K=1,Y=2,J=1,Z=2,X=function(t){var e;return!(!b(t)||!m(e=t.then))&&e},Q=function(t,e){var n,r,i,a=e.value,o=e.state==K,s=o?t.ok:t.fail,c=t.resolve,u=t.reject,l=t.domain;try{s?(o||(e.rejection===Z&&it(e),e.rejection=J),!0===s?n=a:(l&&l.enter(),n=s(a),l&&(l.exit(),i=!0)),n===t.promise?u($("Promise-chain cycle")):(r=X(n))?f(r,n,c,u):c(n)):u(a)}catch(p){l&&!i&&l.exit(),u(p)}},tt=function(t,e){t.notified||(t.notified=!0,x((function(){var n,r=t.reactions;while(n=r.get())Q(n,t);t.notified=!1,e&&!t.rejection&&nt(t)})))},et=function(t,e,n){var r,i;V?(r=F.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),l.dispatchEvent(r)):r={promise:e,reason:n},!j&&(i=l["on"+t])?i(r):t===q&&C("Unhandled promise rejection",n)},nt=function(t){f(k,l,(function(){var e,n=t.facade,r=t.value,i=rt(t);if(i&&(e=_((function(){u?B.emit("unhandledRejection",r,n):et(q,n,r)})),t.rejection=u||rt(t)?Z:J,e.error))throw e.value}))},rt=function(t){return t.rejection!==J&&!t.parent},it=function(t){f(k,l,(function(){var e=t.facade;u?B.emit("rejectionHandled",e):et(W,e,t.value)}))},at=function(t,e,n){return function(r){t(e,r,n)}},ot=function(t,e,n){t.done||(t.done=!0,n&&(t=n),t.value=e,t.state=Y,tt(t,!0))},st=function(t,e,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===e)throw $("Promise can't be resolved itself");var r=X(e);r?x((function(){var n={done:!1};try{f(r,e,at(st,n,t),at(ot,n,t))}catch(i){ot(n,i,t)}})):(t.value=e,t.state=K,tt(t,!1))}catch(i){ot({done:!1},i,t)}}};if(N&&(z=function(t){y(this,D),v(t),f(r,this);var e=P(this);try{t(at(st,e),at(ot,e))}catch(n){ot(e,n)}},D=z.prototype,r=function(t){I(this,{type:L,done:!1,notified:!1,parent:!1,reactions:new S,rejection:!1,state:G,value:void 0})},r.prototype=p(D,"then",(function(t,e){var n=P(this),r=H(w(this,z));return n.parent=!0,r.ok=!m(t)||t,r.fail=m(e)&&e,r.domain=u?B.domain:void 0,n.state==G?n.reactions.add(r):x((function(){Q(r,n)})),r.promise})),i=function(){var t=new r,e=P(t);this.promise=t,this.resolve=at(st,e),this.reject=at(ot,e)},A.f=H=function(t){return t===z||t===a?new i(t):U(t)},!c&&m(O)&&R!==Object.prototype)){o=R.then,M||p(R,"then",(function(t,e){var n=this;return new z((function(t,e){f(o,n,t,e)})).then(t,e)}),{unsafe:!0});try{delete R.constructor}catch(ct){}h&&h(R,D)}s({global:!0,constructor:!0,wrap:!0,forced:N},{Promise:z}),d(z,L,!1,!0),g(L)},"5eed":function(t,e,n){var r=n("d256"),i=n("1c7e"),a=n("4738").CONSTRUCTOR;t.exports=a||!i((function(t){r.all(t).then(void 0,(function(){}))}))},"5fb2":function(t,e,n){var r=n("e330"),i=2147483647,a=36,o=1,s=26,c=38,u=700,l=72,f=128,p="-",h=/[^\0-\u007E]/,d=/[.\u3002\uFF0E\uFF61]/g,g="Overflow: input needs wider integers to process",v=a-o,m=RangeError,b=r(d.exec),y=Math.floor,w=String.fromCharCode,k=r("".charCodeAt),x=r([].join),C=r([].push),_=r("".replace),S=r("".split),E=r("".toLowerCase),O=function(t){var e=[],n=0,r=t.length;while(n=55296&&i<=56319&&n>1,t+=y(t/e);while(t>v*s>>1)t=y(t/v),r+=a;return y(r+(v+1)*t/(t+c))},L=function(t){var e=[];t=O(t);var n,r,c=t.length,u=f,h=0,d=l;for(n=0;n=u&&ry((i-h)/_))throw m(g);for(h+=(k-u)*_,u=k,n=0;ni)throw m(g);if(r==u){var S=h,E=a;while(1){var L=E<=d?o:E>=d+s?s:E-d;if(So){var g,v=f(arguments[o++]),m=p?d(s(v),p(v)):s(v),b=m.length,y=0;while(b>y)g=m[y++],r&&!a(h,v,g)||(n[g]=v[g])}return n}:p},6374:function(t,e,n){var r=n("da84"),i=Object.defineProperty;t.exports=function(t,e){try{i(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},"651e":function(t,e,n){"use strict";n("2619")},6547:function(t,e,n){var r=n("e330"),i=n("5926"),a=n("577e"),o=n("1d80"),s=r("".charAt),c=r("".charCodeAt),u=r("".slice),l=function(t){return function(e,n){var r,l,f=a(o(e)),p=i(n),h=f.length;return p<0||p>=h?t?"":void 0:(r=c(f,p),r<55296||r>56319||p+1===h||(l=c(f,p+1))<56320||l>57343?t?s(f,p):r:t?u(f,p,p+2):l-56320+(r-55296<<10)+65536)}};t.exports={codeAt:l(!1),charAt:l(!0)}},6566:function(t,e,n){"use strict";var r=n("7c73"),i=n("edd0"),a=n("6964"),o=n("0366"),s=n("19aa"),c=n("7234"),u=n("2266"),l=n("c6d2"),f=n("4754"),p=n("2626"),h=n("83ab"),d=n("f183").fastKey,g=n("69f3"),v=g.set,m=g.getterFor;t.exports={getConstructor:function(t,e,n,l){var f=t((function(t,i){s(t,p),v(t,{type:e,index:r(null),first:void 0,last:void 0,size:0}),h||(t.size=0),c(i)||u(i,t[l],{that:t,AS_ENTRIES:n})})),p=f.prototype,g=m(e),b=function(t,e,n){var r,i,a=g(t),o=y(t,e);return o?o.value=n:(a.last=o={index:i=d(e,!0),key:e,value:n,previous:r=a.last,next:void 0,removed:!1},a.first||(a.first=o),r&&(r.next=o),h?a.size++:t.size++,"F"!==i&&(a.index[i]=o)),t},y=function(t,e){var n,r=g(t),i=d(e);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==e)return n};return a(p,{clear:function(){var t=this,e=g(t),n=e.index,r=e.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete n[r.index],r=r.next;e.first=e.last=void 0,h?e.size=0:t.size=0},delete:function(t){var e=this,n=g(e),r=y(e,t);if(r){var i=r.next,a=r.previous;delete n.index[r.index],r.removed=!0,a&&(a.next=i),i&&(i.previous=a),n.first==r&&(n.first=i),n.last==r&&(n.last=a),h?n.size--:e.size--}return!!r},forEach:function(t){var e,n=g(this),r=o(t,arguments.length>1?arguments[1]:void 0);while(e=e?e.next:n.first){r(e.value,e.key,this);while(e&&e.removed)e=e.previous}},has:function(t){return!!y(this,t)}}),a(p,n?{get:function(t){var e=y(this,t);return e&&e.value},set:function(t,e){return b(this,0===t?0:t,e)}}:{add:function(t){return b(this,t=0===t?0:t,t)}}),h&&i(p,"size",{configurable:!0,get:function(){return g(this).size}}),f},setStrong:function(t,e,n){var r=e+" Iterator",i=m(e),a=m(r);l(t,e,(function(t,e){v(this,{type:r,target:t,state:i(t),kind:e,last:void 0})}),(function(){var t=a(this),e=t.kind,n=t.last;while(n&&n.removed)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?f("keys"==e?n.key:"values"==e?n.value:[n.key,n.value],!1):(t.target=void 0,f(void 0,!0))}),n?"entries":"values",!n,!0),p(e)}}},"65f0":function(t,e,n){var r=n("0b42");t.exports=function(t,e){return new(r(t))(0===e?0:e)}},"66ce":function(t,e,n){"use strict";n("47b6")},"67ed":function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"ui-progress-linear--transition-fade"}},[e("div",{staticClass:"ui-progress-linear",class:t.classes},["determinate"===t.type?e("div",{staticClass:"ui-progress-linear__progress-bar is-determinate",style:{transform:"scaleX(".concat(t.moderatedProgress/100,")")},attrs:{role:"progressbar","aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":t.moderatedProgress}}):e("div",{staticClass:"ui-progress-linear__progress-bar is-indeterminate",attrs:{role:"progressbar","aria-valuemax":100,"aria-valuemin":0}})])])},i=[],a=(n("a9e3"),{name:"ui-progress-linear",props:{type:{type:String,default:"indeterminate"},color:{type:String,default:"primary"},progress:{type:Number,default:0}},computed:{classes:function(){return["ui-progress-linear--color-".concat(this.color),"ui-progress-linear--type-".concat(this.type)]},moderatedProgress:function(){return this.progress<0?0:this.progress>100?100:this.progress}}}),o=a,s=(n("a5ae"),n("2877")),c=Object(s["a"])(o,r,i,!1,null,null,null);e["a"]=c.exports},"68ee":function(t,e,n){var r=n("e330"),i=n("d039"),a=n("1626"),o=n("f5df"),s=n("d066"),c=n("8925"),u=function(){},l=[],f=s("Reflect","construct"),p=/^\s*(?:class|function)\b/,h=r(p.exec),d=!p.exec(u),g=function(t){if(!a(t))return!1;try{return f(u,l,t),!0}catch(e){return!1}},v=function(t){if(!a(t))return!1;switch(o(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return d||!!h(p,c(t))}catch(e){return!0}};v.sham=!0,t.exports=!f||i((function(){var t;return g(g.call)||!g(Object)||!g((function(){t=!0}))||t}))?v:g},6904:function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e(t.isAnchor?"a":"button",{tag:"component",staticClass:"ui-icon-button",class:t.classes,attrs:{"aria-label":t.ariaLabel||t.tooltip,disabled:t.disabled||t.loading,href:t.isAnchor?t.disabled?null:t.href:null,type:t.isAnchor?null:t.buttonType},on:{click:t.onClick}},[t.icon||t.$slots.default?e("div",{staticClass:"ui-icon-button__icon"},[t._t("default",(function(){return[e("ui-icon",{attrs:{icon:t.icon}})]}))],2):t._e(),e("div",{staticClass:"ui-icon-button__focus-ring"}),t.loading?e("ui-progress-circular",{staticClass:"ui-icon-button__progress",attrs:{color:t.progressColor,size:"large"===t.size?24:18,stroke:4.5}}):t._e(),t.disableRipple||t.disabled?t._e():e("ui-ripple-ink"),t.hasDropdown?e("ui-popover",{ref:"dropdown",attrs:{"constain-focus":"","append-to-body":t.appendDropdownToBody,"constrain-to-scroll-parent":t.constrainDropdownToScrollParent,position:t.dropdownPosition,"open-on":t.openDropdownOn},on:{close:t.onDropdownClose,open:t.onDropdownOpen}},[t._t("dropdown")],2):t._e(),t.tooltip?e("ui-tooltip",{attrs:{"open-on":t.openTooltipOn,position:t.tooltipPosition}},[t._v(t._s(t.tooltip))]):t._e()],1)},i=[],a=n("d235"),o=n("a0fd"),s=n("1580"),c=n("e5ce"),u=n("e291"),l={name:"ui-icon-button",props:{type:{type:String,default:"primary"},buttonType:String,href:String,color:{type:String,default:"default"},size:{type:String,default:"normal"},icon:String,ariaLabel:String,loading:{type:Boolean,default:!1},hasDropdown:{type:Boolean,default:!1},dropdownPosition:{type:String,default:"bottom-start"},appendDropdownToBody:{type:Boolean,default:!0},constrainDropdownToScrollParent:{type:Boolean,default:!0},openDropdownOn:{type:String,default:"click"},tooltip:String,openTooltipOn:String,tooltipPosition:String,disableRipple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{classes:function(){return["ui-icon-button--type-".concat(this.type),"ui-icon-button--color-".concat(this.color),"ui-icon-button--size-".concat(this.size),{"is-anchor":this.isAnchor},{"is-loading":this.loading},{"is-disabled":this.disabled||this.loading},{"has-dropdown":this.hasDropdown}]},isAnchor:function(){return void 0!==this.href},progressColor:function(){return"primary"===this.type?"default"===this.color||"black"===this.color?"black":"white":"white"===this.color?"white":"black"}},methods:{onClick:function(t){this.$emit("click",t)},onDropdownOpen:function(){this.$emit("dropdown-open")},onDropdownClose:function(){this.$emit("dropdown-close")},openDropdown:function(){this.$refs.dropdown&&this.$refs.dropdown.open()},closeDropdown:function(){this.$refs.dropdown&&this.$refs.dropdown.close()},toggleDropdown:function(){this.$refs.dropdown&&this.$refs.dropdown.toggle()}},components:{UiIcon:a["a"],UiPopover:o["a"],UiProgressCircular:s["a"],UiRippleInk:c["a"],UiTooltip:u["a"]}},f=l,p=(n("f0e4"),n("2877")),h=Object(p["a"])(f,r,i,!1,null,null,null);e["a"]=h.exports},6964:function(t,e,n){var r=n("cb2d");t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},"69f3":function(t,e,n){var r,i,a,o=n("cdce"),s=n("da84"),c=n("861d"),u=n("9112"),l=n("1a2d"),f=n("c6cd"),p=n("f772"),h=n("d012"),d="Object already initialized",g=s.TypeError,v=s.WeakMap,m=function(t){return a(t)?i(t):r(t,{})},b=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw g("Incompatible receiver, "+t+" required");return n}};if(o||f.state){var y=f.state||(f.state=new v);y.get=y.get,y.has=y.has,y.set=y.set,r=function(t,e){if(y.has(t))throw g(d);return e.facade=t,y.set(t,e),e},i=function(t){return y.get(t)||{}},a=function(t){return y.has(t)}}else{var w=p("state");h[w]=!0,r=function(t,e){if(l(t,w))throw g(d);return e.facade=t,u(t,w,e),e},i=function(t){return l(t,w)?t[w]:{}},a=function(t){return l(t,w)}}t.exports={set:r,get:i,has:a,enforce:m,getterFor:b}},"6b75":function(t,e,n){"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n-1},dismissOnCloseButton:function(){return this.dismissOn.indexOf("close-button")>-1},dismissOnEsc:function(){return this.dismissOn.indexOf("esc")>-1}},watch:{isOpen:function(){var t=this;this.$nextTick((function(){t[t.isOpen?"onOpen":"onClose"]()}))}},beforeDestroy:function(){this.isOpen&&this.returnFocus()},methods:{open:function(){this.isOpen=!0},close:function(){this.dismissible&&(this.isOpen=!1)},redirectFocus:function(){this.$refs.focusContainer.focus()},returnFocus:function(){this.lastFocusedElement&&this.lastFocusedElement.focus()},onBackdropClick:function(){this.dismissOnBackdrop?this.close():this.redirectFocus()},onEsc:function(){this.dismissOnEsc&&this.close()},onOpen:function(){this.lastFocusedElement=document.activeElement,this.$refs.focusContainer.focus(),g["a"].add(document.body,"ui-modal--is-open"),this.incrementOpenModalCount(),this.$emit("open")},onClose:function(){this.returnFocus(),this.$emit("close")},onEnter:function(){this.$emit("reveal")},onLeave:function(){this.$emit("hide");var t=this.decrementOpenModalCount();0===t&&g["a"].remove(document.body,"ui-modal--is-open")},getOpenModalCount:function(){var t=document.body.getAttribute("data-ui-open-modals");return void 0===t?0:Number(t)},setOpenModalCount:function(t){var e=Math.max(0,t);return 0===e?document.body.removeAttribute("data-ui-open-modals"):document.body.setAttribute("data-ui-open-modals",e),e},incrementOpenModalCount:function(){return this.setOpenModalCount(this.getOpenModalCount()+1)},decrementOpenModalCount:function(){return this.setOpenModalCount(this.getOpenModalCount()-1)}},components:{UiCloseButton:h,UiFocusContainer:d["a"]}},m=v,b=(n("c477"),Object(f["a"])(m,r,i,!1,null,null,null));e["a"]=b.exports},"6d61":function(t,e,n){"use strict";var r=n("23e7"),i=n("da84"),a=n("e330"),o=n("94ca"),s=n("cb2d"),c=n("f183"),u=n("2266"),l=n("19aa"),f=n("1626"),p=n("7234"),h=n("861d"),d=n("d039"),g=n("1c7e"),v=n("d44e"),m=n("7156");t.exports=function(t,e,n){var b=-1!==t.indexOf("Map"),y=-1!==t.indexOf("Weak"),w=b?"set":"add",k=i[t],x=k&&k.prototype,C=k,_={},S=function(t){var e=a(x[t]);s(x,t,"add"==t?function(t){return e(this,0===t?0:t),this}:"delete"==t?function(t){return!(y&&!h(t))&&e(this,0===t?0:t)}:"get"==t?function(t){return y&&!h(t)?void 0:e(this,0===t?0:t)}:"has"==t?function(t){return!(y&&!h(t))&&e(this,0===t?0:t)}:function(t,n){return e(this,0===t?0:t,n),this})},E=o(t,!f(k)||!(y||x.forEach&&!d((function(){(new k).entries().next()}))));if(E)C=n.getConstructor(e,t,b,w),c.enable();else if(o(t,!0)){var O=new C,T=O[w](y?{}:-0,1)!=O,A=d((function(){O.has(1)})),L=g((function(t){new k(t)})),N=!y&&d((function(){var t=new k,e=5;while(e--)t[w](e,e);return!t.has(-0)}));L||(C=e((function(t,e){l(t,x);var n=m(new k,t,C);return p(e)||u(e,n[w],{that:n,AS_ENTRIES:b}),n})),C.prototype=x,x.constructor=C),(A||N)&&(S("delete"),S("has"),b&&S("get")),(N||T)&&S(w),y&&x.clear&&delete x.clear}return _[t]=C,r({global:!0,constructor:!0,forced:C!=k},_),v(C,t),y||n.setStrong(C,t,b),C}},"6f19":function(t,e,n){var r=n("9112"),i=n("0d26"),a=n("b980"),o=Error.captureStackTrace;t.exports=function(t,e,n,s){a&&(o?o(t,e):r(t,"stack",i(n,s)))}},7149:function(t,e,n){"use strict";var r=n("23e7"),i=n("d066"),a=n("c430"),o=n("d256"),s=n("4738").CONSTRUCTOR,c=n("cdf9"),u=i("Promise"),l=a&&!s;r({target:"Promise",stat:!0,forced:a||s},{resolve:function(t){return c(l&&this===u?o:this,t)}})},7156:function(t,e,n){var r=n("1626"),i=n("861d"),a=n("d2bb");t.exports=function(t,e,n){var o,s;return a&&r(o=e.constructor)&&o!==n&&i(s=o.prototype)&&s!==n.prototype&&a(t,s),t}},7234:function(t,e){t.exports=function(t){return null===t||void 0===t}},7282:function(t,e,n){var r=n("e330"),i=n("59ed");t.exports=function(t,e,n){try{return r(i(Object.getOwnPropertyDescriptor(t,e)[n]))}catch(a){}}},"72c1":function(t,e,n){"use strict";var r=n("dd9a");e["a"]=r},"73d9":function(t,e,n){var r=n("44d2");r("flatMap")},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"74cc":function(t,e,n){"use strict";n("9f3e")},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"785a":function(t,e,n){var r=n("cc12"),i=r("span").classList,a=i&&i.constructor&&i.constructor.prototype;t.exports=a===Object.prototype?void 0:a},"78b7":function(t,e){document.addEventListener("DOMContentLoaded",()=>{let t=!1;const e=["input:not([type])","input[type=text]","input[type=number]","input[type=date]","input[type=time]","input[type=datetime]","textarea","[role=textbox]","[supports-modality=keyboard]"].join(",");let n;const r=(()=>{const t=document.body;return t.matchesSelector?t.matchesSelector:t.webkitMatchesSelector?t.webkitMatchesSelector:t.mozMatchesSelector?t.mozMatchesSelector:t.msMatchesSelector?t.msMatchesSelector:void console.error("Couldn't find any matchesSelector method on document.body.")})(),i=function(){const t="body:not([modality=keyboard]) :focus { outline: none; }",e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",n.id="disable-focus-ring",n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),e.insertBefore(n,e.firstChild)},a=function(t){let n=!1;return r&&(n=r.call(t,e)&&r.call(t,":not([readonly])")),n};i(),document.body.addEventListener("keydown",()=>{t=!0,n&&clearTimeout(n),n=setTimeout(()=>{t=!1},100)},!0),document.body.addEventListener("focus",e=>{(t||a(e.target))&&document.body.setAttribute("modality","keyboard")},!0),document.body.addEventListener("blur",()=>{document.body.removeAttribute("modality")},!0)})},"79a6":function(t,e,n){},"7b0b":function(t,e,n){var r=n("1d80"),i=Object;t.exports=function(t){return i(r(t))}},"7c73":function(t,e,n){var r,i=n("825a"),a=n("37e8"),o=n("7839"),s=n("d012"),c=n("1be4"),u=n("cc12"),l=n("f772"),f=">",p="<",h="prototype",d="script",g=l("IE_PROTO"),v=function(){},m=function(t){return p+d+f+t+p+"/"+d+f},b=function(t){t.write(m("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=u("iframe"),n="java"+d+":";return e.style.display="none",c.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(m("document.F=Object")),t.close(),t.F},w=function(){try{r=new ActiveXObject("htmlfile")}catch(e){}w="undefined"!=typeof document?document.domain&&r?b(r):y():b(r);var t=o.length;while(t--)delete w[h][o[t]];return w()};s[g]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(v[h]=i(t),n=new v,v[h]=null,n[g]=t):n=w(),void 0===e?n:a.f(n,e)}},"7db0":function(t,e,n){"use strict";var r=n("23e7"),i=n("b727").find,a=n("44d2"),o="find",s=!0;o in[]&&Array(1)[o]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),a(o)},8172:function(t,e,n){var r=n("e065"),i=n("57b9");r("toPrimitive"),i()},"81d5":function(t,e,n){"use strict";var r=n("7b0b"),i=n("23cb"),a=n("07fa");t.exports=function(t){var e=r(this),n=a(e),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),c=o>2?arguments[2]:void 0,u=void 0===c?n:i(c,n);while(u>s)e[s++]=t;return e}},"825a":function(t,e,n){var r=n("861d"),i=String,a=TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not an object")}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("a04b"),i=n("9bf2"),a=n("5c6c");t.exports=function(t,e,n){var o=r(e);o in t?i.f(t,o,a(0,n)):t[o]=n}},"843c":function(t,e,n){"use strict";var r=n("23e7"),i=n("0ccb").end,a=n("9a0c");r({target:"String",proto:!0,forced:a},{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},"84a2":function(t,e,n){(function(e){var n="Expected a function",r=NaN,i="[object Symbol]",a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof e&&e&&e.Object===Object&&e,f="object"==typeof self&&self&&self.Object===Object&&self,p=l||f||Function("return this")(),h=Object.prototype,d=h.toString,g=Math.max,v=Math.min,m=function(){return p.Date.now()};function b(t,e,r){var i,a,o,s,c,u,l=0,f=!1,p=!1,h=!0;if("function"!=typeof t)throw new TypeError(n);function d(e){var n=i,r=a;return i=a=void 0,l=e,s=t.apply(r,n),s}function b(t){return l=t,c=setTimeout(x,e),f?d(t):s}function y(t){var n=t-u,r=t-l,i=e-n;return p?v(i,o-r):i}function k(t){var n=t-u,r=t-l;return void 0===u||n>=e||n<0||p&&r>=o}function x(){var t=m();if(k(t))return _(t);c=setTimeout(x,y(t))}function _(t){return c=void 0,h&&i?d(t):(i=a=void 0,s)}function S(){void 0!==c&&clearTimeout(c),l=0,i=u=a=c=void 0}function E(){return void 0===c?s:_(m())}function O(){var t=m(),n=k(t);if(i=arguments,a=this,u=t,n){if(void 0===c)return b(u);if(p)return c=setTimeout(x,e),d(u)}return void 0===c&&(c=setTimeout(x,e)),s}return e=C(e)||0,w(r)&&(f=!!r.leading,p="maxWait"in r,o=p?g(C(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),O.cancel=S,O.flush=E,O}function y(t,e,r){var i=!0,a=!0;if("function"!=typeof t)throw new TypeError(n);return w(r)&&(i="leading"in r?!!r.leading:i,a="trailing"in r?!!r.trailing:a),b(t,e,{leading:i,maxWait:e,trailing:a})}function w(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function k(t){return!!t&&"object"==typeof t}function x(t){return"symbol"==typeof t||k(t)&&d.call(t)==i}function C(t){if("number"==typeof t)return t;if(x(t))return r;if(w(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=w(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):o.test(t)?r:+t}t.exports=y}).call(this,n("c8ba"))},"857a":function(t,e,n){var r=n("e330"),i=n("1d80"),a=n("577e"),o=/"/g,s=r("".replace);t.exports=function(t,e,n,r){var c=a(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+s(a(r),o,""")+'"'),u+">"+c+""}},"85fe":function(t,e,n){"use strict";(function(t){function n(t){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var c=arguments.length,u=new Array(c>1?c-1:0),l=1;l1){var r=t.find((function(t){return t.isIntersecting}));r&&(e=r)}if(n.callback){var i=e.isIntersecting&&e.intersectionRatio>=n.threshold;if(i===n.oldResult)return;n.oldResult=i,n.callback(i,e)}}),this.options.intersection),e.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}]),t}();function d(t,e,n){var r=e.value;if(r)if("undefined"===typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var i=new h(t,r,n);t._vue_visibilityState=i}}function g(t,e,n){var r=e.value,i=e.oldValue;if(!p(r,i)){var a=t._vue_visibilityState;r?a?a.createObserver(r,n):d(t,{value:r},n):v(t)}}function v(t){var e=t._vue_visibilityState;e&&(e.destroyObserver(),delete t._vue_visibilityState)}var m={bind:d,update:g,unbind:v};function b(t){t.directive("observe-visibility",m)}var y={version:"0.4.6",install:b},w=null;"undefined"!==typeof window?w=window.Vue:"undefined"!==typeof t&&(w=t.Vue),w&&w.use(y),e["a"]=y}).call(this,n("c8ba"))},"861d":function(t,e,n){var r=n("1626"),i=n("8ea1"),a=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===a}:function(t){return"object"==typeof t?null!==t:r(t)}},"88a7":function(t,e,n){"use strict";var r=n("cb2d"),i=n("e330"),a=n("577e"),o=n("d6d6"),s=URLSearchParams,c=s.prototype,u=i(c.append),l=i(c["delete"]),f=i(c.forEach),p=i([].push),h=new s("a=1&a=2");h["delete"]("a",1),h+""!=="a=2"&&r(c,"delete",(function(t){var e=arguments.length,n=e<2?void 0:arguments[1];if(e&&void 0===n)return l(this,t);var r=[];f(this,(function(t,e){p(r,{key:e,value:t})})),o(e,1);var i,s=a(t),c=a(n),h=0,d=0,g=!1,v=r.length;while(h=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function A(t){return t.replace(/\/(?:\s*\/)+/g,"/")}var L=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},N=J,j=z,M=D,P=B,I=Y,R=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function z(t,e){var n,r=[],i=0,a=0,o="",s=e&&e.delimiter||"/";while(null!=(n=R.exec(t))){var c=n[0],u=n[1],l=n.index;if(o+=t.slice(a,l),a=l+c.length,u)o+=u[1];else{var f=t[a],p=n[2],h=n[3],d=n[4],g=n[5],v=n[6],m=n[7];o&&(r.push(o),o="");var b=null!=p&&null!=f&&f!==p,y="+"===v||"*"===v,w="?"===v||"*"===v,k=n[2]||s,x=d||g;r.push({name:h||i++,prefix:p||"",delimiter:k,optional:w,repeat:y,partial:b,asterisk:!!m,pattern:x?U(x):m?".*":"[^"+H(k)+"]+?"})}}return a1||!_.length)return 0===_.length?t():t("span",{},_)}if("a"===this.tag)C.on=x,C.attrs={href:c,"aria-current":b};else{var S=ot(this.$slots.default);if(S){S.isStatic=!1;var E=S.data=r({},S.data);for(var O in E.on=E.on||{},E.on){var T=E.on[O];O in x&&(E.on[O]=Array.isArray(T)?T:[T])}for(var A in x)A in E.on?E.on[A].push(x[A]):E.on[A]=w;var L=S.data.attrs=r({},S.data.attrs);L.href=c,L["aria-current"]=b}else C.on=x}return t(this.tag,C,this.$slots.default)}};function at(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function ot(t){if(t)for(var e,n=0;n-1&&(s.params[f]=n.params[f]);return s.path=X(u.path,s.params,'named route "'+c+'"'),p(u,s,o)}if(s.path){s.params={};for(var h=0;h-1}function Wt(t,e){return qt(t)&&t._isRouter&&(null==e||t.type===e)}function Gt(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],(function(){r(i+1)})):r(i+1)};r(0)}function Kt(t){return function(e,n,r){var i=!1,a=0,o=null;Yt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,a++;var c,u=Qt((function(e){Xt(e)&&(e=e.default),t.resolved="function"===typeof e?e:tt.extend(e),n.components[s]=e,a--,a<=0&&r()})),l=Qt((function(t){var e="Failed to resolve async component "+s+": "+t;o||(o=qt(t)?t:new Error(e),r(o))}));try{c=t(u,l)}catch(p){l(p)}if(c)if("function"===typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"===typeof f.then&&f.then(u,l)}}})),i||r()}}function Yt(t,e){return Jt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Jt(t){return Array.prototype.concat.apply([],t)}var Zt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Xt(t){return t.__esModule||Zt&&"Module"===t[Symbol.toStringTag]}function Qt(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var te=function(t,e){this.router=t,this.base=ee(e),this.current=v,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ee(t){if(!t)if(ct){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function ne(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=Pt&&n;r&&this.listeners.push(xt());var i=function(){var n=t.current,i=fe(t.base);t.current===v&&i===t._startLocation||t.transitionTo(i,(function(t){r&&Ct(e,t,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,a=i.current;this.transitionTo(t,(function(t){It(A(r.base+t.fullPath)),Ct(r.router,t,a,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,a=i.current;this.transitionTo(t,(function(t){Rt(A(r.base+t.fullPath)),Ct(r.router,t,a,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(fe(this.base)!==this.current.fullPath){var e=A(this.base+this.current.fullPath);t?It(e):Rt(e)}},e.prototype.getCurrentLocation=function(){return fe(this.base)},e}(te);function fe(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(A(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var pe=function(t){function e(e,n,r){t.call(this,e,n),r&&he(this.base)||de()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Pt&&n;r&&this.listeners.push(xt());var i=function(){var e=t.current;de()&&t.transitionTo(ge(),(function(n){r&&Ct(t.router,n,e,!0),Pt||be(n.fullPath)}))},a=Pt?"popstate":"hashchange";window.addEventListener(a,i),this.listeners.push((function(){window.removeEventListener(a,i)}))}},e.prototype.push=function(t,e,n){var r=this,i=this,a=i.current;this.transitionTo(t,(function(t){me(t.fullPath),Ct(r.router,t,a,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,a=i.current;this.transitionTo(t,(function(t){be(t.fullPath),Ct(r.router,t,a,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;ge()!==e&&(t?me(e):be(e))},e.prototype.getCurrentLocation=function(){return ge()},e}(te);function he(t){var e=fe(t);if(!/^\/#/.test(e))return window.location.replace(A(t+"/#"+e)),!0}function de(){var t=ge();return"/"===t.charAt(0)||(be("/"+t),!1)}function ge(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function ve(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function me(t){Pt?It(ve(t)):window.location.hash=t}function be(t){Pt?Rt(ve(t)):window.location.replace(ve(t))}var ye=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Wt(t,zt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(te),we=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=ht(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Pt&&!1!==t.fallback,this.fallback&&(e="hash"),ct||(e="abstract"),this.mode=e,e){case"history":this.history=new le(this,t.base);break;case"hash":this.history=new pe(this,t.base,this.fallback);break;case"abstract":this.history=new ye(this,t.base);break;default:0}},ke={currentRoute:{configurable:!0}};we.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},ke.currentRoute.get=function(){return this.history&&this.history.current},we.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof le||n instanceof pe){var r=function(t){var r=n.current,i=e.options.scrollBehavior,a=Pt&&i;a&&"fullPath"in t&&Ct(e,t,r,!1)},i=function(t){n.setupListeners(),r(t)};n.transitionTo(n.getCurrentLocation(),i,i)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},we.prototype.beforeEach=function(t){return Ce(this.beforeHooks,t)},we.prototype.beforeResolve=function(t){return Ce(this.resolveHooks,t)},we.prototype.afterEach=function(t){return Ce(this.afterHooks,t)},we.prototype.onReady=function(t,e){this.history.onReady(t,e)},we.prototype.onError=function(t){this.history.onError(t)},we.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},we.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},we.prototype.go=function(t){this.history.go(t)},we.prototype.back=function(){this.go(-1)},we.prototype.forward=function(){this.go(1)},we.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},we.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=Q(t,e,n,this),i=this.match(r,e),a=i.redirectedFrom||i.fullPath,o=this.history.base,s=_e(o,a,this.mode);return{location:r,route:i,href:s,normalizedTo:r,resolved:i}},we.prototype.getRoutes=function(){return this.matcher.getRoutes()},we.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==v&&this.history.transitionTo(this.history.getCurrentLocation())},we.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==v&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(we.prototype,ke);var xe=we;function Ce(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function _e(t,e,n){var r="hash"===n?"#"+e:e;return t?A(t+"/"+r):r}we.install=st,we.version="3.6.5",we.isNavigationFailure=Wt,we.NavigationFailureType=zt,we.START_LOCATION=v,ct&&window.Vue&&window.Vue.use(we)},"8e18":function(t,e,n){},"8ea1":function(t,e){var n="object"==typeof document&&document.all,r="undefined"==typeof n&&void 0!==n;t.exports={all:n,IS_HTMLDDA:r}},"906c":function(t,e,n){"use strict";n("ffcf")},"90d8":function(t,e,n){var r=n("c65b"),i=n("1a2d"),a=n("3a9b"),o=n("ad6d"),s=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in s||i(t,"flags")||!a(s,t)?e:r(o,t)}},"90e3":function(t,e,n){var r=n("e330"),i=0,a=Math.random(),o=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+o(++i+a,36)}},9112:function(t,e,n){var r=n("83ab"),i=n("9bf2"),a=n("5c6c");t.exports=r?function(t,e,n){return i.f(t,e,a(1,n))}:function(t,e,n){return t[e]=n,t}},"915e":function(t,e,n){},"916b":function(t,e,n){},9263:function(t,e,n){"use strict";var r=n("c65b"),i=n("e330"),a=n("577e"),o=n("ad6d"),s=n("9f7f"),c=n("5692"),u=n("7c73"),l=n("69f3").get,f=n("fce3"),p=n("107c"),h=c("native-string-replace",String.prototype.replace),d=RegExp.prototype.exec,g=d,v=i("".charAt),m=i("".indexOf),b=i("".replace),y=i("".slice),w=function(){var t=/a/,e=/b*/g;return r(d,t,"a"),r(d,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),k=s.BROKEN_CARET,x=void 0!==/()??/.exec("")[1],C=w||x||k||f||p;C&&(g=function(t){var e,n,i,s,c,f,p,C=this,_=l(C),S=a(t),E=_.raw;if(E)return E.lastIndex=C.lastIndex,e=r(g,E,S),C.lastIndex=E.lastIndex,e;var O=_.groups,T=k&&C.sticky,A=r(o,C),L=C.source,N=0,j=S;if(T&&(A=b(A,"y",""),-1===m(A,"g")&&(A+="g"),j=y(S,C.lastIndex),C.lastIndex>0&&(!C.multiline||C.multiline&&"\n"!==v(S,C.lastIndex-1))&&(L="(?: "+L+")",j=" "+j,N++),n=new RegExp("^(?:"+L+")",A)),x&&(n=new RegExp("^"+L+"$(?!\\s)",A)),w&&(i=C.lastIndex),s=r(d,T?n:C,j),T?s?(s.input=y(s.input,N),s[0]=y(s[0],N),s.index=C.lastIndex,C.lastIndex+=s[0].length):C.lastIndex=0:w&&s&&(C.lastIndex=C.global?s.index+s[0].length:i),x&&s&&s.length>1&&r(h,s[0],n,(function(){for(c=1;c.5?c/(2-a-o):c/(a+o),a){case t:r=(e-n)/c+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=A(t,360),e=A(e,100),n=A(n,100),0===e)r=i=a=n;else{var s=n<.5?n*(1+e):n+e-n*e,c=2*n-s;r=o(c,s,t+1/3),i=o(c,s,t),a=o(c,s,t-1/3)}return{r:255*r,g:255*i,b:255*a}}function c(t,e,n){t=A(t,255),e=A(e,255),n=A(n,255);var r,i,a=Math.max(t,e,n),o=Math.min(t,e,n),s=a,c=a-o;if(i=0===a?0:c/a,a==o)r=0;else{switch(a){case t:r=(e-n)/c+(e>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(r(i));return o}function _(t,e){e=e||6;var n=r(t).toHsv(),i=n.h,a=n.s,o=n.v,s=[],c=1/e;while(e--)s.push(r({h:i,s:a,v:o})),o=(o+c)%1;return s}r.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,r,i,a,o=this.toRgb();return t=o.r/255,e=o.g/255,n=o.b/255,r=t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4),i=e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4),a=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4),.2126*r+.7152*i+.0722*a},setAlpha:function(t){return this._a=T(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=c(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=o(this._r,this._g,this._b),e=Math.round(360*t.h),n=Math.round(100*t.s),r=Math.round(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return l(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return f(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*A(this._r,255))+"%",g:Math.round(100*A(this._g,255))+"%",b:Math.round(100*A(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*A(this._r,255))+"%, "+Math.round(100*A(this._g,255))+"%, "+Math.round(100*A(this._b,255))+"%)":"rgba("+Math.round(100*A(this._r,255))+"%, "+Math.round(100*A(this._g,255))+"%, "+Math.round(100*A(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[l(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),n=e,i=this._gradientType?"GradientType = 1, ":"";if(t){var a=r(t);n="#"+p(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+i+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0,i=!e&&r&&("hex"===t||"hex6"===t||"hex3"===t||"hex4"===t||"hex8"===t||"name"===t);return i?"name"===t&&0===this._a?this.toName():this.toRgbString():("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return r(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(h,arguments)},saturate:function(){return this._applyModification(d,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(y,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(C,arguments)},complement:function(){return this._applyCombination(w,arguments)},monochromatic:function(){return this._applyCombination(_,arguments)},splitcomplement:function(){return this._applyCombination(x,arguments)},triad:function(){return this._applyCombination(k,[3])},tetrad:function(){return this._applyCombination(k,[4])}},r.fromRatio=function(e,n){if("object"==t(e)){var i={};for(var a in e)e.hasOwnProperty(a)&&(i[a]="a"===a?e[a]:I(e[a]));e=i}return r(e,n)},r.equals=function(t,e){return!(!t||!e)&&r(t).toRgbString()==r(e).toRgbString()},r.random=function(){return r.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},r.mix=function(t,e,n){n=0===n?0:n||50;var i=r(t).toRgb(),a=r(e).toRgb(),o=n/100,s={r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a};return r(s)},r.readability=function(t,e){var n=r(t),i=r(e);return(Math.max(n.getLuminance(),i.getLuminance())+.05)/(Math.min(n.getLuminance(),i.getLuminance())+.05)},r.isReadable=function(t,e,n){var i,a,o=r.readability(t,e);switch(a=!1,i=B(n),i.level+i.size){case"AAsmall":case"AAAlarge":a=o>=4.5;break;case"AAlarge":a=o>=3;break;case"AAAsmall":a=o>=7;break}return a},r.mostReadable=function(t,e,n){var i,a,o,s,c=null,u=0;n=n||{},a=n.includeFallbackColors,o=n.level,s=n.size;for(var l=0;lu&&(u=i,c=r(e[l]));return r.isReadable(t,c,{level:o,size:s})||!a?c:(n.includeFallbackColors=!1,r.mostReadable(t,["#fff","#000"],n))};var S=r.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=r.hexNames=O(S);function O(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function T(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function A(t,e){j(t)&&(t="100%");var n=M(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function L(t){return Math.min(1,Math.max(0,t))}function N(t){return parseInt(t,16)}function j(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)}function M(t){return"string"===typeof t&&-1!=t.indexOf("%")}function P(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function R(t){return Math.round(255*parseFloat(t)).toString(16)}function z(t){return N(t)/255}var D=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",r="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+r),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+r),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+r),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function $(t){return!!D.CSS_UNIT.exec(t)}function F(t){t=t.replace(e,"").replace(n,"").toLowerCase();var r,i=!1;if(S[t])t=S[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(r=D.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=D.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=D.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=D.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=D.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=D.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=D.hex8.exec(t))?{r:N(r[1]),g:N(r[2]),b:N(r[3]),a:z(r[4]),format:i?"name":"hex8"}:(r=D.hex6.exec(t))?{r:N(r[1]),g:N(r[2]),b:N(r[3]),format:i?"name":"hex"}:(r=D.hex4.exec(t))?{r:N(r[1]+""+r[1]),g:N(r[2]+""+r[2]),b:N(r[3]+""+r[3]),a:z(r[4]+""+r[4]),format:i?"name":"hex8"}:!!(r=D.hex3.exec(t))&&{r:N(r[1]+""+r[1]),g:N(r[2]+""+r[2]),b:N(r[3]+""+r[3]),format:i?"name":"hex"}}function B(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA"),"small"!==n&&"large"!==n&&(n="small"),{level:e,size:n}}return r}))},"94ca":function(t,e,n){var r=n("d039"),i=n("1626"),a=/#|\.prototype\./,o=function(t,e){var n=c[s(t)];return n==l||n!=u&&(i(e)?r(e):!!e)},s=o.normalize=function(t){return String(t).replace(a,".").toLowerCase()},c=o.data={},u=o.NATIVE="N",l=o.POLYFILL="P";t.exports=o},"96cd":function(t,e,n){},"977e":function(t,e,n){"use strict";n("bc2e")},9861:function(t,e,n){n("5352")},"99af":function(t,e,n){"use strict";var r=n("23e7"),i=n("d039"),a=n("e8b5"),o=n("861d"),s=n("7b0b"),c=n("07fa"),u=n("3511"),l=n("8418"),f=n("65f0"),p=n("1dde"),h=n("b622"),d=n("2d00"),g=h("isConcatSpreadable"),v=d>=51||!i((function(){var t=[];return t[g]=!1,t.concat()[0]!==t})),m=function(t){if(!o(t))return!1;var e=t[g];return void 0!==e?!!e:a(t)},b=!v||!p("concat");r({target:"Array",proto:!0,arity:1,forced:b},{concat:function(t){var e,n,r,i,a,o=s(this),p=f(o,0),h=0;for(e=-1,r=arguments.length;e0&&void 0!==arguments[0]?arguments[0]:{touched:!1};this.isTouched=t.touched},refreshSize:function(){this.autosizeInitialized&&c.a.update(this.$refs.textarea)},focus:function(){(this.$refs.input||this.$refs.textarea).focus()}},components:{UiIcon:o["a"]},directives:{autofocus:a}},l=u,f=(n("d12e"),n("2877")),p=Object(f["a"])(l,r,i,!1,null,null,null);e["a"]=p.exports},a04b:function(t,e,n){var r=n("c04e"),i=n("d9b5");t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},a0fd:function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e("ui-focus-container",{ref:"focusContainer",staticClass:"ui-popover",class:{"is-raised":t.raised},attrs:{role:"dialog","contain-focus":t.containFocus,"focus-redirector":t.focusRedirector},on:{"focus-overflow":function(e){return t.close()}}},[t._t("default")],2)},i=[],a=(n("a9e3"),n("ac1f"),n("5319"),n("00b4"),n("a5c9")),o=n("3c7e"),s=n("1513"),c=n("cbde"),u=n("3024"),l={name:"ui-popover",props:{animation:{type:String,default:"fade"},appendToBody:{type:Boolean,default:!0},closeOnScroll:{type:Boolean,default:!0},constrainToScrollParent:{type:Boolean,default:!0},containFocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},focusRedirector:Function,openOn:{type:String,default:"click"},position:{type:String,default:"bottom-start"},raised:{type:Boolean,default:!0},trigger:{validator:function(t){return s["a"].validate(t,'[UiPopover]: Invalid prop: "trigger". Expected Element, VueComponent or CSS selector string which matches an existing element.')}},zIndex:Number},data:function(){return{returnFocus:!0}},watch:{disabled:function(t){this.tip&&(!0===t?this.tip.disable():this.tip.enable())}},created:function(){this.tip=null},mounted:function(){this.setupPopover()},beforeDestroy:function(){this.destroyPopover()},methods:{setupPopover:function(){if(this.triggerEl=s["a"].resolve(this.trigger,this.$el.parentElement),this.triggerEl){var t={animateFill:!1,animation:"none"===this.animation?"fade":this.animation,appendTo:this.appendToBody?document.body:this.triggerEl.parentElement,arrow:!1,content:this.$el,delay:[0,0],distance:0,duration:"none"===this.animation?0:[250,200],hideOnClick:!0,ignoreAttributes:!0,interactive:!0,lazy:!0,maxWidth:"100%",multiple:!0,onHidden:this.onHidden,onHide:this.onClose,onShow:this.onOpen,onShown:this.onShown,placement:this.position,role:"dialog",theme:"ui-popover",trigger:this.openOn.replace("hover","mouseenter"),zIndex:this.zIndex,popperOptions:{modifiers:{computeStyle:{gpuAcceleration:!(window.devicePixelRatio<1.5&&/Win/.test(navigator.platform))}}}};this.constrainToScrollParent||(t.popperOptions.modifiers.preventOverflow={enabled:!1},t.popperOptions.modifiers.hide={enabled:!1}),this.tip=Object(a["a"])(this.triggerEl,t),this.disabled&&this.tip.disable()}else console.error("[UiPopover]: Trigger element not found.")},destroyPopover:function(){this.tip&&(this.removeCloseEventListeners(),this.tip.destroy(),this.tip=null)},isOpen:function(){return this.tip&&this.tip.state.isVisible},open:function(){this.tip&&this.tip.show()},close:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{returnFocus:!0};this.tip&&(this.returnFocus=t.returnFocus,this.tip.hide())},toggle:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{returnFocus:!0};this.tip&&(this.returnFocus=t.returnFocus,this.tip[this.isOpen()?"hide":"show"]())},scheduleUpdate:function(){this.tip&&this.tip.popperInstance.scheduleUpdate()},onOpen:function(){this.addCloseEventListeners(),o["a"].add(this.triggerEl,"has-dropdown-open"),this.$emit("open")},onClose:function(){this.returnFocus&&this.lastFocusedElement&&this.lastFocusedElement.focus(),this.removeCloseEventListeners(),o["a"].remove(this.triggerEl,"has-dropdown-open"),this.$emit("close"),this.returnFocus=!0},onShown:function(){this.lastFocusedElement=document.activeElement,this.$refs.focusContainer.focus(),this.$emit("reveal")},onHidden:function(){this.$emit("hide")},closeOnExternal:function(t,e){this.$el.contains(t.target)||this.close(e)},addCloseEventListeners:function(){var t=this;this.removeCloseEventListeners(),setTimeout((function(){t.removeExternalClickListener=c["a"].on("click",document,(function(e){t.closeOnExternal(e,{returnFocus:!1})})),t.removeEscListener=c["a"].onKeydown(27,document,(function(){t.close({returnFocus:!0})})),t.closeOnScroll&&(t.removeScrollListener=c["a"].on("scroll",document,(function(e){t.closeOnExternal(e,{returnFocus:!0})})))}),0)},removeCloseEventListeners:function(){this.removeExternalClickListener&&(this.removeExternalClickListener(),this.removeExternalClickListener=null),this.removeEscListener&&(this.removeEscListener(),this.removeEscListener=null),this.removeScrollListener&&(this.removeScrollListener(),this.removeScrollListener=null)}},components:{UiFocusContainer:u["a"]}},f=l,p=(n("03b8"),n("2877")),h=Object(p["a"])(f,r,i,!1,null,null,null);e["a"]=h.exports},a15b:function(t,e,n){"use strict";var r=n("23e7"),i=n("e330"),a=n("44ad"),o=n("fc6a"),s=n("a640"),c=i([].join),u=a!=Object,l=u||!s("join",",");r({target:"Array",proto:!0,forced:l},{join:function(t){return c(o(this),void 0===t?",":t)}})},a1f0:function(t,e,n){"use strict";var r=n("23e7"),i=n("c65b"),a=n("4625"),o=n("dcc3"),s=n("4754"),c=n("1d80"),u=n("50c4"),l=n("577e"),f=n("825a"),p=n("7234"),h=n("c6b6"),d=n("44e7"),g=n("90d8"),v=n("dc4a"),m=n("cb2d"),b=n("d039"),y=n("b622"),w=n("4840"),k=n("8aa5"),x=n("14c3"),C=n("69f3"),_=n("c430"),S=y("matchAll"),E="RegExp String",O=E+" Iterator",T=C.set,A=C.getterFor(O),L=RegExp.prototype,N=TypeError,j=a("".indexOf),M=a("".matchAll),P=!!M&&!b((function(){M("a",/./)})),I=o((function(t,e,n,r){T(this,{type:O,regexp:t,string:e,global:n,unicode:r,done:!1})}),E,(function(){var t=A(this);if(t.done)return s(void 0,!0);var e=t.regexp,n=t.string,r=x(e,n);return null===r?(t.done=!0,s(void 0,!0)):t.global?(""===l(r[0])&&(e.lastIndex=k(n,u(e.lastIndex),t.unicode)),s(r,!1)):(t.done=!0,s(r,!1))})),R=function(t){var e,n,r,i=f(this),a=l(t),o=w(i,RegExp),s=l(g(i));return e=new o(o===RegExp?i.source:i,s),n=!!~j(s,"g"),r=!!~j(s,"u"),e.lastIndex=u(i.lastIndex),new I(e,a,n,r)};r({target:"String",proto:!0,forced:P},{matchAll:function(t){var e,n,r,a,o=c(this);if(p(t)){if(P)return M(o,t)}else{if(d(t)&&(e=l(c(g(t))),!~j(e,"g")))throw N("`.matchAll` does not allow non-global regexes");if(P)return M(o,t);if(r=v(t,S),void 0===r&&_&&"RegExp"==h(t)&&(r=R),r)return i(r,t,o)}return n=l(o),a=new RegExp(t,"g"),_?i(R,a,n):a[S](n)}}),_||S in L||m(L,S,R)},a277:function(t,e,n){},a2bf:function(t,e,n){"use strict";var r=n("e8b5"),i=n("07fa"),a=n("3511"),o=n("0366"),s=function(t,e,n,c,u,l,f,p){var h,d,g=u,v=0,m=!!f&&o(f,p);while(v0&&r(h)?(d=i(h),g=s(t,e,h,d,g,l-1)-1):(a(g+1),t[g]=h),g++),v++;return g};t.exports=s},a38e:function(t,e,n){"use strict";n.d(e,"a",(function(){return a}));var r=n("53ca");n("8172"),n("efec"),n("a4d3"),n("e01a"),n("d3b7"),n("d9e2"),n("a9e3");function i(t,e){if("object"!==Object(r["a"])(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!==Object(r["a"])(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function a(t){var e=i(t,"string");return"symbol"===Object(r["a"])(e)?e:String(e)}},a434:function(t,e,n){"use strict";var r=n("23e7"),i=n("7b0b"),a=n("23cb"),o=n("5926"),s=n("07fa"),c=n("3a34"),u=n("3511"),l=n("65f0"),f=n("8418"),p=n("083a"),h=n("1dde"),d=h("splice"),g=Math.max,v=Math.min;r({target:"Array",proto:!0,forced:!d},{splice:function(t,e){var n,r,h,d,m,b,y=i(this),w=s(y),k=a(t,w),x=arguments.length;for(0===x?n=r=0:1===x?(n=0,r=w-k):(n=x-2,r=v(g(o(e),0),w-k)),u(w+n-r),h=l(y,r),d=0;dw-r+n;d--)p(y,d-1)}else if(n>r)for(d=w-r;d>k;d--)m=d+r-1,b=d+n-1,m in y?y[b]=y[m]:p(y,b);for(d=0;d-1}function Q(t){return t instanceof Element}function tt(t){return!(!t||!G(t,"isVirtual"))||Q(t)}function et(){return"innerHTML"}function nt(t,e){return"function"===typeof t?t.apply(null,e):t}function rt(t,e){t.filter((function(t){return"flip"===t.name}))[0].enabled=e}function it(t){return!Q(t)||d.call(t,"a[href],area[href],button,details,input,textarea,select,iframe,[tabindex]")&&!t.hasAttribute("disabled")}function at(){return document.createElement("div")}function ot(t,e){t.forEach((function(t){t&&(t.style.transitionDuration="".concat(e,"ms"))}))}function st(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function ct(t,e){var n=i({},e,{content:nt(e.content,[t])},e.ignoreAttributes?{}:U(t));return(n.arrow||u)&&(n.animateFill=!1),n}function ut(t,e){Object.keys(t).forEach((function(t){if(!G(e,t))throw new Error("[tippy]: `".concat(t,"` is not a valid option"))}))}function lt(t,e){t[et()]=Q(e)?e[et()]:e}function ft(t,e){if(Q(e.content))lt(t,""),t.appendChild(e.content);else if("function"!==typeof e.content){var n=e.allowHTML?"innerHTML":"textContent";t[n]=e.content}}function pt(t){return{tooltip:t.querySelector(N),backdrop:t.querySelector(M),content:t.querySelector(j),arrow:t.querySelector(P)||t.querySelector(I)}}function ht(t){t.setAttribute("data-inertia","")}function dt(t){t.removeAttribute("data-inertia")}function gt(t){var e=at();return"round"===t?(e.className=A,lt(e,'')):e.className=T,e}function vt(){var t=at();return t.className=O,t.setAttribute("data-state","hidden"),t}function mt(t,e){t.setAttribute("tabindex","-1"),e.setAttribute("data-interactive","")}function bt(t,e){t.removeAttribute("tabindex"),e.removeAttribute("data-interactive")}function yt(t,e,n){var r=u&&void 0!==document.body.style.webkitTransition?"webkitTransitionEnd":"transitionend";t[e+"EventListener"](r,n)}function wt(t){var e=t.getAttribute(w);return e?e.split("-")[0]:""}function kt(t){t.offsetHeight}function xt(t,e,n){n.split(" ").forEach((function(n){t.classList[e](n+"-theme")}))}function Ct(t,e){var n=at();n.className=_,n.id="tippy-".concat(t),n.style.zIndex=""+e.zIndex,n.style.position="absolute",n.style.top="0",n.style.left="0",e.role&&n.setAttribute("role",e.role);var r=at();r.className=S,r.style.maxWidth=e.maxWidth+("number"===typeof e.maxWidth?"px":""),r.setAttribute("data-size",e.size),r.setAttribute("data-animation",e.animation),r.setAttribute("data-state","hidden"),xt(r,"add",e.theme);var i=at();return i.className=E,i.setAttribute("data-state","hidden"),e.interactive&&mt(n,r),e.arrow&&r.appendChild(gt(e.arrowType)),e.animateFill&&(r.appendChild(vt()),r.setAttribute("data-animatefill","")),e.inertia&&ht(r),ft(i,e),r.appendChild(i),n.appendChild(r),n}function _t(t,e,n){var r=pt(t),i=r.tooltip,a=r.content,o=r.backdrop,s=r.arrow;t.style.zIndex=""+n.zIndex,i.setAttribute("data-size",n.size),i.setAttribute("data-animation",n.animation),i.style.maxWidth=n.maxWidth+("number"===typeof n.maxWidth?"px":""),n.role?t.setAttribute("role",n.role):t.removeAttribute("role"),e.content!==n.content&&ft(a,n),!e.animateFill&&n.animateFill?(i.appendChild(vt()),i.setAttribute("data-animatefill","")):e.animateFill&&!n.animateFill&&(i.removeChild(o),i.removeAttribute("data-animatefill")),!e.arrow&&n.arrow?i.appendChild(gt(n.arrowType)):e.arrow&&!n.arrow&&i.removeChild(s),e.arrow&&n.arrow&&e.arrowType!==n.arrowType&&i.replaceChild(gt(n.arrowType),s),!e.interactive&&n.interactive?mt(t,i):e.interactive&&!n.interactive&&bt(t,i),!e.inertia&&n.inertia?ht(i):e.inertia&&!n.inertia&&dt(i),e.theme!==n.theme&&(xt(i,"remove",e.theme),xt(i,"add",n.theme))}function St(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.exclude,n=t.duration;g(document.querySelectorAll(L)).forEach((function(t){var r=t._tippy;if(r){var i=!1;e&&(i=W(e)?r.reference===e:t===e.popper),i||r.hide(n)}}))}function Et(t,e,n,r){if(!t)return!0;var i=n.clientX,a=n.clientY,o=r.interactiveBorder,s=r.distance,c=e.top-a>("top"===t?o+s:o),u=a-e.bottom>("bottom"===t?o+s:o),l=e.left-i>("left"===t?o+s:o),f=i-e.right>("right"===t?o+s:o);return c||u||l||f}function Ot(t){return-(t-10)+"px"}var Tt=1,At=[];function Lt(t,e){var n,a,o,s,u,l=ct(t,e);if(!l.multiple&&t._tippy)return null;var h,d,x,_,S=!1,E=!1,O=!1,T=!1,A=[],N=J(vt,l.interactiveDebounce),j=Tt++,M=Ct(j,l),P=pt(M),I=null,z={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},D={id:j,reference:t,popper:M,popperChildren:P,popperInstance:I,props:l,state:z,clearDelayTimeouts:Ft,set:Bt,setContent:Ht,show:Ut,hide:Vt,enable:Dt,disable:$t,destroy:qt};return t._tippy=D,M._tippy=D,lt(),l.lazy||Mt(),l.showOnInit&&It(),!l.a11y||l.target||it(B())||B().setAttribute("tabindex","0"),M.addEventListener("mouseenter",(function(t){D.props.interactive&&D.state.isVisible&&"mouseenter"===n&&It(t,!0)})),M.addEventListener("mouseleave",(function(){D.props.interactive&&"mouseenter"===n&&document.addEventListener("mousemove",N)})),D;function $(){document.removeEventListener("mousemove",ht)}function F(){document.body.removeEventListener("mouseleave",Rt),document.removeEventListener("mousemove",N),At=At.filter((function(t){return t!==N}))}function B(){return D.props.triggerTarget||t}function H(){document.addEventListener("click",zt,!0)}function U(){document.removeEventListener("click",zt,!0)}function V(){return[D.popperChildren.tooltip,D.popperChildren.backdrop,D.popperChildren.content]}function q(){var t=D.props.followCursor;return t&&"focus"!==n||R&&"initial"===t}function W(){ot([M],c?0:D.props.updateDuration);var e=t.getBoundingClientRect();function n(){var r=t.getBoundingClientRect();e.top===r.top&&e.right===r.right&&e.bottom===r.bottom&&e.left===r.left||D.popperInstance.scheduleUpdate(),e=r,D.state.isMounted&&requestAnimationFrame(n)}n()}function K(t,e){et(t,(function(){!D.state.isVisible&&M.parentNode&&M.parentNode.contains(M)&&e()}))}function tt(t,e){et(t,e)}function et(t,e){var n=D.popperChildren.tooltip;function r(t){t.target===n&&(yt(n,"remove",r),e())}if(0===t)return e();yt(n,"remove",x),yt(n,"add",r),x=r}function at(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];B().addEventListener(t,e,n),A.push({eventType:t,handler:e,options:n})}function lt(){D.props.touchHold&&!D.props.target&&(at("touchstart",gt,b),at("touchend",mt,b)),D.props.trigger.trim().split(" ").forEach((function(t){if("manual"!==t)if(D.props.target)switch(t){case"mouseenter":at("mouseover",xt),at("mouseout",St);break;case"focus":at("focusin",xt),at("focusout",St);break;case"click":at(t,xt);break}else switch(at(t,gt),t){case"mouseenter":at("mouseleave",mt);break;case"focus":at(c?"focusout":"blur",bt);break}}))}function ft(){A.forEach((function(t){var e=t.eventType,n=t.handler,r=t.options;B().removeEventListener(e,n,r)})),A=[]}function ht(e){var n=a=e,r=n.clientX,o=n.clientY;if(_){var s=m(e.target,(function(e){return e===t})),c=t.getBoundingClientRect(),u=D.props.followCursor,l="horizontal"===u,f="vertical"===u,p=X(["top","bottom"],wt(M)),h=M.getAttribute(w),d=!!h&&!!h.split("-")[1],g=p?M.offsetWidth:M.offsetHeight,v=g/2,b=p?0:d?g:v,y=p?d?g:v:0;!s&&D.props.interactive||(D.popperInstance.reference=i({},D.popperInstance.reference,{referenceNode:t,clientWidth:0,clientHeight:0,getBoundingClientRect:function(){return{width:p?g:0,height:p?0:g,top:(l?c.top:o)-b,bottom:(l?c.bottom:o)+b,left:(f?c.left:r)-y,right:(f?c.right:r)+y}}}),D.popperInstance.update()),"initial"===u&&D.state.isVisible&&$()}}function dt(t){if(t){var n=v(t.target,D.props.target);n&&!n._tippy&&Lt(n,i({},D.props,{content:nt(e.content,[n]),appendTo:e.appendTo,target:"",showOnInit:!0}))}}function gt(t){D.state.isEnabled&&!Nt(t)&&(D.state.isVisible||(n=t.type,t instanceof MouseEvent&&(a=t,At.forEach((function(e){return e(t)})))),"click"===t.type&&!1!==D.props.hideOnClick&&D.state.isVisible?Rt():It(t))}function vt(e){var n=v(e.target,L)===M,r=m(e.target,(function(e){return e===t}));n||r||Et(wt(M),M.getBoundingClientRect(),e,D.props)&&(F(),Rt())}function mt(t){if(!Nt(t))return D.props.interactive?(document.body.addEventListener("mouseleave",Rt),document.addEventListener("mousemove",N),void At.push(N)):void Rt()}function bt(t){t.target===B()&&(D.props.interactive&&t.relatedTarget&&M.contains(t.relatedTarget)||Rt())}function xt(t){v(t.target,D.props.target)&&It(t)}function St(t){v(t.target,D.props.target)&&Rt()}function Nt(t){var e="ontouchstart"in window,n=X(t.type,"touch"),r=D.props.touchHold;return e&&R&&r&&!n||R&&!r&&n}function jt(){!T&&d&&(T=!0,kt(M),d())}function Mt(){var e=D.props.popperOptions,n=D.popperChildren,a=n.tooltip,o=n.arrow,s=Z(e,"preventOverflow");function c(t){D.props.flip&&!D.props.flipOnUpdate&&(t.flipped&&(D.popperInstance.options.placement=t.placement),rt(D.popperInstance.modifiers,!1)),a.setAttribute(w,t.placement),!1!==t.attributes[k]?a.setAttribute(k,""):a.removeAttribute(k),h&&h!==t.placement&&O&&(a.style.transition="none",requestAnimationFrame((function(){a.style.transition=""}))),h=t.placement,O=D.state.isVisible;var e=wt(M),n=a.style;n.top=n.bottom=n.left=n.right="",n[e]=Ot(D.props.distance);var r=s&&void 0!==s.padding?s.padding:y,o="number"===typeof r,c=i({top:o?r:r.top,bottom:o?r:r.bottom,left:o?r:r.left,right:o?r:r.right},!o&&r);c[e]=o?r+D.props.distance:(r[e]||0)+D.props.distance,D.popperInstance.modifiers.filter((function(t){return"preventOverflow"===t.name}))[0].padding=c,_=c}var u=i({eventsEnabled:!1,placement:D.props.placement},e,{modifiers:i({},e?e.modifiers:{},{preventOverflow:i({boundariesElement:D.props.boundary,padding:y},s),arrow:i({element:o,enabled:!!o},Z(e,"arrow")),flip:i({enabled:D.props.flip,padding:D.props.distance+y,behavior:D.props.flipBehavior},Z(e,"flip")),offset:i({offset:D.props.offset},Z(e,"offset"))}),onCreate:function(t){c(t),jt(),e&&e.onCreate&&e.onCreate(t)},onUpdate:function(t){c(t),jt(),e&&e.onUpdate&&e.onUpdate(t)}});D.popperInstance=new r["a"](t,M,u)}function Pt(){T=!1;var e=q();D.popperInstance?(rt(D.popperInstance.modifiers,D.props.flip),e||(D.popperInstance.reference=t,D.popperInstance.enableEventListeners()),D.popperInstance.scheduleUpdate()):(Mt(),e||D.popperInstance.enableEventListeners());var n=D.props.appendTo,r="parent"===n?t.parentNode:nt(n,[t]);r.contains(M)||(r.appendChild(M),D.props.onMount(D),D.state.isMounted=!0)}function It(t,e){if(Ft(),!D.state.isVisible){if(D.props.target)return dt(t);if(S=!0,t&&!e&&D.props.onTrigger(D,t),D.props.wait)return D.props.wait(D,t);q()&&!D.state.isMounted&&(D.popperInstance||Mt(),document.addEventListener("mousemove",ht)),H();var n=Y(D.props.delay,0,f.delay);n?o=setTimeout((function(){Ut()}),n):Ut()}}function Rt(){if(Ft(),!D.state.isVisible)return $(),void U();S=!1;var t=Y(D.props.delay,1,f.delay);t?s=setTimeout((function(){D.state.isVisible&&Vt()}),t):u=requestAnimationFrame((function(){Vt()}))}function zt(t){if(!D.props.interactive||!M.contains(t.target)){if(B().contains(t.target)){if(R)return;if(D.state.isVisible&&X(D.props.trigger,"click"))return}!0===D.props.hideOnClick&&(Ft(),Vt())}}function Dt(){D.state.isEnabled=!0}function $t(){D.state.isEnabled=!1}function Ft(){clearTimeout(o),clearTimeout(s),cancelAnimationFrame(u)}function Bt(e){e=e||{},ut(e,f),ft();var n=D.props,r=ct(t,i({},D.props,{},e,{ignoreAttributes:!0}));r.ignoreAttributes=G(e,"ignoreAttributes")?e.ignoreAttributes||!1:n.ignoreAttributes,D.props=r,lt(),F(),N=J(vt,r.interactiveDebounce),_t(M,n,r),D.popperChildren=pt(M),D.popperInstance&&(p.some((function(t){return G(e,t)&&e[t]!==n[t]}))?(D.popperInstance.destroy(),Mt(),D.state.isVisible&&D.popperInstance.enableEventListeners(),D.props.followCursor&&a&&ht(a)):D.popperInstance.update())}function Ht(t){Bt({content:t})}function Ut(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Y(D.props.duration,0,f.duration[1]);if(!D.state.isDestroyed&&D.state.isEnabled&&(!R||D.props.touch)&&!B().hasAttribute("disabled")&&!1!==D.props.onShow(D)){H(),M.style.visibility="visible",D.state.isVisible=!0,D.props.interactive&&B().classList.add(C);var e=V();ot(e.concat(M),0),d=function(){if(D.state.isVisible){var n=q();n&&a?ht(a):n||D.popperInstance.update(),D.popperChildren.backdrop&&(D.popperChildren.content.style.transitionDelay=Math.round(t/12)+"ms"),D.props.sticky&&W(),ot([M],D.props.updateDuration),ot(e,t),st(e,"visible"),tt(t,(function(){D.props.aria&&B().setAttribute("aria-".concat(D.props.aria),M.id),D.props.onShown(D),D.state.isShown=!0}))}},Pt()}}function Vt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Y(D.props.duration,1,f.duration[1]);if(!D.state.isDestroyed&&(D.state.isEnabled||E)&&(!1!==D.props.onHide(D)||E)){U(),M.style.visibility="hidden",D.state.isVisible=!1,D.state.isShown=!1,O=!1,D.props.interactive&&B().classList.remove(C);var e=V();ot(e,t),st(e,"hidden"),K(t,(function(){S||$(),D.props.aria&&B().removeAttribute("aria-".concat(D.props.aria)),D.popperInstance.disableEventListeners(),D.popperInstance.options.placement=D.props.placement,M.parentNode.removeChild(M),D.props.onHidden(D),D.state.isMounted=!1}))}}function qt(e){if(!D.state.isDestroyed){E=!0,D.state.isMounted&&Vt(0),ft(),delete t._tippy;var n=D.props.target;n&&e&&Q(t)&&g(t.querySelectorAll(n)).forEach((function(t){t._tippy&&t._tippy.destroy()})),D.popperInstance&&D.popperInstance.destroy(),E=!1,D.state.isDestroyed=!0}}}function Nt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.delay,r=void 0===n?t[0].props.delay:n,a=e.duration,o=void 0===a?0:a,s=!1;function c(t){s=t,p()}function u(e){e._originalProps.onShow(e),t.forEach((function(t){t.set({duration:o}),t.state.isVisible&&t.hide()})),c(!0)}function l(t){t._originalProps.onHide(t),c(!1)}function f(t){t._originalProps.onShown(t),t.set({duration:t._originalProps.duration})}function p(){t.forEach((function(t){t.set({onShow:u,onShown:f,onHide:l,delay:s?[0,Array.isArray(r)?r[1]:r]:r,duration:s?o:t._originalProps.duration})}))}t.forEach((function(t){t._originalProps?t.set(t._originalProps):t._originalProps=i({},t.props)})),p()}var jt=!1;function Mt(t,e){ut(e||{},f),jt||(B(),jt=!0);var n=i({},f,{},e);q(t)&&V(t);var r=K(t).reduce((function(t,e){var r=e&&Lt(e,n);return r&&t.push(r),t}),[]);return tt(t)?r[0]:r}function Pt(){g(document.querySelectorAll("[data-tippy]")).forEach((function(t){var e=t.getAttribute("data-tippy");e&&Mt(t,{content:e})}))}Mt.version=a,Mt.defaults=f,Mt.setDefaults=function(t){Object.keys(t).forEach((function(e){f[e]=t[e]}))},Mt.hideAll=St,Mt.group=Nt,o&&setTimeout(Pt),e["a"]=Mt},a630:function(t,e,n){var r=n("23e7"),i=n("4df4"),a=n("1c7e"),o=!a((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:o},{from:i})},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){return 1},1)}))}},a79d:function(t,e,n){"use strict";var r=n("23e7"),i=n("c430"),a=n("d256"),o=n("d039"),s=n("d066"),c=n("1626"),u=n("4840"),l=n("cdf9"),f=n("cb2d"),p=a&&a.prototype,h=!!a&&o((function(){p["finally"].call({then:function(){}},(function(){}))}));if(r({target:"Promise",proto:!0,real:!0,forced:h},{finally:function(t){var e=u(this,s("Promise")),n=c(t);return this.then(n?function(n){return l(e,t()).then((function(){return n}))}:t,n?function(n){return l(e,t()).then((function(){throw n}))}:t)}}),!i&&c(a)){var d=s("Promise").prototype["finally"];p["finally"]!==d&&f(p,"finally",d,{unsafe:!0})}},a9e3:function(t,e,n){"use strict";var r=n("23e7"),i=n("c430"),a=n("83ab"),o=n("da84"),s=n("428f"),c=n("e330"),u=n("94ca"),l=n("1a2d"),f=n("7156"),p=n("3a9b"),h=n("d9b5"),d=n("c04e"),g=n("d039"),v=n("241c").f,m=n("06cf").f,b=n("9bf2").f,y=n("408a"),w=n("58a8").trim,k="Number",x=o[k],C=s[k],_=x.prototype,S=o.TypeError,E=c("".slice),O=c("".charCodeAt),T=function(t){var e=d(t,"number");return"bigint"==typeof e?e:A(e)},A=function(t){var e,n,r,i,a,o,s,c,u=d(t,"number");if(h(u))throw S("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=w(u),e=O(u,0),43===e||45===e){if(n=O(u,2),88===n||120===n)return NaN}else if(48===e){switch(O(u,1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+u}for(a=E(u,2),o=a.length,s=0;si)return NaN;return parseInt(a,r)}return+u},L=u(k,!x(" 0o1")||!x("0b1")||x("+0x1")),N=function(t){return p(_,t)&&g((function(){y(t)}))},j=function(t){var e=arguments.length<1?0:x(T(t));return N(this)?f(Object(e),this,j):e};j.prototype=_,L&&!i&&(_.constructor=j),r({global:!0,constructor:!0,wrap:!0,forced:L},{Number:j});var M=function(t,e){for(var n,r=a?v(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),i=0;r.length>i;i++)l(e,n=r[i])&&!l(t,n)&&b(t,n,m(e,n))};i&&C&&M(s[k],C),(L||i)&&M(s[k],x)},ab13:function(t,e,n){var r=n("b622"),i=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[i]=!1,"/./"[t](e)}catch(r){}}return!1}},ab36:function(t,e,n){var r=n("861d"),i=n("9112");t.exports=function(t,e){r(e)&&"cause"in e&&i(t,"cause",e.cause)}},ab75:function(t,e,n){},ac1f:function(t,e,n){"use strict";var r=n("23e7"),i=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}},addb:function(t,e,n){var r=n("4dae"),i=Math.floor,a=function(t,e){var n=t.length,c=i(n/2);return n<8?o(t,e):s(t,a(r(t,0,c),e),a(r(t,c),e),e)},o=function(t,e){var n,r,i=t.length,a=1;while(a0)t[r]=t[--r];r!==a++&&(t[r]=n)}return t},s=function(t,e,n,r){var i=e.length,a=n.length,o=0,s=0;while(o=1)e.barHeight=0;else{let t=e.el2.clientHeight*e.visibleArea;e.barHeight=Math.max(t,e.config.minDraggerHeight)}}function u(t){var e=r(t),n=document.createElement("div"),i=document.createElement("div");return n.className=e.config.draggerClass,n.style.position="absolute",e.draggerEnabled||(n.style.display="none"),i.className=e.config.draggerStylerClass,n.appendChild(i),e.el1.appendChild(n),n}function l(t,e){e=e||{};var n=r(t);n.dragger.style.height=parseInt(Math.round(n.barHeight))+"px",n.dragger.style.top=parseInt(Math.round(n.barTop))+"px",n.draggerEnabled&&n.visibleArea<1?(M(n.el1,n.config.el1ScrollInvisibleClass),j(n.el1,n.config.el1ScrollVisibleClass)):(M(n.el1,n.config.el1ScrollVisibleClass),j(n.el1,n.config.el1ScrollInvisibleClass)),e.withScrollingClasses&&(j(n.el1,n.config.el1ScrollingClass),n.scrollingClassTimeout&&clearTimeout(n.scrollingClassTimeout),n.scrollingClassTimeout=setTimeout((function(){M(n.el1,n.config.el1ScrollingClass)}),n.config.scrollThrottle+5),j(n.el1,n.config.el1ScrollingPhantomClass),n.scrollingPhantomClassTimeout&&clearTimeout(n.scrollingPhantomClassTimeout),n.scrollingPhantomClassTimeout=setTimeout((function(){M(n.el1,n.config.el1ScrollingPhantomClass)}),n.config.scrollThrottle+n.config.scrollingPhantomDelay))}function f(t){var e=r(t),n="vuebar-pseudo-element-styles",i="."+e.config.el2Class+"::-webkit-scrollbar",a=document.getElementById(n),o=null;a||(a=document.createElement("style"),a.id=n,document.head.appendChild(a)),o=a.sheet;for(var s=!1,c=0,u=o.rules.length;c=1)return!1;var i=n.el2.scrollHeight-n.el2.clientHeight,a=n.el2.scrollTop,o=e.deltaY<0,s=e.deltaY>0;return a<=0&&o||a>=i&&s?(e.preventDefault(),!1):void 0}function h(t){var e=r(t);e.el2.scrollTop=e.scrollTop}function d(e,n){var i=r(e);if(!i.freeze){n=n||{};n.immediate&&(m(e),a(e),c(e),s(e),l(e)),t.nextTick(function(){if(!r(e))return!1;m(e),a(e),c(e),s(e),l(e)}.bind(this))}}function g(t){var e=r(t);e.freeze=!0}function v(t){var e=r(t);e.freeze=!1}function m(t){var e=r(t),n=e.browser;e.config.useScrollbarPseudo&&(n.chrome||n.safari)?(e.el2.style.width="100%",f(t)):e.overlayScrollbar?(e.el2.style.width="100%",L(e.el2,"BoxSizing","content-box"),e.el2.style.paddingRight="20px",e.el2.style.width="calc(100% + "+e.nativeScrollbarWidth+"px)"):e.el2.style.width="calc(100% + "+e.nativeScrollbarWidth+"px)"}function b(t){var e=r(t);return A(function(n){a(t),c(t),e.barDragging||(s(t),l(t,{withScrollingClasses:!0}))}.bind(this),e.config.scrollThrottle)}function y(t){return function(e){p(t,e)}.bind(this)}function w(t){var e=r(t);return A(function(e){s(t,e),l(t),o(t),h(t)}.bind(this),e.config.draggerThrottle)}function k(t){var e=r(t);return function(t){e.barDragging=!1,e.el1.style.userSelect="",e.config.unselectableBody&&L(document.body,"UserSelect",""),M(e.el1,e.config.el1DraggingClass),e.draggingPhantomClassTimeout=setTimeout((function(){M(e.el1,e.config.el1DraggingPhantomClass)}),e.config.draggingPhantomDelay),document.removeEventListener("mousemove",e.documentMousemove,0),document.removeEventListener("mouseup",e.documentMouseup,0)}.bind(this)}function x(t){var e=r(t);return function(t){if(1!==t.which)return!1;e.barDragging=!0;const n=e.el1.getBoundingClientRect().top;e.mouseDownY=t.clientY-n,e.mouseDownBarTop=e.barTop,e.el1.style.userSelect="none",e.config.unselectableBody&&L(document.body,"UserSelect","none"),j(e.el1,e.config.el1DraggingClass),e.draggingPhantomClassTimeout&&clearTimeout(e.draggingPhantomClassTimeout),j(e.el1,e.config.el1DraggingPhantomClass),document.addEventListener("mousemove",e.documentMousemove,0),document.addEventListener("mouseup",e.documentMouseup,0)}.bind(this)}function C(t){var e=r(t);return T(function(e){d(t)}.bind(this),e.config.resizeDebounce)}function _(t){if("undefined"===typeof MutationObserver)return null;var e=r(t),n=new MutationObserver(A((function(e){d(t)}),e.config.observerThrottle));return n.observe(e.el2,{childList:!0,characterData:!0,subtree:!0}),n}function S(e,r){if(!i.call(this,e))return!1;if(e._vuebarState)return t.util.warn("(Vuebar) Tried to initialize second time. If you see this please create an issue on https://github.com/DominikSerafin/vuebar with all relevent debug information. Thank you!"),!1;var a=n(e),o=r.value?r.value:r||{};for(var s in o)a.config[s]=o[s];a.browser=P(),a.nativeScrollbarWidth=I(e.firstElementChild),a.overlayScrollbar=0==a.nativeScrollbarWidth,a.draggerEnabled=!a.overlayScrollbar||a.config.overrideFloatingScrollbar?1:0,a.binding=r.value?r:null,a.el1=e,a.el2=e.firstElementChild,a.dragger=u(e),a.barMousedown=x(e),a.documentMousemove=w(e),a.documentMouseup=k(e),a.windowResize=C(e),a.scrollHandler=b(e),a.wheelHandler=y(e),a.mutationObserver=_(e),j(a.el1,a.config.el1Class),a.el1.style.position="relative",a.el1.style.overflow="hidden",j(a.el2,a.config.el2Class),a.el2.style.display="block",a.el2.style.overflowX="hidden",a.el2.style.overflowY="scroll",a.el2.style.height="100%",a.draggerEnabled&&m(e),a.el2.addEventListener("scroll",a.scrollHandler,0),a.dragger.addEventListener("mousedown",a.barMousedown,0),a.config.preventParentScroll&&a.el2.addEventListener("wheel",a.wheelHandler,0),a.config.resizeRefresh&&window.addEventListener("resize",a.windowResize,0),d(e,{immediate:!0})}function E(t,e){e=e||{};var n=r(t);n&&(n.dragger.removeEventListener("mousedown",n.barMousedown,0),n.el2.removeEventListener("scroll",n.scrollHandler,0),n.el2.removeEventListener("wheel",n.wheelHandler,0),window.removeEventListener("resize",n.windowResize,0),n.mutationObserver&&n.mutationObserver.disconnect(),M(n.el1,n.config.el1Class),M(n.el1,n.config.el1ScrollVisibleClass),M(n.el1,n.config.el1ScrollInvisibleClass),M(n.el1,n.config.el1ScrollingClass),M(n.el1,n.config.el1ScrollingPhantomClass),M(n.el1,n.config.el1DraggingClass),e.clearStyles&&(n.el1.style.position="",n.el1.style.overflow=""),M(n.el2,n.config.el2Class),e.clearStyles&&(n.el2.style.display="",n.el2.style.overflowX="",n.el2.style.overflowY="",n.el2.style.msOverflowStyle="",n.el2.style.height="",n.el2.style.width=""),n.dragger.removeChild(n.dragger.firstChild),n.el1.removeChild(n.dragger),n.scrollingPhantomClassTimeout&&clearTimeout(n.scrollingPhantomClassTimeout),n.draggingPhantomClassTimeout&&clearTimeout(n.draggingPhantomClassTimeout),delete t._vuebarState)}function O(){return{getState:r,initScrollbar:S,destroyScrollbar:E,refreshScrollbar:d,freezeScrollbar:g,unfreezeScrollbar:v}}function T(t,e){var n=null;return function(){var r=this,i=arguments;clearTimeout(n),n=setTimeout((function(){t.apply(r,i)}),e)}}function A(t,e,n){var r,i;return e||(e=250),function(){var a=n||this,o=+new Date,s=arguments;r&&o-1&&n.toLowerCase().indexOf("google")>-1,i=e.indexOf("Edge")>-1,a=!!window.safari||e.toLowerCase().indexOf("safari")>-1&&n.toLowerCase().indexOf("apple")>-1,o=8==t(),s=9==t(),c=10==t(),u=11==t(),l=o||s||c||u,f=e||n||window.opera,p=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(f)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(f.substr(0,4));return{edge:i,chrome:r,safari:a,mobile:p,ie:l,ie8:o,ie9:s,ie10:c,ie11:u}}function I(t){t=t||document.body;var e=0,n=0,r=document.createElement("div"),i=document.createElement("div");return r.style.position="absolute",r.style.pointerEvents="none",r.style.bottom="0",r.style.right="0",r.style.width="100px",r.style.overflow="hidden",r.appendChild(i),t.appendChild(r),e=i.offsetWidth,i.style.width="100%",r.style.overflowY="scroll",n=e-i.offsetWidth,t.removeChild(r),n}e=e||{},e.directive=e.directive||"bar",t.vuebar=O(),t.prototype.$vuebar=O(),t.directive(e.directive,{inserted:function(t,e,n){S.call(this,t,e)},componentUpdated:function(t,e,n,r){d.call(this,t)},unbind:function(t,e,n,r){E.call(this,t,{clearStyles:!1})}})}};t.exports=e,"undefined"!==typeof Vue&&Vue.use(e)})()},ae93:function(t,e,n){"use strict";var r,i,a,o=n("d039"),s=n("1626"),c=n("861d"),u=n("7c73"),l=n("e163"),f=n("cb2d"),p=n("b622"),h=n("c430"),d=p("iterator"),g=!1;[].keys&&(a=[].keys(),"next"in a?(i=l(l(a)),i!==Object.prototype&&(r=i)):g=!0);var v=!c(r)||o((function(){var t={};return r[d].call(t)!==t}));v?r={}:h&&(r=u(r)),s(r[d])||f(r,d,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:g}},aeb0:function(t,e,n){var r=n("9bf2").f;t.exports=function(t,e,n){n in t||r(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},aed9:function(t,e,n){var r=n("83ab"),i=n("d039");t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},af03:function(t,e,n){var r=n("d039");t.exports=function(t){return r((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},b041:function(t,e,n){"use strict";var r=n("00ee"),i=n("f5df");t.exports=r?{}.toString:function(){return"[object "+i(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),i=n("5e77").EXISTS,a=n("e330"),o=n("edd0"),s=Function.prototype,c=a(s.toString),u=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,l=a(u.exec),f="name";r&&!i&&o(s,f,{configurable:!0,get:function(){try{return l(u,c(this))[1]}catch(t){return""}}})},b1fb:function(t,e,n){},b42e:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var e=+t;return(e>0?r:n)(e)}},b4f8:function(t,e,n){var r=n("23e7"),i=n("d066"),a=n("1a2d"),o=n("577e"),s=n("5692"),c=n("0b43"),u=s("string-to-symbol-registry"),l=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!c},{for:function(t){var e=o(t);if(a(u,e))return u[e];var n=i("Symbol")(e);return u[e]=n,l[n]=e,n}})},b575:function(t,e,n){var r,i,a,o,s,c=n("da84"),u=n("0366"),l=n("06cf").f,f=n("2cf4").set,p=n("01b4"),h=n("1cdc"),d=n("d4c3"),g=n("a4b4"),v=n("605d"),m=c.MutationObserver||c.WebKitMutationObserver,b=c.document,y=c.process,w=c.Promise,k=l(c,"queueMicrotask"),x=k&&k.value;if(!x){var C=new p,_=function(){var t,e;v&&(t=y.domain)&&t.exit();while(e=C.get())try{e()}catch(n){throw C.head&&r(),n}t&&t.enter()};h||v||g||!m||!b?!d&&w&&w.resolve?(o=w.resolve(void 0),o.constructor=w,s=u(o.then,o),r=function(){s(_)}):v?r=function(){y.nextTick(_)}:(f=u(f,c),r=function(){f(_)}):(i=!0,a=b.createTextNode(""),new m(_).observe(a,{characterData:!0}),r=function(){a.data=i=!i}),x=function(t){C.head||r(),C.add(t)}}t.exports=x},b622:function(t,e,n){var r=n("da84"),i=n("5692"),a=n("1a2d"),o=n("90e3"),s=n("04f8"),c=n("fdbf"),u=r.Symbol,l=i("wks"),f=c?u["for"]||u:u&&u.withoutSetter||o;t.exports=function(t){return a(l,t)||(l[t]=s&&a(u,t)?u[t]:f("Symbol."+t)),l[t]}},b636:function(t,e,n){var r=n("e065");r("asyncIterator")},b64b:function(t,e,n){var r=n("23e7"),i=n("7b0b"),a=n("df75"),o=n("d039"),s=o((function(){a(1)}));r({target:"Object",stat:!0,forced:s},{keys:function(t){return a(i(t))}})},b727:function(t,e,n){var r=n("0366"),i=n("e330"),a=n("44ad"),o=n("7b0b"),s=n("07fa"),c=n("65f0"),u=i([].push),l=function(t){var e=1==t,n=2==t,i=3==t,l=4==t,f=6==t,p=7==t,h=5==t||f;return function(d,g,v,m){for(var b,y,w=o(d),k=a(w),x=r(g,v),C=s(k),_=0,S=m||c,E=e?S(d,C):n||p?S(d,0):void 0;C>_;_++)if((h||_ in k)&&(b=k[_],y=x(b,_,w),t))if(e)E[_]=y;else if(y)switch(t){case 3:return!0;case 5:return b;case 6:return _;case 2:u(E,b)}else switch(t){case 4:return!1;case 7:u(E,b)}return f?-1:i||l?l:E}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},b74e:function(t,e,n){"use strict";n("915e")},b980:function(t,e,n){var r=n("d039"),i=n("5c6c");t.exports=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},b9ab:function(t,e,n){"use strict";n("b0c0");var r=function(){var t=this,e=t._self._c;return e("label",{staticClass:"ui-fileupload",class:t.classes},[t.renderInput?e("input",{ref:"input",staticClass:"ui-fileupload__input",attrs:{type:"file",accept:t.accept,disabled:t.disabled,multiple:t.multiple,name:t.name,required:t.required,tabindex:t.tabindex},on:{blur:t.onBlur,input:t.onInput,change:t.onChange,focus:t.onFocus}}):t._e(),e("div",{staticClass:"ui-fileupload__content"},[e("div",{staticClass:"ui-fileupload__icon"},[t._t("icon",(function(){return[e("ui-icon",[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M5.016 18h13.969v2.016H5.016V18zM9 15.984v-6H5.016L12 3l6.984 6.984H15v6H9z"}})])])]}))],2),t.hasSelection?e("span",{staticClass:"ui-fileupload__display-text"},[t._v(t._s(t.displayText))]):t._t("default",(function(){return[t._v(t._s(t.placeholder))]}))],2),e("div",{staticClass:"ui-fileupload__focus-ring"}),t.disableRipple||t.disabled?t._e():e("ui-ripple-ink")],1)},i=[],a=(n("a9e3"),n("d235")),o=n("e5ce"),s={name:"ui-fileupload",props:{name:{type:String,required:!0},label:String,tabindex:[String,Number],accept:String,multiple:{type:Boolean,default:!1},required:{type:Boolean,default:!1},type:{type:String,default:"primary"},color:{type:String,default:"default"},size:{type:String,default:"normal"},raised:{type:Boolean,default:!1},iconPosition:{type:String,default:"left"},disableRipple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},data:function(){return{isActive:!1,renderInput:!0,hasSelection:!1,hasMultiple:!1,displayText:""}},computed:{classes:function(){return["ui-fileupload--type-".concat(this.type),"ui-fileupload--color-".concat(this.color),"ui-fileupload--icon-position-".concat(this.iconPosition),"ui-fileupload--size-".concat(this.size),{"is-active":this.isActive},{"is-multiple":this.hasMultiple},{"is-raised":this.raised},{"is-disabled":this.disabled}]},placeholder:function(){return this.label?this.label:this.multiple?"Choose files":"Choose a file"}},methods:{onFocus:function(t){this.isActive=!0,this.$emit("focus",t)},onBlur:function(t){this.isActive=!1,this.$emit("blur",t)},onInput:function(t){this.$emit("input",this.$refs.input.files,t)},onChange:function(t){this.updateDisplayText(t),this.$emit("change",this.$refs.input.files,t)},updateDisplayText:function(t){var e,n=this.$refs.input;e=n.files&&n.files.length>1?"".concat(n.files.length," files selected"):t.target.value.split("\\").pop(),e&&(this.hasSelection=!0,this.displayText=e,this.hasMultiple=n.files.length>1)},focus:function(){this.$refs.input.focus()},openPicker:function(){this.$refs.input.click()},clear:function(){var t=this;this.hasSelection=!1,this.renderInput=!1,this.$nextTick((function(){t.renderInput=!0}))}},components:{UiIcon:a["a"],UiRippleInk:o["a"]}},c=s,u=(n("74cc"),n("2877")),l=Object(u["a"])(c,r,i,!1,null,null,null);e["a"]=l.exports},bb03:function(t,e,n){"use strict";var r=n("cbde");e["a"]={beforeDestroy(){"function"===typeof this.destroyExternalClickListener&&this.removeExternalClickListener()},methods:{addExternalClickListener(t=[this.$el],e=null,n={passive:!0}){t=Array.isArray(t)?t:[t],this.destroyExternalClickListener=r["a"].on("click",document,n=>{for(let e=0;e1?arguments[1]:void 0)}}),a(o)},c7eb:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("b636"),n("944a"),n("0c47"),n("23dc"),n("3410"),n("d9e2"),n("14d9"),n("159b"),n("b0c0"),n("131a"),n("1f68"),n("fb6a");var r=n("53ca");function i(){ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ +i=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,a=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(L){l=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var i=e&&e.prototype instanceof d?e:d,o=Object.create(i.prototype),s=new O(r||[]);return a(o,"_invoke",{value:C(t,n,s)}),o}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(L){return{type:"throw",arg:L}}}t.wrap=f;var h={};function d(){}function g(){}function v(){}var m={};l(m,s,(function(){return this}));var b=Object.getPrototypeOf,y=b&&b(b(T([])));y&&y!==e&&n.call(y,s)&&(m=y);var w=v.prototype=d.prototype=Object.create(m);function k(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function i(a,o,s,c){var u=p(t[a],t,o);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==Object(r["a"])(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,c)}),(function(t){i("throw",t,s,c)})):e.resolve(f).then((function(t){l.value=t,s(l)}),(function(t){return i("throw",t,s,c)}))}c(u.arg)}var o;a(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function C(t,e,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return A()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=_(o,n);if(s){if(s===h)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=p(t,e,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function _(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator["return"]&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),h;var i=p(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,h;var a=i.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function T(t){if(t){var e=t[s];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:T(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},t}},c89d:function(t,e,n){"use strict";n("9a4f")},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c931:function(t,e,n){},ca84:function(t,e,n){var r=n("e330"),i=n("1a2d"),a=n("fc6a"),o=n("4d64").indexOf,s=n("d012"),c=r([].push);t.exports=function(t,e){var n,r=a(t),u=0,l=[];for(n in r)!i(s,n)&&i(r,n)&&c(l,n);while(e.length>u)i(r,n=e[u++])&&(~o(l,n)||c(l,n));return l}},caad:function(t,e,n){"use strict";var r=n("23e7"),i=n("4d64").includes,a=n("d039"),o=n("44d2"),s=a((function(){return!Array(1).includes()}));r({target:"Array",proto:!0,forced:s},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("includes")},cb29:function(t,e,n){var r=n("23e7"),i=n("81d5"),a=n("44d2");r({target:"Array",proto:!0},{fill:i}),a("fill")},cb2d:function(t,e,n){var r=n("1626"),i=n("9bf2"),a=n("13d2"),o=n("6374");t.exports=function(t,e,n,s){s||(s={});var c=s.enumerable,u=void 0!==s.name?s.name:e;if(r(n)&&a(n,u,s),s.global)c?t[e]=n:o(e,n);else{try{s.unsafe?t[e]&&(c=!0):delete t[e]}catch(l){}c?t[e]=n:i.f(t,e,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},cb42:function(t,e,n){"use strict";function r(t,e){if(!t)return;e=e||t.parentElement;const n=t.offsetTop,r=e.scrollTop,i=n+t.offsetHeight,a=e.offsetHeight;return n>=r&&i<=a}function i(t,e={container:null,marginTop:0}){t&&(e.container=e.container||t.parentElement,r(t,e.container)||(e.container.scrollTop=t.offsetTop-e.marginTop))}function a(t){t&&(t.scrollTop=0)}n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return a}))},cbde:function(t,e,n){"use strict";function r(t,e,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function i(t,e,n,i,a){return r(e,n,e=>{t&&t!==e.key&&t!==e.keyCode||i(e)},a)}function a(t,e,n,r){return i(t,"keydown",e,n,r)}function o(t,e,n,r){return i(t,"keyup",e,n,r)}function s(t,e,n,r){return i(t,"keypress",e,n,r)}e["a"]={on:r,onKeydown:a,onKeyup:o,onKeypress:s}},cc12:function(t,e,n){var r=n("da84"),i=n("861d"),a=r.document,o=i(a)&&i(a.createElement);t.exports=function(t){return o?a.createElement(t):{}}},cc71:function(t,e,n){"use strict";var r=n("23e7"),i=n("857a"),a=n("af03");r({target:"String",proto:!0,forced:a("bold")},{bold:function(){return i(this,"b","","")}})},cc98:function(t,e,n){"use strict";var r=n("23e7"),i=n("c430"),a=n("4738").CONSTRUCTOR,o=n("d256"),s=n("d066"),c=n("1626"),u=n("cb2d"),l=o&&o.prototype;if(r({target:"Promise",proto:!0,forced:a,real:!0},{catch:function(t){return this.then(void 0,t)}}),!i&&c(o)){var f=s("Promise").prototype["catch"];l["catch"]!==f&&u(l,"catch",f,{unsafe:!0})}},cca6:function(t,e,n){var r=n("23e7"),i=n("60da");r({target:"Object",stat:!0,arity:2,forced:Object.assign!==i},{assign:i})},cdce:function(t,e,n){var r=n("da84"),i=n("1626"),a=r.WeakMap;t.exports=i(a)&&/native code/.test(String(a))},cdf9:function(t,e,n){var r=n("825a"),i=n("861d"),a=n("f069");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=a.f(t),o=n.resolve;return o(e),n.promise}},cfca:function(t,e,n){"use strict";function r(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(h(e)(["arraysArray","postParamsArray","stringsArray"])){if(0===e.length)return Promise.all(this.actions.map((function(e){var n=e.message;return t.postMessage(n)})));if(e.every((function(t){return"string"==typeof t})))return Promise.all(e.map((function(e){return t.postMessage(e)})));if(e.every((function(t){return"object"===(void 0===t?"undefined":i(t))&&!Array.isArray(t)})))return Promise.all(e.map((function(e){var n=e.message,r=e.args;return t.postMessage(n,r)})));if(e.every((function(t){return Array.isArray(t)}))&&e.length===this.actions.length)return Promise.all(e.map((function(e,n){return t.postMessage(t.actions[n].message,e)})))}return console.error(d(w(e))),null}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(t){return function(e){return!!e&&!Array.isArray(e)&&t.every((function(t){return e.hasOwnProperty(t)}))}},o=function(t){return a(["message","func"])(t)&&"function"==typeof t.func&&"string"==typeof t.message},s=function(t){return t.every(o)},c=function(t){return a(["message","args"])(t)&&Array.isArray(t.args)&&"string"==typeof t.message},u=function(t){return t.every(c)},l=function(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t.every(a(e))}},f={actionsArray:function(t){return s(t)},arraysArray:function(t){return t.every((function(t){return Array.isArray(t)}))},objectsArray:function(t){return l(t)()},postParamsArray:function(t){return u(t)},stringsArray:function(t){return t.every((function(t){return"string"==typeof t}))}},p=function(t){return function(e){return"null"===e?null===t:"undefined"===e?void 0===t:"action"===e?o(t):Array.isArray(t)?!("array"!==e&&!f[e])&&("array"===e||f[e](t)):!!t&&(void 0===t?"undefined":i(t))===e.toString()}},h=function(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return Array.isArray(e)?e.some((function(e){return p(t)(e)})):!!p(t)(e)}},d=function(t){var e=t.expected,n=void 0===e?"":e,r=t.received,i=t.extraInfo,a=void 0===i?"":i;try{return new TypeError("You should provide "+n+"\n"+a+"\nReceived: "+JSON.stringify(r))}catch(t){if("Converting circular structure to JSON"===t.message)return new TypeError("You should provide "+n+"\n"+a+"\nReceived a circular structure: "+r);throw t}},g=function(t){return"\n self.onmessage = event => {\n const args = event.data.message.args\n if (args) {\n self.postMessage(("+t+").apply(null, args))\n return close()\n }\n self.postMessage(("+t+")())\n return close()\n }\n"},v=function(t){var e=window.URL||window.webkitURL,n=new Blob([t],{type:"application/javascript"}),r=e.createObjectURL(n),i=new Worker(r);return i.post=function(t){return new Promise((function(n,a){i.onmessage=function(t){e.revokeObjectURL(r),n(t.data)},i.onerror=function(t){console.error("Error: Line "+t.lineno+" in "+t.filename+": "+t.message),a(t)},i.postMessage({message:t})}))},i},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments[1],n=h(t)("function"),r=h(e)(["array","undefined"]);return n&&r?v(g(t)).post({args:e}):(n||console.error(d({expected:"a function",received:t})),r||console.error(d({expected:"an array",received:e})),null)},b=function(t){return console.warn("WARN! "+t+" is not a registered action for this worker"),t+" is not a registered action for this worker"},y=function(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments[1],r=h(e)("string"),i=h(n)(["array","undefined"]);if(r&&i){var a=t.filter((function(t){var n=t.message;return JSON.stringify(n)===JSON.stringify(e)})).map((function(t){return t.func})).pop();return a?n?m(a,n):m(a):m(b,[JSON.stringify(e)])}return r||console.error(d({expected:"a string",received:e})),i||console.error(d({expected:"an array",received:n})),null}},w=function(t){return{expected:"an array of arrays, an array of objects, or an array of strings",received:t,extraInfo:"If an array of arrays, it must have the same length as the actions registered for this worker.\nIf an array of objects, every object must containing two fields:\n* message\n* args"}},k=function(t){return function(e){return t.some((function(t){return t.message===e.message}))}},x=function(t){return'WARN! An action with message "'+t.message+'" is already registered for this worker'},C=function(t){return function(e){return k(t)(e)?(console.warn(x(e)),t.length):t.push(e)}},_=function(t){return{expected:"an array of actions or an action",received:t,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},S=function(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return h(e)(["action","actionsArray"])?Array.isArray(e)?e.reduce((function(t,e){return C(t)(e),t}),t).length:C(t)(e):(console.error(d(_(e))),null)}},E=function(t){return function(e){var n=t.findIndex((function(t){return t.message===e}));return-1===n?console.warn('WARN! Impossible to unregister action with message "'+e+'".\nIt is not a registered action for this worker.'):t.splice(n,1),t}},O=function(t){return{expected:"an array of strings or a string",received:t}},T=function(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return h(e)(["string","stringsArray"])?Array.isArray(e)?e.reduce((function(t,e){return E(t)(e),t}),t).length:E(t)(e).length:(console.error(d(O(e))),null)}},A=function(t){return{expected:"an array of objects",received:t,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},L=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return h(t)("actionsArray")?{actions:t,postMessage:y(t),postAll:r,register:S(t),unregister:T(t)}:(console.error(d(A(t))),null)},N=function(){return window.Worker?window.URL.createObjectURL||window.webkitURL.createObjectURL?{create:L,run:m}:(console.error("This browser does not have URL.createObjectURL method."),null):(console.error("This browser does not support Workers."),null)},j=N();t.exports=j},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("da84"),i=n("1626"),a=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?a(r[t]):r[t]&&r[t][e]}},d12e:function(t,e,n){"use strict";n("79a6")},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!r.call({1:2},1);e.f=a?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},d235:function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e("span",{staticClass:"ui-icon",class:[t.iconSet,t.icon],attrs:{"aria-label":t.ariaLabel}},[t.useSvg?e("svg",{staticClass:"ui-icon__svg"},[e("use",{attrs:{"xmlns:xlink":"http://www.w3.org/1999/xlink","xlink:href":"#"+t.icon}})]):t._t("default",(function(){return[t._v(t._s(t.removeText?null:t.icon))]}))],2)},i=[],a={name:"ui-icon",props:{icon:String,iconSet:{type:String,default:"material-icons"},ariaLabel:String,removeText:{type:Boolean,default:!1},useSvg:{type:Boolean,default:!1}}},o=a,s=(n("fde0"),n("2877")),c=Object(s["a"])(o,r,i,!1,null,null,null);e["a"]=c.exports},d256:function(t,e,n){var r=n("da84");t.exports=r.Promise},d28b:function(t,e,n){var r=n("e065");r("iterator")},d2bb:function(t,e,n){var r=n("7282"),i=n("825a"),a=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=r(Object.prototype,"__proto__","set"),t(n,[]),e=n instanceof Array}catch(o){}return function(n,r){return i(n),a(r),e?t(n,r):n.__proto__=r,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),i=n("cb2d"),a=n("b041");r||i(Object.prototype,"toString",a,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,i=n("1a2d"),a=n("b622"),o=a("toStringTag");t.exports=function(t,e,n){t&&!n&&(t=t.prototype),t&&!i(t,o)&&r(t,o,{configurable:!0,value:e})}},d4c3:function(t,e,n){var r=n("342f");t.exports=/ipad|iphone|ipod/i.test(r)&&"undefined"!=typeof Pebble},d4ec:function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));n("d9e2");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},d58f:function(t,e,n){var r=n("59ed"),i=n("7b0b"),a=n("44ad"),o=n("07fa"),s=TypeError,c=function(t){return function(e,n,c,u){r(n);var l=i(e),f=a(l),p=o(l),h=t?p-1:0,d=t?-1:1;if(c<2)while(1){if(h in f){u=f[h],h+=d;break}if(h+=d,t?h<0:p<=h)throw s("Reduce of empty array with no initial value")}for(;t?h>=0:p>h;h+=d)h in f&&(u=n(u,f[h],h,l));return u}};t.exports={left:c(!1),right:c(!0)}},d6d6:function(t,e){var n=TypeError;t.exports=function(t,e){if(t1?arguments[1]:void 0)}})},d86b:function(t,e,n){var r=n("d039");t.exports=r((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}))},d998:function(t,e,n){var r=n("342f");t.exports=/MSIE|Trident/.test(r)},d9b5:function(t,e,n){var r=n("d066"),i=n("1626"),a=n("3a9b"),o=n("fdbf"),s=Object;t.exports=o?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&a(e.prototype,s(t))}},d9e2:function(t,e,n){var r=n("23e7"),i=n("da84"),a=n("2ba4"),o=n("e5cb"),s="WebAssembly",c=i[s],u=7!==Error("e",{cause:7}).cause,l=function(t,e){var n={};n[t]=o(t,e,u),r({global:!0,constructor:!0,arity:1,forced:u},n)},f=function(t,e){if(c&&c[t]){var n={};n[t]=o(s+"."+t,e,u),r({target:s,stat:!0,constructor:!0,arity:1,forced:u},n)}};l("Error",(function(t){return function(e){return a(t,this,arguments)}})),l("EvalError",(function(t){return function(e){return a(t,this,arguments)}})),l("RangeError",(function(t){return function(e){return a(t,this,arguments)}})),l("ReferenceError",(function(t){return function(e){return a(t,this,arguments)}})),l("SyntaxError",(function(t){return function(e){return a(t,this,arguments)}})),l("TypeError",(function(t){return function(e){return a(t,this,arguments)}})),l("URIError",(function(t){return function(e){return a(t,this,arguments)}})),f("CompileError",(function(t){return function(e){return a(t,this,arguments)}})),f("LinkError",(function(t){return function(e){return a(t,this,arguments)}})),f("RuntimeError",(function(t){return function(e){return a(t,this,arguments)}}))},d9f5:function(t,e,n){"use strict";var r=n("23e7"),i=n("da84"),a=n("c65b"),o=n("e330"),s=n("c430"),c=n("83ab"),u=n("04f8"),l=n("d039"),f=n("1a2d"),p=n("3a9b"),h=n("825a"),d=n("fc6a"),g=n("a04b"),v=n("577e"),m=n("5c6c"),b=n("7c73"),y=n("df75"),w=n("241c"),k=n("057f"),x=n("7418"),C=n("06cf"),_=n("9bf2"),S=n("37e8"),E=n("d1e7"),O=n("cb2d"),T=n("edd0"),A=n("5692"),L=n("f772"),N=n("d012"),j=n("90e3"),M=n("b622"),P=n("e538"),I=n("e065"),R=n("57b9"),z=n("d44e"),D=n("69f3"),$=n("b727").forEach,F=L("hidden"),B="Symbol",H="prototype",U=D.set,V=D.getterFor(B),q=Object[H],W=i.Symbol,G=W&&W[H],K=i.TypeError,Y=i.QObject,J=C.f,Z=_.f,X=k.f,Q=E.f,tt=o([].push),et=A("symbols"),nt=A("op-symbols"),rt=A("wks"),it=!Y||!Y[H]||!Y[H].findChild,at=c&&l((function(){return 7!=b(Z({},"a",{get:function(){return Z(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=J(q,e);r&&delete q[e],Z(t,e,n),r&&t!==q&&Z(q,e,r)}:Z,ot=function(t,e){var n=et[t]=b(G);return U(n,{type:B,tag:t,description:e}),c||(n.description=e),n},st=function(t,e,n){t===q&&st(nt,e,n),h(t);var r=g(e);return h(n),f(et,r)?(n.enumerable?(f(t,F)&&t[F][r]&&(t[F][r]=!1),n=b(n,{enumerable:m(0,!1)})):(f(t,F)||Z(t,F,m(1,{})),t[F][r]=!0),at(t,r,n)):Z(t,r,n)},ct=function(t,e){h(t);var n=d(e),r=y(n).concat(ht(n));return $(r,(function(e){c&&!a(lt,n,e)||st(t,e,n[e])})),t},ut=function(t,e){return void 0===e?b(t):ct(b(t),e)},lt=function(t){var e=g(t),n=a(Q,this,e);return!(this===q&&f(et,e)&&!f(nt,e))&&(!(n||!f(this,e)||!f(et,e)||f(this,F)&&this[F][e])||n)},ft=function(t,e){var n=d(t),r=g(e);if(n!==q||!f(et,r)||f(nt,r)){var i=J(n,r);return!i||!f(et,r)||f(n,F)&&n[F][r]||(i.enumerable=!0),i}},pt=function(t){var e=X(d(t)),n=[];return $(e,(function(t){f(et,t)||f(N,t)||tt(n,t)})),n},ht=function(t){var e=t===q,n=X(e?nt:d(t)),r=[];return $(n,(function(t){!f(et,t)||e&&!f(q,t)||tt(r,et[t])})),r};u||(W=function(){if(p(G,this))throw K("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?v(arguments[0]):void 0,e=j(t),n=function(t){this===q&&a(n,nt,t),f(this,F)&&f(this[F],e)&&(this[F][e]=!1),at(this,e,m(1,t))};return c&&it&&at(q,e,{configurable:!0,set:n}),ot(e,t)},G=W[H],O(G,"toString",(function(){return V(this).tag})),O(W,"withoutSetter",(function(t){return ot(j(t),t)})),E.f=lt,_.f=st,S.f=ct,C.f=ft,w.f=k.f=pt,x.f=ht,P.f=function(t){return ot(M(t),t)},c&&(T(G,"description",{configurable:!0,get:function(){return V(this).description}}),s||O(q,"propertyIsEnumerable",lt,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!u,sham:!u},{Symbol:W}),$(y(rt),(function(t){I(t)})),r({target:B,stat:!0,forced:!u},{useSetter:function(){it=!0},useSimple:function(){it=!1}}),r({target:"Object",stat:!0,forced:!u,sham:!c},{create:ut,defineProperty:st,defineProperties:ct,getOwnPropertyDescriptor:ft}),r({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:pt}),R(),z(W,B),N[F]=!0},d9f8:function(t,e,n){"use strict";n("ee22")},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||this||Function("return this")()}).call(this,n("c8ba"))},db49:function(t,e,n){},db99:function(t,e,n){"use strict";n("916b")},dbb4:function(t,e,n){var r=n("23e7"),i=n("83ab"),a=n("56ef"),o=n("fc6a"),s=n("06cf"),c=n("8418");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),i=s.f,u=a(r),l={},f=0;while(u.length>f)n=i(r,e=u[f++]),void 0!==n&&c(l,e,n);return l}})},dc4a:function(t,e,n){var r=n("59ed"),i=n("7234");t.exports=function(t,e){var n=t[e];return i(n)?void 0:r(n)}},dca8:function(t,e,n){var r=n("23e7"),i=n("bb2f"),a=n("d039"),o=n("861d"),s=n("f183").onFreeze,c=Object.freeze,u=a((function(){c(1)}));r({target:"Object",stat:!0,forced:u,sham:!i},{freeze:function(t){return c&&o(t)?c(s(t)):t}})},dcc3:function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,i=n("7c73"),a=n("5c6c"),o=n("d44e"),s=n("3f8c"),c=function(){return this};t.exports=function(t,e,n,u){var l=e+" Iterator";return t.prototype=i(r,{next:a(+!u,n)}),o(t,l,!1,!0),s[l]=c,t}},dd9a:function(t){t.exports=JSON.parse('[{"language":"Aja","region":"African","speakers":550000,"pangrams":["Agbetɔwo pleŋu vanɔ gbɛmɛ ko vovoɖeka gbeswɛgbeswɛ, sɔto amɛnyinyi ko acɛwo gomɛ; wo xɔnɔ susunywin ko jimɛnywi so esexwe. Wo ɖo a wa nɔvi ɖaɖa wowo nɔnɔwo gbɔ. "],"htmlTag":"ajg","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ɖ ɖ Ɛ ɛ Ŋ ŋ Ɔ ɔ","alphabet":"A a B b C c D d Ɖ ɖ E e Ɛ ɛ F f G g H h I i J j K k L l M m N n Ŋ ŋ O o Ɔ ɔ P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Aghem","region":"African","speakers":27000,"specialCharacters":"À à  â Ǎ ǎ Ā ā È è Ê ê Ě ě Ē ē Ɛ ɛ Ì ì Î î Ǐ ǐ Ī ī Ɨ ɨ Ŋ ŋ Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ Ù ù Û û Ǔ ǔ Ū ū Ʉ ʉ ʔ","htmlTag":"agq","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a À à  â Ǎ ǎ Ā ā B b C c D d E e È è Ê ê Ě ě Ē ē Ɛ ɛ F f G g H h I i Ì ì Î î Ǐ ǐ Ī ī Ɨ ɨ J j K k L l M m N n Ŋ ŋ O o Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ P p Q q R r S s T t U u Ù ù Û û Ǔ ǔ Ū ū Ʉ ʉ V v W w X x Y y Z z ʔ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Akan","region":"African","speakers":32000000,"specialCharacters":"Á á À à É é È è Ɛ ɛ Ɛ́ ɛ́ Ɛ̀ ɛ̀ Í í Ì ì Ḿ ḿ M̀ m̀ Ń ń Ǹ ǹ Ó ó Ò ò Ɔ ɔ Ɔ́ ɔ́ Ɔ̀ ɔ̀ Ú ú Ù ù","paragraphs":["Dèdé: Èhé nà Kégyétíá wó? Méfá kwáń béǹ só ákó hó? Kyèí: Kò w’àníḿ tèè kòsí sè wóbéhúnú sòtóò bí áà yéátwéré àníḿ sé ‘Ònyàmé túmí’."],"gotchas":[{"topic":"open E/O + grave/acute","tags":["mark"],"description":"Acute and grave must be positioned properly (centered) over letters open E and open O (Ɛ́ ɛ́ Ɛ̀ ɛ̀ Ɔ́ ɔ́ Ɔ̀ ɔ̀), as these combinations do not have precomposed diacritics.","tests":["Ɛ́ ɛ́ Ɛ̀ ɛ̀ Ɔ́ ɔ́ Ɔ̀ ɔ̀"]}],"htmlTag":"ak","opentypeTag":"TWI","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"alphabet":"A a Á á À à B b C c D d E e É é È è Ɛ ɛ Ɛ́ ɛ́ Ɛ̀ ɛ̀ F f G g H h I i Í í Ì ì J j K k L l M m Ḿ ḿ M̀ m̀ N n Ń ń Ǹ ǹ O o Ó ó Ò ò Ɔ ɔ Ɔ́ ɔ́ Ɔ̀ ɔ̀ P p Q q R r S s T t U u Ú ú Ù ù V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Albanian","region":"European","speakers":7600000,"specialCharacters":"Ç ç Ë ë","sentences":["Rrugë të mbarë, paç fat!","Ç’kemi, gëzohem që të takova."],"paragraphs":["Të gjithë njerëzit lindin të lirë dhe të barabartë në dinjitet dhe në të drejta. Ata kanë arsye dhe ndërgjegje dhe duhet të sillen ndaj njëri tjetrit me frymë vëllazërimi."],"htmlTag":"sq","opentypeTag":"SQI","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c Ç ç D d E e Ë ë F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Arabic","script":"Arab","region":"African, Asian","speakers":310000000,"pangrams":["صِف خَلقَ خَودِ كَمِثلِ الشَمسِ إِذ بَزَغَت — يَحظى الضَجيعُ بِها نَجلاءَ مِعطارِ","اصبر على حفظ خضر واستشر فطنا، وزج همك في بغداذ منثملا","نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق ","ابجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ"],"alphabet":"أ ب ج د ه و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ","htmlTag":"ar","opentypeTag":"ARA","scriptName":"Arabic","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي","optionalCharacters":"","optionalCharactersNote":""},{"language":"Armenian","region":"Caucasian","speakers":6700000,"opentypeTag":"HYE ","script":"Armn","pangrams":["Բել դղյակի ձախ ժամն օֆ ազգությանը ցպահանջ չճշտած վնաս էր եւ փառք։","Չին ֆիզիկոսը օճառաջուր ցողելով բժշկում է հայ գնդապետի փքված ձախ թևը:"],"paragraphs":["Ամբողջագրերի ակնհայտ կիրառություններից զատ՝ տառատեսակների ներկայացում, հաղորդալարերի միջոցով գրվածքի փոխանցման ստուգում, տպիչ մեքենաների փորձարկում և այլն, առաջարկվում էր այն օգտագործեկ ծածկագրության մեջ:","Ճապոներենում «Իրոխա» ամբողջագիրը կիրառվում է որպես այբբենական շարվածքի համարժեքներից մեկը XI դարից սկսած:"],"alphabet":"Ա ա Բ բ Գ գ Դ դ Ե ե Զ զ Է է Ը ը Թ թ Ժ ժ Ի ի Լ լ Խ խ Ծ ծ Կ կ Հ հ Ձ ձ Ղ ղ Ճ ճ Մ մ Յ յ Ն ն Շ շ Ո ո Չ չ Պ պ Ջ ջ Ռ ռ Ս ս Վ վ Տ տ Ր ր Ց ց Ւ ւ Փ փ Ք ք Օ օ Ֆ ֆ ՈՒ ու ԵՒ և","punctuation":"֊ ՝ ։ ՜ ՞ ․ ՚ ՛ ՟","htmlTag":"hy","scriptName":"Armenian","letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ա ա Բ բ Գ գ Դ դ Ե ե ԵՒ եւ և Զ զ Է է Ը ը Թ թ Ժ ժ Ի ի Լ լ Խ խ Ծ ծ Կ կ Հ հ Ձ ձ Ղ ղ Ճ ճ Մ մ Յ յ Ն ն Շ շ Ո ո ՈՒ ու Չ չ Պ պ Ջ ջ Ռ ռ Ս ս Վ վ Տ տ Ր ր Ց ց Ւ ւ Փ փ Ք ք Օ օ Ֆ ֆ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Aromanian","region":"European","speakers":250000,"alphabet":"A a à ã B b C c D d Dh dh Dz dz E e F f G g H h I i J j K k L l Lj lj M m N n Nj nj O o P p Q q R r S s Sh sh T t Th th Ts ts U u V v W w X x Y y Z z","paragraphs":["Tatã a nostu tsi eshti tu tser, si ayisiascã numa a Ta, s’yinã amirãria a Ta, si facã vrearea a Ta, cum tu tser, ashe sh\'pisti loc. Pãna a nostã, atsa di cathi dzuã, dãniu sh’azã, sh‘ yartãni amartiili a nosti, ashe cum li yãrtem sh’noi a amãrtor a noci, sh’nu ni du la pirazmo, ma viagljãni di atsel rãu."],"htmlTag":"rup","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"à ã","optionalCharacters":"","optionalCharactersNote":""},{"language":"Asturian","region":"European","speakers":351000,"opentypeTag":"AST ","specialCharacters":"Ḥ ḥ Ḷ ḷ","paragraphs":["Tolos seres humanos nacen llibres y iguales en dignidá y drechos y, pola mor de la razón y la conciencia de so, han comportase hermaniblemente los unos colos otros."],"htmlTag":"ast","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c D d E e F f G g H h Ḥ ḥ I i J j K k L l Ḷ ḷ M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Azeri","altNames":["Azerbaijani"],"region":"European","speakers":23000000,"pangrams":["Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq."],"alphabet":"A a B b C c Ç ç D d E e Ə ə F f G g Ğ ğ H h X x I ı İ i J j K k Q q L l M m N n O o Ö ö P p R r S s Ş ş T t U u Ü ü V v Y y Z z","alphabetIsSorted":true,"htmlTag":"az","opentypeTag":"AZE","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ç ç Ə ə Ğ ğ I i İ ı Ö ö Ş ş Ü ü","optionalCharacters":"","optionalCharactersNote":""},{"language":"Basaa","altNames":["Basa"],"region":"African","speakers":300000,"specialCharacters":"Á á À à  â Ǎ ǎ Ā ā Ɓ ɓ É é È è Ê ê Ě ě Ē ē Ɛ ɛ Í í Ì ì Î î Ǐ ǐ Ī ī Ń ń Ǹ ǹ Ŋ ŋ Ó ó Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ Ú ú Ù ù Û û Ǔ ǔ Ū ū","htmlTag":"bzw","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â Ǎ ǎ Ā ā B b Ɓ ɓ C c D d E e É é È è Ê ê Ě ě Ē ē Ɛ ɛ F f G g H h I i Í í Ì ì Î î Ǐ ǐ Ī ī J j K k L l M m N n Ń ń Ǹ ǹ Ŋ ŋ O o Ó ó Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ P p Q q R r S s T t U u Ú ú Ù ù Û û Ǔ ǔ Ū ū V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Bashkir","speakers":1200000,"script":"Cyrl","region":"Asian","alphabet":"А а Б б В в Г г Ғ ғ Д д Ҙ ҙ Е е Ё ё Ж ж З з И и Й й К к Ҡ ҡ Л л М м Н н Ң ң О о Ө ө П п Р р С с Ҫ ҫ Т т У у Ү ү Ф ф Х х Һ һ Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ә ә Ю ю Я я","htmlTag":"ba","opentypeTag":"BSH","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ә ә Ғ ғ Ҙ ҙ Ё ё Ҡ ҡ Ң ң Ө ө Ҫ ҫ Ү ү Һ һ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Belarusian","region":"European","speakers":7600000,"script":"Cyrl","pangrams":["Літаратурная мова абслугоўвае (паралельна з рускай) розныя сферы дзейнасці беларускага народа, з\'яўляецца поліфункцыянальнай."],"alphabet":"А а Б б В в Г г Д д Е е Ё ё Ж ж З з І і Й й К к Л л М м Н н О о П п Р р С с Т т У у Ў ў Ф ф Х х Ц ц Ч ч Ш ш Ы ы Ь ь Э э Ю ю Я я ʼ","htmlTag":"be","opentypeTag":"BEL","scriptName":"Cyrillic","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"ʼ Ё ё І і Ў ў","optionalCharacters":"","optionalCharactersNote":""},{"language":"Breton","region":"European","speakers":210000,"pangrams":["Yec’hed mat Jakez ! Skarzhit ar gwerennoù-mañ, kavet e vo gwin betek fin ho puhez."],"specialCharacters":" â Ê ê Î î Ñ ñ Ô ô Ù ù Û û Ü ü","htmlTag":"br","opentypeTag":"BRE","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a  â B b C c D d E e Ê ê F f G g H h I i Î î J j K k L l M m N n Ñ ñ O o Ô ô P p Q q R r S s T t U u Ù ù Û û Ü ü V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Bulgarian","region":"European","speakers":9000000,"script":"Cyrl","pangrams":["Фучейки и хълцайки, кьоравият грухтящ шопар жадно стъпка зюмбюлите.","Ах чудна българска земьо, полюшвай цъфтящи жита.","Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.","Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче. "],"alphabet":"А а Б б В в Г г Д д Е е Ж ж З з И и Ѝ ѝ Й й К к Л л М м Н н О о П п Р р С с Т т У у Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ь ь Ю ю Я я","letterings":["Апелационен Безброен Веществен Глаголица Дъжд Единайсет Жажда Звезда Идиот Керамика Лекомисленост Микрометър Надежден Отвесност Припека Разлюбвам Старост Тяхната Убийца Фосфор Христов Царица Чичо Шофьор Щастие Ъгъл Юбилей Ядосан"],"htmlTag":"bg","opentypeTag":"BGR","scriptName":"Cyrillic","sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ѝ ѝ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Catalan","region":"European","speakers":4100000,"pangrams":["«Dóna amor que seràs feliç!». Això, il·lús company geniüt, ja és un lluït rètol blavís d’onze kWh. aïllament"],"gotchas":[{"topic":"punt volat","tags":["metrics","contextual","localization"],"description":"Localized variants of periodcentered, visually centered between two letters L and l, respectively.","tests":["il·lús cal·lígraf sibil·la ombrel·la novel·la metàl·lic","IL·LÚS CAL·LÍGRAF SIBIL·LA OMBREL·LA NOVEL·LA METÀL·LIC"]}],"specialCharacters":"À à Ç ç É é È è Í í Ï ï Ó ó Ò ò Ú ú Ü ü","alphabet":"A a À à B b C c Ç ç D d E e É é È è F f G g H h I i Í í Ï ï J j K k L l M m N n O o Ó ó Ò ò P p Q q R r S s T t U u Ú ú Ü ü V v W w X x Y y Z z","punctuation":"«»·’","optionalCharacters":"Ŀ ŀ","optionalCharactersNote":"legacy","htmlTag":"ca","opentypeTag":"CAT","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[]},{"language":"Chinese (Pinyin)","htmlTag":"","speakers":0,"region":"Asian","specialCharacters":"Ü ü Ā Ē Ī Ō Ū Ǖ ā ē ī ō ū ǖ Á É Í Ó Ú Ǘ á é í ó ú ǘ Ǎ Ě Ǐ Ǒ Ǔ Ǚ ǎ ě ǐ ǒ ǔ ǚ À È Ì Ò Ù Ǜ à è ì ò ù ǜ","alphabetIsSorted":true,"pseudo":true,"script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à Ǎ ǎ Ā ā B b C c D d E e É é È è Ě ě Ē ē F f G g H h I i Í í Ì ì Ǐ ǐ Ī ī J j K k L l M m N n O o Ó ó Ò ò Ǒ ǒ Ō ō P p Q q R r S s T t U u Ú ú Ù ù Ǔ ǔ Ü ü Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ Ū ū V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Chuvash","speakers":1043000,"script":"Cyrl","region":"Asian","alphabet":"А а Ӑ ӑ Б б В в Г г Д д Е е Ё ё Ӗ ӗ Ж ж З з И и Й й К к Л л М м Н н О о П п Р р С с Ҫ ҫ Т т У у Ӳ ӳ Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я","htmlTag":"cv","opentypeTag":"CHU","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ӑ ӑ Ӗ ӗ Ё ё Ҫ ҫ Ӳ ӳ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Croatian","region":"European","speakers":5600000,"pangrams":["Gojazni đačić s biciklom drži hmelj i finu vatu u džepu nošnje."],"htmlTag":"hr","opentypeTag":"HRV","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ć ć Č č Đ đ Š š Ž ž","alphabet":"A a B b C c Ć ć Č č D d Đ đ E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s Š š T t U u V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Czech","speakers":10000000,"region":"European","pangrams":["Loď čeří kýlem tůň obzvlášť v Grónské úžině."],"gotchas":[{"topic":"vertical caron","tags":["metrics"],"description":"The vertical form of the caron diacritic found with d and t should be kerned against lowercase letters and punctuation.","tests":["loďka ďábelska ďatlov ďábel objížďka buďto","břeťa cenťák žesťový řiťka opúšťať hradišťský tchaj-ťi šťuka dvanásťročný","loď. loď, loď: loď; loď- loď? loď!","dešť. dešť, dešť; dešť: dešť- dešť? dešť!","ď” ľ” ť” ď“ ľ“ ť“"]},{"topic":"ring above","tags":["congruency"],"description":"It might be preferred that the ring above u (the Czech kroužek diacritic) be congruent with the Scandinavian ring above a, for the rare occasions where Scandinavian proper names are inflected in Czech or Slovak.","tests":["Håkanův?"]}],"htmlTag":"cs","opentypeTag":"CSY","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Á á Č č Ď ď É é Ě ě Í í Ň ň Ó ó Ř ř Š š Ť ť Ú ú Ů ů Ý ý Ž ž","alphabet":"A a Á á B b C c Č č D d Ď ď E e É é Ě ě F f G g H h I i Í í J j K k L l M m N n Ň ň O o Ó ó P p Q q R r Ř ř S s Š š T t Ť ť U u Ú ú Ů ů V v W w X x Y y Ý ý Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Dagbani","region":"African","speakers":1160000,"alphabet":"’ A a B b CH ch D d E e Ɛ ɛ F f G g GB gb Ɣ ɣ H h I i J j K k KP kp L l M m N n NY ny Ŋ ŋ O o Ɔ ɔ P p R r S s SH sh T t U u W w Y y Z z Ʒ ʒ","htmlTag":"dag","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"’ Ɛ ɛ Ɣ ɣ Ŋ ŋ Ɔ ɔ Ʒ ʒ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Danish","speakers":5500000,"region":"European","pangrams":["Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon."],"optionalCharacters":"Ǽ ǽ Ǻ ǻ Ǿ ǿ","optionalCharactersNote":"Dictionary use.","htmlTag":"da","opentypeTag":"DAN","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Å å Æ æ Ø ø","alphabet":"A a Å å Æ æ B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ø ø P p Q q R r S s T t U u V v W w X x Y y Z z"},{"language":"Dinka","region":"African","speakers":1300000,"alphabet":"A a Ä ä B b C c D d DH dh E e Ë ë Ɛ ɛ Ɛ̈ ɛ̈ G g Ɣ ɣ I i Ï ï J j K k L l M m N n NH nh NY ny Ŋ ŋ T t TH th U u W w O o Ö ö Ɔ ɔ Ɔ̈ ɔ̈ P p R r Y y","alphabetIsSorted":true,"htmlTag":"din","opentypeTag":"DNK","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ä ä Ë ë Ɛ ɛ Ɛ̈ ɛ̈ Ɣ ɣ Ï ï Ŋ ŋ Ö ö Ɔ ɔ Ɔ̈ ɔ̈","optionalCharacters":"","optionalCharactersNote":""},{"language":"Duala","region":"African","speakers":87000,"specialCharacters":"Á á Ɓ ɓ Ɗ ɗ É é Ɛ ɛ Í í Ŋ ŋ Ó ó Ɔ ɔ Ú ú Ū ū","htmlTag":"dua","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á B b Ɓ ɓ C c D d Ɗ ɗ E e É é Ɛ ɛ F f G g H h I i Í í J j K k L l M m N n Ŋ ŋ O o Ó ó Ɔ ɔ P p Q q R r S s T t U u Ú ú Ū ū V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Dutch","region":"European","speakers":21000000,"pangrams":["Pa’s wijze lynx bezag vroom het fikse aquaduct."],"gotchas":[{"topic":"IJ","tags":["ligature","optional"],"tests":["IJburg Rijksmuseum"]},{"topic":"ij-acute","tags":["ligature","localization","contextual"],"tests":["Wíjze"]}],"specialCharacters":"Á á É é Í í IJ ij ÍJ íj Ó ó Ú ú","alphabetIsSorted":true,"htmlTag":"nl","opentypeTag":"NLD","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"alphabet":"A a Á á B b C c D d E e É é F f G g H h I i Í í IJ ij ÍJ íj J j K k L l M m N n O o Ó ó P p Q q R r S s T t U u Ú ú V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"English","region":"European","speakers":360000000,"pangrams":["Amazingly few discotheques provide jukeboxes.","Why shouldn’t a quixotic Kazakh vampire jog barefoot?","Battle of Thermopylae: Quick javelin grazed wry Xerxes.","Quick zephyrs blow, vexing daft Jim.","Two driven jocks help fax my big quiz.","Show mangled quartz flip vibe exactly.","Public junk dwarves hug my quartz fox.","Jumbling vext frowzy hacks PDQ.","Nymphs blitz quick vex dwarf jog.","Schwarzkopf vexed Iraq big-time in July.","Boxers had zap of gay jock love, quit women.","Fix problem quickly with galvanized jets.","Watch “Jeopardy!”, Alex Trebek’s fun TV quiz game."],"letterings":["Attaboy Bubble Cache Dwindle Essence Flyleaf Grunge Headache Infinite Jinjer Kinky Lonely Murmur Norwegian Officious Purpose Qashqai Rarity Sognefjord’s Testy Usual Vivian Woodwind Xerxes Yuppy Zanzibar","Autoinstall Beetlebrain Cyberschool Disposedly Empowered Forefix Graylag Highline Ineffective Jujuman Kangaroolike Ludophilia Minimalize Nondesired Overzealous Propellered Quisqualate Rejoinder Soundclash Throstle Ultracasual Valuative Westward Xenotoxic Youngerly Zigzagger","Airway Bebeast Chickdom Deadringer Endeavor Foxfish Gigatonne Hipsterish Invariable Jujitsu Kickboxing Lithophile Mommykins Nonfragrant Otoacoustic Prospect Quasiquote Refactoring Spokesbird Thattaboy Unsubmitted Velvetfish Wristwork Xeroxable Youngberry Zettahertz"],"paragraphs":["Unicode just made its new emoji list for 2019 official, and the update adds 230 new symbols, including a yawning face, white heart, and pinching hand symbol.","This nomination will be examined in 2009 by the responsible UNESCO Committee.","Reinstate the 17 trainees to flight status. — I will… but I just want you to understand… that I—","Had to be me. Someone else might have gotten it wrong.","Galactica, the Cylon is now flying formation with me! Right above my head. This thing is acting weird..."],"numerals":["Unicode just made its new emoji list for 2019 official, and the update adds 230 new symbols, including a yawning face, white heart, and pinching hand symbol.","Though the list of new emoji has now been finalized, it will still be several months before the update hits your phone. Unicode will release the update in March, but it will take some time after that for apps and operating systems to roll out support for the new characters. Updates will start hitting in April and continue through the end of the year, according to Emojipedia."],"smallcaps":["Private Johnson went AWOL after he received an order to join major combat forces in Iraq.","Developing apps requires a knowledge of html and JavaScript, and that\'s it.","This nomination will be examined in 2009 by the responsible UNESCO Committee."],"specialCharacters":"… ’","optionalCharacters":"","htmlTag":"en","opentypeTag":"ENG","script":"Latn","scriptName":"Latin","sentences":[],"gotchas":[],"alphabet":"… ’ A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharactersNote":""},{"language":"Esperanto","speakers":1000,"pangrams":["Eble ĉiu kvazaŭ-deca fuŝĥoraĵo ĝojigos homtipon."],"htmlTag":"eo","opentypeTag":"NTO","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ","alphabet":"A a B b C c Ĉ ĉ D d E e F f G g Ĝ ĝ H h Ĥ ĥ I i J j Ĵ ĵ K k L l M m N n O o P p Q q R r S s Ŝ ŝ T t U u Ŭ ŭ V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Estonian","region":"European","speakers":1100000,"pangrams":["Põdur Zagrebi tšellomängija-följetonist Ciqo külmetas kehvas garaažis"],"htmlTag":"et","opentypeTag":"ETI","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ä ä Ö ö Õ õ Š š Ü ü Ž ž","alphabet":"A a Ä ä B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ö ö Õ õ P p Q q R r S s Š š T t U u Ü ü V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Ewe","region":"African","speakers":6500000,"pangrams":["Ʋu axaléɖiƒe. Wo dona Eʋegbe le Ghana kple Togo kpakple Benin Dahumey dukɔ siwo le Afrika ƒe ɣetoɖoƒe lɔƒo la me. Gbe gbɔgblɔ siwo teɖe Eʋegbe ŋu wonye Fɔŋgbe kpakple Adzágbe. Esiawo katã wonye Gbe siwo doƒome kple Ʋegbe. Ŋɔŋlɔdzesi blaetɔ̃ ye le Eʋegbe me."],"alphabet":"A a Á á À à à ã B b D d Ɖ ɖ E e É é È è Ẽ ẽ Ɛ ɛ F f Ƒ ƒ G g Ɣ ɣ H h X x I i Í í Ì ì Ĩ ĩ K k L l M m N n Ŋ ŋ O o Ó ó Ò ò Õ õ Ɔ ɔ P p R r S s T t U u Ú ú Ù ù Ũ ũ V v Ʋ ʋ W w Y y Z z","alphabetIsSorted":true,"htmlTag":"ee","opentypeTag":"EWE","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Á á À à à ã Ɖ ɖ É é È è Ẽ ẽ Ɛ ɛ Ƒ ƒ Ɣ ɣ Í í Ì ì Ĩ ĩ Ŋ ŋ Ó ó Ò ò Õ õ Ɔ ɔ Ú ú Ù ù Ũ ũ Ʋ ʋ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Ewondo","region":"African","speakers":580000,"pangram":"","specialCharacters":"Á á À à  â Ǎ ǎ É é È è Ê ê Ě ě Ə ə Ɛ ɛ Í í Ì ì Î î Ǐ ǐ Ń ń Ǹ ǹ Ŋ ŋ Ó ó Ò ò Ô ô Ǒ ǒ Ɔ ɔ Ú ú Ù ù Û û Ǔ ǔ","htmlTag":"ewo","opentypeTag":"BTI","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â Ǎ ǎ B b C c D d E e É é È è Ê ê Ě ě Ə ə Ɛ ɛ F f G g H h I i Í í Ì ì Î î Ǐ ǐ J j K k L l M m N n Ń ń Ǹ ǹ Ŋ ŋ O o Ó ó Ò ò Ô ô Ǒ ǒ Ɔ ɔ P p Q q R r S s T t U u Ú ú Ù ù Û û Ǔ ǔ V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Finnish","region":"European","speakers":5000000,"pangrams":["Fahrenheit ja Celsius yrjösivät Åsan backgammon-peliin, Volkswagenissa, daiquirin ja ZX81:n yhteisvaikutuksesta."],"htmlTag":"fi","opentypeTag":"FIN","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Å å Ä ä Ö ö","alphabet":"A a Å å Ä ä B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ö ö P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Fon","region":"African","speakers":2200000,"pangrams":["Ee nyi ɖɔ hɛnnu ɖokpo mɛ ɔ, mɛ ɖokpoɖokpo ka do susu tɔn, bɔ acɛ ɖokpo ɔ wɛ mɛbi ɖo bo e ma sixu kan fɛn kpon é ɖi mɛɖesusi jijɛ, hwɛjijɔzinzan, kpodo fifa ni tiin nu wɛkɛ ɔ bi e ɔ."],"todo":"todo","_letterings":["Gbeta Gbɛ Ɔ Bi Tɔn Ee Ɖɔ Xó Dó Acɛ E Gbɛtɔ Ɖó Kpodo Sisi E Ɖo Na Ɖó N\'I Lɛ Kpo Wu E Wexwle"],"htmlTag":"fon","opentypeTag":"FON","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ɖ ɖ É é Ɛ ɛ Ɔ ɔ","alphabet":"A a B b C c D d Ɖ ɖ E e É é Ɛ ɛ F f G g H h I i J j K k L l M m N n O o Ɔ ɔ P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"French","speakers":75000000,"region":"European","pangrams":["Voix ambiguë d’un cœur qui au zéphyr préfère les jattes de kiwi."],"html":["Mlle Orane"],"letterings":["Anaéroïde Blâmable Crocoïte Dièdre Enrôlée Ferrifère Gynæcologie Hiérarchique Infidèle Jéjunum Kafkaïen Laçabilité Manœuvre Nénètse Ostéoïde Œcologique Périphérique Quéquette Rebrûler Sinistrée Têtière Uninucléé Vancouvérois Xénolexique Yéyéfication Zoïzite"],"gotchas":[{"topic":"iï ïl","tags":["metrics"],"tests":["thaïlandais aïllament acneïforme sjiïete thaïlandais aïllament increïblement caraïbes caraïbische privilegiïn geïdentifiseer haïfa geïllustreerd tchaïkovski"]},{"topic":"d\'A L\'A l\'A","tags":["metrics"],"tests":["curly quotes: d’A L’A l’A, straight quotes: d\'A L\'A l\'A"]}],"specialCharacters":"À à  â Æ æ Ç ç É é È è Ê ê Ë ë Î î Ï ï Ô ô Œ œ Ù ù Û û Ü ü Ÿ ÿ","htmlTag":"fr","opentypeTag":"FRA","script":"Latn","scriptName":"Latin","sentences":[],"paragraphs":[],"smallcaps":[],"alphabet":"A a À à  â Æ æ B b C c Ç ç D d E e É é È è Ê ê Ë ë F f G g H h I i Î î Ï ï J j K k L l M m N n O o Ô ô Œ œ P p Q q R r S s T t U u Ù ù Û û Ü ü V v W w X x Y y Ÿ ÿ Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"West Frisian","altNames":["Western Frisian"],"region":"European","speakers":470000,"pangrams":["Alve bazige froulju wachtsje op dyn komst"],"specialCharacters":"Á á Ä ä É é Ë ë Ì ì Ï ï Ò ò Ö ö Ú ú Ü ü Ỳ ỳ","htmlTag":"fy","opentypeTag":"FRI","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á Ä ä B b C c D d E e É é Ë ë F f G g H h I i Ì ì Ï ï J j K k L l M m N n O o Ò ò Ö ö P p Q q R r S s T t U u Ú ú Ü ü V v W w X x Y y Ỳ ỳ Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Fula","altNames":["Fulah"],"region":"African","speakers":24000000,"alphabet":"A a B b Ɓ ɓ C c D d Ɗ ɗ E e F f G g Ɠ ɠ H h I i J j K k L l M m N n Ñ ñ Ɲ ɲ Ŋ ŋ O o P p R r S s T t U u W w Y y Ƴ ƴ \'","alphabetIsSorted":true,"optionalCharacters":"Ñ ñ","pangrams":["Musidɓe tedduɓe, Fulɓe e leƴƴi kala gonɗi e Fuuta, haa Dakaar, e gure Senegaal kala, mi salminii on calminaali tedduɗi."],"htmlTag":"ff","opentypeTag":"FUL","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"\' Ɓ ɓ Ɗ ɗ Ɠ ɠ Ñ ñ Ɲ ɲ Ŋ ŋ Ƴ ƴ","optionalCharactersNote":""},{"language":"Gagauz","htmlCode":"gag","speakers":140000,"region":"European","alphabet":"A a Ä ä B b C c Ç ç D d E e Ê ê F f G g H h I ı İ i J j K k L l M m N n O o Ö ö P p R r S s Ş ş T t Ţ ţ U u Ü ü V v Y y Z z","alphabetIsSorted":true,"htmlTag":"gag","opentypeTag":"GAG","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ä ä Ç ç Ê ê I i İ ı Ö ö Ş ş Ţ ţ Ü ü","optionalCharacters":"","optionalCharactersNote":""},{"language":"German","speakers":95000000,"region":"European","letterings":["Adäquat Bärbeißig Chimärisch Drängend Ernüchternd Fünfjährig Großflächig Höfisch Isländisch Jägermeister Kritikfähig Löffeln Myxomatös Neongrün Oligozän Präskriptiv Querschläger Reißerisch Süßsauer Totprügeln Überflüssig Verknüpfung Westwärts Xänorphika Yottabyte Zusätzlich"],"pangrams":["Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich."],"alphabet":"A a Ä ä B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ö ö P p Q q R r S s ẞ ß T t U u Ü ü V v W w X x Y y Z z","specialCharacters":"Ä Ö Ü ä ö ü ß ẞ","alphabetIsSorted":true,"htmlTag":"de","opentypeTag":"DEU","script":"Latn","scriptName":"Latin","sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Greek","altNames":["Modern Greek"],"script":"Grek","region":"European","speakers":12000000,"pangrams":["Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία.","Ζαφείρι δέξου πάγκαλο, βαθῶν ψυχῆς τὸ σῆμα.","Ταχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός.","Διαφυλάξτε γενικά τη ζωή σας από βαθειά ψυχικά τραύματα."],"paragraphs":["Η ελληνική γλώσσα ανήκει στην ινδοευρωπαϊκή οικογένεια και αποτελεί το μοναδικό μέλος του ελληνικού κλάδου, ενώ είναι η επίσημη γλώσσα της Ελλάδος και της Κύπρου. Ανήκει επίσης στον βαλκανικό γλωσσικό δεσμό. Στην ελληνική γλώσσα, έχουμε γραπτά κείμενα ήδη από τον 15ο αιώνα π.Χ.. Σαν Παγκόσμια Ημέρα Ελληνικής Γλώσσας έχει καθιερωθεί η 9η Φεβρουαρίου.","Στα 1666 ίδρυσε στη Χίο, μετά από εισήγηση του Πατριάρχη Ιεροσολύμων Νεκτάριου, μια νέα σχολή κοντά στο ναό του Αγίου Βίκτωρος, η οποία δεν αποκλείεται να αποτελεί τη συνέχεια του Φροντιστηρίου των Αγίων Αναργύρων. Ο ίδιος δωρίζει εις τον πατριαρχικό ναό το μέγα και καλλιτεχνικά επεξεργασμένο ελεφαντοκόλλητον παγκάριον με την επιγραφή: «Μανουήλ υιός Πέτρου εκ Καστορίας αφοσιοί έτει ΑΧΞΘ’» (1669).","Η Βικιπαίδεια ή Wikipedia είναι ένα συλλογικό εγκυκλοπαιδικό εγχείρημα που έχει συσταθεί στο Διαδίκτυο, παγκόσμιο, πολύγλωσσο, που λειτουργεί με την αρχή του wiki. Η Βικιπαίδεια έχει ως στόχο να παρέχει ελεύθερα επαναχρησιμοποιήσιμο περιεχόμενο, με αντικειμενικά και επαληθεύσιμα στοιχεία, που ο καθένας μπορεί να τροποποιήσει και να βελτιώσει."," Εξέδωσε την σοσιαλιστική εφημερίδα «Μέλλον» στην διάρκεια των σπουδών του στα 1908 με 1909 που εξέφραζε τις ιδέες της ομάδας των Κοινωνιολόγων του Αλέξανδρου Παπαναστασίου και γύρω από την οποία συσπειρώθηκαν πολλοί σοσιαλιστές και φοιτητές.","Τον Οκτώβριο του 1923 εκλέχθηκε Γραμματέας της Κεντρικής Επιτροπής του ΣΕΚΕ, ενώ ήταν και υποψήφιος βουλευτής στις εκλογές του 1923. Κατά τη διάρκεια της ηγεσίας του σημειώθηκαν σκληρές εσωκομματικές συγκρούσεις με αιχμή το Μακεδονικό ζήτημα. Ο Αποστολίδης, μαζί με τον Γιάνη Κορδάτο και τον Λευτέρη Σταυρίδη ήταν ο πυρήνας των στελεχών που χαρακτήρισαν ανεδαφική τη θέση για \\"Ενιαία Ανεξάρτητη Μακεδονία\\" και υπερασπίστηκαν τον ελληνικό χαρακτήρα της περιοχής."],"letterings":["Αμαζόνιος Βραβεία Γουάνγκ Διόδωρος Εργαλεία Ζεμτσούζινα Ηγησιππος Θεοξενιος Ιστορία Καζακστάν Λαμπροκλης Μάρμαρο Νίζνι Ξέρξης Οινομαχος Περσέπολη Ροτόρ Σθενελαος Ταυτιστεί Υπάρχουν Φρολόφ Χοχλόφ Ψαρρής Ωφελιων","Αιγιαλός Βενετσιάνος Γραμματοκιβώτιο Διάγνωση Ενστερνίζομαι Ζωγραφίζω Ηλεκτροχημικός Θυμωμένος Ικανοποιημένος Κατάληψη Λογχίζομαι Ματοκυλιέμαι Ντούμπνιο Ξυπόλητος Οξύτονος Προλεταριάτο Ρουαντέζος Σταυρόλεξο Τρινιδάδ Υποχρεωτικός Φιλανδικά Χιονάνθρωπος Ψυχίατρος Ωφελούμαι","Αετιδέας Βαμβάκι Γραίγος Δαμαλίδα Ευσεβής Ζεματίζω Ηγέτης Ιδιώτης Καθέλκω Λουλακής Μάθημα Νάνος Ομορφιά Παπάρα Ρεκόρ Σύγκλιση Τσιτσί Υπάκουος Φουφού Χάχανο Ψιψίνα Ωρίμως","Αγκίδα Βέλγα Γύπας Δημιούργημα Εξηγούμαι Ζεσταμένος Ηλιοθεραπεία Θεσμός Ιστιοδρομία Κρασί Λογχίζομαι Μισώ Νωρίς Ξαίνω Οπλίζομαι Παπαρδέλα Ρύζι Συμφωνία Τσέλιγκας Υποχρέωση Φύομαι Χριστόψωμο Ψυχίατρος Ωταλγία"],"numbers":["Έχει θερμοκρασία τήξης 304°C και θερμοκρασία βρασμού 1473°C.","Το φυσικό οξυγόνο αποτελείται από τρία (3) σταθερά ισότοπα: το 16O (σε ποσοστό 99,762 %), το 17O και το 18O."],"alphabet":"Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω Ά Έ Ή Ί Ϊ Ό Ύ Ϋ Ώ ά έ ή ί ϊ ΐ ό ύ ϋ ΰ ώ","specialCharacters":"Ά Έ Ή Ί Ϊ Ό Ύ Ϋ Ώ ά έ ή ί ϊ ΐ ό ύ ϋ ΰ ώ","alphabetIsSorted":true,"punctuation":";·","htmlTag":"el","opentypeTag":"ELL","scriptName":"Greek","sentences":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Guarani","script":"Latn","speakers":4600000,"region":"American","pangrams":["Hĩlandiagua kuñanguéra oho peteĩ sa’yju ypa’ũme Gavõme ombo’e hag̃ua ingyleñe’ẽ mitãnguérare ne’ẽndy’ỹ."],"paragraphs":["Mayma yvypóra ou ko yvy ári iñapyty\'yre ha eteĩcha tecoruvicharendá ha acatúape jeguerekópe; ha ikatu rupi oikuaa ñetéva ha añete\'yva, iporãva ha ivaíva, tekotevẽ pehenguéicha oiko oñondivekuéra."],"alphabet":"A a à ã Ch ch E e Ẽ ẽ G g G̃ g̃ H h I i Ĩ ĩ J j K k L l M m Mb mb N n Nd nd Ng ng Nt nt Ñ ñ O o Õ õ P p R r Rr rr S s T t U u Ũ ũ V v Y y Ỹ ỹ \'","alphabetIsSorted":true,"gotchas":[{"topic":"G tilde","tags":["mark"],"description":"Combining mark positioning must be implemented as there is no corresponding codepoint for this letter.","tests":["G̃ g̃"]}],"htmlTag":"gn","opentypeTag":"GUA","scriptName":"Latin","letterings":[],"sentences":[],"smallcaps":[],"specialCharacters":"\' à ã Ẽ ẽ G̃ g̃ Ĩ ĩ Ñ ñ Õ õ Ũ ũ Ỹ ỹ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Hausa","region":"African","speakers":34000000,"paragraphs":["Nonuwana sun cika sun yi nauyi Suna begen hannayenka Kai kadai ka iya rikesu Tamkar kana rike da kwai Kai ka iya murza su kamar amaro Ka iya shan su kamar lemu Yaya zanyi da raina?","Ai ba sauran budurci a tare da nonuwa na Tun ranar da ka ba su ʼyanci Basu san kowa ba sai kai."],"alphabet":"A a B b Ɓ ɓ C c D d Ɗ ɗ E e F f G g H h I i J j K k Ƙ ƙ L l M m N n O o R r R̃ r̃ S s SH sh T t TS ts U u W w Y y Ƴ ƴ Z z ʼ","htmlTag":"ha","opentypeTag":"HAU","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ɓ ɓ Ɗ ɗ Ƙ ƙ R̃ r̃ Ƴ ƴ ʼ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Hungarian","speakers":13000000,"region":"European","pangrams":["Jó foxim és don Quijote húszwattos lámpánál ülve egy pár bűvös cipőt készít."],"htmlTag":"hu","opentypeTag":"HUN","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Á á É é Í í Ó ó Ö ö Ő ő Ú ú Ü ü Ű ű","alphabet":"A a Á á B b C c D d E e É é F f G g H h I i Í í J j K k L l M m N n O o Ó ó Ö ö Ő ő P p Q q R r S s T t U u Ú ú Ü ü Ű ű V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Icelandic","region":"European","speakers":300000,"pangrams":["Sævör grét áðan því úlpan var ónýt.","Svo hölt, yxna kýr þegði jú um dóp í fé á bæ."],"gotchas":[{"topic":"fþ","tags":["metrics","ligature"],"tests":["hafþór"]}],"htmlTag":"is","opentypeTag":"ISL","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Á á Æ æ Ð ð É é Í í Ó ó Ö ö Ú ú Ý ý Þ þ","alphabet":"A a Á á Æ æ B b C c D d Ð ð E e É é F f G g H h I i Í í J j K k L l M m N n O o Ó ó Ö ö P p Q q R r S s T t U u Ú ú V v W w X x Y y Ý ý Z z Þ þ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Igbo","region":"African","speakers":25000000,"pangrams":["Nne, nna, wepụ he’l’ụjọ dum n’ime ọzụzụ ụmụ, vufesi obi nye Chukwu, ṅụrịanụ, gbakọọnụ kpaa, kwee ya ka o guzoshie ike; ọ ghaghị ito, nwapụta ezi agwa."],"htmlTag":"ig","opentypeTag":"IBO","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"’ Ị ị Ṅ ṅ Ọ ọ Ụ ụ","alphabet":"’ A a B b C c D d E e F f G g H h I i Ị ị J j K k L l M m N n Ṅ ṅ O o Ọ ọ P p Q q R r S s T t U u Ụ ụ V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Indonesian","speakers":43000000,"region":"Asian","pangrams":["Muharjo seorang xenofobia universal yang takut pada warga jazirah, contohnya Qatar."],"specialCharacters":"","htmlTag":"id","opentypeTag":"IND","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Irish","speakers":150000,"region":"European","pangrams":["Ċuaiġ bé ṁórṡáċ le dlúṫspád fíorḟinn trí hata mo ḋea-ṗorcáin ḃig"],"htmlTag":"ga","opentypeTag":"IRI","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Á á Ḃ ḃ Ċ ċ Ḋ ḋ É é Ḟ ḟ Ġ ġ Í í Ṁ ṁ Ó ó Ṗ ṗ Ṡ ṡ Ṫ ṫ Ú ú","alphabet":"A a Á á B b Ḃ ḃ C c Ċ ċ D d Ḋ ḋ E e É é F f Ḟ ḟ G g Ġ ġ H h I i Í í J j K k L l M m Ṁ ṁ N n O o Ó ó P p Ṗ ṗ Q q R r S s Ṡ ṡ T t Ṫ ṫ U u Ú ú V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Italian","region":"European","speakers":59000000,"pangrams":["Pranzo d’acqua fa volti sghembi."],"gotchas":[{"topic":"d\'A L\'A l\'A","tags":["metrics"],"tests":["curly quotes: d’A L’A l’A, straight quotes: d\'A L\'A l\'A"]}],"specialCharacters":"À à É é È è Ì ì Ó ó Ò ò Ù ù","htmlTag":"it","opentypeTag":"ITA","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"alphabet":"A a À à B b C c D d E e É é È è F f G g H h I i Ì ì J j K k L l M m N n O o Ó ó Ò ò P p Q q R r S s T t U u Ù ù V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Jula","altNames":["Dyula","Dioula"],"region":"African","speakers":2200000,"alphabet":"A a B b C c D d E e Ɛ ɛ F f G g H h I i J j K k L l M m N n Ɲ ɲ Ŋ ŋ O o Ɔ ɔ P p R r S s T t U u V v W w Y y Z z","htmlTag":"dyu","opentypeTag":"JUL","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ɛ ɛ Ɲ ɲ Ŋ ŋ Ɔ ɔ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Kabyle","region":"African","speakers":5500000,"opentypeTag":"KAB0","pangrams":["Yiwen wass, Ğeḥḥa yefka-yas baba-s frank, akken ad d-yaɣ aqerruy n tixsi. Yuɣ-it-id, yečča akk aksum-is. Yeqqim-d uceqlal d ilem, yewwi-yas-t-id i baba-s. Ihi, mi t-iwala yenna-yas: \\"acu-t wa?\\" yenna-yas: \\"d aqerruy n tixsi\\". – A ccmata, anida llan imeẓẓuɣen-is?"],"htmlTag":"kab","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Č č Ğ ğ Ɣ ɣ Ḥ ḥ Ẓ ẓ","alphabet":"A a B b C c Č č D d E e F f G g Ğ ğ Ɣ ɣ H h Ḥ ḥ I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z Ẓ ẓ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Kako","region":"African","speakers":120000,"specialCharacters":"Á á À à  â Ɓ ɓ Ɗ ɗ É é È è Ê ê Ɛ ɛ Í í Ì ì Î î NJ Nj nj Ŋ ŋ Ó ó Ò ò Ô ô Ɔ ɔ Ú ú Ù ù Û û","alphabetIsSorted":true,"htmlTag":"kkj","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â B b Ɓ ɓ C c D d Ɗ ɗ E e É é È è Ê ê Ɛ ɛ F f G g H h I i Í í Ì ì Î î J j K k L l M m N n NJ nj Ŋ ŋ O o Ó ó Ò ò Ô ô Ɔ ɔ P p Q q R r S s T t U u Ú ú Ù ù Û û V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Kazakh","speakers":11700000,"script":"Cyrl","region":"Asian","alphabet":"А а Ә ә Б б В в Г г Ғ ғ Д д Е е Ё ё Ж ж З з И и Й й К к Қ қ Л л М м Н н Ң ң О о Ө ө П п Р р С с Т т У у Ұ ұ Ү ү Ф ф Х х Һ һ Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы І і Ь ь Э э Ю ю Я я","htmlTag":"kk","opentypeTag":"KAZ","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ә ә Ғ ғ Ё ё І і Қ қ Ң ң Ө ө Ү ү Ұ ұ Һ һ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Khoekhoe","region":"African","speakers":200000,"script":"Latn","paragraphs":["ǃGâi tsēs. ǃGâi ǁgoas. Nē ǀkharib ǃnâ da ge ǁgûn tsî ǀgaen tsî doan tsîn; tsî ǀnopodi tsî ǀkhenadi tsî ǀhuigu tsî ǀamin tsîn; tsî ǀkharagagu ǀaon tsîna ra hō."],"alphabet":"A a à ã AA aa Ãà ãã AE ae AI ai ÃĨ ãĩ AO ao AU au ÃŨ ãũ B b D d E e Ẽ ẽ EE ee F f G g GY gy H h I i Ĩ ĩ II ii ĨĨ ĩĩ J j K k KH kh L l M m N n O o Õ õ OA oa Õà õã OE oe OO oo P p R r S s T t TS ts U u Ũ ũ UI ui ŨĨ ũĩ UU uu ŨŨ ũũ V v W w X x ǀ ǀG ǀg ǀH ǀh ǀKH ǀkh ǀN ǀn ǁ ǁG ǁg ǁH ǁh ǁKH ǁkh ǁN ǁn ǂ ǂG ǂg ǂH ǂh ǂKH ǂkh ǂN ǂn ǃ ǃG ǃg ǃH ǃh ǃKH ǃkh ǃN ǃn","htmlTag":"naq","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"à ã Ãà ãã ÃĨ ãĩ ÃŨ ãũ Ẽ ẽ Ĩ ĩ ĨĨ ĩĩ Õ õ Õà õã Ũ ũ ŨĨ ũĩ ŨŨ ũũ ǀ ǀG ǀg ǀH ǀh ǀKH ǀkh ǀN ǀn ǁ ǁG ǁg ǁH ǁh ǁKH ǁkh ǁN ǁn ǂ ǂG ǂg ǂH ǂh ǂKH ǂkh ǂN ǂn ǃ ǃG ǃg ǃH ǃh ǃKH ǃkh ǃN ǃn","optionalCharacters":"","optionalCharactersNote":""},{"language":"Koyraboro Senni","altNames":["Koyraboro Senni Songhai"],"region":"African","speakers":430000,"specialCharacters":"à ã Ẽ ẽ Ɲ ɲ Ŋ ŋ Õ õ Š š Ž ž","htmlTag":"ses","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a à ã B b C c D d E e Ẽ ẽ F f G g H h I i J j K k L l M m N n Ɲ ɲ Ŋ ŋ O o Õ õ P p Q q R r S s Š š T t U u V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Koyra Chiini","altNames":["Koyra Chiini Songhay"],"region":"African","speakers":240000,"specialCharacters":"à ã Ẽ ẽ Ɲ ɲ Ŋ ŋ Õ õ Š š Ž ž","htmlTag":"khq","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a à ã B b C c D d E e Ẽ ẽ F f G g H h I i J j K k L l M m N n Ɲ ɲ Ŋ ŋ O o Õ õ P p Q q R r S s Š š T t U u V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Kyrgyz","speakers":4300000,"script":"Cyrl","region":"Asian","alphabet":"А а Б б Г г Д д Е е Ё ё Ж ж З з И и Й й К к Л л М м Н н Ң ң О о Ө ө П п Р р С с Т т У у Ү ү Х х Ч ч Ш ш Ы ы Э э Ю ю Я я","htmlTag":"ky","opentypeTag":"KIR","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ё ё Ң ң Ө ө Ү ү","optionalCharacters":"","optionalCharactersNote":""},{"language":"Lakota","speakers":2100,"region":"American","alphabet":"A a Aŋ aŋ B b Č č Čh čh Č’ č’ E e G g Ǧ ǧ H h Ȟ ȟ I i Iŋ iŋ K k Kh kh Kȟ kȟ K’ k’ L l M m N n O o P p Ph ph Pȟ pȟ P’ p’ S s Š š T t Th th Tȟ tȟ T’ t’ U u Uŋ uŋ W w Y y Z z Ž ž ’","alphabetIsSorted":true,"htmlTag":"lkt","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"’ AŊ aŋ Č č Č’ č’ ČH čh Ǧ ǧ Ȟ ȟ IŊ iŋ K’ k’ KȞ kȟ P’ p’ PȞ pȟ Š š T’ t’ TȞ tȟ UŊ uŋ Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Latin","speakers":0,"region":"European","pangrams":["Sic fugiens, dux, zelotypos, quam Karus haberis."],"specialCharacters":"","htmlTag":"la","opentypeTag":"LAT","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Latvian","region":"European","speakers":1500000,"pangrams":["Muļķa hipiji mēģina brīvi nogaršot celofāna žņaudzējčūsku.","Glāžšķūņa rūķīši dzērumā čiepj Baha koncertflīģeļu vākus."],"gotchas":[{"topic":"ī","tags":["metrics"],"tests":["spēcīgi līdz Cīrulis peisaistīja Irbītis Skatīt vadība ierādīta piedalījās dīšas čīča","\\n\\"ī\\" /ī/ \\\\ī\\\\ (ī) [ī] {ī}"]}],"htmlTag":"lv","opentypeTag":"LVI","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Ā ā Č č Ē ē Ģ ģ Ī ī Ķ ķ Ļ ļ Ņ ņ Š š Ū ū Ž ž","alphabet":"A a Ā ā B b C c Č č D d E e Ē ē F f G g Ģ ģ H h I i Ī ī J j K k Ķ ķ L l Ļ ļ M m N n Ņ ņ O o P p Q q R r S s Š š T t U u Ū ū V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Lingala","region":"African","speakers":15000000,"paragraphs":["Tatá wa bísó, ozala o likoló, bato bakúmisa Nkómbó ya Yɔ́, bandima bokonzi bwa Yɔ́, mpo elingo Yɔ́, basálá yangó o nsé, lokóla bakosalaka o likoló Pésa bísó lɛlɔ́ biléi bya mokɔlɔ na mokɔlɔ, límbisa mabé ma bísó, lokóla bísó tokolimbisaka baníngá. Sálisa bísó tondima masɛ́nginyá tê, mpe bíkisa bísó o mabé. Na yɔ́ bokonzi, nguyá na nkembo, o bileko o binso sékô. Amen."],"gotchas":[{"topic":"open E open O acute","tags":["mark"],"description":"Acute must be positioned properly (centered) over letters open E and open O (Ɛ́ ɛ́ Ɔ́ ɔ́), as these combinations do not have precomposed diacritics.","tests":["Ɛ́ ɛ́ Ɔ́ ɔ́"]}],"htmlTag":"ln","opentypeTag":"LIN","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"specialCharacters":"Á á É é Ê ê Ɛ ɛ Ɛ́ ɛ́ Í í Ó ó Ô ô Ɔ ɔ Ɔ́ ɔ́ Ú ú","alphabet":"A a Á á B b C c D d E e É é Ê ê Ɛ ɛ Ɛ́ ɛ́ F f G g H h I i Í í J j K k L l M m N n O o Ó ó Ô ô Ɔ ɔ Ɔ́ ɔ́ P p Q q R r S s T t U u Ú ú V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Lithuanian","speakers":3100000,"region":"European","pangrams":["Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą"],"htmlTag":"lt","opentypeTag":"LTH","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ą ą Č č Ė ė Ę ę Į į Š š Ų ų Ū ū Ž ž","alphabet":"A a Ą ą B b C c Č č D d E e Ė ė Ę ę F f G g H h I i Į į J j K k L l M m N n O o P p Q q R r S s Š š T t U u Ų ų Ū ū V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Livonian","htmlTag":"liv","speakers":0,"region":"European","sentences":["Jõvā ūomõg! Vȯndzist Ūdāigastõ!"],"alphabet":"A a Ā ā Ä ä Ǟ ǟ B b D d Ḑ ḑ E e Ē ē F f G g H h I i Ī ī J j K k L l Ļ ļ M m N n Ņ ņ O o Ō ō Ȯ ȯ Ȱ ȱ Õ õ Ȭ ȭ P p R r Ŗ ŗ S s Š š T t Ț ț U u Ū ū V v Z z Ž ž","alphabetIsSorted":true,"optionalCharacters":"Ö ö Ȫ ȫ Y y Ȳ ȳ","optionalCharactersNote":"Used for phonemes that were unrounded in later generations; these were used as late as 1997.","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ä ä Ǟ ǟ Ā ā Ḑ ḑ Ē ē Ī ī Ļ ļ Ņ ņ Õ õ Ȭ ȭ Ȯ ȯ Ȱ ȱ Ō ō Ŗ ŗ Š š Ț ț Ū ū Ž ž"},{"language":"Maasai","altNames":["Masai"],"region":"African","speakers":1300000,"alphabet":"A a B b CH ch D d E e Ɛ ɛ G g H h I i Ɨ ɨ J j K k L l M m N n NY ny Ŋ ŋ O o Ɔ ɔ P p R r RR rr S s SH sh T t U u Ʉ ʉ W w WU wu Y y YI yi \' ʔ","alphabetIsSorted":true,"htmlTag":"mas","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"\' Ɛ ɛ Ɨ ɨ Ŋ ŋ Ɔ ɔ Ʉ ʉ ʔ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Macedonian","region":"European","speakers":2000000,"script":"Cyrl","pangrams":["Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех."],"alphabet":"А а Б б В в Г г Д д Ѓ ѓ Е е Ж ж З з Ѕ ѕ И и Ј ј К к Л л Љ љ М м Н н Њ њ О о П п Р р С с Т т Ќ ќ У у Ф ф Х х Ц ц Ч ч Џ џ Ш ш","specialCharacters":"Ѓ ѓ Ѕ ѕ Ј ј Ќ ќ Љ љ Њ њ","htmlTag":"mk","opentypeTag":"MKD","scriptName":"Cyrillic","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Maltese","region":"European","speakers":520000,"script":"Latn","pangrams":["L-Unjoni hija mibnija fuq il-valuri ta\' rispett għad-dinjità tal-bniedem, ta\' libertà, ta\' demokrazija, ta\' ugwaljanza, ta\' l-istat tad-dritt u tar-rispett għad-drittijiet tal-bniedem, inklużi d-drittijiet ta\' persuni li jagħmlu parti minn minoranzi. Dawn il-valuri huma komuni għall-Istati Membri f\'soċjetà karatterizzata mill-pluraliżmu, in-non-diskriminazzjoni, it-tolleranza, il-ġustizzja, is-solidarjetà u l-ugwaljanza bejn in-nisa u l-irġiel."],"htmlTag":"mt","opentypeTag":"MTS","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"\' À à Ċ ċ Ġ ġ Ħ ħ Ż ż","alphabet":"\' A a À à B b C c Ċ ċ D d E e F f G g Ġ ġ H h Ħ ħ I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z Ż ż","optionalCharacters":"","optionalCharactersNote":""},{"language":"Mapudungun","region":"American","speakers":300000,"pangrams":["Gvxam mincetu apocikvyeh: ñizol ce mamvj ka raq kuse bafkeh mew","Ngütram minchetu apochiküyeṉ: ñidol che mamüll ka rag kushe ḻafkeṉ mew.","Gütxam minchetu apochiküyenh: ñizol che mamüll ka raq kushe lhafkenh mew."],"htmlTag":"arn","opentypeTag":"MAP","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ḻ ḻ Ñ ñ Ṉ ṉ Ü ü","alphabet":"A a B b C c D d E e F f G g H h I i J j K k L l Ḻ ḻ M m N n Ñ ñ Ṉ ṉ O o P p Q q R r S s T t U u Ü ü V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Marshallese","region":"Austronesian","speakers":55000,"script":"Latn","opentypeTag":"MAH ","htmlTag":"mh","pangrams":["E-ar den̄ōt er. N̄a i-j yokwe ajiri ro nej-ū. em̧m̧an io̧kwe ļalem M̧aaj M̧aļo-eļap "],"alphabet":"A a Ā ā B b D d E e I i J j K k L l Ļ ļ M m M̧ m̧ N n Ņ ņ N̄ n̄ O o O̧ o̧ Ō ō P p R r T t U u Ū ū W w","gotchas":[{"topic":"cedilla","tags":["localization"],"description":"Marshallese support requires combining cedilla with letters M and O, as no precomposed codepoints exist for these letters. Furthermore, L and N cedilla accents are preferred to be rendered with actual cedillas, and not comma accents as required for Latvian usage. The cedilla should be centered below all letters, including M and N","tests":["katļo̧k Ļaņtōn M̧ajeļ"]}],"scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Ā ā Ļ ļ M̧ m̧ Ņ ņ N̄ n̄ O̧ o̧ Ō ō Ū ū","optionalCharacters":"","optionalCharactersNote":""},{"language":"Mongolian","speakers":5200000,"region":"Asian","script":"Cyrl","pangrams":["Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү."],"specialCharacters":"Ө ө Ү ү","alphabet":"А а Б б В в Г г Д д Е е Ё ё Ж ж З з И и Й й К к Л л М м Н н О о Ө ө П п Р р С с Т т У у Ү ү Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я","htmlTag":"mn","opentypeTag":"MNG","scriptName":"Cyrillic","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Mundang","region":"African","speakers":240000,"script":"Latn","alphabet":"A a à ã B b Ɓ ɓ C c D d Ɗ ɗ E e Ẽ ẽ Ə ə Ə̃ ə̃ F f G g H h I i Ĩ ĩ J j K k L l M m N n Ŋ ŋ O o Õ õ P p R r S s T t U u V v Ṽ ṽ W w Y y Z z","htmlTag":"mua","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"à ã Ɓ ɓ Ɗ ɗ Ẽ ẽ Ə ə Ə̃ ə̃ Ĩ ĩ Ŋ ŋ Õ õ Ṽ ṽ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Navajo","htmlTag":"nv","opentypeTag":"NAV","region":"American","speakers":169000,"script":"Latn","alphabet":"’ A a Á á Ą ą Ą́ ą́ AA aa ÁÁ áá ĄĄ ąą Ą́Ą́ ą́ą́ B b CH ch CH’ ch’ D d DL dl DZ dz E e É é Ę ę Ę́ ę́ EE ee ÉÉ éé ĘĘ ęę Ę́Ę́ ę́ę́ G g GH gh H h HW hw I i Í í Į į Į́ į́ II ii ÍÍ íí ĮĮ įį Į́Į́ į́į́ J j K k K’ k’ KW kw L l Ł ł M m N n O o Ó ó Ǫ ǫ Ǫ́ ǫ́ OO oo ÓÓ óó ǪǪ ǫǫ Ǫ́Ǫ́ ǫ́ǫ́ S s SH sh T t T’ t’ TŁ tł TŁ’ tł’ TS ts TS’ ts’ W w X x Y y Z z ZH zh","paragraphs":["Ashiiké tʼóó diigis léiʼ tółikaní łaʼ ádiilnííł dóó nihaa nahidoonih níigo yee hodeezʼą́ jiní. Áko tʼáá ałʼąą chʼil naʼatłʼoʼii kʼiidiilá dóó hááhgóóshį́į́ yinaalnishgo tʼáá áłah chʼil naʼatłʼoʼii néineestʼą́ jiní. Áádóó tółikaní áyiilaago tʼáá bíhígíí tʼáá ałʼąą tłʼízíkágí yiiʼ haidééłbįįd jiní. \\"Háadida díí tółikaní yígíí doo łaʼ ahaʼdiidził da,\\" níigo ahaʼdeetʼą́ jiníʼ. Áádóó baa nahidoonih biniiyé kintahgóó dah yidiiłjid jiníʼ..."],"sentences":["Áádóó tółikaní áyiilaago tʼáá bíhígíí tʼáá ałʼąą tłʼízíkágí yiiʼ haidééłbįįd jiní."],"gotchas":[{"topic":"centered ogonek","tags":["localization","mark"],"description":"The letters A E I O can take an acute, an ogonek, or both. This requires proper combining mark positioning feature or corresponding precomposed glyphs substituted by OpenType, or both. The ogonek, unlike for Polish and Lithuanian usage, must be centered below the base letters, including A and a.","tests":["Ą ą Ą́ ą́ Ę ę Ę́ ę́ Į į Į́ į́ Ǫ ǫ Ǫ́ ǫ́"]}],"scriptName":"Latin","pangrams":[],"letterings":[],"smallcaps":[],"specialCharacters":"’ Á á Ą ą Ą́ ą́ ÁÁ áá ĄĄ ąą Ą́Ą́ ą́ą́ CH’ ch’ É é Ę ę Ę́ ę́ ÉÉ éé ĘĘ ęę Ę́Ę́ ę́ę́ Í í Į į Į́ į́ ÍÍ íí ĮĮ įį Į́Į́ į́į́ K’ k’ Ł ł Ó ó Ǫ ǫ Ǫ́ ǫ́ ÓÓ óó ǪǪ ǫǫ Ǫ́Ǫ́ ǫ́ǫ́ T’ t’ TŁ tł TŁ’ tł’ TS’ ts’","optionalCharacters":"","optionalCharactersNote":""},{"language":"Ngiemboon","region":"African","speakers":250000,"script":"Latn","specialCharacters":"Á á À à  â Ǎ ǎ É é È è Ê ê Ě ě Ɛ ɛ Í í Ì ì Ḿ ḿ Ń ń Ŋ ŋ Ó ó Ò ò Ô ô Ǒ ǒ Ɔ ɔ Ú ú Ù ù Û û Ǔ ǔ Ʉ ʉ Ẅ ẅ Ÿ ÿ ʼ","htmlTag":"nnh","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â Ǎ ǎ B b C c D d E e É é È è Ê ê Ě ě Ɛ ɛ F f G g H h I i Í í Ì ì J j K k L l M m Ḿ ḿ N n Ń ń Ŋ ŋ O o Ó ó Ò ò Ô ô Ǒ ǒ Ɔ ɔ P p Q q R r S s T t U u Ú ú Ù ù Û û Ǔ ǔ Ʉ ʉ V v W w Ẅ ẅ X x Y y Ÿ ÿ Z z ʼ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Ngomba","region":"African","speakers":63000,"script":"Latn","specialCharacters":"Á á  â Ǎ ǎ Ɛ ɛ Í í Î î Ǐ ǐ Ḿ ḿ Ń ń Ǹ ǹ Ŋ ŋ Ɔ ɔ Ú ú Û û Ǔ ǔ Ʉ ʉ Ẅ ẅ Ꞌ ꞌ","htmlTag":"jgo","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á  â Ǎ ǎ B b C c D d E e Ɛ ɛ F f G g H h I i Í í Î î Ǐ ǐ J j K k L l M m Ḿ ḿ N n Ń ń Ǹ ǹ Ŋ ŋ O o Ɔ ɔ P p Q q R r S s T t U u Ú ú Û û Ǔ ǔ Ʉ ʉ V v W w Ẅ ẅ X x Y y Z z Ꞌ ꞌ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Norwegian","speakers":4500000,"region":"European","letterings":["Alfastråling Blåbær Chinchilla Dørhåndtak Erklære Forføre Grønnlig Høflighet Ingeniør Jobbintervju Kjølevæske Latterliggjøre Målmann Nøktern Overfølsomhet Papegøye Qatarsk Reingjøre Sfærisk Tankemønster Upopulær Vikværing Wienerbrød Xenofobi Ydmykelse Zoologisk Ærlegdom Ørnøygd "],"pangrams":["Jeg begynte å fortære en sandwich mens jeg kjørte taxi på vei til quiz"],"optionalCharacters":"Ǽ ǽ Ǻ ǻ Ǿ ǿ","optionalCharactersNote":"Dictionary use.","htmlTag":"no","opentypeTag":"NOR","script":"Latn","scriptName":"Latin","sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Å å Æ æ Ø ø","alphabet":"A a Å å Æ æ B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ø ø P p Q q R r S s T t U u V v W w X x Y y Z z"},{"language":"Polish","region":"European","speakers":40000000,"pangrams":["Koń i żółw grali w kości z piękną ćmą u źródła."],"letterings":["Aerofłot Bóbr Część Ćmić Dyndasz Ernest Farfocel Gringo Hochsztapler Irbis Jajko Krokus Lalka Łękotka Mąkami Nanizać Obrok Ósemka Poprzestań Quiz Rzeżączka Schniesz Świąt Tarty Uzurpator Victoria Warszawa Xero Yeti Złorzeczyć Źrebak Żółtko","Aniołek Ą-ę Błękit Często Ćwikiel Dożywocie Estończyk Écru Ę-ą Frunięcie Gąszcz Huśtawka Imię Jeż Kryształ Liść Łeb Męstwo Nieporządek Obłędny Ósmy Ponawiać Różnobarwny Spieprzać Światło Trójskok Ustępstwo Vanuatu Wielkość Xbox Yeti Zauważalnie Źródło Żywioł"],"gotchas":[{"topic":"łł","tags":["metrics"],"description":"The łł combination sometimes produces a busy area. A spacing, kerning or ligature solution is possible should the problem arise.","tests":["Kołłątaj Piłka Ełk Półkole Półton PÓŁTON Radziwiłłów"]}],"specialCharacters":"Ą ą Ć ć Ę ę Ł ł Ń ń Ó ó Ś ś Ź ź Ż ż","htmlTag":"pl","opentypeTag":"PLK","script":"Latn","scriptName":"Latin","sentences":[],"paragraphs":[],"smallcaps":[],"alphabet":"A a Ą ą B b C c Ć ć D d E e Ę ę F f G g H h I i J j K k L l Ł ł M m N n Ń ń O o Ó ó P p Q q R r S s Ś ś T t U u V v W w X x Y y Z z Ź ź Ż ż","optionalCharacters":"","optionalCharactersNote":""},{"language":"Portuguese","region":"European","speakers":215000000,"pangrams":["Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português."],"htmlTag":"pt","opentypeTag":"PTG","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"« » Á á À à  â à ã Ç ç É é Ê ê Í í Ó ó Ô ô Õ õ Ú ú Ü ü","alphabet":"« » A a Á á À à  â à ã B b C c Ç ç D d E e É é Ê ê F f G g H h I i Í í J j K k L l M m N n O o Ó ó Ô ô Õ õ P p Q q R r S s T t U u Ú ú Ü ü V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Riffian","htmlTag":"rif","region":"African","speakers":6000000,"specialCharacters":"Č č Ḍ ḍ Ɛ ɛ Ǧ ǧ Ɣ ɣ Ḥ ḥ Ř ř Ṛ ṛ Ṣ ṣ Ṭ ṭ Ẓ ẓ","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c Č č D d Ḍ ḍ E e Ɛ ɛ F f G g Ǧ ǧ Ɣ ɣ H h Ḥ ḥ I i J j K k L l M m N n O o P p Q q R r Ř ř Ṛ ṛ S s Ṣ ṣ T t Ṭ ṭ U u V v W w X x Y y Z z Ẓ ẓ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Romanian","region":"European","speakers":24000000,"pangrams":["Bând whisky, jazologul șprițuit vomă fix în tequila."],"gotchas":[{"topic":"șț","tags":["localization","optional"],"description":"Consider substituting s-cedilla and t-cedilla with s-comma-below and t-comma-below for Romanian.","tests":["șprițuit (comma) = şpriţuit (cedilla)?"]}],"htmlTag":"ro","opentypeTag":"ROM","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Ă ă  â Î î Ș ș Ț ț","alphabet":"A a Ă ă  â B b C c D d E e F f G g H h I i Î î J j K k L l M m N n O o P p Q q R r S s Ș ș T t Ț ț U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Russian","region":"European","speakers":155000000,"script":"Cyrl","pangrams":["— Любя, съешь щипцы, — вздохнёт мэр, — Кайф жгуч!"],"paragraphs":["Я только в главную мысль мою верю. Она именно состоит в том, что люди, по закону природы, разделяются вообще на два разряда: на низший (обыкновенных), то есть, так сказать, на материал, служащий единственно для зарождения себе подобных, и собственно на людей, то есть имеющих дар или талант сказать в среде своей новое слово... Первый разряд всегда — господин настоящего, второй разряд — господин будущего. Первые сохраняют мир и приумножают его численно; вторые двигают мир и ведут его к цели. И те, и другие имеют совершенно одинаковое право существовать. Одним словом, у меня все равносильное право имеют, и — vive la guerre eternelle, — до Нового Иерусалима, разумеется!"],"letterings":["Аудиограф Бомбист Втузовец Гуглить Драгдилер Евгения Ё-моё Жоржет Звёздно Иберийский Йельский Классика Льяло Мнемоник Нутационный Ожогин Пилоправ Рэппер Сфинкс Тлить Узуфрукт Фуфачёв Холедох Цугцванг Чёлочка Шропшир Щадящий Ынахсыт Эмвэдэшник Ююба Ягьяев"],"alphabet":"А а Б б В в Г г Д д Е е Ё ё Ж ж З з И и Й й К к Л л М м Н н О о П п Р р С с Т т У у Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я","htmlTag":"ru","opentypeTag":"RUS","scriptName":"Cyrillic","sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ё ё","optionalCharacters":"","optionalCharactersNote":""},{"language":"Northern Sami","altNames":["North Sami","Sami"],"speakers":25000,"region":"European","sentences":["Buot olbmot leat riegádan friddjan ja olmmošárvvu ja olmmošvuoigatvuođaid dáfus.","Sii leat jierbmalaš olbmot geain lea oamedovdu ja sii gálggaše leat dego vieljačagat.","Ruoŧa sámiid riikkasearvi, RSR, hilgu ráđđehusa evttohusa ođđa ráđđádallanortnegii sámiiguin.","John Ness almmustahttá farga romána mas lea sáhka sápmelaččain, dážain, ruoŧŧilaččain ja skealmmain."],"alphabet":"A a Á á B b C c Č č D d Đ đ E e F f G g H h I i J j K k L l M m N n Ŋ ŋ O o P p R r S s Š š T t Ŧ ŧ U u V v Z z Ž ž","htmlTag":"se","opentypeTag":"NSM","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Á á Č č Đ đ Ŋ ŋ Š š Ŧ ŧ Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Scottish Gaelic","speakers":57000,"region":"European","pangrams":["Mus d’fhàg Cèit-Ùna ròp Ì le ob."],"htmlTag":"gd","opentypeTag":"GAE","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"’ À à È è Ì ì Ò ò Ù ù","alphabet":"’ A a À à B b C c D d E e È è F f G g H h I i Ì ì J j K k L l M m N n O o Ò ò P p Q q R r S s T t U u Ù ù V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Serbian","script":"Cyrl","region":"European","speakers":19000000,"letterings":["Акцептор Брецати Вео Граничан Дунст Ђилкош Ејакулација Жаба Захвала Измјенично Јединица Карати Лихвар Љуљачка Мјесечина Небулозан Њујорк Опходити Притварати Ружан Стењ Тврд Ћилимарство Успављивати Финџан Хипероним Цертифициран Човечанство Џудо Шраф"],"pangrams":["Љубазни фењерџија чађавог лица хоће да ми покаже штос.","Ајшо, лепото и чежњо, за љубав срца мога дођи у Хаџиће на кафу."],"alphabet":"А а Б б В в Г г Д д Ђ ђ Е е Ж ж З з И и Ј ј К к Л л Љ љ М м Н н Њ њ О о П п Р р С с Т т Ћ ћ У у Ф ф Х х Ц ц Ч ч Џ џ Ш ш","specialCharacters":"Ђ ђ Ј ј Љ љ Њ њ Ћ ћ Џ џ","htmlTag":"sr","opentypeTag":"SRB","scriptName":"Cyrillic","sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Serbian","script":"Latn","region":"European","speakers":19000000,"pangrams":["Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos."],"alphabet":"A a B b C c Ć ć Č č D d Đ đ DŽ dž E e F f G g H h I i J j K k L l LJ lj M m N n NJ nj O o P p R r S s Š š T t U u V v Z z Ž ž","htmlTag":"sr","opentypeTag":"SRB","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ć ć Č č Đ đ DŽ dž Š š Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Shawiya","htmlTag":"shy","region":"African","speakers":2130000,"specialCharacters":"Č č Ḍ ḍ Ɛ ɛ Ǧ ǧ Ɣ ɣ Ḥ ḥ Ř ř Ṛ ṛ Ṣ ṣ Ṭ ṭ Ẓ ẓ","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c Č č D d Ḍ ḍ E e Ɛ ɛ F f G g Ǧ ǧ Ɣ ɣ H h Ḥ ḥ I i J j K k L l M m N n O o P p Q q R r Ř ř Ṛ ṛ S s Ṣ ṣ T t Ṭ ṭ U u V v W w X x Y y Z z Ẓ ẓ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Shilha","altNames":["Tachelhit"],"region":"African","speakers":7000000,"script":"Latn","pangrams":["Lqqiṣt n yan urgaz lli yzznzan tammnt ɣ ssuqq. Yan urgaz iɛmmr mnnaw yilmawn n tammnt ɣ ssuqq. Yašk nn dars yan urgaz, ira ad dars isɣ tammnt. Inna y as: \\"Mnšk at tzznzt tammnt ann?\\" Inna y as: \\"Mḍi tt, iɣ ak tɛžb ar gis tsawalt.\\" Yasy urgaz ann yan yilm, ifsi t, imḍi tammnt, ifk t i bab nns, inna as: \\"Amẓ, ar kiɣ gussɣ wayyaḍ.\\" Yamẓ t s ufus nns, yasi daɣ umsaɣ lli wayyaḍ, ifsi t, imḍi tammnt, ifk t daɣ i bab nns. Yamẓ t s ufus nns yaḍnin, yasy umsaɣ yan yilm n tammnt, irur. Iggammi bu tammnt mad a yskar i yilmawn lli yumẓ."],"htmlTag":"shi","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ḍ ḍ Ɛ ɛ Ɣ ɣ Š š Ṣ ṣ Ž ž Ẓ ẓ","alphabet":"A a B b C c D d Ḍ ḍ E e Ɛ ɛ F f G g Ɣ ɣ H h I i J j K k L l M m N n O o P p Q q R r S s Š š Ṣ ṣ T t U u V v W w X x Y y Z z Ž ž Ẓ ẓ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Skolt Sami","altNames":["Eastern Sami"],"speakers":320,"region":"European","alphabet":"A a  â Å å Ä ä B b C c Č č D d Đ đ E e F f G g Ǧ ǧ Ǥ ǥ H h I i J j K k Ǩ ǩ L l M m N n Ŋ ŋ O o Õ õ P p R r S s Š š T t U u V v Z z Ž ž Ʒ ʒ Ǯ ǯ","htmlTag":"sms","opentypeTag":"SKS","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":" â Å å Ä ä Č č Đ đ Ǧ ǧ Ǥ ǥ Ǩ ǩ Ŋ ŋ Õ õ Š š Ž ž Ʒ ʒ Ǯ ǯ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Slovak","region":"European","speakers":5500000,"pangrams":["Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso."],"gotchas":[{"topic":"vertical caron","tags":["metrics"],"description":"The vertical form of the caron diacritic found with d, L, l and t should be kerned against lowercase letters and punctuation.","tests":["loďka ďábelska ďatlov ďábel objížďka buďto","Ľadovec Ľudovít ĽM ","veľký ľuľkovité Iľja Akýkoľvek Teľa Diaľnica","břeťa cenťák žesťový řiťka opúšťať hradišťský tchaj-ťi šťuka dvanásťročný","loď. loď, loď: loď; loď- loď? loď!","čmeľ. čmeľ, čmeľ; čmeľ: čmeľ- čmeľ? čmeľ!","dešť. dešť, dešť; dešť: dešť- dešť? dešť!","ď” ľ” ť” ď“ ľ“ ť“"]},{"topic":"caron and inverted caron","tags":["congruency"],"tests":["môže?"]}],"htmlTag":"sk","opentypeTag":"SKY","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Á á Ä ä Č č Ď ď É é Í í Ĺ ĺ Ľ ľ Ň ň Ô ô Ŕ ŕ Š š Ť ť Ú ú Ý ý Ž ž","alphabet":"A a Á á Ä ä B b C c Č č D d Ď ď E e É é F f G g H h I i Í í J j K k L l Ĺ ĺ Ľ ľ M m N n Ň ň O o Ô ô P p Q q R r Ŕ ŕ S s Š š T t Ť ť U u Ú ú V v W w X x Y y Ý ý Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Slovenian","speakers":2500000,"region":"European","pangrams":["Hišničin bratec vzgaja polže pod fikusom."],"htmlTag":"sl","opentypeTag":"SLV","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Č č Š š Ž ž","alphabet":"A a B b C c Č č D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s Š š T t U u V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Spanish","region":"European","speakers":405000000,"letterings":["Alacrán Babélico Calcaño Dónde Erección Érebo Fitófago Galápago Hechicería Ilegítimo Índice Jujeño Kafkiano Lilongüe Máximo Neptuno Ñisñil Octógono Óxido Púrpura Recurrir Senescalía Taoísta Urubú Último Vivencia Wawarón Xeneixe Yinyang Zaquizamí"],"pangrams":["Whisky bueno: ¡excitad mi frágil pequeña vejez!","El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío; añoraba a su querido cachorro.","La niña, viéndose atrapada en el áspero baúl índigo y sintiendo asfixia, lloró de vergüenza; mientras que la frustrada madre llamaba a su hija diciendo: “¿Dónde estás Waleska?”.","El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja."],"gotchas":[{"topic":"question inverted","tags":["metrics"],"tests":["“¿Vale?” «¿Vale?»"]}],"htmlTag":"es","opentypeTag":"ESP","script":"Latn","scriptName":"Latin","sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"¡ ¿ Á á É é Í í Ñ ñ Ó ó Ú ú Ü ü","alphabet":"¡ ¿ A a Á á B b C c D d E e É é F f G g H h I i Í í J j K k L l M m N n Ñ ñ O o Ó ó P p Q q R r S s T t U u Ú ú Ü ü V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Swedish","region":"European","speakers":8700000,"pangrams":["Byxfjärmat föl gick på duvshowen."],"htmlTag":"sv","opentypeTag":"SVE","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Å å Ä ä Ö ö","alphabet":"A a Å å Ä ä B b C c D d E e F f G g H h I i J j K k L l M m N n O o Ö ö P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Tagalog","region":"Austronesian","speakers":28000000,"opentypeTag":"TGL ","pangrams":["Ang bawat rehistradong kalahok sa patimpalak ay umaasang magantimpalaan ng ñino."],"htmlTag":"tl","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ñ ñ","alphabet":"A a B b C c D d E e F f G g H h I i J j K k L l M m N n Ñ ñ O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Tatar","speakers":5200000,"script":"Cyrl","region":"Asian","alphabet":"А а Ә ә Б б В в Г г Д д Е е Ё ё Ж ж Җ җ З з И и Й й К к Л л М м Н н Ң ң О о Ө ө П п Р р С с Т т У у Ү ү Ф ф Х х Һ һ Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я","htmlTag":"tt","opentypeTag":"TAT","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ә ә Ё ё Җ җ Ң ң Ө ө Ү ү Һ һ","optionalCharacters":"","optionalCharactersNote":""},{"language":"Tlapanec","altNames":["Meꞌphaa","Azoyú Me\'phaa","Azoyú Tlapanec"],"speakers":127000,"region":"American","specialCharacters":"Ñ ñ Ꞌ ꞌ","alphabet":"A a B b C c CH ch D d DX dx E e F f G g H h I i J j K k KH kh L l M m N n Ñ ñ O o P p PH ph Q q R r S s T t TH th U u V v W w X x Y y Z z Ꞌ ꞌ","htmlTag":"tpc","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Turkish","region":"European","speakers":63000000,"pangrams":["Pijamalı hasta yağız şoföre çabucak güvendi. Öküz ajan hapse düştü yavrum, ocağı felç gibi."],"gotchas":[{"topic":"Dotted/dotless i","tags":["localization"],"description":"Small caps and all-caps fonts need special consideration for Turkic languages, which map lowercase i to uppercase Idotaccent, and uppercase I to lowercase dotlessi. OpenType codes: assign this feature to languages TRK, AZE, CRT, TAT, KAZ of script latn.","tests":["“kevgir” & “direk” always have dots","“Işım” has no dots","“haritacı” & “siyahımsı” have dots over the first i only"]}],"alphabet":"A a B b C c Ç ç D d E e F f G g Ğ ğ H h I ı İ i J j K k L l M m N n O o Ö ö P p R r S s Ş ş T t U u Ü ü V v Y y Z z","alphabetIsSorted":true,"htmlTag":"tr","opentypeTag":"TRK","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"specialCharacters":"Ç ç Ğ ğ I i İ ı Ö ö Ş ş Ü ü","optionalCharacters":"","optionalCharactersNote":""},{"language":"Turkmen","speakers":6700000,"script":"Cyrl","region":"Asian","alphabet":"А а Б б В в Г г Д д Е е Ё ё Ж ж Җ җ З з И и Й й К к Л л М м Н н Ң ң О о Ө ө П п Р р С с Т т У у Ү ү Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ә ә Ю ю Я я","htmlTag":"tk","opentypeTag":"TKM","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ә ә Ё ё Җ җ Ң ң Ө ө Ү ү","optionalCharacters":"","optionalCharactersNote":""},{"language":"Ukrainian","region":"European","script":"Cyrl","speakers":30000000,"pangrams":["Чуєш їх, доцю, га? Кумедна ж ти, прощайся без ґольфів! Жебракують філософи при ґанку церкви в Гадячі, ще й шатро їхнє п’яне знаємо."],"gotchas":[{"topic":"її","tags":["metrics","ligature","optional"],"description":"The possible collision of dieresis in Ukrainian word її (‘her’) can be avoided by providing a ligature with three dots instead of four.","tests":["ЗГОДОМ ЇЇ ВЖИВ без імени її творця. Ви вже бачили її нового друга? Обидві її дитини були шоковані від її нового друга, але змирилися з ситуацією, бо хотіли, щоб їх мама була щаслива."]}],"specialCharacters":"Ґ ґ Є є І і Ї ї","alphabet":"А а Б б В в Г г Ґ ґ Д д Е е Є є Ж ж З з И и І і Ї ї Й й К к Л л М м Н н О о П п Р р С с Т т У у Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ь ь Ю ю Я я","htmlTag":"uk","opentypeTag":"UKR","scriptName":"Cyrillic","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Uzbek","script":"Cyrl","htmlTag":"uz","region":"Asian","speakers":27000000,"specialCharacters":"Ғ ғ Қ қ Ў ў Ҳ ҳ","alphabet":" А а Б б Д д Э э Е е Ф ф Г г Ҳ ҳ И и Ж ж К к Л л М м Н н О о П п Қ қ Р р С с Т т У у В в Х х Й й З з Ў ў Ғ ғ Ш ш Ч ч нг ъ","opentypeTag":"UZB","scriptName":"Cyrillic","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Uzbek","script":"Latn","htmlTag":"uz","region":"Asian","speakers":27000000,"specialCharacters":"Gʻ gʻ Oʻ oʻ ʼ","alphabet":"A a B b CH ch D d E e F f G g Gʻ gʻ H h I i J j K k L l M m N n NG ng O o Oʻ oʻ P p Q q R r S s SH sh T t U u V v X x Y y Z z ʼ","opentypeTag":"UZB","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Uzbek (planned reform)","script":"Latn","htmlTag":"uz","region":"Asian","speakers":27000000,"specialCharacters":"Ç ç Ǵ ǵ Ó ó Ş ş ʼ","alphabet":"A a B b C c Ç ç D d E e F f G g Ǵ ǵ H h I i J j K k L l M m N n O o Ó ó P p Q q R r S s Ş ş T t U u V v X x Y y Z z ʼ","opentypeTag":"UZB","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"optionalCharacters":"","optionalCharactersNote":""},{"language":"Vai","region":"African","script":"Latn","speakers":120000,"specialCharacters":"Á á à ã Ɓ ɓ Ɗ ɗ É é Ẽ ẽ Ɛ ɛ Í í Ĩ ĩ Ŋ ŋ Ó ó Õ õ Ɔ ɔ Ú ú Ũ ũ","htmlTag":"vai","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á à ã B b Ɓ ɓ C c D d Ɗ ɗ E e É é Ẽ ẽ Ɛ ɛ F f G g H h I i Í í Ĩ ĩ J j K k L l M m N n Ŋ ŋ O o Ó ó Õ õ Ɔ ɔ P p Q q R r S s T t U u Ú ú Ũ ũ V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Vietnamese","region":"Asian","script":"Latn","speakers":76000000,"pangrams":["Do bạch kim rất quý nên sẽ dùng để lắp vô xương."],"gotchas":[{"topic":"horn diacritic","tags":["metrics"],"tests":["lựt mưng nữi nựi nưm lưu"]}],"specialCharacters":"Á á À à Ă ă Ắ ắ Ằ ằ Ẵ ẵ Ẳ ẳ  â Ấ ấ Ầ ầ Ẫ ẫ Ẩ ẩ à ã Ả ả Ạ ạ Ặ ặ Ậ ậ Đ đ É é È è Ê ê Ế ế Ề ề Ễ ễ Ể ể Ẽ ẽ Ẻ ẻ Ẹ ẹ Ệ ệ Í í Ì ì Ĩ ĩ Ỉ ỉ Ị ị Ó ó Ò ò Ô ô Ố ố Ồ ồ Ỗ ỗ Ổ ổ Õ õ Ỏ ỏ Ơ ơ Ớ ớ Ờ ờ Ỡ ỡ Ở ở Ợ ợ Ọ ọ Ộ ộ Ú ú Ù ù Ũ ũ Ủ ủ Ư ư Ứ ứ Ừ ừ Ữ ữ Ử ử Ự ự Ụ ụ Ý ý Ỳ ỳ Ỹ ỹ Ỷ ỷ Ỵ ỵ","paragraphs":["Ảnh hưởng này kéo theo sự xuất hiện của nhiều từ gốc Pháp trong nhiều lĩnh vực khác nhau, đặc biệt là trong khoa học – kỹ thuật. Ễnh ương đốm.","Tiếng Việt, còn gọi tiếng Việt Nam hay Việt ngữ, là ngôn ngữ của người Việt (người Kinh) và là ngôn ngữ chính thức tại Việt Nam. Đây là tiếng mẹ đẻ của khoảng 85% dân cư Việt Nam, cùng với hơn bốn triệu người Việt hải ngoại. Tiếng Việt còn là ngôn ngữ thứ hai của các dân tộc thiểu số tại Việt Nam. Mặc dù tiếng Việt có một số từ vựng vay mượn từ tiếng Hán và trước đây dùng chữ Nôm — một hệ chữ dựa trên chữ Hán — để viết nhưng tiếng Việt được coi là một trong số các ngôn ngữ thuộc ngữ hệ Nam Á có số người nói nhiều nhất (nhiều hơn một số lần so với các ngôn ngữ khác cùng hệ cộng lại). Ngày nay, tiếng Việt dùng bảng chữ cái Latinh, gọi là chữ Quốc ngữ, cùng các dấu thanh để viết.","Tiếng Việt được chính thức ghi nhận trong Hiến pháp nước Cộng hòa Xã hội chủ nghĩa Việt Nam 2013, tại chương I điều 5 mục 3, là ngôn ngữ quốc gia của Việt Nam. Tiếng Việt bao gồm cách phát âm tiếng Việt và chữ Quốc ngữ để viết. Tuy nhiên hiện chưa có bất kỳ văn bản nào ở cấp nhà nước quy định giọng chuẩn và quốc tự của tiếng Việt. Hiện nay phần lớn các văn bản trong nước được viết theo những \\"Quy định về chính tả tiếng Việt và về thuật ngữ tiếng Việt\\" áp dụng cho các sách giáo khoa, báo và văn bản của ngành giáo dục nêu tại Quyết định của Bộ Giáo dục số 240/QĐ ngày 5 tháng 3 năm 1984 do những người thụ hưởng giáo dục đó sau này ra làm việc trong mọi lĩnh vực xã hội.","Cũng cần lưu ý tránh nhầm lẫn với Việt ngữ (粵語) hay tiếng Quảng Đông, một ngôn ngữ được sử dụng ở miền nam Trung Quốc (Quảng Đông, Quảng Tây) cũng như ở Hồng Kông và Ma Cao.","Tổ chức tiêu chuẩn hóa quốc tế đặt mã ngôn ngữ hai chữ cái cho tiếng Việt là \\"vi\\" (tiêu chuẩn ISO 639-1) và đặt mã ngôn ngữ ba chữ cái cho tiếng Việt là \\"vie\\" (tiêu chuẩn ISO 639-2)."],"htmlTag":"vi","opentypeTag":"VIT","scriptName":"Latin","letterings":[],"sentences":[],"smallcaps":[],"alphabet":"A a Á á À à Ă ă Ắ ắ Ằ ằ Ẵ ẵ Ẳ ẳ  â Ấ ấ Ầ ầ Ẫ ẫ Ẩ ẩ à ã Ả ả Ạ ạ Ặ ặ Ậ ậ B b C c D d Đ đ E e É é È è Ê ê Ế ế Ề ề Ễ ễ Ể ể Ẽ ẽ Ẻ ẻ Ẹ ẹ Ệ ệ F f G g H h I i Í í Ì ì Ĩ ĩ Ỉ ỉ Ị ị J j K k L l M m N n O o Ó ó Ò ò Ô ô Ố ố Ồ ồ Ỗ ỗ Ổ ổ Õ õ Ỏ ỏ Ơ ơ Ớ ớ Ờ ờ Ỡ ỡ Ở ở Ợ ợ Ọ ọ Ộ ộ P p Q q R r S s T t U u Ú ú Ù ù Ũ ũ Ủ ủ Ư ư Ứ ứ Ừ ừ Ữ ữ Ử ử Ự ự Ụ ụ V v W w X x Y y Ý ý Ỳ ỳ Ỹ ỹ Ỷ ỷ Ỵ ỵ Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Walser German","altNames":["Walser","Walliser German","Walliser","Walserdeutsch","Walliserdeutsch"],"region":"European","speakers":22000,"pangrams":["«Méin oalten atte ischt gsinh van in z’Überlann, un d’oaltun mamma ischt van Éischeme, ischt gsing héi van im Proa. Stévenin ischt gsinh dar pappa, la nonna ischt gsinh des Chamonal. [...] D’alpu ischt gsinh aschua van méin oalten pappa. Ich wiss nöit ol z’is heji... Ischt gsinh aschuan d’oaltu, un d’ketschu, gmachut a schian ketschu in z’Überlann.»"],"htmlTag":"wae","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"’ « » É é Ö ö Ü ü","alphabet":"’ « » A a B b C c D d E e É é F f G g H h I i J j K k L l M m N n O o Ö ö P p Q q R r S s T t U u Ü ü V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Welsh","region":"European","speakers":700000,"pangrams":["Parciais fy jac codi baw hud llawn dŵr ger tŷ Mabon. John Rhŷs."],"specialCharacters":"Á á À à  â Ä ä É é È è Ê ê Ë ë Í í Ì ì Î î Ï ï Ó ó Ò ò Ô ô Ö ö Ú ú Ù ù Û û Ü ü Ẃ ẃ Ẁ ẁ Ŵ ŵ Ẅ ẅ Ý ý Ỳ ỳ Ŷ ŷ Ÿ ÿ","htmlTag":"cy","opentypeTag":"WEL","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â Ä ä B b C c D d E e É é È è Ê ê Ë ë F f G g H h I i Í í Ì ì Î î Ï ï J j K k L l M m N n O o Ó ó Ò ò Ô ô Ö ö P p Q q R r S s T t U u Ú ú Ù ù Û û Ü ü V v W w Ẃ ẃ Ẁ ẁ Ŵ ŵ Ẅ ẅ X x Y y Ý ý Ỳ ỳ Ŷ ŷ Ÿ ÿ Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Central Yambasa","altNames":["Yangben"],"region":"African","speakers":17000,"specialCharacters":"Á á À à  â Ǎ ǎ Ā ā É é È è Ɛ ɛ Í í Ì ì Î î Ī ī Ŋ ŋ Ó ó Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ Ú ú Ù ù Û û Ǔ ǔ Ū ū","htmlTag":"yav","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a Á á À à  â Ǎ ǎ Ā ā B b C c D d E e É é È è Ɛ ɛ F f G g H h I i Í í Ì ì Î î Ī ī J j K k L l M m N n Ŋ ŋ O o Ó ó Ò ò Ô ô Ǒ ǒ Ō ō Ɔ ɔ P p Q q R r S s T t U u Ú ú Ù ù Û û Ǔ ǔ Ū ū V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Yoruba","region":"African","speakers":28000000,"pangrams":["Ìwò̩fà ń yò̩ séji tó gbojúmó̩, ó hàn pákànpò̩ gan-an nis̩é̩ rè̩ bó dò̩la."],"gotchas":[{"topic":"vertical line/dot below","tags":["mark"],"description":"Some combinations do not have precomposed diacritics: letters E, O, S can take vertical line below, E and O also in combination with acute, grave, and macron. In some publications, dot below is used instead of the vertical line.","tests":["E̩ É̩ È̩ Ē̩ O̩ Ó̩ Ò̩ Ō̩ S̩ e̩ é̩ è̩ ē̩ o̩ ó̩ ò̩ ō̩ s̩","Ẹ Ẹ́ Ẹ̀ Ẹ̄ Ọ Ọ́ Ọ̀ Ọ̄ Ṣ ẹ ẹ́ ẹ̀ ẹ̄ ọ ọ́ ọ̀ ọ̄ ṣ"]}],"specialCharacters":"Á á À à Ā ā É é È è Ē ē E̩ e̩ É̩ é̩ È̩ è̩ Ē̩ ē̩ Ẹ ẹ Ẹ́ ẹ́ Ẹ̀ ẹ̀ Ẹ̄ ẹ̄ Í í Ì ì Ī ī Ó ó Ò ò Ō ō O̩ o̩ Ó̩ ó̩ Ò̩ ò̩ Ō̩ ō̩ Ọ ọ Ọ́ ọ́ Ọ̀ ọ̀ Ọ̄ ọ̄ S̩ s̩ Ṣ ṣ Ú ú Ù ù Ū ū","htmlTag":"yo","opentypeTag":"YBA","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"alphabet":"A a Á á À à Ā ā B b C c D d E e É é È è Ē ē E̩ e̩ É̩ é̩ È̩ è̩ Ē̩ ē̩ Ẹ ẹ Ẹ́ ẹ́ Ẹ̀ ẹ̀ Ẹ̄ ẹ̄ F f G g H h I i Í í Ì ì Ī ī J j K k L l M m N n O o Ó ó Ò ò Ō ō O̩ o̩ Ó̩ ó̩ Ò̩ ò̩ Ō̩ ō̩ Ọ ọ Ọ́ ọ́ Ọ̀ ọ̀ Ọ̄ ọ̄ P p Q q R r S s S̩ s̩ Ṣ ṣ T t U u Ú ú Ù ù Ū ū V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"Zarma","region":"African","speakers":3500000,"pangrams":["Da curo fo hẽ, afo mana hẽ, i si jinde kaana bay. Ay no leemuyaŋ. "],"specialCharacters":"à ã Ẽ ẽ Ɲ ɲ Ŋ ŋ Õ õ Š š Ž ž","htmlTag":"dje","opentypeTag":"DJR","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a à ã B b C c D d E e Ẽ ẽ F f G g H h I i J j K k L l M m N n Ɲ ɲ Ŋ ŋ O o Õ õ P p Q q R r S s Š š T t U u V v W w X x Y y Z z Ž ž","optionalCharacters":"","optionalCharactersNote":""},{"language":"Zazaki","region":"Asian","speakers":1600000,"alphabet":"A a B b C c Ç ç D d E e Ê ê F f G g Ğ ğ H h I i Î î J j K k L l M m N n O o P p Q q R r S s Ş ş T t U u Û û V v W w X x Y y Z z","htmlTag":"zza","script":"Latn","scriptName":"Latin","pangrams":[],"letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"specialCharacters":"Ç ç Ê ê Ğ ğ Î î Ş ş Û û","optionalCharacters":"","optionalCharactersNote":""},{"language":"Zulu","region":"African","speakers":12000000,"pangrams":["Thina, bantu baseNingizimu Afrika, Siyakukhumbula ukucekelwa phansi kwamalungelo okwenzeka eminyakeni eyadlula; Sibungaza labo abahluphekela ubulungiswa nenkululeko kulo mhlaba wethu; Sihlonipha labo abasebenzela ukwakha nokuthuthukisa izwe lethu; futhi Sikholelwa ekutheni iNingizimu Afrika ingeyabo bonke abahlala kuyo, sibumbene nakuba singafani."],"specialCharacters":"","htmlTag":"zu","opentypeTag":"ZUL","script":"Latn","scriptName":"Latin","letterings":[],"sentences":[],"paragraphs":[],"smallcaps":[],"gotchas":[],"alphabet":"A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z","optionalCharacters":"","optionalCharactersNote":""},{"language":"IPA","pseudo":true,"htmlTag":"","opentypeTag":"","script":"IPA","speakers":0,"_specialCharacters":"ʃ θ ʊ ʊ ʌ ʒ ʔ æ ɑ ð ə ɚ ɛ ɜ ɝ ɪ ɫ ŋ ɔ ɒ ɹ ɾ ˈ ˌ ː ᵊ ʳ õ r̩","paragraphs":["/sɯ̥ʃi/ /a̠ˈmiɣo̟/ [ˈɲeɣʐɛ] [ðə bɛɪʒ çjuː ˈɒn ðə wɔːtəz əv ðə lɔx ɪmˈprɛst ɔːl ɪnˈkluːdɪŋ ðə frɛntʃ kwiːn bɪˈfɔː ˈʃiː hɜːd ðæt ˈsɪɱfəni əˈɡɛn dʒəst əz jʌŋ ˈɑːθə ˈwɒntɪd]","/à ˈnojtɨ, vuˈvo kuuaɫʃˈki ˈve u ˈimɐ̃ kɐˈiɾ nu ˈpɛ du ˈpĩgüˈĩ kɐjˈʃozu i vuˈvɔ ˈpõj ɐˈsukaɾ nu ˈʃa dɨ ˈtɐmɐɾɐʒ du ʒɐbuˈti fɨˈɫiʃ/","[ˈxoˈse kõmˈpɾo ˈuna ˈβjexa sãmˈpoɲa ɛ̃m pɛˈɾu ɛksuˈsãn̪dose, soˈfia tiˈɾo su ˈwiskj al̪ deˈsaɣwe ðe la βãŋˈkɛta]"," maj ˌɹɛvəˈleʃənz æz ə spaj ˈstivən ˈliˌkɑk ( fɹəm ˈfɹɛnzid ˈfɪkʃən ) ɪn ˈmɛni ˈpipəl ðə ˈvɛɹi nem \\"spaj \\" əkˈsajts ə ˈʃʌdəɹ əv ˌæpɹəˈhɛnʃən ; wi spajz , ɪn fækt , ɡɛt kwajt just tə ˈbiɪŋ ˈʃʌdəɹd æt . nʌn əv ʌs spajz majnd ət æt ɑl . ˌwɛnˈɛvəɹ aj ˈɛntəɹ ə ˌhoˈtɛl ənd ˈɹɛdʒəstəɹ ˌmajˈsɛlf æz ə spaj aj əm kwajt əˈkʌstəmd tə si ə θɹɪl əv fɪɹ ɹʌn ɹawnd ðə kləɹks , ɔɹ kləɹk , bəˈhajnd ðə dɛsk . ʌs spajz , ɔɹ wi spajz --fɔɹ wi kɑl ɑɹˈsɛlvz boθ --ɑɹ ðʌs ə ɹes əˈpɑɹt . nʌn no ʌs . ɑl fɪɹ ʌs . wɛɹ du wi lɪv ? ˈnoˌwɛɹ . wɛɹ ɑɹ wi ? ˈɛvɹiˌwɛɹ .","ˈfɹikwəntli wi dont no ɑɹˈsɛlvz wɛɹ wi ɑɹ . ðə ˈsikɹət ˈɔɹdəɹz ðət wi ɹəˈsiv kʌm fɹəm so haj ʌp ðæt ɪt ɪz ˈɑfən fʌɹˈbɪdən tu ʌs ˈivən tə æsk wɛɹ wi ɑɹ . ə fɹɛnd əv majn , ɔɹ æt list ə ˈfɛlo spaj --ʌs spajz hæv no fɹɛndz --wʌn əv ðə most ˈbɹɪljənt mɛn ɪn ðə hʌŋˈɡɛɹiən ˈsikɹət ˈsəɹvəs , wʌns spɛnt ə mʌnθ ɪn ˌnju ˈjɔɹk ˈʌndəɹ ðə əmˈpɹɛʃən ðət hi wəz ən ˈwɪnəˌpɛɡ . ɪf ðɪs ˈhæpənd tə ðə most ˈbɹɪljənt , θɪŋk əv ðə ˈʌðəɹz . ðə ˈsɔɹoz əv ə ˈsʌməɹ ɡɛst lɛt mi ədˈmɪt , æz aj stɑɹt tə ɹajt , ðət ðə hol θɪŋ ɪz maj fɑlt . aj ʃʊd ˈnɛvəɹ həv kʌm , aj nju ˈbɛtəɹ . aj həv non ˈbɛtəɹ fɔɹ jɪɹz . aj hæv non ðət ɪt əz ʃɪɹ ˈmædnəs tə ɡo ənd pe ˈvɪzəts ɪn ˈʌðəɹ ˈpipəlz ˈhawzəz . jɛt ɪn ə ˈmomənt əv ɪnˈsænəti aj həv lɛt ˌmajˈsɛlf ˈɪn fəɹ ɪt ənd hɪɹ aj æm . ðɛɹ ɪz no hop , no ˈawtlət naw tɪl ðə fəɹst əv ˌsɛpˈtɛmbəɹ wɛn maj ˈvɪzət ɪz tə ˈtəɹməˌnet . ˈajðəɹ ˈðæt ɔɹ ˈdɛθ . aj du nɑt ˈɡɹetli kɛɹ wɪtʃ ."],"scriptName":"IPA","pangrams":[],"letterings":[],"sentences":[],"smallcaps":[],"gotchas":[],"specialCharacters":"","alphabet":"","optionalCharacters":"","optionalCharactersNote":""}]')},ddb0:function(t,e,n){var r=n("da84"),i=n("fdbc"),a=n("785a"),o=n("e260"),s=n("9112"),c=n("b622"),u=c("iterator"),l=c("toStringTag"),f=o.values,p=function(t,e){if(t){if(t[u]!==f)try{s(t,u,f)}catch(r){t[u]=f}if(t[l]||s(t,l,e),i[e])for(var n in o)if(t[n]!==o[n])try{s(t,n,o[n])}catch(r){t[n]=o[n]}}};for(var h in i)p(r[h]&&r[h].prototype,h);p(a,"DOMTokenList")},df75:function(t,e,n){var r=n("ca84"),i=n("7839");t.exports=Object.keys||function(t){return r(t,i)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),i=n("83ab"),a=n("da84"),o=n("e330"),s=n("1a2d"),c=n("1626"),u=n("3a9b"),l=n("577e"),f=n("edd0"),p=n("e893"),h=a.Symbol,d=h&&h.prototype;if(i&&c(h)&&(!("description"in d)||void 0!==h().description)){var g={},v=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:l(arguments[0]),e=u(d,this)?new h(t):void 0===t?h():h(t);return""===t&&(g[e]=!0),e};p(v,h),v.prototype=d,d.constructor=v;var m="Symbol(test)"==String(h("test")),b=o(d.valueOf),y=o(d.toString),w=/^Symbol\((.*)\)[^)]+$/,k=o("".replace),x=o("".slice);f(d,"description",{configurable:!0,get:function(){var t=b(this);if(s(g,t))return"";var e=y(t),n=m?x(e,7,-1):k(e,w,"$1");return""===n?void 0:n}}),r({global:!0,constructor:!0,forced:!0},{Symbol:v})}},e065:function(t,e,n){var r=n("428f"),i=n("1a2d"),a=n("e538"),o=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});i(e,t)||o(e,t,{value:a.f(t)})}},e0a5:function(t,e,n){"use strict";n("ab75")},e163:function(t,e,n){var r=n("1a2d"),i=n("1626"),a=n("7b0b"),o=n("f772"),s=n("e177"),c=o("IE_PROTO"),u=Object,l=u.prototype;t.exports=s?u.getPrototypeOf:function(t){var e=a(t);if(r(e,c))return e[c];var n=e.constructor;return i(n)&&e instanceof n?n.prototype:e instanceof u?l:null}},e177:function(t,e,n){var r=n("d039");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e260:function(t,e,n){"use strict";var r=n("fc6a"),i=n("44d2"),a=n("3f8c"),o=n("69f3"),s=n("9bf2").f,c=n("c6d2"),u=n("4754"),l=n("c430"),f=n("83ab"),p="Array Iterator",h=o.set,d=o.getterFor(p);t.exports=c(Array,"Array",(function(t,e){h(this,{type:p,target:r(t),index:0,kind:e})}),(function(){var t=d(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,u(void 0,!0)):u("keys"==n?r:"values"==n?e[r]:[r,e[r]],!1)}),"values");var g=a.Arguments=a.Array;if(i("keys"),i("values"),i("entries"),!l&&f&&"values"!==g.name)try{s(g,"name",{value:"values"})}catch(v){}},e267:function(t,e,n){var r=n("e330"),i=n("e8b5"),a=n("1626"),o=n("c6b6"),s=n("577e"),c=r([].push);t.exports=function(t){if(a(t))return t;if(i(t)){for(var e=t.length,n=[],r=0;rb&&p(r,arguments[b]),r}));if(_.prototype=x,"Error"!==w?s?s(_,C):c(_,C,{name:!0}):d&&m in k&&(u(_,k,m),u(_,k,"prepareStackTrace")),c(_,k),!g)try{x.name!==w&&a(x,"name",w),x.constructor=_}catch(S){}return _}}},e5ce:function(t,e,n){"use strict";var r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"ui-ripple-ink"})},i=[],a=n("3c7e"),o=n("1513"),s=function(t,e){var n=e.currentTarget||e.target;if(n&&!a["a"].has(n,"ui-ripple-ink")&&(n=n.querySelector(".ui-ripple-ink")),n){var r=n.getAttribute("data-ui-event");if(!r||r===t){n.setAttribute("data-ui-event",t);var i,o=n.getBoundingClientRect(),s=e.clientX-o.left,c=e.clientY-o.top,u=document.createElement("div");i=o.width===o.height?1.412*o.width:Math.sqrt(o.width*o.width+o.height*o.height);var l=2*i+"px";u.style.width=l,u.style.height=l,u.style.marginLeft=-i+s+"px",u.style.marginTop=-i+c+"px",u.className="ui-ripple-ink__ink",n.appendChild(u),setTimeout((function(){a["a"].add(u,"is-held")}),0);var f="mousedown"===t?"mouseup":"touchend",p=function t(){document.removeEventListener(f,t),a["a"].add(u,"is-done");var e=650;setTimeout((function(){n.removeChild(u),0===n.children.length&&n.removeAttribute("data-ui-event")}),e)};document.addEventListener(f,p)}}},c=function(t){0===t.button&&s(t.type,t)},u=function(t){if(t.changedTouches)for(var e=0;e0?this.value.map((function(e){return e[t.keys.label]||e})).join(this.multipleDelimiter):"":this.value?this.value[this.keys.label]||this.value:""},hasDisplayText:function(){return Boolean(this.displayText.length)},hasNoResults:function(){return!this.loading&&0!==this.query.length&&(this.disableFilter?this.noResults:0===this.filteredOptions.length)},submittedValue:function(){var t=this;if(this.name&&this.value)return Array.isArray(this.value)?this.value.map((function(e){return e[t.keys.value]||e})).join(","):this.value[this.keys.value]||this.value}},watch:{filteredOptions:function(){this.highlightedIndex=0,Object(f["a"])(this.$refs.optionsList)},query:function(){this.$emit("query-change",this.query)},isActive:function(t){t?this.addExternalClickListener(this.$el,this.onExternalClick):this.removeExternalClickListener()}},created:function(){this.value&&""!==this.value||this.setValue(null)},methods:{setValue:function(t){t=t||(this.multiple?[]:""),this.$emit("input",t),this.$emit("change",t)},highlightOption:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{autoScroll:!0};if(this.highlightedIndex!==t&&0!==this.$refs.options.length){var n=0,r=this.$refs.options.length-1;tr&&(t=n),this.highlightedIndex=t,e.autoScroll&&this.scrollOptionIntoView(this.$refs.options[t].$el)}},selectHighlighted:function(t,e){this.$refs.options.length>0&&(e.preventDefault(),this.selectOption(this.$refs.options[t].option,t))},selectOption:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{autoClose:!0},r=this.multiple&&!this.isOptionSelected(t);this.multiple?this.updateOption(t,{select:r}):(this.setValue(t),this.selectedIndex=e),this.$emit("select",t,{selected:!this.multiple||r}),this.highlightedIndex=e,this.multiple||this.clearQuery(),!this.multiple&&n.autoClose&&this.closeDropdown()},isOptionSelected:function(t){return this.multiple?Object(l["b"])(this.value,t)>-1:Object(l["a"])(this.value,t)},updateOption:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{select:!0},n=[],r=!1,i=Object(l["b"])(this.value,t);e.select&&i<0&&(n=this.value.concat(t),r=!0),!e.select&&i>-1&&(n=this.value.slice(0,i).concat(this.value.slice(i+1)),r=!0),r&&this.setValue(n)},defaultFilter:function(t,e){var n=t[this.keys.label]||t;return"string"===typeof n&&(n=n.toLowerCase()),h()(e.toLowerCase(),n)},clearSelection:function(){this.setValue(null)},clearQuery:function(){this.query=""},focus:function(){this.$refs.label.focus()},toggleDropdown:function(){this.$refs.dropdown.toggle()},openDropdown:function(){this.disabled||this.$refs.dropdown.open()},closeDropdown:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{blurAfterClose:!1};this.$refs.dropdown.close(),this.isTouched||(this.isTouched=!0,this.$emit("touch")),t.blurAfterClose?this.isActive=!1:this.$refs.label.focus()},onFocus:function(t){this.isActive||(this.isActive=!0,this.$emit("focus",t))},onBlur:function(t){this.isActive=!1,this.$emit("blur",t),this.$refs.dropdown.isOpen()&&this.closeDropdown({blurAfterClose:!0})},onOpen:function(){var t=this;this.isActive=!0,this.$refs.dropdown.$el.style.width=this.$refs.label.getBoundingClientRect().width+"px",this.$nextTick((function(){t.scrollOptionIntoView(t.$refs.optionsList.querySelector(".is-selected"))})),this.$emit("dropdown-open")},onReveal:function(){this.$refs[this.hasSearch?"searchInput":"dropdownContent"].focus()},onClose:function(){this.highlightedIndex=this.multiple?-1:this.selectedIndex,this.$emit("dropdown-close")},onExternalClick:function(){this.$refs.dropdown.isOpen()?this.closeDropdown({blurAfterClose:!0}):this.isActive&&(this.isActive=!1)},scrollOptionIntoView:function(t){Object(f["b"])(t,{container:this.$refs.optionsList,marginTop:180})},reset:function(){this.setValue(JSON.parse(this.initialValue)),this.clearQuery(),this.resetTouched(),this.selectedIndex=-1,this.highlightedIndex=-1},resetTouched:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{touched:!1};this.isTouched=t.touched}},components:{UiIcon:a["a"],UiPopover:o["a"],UiProgressCircular:s["a"],UiSelectOption:c["a"]},mixins:[u["a"]]},g=d,v=(n("20a9"),n("2877")),m=Object(v["a"])(g,r,i,!1,null,null,null);e["a"]=m.exports},e893:function(t,e,n){var r=n("1a2d"),i=n("56ef"),a=n("06cf"),o=n("9bf2");t.exports=function(t,e,n){for(var s=i(e),c=o.f,u=a.f,l=0;l0?o()(t.hex):t&&t.hsv?o()(t.hsv):t&&t.rgba?o()(t.rgba):t&&t.rgb?o()(t.rgb):o()(t),!n||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=t.h||t.hsl&&t.hsl.h||e||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:t.h||e||i.h,source:t.source,a:t.a||n.getAlpha()}}var c={props:["value"],data(){return{val:s(this.value)}},computed:{colors:{get(){return this.val},set(t){this.val=t,this.$emit("input",t)}}},watch:{value(t){this.val=s(t)}},methods:{colorChange(t,e){this.oldHue=this.colors.hsl.h,this.colors=s(t,e||this.oldHue)},isValidHex(t){return o()(t).isValid()},simpleCheckForValidColor(t){for(var e=["r","g","b","a","h","s","l","v"],n=0,r=0,i=0;it.toUpperCase())},isTransparent(t){return 0===o()(t).getAlpha()}}},u=function(){var t=this,e=t._self._c;return e("div",{staticClass:"vc-editable-input"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.val,expression:"val"}],ref:"input",staticClass:"vc-input__input",attrs:{"aria-labelledby":t.labelId},domProps:{value:t.val},on:{keydown:t.handleKeyDown,input:[function(e){e.target.composing||(t.val=e.target.value)},t.update]}}),e("span",{staticClass:"vc-input__label",attrs:{for:t.label,id:t.labelId}},[t._v(t._s(t.labelSpanText))]),e("span",{staticClass:"vc-input__desc"},[t._v(t._s(t.desc))])])},l=[],f=(n("a9e3"),n("99af"),n("fb6a"),n("d3b7"),n("25f0"),{name:"editableInput",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(t){if(!(void 0!==this.max&&+t>this.max))return t;this.$refs.input.value=this.max}},labelId:function(){return"input__label__".concat(this.label,"__").concat(Math.random().toString().slice(2,5))},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(t){this.handleChange(t.target.value)},handleChange:function(t){var e={};e[this.label]=t,(void 0===e.hex&&void 0===e["#"]||t.length>5)&&this.$emit("change",e)},handleKeyDown:function(t){var e=this.val,n=Number(e);if(n){var r=this.arrowOffset||1;38===t.keyCode&&(e=n+r,this.handleChange(e),t.preventDefault()),40===t.keyCode&&(e=n-r,this.handleChange(e),t.preventDefault())}}}}),p=f,h=(n("db99"),n("2877")),d=Object(h["a"])(p,u,l,!1,null,null,null),g=d.exports,v=function(){var t=this,e=t._self._c;return e("div",{ref:"container",staticClass:"vc-saturation",style:{background:t.bgColor},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[e("div",{staticClass:"vc-saturation--white"}),e("div",{staticClass:"vc-saturation--black"}),e("div",{staticClass:"vc-saturation-pointer",style:{top:t.pointerTop,left:t.pointerLeft}},[e("div",{staticClass:"vc-saturation-circle"})])])},m=[],b=n("53a5"),y=n.n(b),w=n("84a2"),k=n.n(w),x={name:"Saturation",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return"hsl(".concat(this.colors.hsv.h,", 100%, 50%)")},pointerTop:function(){return-100*this.colors.hsv.v+1+100+"%"},pointerLeft:function(){return 100*this.colors.hsv.s+"%"}},methods:{throttle:k()((function(t,e){t(e)}),20,{leading:!0,trailing:!1}),handleChange:function(t,e){!e&&t.preventDefault();var n=this.$refs.container;if(n){var r=n.clientWidth,i=n.clientHeight,a=n.getBoundingClientRect().left+window.pageXOffset,o=n.getBoundingClientRect().top+window.pageYOffset,s=t.pageX||(t.touches?t.touches[0].pageX:0),c=t.pageY||(t.touches?t.touches[0].pageY:0),u=y()(s-a,0,r),l=y()(c-o,0,i),f=u/r,p=y()(-l/i+1,0,1);this.throttle(this.onChange,{h:this.colors.hsv.h,s:f,v:p,a:this.colors.hsv.a,source:"hsva"})}},onChange:function(t){this.$emit("change",t)},handleMouseDown:function(t){window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}},C=x,_=(n("d9f8"),Object(h["a"])(C,v,m,!1,null,null,null)),S=_.exports,E=function(){var t=this,e=t._self._c;return e("div",{class:["vc-hue",t.directionClass]},[e("div",{ref:"container",staticClass:"vc-hue-container",attrs:{role:"slider","aria-valuenow":t.colors.hsl.h,"aria-valuemin":"0","aria-valuemax":"360"},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[e("div",{staticClass:"vc-hue-pointer",style:{top:t.pointerTop,left:t.pointerLeft},attrs:{role:"presentation"}},[e("div",{staticClass:"vc-hue-picker"})])])])},O=[],T={name:"Hue",props:{value:Object,direction:{type:String,default:"horizontal"}},data:function(){return{oldHue:0,pullDirection:""}},computed:{colors:function(){var t=this.value.hsl.h;return 0!==t&&t-this.oldHue>0&&(this.pullDirection="right"),0!==t&&t-this.oldHue<0&&(this.pullDirection="left"),this.oldHue=t,this.value},directionClass:function(){return{"vc-hue--horizontal":"horizontal"===this.direction,"vc-hue--vertical":"vertical"===this.direction}},pointerTop:function(){return"vertical"===this.direction?0===this.colors.hsl.h&&"right"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+"%":0},pointerLeft:function(){return"vertical"===this.direction?0:0===this.colors.hsl.h&&"right"===this.pullDirection?"100%":100*this.colors.hsl.h/360+"%"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n=this.$refs.container;if(n){var r,i,a=n.clientWidth,o=n.clientHeight,s=n.getBoundingClientRect().left+window.pageXOffset,c=n.getBoundingClientRect().top+window.pageYOffset,u=t.pageX||(t.touches?t.touches[0].pageX:0),l=t.pageY||(t.touches?t.touches[0].pageY:0),f=u-s,p=l-c;"vertical"===this.direction?(p<0?r=360:p>o?r=0:(i=-100*p/o+100,r=360*i/100),this.colors.hsl.h!==r&&this.$emit("change",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"})):(f<0?r=0:f>a?r=360:(i=100*f/a,r=360*i/100),this.colors.hsl.h!==r&&this.$emit("change",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"}))}},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}},A=T,L=(n("977e"),Object(h["a"])(A,E,O,!1,null,null,null)),N=L.exports,j=function(){var t=this,e=t._self._c;return e("div",{staticClass:"vc-alpha"},[e("div",{staticClass:"vc-alpha-checkboard-wrap"},[e("checkboard")],1),e("div",{staticClass:"vc-alpha-gradient",style:{background:t.gradientColor}}),e("div",{ref:"container",staticClass:"vc-alpha-container",on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[e("div",{staticClass:"vc-alpha-pointer",style:{left:100*t.colors.a+"%"}},[e("div",{staticClass:"vc-alpha-picker"})])])])},M=[],P=function(){var t=this,e=t._self._c;return e("div",{staticClass:"vc-checkerboard",style:t.bgStyle})},I=[],R={},z={name:"Checkboard",props:{size:{type:[Number,String],default:8},white:{type:String,default:"#fff"},grey:{type:String,default:"#e6e6e6"}},computed:{bgStyle:function(){return{"background-image":"url("+$(this.white,this.grey,this.size)+")"}}}};function D(t,e,n){if("undefined"===typeof document)return null;var r=document.createElement("canvas");r.width=r.height=2*n;var i=r.getContext("2d");return i?(i.fillStyle=t,i.fillRect(0,0,r.width,r.height),i.fillStyle=e,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function $(t,e,n){var r=t+","+e+","+n;if(R[r])return R[r];var i=D(t,e,n);return R[r]=i,i}var F=z,B=(n("3343"),Object(h["a"])(F,P,I,!1,null,null,null)),H=B.exports,U={name:"Alpha",props:{value:Object,onChange:Function},components:{checkboard:H},computed:{colors:function(){return this.value},gradientColor:function(){var t=this.colors.rgba,e=[t.r,t.g,t.b].join(",");return"linear-gradient(to right, rgba("+e+", 0) 0%, rgba("+e+", 1) 100%)"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n=this.$refs.container;if(n){var r,i=n.clientWidth,a=n.getBoundingClientRect().left+window.pageXOffset,o=t.pageX||(t.touches?t.touches[0].pageX:0),s=o-a;r=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==r&&this.$emit("change",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:r,source:"rgba"})}},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}},V=U,q=(n("0415"),Object(h["a"])(V,j,M,!1,null,null,null)),W=q.exports,G=["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF","rgba(0,0,0,0)"],K={name:"Sketch",mixins:[c],components:{saturation:S,hue:N,alpha:W,"ed-in":g,checkboard:H},props:{presetColors:{type:Array,default:function(){return G}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){var t;return t=this.colors.a<1?this.colors.hex8:this.colors.hex,t.replace("#","")},activeColor:function(){var t=this.colors.rgba;return"rgba("+[t.r,t.g,t.b,t.a].join(",")+")"}},methods:{handlePreset:function(t){this.colorChange({hex:t,source:"hex"})},childChange:function(t){this.colorChange(t)},inputChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b||t.a)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}},Y=K,J=(n("c89d"),Object(h["a"])(Y,r,i,!1,null,null,null));e["a"]=J.exports},edd0:function(t,e,n){var r=n("13d2"),i=n("9bf2");t.exports=function(t,e,n){return n.get&&r(n.get,e,{getter:!0}),n.set&&r(n.set,e,{setter:!0}),i.f(t,e,n)}},ee22:function(t,e,n){},efec:function(t,e,n){var r=n("1a2d"),i=n("cb2d"),a=n("51eb"),o=n("b622"),s=o("toPrimitive"),c=Date.prototype;r(c,s)||i(c,s,a)},f069:function(t,e,n){"use strict";var r=n("59ed"),i=TypeError,a=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw i("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)};t.exports.f=function(t){return new a(t)}},f0bd:function(t,e,n){"use strict";(function(t){ +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.16.1 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +var n="undefined"!==typeof window&&"undefined"!==typeof document&&"undefined"!==typeof navigator,r=function(){for(var t=["Edge","Trident","Firefox"],e=0;e=0)return 1;return 0}();function i(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}function a(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),r))}}var o=n&&window.Promise,s=o?i:a;function c(t){var e={};return t&&"[object Function]"===e.toString.call(t)}function u(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView,r=n.getComputedStyle(t,null);return e?r[e]:r}function l(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function f(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=u(t),n=e.overflow,r=e.overflowX,i=e.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?t:f(l(t))}function p(t){return t&&t.referenceNode?t.referenceNode:t}var h=n&&!(!window.MSInputMethodContext||!document.documentMode),d=n&&/MSIE 10/.test(navigator.userAgent);function g(t){return 11===t?h:10===t?d:h||d}function v(t){if(!t)return document.documentElement;var e=g(10)?document.body:null,n=t.offsetParent||null;while(n===e&&t.nextElementSibling)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?v(n):n:t?t.ownerDocument.documentElement:document.documentElement}function m(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||v(t.firstElementChild)===t)}function b(t){return null!==t.parentNode?b(t.parentNode):t}function y(t,e){if(!t||!t.nodeType||!e||!e.nodeType)return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,a=document.createRange();a.setStart(r,0),a.setEnd(i,0);var o=a.commonAncestorContainer;if(t!==o&&e!==o||r.contains(i))return m(o)?o:v(o);var s=b(t);return s.host?y(s.host,e):y(t,b(e).host)}function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var i=t.ownerDocument.documentElement,a=t.ownerDocument.scrollingElement||i;return a[n]}return t[n]}function k(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=w(e,"top"),i=w(e,"left"),a=n?-1:1;return t.top+=r*a,t.bottom+=r*a,t.left+=i*a,t.right+=i*a,t}function x(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+r+"Width"])}function C(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],g(10)?parseInt(n["offset"+t])+parseInt(r["margin"+("Height"===t?"Top":"Left")])+parseInt(r["margin"+("Height"===t?"Bottom":"Right")]):0)}function _(t){var e=t.body,n=t.documentElement,r=g(10)&&getComputedStyle(n);return{height:C("Height",e,n,r),width:C("Width",e,n,r)}}var S=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},E=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=g(10),i="HTML"===e.nodeName,a=L(t),o=L(e),s=f(t),c=u(e),l=parseFloat(c.borderTopWidth),p=parseFloat(c.borderLeftWidth);n&&i&&(o.top=Math.max(o.top,0),o.left=Math.max(o.left,0));var h=A({top:a.top-o.top-l,left:a.left-o.left-p,width:a.width,height:a.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var d=parseFloat(c.marginTop),v=parseFloat(c.marginLeft);h.top-=l-d,h.bottom-=l-d,h.left-=p-v,h.right-=p-v,h.marginTop=d,h.marginLeft=v}return(r&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(h=k(h,e)),h}function j(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,r=N(t,n),i=Math.max(n.clientWidth,window.innerWidth||0),a=Math.max(n.clientHeight,window.innerHeight||0),o=e?0:w(n),s=e?0:w(n,"left"),c={top:o-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:a};return A(c)}function M(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===u(t,"position"))return!0;var n=l(t);return!!n&&M(n)}function P(t){if(!t||!t.parentElement||g())return document.documentElement;var e=t.parentElement;while(e&&"none"===u(e,"transform"))e=e.parentElement;return e||document.documentElement}function I(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={top:0,left:0},o=i?P(t):y(t,p(e));if("viewport"===r)a=j(o,i);else{var s=void 0;"scrollParent"===r?(s=f(l(e)),"BODY"===s.nodeName&&(s=t.ownerDocument.documentElement)):s="window"===r?t.ownerDocument.documentElement:r;var c=N(s,o,i);if("HTML"!==s.nodeName||M(o))a=c;else{var u=_(t.ownerDocument),h=u.height,d=u.width;a.top+=c.top-c.marginTop,a.bottom=h+c.top,a.left+=c.left-c.marginLeft,a.right=d+c.left}}n=n||0;var g="number"===typeof n;return a.left+=g?n:n.left||0,a.top+=g?n:n.top||0,a.right-=g?n:n.right||0,a.bottom-=g?n:n.bottom||0,a}function R(t){var e=t.width,n=t.height;return e*n}function z(t,e,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var o=I(n,r,a,i),s={top:{width:o.width,height:e.top-o.top},right:{width:o.right-e.right,height:o.height},bottom:{width:o.width,height:o.bottom-e.bottom},left:{width:e.left-o.left,height:o.height}},c=Object.keys(s).map((function(t){return T({key:t},s[t],{area:R(s[t])})})).sort((function(t,e){return e.area-t.area})),u=c.filter((function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight})),l=u.length>0?u[0].key:c[0].key,f=t.split("-")[1];return l+(f?"-"+f:"")}function D(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=r?P(e):y(e,p(n));return N(n,i,r)}function $(t){var e=t.ownerDocument.defaultView,n=e.getComputedStyle(t),r=parseFloat(n.marginTop||0)+parseFloat(n.marginBottom||0),i=parseFloat(n.marginLeft||0)+parseFloat(n.marginRight||0),a={width:t.offsetWidth+i,height:t.offsetHeight+r};return a}function F(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function B(t,e,n){n=n.split("-")[0];var r=$(t),i={width:r.width,height:r.height},a=-1!==["right","left"].indexOf(n),o=a?"top":"left",s=a?"left":"top",c=a?"height":"width",u=a?"width":"height";return i[o]=e[o]+e[c]/2-r[c]/2,i[s]=n===s?e[s]-r[u]:e[F(s)],i}function H(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function U(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var r=H(t,(function(t){return t[e]===n}));return t.indexOf(r)}function V(t,e,n){var r=void 0===n?t:t.slice(0,U(t,"name",n));return r.forEach((function(t){t["function"]&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t["function"]||t.fn;t.enabled&&c(n)&&(e.offsets.popper=A(e.offsets.popper),e.offsets.reference=A(e.offsets.reference),e=n(e,t))})),e}function q(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=D(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=z(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=B(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=V(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function W(t,e){return t.some((function(t){var n=t.name,r=t.enabled;return r&&n===e}))}function G(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;ro[d]&&(t.offsets.popper[p]+=s[p]+g-o[d]),t.offsets.popper=A(t.offsets.popper);var v=s[p]+s[l]/2-g/2,m=u(t.instance.popper),b=parseFloat(m["margin"+f]),y=parseFloat(m["border"+f+"Width"]),w=v-t.offsets.popper[p]-b-y;return w=Math.max(Math.min(o[l]-g,w),0),t.arrowElement=r,t.offsets.arrow=(n={},O(n,p,Math.round(w)),O(n,h,""),n),t}function ft(t){return"end"===t?"start":"start"===t?"end":t}var pt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],ht=pt.slice(3);function dt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=ht.indexOf(t),r=ht.slice(n+1).concat(ht.slice(0,n));return e?r.reverse():r}var gt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function vt(t,e){if(W(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=I(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),r=t.placement.split("-")[0],i=F(r),a=t.placement.split("-")[1]||"",o=[];switch(e.behavior){case gt.FLIP:o=[r,i];break;case gt.CLOCKWISE:o=dt(r);break;case gt.COUNTERCLOCKWISE:o=dt(r,!0);break;default:o=e.behavior}return o.forEach((function(s,c){if(r!==s||o.length===c+1)return t;r=t.placement.split("-")[0],i=F(r);var u=t.offsets.popper,l=t.offsets.reference,f=Math.floor,p="left"===r&&f(u.right)>f(l.left)||"right"===r&&f(u.left)f(l.top)||"bottom"===r&&f(u.top)f(n.right),g=f(u.top)f(n.bottom),m="left"===r&&h||"right"===r&&d||"top"===r&&g||"bottom"===r&&v,b=-1!==["top","bottom"].indexOf(r),y=!!e.flipVariations&&(b&&"start"===a&&h||b&&"end"===a&&d||!b&&"start"===a&&g||!b&&"end"===a&&v),w=!!e.flipVariationsByContent&&(b&&"start"===a&&d||b&&"end"===a&&h||!b&&"start"===a&&v||!b&&"end"===a&&g),k=y||w;(p||m||k)&&(t.flipped=!0,(p||m)&&(r=o[c+1]),k&&(a=ft(a)),t.placement=r+(a?"-"+a:""),t.offsets.popper=T({},t.offsets.popper,B(t.instance.popper,t.offsets.reference,t.placement)),t=V(t.instance.modifiers,t,"flip"))})),t}function mt(t){var e=t.offsets,n=e.popper,r=e.reference,i=t.placement.split("-")[0],a=Math.floor,o=-1!==["top","bottom"].indexOf(i),s=o?"right":"bottom",c=o?"left":"top",u=o?"width":"height";return n[s]a(r[s])&&(t.offsets.popper[c]=a(r[s])),t}function bt(t,e,n,r){var i=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),a=+i[1],o=i[2];if(!a)return t;if(0===o.indexOf("%")){var s=void 0;switch(o){case"%p":s=n;break;case"%":case"%r":default:s=r}var c=A(s);return c[e]/100*a}if("vh"===o||"vw"===o){var u=void 0;return u="vh"===o?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0),u/100*a}return a}function yt(t,e,n,r){var i=[0,0],a=-1!==["right","left"].indexOf(r),o=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=o.indexOf(H(o,(function(t){return-1!==t.search(/,|\s/)})));o[s]&&-1===o[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var c=/\s*,\s*|\s+/,u=-1!==s?[o.slice(0,s).concat([o[s].split(c)[0]]),[o[s].split(c)[1]].concat(o.slice(s+1))]:[o];return u=u.map((function(t,r){var i=(1===r?!a:a)?"height":"width",o=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,o=!0,t):o?(t[t.length-1]+=e,o=!1,t):t.concat(e)}),[]).map((function(t){return bt(t,i,e,n)}))})),u.forEach((function(t,e){t.forEach((function(n,r){et(n)&&(i[e]+=n*("-"===t[r-1]?-1:1))}))})),i}function wt(t,e){var n=e.offset,r=t.placement,i=t.offsets,a=i.popper,o=i.reference,s=r.split("-")[0],c=void 0;return c=et(+n)?[+n,0]:yt(n,a,o,s),"left"===s?(a.top+=c[0],a.left-=c[1]):"right"===s?(a.top+=c[0],a.left+=c[1]):"top"===s?(a.left+=c[0],a.top-=c[1]):"bottom"===s&&(a.left+=c[0],a.top+=c[1]),t.popper=a,t}function kt(t,e){var n=e.boundariesElement||v(t.instance.popper);t.instance.reference===n&&(n=v(n));var r=G("transform"),i=t.instance.popper.style,a=i.top,o=i.left,s=i[r];i.top="",i.left="",i[r]="";var c=I(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);i.top=a,i.left=o,i[r]=s,e.boundaries=c;var u=e.priority,l=t.offsets.popper,f={primary:function(t){var n=l[t];return l[t]c[t]&&!e.escapeWithReference&&(r=Math.min(l[n],c[t]-("right"===t?l.width:l.height))),O({},n,r)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";l=T({},l,f[e](t))})),t.offsets.popper=l,t}function xt(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var i=t.offsets,a=i.reference,o=i.popper,s=-1!==["bottom","top"].indexOf(n),c=s?"left":"top",u=s?"width":"height",l={start:O({},c,a[c]),end:O({},c,a[c]+a[u]-o[u])};t.offsets.popper=T({},o,l[r])}return t}function Ct(t){if(!ut(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=H(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};S(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=s(this.update.bind(this)),this.options=T({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(T({},t.Defaults.modifiers,i.modifiers)).forEach((function(e){r.options.modifiers[e]=T({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return T({name:t},r.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&c(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return E(t,[{key:"update",value:function(){return q.call(this)}},{key:"destroy",value:function(){return K.call(this)}},{key:"enableEventListeners",value:function(){return X.call(this)}},{key:"disableEventListeners",value:function(){return tt.call(this)}}]),t}();Ot.Utils=("undefined"!==typeof window?window:t).PopperUtils,Ot.placements=pt,Ot.Defaults=Et,e["a"]=Ot}).call(this,n("c8ba"))},f0e4:function(t,e,n){"use strict";n("2e25")},f183:function(t,e,n){var r=n("23e7"),i=n("e330"),a=n("d012"),o=n("861d"),s=n("1a2d"),c=n("9bf2").f,u=n("241c"),l=n("057f"),f=n("4fad"),p=n("90e3"),h=n("bb2f"),d=!1,g=p("meta"),v=0,m=function(t){c(t,g,{value:{objectID:"O"+v++,weakData:{}}})},b=function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,g)){if(!f(t))return"F";if(!e)return"E";m(t)}return t[g].objectID},y=function(t,e){if(!s(t,g)){if(!f(t))return!0;if(!e)return!1;m(t)}return t[g].weakData},w=function(t){return h&&d&&f(t)&&!s(t,g)&&m(t),t},k=function(){x.enable=function(){},d=!0;var t=u.f,e=i([].splice),n={};n[g]=1,t(n).length&&(u.f=function(n){for(var r=t(n),i=0,a=r.length;i1)for(var n=1;n]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $RangeError = RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw $RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","export function validate(ref, warning) {\n const isValid = (ref instanceof Element) || (ref && ref._isVue) || (typeof ref === 'string');\n\n if (!isValid && warning) {\n console.warn(warning);\n }\n\n return isValid;\n}\n\nexport function resolve(ref, fallback) {\n if (ref instanceof Element) {\n return ref;\n } else if (ref && ref._isVue) {\n return ref.$el;\n } else if (typeof ref === 'string') {\n return document.querySelector(ref);\n }\n\n return fallback;\n}\n\nexport default {\n validate,\n resolve\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":_vm.disableTransition ? null : 'ui-progress-circular--transition-fade'}},[_c('div',{staticClass:\"ui-progress-circular\",class:_vm.classes,style:({ 'width': _vm.size + 'px', 'height': _vm.size + 'px' })},[(_vm.type === 'determinate')?_c('svg',{staticClass:\"ui-progress-circular__determinate\",attrs:{\"role\":\"progressbar\",\"aria-valuemax\":100,\"aria-valuemin\":0,\"aria-valuenow\":_vm.progress,\"height\":_vm.size,\"width\":_vm.size}},[_c('circle',{staticClass:\"ui-progress-circular__determinate-path\",style:({ 'stroke-dashoffset': _vm.strokeDashOffset, 'stroke-width': _vm.calculatedStroke }),attrs:{\"fill\":\"transparent\",\"stroke-dashoffset\":\"0\",\"cx\":_vm.size / 2,\"cy\":_vm.size / 2,\"r\":_vm.radius,\"stroke-dasharray\":_vm.strokeDashArray}})]):_c('svg',{staticClass:\"ui-progress-circular__indeterminate\",attrs:{\"role\":\"progressbar\",\"viewBox\":\"25 25 50 50\",\"aria-valuemax\":100,\"aria-valuemin\":0}},[_c('circle',{staticClass:\"ui-progress-circular__indeterminate-path\",attrs:{\"cx\":\"50\",\"cy\":\"50\",\"fill\":\"none\",\"r\":\"20\",\"stroke-miterlimit\":\"10\",\"stroke-width\":_vm.calculatedStroke}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--13-0!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!../../vue-svg-inline-loader/dist/index.min.js!./UiProgressCircular.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--13-0!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!../../vue-svg-inline-loader/dist/index.min.js!./UiProgressCircular.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UiProgressCircular.vue?vue&type=template&id=3f180b72&\"\nimport script from \"./UiProgressCircular.vue?vue&type=script&lang=js&\"\nexport * from \"./UiProgressCircular.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UiProgressCircular.vue?vue&type=style&index=0&id=3f180b72&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","/*!\n\tAutosize 3.0.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(['exports', 'module'], factory);\n\t} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n\t\tfactory(exports, module);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod.exports, mod);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (exports, module) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : (function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function (name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = ta.clientWidth;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tvar originalHeight = ta.style.height;\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = 'auto';\n\n\t\t\tvar endHeight = ta.scrollHeight + heightOffset;\n\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\tta.style.height = originalHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tta.style.height = endHeight + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that\n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight !== styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = (function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap['delete'](ta);\n\t\t}).bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function (el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\tmodule.exports = autosize;\n});","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar getPrototypeOf = Object.getPrototypeOf;\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar setPrototypeOf = Object.setPrototypeOf;\nvar ObjectPrototype = Object.prototype;\nvar PROTO = '__proto__';\n\n// `Object.prototype.__proto__` accessor\n// https://tc39.es/ecma262/#sec-object.prototype.__proto__\nif (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try {\n defineBuiltInAccessor(ObjectPrototype, PROTO, {\n configurable: true,\n get: function __proto__() {\n return getPrototypeOf(toObject(this));\n },\n set: function __proto__(proto) {\n var O = requireObjectCoercible(this);\n if (!isObject(proto) && proto !== null || !isObject(O)) return;\n setPrototypeOf(O, proto);\n }\n });\n} catch (error) { /* empty */ }\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--9-oneOf-1-2!../../sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!../../vue-svg-inline-loader/dist/index.min.js!./UiSelect.vue?vue&type=style&index=0&id=102040b6&prod&lang=scss&\"","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\nif (params.has('a', 2)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import SimpleWebWorker from 'simple-web-worker'\n\nexport default {\n install: function(Vue, name) {\n name = name || '$worker'\n Object.defineProperty(Vue.prototype, name, { value: SimpleWebWorker })\n }\n}\n","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--9-oneOf-1-2!../../sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!../../vue-svg-inline-loader/dist/index.min.js!./UiTooltip.vue?vue&type=style&index=0&id=58f3d2ae&prod&lang=scss&\"","/*!\n * Vue.js v2.7.14\n * (c) 2014-2022 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INIITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock) {\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INIITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = !shallow && observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n return invokeWithErrorHandling(fn, null, args, instance, type);\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.