@univerjs/engine-render 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +2 -2
- package/lib/es/index.js +6938 -6543
- package/lib/types/base-object.d.ts +3 -2
- package/lib/types/basics/i-document-skeleton-cached.d.ts +1 -0
- package/lib/types/basics/interfaces.d.ts +1 -0
- package/lib/types/components/component.d.ts +1 -0
- package/lib/types/components/docs/doc-background.d.ts +13 -0
- package/lib/types/components/docs/doc-component.d.ts +12 -2
- package/lib/types/components/docs/document.d.ts +3 -13
- package/lib/types/components/docs/layout/block/paragraph/layout-ruler.d.ts +2 -1
- package/lib/types/components/docs/layout/block/paragraph/layout.d.ts +3 -2
- package/lib/types/components/docs/layout/block/paragraph/linebreaking.d.ts +3 -3
- package/lib/types/components/docs/layout/block/section.d.ts +4 -2
- package/lib/types/components/docs/layout/doc-skeleton.d.ts +3 -3
- package/lib/types/components/docs/layout/model/glyph.d.ts +1 -0
- package/lib/types/components/docs/layout/model/line.d.ts +2 -1
- package/lib/types/components/docs/layout/model/page.d.ts +2 -1
- package/lib/types/components/docs/layout/tools.d.ts +31 -5
- package/lib/types/components/extension.d.ts +1 -0
- package/lib/types/components/sheets/sheet-component.d.ts +4 -0
- package/lib/types/components/sheets/sheet-skeleton.d.ts +4 -0
- package/lib/types/components/sheets/spreadsheet.d.ts +4 -3
- package/lib/types/components/skeleton.d.ts +1 -0
- package/lib/types/engine.d.ts +0 -1
- package/lib/types/group.d.ts +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/layer.d.ts +2 -0
- package/lib/types/scene-viewer.d.ts +1 -1
- package/lib/types/scene.input-manager.d.ts +4 -0
- package/lib/types/shape/index.d.ts +0 -1
- package/lib/umd/index.js +2 -2
- package/package.json +4 -4
- package/lib/types/components/docs/layout/block/paragraph/inline-drawing.d.ts +0 -5
- package/lib/types/shape/selection.d.ts +0 -17
package/lib/cjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var ur=Object.defineProperty;var lr=(r,t,e)=>t in r?ur(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var d=(r,t,e)=>(lr(r,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@univerjs/core"),ae=require("@wendellhu/redi"),u1=require("rxjs");var v6=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(v6||{}),X1=(r=>(r.PointerMove="PointerMove",r.PointerDown="PointerDown",r.PointerUp="PointerUp",r.PointerOut="PointerOut",r.PointerLeave="PointerLeave",r.PointerOver="PointerOver",r.PointerEnter="PointerEnter",r.wheel="MouseWheel",r.KeyDown="KeyDown",r.KeyUp="KeyUp",r))(X1||{}),k4=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(k4||{});const m6=1,O2='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',I4={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},cr={...I4,marginTop:20},hr={...I4,marginBottom:20},Vt=1,L4=14;var f1=(r=>(r.DEFAULT="default",r.AUTO="auto",r.CROSSHAIR="crosshair",r.POINTER="pointer",r.MOVE="move",r.EAST_RESIZE="e-resize",r.NORTH_EAST_RESIZE="ne-resize",r.NORTH_WEST_RESIZE="nw-resize",r.NORTH_RESIZE="n-resize",r.SOUTH_EAST_RESIZE="se-resize",r.SOUTH_WEST_RESIZE="sw-resize",r.SOUTH_RESIZE="s-resize",r.WEST_RESIZE="w-resize",r.TEXT="text",r.WAIT="wait",r.HELP="help",r.CELL="cell",r.NONE="none",r.VERTICAL_TEXT="vertical-text",r.NO_DROP="no-drop",r.GRAB="grab",r.GRABBING="grabbing",r.ALL_SCROLL="all-scroll",r.COLUMN_RESIZE="col-resize",r.ROW_RESIZE="row-resize",r.PROGRESS="progress",r.NOT_ALLOWED="not-allowed",r.ZOOM_IN="zoom-in",r.ZOOM_OUT="zoom-out",r))(f1||{}),M4=(r=>(r[r.noClip=0]="noClip",r[r.DOC_SIZE=1]="DOC_SIZE",r[r.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",r[r.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",r[r.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right",r))(M4||{});const ve="rgb(0,0,0)";var K=(r=>(r.TOP="t",r.BOTTOM="b",r.LEFT="l",r.RIGHT="r",r.TL_BR="tl_br",r.TL_BC="tl_bc",r.TL_MR="tl_mr",r.BL_TR="bl_tr",r.ML_TR="ml_tr",r.BC_TR="bc_tr",r))(K||{}),g2=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(g2||{}),j=(r=>(r.ENGINE="Engine",r.SCENE="Scene",r.BASE_OBJECT="BaseObject",r.SCENE_VIEWER="SceneViewer",r.CANVAS="Canvas",r.VIEWPORT="Viewport",r.LAYER="Layer",r.GROUP="Group",r))(j||{});const fr=1e3,P4=2e3,_1=.5;var h1=(r=>(r[r.translate=0]="translate",r[r.resize=1]="resize",r[r.scale=2]="scale",r[r.skew=3]="skew",r[r.flip=4]="flip",r[r.all=5]="all",r))(h1||{});class dr{isEmpty(){return this._isEmpty()}toString(t){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(t)}toRegExp(t){return new RegExp(this.toString(t),t)}}class V1 extends dr{constructor(...t){super(),this.data=[];for(const e of t)e instanceof V1?this.data.push(...e.data):this.data.push(gr(e));this._unique()}union(...t){return new V1(this,...t)}subtract(...t){const e=this.data.slice(),n=[];let s=0;const{data:i}=new V1(...t);for(;e.length!==0;){const o=e.shift(),[a,u]=o;let l;do{l=!0;const c=i[s];if(c===void 0){n.push(o);break}const[h,f]=c;f<a?(l=!1,s++):u<h?n.push(o):h<=a&&f<u?(s++,e.unshift([f+1,u])):a<h&&f<u?(s++,n.push([a,h-1]),e.unshift([f+1,u])):a<h&&u<=f&&n.push([a,h-1])}while(!l)}return new V1(...n)}intersect(...t){return this.subtract(this.subtract(...t))}_isEmpty(){return this.data.length===0}_toString(t){return _r(this.data,t)}_unique(){this.data.sort(Dr);const t=[];let e=null;for(const n of this.data)e===null||e[1]+1<n[0]?(t.push(n),e=n):(t.splice(-1,1,[Math.min(n[0],e[0]),Math.max(n[1],e[1])]),e=t[t.length-1]);this.data=t}}const vt=(...r)=>new V1(...r);function pr(r){if(r.length!==1){const t=`${r.length} (${JSON.stringify(r)})`;throw new Error(`Expected length = 1, but received ${t}.`)}return r.charCodeAt(0)}function gr(r){if(typeof r=="number"&&(r<0||r>1114111))throw new Error(`Invalid unicode code point detected: ${r<0?r:`0x${r.toString(16)}`}`);const[t]=[r].map(e=>typeof e!="object"?[e,e]:e).map(e=>e.map(n=>typeof n=="string"?pr(n):n));return t}function Dr(r,t){return r[0]-t[0]}function _r(r,t=""){if(t.includes("u"))return p0(r,!0);const{normal:e,surrogate:n}=mr(r),s=[];return e.length!==0&&s.push(p0(e,!1)),s.push(...vr(n)),s.join("|")}function p0(r,t){return`[${r.map(([n,s])=>n===s?h2(n,t):`${h2(n,t)}-${h2(s,t)}`).join("")}]`}function vr(r){const t=[];if(r.entire.data.length!==0){const e=r.entire.toString(),n=`[${[56320,57343].map(s=>h2(s,!1)).join("-")}]`;t.push(`${e}${n}`)}for(const{h:e,l:n}of r.partial){const s=h2(e,!1),i=n.toString();t.push(`${s}${i}`)}return t}function mr(r){const t=[],e=[];for(let n=0;n<r.length;n++){const s=r[n],[i,o]=s;if(i>=65536){e.push(...r.slice(n));break}if(o>=65536){t.push([i,65535]),e.push([65536,o],...r.slice(n+1));break}t.push(s)}return{normal:t,surrogate:br(e)}}function br(r){const t=[],e=[];for(const[i,o]of r){const a=g0(i),u=g0(o);if(a.h===u.h){s(a.h,a.l,u.l);continue}a.l===56320?n(a.h):s(a.h,a.l,57343);for(let l=a.h+1;l<u.h;l++)n(l);u.l===57343?n(u.h):s(u.h,56320,u.l)}return{entire:new V1(...t),partial:e.map(({h:i,l:o})=>({h:i,l:new V1(...o)}))};function n(i){t.push(i)}function s(i,o,a){const u=e[e.length-1];u!==void 0&&u.h===i?u.l.push([o,a]):e.push({h:i,l:[[o,a]]})}}function g0(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function h2(r,t){const e=r.toString(16);return t?`\\u{${e}}`:`\\u${"0".repeat(4-e.length)}${e}`}const yr=[[0,127]],Fr=[[48,57],[65,70],[97,102]],Cr=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,837,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1456,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1623],[1625,1631],[1646,1747],[1749,1756],[1761,1768],[1773,1775],[1786,1788],1791,[1808,1855],[1869,1969],[1994,2026],[2036,2037],2042,[2048,2071],[2074,2092],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2260,2271],[2275,2281],[2288,2363],[2365,2380],[2382,2384],[2389,2403],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2500],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2531],[2544,2545],2556,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2626],[2631,2632],[2635,2636],2641,[2649,2652],2654,[2672,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2757],[2759,2761],[2763,2764],2768,[2784,2787],[2809,2812],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2884],[2887,2888],[2891,2892],[2902,2903],[2908,2909],[2911,2915],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3020],3024,3031,[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3133,3140],[3142,3144],[3146,3148],[3157,3158],[3160,3162],3165,[3168,3171],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3276],[3285,3286],[3293,3294],[3296,3299],[3313,3315],[3328,3340],[3342,3344],[3346,3386],[3389,3396],[3398,3400],[3402,3404],3406,[3412,3415],[3423,3427],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3540],3542,[3544,3551],[3570,3571],[3585,3642],[3648,3654],3661,[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3769],[3771,3773],[3776,3780],3782,3789,[3804,3807],3840,[3904,3911],[3913,3948],[3953,3971],[3976,3991],[3993,4028],[4096,4150],4152,[4155,4159],[4176,4239],[4250,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5907],[5919,5939],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6067],[6070,6088],6103,6108,[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6456],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6683],[6688,6750],[6753,6772],6823,[6847,6848],[6860,6862],[6912,6963],[6965,6979],[6981,6988],[7040,7081],[7084,7087],[7098,7141],[7143,7153],[7168,7222],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7655,7668],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],11823,[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42612,42619],[42623,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43013],[43015,43047],[43072,43123],[43136,43203],43205,[43250,43255],43259,[43261,43263],[43274,43306],[43312,43346],[43360,43388],[43392,43442],[43444,43455],43471,[43488,43503],[43514,43518],[43520,43574],[43584,43597],[43616,43638],[43642,43710],43712,43714,[43739,43741],[43744,43759],[43762,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[69248,69289],[69291,69292],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69632,69701],[69745,69749],[69760,69816],69826,[69840,69864],[69888,69938],[69956,69959],[69968,70002],70006,[70016,70079],[70081,70084],[70094,70095],70106,70108,[70144,70161],[70163,70196],70199,[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70376],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70468],[70471,70472],[70475,70476],70480,70487,[70493,70499],[70656,70721],[70723,70725],[70727,70730],[70751,70753],[70784,70849],[70852,70853],70855,[71040,71093],[71096,71102],[71128,71133],[71168,71230],71232,71236,[71296,71349],71352,[71424,71450],[71453,71466],[71488,71494],[71680,71736],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,71996],[71999,72002],[72096,72103],[72106,72151],[72154,72159],72161,[72163,72164],[72192,72242],[72245,72254],[72272,72343],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72766],72768,[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73025],73027,[73030,73031],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73110],73112,[73440,73462],[73472,73488],[73490,73530],[73534,73536],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113822,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125255,125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],Er=[[0,1114111]],Sr=[[0,887],[890,895],[900,906],908,[910,929],[931,1327],[1329,1366],[1369,1418],[1421,1423],[1425,1479],[1488,1514],[1519,1524],[1536,1805],[1807,1866],[1869,1969],[1984,2042],[2045,2093],[2096,2110],[2112,2139],2142,[2144,2154],[2160,2190],[2192,2193],[2200,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[3585,3642],[3647,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4058],[4096,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5909],[5919,5942],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6109],[6112,6121],[6128,6137],[6144,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6683],[6686,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829],[6832,6862],[6912,6988],[6992,7038],[7040,7155],[7164,7223],[7227,7241],[7245,7304],[7312,7354],[7357,7367],[7376,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8292],[8294,8305],[8308,8334],[8336,8348],[8352,8384],[8400,8432],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12351],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43052],[43056,43065],[43072,43127],[43136,43205],[43214,43225],[43232,43347],[43359,43388],[43392,43469],[43471,43481],[43486,43518],[43520,43574],[43584,43597],[43600,43609],[43612,43714],[43739,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65049],[65056,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65529,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66045],[66176,66204],[66208,66256],[66272,66299],[66304,66339],[66349,66378],[66384,66426],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184],[68192,68255],[68288,68326],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68903],[68912,68921],[69216,69246],[69248,69289],[69291,69293],[69296,69297],[69373,69415],[69424,69465],[69488,69513],[69552,69579],[69600,69622],[69632,69709],[69714,69749],[69759,69826],69837,[69840,69864],[69872,69881],[69888,69940],[69942,69959],[69968,70006],[70016,70111],[70113,70132],[70144,70161],[70163,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70747],[70749,70753],[70784,70855],[70864,70873],[71040,71093],[71096,71133],[71168,71236],[71248,71257],[71264,71276],[71296,71353],[71360,71369],[71424,71450],[71453,71467],[71472,71494],[71680,71739],[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025],[72096,72103],[72106,72151],[72154,72164],[72192,72263],[72272,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72758],[72760,72773],[72784,72812],[72816,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73464],[73472,73488],[73490,73530],[73534,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92912,92917],[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94031,94087],[94095,94111],[94176,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827],[118528,118573],[118576,118598],[118608,118723],[118784,119029],[119040,119078],[119081,119274],[119296,119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121483],[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],[123214,123215],[123536,123566],[123584,123641],123647,[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125142],[125184,125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],917505,[917536,917631],[917760,917999],[983040,1048573],[1048576,1114109]],Tr=[1564,[8206,8207],[8234,8238],[8294,8297]],xr=[[40,41],60,62,91,93,123,125,171,187,[3898,3901],[5787,5788],[8249,8250],[8261,8262],[8317,8318],[8333,8334],8512,[8705,8708],[8712,8717],8721,[8725,8726],[8730,8733],[8735,8738],8740,8742,[8747,8755],8761,[8763,8780],[8786,8789],[8799,8800],8802,[8804,8811],[8814,8844],[8847,8850],8856,[8866,8867],[8870,8888],[8894,8895],[8905,8909],[8912,8913],[8918,8941],[8944,8959],[8968,8971],[8992,8993],[9001,9002],[10088,10101],10176,[10179,10182],[10184,10185],[10187,10189],[10195,10198],[10204,10206],[10210,10223],[10627,10648],[10651,10656],[10658,10671],10680,[10688,10693],10697,[10702,10706],[10708,10709],[10712,10716],10721,[10723,10725],[10728,10729],[10740,10745],[10748,10749],[10762,10780],[10782,10785],10788,10790,10793,[10795,10798],[10804,10805],[10812,10814],[10839,10840],[10852,10853],[10858,10861],[10863,10864],[10867,10868],[10873,10915],[10918,10925],[10927,10966],10972,10974,[10978,10982],[10988,10990],10995,[10999,11003],11005,11262,[11778,11781],[11785,11786],[11788,11789],[11804,11805],[11808,11817],[11861,11868],[12296,12305],[12308,12315],[65113,65118],[65124,65125],[65288,65289],65308,65310,65339,65341,65371,65373,[65375,65376],[65378,65379],120539,120597,120655,120713,120771],Br=[39,46,58,94,96,168,173,175,180,[183,184],[688,879],[884,885],890,[900,901],903,[1155,1161],1369,1375,[1425,1469],1471,[1473,1474],[1476,1477],1479,1524,[1536,1541],[1552,1562],1564,1600,[1611,1631],1648,[1750,1757],[1759,1768],[1770,1773],1807,1809,[1840,1866],[1958,1968],[2027,2037],2042,2045,[2070,2093],[2137,2139],2184,[2192,2193],[2200,2207],[2249,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2417,2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3654,3662],3761,[3764,3772],3782,[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,4348,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6103,6109,[6155,6159],6211,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,6823,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7288,7293],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7468,7530],7544,[7579,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8203,8207],[8216,8217],8228,8231,[8234,8238],[8288,8292],[8294,8303],8305,8319,[8336,8348],[8400,8432],[11388,11389],[11503,11505],11631,11647,[11744,11775],11823,12293,[12330,12333],[12337,12341],12347,[12441,12446],[12540,12542],40981,[42232,42237],42508,[42607,42610],[42612,42621],42623,[42652,42655],[42736,42737],[42752,42785],42864,[42888,42890],[42994,42996],[43e3,43001],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43471,[43493,43494],[43561,43566],[43569,43570],[43573,43574],43587,43596,43632,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,43741,[43756,43757],[43763,43764],43766,[43867,43871],[43881,43883],44005,44008,44013,64286,[64434,64450],[65024,65039],65043,[65056,65071],65106,65109,65279,65287,65294,65306,65342,65344,65392,[65438,65439],65507,[65529,65531],66045,66272,[66422,66426],[67456,67461],[67463,67504],[67506,67514],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69821,69826,69837,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,[78896,78912],[78919,78933],[92912,92916],[92976,92982],[92992,92995],94031,[94095,94111],[94176,94177],[94179,94180],[110576,110579],[110581,110587],[110589,110590],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123184,123197],123566,[123628,123631],[124139,124143],[125136,125142],[125252,125259],[127995,127999],917505,[917536,917631],[917760,917999]],Or=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,442],[444,447],[452,659],[661,696],[704,705],[736,740],837,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4348,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8544,8575],[8579,8580],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42653],[42786,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42994,42998],[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125184,125251],[127280,127305],[127312,127337],[127344,127369]],wr=[[65,90],181,[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,837,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],962,[975,977],[981,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1009],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,[4256,4293],4295,4301,[5112,5117],[7296,7304],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8064,8111],[8114,8116],[8119,8124],[8130,8132],[8135,8140],[8152,8155],[8168,8172],[8178,8180],[8183,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],Ar=[[65,90],[97,122],181,[192,214],[216,246],[248,311],[313,396],[398,410],[412,425],[428,441],[444,445],447,[452,544],[546,563],[570,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,977],[981,1013],[1015,1019],[1021,1153],[1162,1327],[1329,1366],[1377,1415],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],7545,7549,7566,[7680,7835],7838,[7840,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8486,[8490,8491],8498,8526,[8544,8575],[8579,8580],[9398,9449],[11264,11376],[11378,11379],[11381,11382],[11390,11491],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42799],[42802,42863],[42873,42887],[42891,42893],[42896,42900],[42902,42926],[42928,42954],[42960,42961],[42966,42969],[42997,42998],43859,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[125184,125251]],Rr=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8072,8079],[8088,8095],[8104,8111],[8120,8124],[8136,8140],[8152,8155],[8168,8172],[8184,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],kr=[[65,90],160,168,170,173,175,[178,181],[184,186],[188,190],[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[728,733],[736,740],[832,833],[835,837],847,880,882,884,886,890,[894,895],[900,906],908,[910,911],[913,929],[931,939],962,[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,1564,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3852,3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,[4256,4293],4295,4301,4348,[4447,4448],[5112,5117],[6068,6069],[6155,6159],[7296,7304],[7312,7354],[7357,7359],[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8064,8111],[8114,8116],[8119,8132],[8135,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8178,8180],[8183,8190],[8192,8207],8209,8215,[8228,8230],[8234,8239],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,[8287,8305],[8308,8334],[8336,8348],8360,[8448,8451],[8453,8455],[8457,8467],[8469,8470],[8473,8477],[8480,8482],8484,8486,8488,[8490,8493],[8495,8505],[8507,8512],[8517,8521],[8528,8575],8579,8585,[8748,8749],[8751,8752],[9001,9002],[9312,9450],10764,[10868,10870],10972,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,[12032,12245],12288,12342,[12344,12346],[12443,12444],12447,12543,[12593,12686],[12690,12703],[12800,12830],[12832,12871],[12880,12926],[12928,13311],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,[42652,42653],42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,[42994,42997],[43e3,43001],[43868,43871],43881,[43888,43967],[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65024,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65520,65528],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[67457,67461],[67463,67504],[67506,67514],[68736,68786],[71840,71871],[93760,93791],[113824,113827],[119134,119140],[119155,119162],[119227,119232],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[122928,122989],[125184,125217],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127232,127242],[127248,127278],[127280,127311],[127338,127340],127376,[127488,127490],[127504,127547],[127552,127560],[127568,127569],[130032,130041],[194560,195101],[917504,921599]],Ir=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,452,[454,455],[457,458],460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,497],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],Lr=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,[453,454],[456,457],[459,460],462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],[498,499],501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[4304,4346],[4349,4351],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8116],[8118,8119],8124,8126,[8130,8132],[8134,8135],8140,[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8188,8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],Mr=[[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3958,3960,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],Pr=[45,1418,1470,5120,6150,[8208,8213],8275,8315,8331,8722,11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],Nr=[173,847,1564,[4447,4448],[6068,6069],[6155,6159],[8203,8207],[8234,8238],[8288,8303],12644,[65024,65039],65279,65440,[65520,65528],[113824,113827],[119155,119162],[917504,921599]],Ur=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],$r=[94,96,168,175,180,[183,184],[688,846],[848,855],[861,866],[884,885],890,[900,901],[1155,1159],1369,[1425,1441],[1443,1469],1471,[1473,1474],1476,[1611,1618],[1623,1624],[1759,1760],[1765,1766],[1770,1772],[1840,1866],[1958,1968],[2027,2037],[2072,2073],[2200,2207],[2249,2258],[2275,2302],2364,2381,[2385,2388],2417,2492,2509,2620,2637,2748,2765,[2813,2815],2876,2893,2901,3021,3132,3149,3260,3277,[3387,3388],3405,3530,[3655,3660],3662,3770,[3784,3788],[3864,3865],3893,3895,3897,[3902,3903],[3970,3972],[3974,3975],4038,4151,[4153,4154],[4195,4196],[4201,4205],[4231,4237],4239,[4250,4251],[4957,4959],[5908,5909],[6089,6099],6109,[6457,6459],[6773,6780],6783,[6832,6846],[6849,6859],6964,6980,[7019,7027],[7082,7083],[7222,7223],[7288,7293],[7376,7400],7405,7412,[7415,7417],[7468,7530],[7620,7631],[7669,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[11503,11505],11823,[12330,12335],[12441,12444],12540,42607,[42620,42621],42623,[42652,42653],[42736,42737],[42752,42785],[42888,42890],[43e3,43001],43204,[43232,43249],[43307,43310],43347,43443,43456,43493,[43643,43645],[43711,43714],43766,[43867,43871],[43881,43883],[44012,44013],64286,[65056,65071],65342,65344,65392,[65438,65439],65507,66272,[67456,67461],[67463,67504],[67506,67514],[68325,68326],[68898,68903],[69373,69375],[69446,69456],[69506,69509],69702,69744,[69817,69818],[69939,69940],70003,70080,[70090,70092],[70197,70198],[70377,70378],70460,70477,[70502,70508],[70512,70516],70722,70726,[70850,70851],[71103,71104],71231,[71350,71351],71467,[71737,71738],[71997,71998],72003,72160,72244,72263,72345,72767,73026,[73028,73029],73111,[78919,78933],[92912,92916],[92976,92982],[94095,94111],[94192,94193],[110576,110579],[110581,110587],[110589,110590],[118528,118573],[118576,118598],[119143,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[122928,122989],[123184,123190],123566,[123628,123631],[125136,125142],[125252,125254],[125256,125258]],Hr=[35,42,[48,57],169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9732],9742,9745,[9748,9749],9752,9757,9760,[9762,9763],9766,9770,[9774,9775],[9784,9786],9792,9794,[9800,9811],[9823,9824],9827,[9829,9830],9832,9851,[9854,9855],[9874,9879],9881,[9883,9884],[9888,9889],9895,[9898,9899],[9904,9905],[9917,9918],[9924,9925],9928,[9934,9935],9937,[9939,9940],[9961,9962],[9968,9973],[9975,9978],9981,9986,9989,[9992,9997],9999,10002,10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10084],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,126980,127183,[127344,127345],[127358,127359],127374,[127377,127386],[127462,127487],[127489,127490],127514,127535,[127538,127546],[127568,127569],[127744,127777],[127780,127891],[127894,127895],[127897,127899],[127902,127984],[127987,127989],[127991,128253],[128255,128317],[128329,128334],[128336,128359],[128367,128368],[128371,128378],128391,[128394,128397],128400,[128405,128406],[128420,128421],128424,[128433,128434],128444,[128450,128452],[128465,128467],[128476,128478],128481,128483,128488,128495,128499,[128506,128591],[128640,128709],[128715,128722],[128725,128727],[128732,128741],128745,[128747,128748],128752,[128755,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],Gr=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],zr=[[127995,127999]],Xr=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],Wr=[[8986,8987],[9193,9196],9200,9203,[9725,9726],[9748,9749],[9800,9811],9855,9875,9889,[9898,9899],[9917,9918],[9924,9925],9934,9940,9962,[9970,9971],9973,9978,9981,9989,[9994,9995],10024,10060,10062,[10067,10069],10071,[10133,10135],10160,10175,[11035,11036],11088,11093,126980,127183,127374,[127377,127386],[127462,127487],127489,127514,127535,[127538,127542],[127544,127546],[127568,127569],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],127988,[127992,128062],128064,[128066,128252],[128255,128317],[128331,128334],[128336,128359],128378,[128405,128406],128420,[128507,128591],[128640,128709],128716,[128720,128722],[128725,128727],[128732,128735],[128747,128748],[128756,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],Yr=[836,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],Vr=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],836,[901,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7833],7835,[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],[8129,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8188],8491,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,12446,12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],12542,[44032,55203],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232]],jr=[168,175,180,184,[188,190],[306,307],[319,320],329,[452,460],[497,499],[728,733],836,890,[900,901],1415,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,7834,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8174],[8189,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8748,8749],[8751,8752],[9321,9397],10764,[10868,10870],10972,[12443,12444],12447,12543,[12800,12830],[12832,12867],[12880,12895],[12924,12925],[12977,13007],[13055,13311],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65269,65276],65507,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],[127552,127560]],Kr=[168,175,180,184,[188,190],[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[306,311],[313,320],[323,329],[332,337],[340,357],[360,382],[416,417],[431,432],[452,476],[478,483],[486,501],[504,539],[542,543],[550,563],[728,733],836,890,[900,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],1415,[1570,1574],[1653,1656],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8125],[8127,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8491,8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,[8748,8749],[8751,8752],8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[9321,9397],10764,[10868,10870],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,[12443,12444],[12446,12447],12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],[12542,12543],[12800,12830],[12832,12867],[12880,12895],[12910,12926],[12977,13007],[13055,13311],[44032,55203],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[64420,64421],[64432,64433],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65153,65164],[65269,65276],65507,69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],127507,[127552,127560]],qr=[169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9096,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9733],[9735,9746],[9748,9861],[9872,9989],[9992,10002],10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10087],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,[126976,127231],[127245,127247],127279,[127340,127345],[127358,127359],127374,[127377,127386],[127405,127461],[127489,127503],127514,127535,[127538,127546],[127548,127551],[127561,127994],[128e3,128317],[128326,128591],[128640,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129292,129338],[129340,129349],[129351,129791],[130048,131069]],Zr=[183,[720,721],1600,2042,2901,3654,3782,6154,6211,6823,7222,7291,12293,[12337,12341],[12445,12446],[12540,12542],40981,42508,43471,43494,43632,43741,[43763,43764],65392,[67457,67458],70493,[71110,71112],72344,[92994,92995],[94176,94177],94179,[123196,123197],[125252,125254]],Jr=[[832,833],[835,836],884,894,903,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,8049,8051,8053,8055,8057,8059,8061,8123,8126,8137,8139,8147,8155,8163,8171,[8174,8175],8185,8187,8189,[8192,8193],8486,[8490,8491],[9001,9002],10972,[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232],[194560,195101]],Qr=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],1470,1472,1475,1478,[1488,1514],[1519,1524],[1542,1551],1563,[1565,1610],[1632,1647],[1649,1749],1758,[1765,1766],1769,[1774,1805],1808,[1810,1839],[1869,1957],1969,[1984,2026],[2036,2042],[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2208,2249],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,[2495,2496],[2503,2504],[2507,2508],2510,[2524,2525],[2527,2529],[2534,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2801],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,2880,[2887,2888],[2891,2892],[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3007,[3009,3010],[3014,3016],[3018,3020],3024,[3046,3066],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],[3191,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3262],[3264,3265],[3267,3268],[3271,3272],[3274,3275],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],3389,[3391,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3414],[3416,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3536,3537],[3544,3550],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3647,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3898,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8231],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8384],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11502],[11506,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42606],42611,[42622,42653],[42656,42735],[42738,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],[43047,43051],[43056,43065],[43072,43127],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[69216,69246],[69248,69289],69293,[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],69632,[69634,69687],[69703,69709],[69714,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70463,[70465,70468],[70471,70472],[70475,70477],70480,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70831],[70833,70834],70841,[70843,70844],70846,70849,[70852,70855],[70864,70873],[71040,71086],[71088,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71264,71276],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],[71985,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],72766,[72768,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94179],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119140],119142,[119146,119149],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],123647,[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],e3=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,2494,[2497,2500],2509,2519,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,[2878,2879],[2881,2884],2893,[2901,2903],[2914,2915],2946,3006,3008,3021,3031,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3266,3270,[3276,3277],[3285,3286],[3298,3299],[3328,3329],[3387,3388],3390,[3393,3396],3405,3415,[3426,3427],3457,3530,3535,[3538,3540],3542,3551,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],[6964,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70462,70464,70487,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,70832,[70835,70840],70842,70845,[70847,70848],[70850,70851],71087,[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],71984,[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],119141,[119143,119145],[119150,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917536,917631],[917760,917999]],t3=[2381,2509,2637,2765,2893,3021,3149,3277,[3387,3388],3405,3530,3642,3770,3972,[4153,4154],[5908,5909],5940,6098,6752,6980,[7082,7083],[7154,7155],11647,43014,43052,43204,43347,43456,43766,44013,68159,69702,69744,69759,69817,[69939,69940],70080,70197,70378,70477,70722,70850,71103,71231,71350,71467,71737,[71997,71998],72160,72244,72263,72345,72767,[73028,73029],73111,[73537,73538]],n3=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],r3=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],s3=[[12272,12273],[12276,12283]],i3=[[12274,12275]],o3=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[890,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65024,65039],[65056,65071],[65075,65076],[65101,65103],[65136,65140],[65142,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],a3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12443,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],u3=[[12294,12295],[12321,12329],[12344,12346],[13312,19903],[19968,40959],[63744,64109],[64112,64217],94180,[94208,100343],[100352,101589],[101632,101640],[110960,111355],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],l3=[[8204,8205]],c3=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],h3=[[97,122],170,181,186,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,696],[704,705],[736,740],837,881,883,887,[890,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4348,4351],[5112,5117],[7296,7304],[7424,7615],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8305,8319,[8336,8348],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11389],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,[42651,42653],42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,[42863,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,[42994,42996],42998,[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125218,125251]],f3=[43,[60,62],94,124,126,172,177,215,247,[976,978],981,[1008,1009],[1012,1014],[1542,1544],8214,[8242,8244],8256,8260,8274,[8289,8292],[8314,8318],[8330,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8472,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8521],8523,[8592,8615],[8617,8622],[8624,8625],[8630,8631],[8636,8667],8669,[8676,8677],[8692,8959],[8968,8971],[8992,8993],9084,[9115,9141],9143,9168,[9180,9186],[9632,9633],[9646,9655],[9660,9665],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9720,9727],[9733,9734],9792,9794,[9824,9827],[9837,9839],[10176,10239],[10496,11007],[11056,11076],[11079,11084],64297,[65121,65126],65128,65291,[65308,65310],65340,65342,65372,65374,65506,[65513,65516],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],d3=[[64976,65007],[65534,65535],[131070,131071],[196606,196607],[262142,262143],[327678,327679],[393214,393215],[458750,458751],[524286,524287],[589822,589823],[655358,655359],[720894,720895],[786430,786431],[851966,851967],[917502,917503],[983038,983039],[1048574,1048575],[1114110,1114111]],p3=[837,[1456,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1623],[1625,1631],1648,[1750,1756],[1761,1764],[1767,1768],1773,1809,[1840,1855],[1958,1968],[2070,2071],[2075,2083],[2085,2087],[2089,2092],[2260,2271],[2275,2281],[2288,2307],[2362,2363],[2366,2380],[2382,2383],[2389,2391],[2402,2403],[2433,2435],[2494,2500],[2503,2504],[2507,2508],2519,[2530,2531],[2561,2563],[2622,2626],[2631,2632],[2635,2636],2641,[2672,2673],2677,[2689,2691],[2750,2757],[2759,2761],[2763,2764],[2786,2787],[2810,2812],[2817,2819],[2878,2884],[2887,2888],[2891,2892],[2902,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3020],3031,[3072,3076],[3134,3140],[3142,3144],[3146,3148],[3157,3158],[3170,3171],[3201,3203],[3262,3268],[3270,3272],[3274,3276],[3285,3286],[3298,3299],3315,[3328,3331],[3390,3396],[3398,3400],[3402,3404],3415,[3426,3427],[3457,3459],[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],3661,3761,[3764,3769],[3771,3772],3789,[3953,3971],[3981,3991],[3993,4028],[4139,4150],4152,[4155,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[5906,5907],[5938,5939],[5970,5971],[6002,6003],[6070,6088],[6277,6278],6313,[6432,6443],[6448,6456],[6679,6683],[6741,6750],[6753,6772],[6847,6848],[6860,6862],[6912,6916],[6965,6979],[7040,7042],[7073,7081],[7084,7085],[7143,7153],[7204,7222],[7655,7668],[9398,9449],[11744,11775],[42612,42619],[42654,42655],43010,43019,[43043,43047],[43136,43137],[43188,43203],43205,43263,[43302,43306],[43335,43346],[43392,43395],[43444,43455],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],43710,[43755,43759],43765,[44003,44010],64286,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68900,68903],[69291,69292],[69632,69634],[69688,69701],[69747,69748],[69760,69762],[69808,69816],69826,[69888,69890],[69927,69938],[69957,69958],[70016,70018],[70067,70079],[70094,70095],[70188,70196],70199,70206,70209,[70367,70376],[70400,70403],[70462,70468],[70471,70472],[70475,70476],70487,[70498,70499],[70709,70721],[70723,70725],[70832,70849],[71087,71093],[71096,71102],[71132,71133],[71216,71230],71232,[71339,71349],[71453,71466],[71724,71736],[71984,71989],[71991,71992],[71995,71996],72e3,72002,[72145,72151],[72154,72159],72164,[72193,72202],[72245,72249],[72251,72254],[72273,72283],[72330,72343],[72751,72758],[72760,72766],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73025],73027,73031,[73098,73102],[73104,73105],[73107,73110],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73536],94031,[94033,94087],[94095,94098],[94192,94193],113822,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,125255,[127280,127305],[127312,127337],[127344,127369]],g3=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],D3=[2494,2519,2878,2903,3006,3031,3266,[3285,3286],3390,3415,3535,3551,6965,8204,[12334,12335],[65438,65439],70462,70487,70832,70845,71087,71984,119141,[119150,119154],[917536,917631]],_3=[183,903,[4969,4977],6618],v3=[[6277,6278],8472,8494,[12443,12444]],m3=[170,186,[688,696],[704,705],[736,740],837,890,4348,[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[8560,8575],[9424,9449],[11388,11389],[42652,42653],42864,[42994,42996],[43e3,43001],[43868,43871],43881,67456,[67459,67461],[67463,67504],[67506,67514],[122928,122989]],b3=[94,[976,978],981,[1008,1009],[1012,1013],8214,[8242,8244],8256,[8289,8292],[8317,8318],[8333,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8473,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8511],[8517,8521],[8597,8601],[8604,8607],[8609,8610],[8612,8613],8615,[8617,8621],[8624,8625],[8630,8631],[8636,8653],[8656,8657],8659,[8661,8667],8669,[8676,8677],[8968,8971],[9140,9141],9143,9168,9186,[9632,9633],[9646,9654],[9660,9664],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9733,9734],9792,9794,[9824,9827],[9837,9838],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],65121,65123,65128,65340,65342,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],y3=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],F3=[[33,47],[58,64],[91,94],96,[123,126],[161,167],169,[171,172],174,[176,177],182,187,191,215,247,[8208,8231],[8240,8254],[8257,8275],[8277,8286],[8592,9311],[9472,10101],[10132,11263],[11776,11903],[12289,12291],[12296,12320],12336,[64830,64831],[65093,65094]],C3=[[9,13],32,133,[8206,8207],[8232,8233]],E3=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],S3=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],T3=[[11904,11929],[11931,12019],[12032,12245]],x3=[[127462,127487]],B3=[33,46,63,1417,[1565,1567],1748,[1792,1794],2041,2103,2105,[2109,2110],[2404,2405],[4170,4171],4962,[4967,4968],5742,[5941,5942],6147,6153,[6468,6469],[6824,6827],[7002,7003],[7006,7007],[7037,7038],[7227,7228],[7294,7295],[8252,8253],[8263,8265],11822,11836,[11859,11860],12290,42239,[42510,42511],42739,42743,[43126,43127],[43214,43215],43311,[43464,43465],[43613,43615],[43760,43761],44011,65106,[65110,65111],65281,65294,65311,65377,[68182,68183],[69461,69465],[69510,69513],[69703,69704],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70201],[70203,70204],70313,[70731,70732],[71106,71107],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72769,72770],[73463,73464],[73539,73540],[92782,92783],92917,[92983,92984],92996,93848,113823,121480],O3=[[105,106],303,585,616,669,690,1011,1110,1112,7522,7574,7588,7592,7725,7883,8305,[8520,8521],11388,[119842,119843],[119894,119895],[119946,119947],[119998,119999],[120050,120051],[120102,120103],[120154,120155],[120206,120207],[120258,120259],[120310,120311],[120362,120363],[120414,120415],[120466,120467],122650,[122956,122957],122984],w3=[33,44,46,[58,59],63,894,903,1417,1475,1548,1563,[1565,1567],1748,[1792,1802],1804,[2040,2041],[2096,2110],2142,[2404,2405],[3674,3675],3848,[3853,3858],[4170,4171],[4961,4968],5742,[5867,5869],[5941,5942],[6100,6102],6106,[6146,6149],[6152,6153],[6468,6469],[6824,6827],[7002,7003],[7005,7007],[7037,7038],[7227,7231],[7294,7295],[8252,8253],[8263,8265],11822,11836,11841,11852,[11854,11855],[11859,11860],[12289,12290],[42238,42239],[42509,42511],[42739,42743],[43126,43127],[43214,43215],43311,[43463,43465],[43613,43615],43743,[43760,43761],44011,[65104,65106],[65108,65111],65281,65292,65294,[65306,65307],65311,65377,65380,66463,66512,67671,67871,[68182,68183],[68336,68341],[68410,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70204],70313,[70731,70733],[70746,70747],[71106,71109],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72353,72354],[72769,72771],72817,[73463,73464],[73539,73540],[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],A3=[[13312,19903],[19968,40959],[64014,64015],64017,[64019,64020],64031,64033,[64035,64036],[64039,64041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[196608,201546],[201552,205743]],R3=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217],[127280,127305],[127312,127337],[127344,127369]],k3=[[6155,6157],6159,[65024,65039],[917760,917999]],I3=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],L3=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[891,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12442],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],[65024,65039],[65056,65071],[65075,65076],[65101,65103],65137,65139,65143,65145,65147,65149,[65151,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],M3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],3634,[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],3762,3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],65137,65139,65143,65145,65147,65149,[65151,65276],[65313,65338],[65345,65370],[65382,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],P3=Object.freeze(Object.defineProperty({__proto__:null,ASCII:yr,ASCII_Hex_Digit:Fr,Alphabetic:Cr,Any:Er,Assigned:Sr,Bidi_Control:Tr,Bidi_Mirrored:xr,Case_Ignorable:Br,Cased:Or,Changes_When_Casefolded:wr,Changes_When_Casemapped:Ar,Changes_When_Lowercased:Rr,Changes_When_NFKC_Casefolded:kr,Changes_When_Titlecased:Ir,Changes_When_Uppercased:Lr,Composition_Exclusion:Mr,Dash:Pr,Default_Ignorable_Code_Point:Nr,Deprecated:Ur,Diacritic:$r,Emoji:Hr,Emoji_Component:Gr,Emoji_Modifier:zr,Emoji_Modifier_Base:Xr,Emoji_Presentation:Wr,Expands_On_NFC:Yr,Expands_On_NFD:Vr,Expands_On_NFKC:jr,Expands_On_NFKD:Kr,Extended_Pictographic:qr,Extender:Zr,Full_Composition_Exclusion:Jr,Grapheme_Base:Qr,Grapheme_Extend:e3,Grapheme_Link:t3,Hex_Digit:n3,Hyphen:r3,IDS_Binary_Operator:s3,IDS_Trinary_Operator:i3,ID_Continue:o3,ID_Start:a3,Ideographic:u3,Join_Control:l3,Logical_Order_Exception:c3,Lowercase:h3,Math:f3,Noncharacter_Code_Point:d3,Other_Alphabetic:p3,Other_Default_Ignorable_Code_Point:g3,Other_Grapheme_Extend:D3,Other_ID_Continue:_3,Other_ID_Start:v3,Other_Lowercase:m3,Other_Math:b3,Other_Uppercase:y3,Pattern_Syntax:F3,Pattern_White_Space:C3,Prepended_Concatenation_Mark:E3,Quotation_Mark:S3,Radical:T3,Regional_Indicator:x3,Sentence_Terminal:B3,Soft_Dotted:O3,Terminal_Punctuation:w3,Unified_Ideograph:A3,Uppercase:R3,Variation_Selector:k3,White_Space:I3,XID_Continue:L3,XID_Start:M3},Symbol.toStringTag,{value:"Module"})),N3=[[65,90],[97,122],181,[192,214],[216,246],[248,442],[444,447],[452,659],[661,687],[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7467],[7531,7543],[7545,7578],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8579,8580],[11264,11387],[11390,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42863],[42865,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42997,42998],43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[125184,125251]],U3=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379],$3=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],H3=[[0,31],[127,159]],G3=[36,[162,165],1423,1547,[2046,2047],[2546,2547],2555,2801,3065,3647,6107,[8352,8384],43064,65020,65129,65284,[65504,65505],[65509,65510],[73693,73696],123647,126128],z3=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],X3=[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],W3=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],Y3=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],V3=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8203,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505,[917536,917631]],j3=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],K3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8579,8580],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,[12293,12294],[12337,12341],[12347,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42725],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],q3=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],Z3=[8232],J3=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4349,4351],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,42998,43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[125218,125251]],Q3=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],e8=[43,[60,62],124,126,172,177,215,247,1014,[1542,1544],8260,8274,[8314,8316],[8330,8332],8472,[8512,8516],8523,[8592,8596],[8602,8603],8608,8611,8614,8622,[8654,8655],8658,8660,[8692,8959],[8992,8993],9084,[9115,9139],[9180,9185],9655,9665,[9720,9727],9839,[10176,10180],[10183,10213],[10224,10239],[10496,10626],[10649,10711],[10716,10747],[10750,11007],[11056,11076],[11079,11084],64297,65122,[65124,65126],65291,[65308,65310],65372,65374,65506,[65513,65516],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[126704,126705]],t8=[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2249,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[42994,42996],[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],43881,65392,[65438,65439],[67456,67461],[67463,67504],[67506,67514],[92992,92995],[94099,94111],[94176,94177],94179,[110576,110579],[110581,110587],[110589,110590],[122928,122989],[123191,123197],124139,125259],n8=[94,96,168,175,180,184,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],2184,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[12443,12444],[42752,42774],[42784,42785],[42889,42890],43867,[43882,43883],[64434,64450],65342,65344,65507,[127995,127999]],r8=[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6847,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],s8=[[48,57],[178,179],185,[188,190],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2548,2553],[2662,2671],[2790,2799],[2918,2927],[2930,2935],[3046,3058],[3174,3183],[3192,3198],[3302,3311],[3416,3422],[3430,3448],[3558,3567],[3664,3673],[3792,3801],[3872,3891],[4160,4169],[4240,4249],[4969,4988],[5870,5872],[6112,6121],[6128,6137],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],8304,[8308,8313],[8320,8329],[8528,8578],[8581,8585],[9312,9371],[9450,9471],[10102,10131],11517,12295,[12321,12329],[12344,12346],[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[42528,42537],[42726,42735],[43056,43061],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[65799,65843],[65856,65912],[65930,65931],[66273,66299],[66336,66339],66369,66378,[66513,66517],[66720,66729],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[68912,68921],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69743],[69872,69881],[69942,69951],[70096,70105],[70113,70132],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71483],[71904,71922],[72016,72025],[72784,72812],[73040,73049],[73120,73129],[73552,73561],[73664,73684],[74752,74862],[92768,92777],[92864,92873],[93008,93017],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125127,125135],[125264,125273],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244],[130032,130041]],i8=[40,91,123,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378],o8=[[0,31],[127,159],173,[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1541],1564,1757,[1806,1807],[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2191,2199],2274,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],6158,[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,[8203,8207],[8234,8238],[8288,8303],[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,63743],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65280],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65531],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],69821,[69827,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78896,78911],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113824,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119155,119162],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917759],[918e3,1114111]],a8=[170,186,443,[448,451],660,[1488,1514],[1519,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2248],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4352,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7411],[7413,7414],7418,[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94026],94032,[94208,100343],[100352,101589],[101632,101640],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],122634,[123136,123180],123214,[123536,123565],[123584,123627],[124112,124138],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],u8=[[178,179],185,[188,190],[2548,2553],[2930,2935],[3056,3058],[3192,3198],[3416,3422],[3440,3448],[3882,3891],[4969,4988],[6128,6137],6618,8304,[8308,8313],[8320,8329],[8528,8543],8585,[9312,9371],[9450,9471],[10102,10131],11517,[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[43056,43061],[65799,65843],[65909,65912],[65930,65931],[66273,66299],[66336,66339],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69733],[70113,70132],[71482,71483],[71914,71922],[72794,72812],[73664,73684],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[125127,125135],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244]],l8=[[33,35],[37,39],42,44,[46,47],[58,59],[63,64],92,161,167,[182,183],191,894,903,[1370,1375],1417,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5742,[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6149],[6151,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8214,8215],[8224,8231],[8240,8248],[8251,8254],[8257,8259],[8263,8273],8275,[8277,8286],[11513,11516],[11518,11519],11632,[11776,11777],[11782,11784],11787,[11790,11798],[11800,11801],11803,[11806,11807],[11818,11822],[11824,11833],[11836,11839],11841,[11843,11855],[11858,11860],[12289,12291],12349,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[65040,65046],65049,65072,[65093,65094],[65097,65100],[65104,65106],[65108,65111],[65119,65121],65128,[65130,65131],[65281,65283],[65285,65287],65290,65292,[65294,65295],[65306,65307],[65311,65312],65340,65377,[65380,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],c8=[166,169,174,176,1154,[1421,1422],[1550,1551],1758,1769,[1789,1790],2038,2554,2928,[3059,3064],3066,3199,3407,3449,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6464,[6622,6655],[7009,7018],[7028,7036],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8471],[8478,8483],8485,8487,8489,8494,[8506,8507],8522,[8524,8525],8527,[8586,8587],[8597,8601],[8604,8607],[8609,8610],[8612,8613],[8615,8621],[8623,8653],[8656,8657],8659,[8661,8691],[8960,8967],[8972,8991],[8994,9e3],[9003,9083],[9085,9114],[9140,9179],[9186,9254],[9280,9290],[9372,9449],[9472,9654],[9656,9664],[9666,9719],[9728,9838],[9840,10087],[10132,10175],[10240,10495],[11008,11055],[11077,11078],[11085,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[43048,43051],[43062,43063],43065,[43639,43641],[64832,64847],64975,[65021,65023],65508,65512,[65517,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73692],[73697,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,126124,126254,[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],h8=[8233],f8=[[57344,63743],[983040,1048573],[1048576,1114109]],d8=[[33,35],[37,42],[44,47],[58,59],[63,64],[91,93],95,123,125,161,167,171,[182,183],187,191,894,903,[1370,1375],[1417,1418],1470,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,[3898,3901],3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5120,5742,[5787,5788],[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8208,8231],[8240,8259],[8261,8273],[8275,8286],[8317,8318],[8333,8334],[8968,8971],[9001,9002],[10088,10101],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],[11513,11516],[11518,11519],11632,[11776,11822],[11824,11855],[11858,11869],[12289,12291],[12296,12305],[12308,12319],12336,12349,12448,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[64830,64831],[65040,65049],[65072,65106],[65108,65121],65123,65128,[65130,65131],[65281,65283],[65285,65290],[65292,65295],[65306,65307],[65311,65312],[65339,65341],65343,65371,65373,[65375,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],69293,[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],p8=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],g8=[32,160,5760,[8192,8202],8239,8287,12288],D8=[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],3315,[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],5909,5940,6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43454,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,[69957,69958],70018,[70067,70069],[70079,70080],70094,[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[71724,71726],71736,[71984,71989],[71991,71992],71997,72e3,72002,[72145,72147],[72156,72159],72164,72249,[72279,72280],72343,72751,72766,72873,72881,72884,[73098,73102],[73107,73108],73110,[73461,73462],73475,[73524,73525],[73534,73535],73537,[94033,94087],[94192,94193],[119141,119142],[119149,119154]],_8=[[55296,57343]],v8=[36,43,[60,62],94,96,124,126,[162,166],[168,169],172,[174,177],180,184,215,247,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],1014,1154,[1421,1423],[1542,1544],1547,[1550,1551],1758,1769,[1789,1790],2038,[2046,2047],2184,[2546,2547],[2554,2555],2801,2928,[3059,3066],3199,3407,3449,3647,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6107,6464,[6622,6655],[7009,7018],[7028,7036],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],8260,8274,[8314,8316],[8330,8332],[8352,8384],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],8527,[8586,8587],[8592,8967],[8972,9e3],[9003,9254],[9280,9290],[9372,9449],[9472,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12443,12444],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[42752,42774],[42784,42785],[42889,42890],[43048,43051],[43062,43065],[43639,43641],43867,[43882,43883],64297,[64434,64450],[64832,64847],64975,[65020,65023],65122,[65124,65126],65129,65284,65291,[65308,65310],65342,65344,65372,65374,[65504,65510],[65512,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,123647,126124,126128,126254,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],m8=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],b8=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917504],[917506,917535],[917632,917759],[918e3,983039],[1048574,1048575],[1114110,1114111]],y8=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],F8=Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:N3,Close_Punctuation:U3,Connector_Punctuation:$3,Control:H3,Currency_Symbol:G3,Dash_Punctuation:z3,Decimal_Number:X3,Enclosing_Mark:W3,Final_Punctuation:Y3,Format:V3,Initial_Punctuation:j3,Letter:K3,Letter_Number:q3,Line_Separator:Z3,Lowercase_Letter:J3,Mark:Q3,Math_Symbol:e8,Modifier_Letter:t8,Modifier_Symbol:n8,Nonspacing_Mark:r8,Number:s8,Open_Punctuation:i8,Other:o8,Other_Letter:a8,Other_Number:u8,Other_Punctuation:l8,Other_Symbol:c8,Paragraph_Separator:h8,Private_Use:f8,Punctuation:d8,Separator:p8,Space_Separator:g8,Spacing_Mark:D8,Surrogate:_8,Symbol:v8,Titlecase_Letter:m8,Unassigned:b8,Uppercase_Letter:y8},Symbol.toStringTag,{value:"Module"})),C8=[1544,1547,1549,[1563,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[2144,2154],[2160,2190],[2208,2249],[64336,64450],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[68864,68899],[69424,69445],[69457,69465],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],E8=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],S8=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],T8=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],x8=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],B8=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],O8=[[35,37],[162,165],[176,177],1423,[1545,1546],1642,[2546,2547],2555,2801,3065,3647,6107,[8240,8244],[8352,8384],8494,8723,[43064,43065],65119,[65129,65130],[65283,65285],[65504,65505],[65509,65510],[73693,73696],123647],w8=[8296],A8=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,696],[699,705],[720,721],[736,740],750,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1154],[1162,1327],[1329,1366],[1369,1417],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2496],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2529],[2534,2545],[2548,2554],[2556,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2800],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2878],2880,[2887,2888],[2891,2892],2903,[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3007],[3009,3010],[3014,3016],[3018,3020],3024,3031,[3046,3058],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],3191,[3199,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3275],[3285,3286],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],[3389,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3537],[3544,3551],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3648,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3902,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5007],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6106],6108,[6112,6121],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6965,6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8206,8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],[8526,8527],[8544,8584],[9014,9082],9109,[9372,9449],9900,[10240,10495],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12334,12335],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12688,12735],[12784,12828],[12832,12879],[12896,12923],[12927,12976],[12992,13003],[13008,13174],[13179,13277],[13280,13310],[13312,19903],[19968,42124],[42192,42508],[42512,42539],[42560,42606],[42624,42653],[42656,42735],[42738,42743],[42786,42887],[42889,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],43047,[43056,43063],[43072,43123],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],65792,65794,[65799,65843],[65847,65855],[65933,65934],[66e3,66044],[66176,66204],[66208,66256],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],69632,[69634,69687],[69703,69709],[69734,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69825],69837,[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70463],[70465,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70834],70841,[70843,70846],70849,[70852,70855],[70864,70873],[71040,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72199,72200],[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],[72766,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73684],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78911],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119154],[119171,119172],[119180,119209],[119214,119272],[119488,119507],[119520,119539],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120538],[120540,120596],[120598,120654],[120656,120712],[120714,120770],[120772,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[127248,127278],[127280,127337],[127344,127404],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[983040,1048573],[1048576,1114109]],R8=[8234],k8=[8294],I8=[8237],L8=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],M8=[[33,34],[38,42],[59,64],[91,96],[123,126],161,[166,169],[171,172],[174,175],180,[182,184],[187,191],215,247,[697,698],[706,719],[722,735],[741,749],[751,767],[884,885],894,[900,901],903,1014,1418,[1421,1422],[1542,1543],[1550,1551],1758,1769,[2038,2041],[3059,3064],3066,[3192,3198],[3898,3901],[5008,5017],5120,[5787,5788],[6128,6137],[6144,6154],6464,[6468,6469],[6622,6655],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8208,8231],[8245,8259],[8261,8286],[8316,8318],[8332,8334],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,[8506,8507],[8512,8516],[8522,8525],[8528,8543],[8585,8587],[8592,8721],[8724,9013],[9083,9108],[9110,9254],[9280,9290],[9312,9351],[9450,9899],[9901,10239],[10496,11123],[11126,11157],[11159,11263],[11493,11498],[11513,11519],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12289,12292],[12296,12320],12336,[12342,12343],[12349,12351],[12443,12444],12448,12539,[12736,12771],[12829,12830],[12880,12895],[12924,12926],[12977,12991],[13004,13007],[13175,13178],[13278,13279],13311,[19904,19967],[42128,42182],[42509,42511],42611,[42622,42623],[42752,42785],42888,[43048,43051],[43124,43127],[43882,43883],[64830,64847],64975,[65021,65023],[65040,65049],[65072,65103],65105,65108,[65110,65118],[65120,65121],[65124,65126],65128,65131,[65281,65282],[65286,65290],[65307,65312],[65339,65344],[65371,65381],[65506,65508],[65512,65518],[65529,65533],65793,[65856,65932],[65936,65948],65952,67871,[68409,68415],[69714,69733],[71264,71276],[73685,73692],[73697,73713],94178,[119273,119274],[119296,119361],119365,[119552,119638],120539,120597,120655,120713,120771,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127243,127247],127279,[127338,127343],127405,[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],P8=[10,13,[28,30],133,8233],N8=[8236],U8=[8297],$8=[1470,1472,1475,1478,[1488,1514],[1519,1524],[1984,2026],[2036,2037],2042,[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,8207,64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68863],[69248,69289],69293,[69296,69297],[69376,69415],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279]],H8=[8235],G8=[8295],z8=[8238],X8=[9,11,31],W8=[12,32,5760,[8192,8202],8232,8287,12288],Y8=Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:C8,Arabic_Number:E8,Boundary_Neutral:S8,Common_Separator:T8,European_Number:x8,European_Separator:B8,European_Terminator:O8,First_Strong_Isolate:w8,Left_To_Right:A8,Left_To_Right_Embedding:R8,Left_To_Right_Isolate:k8,Left_To_Right_Override:I8,Nonspacing_Mark:L8,Other_Neutral:M8,Paragraph_Separator:P8,Pop_Directional_Format:N8,Pop_Directional_Isolate:U8,Right_To_Left:$8,Right_To_Left_Embedding:H8,Right_To_Left_Isolate:G8,Right_To_Left_Override:z8,Segment_Separator:X8,White_Space:W8},Symbol.toStringTag,{value:"Module"})),V8=[[125184,125259],[125264,125273],[125278,125279]],j8=[[71424,71450],[71453,71467],[71472,71494]],K8=[[82944,83526]],q8=[[1536,1540],[1542,1547],[1549,1562],[1564,1566],[1568,1599],[1601,1610],[1622,1647],[1649,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],Z8=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],J8=[[68352,68405],[68409,68415]],Q8=[[6912,6988],[6992,7038]],es=[[42656,42743],[92160,92728]],ts=[[92880,92909],[92912,92917]],ns=[[7104,7155],[7164,7167]],rs=[[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558]],ss=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],is=[[746,747],[12549,12591],[12704,12735]],os=[[69632,69709],[69714,69749],69759],as=[[10240,10495]],us=[[6656,6683],[6686,6687]],ls=[[5952,5971]],cs=[[5120,5759],[6320,6389],[72368,72383]],hs=[[66208,66256]],fs=[[66864,66915],66927],ds=[[69888,69940],[69942,69959]],ps=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],gs=[[5024,5109],[5112,5117],[43888,43967]],Ds=[[69552,69579]],_s=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1548,1563,1567,1600,1757,2274,[2404,2405],3647,[4053,4056],4347,[5867,5869],[5941,5942],[6146,6147],6149,7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[8192,8203],[8206,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11869],[12272,12283],[12288,12292],12294,[12296,12320],[12336,12343],[12348,12351],[12443,12444],12448,[12539,12540],[12688,12703],[12736,12771],[12832,12895],[12927,13007],13055,[13144,13311],[19904,19967],[42752,42785],[42888,42890],[43056,43065],43310,43471,43867,[43882,43883],[64830,64831],[65040,65049],[65072,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65381],65392,[65438,65439],[65504,65510],[65512,65518],[65529,65533],[65792,65794],[65799,65843],[65847,65855],[65936,65948],[66e3,66044],[66273,66299],[113824,113827],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],vs=[[994,1007],[11392,11507],[11513,11519]],ms=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],bs=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],ys=[[77712,77810]],Fs=[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],Cs=[[66560,66639]],Es=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],Ss=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Ts=[[71680,71739]],xs=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],Bs=[[77824,78933]],Os=[[66816,66855]],ws=[[69600,69622]],As=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],Rs=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],ks=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],Is=[[66352,66378]],Ls=[[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70460,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516]],Ms=[[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],7615,[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],Ps=[[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815]],Ns=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],Us=[[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678]],$s=[[11904,11929],[11931,12019],[12032,12245],12293,12295,[12321,12329],[12344,12347],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[94178,94179],[94192,94193],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],Hs=[[4352,4607],[12334,12335],[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],Gs=[[68864,68903],[68912,68921]],zs=[[5920,5940]],Xs=[[67808,67826],[67828,67829],[67835,67839]],Ws=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Ys=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],Vs=[[67648,67669],[67671,67679]],js=[[768,879],[1157,1158],[1611,1621],1648,[2385,2388],[6832,6862],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8204,8205],[8400,8432],[12330,12333],[12441,12442],[65024,65039],[65056,65069],66045,66272,70459,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],Ks=[[68448,68466],[68472,68479]],qs=[[68416,68437],[68440,68447]],Zs=[[43392,43469],[43472,43481],[43486,43487]],Js=[[69760,69826],69837],Qs=[[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315]],ei=[[12449,12538],[12541,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65391],[65393,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],ti=[[73472,73488],[73490,73530],[73534,73561]],ni=[[43264,43309],43311],ri=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],si=[94180,[101120,101589]],ii=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],oi=[[70144,70161],[70163,70209]],ai=[[70320,70378],[70384,70393]],ui=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],li=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8305,8319,[8336,8348],[8490,8491],8498,8526,[8544,8584],[11360,11391],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],ci=[[7168,7223],[7227,7241],[7245,7247]],hi=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],fi=[[67072,67382],[67392,67413],[67424,67431]],di=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],pi=[[42192,42239],73648],gi=[[66176,66204]],Di=[[67872,67897],67903],_i=[[69968,70006]],vi=[[73440,73464]],mi=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],bi=[[2112,2139],2142],yi=[[68288,68326],[68331,68342]],Fi=[[72816,72847],[72850,72871],[72873,72886]],Ci=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Ei=[[93760,93850]],Si=[[43744,43766],[43968,44013],[44016,44025]],Ti=[[124928,125124],[125127,125142]],xi=[[68e3,68023],[68028,68047],[68050,68095]],Bi=[[67968,67999]],Oi=[[93952,94026],[94031,94087],[94095,94111]],wi=[[71168,71236],[71248,71257]],Ai=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],Ri=[[92736,92766],[92768,92777],[92782,92783]],ki=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Ii=[[4096,4255],[43488,43518],[43616,43647]],Li=[[67712,67742],[67751,67759]],Mi=[[124112,124153]],Pi=[[72096,72103],[72106,72151],[72154,72164]],Ni=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Ui=[[70656,70747],[70749,70753]],$i=[[1984,2042],[2045,2047]],Hi=[94177,[110960,111355]],Gi=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],zi=[[5760,5788]],Xi=[[7248,7295]],Wi=[[68736,68786],[68800,68850],[68858,68863]],Yi=[[66304,66339],[66349,66351]],Vi=[[68224,68255]],ji=[[66384,66426]],Ki=[[66464,66499],[66504,66517]],qi=[[69376,69415]],Zi=[[68192,68223]],Ji=[[68608,68680]],Qi=[[69488,69513]],e9=[[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935]],t9=[[66736,66771],[66776,66811]],n9=[[66688,66717],[66720,66729]],r9=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],s9=[[67680,67711]],i9=[[72384,72440]],o9=[[43072,43127]],a9=[[67840,67867],67871],u9=[[68480,68497],[68505,68508],[68521,68527]],l9=[[43312,43347],43359],c9=[[5792,5866],[5870,5880]],h9=[[2048,2093],[2096,2110]],f9=[[43136,43205],[43214,43225]],d9=[[70016,70111]],p9=[[66640,66687]],g9=[[71040,71093],[71096,71133]],D9=[[120832,121483],[121499,121503],[121505,121519]],_9=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],v9=[[69424,69465]],m9=[[69840,69864],[69872,69881]],b9=[[72272,72354]],y9=[[7040,7103],[7360,7367]],F9=[[43008,43052]],C9=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],E9=[[5888,5909],5919],S9=[[5984,5996],[5998,6e3],[6002,6003]],T9=[[6480,6509],[6512,6516]],x9=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],B9=[[43648,43714],[43739,43743]],O9=[[71296,71353],[71360,71369]],w9=[[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[73664,73713],73727],A9=[[92784,92862],[92864,92873]],R9=[94176,[94208,100343],[100352,101119],[101632,101640]],k9=[[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199]],I9=[[1920,1969]],L9=[[3585,3642],[3648,3675]],M9=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],P9=[[11568,11623],[11631,11632],11647],N9=[[70784,70855],[70864,70873]],U9=[[123536,123566]],$9=[[66432,66461],66463],H9=[[42240,42539]],G9=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],z9=[[123584,123641],123647],X9=[[71840,71922],71935],W9=[[69248,69289],[69291,69293],[69296,69297]],Y9=[[40960,42124],[42128,42182]],V9=[[72192,72263]],j9=Object.freeze(Object.defineProperty({__proto__:null,Adlam:V8,Ahom:j8,Anatolian_Hieroglyphs:K8,Arabic:q8,Armenian:Z8,Avestan:J8,Balinese:Q8,Bamum:es,Bassa_Vah:ts,Batak:ns,Bengali:rs,Bhaiksuki:ss,Bopomofo:is,Brahmi:os,Braille:as,Buginese:us,Buhid:ls,Canadian_Aboriginal:cs,Carian:hs,Caucasian_Albanian:fs,Chakma:ds,Cham:ps,Cherokee:gs,Chorasmian:Ds,Common:_s,Coptic:vs,Cuneiform:ms,Cypriot:bs,Cypro_Minoan:ys,Cyrillic:Fs,Deseret:Cs,Devanagari:Es,Dives_Akuru:Ss,Dogra:Ts,Duployan:xs,Egyptian_Hieroglyphs:Bs,Elbasan:Os,Elymaic:ws,Ethiopic:As,Georgian:Rs,Glagolitic:ks,Gothic:Is,Grantha:Ls,Greek:Ms,Gujarati:Ps,Gunjala_Gondi:Ns,Gurmukhi:Us,Han:$s,Hangul:Hs,Hanifi_Rohingya:Gs,Hanunoo:zs,Hatran:Xs,Hebrew:Ws,Hiragana:Ys,Imperial_Aramaic:Vs,Inherited:js,Inscriptional_Pahlavi:Ks,Inscriptional_Parthian:qs,Javanese:Zs,Kaithi:Js,Kannada:Qs,Katakana:ei,Kawi:ti,Kayah_Li:ni,Kharoshthi:ri,Khitan_Small_Script:si,Khmer:ii,Khojki:oi,Khudawadi:ai,Lao:ui,Latin:li,Lepcha:ci,Limbu:hi,Linear_A:fi,Linear_B:di,Lisu:pi,Lycian:gi,Lydian:Di,Mahajani:_i,Makasar:vi,Malayalam:mi,Mandaic:bi,Manichaean:yi,Marchen:Fi,Masaram_Gondi:Ci,Medefaidrin:Ei,Meetei_Mayek:Si,Mende_Kikakui:Ti,Meroitic_Cursive:xi,Meroitic_Hieroglyphs:Bi,Miao:Oi,Modi:wi,Mongolian:Ai,Mro:Ri,Multani:ki,Myanmar:Ii,Nabataean:Li,Nag_Mundari:Mi,Nandinagari:Pi,New_Tai_Lue:Ni,Newa:Ui,Nko:$i,Nushu:Hi,Nyiakeng_Puachue_Hmong:Gi,Ogham:zi,Ol_Chiki:Xi,Old_Hungarian:Wi,Old_Italic:Yi,Old_North_Arabian:Vi,Old_Permic:ji,Old_Persian:Ki,Old_Sogdian:qi,Old_South_Arabian:Zi,Old_Turkic:Ji,Old_Uyghur:Qi,Oriya:e9,Osage:t9,Osmanya:n9,Pahawh_Hmong:r9,Palmyrene:s9,Pau_Cin_Hau:i9,Phags_Pa:o9,Phoenician:a9,Psalter_Pahlavi:u9,Rejang:l9,Runic:c9,Samaritan:h9,Saurashtra:f9,Sharada:d9,Shavian:p9,Siddham:g9,SignWriting:D9,Sinhala:_9,Sogdian:v9,Sora_Sompeng:m9,Soyombo:b9,Sundanese:y9,Syloti_Nagri:F9,Syriac:C9,Tagalog:E9,Tagbanwa:S9,Tai_Le:T9,Tai_Tham:x9,Tai_Viet:B9,Takri:O9,Tamil:w9,Tangsa:A9,Tangut:R9,Telugu:k9,Thaana:I9,Thai:L9,Tibetan:M9,Tifinagh:P9,Tirhuta:N9,Toto:U9,Ugaritic:$9,Vai:H9,Vithkuqi:G9,Wancho:z9,Warang_Citi:X9,Yezidi:W9,Yi:Y9,Zanabazar_Square:V9},Symbol.toStringTag,{value:"Module"})),K9=[1567,1600,[125184,125259],[125264,125273],[125278,125279]],q9=[[71424,71450],[71453,71467],[71472,71494]],Z9=[[82944,83526]],J9=[[1536,1540],[1542,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[66272,66299],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],Q9=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],e5=[[68352,68405],[68409,68415]],t5=[[6912,6988],[6992,7038]],n5=[[42656,42743],[92160,92728]],r5=[[92880,92909],[92912,92917]],s5=[[7104,7155],[7164,7167]],i5=[[2385,2386],[2404,2405],[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],7376,7378,[7381,7382],7384,7393,7402,7405,7410,[7413,7415],43249],o5=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],a5=[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],u5=[[69632,69709],[69714,69749],69759],l5=[[10240,10495]],c5=[[6656,6683],[6686,6687],43471],h5=[[5941,5942],[5952,5971]],f5=[[5120,5759],[6320,6389],[72368,72383]],d5=[[66208,66256]],p5=[[66864,66915],66927],g5=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],D5=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],_5=[[5024,5109],[5112,5117],[43888,43967]],v5=[[69552,69579]],m5=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1757,2274,3647,[4053,4056],[5867,5869],[8192,8203],[8206,8238],[8240,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11842],[11844,11869],[12272,12283],12288,12292,12306,12320,12342,[12872,12895],12927,[12977,12991],[13004,13007],[13169,13178],[13184,13279],13311,[19904,19967],[42760,42785],[42888,42890],43867,[43882,43883],[65040,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65376],[65504,65510],[65512,65518],[65529,65533],[65936,65948],[66e3,66044],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119666,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],b5=[[994,1007],[11392,11507],[11513,11519],[66272,66299]],y5=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],F5=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],C5=[[65792,65793],[77712,77810]],E5=[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],S5=[[66560,66639]],T5=[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],x5=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],B5=[[2404,2415],[43056,43065],[71680,71739]],O5=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],w5=[[77824,78933]],A5=[[66816,66855]],R5=[[69600,69622]],k5=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],I5=[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],L5=[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],M5=[[66352,66378]],P5=[[2385,2386],[2404,2405],[3046,3059],7376,[7378,7379],[7410,7412],[7416,7417],8432,[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[73680,73681],73683],N5=[834,837,[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],[7615,7617],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],U5=[[2385,2386],[2404,2405],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[43056,43065]],$5=[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],H5=[[2385,2386],[2404,2405],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[43056,43065]],G5=[[11904,11929],[11931,12019],[12032,12245],[12289,12291],[12293,12305],[12307,12319],[12321,12333],12336,[12343,12351],12539,[12688,12703],[12736,12771],[12832,12871],[12928,12976],[12992,13003],13055,[13144,13168],[13179,13183],[13280,13310],[13312,19903],[19968,40959],[42752,42759],[63744,64109],[64112,64217],[65093,65094],[65377,65381],[94178,94179],[94192,94193],[119648,119665],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],z5=[[4352,4607],[12289,12291],[12296,12305],[12307,12319],[12334,12336],12343,12539,[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65093,65094],[65377,65381],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],X5=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],W5=[[5920,5942]],Y5=[[67808,67826],[67828,67829],[67835,67839]],V5=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],j5=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12353,12438],[12441,12448],[12539,12540],[65093,65094],[65377,65381],65392,[65438,65439],[110593,110879],110898,[110928,110930],127488],K5=[[67648,67669],[67671,67679]],q5=[[768,833],[835,836],[838,866],[2387,2388],[6832,6862],[7618,7671],7673,[7675,7679],[8204,8205],[8400,8431],[65024,65039],[65056,65069],66045,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],Z5=[[68448,68466],[68472,68479]],J5=[[68416,68437],[68440,68447]],Q5=[[43392,43469],[43471,43481],[43486,43487]],eo=[[2406,2415],[43056,43065],[69760,69826],69837],to=[[2385,2386],[2404,2405],[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],7376,7378,7386,7410,7412,[43056,43061]],no=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12441,12444],[12448,12543],[12784,12799],[13008,13054],[13056,13143],[65093,65094],[65377,65439],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],ro=[[73472,73488],[73490,73530],[73534,73561]],so=[[43264,43311]],io=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],oo=[94180,[101120,101589]],ao=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],uo=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],lo=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],co=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],ho=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[867,879],[1157,1158],[2385,2386],4347,[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8239,8305,8319,[8336,8348],8432,[8490,8491],8498,8526,[8544,8584],[11360,11391],[42752,42759],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],43310,[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],fo=[[7168,7223],[7227,7241],[7245,7247]],po=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],go=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],Do=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],_o=[[42192,42239],73648],vo=[[66176,66204]],mo=[[67872,67897],67903],bo=[[2404,2415],[43056,43065],[69968,70006]],yo=[[73440,73464]],Fo=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],Co=[1600,[2112,2139],2142],Eo=[1600,[68288,68326],[68331,68342]],So=[[72816,72847],[72850,72871],[72873,72886]],To=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],xo=[[93760,93850]],Bo=[[43744,43766],[43968,44013],[44016,44025]],Oo=[[124928,125124],[125127,125142]],wo=[[68e3,68023],[68028,68047],[68050,68095]],Ao=[[67968,67999]],Ro=[[93952,94026],[94031,94087],[94095,94111]],ko=[[43056,43065],[71168,71236],[71248,71257]],Io=[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],Lo=[[92736,92766],[92768,92777],[92782,92783]],Mo=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Po=[[4096,4255],43310,[43488,43518],[43616,43647]],No=[[67712,67742],[67751,67759]],Uo=[[124112,124153]],$o=[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],Ho=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Go=[[70656,70747],[70749,70753]],zo=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],Xo=[94177,[110960,111355]],Wo=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],Yo=[[5760,5788]],Vo=[[7248,7295]],jo=[[68736,68786],[68800,68850],[68858,68863]],Ko=[[66304,66339],[66349,66351]],qo=[[68224,68255]],Zo=[1155,[66384,66426]],Jo=[[66464,66499],[66504,66517]],Qo=[[69376,69415]],ea=[[68192,68223]],ta=[[68608,68680]],na=[1600,68338,[69488,69513]],ra=[[2385,2386],[2404,2405],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],7386,7410],sa=[[66736,66771],[66776,66811]],ia=[[66688,66717],[66720,66729]],oa=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],aa=[[67680,67711]],ua=[[72384,72440]],la=[[6146,6147],6149,[43072,43127]],ca=[[67840,67867],67871],ha=[1600,[68480,68497],[68505,68508],[68521,68527]],fa=[[43312,43347],43359],da=[[5792,5866],[5870,5880]],pa=[[2048,2093],[2096,2110]],ga=[[43136,43205],[43214,43225]],Da=[2385,7383,7385,[7388,7389],7392,[70016,70111]],_a=[[66640,66687]],va=[[71040,71093],[71096,71133]],ma=[[120832,121483],[121499,121503],[121505,121519]],ba=[[2404,2405],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],ya=[1600,[69424,69465]],Fa=[[69840,69864],[69872,69881]],Ca=[[72272,72354]],Ea=[[7040,7103],[7360,7367]],Sa=[[2404,2405],[2534,2543],[43008,43052]],Ta=[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],xa=[[5888,5909],5919,[5941,5942]],Ba=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],Oa=[[4160,4169],[6480,6509],[6512,6516]],wa=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Aa=[[43648,43714],[43739,43743]],Ra=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],ka=[[2385,2386],[2404,2405],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],7386,43251,70401,70403,[70459,70460],[73664,73713],73727],Ia=[[92784,92862],[92864,92873]],La=[94176,[94208,100343],[100352,101119],[101632,101640]],Ma=[[2385,2386],[2404,2405],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199],7386,7410],Pa=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],Na=[[3585,3642],[3648,3675]],Ua=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],$a=[[11568,11623],[11631,11632],11647],Ha=[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],Ga=[[123536,123566]],za=[[66432,66461],66463],Xa=[[42240,42539]],Wa=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],Ya=[[123584,123641],123647],Va=[[71840,71922],71935],ja=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],Ka=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],qa=[[72192,72263]],Za=Object.freeze(Object.defineProperty({__proto__:null,Adlam:K9,Ahom:q9,Anatolian_Hieroglyphs:Z9,Arabic:J9,Armenian:Q9,Avestan:e5,Balinese:t5,Bamum:n5,Bassa_Vah:r5,Batak:s5,Bengali:i5,Bhaiksuki:o5,Bopomofo:a5,Brahmi:u5,Braille:l5,Buginese:c5,Buhid:h5,Canadian_Aboriginal:f5,Carian:d5,Caucasian_Albanian:p5,Chakma:g5,Cham:D5,Cherokee:_5,Chorasmian:v5,Common:m5,Coptic:b5,Cuneiform:y5,Cypriot:F5,Cypro_Minoan:C5,Cyrillic:E5,Deseret:S5,Devanagari:T5,Dives_Akuru:x5,Dogra:B5,Duployan:O5,Egyptian_Hieroglyphs:w5,Elbasan:A5,Elymaic:R5,Ethiopic:k5,Georgian:I5,Glagolitic:L5,Gothic:M5,Grantha:P5,Greek:N5,Gujarati:U5,Gunjala_Gondi:$5,Gurmukhi:H5,Han:G5,Hangul:z5,Hanifi_Rohingya:X5,Hanunoo:W5,Hatran:Y5,Hebrew:V5,Hiragana:j5,Imperial_Aramaic:K5,Inherited:q5,Inscriptional_Pahlavi:Z5,Inscriptional_Parthian:J5,Javanese:Q5,Kaithi:eo,Kannada:to,Katakana:no,Kawi:ro,Kayah_Li:so,Kharoshthi:io,Khitan_Small_Script:oo,Khmer:ao,Khojki:uo,Khudawadi:lo,Lao:co,Latin:ho,Lepcha:fo,Limbu:po,Linear_A:go,Linear_B:Do,Lisu:_o,Lycian:vo,Lydian:mo,Mahajani:bo,Makasar:yo,Malayalam:Fo,Mandaic:Co,Manichaean:Eo,Marchen:So,Masaram_Gondi:To,Medefaidrin:xo,Meetei_Mayek:Bo,Mende_Kikakui:Oo,Meroitic_Cursive:wo,Meroitic_Hieroglyphs:Ao,Miao:Ro,Modi:ko,Mongolian:Io,Mro:Lo,Multani:Mo,Myanmar:Po,Nabataean:No,Nag_Mundari:Uo,Nandinagari:$o,New_Tai_Lue:Ho,Newa:Go,Nko:zo,Nushu:Xo,Nyiakeng_Puachue_Hmong:Wo,Ogham:Yo,Ol_Chiki:Vo,Old_Hungarian:jo,Old_Italic:Ko,Old_North_Arabian:qo,Old_Permic:Zo,Old_Persian:Jo,Old_Sogdian:Qo,Old_South_Arabian:ea,Old_Turkic:ta,Old_Uyghur:na,Oriya:ra,Osage:sa,Osmanya:ia,Pahawh_Hmong:oa,Palmyrene:aa,Pau_Cin_Hau:ua,Phags_Pa:la,Phoenician:ca,Psalter_Pahlavi:ha,Rejang:fa,Runic:da,Samaritan:pa,Saurashtra:ga,Sharada:Da,Shavian:_a,Siddham:va,SignWriting:ma,Sinhala:ba,Sogdian:ya,Sora_Sompeng:Fa,Soyombo:Ca,Sundanese:Ea,Syloti_Nagri:Sa,Syriac:Ta,Tagalog:xa,Tagbanwa:Ba,Tai_Le:Oa,Tai_Tham:wa,Tai_Viet:Aa,Takri:Ra,Tamil:ka,Tangsa:Ia,Tangut:La,Telugu:Ma,Thaana:Pa,Thai:Na,Tibetan:Ua,Tifinagh:$a,Tirhuta:Ha,Toto:Ga,Ugaritic:za,Vai:Xa,Vithkuqi:Wa,Wancho:Ya,Warang_Citi:Va,Yezidi:ja,Yi:Ka,Zanabazar_Square:qa},Symbol.toStringTag,{value:"Module"})),Ja=[],Qa=[],eu=[],tu=[],nu=Object.freeze(Object.defineProperty({__proto__:null,C:Ja,F:Qa,S:eu,T:tu},Symbol.toStringTag,{value:"Module"})),ru=[[125184,125279]],su=[[65792,65855]],iu=[[71424,71503]],ou=[[128768,128895]],au=[[64256,64335]],uu=[[82944,83583]],lu=[[119296,119375]],cu=[[65856,65935]],hu=[[65936,65999]],fu=[[1536,1791]],du=[[2208,2303]],pu=[[126464,126719]],gu=[[64336,65023]],Du=[[65136,65279]],_u=[[1872,1919]],vu=[[1328,1423]],mu=[[8592,8703]],bu=[[68352,68415]],yu=[[6912,7039]],Fu=[[42656,42751]],Cu=[[92160,92735]],Eu=[[0,127]],Su=[[92880,92927]],Tu=[[7104,7167]],xu=[[2432,2559]],Bu=[[72704,72815]],Ou=[[9600,9631]],wu=[[12544,12591]],Au=[[12704,12735]],Ru=[[9472,9599]],ku=[[69632,69759]],Iu=[[10240,10495]],Lu=[[6656,6687]],Mu=[[5952,5983]],Pu=[[118784,119039]],Nu=[[13056,13311]],Uu=[[65072,65103]],$u=[[63744,64255]],Hu=[[194560,195103]],Gu=[[11904,12031]],zu=[[12736,12783]],Xu=[[12288,12351]],Wu=[[19968,40959]],Yu=[[13312,19903]],Vu=[[131072,173791]],ju=[[173824,177983]],Ku=[[177984,178207]],qu=[[178208,183983]],Zu=[[183984,191471]],Ju=[[66208,66271]],Qu=[[66864,66927]],el=[[69888,69967]],tl=[[43520,43615]],nl=[[5024,5119]],rl=[[43888,43967]],sl=[[129536,129647]],il=[[768,879]],ol=[[6832,6911]],al=[[8400,8447]],ul=[[7616,7679]],ll=[[65056,65071]],cl=[[43056,43071]],hl=[[9216,9279]],fl=[[11392,11519]],dl=[[66272,66303]],pl=[[119648,119679]],gl=[[73728,74751]],Dl=[[74752,74879]],_l=[[8352,8399]],vl=[[67584,67647]],ml=[[1024,1279]],bl=[[11744,11775]],yl=[[42560,42655]],Fl=[[7296,7311]],Cl=[[1280,1327]],El=[[66560,66639]],Sl=[[2304,2431]],Tl=[[43232,43263]],xl=[[9984,10175]],Bl=[[71680,71759]],Ol=[[127024,127135]],wl=[[113664,113823]],Al=[[74880,75087]],Rl=[[77824,78895]],kl=[[66816,66863]],Il=[[128512,128591]],Ll=[[127232,127487]],Ml=[[9312,9471]],Pl=[[12800,13055]],Nl=[[127488,127743]],Ul=[[4608,4991]],$l=[[11648,11743]],Hl=[[43776,43823]],Gl=[[4992,5023]],zl=[[8192,8303]],Xl=[[9632,9727]],Wl=[[128896,129023]],Yl=[[4256,4351]],Vl=[[7312,7359]],jl=[[11520,11567]],Kl=[[11264,11359]],ql=[[122880,122927]],Zl=[[66352,66383]],Jl=[[70400,70527]],Ql=[[880,1023]],ec=[[7936,8191]],tc=[[2688,2815]],nc=[[73056,73135]],rc=[[2560,2687]],sc=[[65280,65519]],ic=[[12592,12687]],oc=[[4352,4607]],ac=[[43360,43391]],uc=[[55216,55295]],lc=[[44032,55215]],cc=[[68864,68927]],hc=[[5920,5951]],fc=[[67808,67839]],dc=[[1424,1535]],pc=[[56192,56319]],gc=[[55296,56191]],Dc=[[12352,12447]],_c=[[592,687]],vc=[[12272,12287]],mc=[[94176,94207]],bc=[[67648,67679]],yc=[[126064,126143]],Fc=[[68448,68479]],Cc=[[68416,68447]],Ec=[[43392,43487]],Sc=[[69760,69839]],Tc=[[110848,110895]],xc=[[110592,110847]],Bc=[[12688,12703]],Oc=[[12032,12255]],wc=[[3200,3327]],Ac=[[12448,12543]],Rc=[[12784,12799]],kc=[[43264,43311]],Ic=[[68096,68191]],Lc=[[6016,6143]],Mc=[[6624,6655]],Pc=[[70144,70223]],Nc=[[70320,70399]],Uc=[[3712,3839]],$c=[[128,255]],Hc=[[256,383]],Gc=[[7680,7935]],zc=[[384,591]],Xc=[[11360,11391]],Wc=[[42784,43007]],Yc=[[43824,43887]],Vc=[[7168,7247]],jc=[[8448,8527]],Kc=[[6400,6479]],qc=[[67072,67455]],Zc=[[65664,65791]],Jc=[[65536,65663]],Qc=[[42192,42239]],eh=[[56320,57343]],th=[[66176,66207]],nh=[[67872,67903]],rh=[[69968,70015]],sh=[[126976,127023]],ih=[[73440,73471]],oh=[[3328,3455]],ah=[[2112,2143]],uh=[[68288,68351]],lh=[[72816,72895]],ch=[[72960,73055]],hh=[[119808,120831]],fh=[[8704,8959]],dh=[[119520,119551]],ph=[[93760,93855]],gh=[[43968,44031]],Dh=[[43744,43775]],_h=[[124928,125151]],vh=[[68e3,68095]],mh=[[67968,67999]],bh=[[93952,94111]],yh=[[10176,10223]],Fh=[[10624,10751]],Ch=[[9728,9983]],Eh=[[11008,11263]],Sh=[[127744,128511]],Th=[[8960,9215]],xh=[[71168,71263]],Bh=[[42752,42783]],Oh=[[6144,6319]],wh=[[71264,71295]],Ah=[[92736,92783]],Rh=[[70272,70319]],kh=[[119040,119295]],Ih=[[4096,4255]],Lh=[[43616,43647]],Mh=[[43488,43519]],Ph=[[1984,2047]],Nh=[[67712,67759]],Uh=[[6528,6623]],$h=[[70656,70783]],Hh=[[8528,8591]],Gh=[[110960,111359]],zh=[[5760,5791]],Xh=[[7248,7295]],Wh=[[68736,68863]],Yh=[[66304,66351]],Vh=[[68224,68255]],jh=[[66384,66431]],Kh=[[66464,66527]],qh=[[69376,69423]],Zh=[[68192,68223]],Jh=[[68608,68687]],Qh=[[9280,9311]],ef=[[2816,2943]],tf=[[128592,128639]],nf=[[66736,66815]],rf=[[66688,66735]],sf=[[92928,93071]],of=[[67680,67711]],af=[[72384,72447]],uf=[[43072,43135]],lf=[[66e3,66047]],cf=[[67840,67871]],hf=[[7424,7551]],ff=[[7552,7615]],df=[[127136,127231]],pf=[[57344,63743]],gf=[[68480,68527]],Df=[[43312,43359]],_f=[[69216,69247]],vf=[[5792,5887]],mf=[[2048,2111]],bf=[[43136,43231]],yf=[[70016,70111]],Ff=[[66640,66687]],Cf=[[113824,113839]],Ef=[[71040,71167]],Sf=[[3456,3583]],Tf=[[70112,70143]],xf=[[65104,65135]],Bf=[[69424,69487]],Of=[[69840,69887]],wf=[[72272,72367]],Af=[[688,767]],Rf=[[65520,65535]],kf=[[7040,7103]],If=[[7360,7375]],Lf=[[8304,8351]],Mf=[[10224,10239]],Pf=[[10496,10623]],Nf=[[129024,129279]],Uf=[[10752,11007]],$f=[[11776,11903]],Hf=[[129280,129535]],Gf=[[983040,1048575]],zf=[[1048576,1114111]],Xf=[[120832,121519]],Wf=[[43008,43055]],Yf=[[1792,1871]],Vf=[[2144,2159]],jf=[[5888,5919]],Kf=[[5984,6015]],qf=[[917504,917631]],Zf=[[6480,6527]],Jf=[[6688,6831]],Qf=[[43648,43743]],ed=[[119552,119647]],td=[[71296,71375]],nd=[[2944,3071]],rd=[[94208,100351]],sd=[[100352,101119]],id=[[3072,3199]],od=[[1920,1983]],ad=[[3584,3711]],ud=[[3840,4095]],ld=[[11568,11647]],cd=[[70784,70879]],hd=[[128640,128767]],fd=[[66432,66463]],dd=[[5120,5759]],pd=[[6320,6399]],gd=[[42240,42559]],Dd=[[65024,65039]],_d=[[917760,917999]],vd=[[7376,7423]],md=[[65040,65055]],bd=[[71840,71935]],yd=[[42128,42191]],Fd=[[40960,42127]],Cd=[[19904,19967]],Ed=[[72192,72271]],Sd=[[2160,2207],[66928,67007],[67456,67519],[69248,69375],[69488,69631],[71936,72031],[72096,72191],[72368,72383],[72448,72543],[73472,73567],[73648,73727],[77712,77823],[78896,78943],[92784,92879],[101120,101759],[110576,110591],[110896,110959],[118528,118735],[119488,119519],[122624,122879],[122928,123023],[123136,123215],[123536,123647],[124112,124159],[124896,124927],[126208,126287],[129648,130047],[196608,205743]],Td=Object.freeze(Object.defineProperty({__proto__:null,Adlam:ru,Aegean_Numbers:su,Ahom:iu,Alchemical_Symbols:ou,Alphabetic_Presentation_Forms:au,Anatolian_Hieroglyphs:uu,Ancient_Greek_Musical_Notation:lu,Ancient_Greek_Numbers:cu,Ancient_Symbols:hu,Arabic:fu,Arabic_Extended_A:du,Arabic_Mathematical_Alphabetic_Symbols:pu,Arabic_Presentation_Forms_A:gu,Arabic_Presentation_Forms_B:Du,Arabic_Supplement:_u,Armenian:vu,Arrows:mu,Avestan:bu,Balinese:yu,Bamum:Fu,Bamum_Supplement:Cu,Basic_Latin:Eu,Bassa_Vah:Su,Batak:Tu,Bengali:xu,Bhaiksuki:Bu,Block_Elements:Ou,Bopomofo:wu,Bopomofo_Extended:Au,Box_Drawing:Ru,Brahmi:ku,Braille_Patterns:Iu,Buginese:Lu,Buhid:Mu,Byzantine_Musical_Symbols:Pu,CJK_Compatibility:Nu,CJK_Compatibility_Forms:Uu,CJK_Compatibility_Ideographs:$u,CJK_Compatibility_Ideographs_Supplement:Hu,CJK_Radicals_Supplement:Gu,CJK_Strokes:zu,CJK_Symbols_And_Punctuation:Xu,CJK_Unified_Ideographs:Wu,CJK_Unified_Ideographs_Extension_A:Yu,CJK_Unified_Ideographs_Extension_B:Vu,CJK_Unified_Ideographs_Extension_C:ju,CJK_Unified_Ideographs_Extension_D:Ku,CJK_Unified_Ideographs_Extension_E:qu,CJK_Unified_Ideographs_Extension_F:Zu,Carian:Ju,Caucasian_Albanian:Qu,Chakma:el,Cham:tl,Cherokee:nl,Cherokee_Supplement:rl,Chess_Symbols:sl,Combining_Diacritical_Marks:il,Combining_Diacritical_Marks_Extended:ol,Combining_Diacritical_Marks_For_Symbols:al,Combining_Diacritical_Marks_Supplement:ul,Combining_Half_Marks:ll,Common_Indic_Number_Forms:cl,Control_Pictures:hl,Coptic:fl,Coptic_Epact_Numbers:dl,Counting_Rod_Numerals:pl,Cuneiform:gl,Cuneiform_Numbers_And_Punctuation:Dl,Currency_Symbols:_l,Cypriot_Syllabary:vl,Cyrillic:ml,Cyrillic_Extended_A:bl,Cyrillic_Extended_B:yl,Cyrillic_Extended_C:Fl,Cyrillic_Supplement:Cl,Deseret:El,Devanagari:Sl,Devanagari_Extended:Tl,Dingbats:xl,Dogra:Bl,Domino_Tiles:Ol,Duployan:wl,Early_Dynastic_Cuneiform:Al,Egyptian_Hieroglyphs:Rl,Elbasan:kl,Emoticons:Il,Enclosed_Alphanumeric_Supplement:Ll,Enclosed_Alphanumerics:Ml,Enclosed_CJK_Letters_And_Months:Pl,Enclosed_Ideographic_Supplement:Nl,Ethiopic:Ul,Ethiopic_Extended:$l,Ethiopic_Extended_A:Hl,Ethiopic_Supplement:Gl,General_Punctuation:zl,Geometric_Shapes:Xl,Geometric_Shapes_Extended:Wl,Georgian:Yl,Georgian_Extended:Vl,Georgian_Supplement:jl,Glagolitic:Kl,Glagolitic_Supplement:ql,Gothic:Zl,Grantha:Jl,Greek_And_Coptic:Ql,Greek_Extended:ec,Gujarati:tc,Gunjala_Gondi:nc,Gurmukhi:rc,Halfwidth_And_Fullwidth_Forms:sc,Hangul_Compatibility_Jamo:ic,Hangul_Jamo:oc,Hangul_Jamo_Extended_A:ac,Hangul_Jamo_Extended_B:uc,Hangul_Syllables:lc,Hanifi_Rohingya:cc,Hanunoo:hc,Hatran:fc,Hebrew:dc,High_Private_Use_Surrogates:pc,High_Surrogates:gc,Hiragana:Dc,IPA_Extensions:_c,Ideographic_Description_Characters:vc,Ideographic_Symbols_And_Punctuation:mc,Imperial_Aramaic:bc,Indic_Siyaq_Numbers:yc,Inscriptional_Pahlavi:Fc,Inscriptional_Parthian:Cc,Javanese:Ec,Kaithi:Sc,Kana_Extended_A:Tc,Kana_Supplement:xc,Kanbun:Bc,Kangxi_Radicals:Oc,Kannada:wc,Katakana:Ac,Katakana_Phonetic_Extensions:Rc,Kayah_Li:kc,Kharoshthi:Ic,Khmer:Lc,Khmer_Symbols:Mc,Khojki:Pc,Khudawadi:Nc,Lao:Uc,Latin_1_Supplement:$c,Latin_Extended_A:Hc,Latin_Extended_Additional:Gc,Latin_Extended_B:zc,Latin_Extended_C:Xc,Latin_Extended_D:Wc,Latin_Extended_E:Yc,Lepcha:Vc,Letterlike_Symbols:jc,Limbu:Kc,Linear_A:qc,Linear_B_Ideograms:Zc,Linear_B_Syllabary:Jc,Lisu:Qc,Low_Surrogates:eh,Lycian:th,Lydian:nh,Mahajani:rh,Mahjong_Tiles:sh,Makasar:ih,Malayalam:oh,Mandaic:ah,Manichaean:uh,Marchen:lh,Masaram_Gondi:ch,Mathematical_Alphanumeric_Symbols:hh,Mathematical_Operators:fh,Mayan_Numerals:dh,Medefaidrin:ph,Meetei_Mayek:gh,Meetei_Mayek_Extensions:Dh,Mende_Kikakui:_h,Meroitic_Cursive:vh,Meroitic_Hieroglyphs:mh,Miao:bh,Miscellaneous_Mathematical_Symbols_A:yh,Miscellaneous_Mathematical_Symbols_B:Fh,Miscellaneous_Symbols:Ch,Miscellaneous_Symbols_And_Arrows:Eh,Miscellaneous_Symbols_And_Pictographs:Sh,Miscellaneous_Technical:Th,Modi:xh,Modifier_Tone_Letters:Bh,Mongolian:Oh,Mongolian_Supplement:wh,Mro:Ah,Multani:Rh,Musical_Symbols:kh,Myanmar:Ih,Myanmar_Extended_A:Lh,Myanmar_Extended_B:Mh,NKo:Ph,Nabataean:Nh,New_Tai_Lue:Uh,Newa:$h,Number_Forms:Hh,Nushu:Gh,Ogham:zh,Ol_Chiki:Xh,Old_Hungarian:Wh,Old_Italic:Yh,Old_North_Arabian:Vh,Old_Permic:jh,Old_Persian:Kh,Old_Sogdian:qh,Old_South_Arabian:Zh,Old_Turkic:Jh,Optical_Character_Recognition:Qh,Oriya:ef,Ornamental_Dingbats:tf,Osage:nf,Osmanya:rf,Pahawh_Hmong:sf,Palmyrene:of,Pau_Cin_Hau:af,Phags_Pa:uf,Phaistos_Disc:lf,Phoenician:cf,Phonetic_Extensions:hf,Phonetic_Extensions_Supplement:ff,Playing_Cards:df,Private_Use_Area:pf,Psalter_Pahlavi:gf,Rejang:Df,Rumi_Numeral_Symbols:_f,Runic:vf,Samaritan:mf,Saurashtra:bf,Sharada:yf,Shavian:Ff,Shorthand_Format_Controls:Cf,Siddham:Ef,Sinhala:Sf,Sinhala_Archaic_Numbers:Tf,Small_Form_Variants:xf,Sogdian:Bf,Sora_Sompeng:Of,Soyombo:wf,Spacing_Modifier_Letters:Af,Specials:Rf,Sundanese:kf,Sundanese_Supplement:If,Superscripts_And_Subscripts:Lf,Supplemental_Arrows_A:Mf,Supplemental_Arrows_B:Pf,Supplemental_Arrows_C:Nf,Supplemental_Mathematical_Operators:Uf,Supplemental_Punctuation:$f,Supplemental_Symbols_And_Pictographs:Hf,Supplementary_Private_Use_Area_A:Gf,Supplementary_Private_Use_Area_B:zf,Sutton_SignWriting:Xf,Syloti_Nagri:Wf,Syriac:Yf,Syriac_Supplement:Vf,Tagalog:jf,Tagbanwa:Kf,Tags:qf,Tai_Le:Zf,Tai_Tham:Jf,Tai_Viet:Qf,Tai_Xuan_Jing_Symbols:ed,Takri:td,Tamil:nd,Tangut:rd,Tangut_Components:sd,Telugu:id,Thaana:od,Thai:ad,Tibetan:ud,Tifinagh:ld,Tirhuta:cd,Transport_And_Map_Symbols:hd,Ugaritic:fd,Unified_Canadian_Aboriginal_Syllabics:dd,Unified_Canadian_Aboriginal_Syllabics_Extended:pd,Vai:gd,Variation_Selectors:Dd,Variation_Selectors_Supplement:_d,Vedic_Extensions:vd,Vertical_Forms:md,Warang_Citi:bd,Yi_Radicals:yd,Yi_Syllables:Fd,Yijing_Hexagram_Symbols:Cd,Zanabazar_Square:Ed,undefined:Sd},Symbol.toStringTag,{value:"Module"})),xd=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Bd=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,65114,65116,65118,65289,65341,65373,65376,65379],Od=[[0,39],[42,90],92,[94,122],124,[126,3897],[3902,5786],[5789,8260],[8263,8316],[8319,8332],[8335,8967],[8972,9e3],[9003,10087],[10102,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11809],[11818,11860],[11869,12295],[12306,12307],[12316,65112],[65119,65287],[65290,65338],65340,[65342,65370],65372,65374,65377,[65380,1114111]],wd=[40,91,123,3898,3900,5787,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,65113,65115,65117,65288,65339,65371,65375,65378],Ad=Object.freeze(Object.defineProperty({__proto__:null,Close:Bd,None:Od,Open:wd},Symbol.toStringTag,{value:"Module"})),Rd=[35,38,42,[60,62],[64,90],[94,122],126,166,169,172,[174,175],181,[192,214],[216,246],[248,710],[718,719],[721,727],732,734,[736,767],[880,887],[890,893],895,[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1416],[1421,1422],1472,1475,[1523,1524],[1536,1544],[1550,1551],[1568,1610],[1645,1647],[1649,1747],1749,[1757,1758],[1765,1766],1769,[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[1994,2026],[2036,2039],2042,[2048,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2192,2193],[2208,2249],2274,[2308,2361],2365,2384,[2392,2401],[2416,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],[2548,2552],2554,[2556,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],2678,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2800,2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],[2928,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3056,3064],3066,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],[3192,3200],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,[3406,3407],[3412,3414],[3416,3425],[3440,3448],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3572,3663,3840,3845,3859,[3861,3863],[3866,3871],[3882,3891],3894,3896,[3904,3911],[3913,3948],[3976,3980],[4032,4037],[4039,4044],[4046,4047],[4052,4056],[4172,4175],[4256,4293],4295,4301,[4304,4351],[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],4960,[4962,4988],[4992,5017],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],6105,[6128,6137],[6144,6145],6151,6154,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],6464,[6624,6678],[6686,6687],[6917,6963],[6981,6988],7004,[7009,7018],[7028,7036],[7043,7072],[7086,7087],[7098,7141],[7164,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7367],7379,[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8188],8190,8215,[8226,8227],8248,[8254,8259],[8266,8277],8284,[8289,8292],[8304,8305],[8309,8316],8320,[8325,8332],[8336,8348],[8448,8450],8452,[8454,8456],[8458,8466],[8468,8469],[8471,8480],[8483,8490],[8492,8531],[8534,8538],[8540,8541],8543,[8556,8559],[8570,8584],[8586,8587],[8602,8657],8659,[8661,8703],8705,[8708,8710],[8713,8714],[8716,8718],8720,8724,[8726,8729],[8731,8732],[8737,8738],8740,8742,8749,[8751,8755],[8760,8763],[8766,8775],[8777,8779],[8781,8785],[8787,8799],[8802,8803],[8808,8809],[8812,8813],[8816,8833],[8836,8837],[8840,8852],[8854,8856],[8858,8868],[8870,8894],[8896,8942],[8944,8967],[8972,8977],[8979,8985],[8988,9e3],[9003,9199],[9204,9254],[9280,9290],9471,[9548,9551],[9589,9599],[9616,9617],[9622,9631],9634,[9642,9649],[9652,9653],[9656,9659],[9662,9663],[9666,9669],[9673,9674],[9676,9677],[9682,9697],[9702,9710],[9712,9727],9732,[9735,9736],[9738,9741],[9744,9747],9753,[9760,9784],[9788,9791],9793,[9795,9823],9826,9830,9835,9838,[9840,9854],[9856,9885],[9888,9916],9934,9954,[9956,9959],[9989,9991],[9998,10070],[10072,10074],10081,[10085,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11092],[11098,11123],[11126,11157],[11159,11502],[11506,11507],11517,[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11798,[11802,11803],[11806,11807],11823,11826,[11829,11833],11839,11851,11853,[11856,11858],[19904,19967],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],42611,[42622,42653],[42656,42735],42738,[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43063],43065,[43072,43123],[43138,43187],[43250,43259],[43261,43262],[43274,43301],[43312,43334],43359,[43396,43442],[43457,43462],[43466,43469],43471,[43486,43487],[43520,43560],[43584,43586],[43588,43595],43612,[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[64256,64262],[64275,64279],64297,[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65019],[65021,65023],[65136,65140],[65142,65276],[65512,65518],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67672,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],68184,[68192,68255],[68288,68324],[68331,68335],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[69216,69246],[69248,69289],[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69635,69687],[69705,69709],[69714,69733],[69745,69746],69749,[69763,69807],[69819,69821],69837,[69840,69864],[69891,69926],69956,69959,[69968,70002],70004,70006,[70019,70066],[70081,70084],70087,70093,70106,70108,[70113,70132],[70144,70161],[70163,70187],70202,70205,[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],70735,70749,[70751,70753],[70784,70831],[70852,70855],[71040,71086],[71110,71112],[71128,71131],[71168,71215],[71235,71236],[71296,71338],[71352,71353],[71680,71723],71739,[71840,71903],[71914,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72256,72262,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72794,72812],[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],[73463,73464],73474,[73476,73488],[73490,73523],73648,[73664,73692],[73697,73713],[73728,74649],[74752,74862],[74880,75075],[77712,77810],[77824,78423],[78430,78465],[78467,78469],[78474,78712],[78716,78895],[78913,78918],[82944,83405],[83408,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92986,92995],92997,[93019,93025],[93027,93047],[93053,93071],[93760,93846],[93849,93850],[93952,94026],94032,[94099,94111],[101120,101589],[110576,110579],[110581,110587],[110589,110590],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],121483,[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123214,123215],[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[126065,126123],[126125,126127],[126129,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[127278,127279],[127338,127340],[127900,127901],[127925,127926],127932,128160,128162,128164,128175,[128177,128178],[128256,128262],[128279,128292],[128306,128329],[128468,128475],[128500,128505],[128592,128629],[128636,128639],[128768,128883],[128896,128980],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129280,129291],[129536,129619],[129792,129938],[129940,129994]],kd=[[167,168],170,[178,179],[182,186],[188,190],215,247,711,[713,715],717,720,[728,731],733,[8213,8214],[8224,8225],8251,8308,8319,[8321,8324],8453,8467,[8481,8482],8491,[8532,8533],8539,8542,[8544,8555],[8560,8569],8585,[8592,8601],8658,8660,8704,[8706,8707],[8711,8712],8715,8719,8721,8725,8730,[8733,8736],8739,8741,[8743,8748],8750,[8756,8759],[8764,8765],8776,8780,8786,[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],8853,8857,8869,8895,8978,[9312,9470],[9472,9547],[9552,9588],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],9675,[9678,9681],[9698,9701],9711,[9733,9734],9737,[9742,9743],[9750,9751],9792,9794,[9824,9825],[9827,9829],9831,[9833,9834],[9836,9837],9839,[9886,9887],[9929,9932],9938,[9941,9943],[9946,9947],[9949,9950],9955,[9960,9961],[9963,9968],9974,[9979,9980],10071,[10102,10131],[11093,11097],[12872,12879],65533,[127232,127244],[127248,127277],[127280,127337],[127344,127404]],Id=[9,124,173,1418,1470,[2404,2405],[3674,3675],3851,3892,3967,3973,[4030,4031],4050,[4170,4171],4961,5120,5760,[5867,5869],[5941,5942],[6100,6101],6104,6106,[6148,6149],[7002,7003],[7005,7008],[7037,7038],[7227,7231],[7294,7295],[8192,8198],[8200,8202],8208,[8210,8211],8231,8278,[8280,8283],[8285,8287],[11514,11516],11519,11632,[11790,11797],11799,11801,[11818,11821],[11824,11825],[11827,11828],[11836,11838],[11840,11841],[11843,11850],11852,[11854,11855],11869,12288,[42238,42239],42509,42511,[42739,42743],[43214,43215],[43310,43311],[43463,43465],[43613,43615],[43760,43761],44011,[65792,65794],66463,66512,67671,67871,[68176,68183],[68336,68341],[68409,68415],69293,[69703,69704],[69822,69825],[69952,69955],[70085,70086],70088,[70109,70111],[70200,70201],[70203,70204],70313,[70731,70734],[70746,70747],[71106,71107],[71113,71127],[71233,71234],[71484,71486],[72004,72006],[72257,72260],[72346,72348],[72353,72354],[72769,72773],[73539,73540],73727,[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],Ld=[180,712,716,735,3191,3204,[3841,3844],[3846,3847],[3849,3850],[4048,4049],4051,6150,8189,[43124,43125],43260,70005,70107,71105,[71264,71276],72162,72255,72261,[72350,72352],[72448,72457],72816],Md=[8212,[11834,11835]],Pd=[47],Nd=[13],Ud=[41,93],$d=[125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,[12289,12290],12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,[65041,65042],65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65104,65106,65114,65116,65118,65289,65292,65294,65341,65373,[65376,65377],[65379,65380],[78427,78429],78466,78471,78473,[78714,78715],78904,78909,78911,83407],Hd=[[0,8],[14,31],[127,132],[134,159],[768,846],[848,859],[867,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],1564,[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],[3864,3865],3893,3895,3897,[3902,3903],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7628],[7630,7675],[7677,7679],8204,[8206,8207],[8234,8238],[8294,8303],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],12341,[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],[43561,43574],43587,[43596,43597],[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65529,65531],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],917505,[917536,917631],[917760,917999]],Gd=[[3585,3642],[3648,3662],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3804,3807],[4096,4159],[4176,4239],[4250,4255],[6016,6099],6103,[6108,6109],[6480,6509],[6512,6516],[6528,6571],[6576,6601],6618,[6622,6623],[6688,6750],[6752,6780],[6816,6829],[43488,43503],[43514,43518],[43616,43714],[43739,43743],[71424,71450],[71453,71467],[71482,71483],[71487,71494]],zd=[12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,[12437,12438],12449,12451,12453,12455,12457,12483,12515,12517,12519,12526,[12533,12534],12540,[12784,12799],[65383,65392],110898,[110928,110930],110933,[110948,110951]],Xd=[65532],Wd=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],Yd=[[127995,127999]],Vd=[33,63,1478,1563,[1565,1567],1748,2041,[3853,3857],3860,[6146,6147],[6152,6153],[6468,6469],[10082,10083],11513,11518,11822,[11859,11860],42510,[43126,43127],[65045,65046],[65110,65111],65281,65311,[71108,71109],72817],jd=[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],Kd=[44032,44060,44088,44116,44144,44172,44200,44228,44256,44284,44312,44340,44368,44396,44424,44452,44480,44508,44536,44564,44592,44620,44648,44676,44704,44732,44760,44788,44816,44844,44872,44900,44928,44956,44984,45012,45040,45068,45096,45124,45152,45180,45208,45236,45264,45292,45320,45348,45376,45404,45432,45460,45488,45516,45544,45572,45600,45628,45656,45684,45712,45740,45768,45796,45824,45852,45880,45908,45936,45964,45992,46020,46048,46076,46104,46132,46160,46188,46216,46244,46272,46300,46328,46356,46384,46412,46440,46468,46496,46524,46552,46580,46608,46636,46664,46692,46720,46748,46776,46804,46832,46860,46888,46916,46944,46972,47e3,47028,47056,47084,47112,47140,47168,47196,47224,47252,47280,47308,47336,47364,47392,47420,47448,47476,47504,47532,47560,47588,47616,47644,47672,47700,47728,47756,47784,47812,47840,47868,47896,47924,47952,47980,48008,48036,48064,48092,48120,48148,48176,48204,48232,48260,48288,48316,48344,48372,48400,48428,48456,48484,48512,48540,48568,48596,48624,48652,48680,48708,48736,48764,48792,48820,48848,48876,48904,48932,48960,48988,49016,49044,49072,49100,49128,49156,49184,49212,49240,49268,49296,49324,49352,49380,49408,49436,49464,49492,49520,49548,49576,49604,49632,49660,49688,49716,49744,49772,49800,49828,49856,49884,49912,49940,49968,49996,50024,50052,50080,50108,50136,50164,50192,50220,50248,50276,50304,50332,50360,50388,50416,50444,50472,50500,50528,50556,50584,50612,50640,50668,50696,50724,50752,50780,50808,50836,50864,50892,50920,50948,50976,51004,51032,51060,51088,51116,51144,51172,51200,51228,51256,51284,51312,51340,51368,51396,51424,51452,51480,51508,51536,51564,51592,51620,51648,51676,51704,51732,51760,51788,51816,51844,51872,51900,51928,51956,51984,52012,52040,52068,52096,52124,52152,52180,52208,52236,52264,52292,52320,52348,52376,52404,52432,52460,52488,52516,52544,52572,52600,52628,52656,52684,52712,52740,52768,52796,52824,52852,52880,52908,52936,52964,52992,53020,53048,53076,53104,53132,53160,53188,53216,53244,53272,53300,53328,53356,53384,53412,53440,53468,53496,53524,53552,53580,53608,53636,53664,53692,53720,53748,53776,53804,53832,53860,53888,53916,53944,53972,54e3,54028,54056,54084,54112,54140,54168,54196,54224,54252,54280,54308,54336,54364,54392,54420,54448,54476,54504,54532,54560,54588,54616,54644,54672,54700,54728,54756,54784,54812,54840,54868,54896,54924,54952,54980,55008,55036,55064,55092,55120,55148,55176],qd=[[44033,44059],[44061,44087],[44089,44115],[44117,44143],[44145,44171],[44173,44199],[44201,44227],[44229,44255],[44257,44283],[44285,44311],[44313,44339],[44341,44367],[44369,44395],[44397,44423],[44425,44451],[44453,44479],[44481,44507],[44509,44535],[44537,44563],[44565,44591],[44593,44619],[44621,44647],[44649,44675],[44677,44703],[44705,44731],[44733,44759],[44761,44787],[44789,44815],[44817,44843],[44845,44871],[44873,44899],[44901,44927],[44929,44955],[44957,44983],[44985,45011],[45013,45039],[45041,45067],[45069,45095],[45097,45123],[45125,45151],[45153,45179],[45181,45207],[45209,45235],[45237,45263],[45265,45291],[45293,45319],[45321,45347],[45349,45375],[45377,45403],[45405,45431],[45433,45459],[45461,45487],[45489,45515],[45517,45543],[45545,45571],[45573,45599],[45601,45627],[45629,45655],[45657,45683],[45685,45711],[45713,45739],[45741,45767],[45769,45795],[45797,45823],[45825,45851],[45853,45879],[45881,45907],[45909,45935],[45937,45963],[45965,45991],[45993,46019],[46021,46047],[46049,46075],[46077,46103],[46105,46131],[46133,46159],[46161,46187],[46189,46215],[46217,46243],[46245,46271],[46273,46299],[46301,46327],[46329,46355],[46357,46383],[46385,46411],[46413,46439],[46441,46467],[46469,46495],[46497,46523],[46525,46551],[46553,46579],[46581,46607],[46609,46635],[46637,46663],[46665,46691],[46693,46719],[46721,46747],[46749,46775],[46777,46803],[46805,46831],[46833,46859],[46861,46887],[46889,46915],[46917,46943],[46945,46971],[46973,46999],[47001,47027],[47029,47055],[47057,47083],[47085,47111],[47113,47139],[47141,47167],[47169,47195],[47197,47223],[47225,47251],[47253,47279],[47281,47307],[47309,47335],[47337,47363],[47365,47391],[47393,47419],[47421,47447],[47449,47475],[47477,47503],[47505,47531],[47533,47559],[47561,47587],[47589,47615],[47617,47643],[47645,47671],[47673,47699],[47701,47727],[47729,47755],[47757,47783],[47785,47811],[47813,47839],[47841,47867],[47869,47895],[47897,47923],[47925,47951],[47953,47979],[47981,48007],[48009,48035],[48037,48063],[48065,48091],[48093,48119],[48121,48147],[48149,48175],[48177,48203],[48205,48231],[48233,48259],[48261,48287],[48289,48315],[48317,48343],[48345,48371],[48373,48399],[48401,48427],[48429,48455],[48457,48483],[48485,48511],[48513,48539],[48541,48567],[48569,48595],[48597,48623],[48625,48651],[48653,48679],[48681,48707],[48709,48735],[48737,48763],[48765,48791],[48793,48819],[48821,48847],[48849,48875],[48877,48903],[48905,48931],[48933,48959],[48961,48987],[48989,49015],[49017,49043],[49045,49071],[49073,49099],[49101,49127],[49129,49155],[49157,49183],[49185,49211],[49213,49239],[49241,49267],[49269,49295],[49297,49323],[49325,49351],[49353,49379],[49381,49407],[49409,49435],[49437,49463],[49465,49491],[49493,49519],[49521,49547],[49549,49575],[49577,49603],[49605,49631],[49633,49659],[49661,49687],[49689,49715],[49717,49743],[49745,49771],[49773,49799],[49801,49827],[49829,49855],[49857,49883],[49885,49911],[49913,49939],[49941,49967],[49969,49995],[49997,50023],[50025,50051],[50053,50079],[50081,50107],[50109,50135],[50137,50163],[50165,50191],[50193,50219],[50221,50247],[50249,50275],[50277,50303],[50305,50331],[50333,50359],[50361,50387],[50389,50415],[50417,50443],[50445,50471],[50473,50499],[50501,50527],[50529,50555],[50557,50583],[50585,50611],[50613,50639],[50641,50667],[50669,50695],[50697,50723],[50725,50751],[50753,50779],[50781,50807],[50809,50835],[50837,50863],[50865,50891],[50893,50919],[50921,50947],[50949,50975],[50977,51003],[51005,51031],[51033,51059],[51061,51087],[51089,51115],[51117,51143],[51145,51171],[51173,51199],[51201,51227],[51229,51255],[51257,51283],[51285,51311],[51313,51339],[51341,51367],[51369,51395],[51397,51423],[51425,51451],[51453,51479],[51481,51507],[51509,51535],[51537,51563],[51565,51591],[51593,51619],[51621,51647],[51649,51675],[51677,51703],[51705,51731],[51733,51759],[51761,51787],[51789,51815],[51817,51843],[51845,51871],[51873,51899],[51901,51927],[51929,51955],[51957,51983],[51985,52011],[52013,52039],[52041,52067],[52069,52095],[52097,52123],[52125,52151],[52153,52179],[52181,52207],[52209,52235],[52237,52263],[52265,52291],[52293,52319],[52321,52347],[52349,52375],[52377,52403],[52405,52431],[52433,52459],[52461,52487],[52489,52515],[52517,52543],[52545,52571],[52573,52599],[52601,52627],[52629,52655],[52657,52683],[52685,52711],[52713,52739],[52741,52767],[52769,52795],[52797,52823],[52825,52851],[52853,52879],[52881,52907],[52909,52935],[52937,52963],[52965,52991],[52993,53019],[53021,53047],[53049,53075],[53077,53103],[53105,53131],[53133,53159],[53161,53187],[53189,53215],[53217,53243],[53245,53271],[53273,53299],[53301,53327],[53329,53355],[53357,53383],[53385,53411],[53413,53439],[53441,53467],[53469,53495],[53497,53523],[53525,53551],[53553,53579],[53581,53607],[53609,53635],[53637,53663],[53665,53691],[53693,53719],[53721,53747],[53749,53775],[53777,53803],[53805,53831],[53833,53859],[53861,53887],[53889,53915],[53917,53943],[53945,53971],[53973,53999],[54001,54027],[54029,54055],[54057,54083],[54085,54111],[54113,54139],[54141,54167],[54169,54195],[54197,54223],[54225,54251],[54253,54279],[54281,54307],[54309,54335],[54337,54363],[54365,54391],[54393,54419],[54421,54447],[54449,54475],[54477,54503],[54505,54531],[54533,54559],[54561,54587],[54589,54615],[54617,54643],[54645,54671],[54673,54699],[54701,54727],[54729,54755],[54757,54783],[54785,54811],[54813,54839],[54841,54867],[54869,54895],[54897,54923],[54925,54951],[54953,54979],[54981,55007],[55009,55035],[55037,55063],[55065,55091],[55093,55119],[55121,55147],[55149,55175],[55177,55203]],Zd=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Jd=[45],Qd=[[8986,8987],[9200,9203],[9728,9731],[9748,9749],9752,[9754,9756],[9758,9759],[9785,9787],9832,9855,[9917,9928],9933,[9935,9937],[9939,9940],[9944,9945],9948,[9951,9953],9962,[9969,9973],[9975,9976],9978,[9981,9988],[9992,9993],10084,[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12291,12292],[12294,12295],[12306,12307],[12320,12329],[12336,12340],[12342,12346],[12349,12351],12354,12356,12358,12360,[12362,12386],[12388,12418],12420,12422,[12424,12429],[12431,12436],12447,12450,12452,12454,12456,[12458,12482],[12484,12514],12516,12518,[12520,12525],[12527,12532],[12535,12538],12543,[12549,12591],[12593,12686],[12688,12771],[12800,12830],[12832,12871],[12880,19903],[19968,40980],[40982,42124],[42128,42182],[63744,64255],[65072,65076],[65093,65094],[65097,65103],65105,65112,[65119,65126],65128,65131,[65282,65283],[65286,65287],[65290,65291],65293,[65295,65305],[65308,65310],[65312,65338],65340,[65342,65370],65372,65374,65382,[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65506,65508],[73541,73551],[94208,100343],[100352,101119],[101632,101640],[110592,110882],[110960,111355],[126976,127231],[127245,127247],[127341,127343],[127405,127461],[127488,127876],[127878,127899],[127902,127924],[127927,127931],[127933,127937],[127941,127942],[127944,127945],[127949,127994],[128e3,128065],[128068,128069],[128081,128101],[128121,128123],[128125,128128],128132,[128136,128142],128144,[128146,128159],128161,128163,[128165,128169],[128171,128174],128176,[128179,128255],[128263,128278],[128293,128305],[128330,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128467],[128476,128499],[128506,128580],[128584,128586],[128640,128674],[128676,128691],[128695,128703],[128705,128715],[128717,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129293,129294],[129296,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129398],[129400,129460],129463,129466,[129468,129484],129488,[129502,129535],[129620,129730],[129734,129775],[129785,129791],[130048,131069],[131072,196605],[196608,262141]],ep=[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],tp=[[8228,8230],8943,65049,68342],np=[[4352,4447],[43360,43388]],rp=[[4520,4607],[55243,55291]],sp=[[4448,4519],[55216,55238]],ip=[10],op=[[11,12],[8232,8233]],ap=[133],up=[6102,[8252,8253],[8263,8265],12293,12316,[12347,12348],[12443,12446],12448,12539,[12541,12542],40981,[65108,65109],[65306,65307],65381,[65438,65439],[94176,94179],[128633,128635]],lp=[[48,57],[1632,1641],[1643,1644],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],cp=[40,91,123,161,191,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11800,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378,[78424,78426],78470,78472,78713,78903,78908,78910,83406,[125278,125279]],hp=[37,162,176,[1545,1547],1642,[2546,2547],2553,3449,[8240,8247],8279,8359,8374,8379,8382,8384,8451,8457,43064,65020,65130,65285,65504,[73693,73696],126124,126128],fp=[36,43,92,[163,165],177,1423,[2046,2047],2555,2801,3065,3647,6107,[8352,8358],[8360,8373],[8375,8378],[8380,8381],8383,[8385,8399],8470,[8722,8723],65129,65284,65505,[65509,65510],123647],dp=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],pp=[[127462,127487]],gp=[32],Dp=[[55296,57343]],_p=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[57344,63743],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[131070,131071],[196606,196607],[262142,917504],[917506,917535],[917632,917759],[918e3,1114111]],vp=[8288,65279],mp=[8205],bp=[8203],yp=Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:Rd,Ambiguous:kd,Break_After:Id,Break_Before:Ld,Break_Both:Md,Break_Symbols:Pd,Carriage_Return:Nd,Close_Parenthesis:Ud,Close_Punctuation:$d,Combining_Mark:Hd,Complex_Context:Gd,Conditional_Japanese_Starter:zd,Contingent_Break:Xd,E_Base:Wd,E_Modifier:Yd,Exclamation:Vd,Glue:jd,H2:Kd,H3:qd,Hebrew_Letter:Zd,Hyphen:Jd,Ideographic:Qd,Infix_Numeric:ep,Inseparable:tp,JL:np,JT:rp,JV:sp,Line_Feed:ip,Mandatory_Break:op,Next_Line:ap,Nonstarter:up,Numeric:lp,Open_Punctuation:cp,Postfix_Numeric:hp,Prefix_Numeric:fp,Quotation:dp,Regional_Indicator:pp,Space:gp,Surrogate:Dp,Unknown:_p,Word_Joiner:vp,ZWJ:mp,ZWSpace:bp},Symbol.toStringTag,{value:"Module"})),Fp=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,727],[734,767],[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1369,1372],1374,[1376,1416],1418,1523,[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3840,[3904,3911],[3913,3948],[3976,3980],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6656,6678],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,12293,[12347,12348],[12549,12591],[12593,12686],[12704,12735],[40960,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42760,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43520,43560],[43584,43586],[43588,43595],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[64256,64262],[64275,64279],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369]],Cp=[13],Ep=[34],Sp=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[127995,127999],[917536,917631],[917760,917999]],Tp=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],xp=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8206,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505],Bp=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Op=[[12337,12341],[12443,12444],[12448,12538],[12540,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],wp=[10],Ap=[58,183,903,1375,1524,8231,65043,65109,65306],Rp=[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],kp=[46,[8216,8217],8228,65106,65287,65294],Ip=[[11,12],133,[8232,8233]],Lp=[[48,57],[1632,1641],1643,[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],Mp=[[0,9],[14,31],33,[35,38],[40,43],45,47,[60,64],[91,94],96,[123,132],[134,159],[161,169],[171,172],[174,180],182,[184,185],[187,191],215,247,[728,733],885,[888,889],[896,901],907,909,930,1014,1154,1328,[1367,1368],1373,[1419,1424],1470,1472,1475,1478,[1480,1487],[1515,1518],[1525,1535],[1542,1547],[1550,1551],1563,[1565,1567],1642,1645,1748,1769,[1789,1790],[1792,1806],[1867,1868],[1970,1983],[2038,2039],2041,[2043,2044],[2046,2047],[2094,2111],[2140,2143],[2155,2159],2184,2191,[2194,2199],[2404,2405],2416,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2546,2555],2557,[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2678,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2800,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],2928,[2930,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3056,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3199],3204,3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3407,3411],[3416,3422],[3428,3429],[3440,3449],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3572,3632],[3634,3635],[3643,3654],3663,[3674,3760],[3762,3763],[3773,3783],3791,[3802,3839],[3841,3863],[3866,3871],[3882,3892],3894,3896,[3898,3901],3912,[3949,3952],3973,3992,[4029,4037],[4039,4095],4130,4136,4159,[4170,4175],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4254,4255],4294,[4296,4300],[4302,4303],4347,4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4960,4991],[5008,5023],[5110,5111],[5118,5120],[5741,5742],[5787,5791],[5867,5869],[5881,5887],[5910,5918],[5941,5951],[5972,5983],5997,6001,[6004,6015],[6100,6102],[6104,6107],[6110,6111],[6122,6154],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6469],[6510,6511],[6517,6527],[6570,6575],[6602,6607],[6619,6655],[6684,6740],6751,[6781,6782],[6794,6799],[6810,6831],[6863,6911],[6989,6991],[7002,7018],[7028,7039],[7156,7167],[7224,7231],[7242,7244],[7294,7295],[7305,7311],[7355,7356],[7360,7375],7379,[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8125,[8127,8129],8133,[8141,8143],[8148,8149],[8156,8159],[8173,8177],8181,[8189,8191],8199,[8208,8215],[8218,8227],[8229,8230],[8240,8254],[8257,8259],[8261,8275],[8277,8286],8293,8304,[8306,8318],[8320,8335],[8349,8399],[8433,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],[8527,8543],[8585,9397],[9450,9756],[9758,9791],9793,[9795,9876],[9879,9976],[9978,9991],9993,[9998,10083],[10085,11263],[11493,11498],[11508,11519],11558,[11560,11564],[11566,11567],[11624,11630],[11632,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11776,11822],[11824,12287],[12289,12292],[12294,12329],12336,[12342,12346],[12349,12440],[12445,12447],12539,[12544,12548],12592,[12687,12703],[12736,12783],[12800,13007],13055,[13144,40959],[42125,42191],[42238,42239],[42509,42511],[42540,42559],42611,42622,[42738,42759],[42955,42959],42962,42964,[42970,42993],[43048,43051],[43053,43071],[43124,43135],[43206,43215],[43226,43231],[43256,43258],43260,[43310,43311],[43348,43359],[43389,43391],[43457,43470],[43482,43492],[43494,43503],[43514,43519],[43575,43583],[43598,43599],[43610,43642],[43646,43695],43697,[43701,43702],[43705,43709],43712,[43714,43743],[43760,43761],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43882,43887],44011,[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,64047],[64107,64255],[64263,64274],[64280,64284],64297,64311,64317,64319,64322,64325,[64434,64466],[64830,64847],[64912,64913],[64968,65007],[65020,65023],[65041,65042],[65045,65055],[65072,65074],[65077,65100],65105,65107,[65110,65135],65141,[65277,65278],[65280,65286],[65288,65291],65293,65295,[65308,65312],[65339,65342],65344,[65371,65381],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65528],[65532,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65855],[65909,66044],[66046,66175],[66205,66207],[66257,66271],[66273,66303],[66336,66348],[66379,66383],[66427,66431],[66462,66463],[66500,66503],66512,[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66927],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],[67670,67679],[67703,67711],[67743,67807],67827,[67830,67839],[67862,67871],[67898,67967],[68024,68029],[68032,68095],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68160,68191],[68221,68223],[68253,68287],68296,[68327,68351],[68406,68415],[68438,68447],[68467,68479],[68498,68607],[68681,68735],[68787,68799],[68851,68863],[68904,68911],[68922,69247],69290,[69293,69295],[69298,69372],[69405,69414],[69416,69423],[69457,69487],[69510,69551],[69573,69599],[69623,69631],[69703,69733],[69750,69758],[69819,69820],[69822,69825],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69952,69955],[69960,69967],[70004,70005],[70007,70015],[70085,70088],70093,70107,[70109,70143],70162,[70200,70205],[70210,70271],70279,70281,70286,70302,[70313,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],[70731,70735],[70746,70749],[70754,70783],70854,[70856,70863],[70874,71039],[71094,71095],[71105,71127],[71134,71167],[71233,71235],[71237,71247],[71258,71295],[71353,71359],[71370,71452],[71468,71471],[71482,71679],[71739,71839],[71914,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72004,72015],[72026,72095],[72104,72105],[72152,72153],72162,[72165,72191],[72255,72262],[72264,72271],[72346,72348],[72350,72367],[72441,72703],72713,72759,[72769,72783],[72794,72817],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73463,73471],73489,[73531,73533],[73539,73551],[73562,73647],[73649,73727],[74650,74751],[74863,74879],[75076,77711],[77809,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92783],92863,[92874,92879],[92910,92911],[92917,92927],[92983,92991],[92996,93007],[93018,93026],[93048,93052],[93072,93759],[93824,93951],[94027,94030],[94088,94094],[94112,94175],94178,[94181,94191],[94194,110575],110580,110588,110591,[110593,110879],[110883,110932],[110934,110947],[110952,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113820],113823,[113828,118527],[118574,118575],[118599,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119361],[119365,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120780,120781],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123215,123535],[123567,123583],[123642,124111],[124154,124895],124903,124908,124911,124927,[125125,125135],[125143,125183],[125260,125263],[125274,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,127279],[127306,127311],[127338,127343],[127370,127461],[127488,127751],[127753,127805],[127807,127858],[127860,127876],[127878,127890],[127892,127907],[127909,127911],[127913,127937],[127941,127942],[127944,127945],[127949,127978],127980,[127982,127994],[128e3,128065],[128068,128069],[128081,128101],[128106,128109],128111,[128121,128123],[128125,128128],128132,[128136,128138],[128140,128169],[128171,128186],[128189,128294],[128296,128299],[128301,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128487],[128489,128580],[128584,128586],[128592,128639],[128641,128657],[128659,128674],[128676,128691],[128695,128703],[128705,128715],[128717,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129488],[129502,130031],[130042,917504],[917506,917535],[917632,917759],[918e3,1114111]],Pp=[[127462,127487]],Np=[39],Up=[32,5760,[8192,8198],[8200,8202],8287,12288],$p=[8205],Hp=Object.freeze(Object.defineProperty({__proto__:null,ALetter:Fp,CR:Cp,Double_Quote:Ep,Extend:Sp,ExtendNumLet:Tp,Format:xp,Hebrew_Letter:Bp,Katakana:Op,LF:wp,MidLetter:Ap,MidNum:Rp,MidNumLet:kp,Newline:Ip,Numeric:Lp,Other:Mp,Regional_Indicator:Pp,Single_Quote:Np,WSegSpace:Up,ZWJ:$p},Symbol.toStringTag,{value:"Module"})),Gp=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:Y8,Bidi_Mirroring_Glyph:xd,Bidi_Paired_Bracket_Type:Ad,Binary_Property:P3,Block:Td,Case_Folding:nu,General_Category:F8,Line_Break:yp,Script:j9,Script_Extensions:Za,Word_Break:Hp},Symbol.toStringTag,{value:"Module"}));function N4(r){const t=Object.keys(r);if(t.length===0)throw new Error("Expected at least one category, but received 0.");if(t.some(n=>{const s=r[n];return s===void 0||s.length===0}))throw new Error("Expected at least one sub category, but received 0.");return t.map(n=>{const i=r[n].map(o=>zp(n,o));return new V1().union(...i)}).reduce((n,s)=>n.intersect(s))}function zp(r,t){const n=Gp[r][t];return new V1().union(...n)}const b6=N4({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),U4=N4({Block:["CJK_Compatibility","CJK_Symbols_And_Punctuation","Vertical_Forms","CJK_Compatibility_Forms","Small_Form_Variants","Halfwidth_And_Fullwidth_Forms","Ideographic_Description_Characters","Kanbun","CJK_Strokes","Enclosed_CJK_Letters_And_Months"]}).subtract(b6),Xp=vt(b6,U4);function Wp(){return vt(Xp)}function Yp(){return vt(b6)}function Vp(){return vt(U4)}const $4="0",D0=r=>({sbr:.6,sbo:r,spr:.6,spo:r});class re{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(t,e,n){this._globalFontMeasureCache.has(t)||this._globalFontMeasureCache.set(t,new Map);const s=this._globalFontMeasureCache.get(t);s&&s.set(e,n)}static clearFontMeasureCache(t){var n;const e=t.split("/");if(e.length===1){const s=e[0];this._globalFontMeasureCache.delete(s)}else if(e.length===2){const s=e[0],i=e[1];(n=this._globalFontMeasureCache.get(s))==null||n.delete(i)}else return!1;return!0}static getFontMeasureCache(t,e){var n;return(n=this._globalFontMeasureCache.get(t))==null?void 0:n.get(e)}static autoCleanFontMeasureCache(t=1e6){let e=0,n=!1;for(const s of this._globalFontMeasureCache){const[,i]=s;if(e+=i.size,e>t){n=!0;break}}if(n){let s=0;for(const i of this._globalFontMeasureCache){const[o,a]=i;if(s+=a.size,s>t/2){const u=s-t/2;this._clearMeasureCache(u,a);break}this._globalFontMeasureCache.delete(o)}return!0}return!1}static getBaselineOffsetInfo(t,e){if(this._fontDataMap.size===0)return D0(e);const n=t.split(",");for(let s of n){s=s.replace(/'/g,"");const i=this._fontDataMap.get(s);if(!i)continue;const{subscriptSizeRatio:o,subscriptOffset:a,superscriptSizeRatio:u,superscriptOffset:l}=i;return{sbr:o,sbo:a*e,spr:u,spo:l*e}}return D0(e)}static getTextSizeByDom(t,e){if(e in this._getTextHeightCache)return this._getTextHeightCache[e];let n=document.getElementById("universheetTextSizeTest");const s="float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;";n||(n=document.createElement("span"),n.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(n)),n.style.cssText+=`${s};${e}`,n.textContent=t;const i=n.getBoundingClientRect(),o={width:i.width,height:i.height};return this._getTextHeightCache[e]=o,o}static getTextSize(t,e){const{fontString:n,fontSize:s,fontFamily:i}=e;let o=this._getBoundingBoxByFont(i,s);if(!o){const a=this.getMeasureText(t,n);o=this._calculateBoundingBoxByMeasureText(a,e)}return o}static getBBoxFromGlyphInfo(t,e){var c;const n=t.glyph,s=t.font,{y1:i,y2:o}=t.boundingBox,a=x6(e.fontSize)/s.unitsPerEm,{ascender:u,descender:l}=s;return this._calculateBoundingBoxByMeasureText({width:((c=n.advanceWidth)!=null?c:0)*a,fontBoundingBoxAscent:u*a,fontBoundingBoxDescent:Math.abs(l*a),actualBoundingBoxAscent:o*a,actualBoundingBoxDescent:Math.abs(i*a)},e)}static getMeasureText(t,e){if(!this._context){const f=document.createElement("canvas");this._context=f.getContext("2d")}const n=this._context,s=this.getFontMeasureCache(e,t);if(s!=null)return s;n.font=e;const i=n.measureText(t),{width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c}=i,h={width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c};if(a==null||u==null||Number.isNaN(a)||Number.isNaN(u)){const f=this.getTextSizeByDom($4,e).height;n.textBaseline==="top"?(h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f,h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0):n.textBaseline==="middle"?(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=f/2,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f/2):(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(e,t,h),h}static _clearMeasureCache(t,e){let n=0;for(const s of e){const[i]=s;if(n>t)break;e.delete(i),n++}return!0}static _getBoundingBoxByFont(t,e=28,n=""){const s=this._fontDataMap.get(t);if(!s)return;const{notDefWidth:i,ascender:o,descender:a,typoAscender:u,typoDescender:l,strikeoutPosition:c,subscriptSizeRatio:h,subscriptOffset:f,superscriptSizeRatio:p,superscriptOffset:_,hdmxData:m,glyphHorizonMap:v}=s,y=m==null?void 0:m.indexOf(Math.floor(e)),C=v.get(n.charCodeAt(0));let E=i;if(C){const{width:x,pixelsPerEm:T=[]}=C;y?E=T[y]:E=x}return{width:E*e,ba:o*e,bd:a*e,aba:u*e,abd:l*e,sp:c*e,sbr:h,sbo:f*e,spr:p,spo:_*e}}static _calculateBoundingBoxByMeasureText(t,e){const{width:n,fontBoundingBoxAscent:s,fontBoundingBoxDescent:i,actualBoundingBoxAscent:o,actualBoundingBoxDescent:a}=t,{fontSize:u,originFontSize:l}=e,c=l/u,h=s*c,f=i*c;return{width:n,ba:h,bd:f,aba:o,abd:a,sp:(s+i)/2,sbr:.6,spr:.6,sbo:(h+f)*.141,spo:(h+f)*.4}}}d(re,"_getTextHeightCache",{}),d(re,"_context"),d(re,"_fontDataMap",new Map),d(re,"_globalFontMeasureCache",new Map);const H4=180,jp=Math.PI/H4,Kp=H4/Math.PI,_0="rgb(",qp="rgba(",F1=(r,t)=>r?t!=null?`${qp+r.join(",")},${t})`:`${_0+r.join(",")})`:`${_0}0,0,0)`,Zp=100,se=(r,t)=>{if(g.Tools.isNumber(r))return r;if(t&&r&&g.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const e=Number.parseFloat(r)/Zp;return t*e}return 0},Jp=16,D2=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(r):t.requestAnimationFrame?t.requestAnimationFrame(r):t.msRequestAnimationFrame?t.msRequestAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(r):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(r):t.oRequestAnimationFrame?t.oRequestAnimationFrame(r):setTimeout(r,Jp)),G4=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(r):t.requestAnimationFrame?t.cancelAnimationFrame(r):t.msRequestAnimationFrame?t.msCancelAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(r):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(r):t.oRequestAnimationFrame?t.oCancelAnimationFrame(r):clearTimeout(r)),y6=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(t){console.error(t)}return r},Qp=()=>document.createElement("img"),z4=r=>r*Kp,K1=r=>r*jp,jt=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),g.Tools.isTablet()&&!g.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},X4=()=>g.Tools.getBrowserType()==="safari",eg=4,W4=(r="obj",t=eg)=>{const e=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let n="";for(let i=0;i<t;i++)n+=e[Math.round(Math.random()*(e.length-1))];const s=new Date().getTime();return`${r}_${n}_${s}`};function be(r){return Object.prototype.toString.apply(r)}function F6(r){return be(r)==="[object Function]"}function tg(r){return be(r)==="[object Date]"}function ng(r){return be(r)==="[object RegExp]"}function rg(r){return be(r)==="[object Array]"}function Kt(r){return be(r)==="[object String]"}function sg(r){return be(r)==="[object Number]"}function ig(r){return be(r)==="[object Object]"}function nt(r,t){return t=10**t,Math.round(r*t)/t}function q(r,t){return Math.round(r*t)/t}const Y4=11,V4="Arial";function _2(r,t){const e=V4,n=Y4;if(!r){const f=`${n}pt ${e}`;return{fontCache:f,fontString:f,fontSize:n,originFontSize:n,fontFamily:e}}let s=g.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(s=g.FontStyleType.NORMAL);let i=g.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=g.FontStyleType.NORMAL);let o=n;r.fs&&(o=Math.ceil(r.fs));let a=o,u=e;if(r.ff){let f=r.ff;f=f.replace(/"/g,"").replace(/'/g,""),f.indexOf(" ")>-1&&(f=`"${f}"`),f==null&&(f=e),u=f}const{va:l}=r;if(l===g.BaselineOffset.SUBSCRIPT||l===g.BaselineOffset.SUPERSCRIPT){const f=re.getBaselineOffsetInfo(u,a),{sbr:p,spr:_}=f;a*=l===g.BaselineOffset.SUBSCRIPT?p:_}const c=`${s} ${i} ${a}pt ${u}`,h=`${c}, ${O2} `;return{fontCache:c,fontString:h,fontSize:a,originFontSize:o,fontFamily:u}}const og=Yp().toRegExp();function v2(r){return og.test(r)}const ag=Wp().toRegExp();function w2(r){return ag.test(r)}const ug=Vp().toRegExp();function qt(r){return ug.test(r)}function lg(r){return!!/[\u0000-\u024F]/gi.exec(r)}function cg(r){return!!/[\u0000-\u007F]/gi.exec(r)}function hg(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function fg(r){return!!/[\u0100-\u017F]/gi.exec(r)}function dg(r){return!!/[\u0180-\u024F]/gi.exec(r)}const rt=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/g,pg=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/;function st(r){return pg.test(r)}function C6(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function E6(r){return/[\u0180-\u024F]/gi.test(r)}function j4(r){return/\s+/g.test(r)}function mt(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function bt(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function S6(r){return["・","·"].indexOf(r)>-1}const v0=1e3;let H2;function A2(){if(H2)return H2;let r=56;for(;r<v0*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return H2=r,setTimeout(()=>{H2=null},v0),r}const K4=72,gg=25.4;function Dg(r){return r/(K4/A2())}function _g(r){return r*(K4/A2())}function vg(r){return r*(A2()/gg)}function mg(r){return r*A2()}function T6(r){const{scaleX:t=1,scaleY:e=1}=r;return Math.max(t,e)}function we(r,t,e,n){const s=r-1,i=t-1,o=e[s]||0;let a=e[r];a==null&&(a=e[e.length-1]);const u=n[i]||0;let l=n[t];return l==null&&(l=n[n.length-1]),{startY:o,endY:a,startX:u,endX:l}}function ze(r,t,e,n,s){let{startY:i,endY:o,startX:a,endX:u}=we(r,t,e,n);const{isMerged:l,isMergedMainCell:c,startRow:h,startColumn:f,endRow:p,endColumn:_}=m2(r,t,s);let m={startRow:h,startColumn:f,endRow:p,endColumn:_,startY:0,endY:0,startX:0,endX:0};const v=e.length-1,y=n.length-1;if(l&&h!==-1&&f!==-1){const C=e[h-1]||0,E=e[p]||e[v],x=n[f-1]||0,T=n[_]||n[y];m={...m,startY:C,endY:E,startX:x,endX:T}}else if(!l&&p!==-1&&_!==-1){const C=e[p]||e[v],E=n[_]||n[y];m={...m,startY:i,endY:C,startX:a,endX:E}}return{isMerged:l,isMergedMainCell:c,actualRow:r,actualColumn:t,startY:i,endY:o,startX:a,endX:u,mergeInfo:m}}function m2(r,t,e){let n=!1,s=!1,i=r,o=t,a=r,u=t;if(e==null)return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:o,startRow:a,startColumn:u};for(let l=0;l<e.length;l++){const{startRow:c,endRow:h,startColumn:f,endColumn:p}=e[l];if(r===c&&t===f){i=h,o=p,a=c,u=f,s=!0;break}if(r>=c&&r<=h&&t>=f&&t<=p){i=h,o=p,a=c,u=f,n=!0;break}}return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:o,startRow:a,startColumn:u}}function q4(r,t,e,n){let s=!1;for(let i=t;i<=e;i++){const{isMerged:o,isMergedMainCell:a}=m2(r,i,n);if(!o&&!a){s=!0;break}}return s}function Zt(r,t,e){const{startY:n,endY:s,startX:i,endX:o}=r;return r.startY=n+e,r.endY=s+e,r.startX=i+t,r.endX=o+t,{...r}}function Z4(r,t){return!(r.left>t.right||r.top>t.bottom||t.left>r.right||t.top>r.bottom)}function bg(r){const t=document.createElement("style");document.head.appendChild(t);const e=t.sheet;for(const n of r)e==null||e.insertRule(n,e.cssRules.length)}function yg(r){for(let t=0,e=document.head.childNodes.length;t<e;t++){const n=document.head.childNodes[t];if(n.nodeName==="STYLE"&&n.textContent&&n.textContent.indexOf(r)>-1)return!0}return!1}function xe(r){return Number(r.replace(/px/gi,""))}function J4(r){const t=getComputedStyle(r),{borderTopWidth:e,borderLeftWidth:n,borderRightWidth:s,borderBottomWidth:i,width:o,height:a}=t;return{top:xe(e),left:xe(n),right:xe(s),bottom:xe(i),width:xe(o),height:xe(a)}}const Q4=.75;function x6(r){return r/Q4}function Fg(r){return r*Q4}class P{constructor(t=0,e=0){this.x=t,this.y=e}static Zero(){return new P(0,0)}static One(){return new P(1,1)}static FromArray(t,e=0){return new P(t[e],t[e+1])}static FromArrayToRef(t,e,n){n.x=t[e],n.y=t[e+1]}static CatmullRom(t,e,n,s,i){const o=i*i,a=i*o,u=.5*(2*e.x+(-t.x+n.x)*i+(2*t.x-5*e.x+4*n.x-s.x)*o+(-t.x+3*e.x-3*n.x+s.x)*a),l=.5*(2*e.y+(-t.y+n.y)*i+(2*t.y-5*e.y+4*n.y-s.y)*o+(-t.y+3*e.y-3*n.y+s.y)*a);return new P(u,l)}static Clamp(t,e,n){let s=t.x;s=s>n.x?n.x:s,s=s<e.x?e.x:s;let i=t.y;return i=i>n.y?n.y:i,i=i<e.y?e.y:i,new P(s,i)}static Hermite(t,e,n,s,i){const o=i*i,a=i*o,u=2*a-3*o+1,l=-2*a+3*o,c=a-2*o+i,h=a-o,f=t.x*u+n.x*l+e.x*c+s.x*h,p=t.y*u+n.y*l+e.y*c+s.y*h;return new P(f,p)}static Hermite1stDerivative(t,e,n,s,i){const o=P.Zero();return this.Hermite1stDerivativeToRef(t,e,n,s,i,o),o}static Hermite1stDerivativeToRef(t,e,n,s,i,o){const a=i*i;o.x=(a-i)*6*t.x+(3*a-4*i+1)*e.x+(-a+i)*6*n.x+(3*a-2*i)*s.x,o.y=(a-i)*6*t.y+(3*a-4*i+1)*e.y+(-a+i)*6*n.y+(3*a-2*i)*s.y}static Lerp(t,e,n){const s=t.x+(e.x-t.x)*n,i=t.y+(e.y-t.y)*n;return new P(s,i)}static Dot(t,e){return t.x*e.x+t.y*e.y}static Normalize(t){const e=P.Zero();return this.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){const n=t.length();n!==0&&(e.x=t.x/n,e.y=t.y/n)}static Minimize(t,e){const n=t.x<e.x?t.x:e.x,s=t.y<e.y?t.y:e.y;return new P(n,s)}static Maximize(t,e){const n=t.x>e.x?t.x:e.x,s=t.y>e.y?t.y:e.y;return new P(n,s)}static PointInTriangle(t,e,n,s){const i=.5*(-n.y*s.x+e.y*(-n.x+s.x)+e.x*(n.y-s.y)+n.x*s.y),o=i<0?-1:1,a=(e.y*s.x-e.x*s.y+(s.y-e.y)*t.x+(e.x-s.x)*t.y)*o,u=(e.x*n.y-e.y*n.x+(e.y-n.y)*t.x+(n.x-e.x)*t.y)*o;return a>0&&u>0&&a+u<2*i*o}static Distance(t,e){return Math.sqrt(P.DistanceSquared(t,e))}static DistanceSquared(t,e){const n=t.x-e.x,s=t.y-e.y;return n*n+s*s}static Center(t,e){return P.CenterToRef(t,e,P.Zero())}static CenterToRef(t,e,n){return n.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2)}static DistanceOfPointFromSegment(t,e,n){const s=P.DistanceSquared(e,n);if(s===0)return P.Distance(t,e);const i=n.subtract(e),o=Math.max(0,Math.min(1,P.Dot(t.subtract(e),i)/s)),a=e.add(i.multiplyByFloats(o,o));return P.Distance(t,a)}static create(t,e){return new P(t,e)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let t=this.x|0;return t=t*397^(this.y|0),t}toArray(t,e=0){return t[e]=this.x,t[e+1]=this.y,this}fromArray(t,e=0){return P.FromArrayToRef(t,e,this),this}asArray(){const t=new Array;return this.toArray(t,0),t}copyFrom(t){return this.x=t.x,this.y=t.y,this}copyFromFloats(t,e){return this.x=t,this.y=e,this}set(t,e){return this.copyFromFloats(t,e)}add(t){return new P(this.x+t.x,this.y+t.y)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,this}addByPoint(t,e){return new P(this.x+t,this.y+e)}addInPlace(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return new P(this.x-t.x,this.y-t.y)}subtractByPoint(t,e){return new P(this.x-t,this.y-e)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,this}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this}multiply(t){return new P(this.x*t.x,this.y*t.y)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,this}multiplyByFloats(t,e){return new P(this.x*t,this.y*e)}divide(t){return new P(this.x/t.x,this.y/t.y)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,this}divideInPlace(t){return this.divideToRef(t,this)}negate(){return new P(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(t){return t.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(t){return this.x*=t,this.y*=t,this}scale(t){const e=new P(0,0);return this.scaleToRef(t,e),e}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,this}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,this}equals(t){return t&&this.x===t.x&&this.y===t.y}floor(){return new P(Math.floor(this.x),Math.floor(this.y))}fract(){return new P(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(t){const e=Math.cos(t),n=Math.sin(t),s=e*this.x-n*this.y,i=n*this.x+e*this.y;return this.x=s,this.y=i,this}rotateToRef(t,e){const n=Math.cos(t),s=Math.sin(t);return e.x=n*this.x-s*this.y,e.y=s*this.x+n*this.y,this}rotateByPoint(t,e=P.create(0,0)){const n=Math.cos(t),s=Math.sin(t),i=e.x+(this.x-e.x)*n-(this.y-e.y)*s,o=e.y+(this.x-e.x)*s+(this.y-e.y)*n;return this.x=i,this.y=o,this}transformCoordinateOnRotate(t){const e=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),s=-t+n;return this.x=e*Math.cos(s),this.y=e*Math.sin(s),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return P.NormalizeToRef(this,this),this}clone(){return new P(this.x,this.y)}}const K2=[1,0,0,1,0,0];class m1{constructor(t=K2){d(this,"dirty",!1);d(this,"_m");this._m=t&&t.slice()||K2}static create(t=K2){return new this(t)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new m1(this._m)}copyInto(t){t._m[0]=this._m[0],t._m[1]=this._m[1],t._m[2]=this._m[2],t._m[3]=this._m[3],t._m[4]=this._m[4],t._m[5]=this._m[5]}applyPoint(t,e=!1){const n=this._m,s=n[0]*t.x+n[2]*t.y,i=n[1]*t.x+n[3]*t.y;return e?new P(s,i):new P(s+n[4],i+n[5])}translate(t,e){return this._m[4]+=this._m[0]*t+this._m[2]*e,this._m[5]+=this._m[1]*t+this._m[3]*e,this}scale(t,e){return this._m[0]*=t,this._m[1]*=t,this._m[2]*=e,this._m[3]*=e,this}rotate(t){const e=K1(t),n=Math.cos(e),s=Math.sin(e),i=this._m[0]*n+this._m[2]*s,o=this._m[1]*n+this._m[3]*s,a=this._m[0]*-s+this._m[2]*n,u=this._m[1]*-s+this._m[3]*n;return this._m[0]=i,this._m[1]=o,this._m[2]=a,this._m[3]=u,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(t,e){const n=this._m[0]+this._m[2]*e,s=this._m[1]+this._m[3]*e,i=this._m[2]+this._m[0]*t,o=this._m[3]+this._m[1]*t;return this._m[0]=n,this._m[1]=s,this._m[2]=i,this._m[3]=o,this}multiply(t){const e=this._m[0]*t._m[0]+this._m[2]*t._m[1],n=this._m[1]*t._m[0]+this._m[3]*t._m[1],s=this._m[0]*t._m[2]+this._m[2]*t._m[3],i=this._m[1]*t._m[2]+this._m[3]*t._m[3],o=this._m[0]*t._m[4]+this._m[2]*t._m[5]+this._m[4],a=this._m[1]*t._m[4]+this._m[3]*t._m[5]+this._m[5];return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}invert(){const t=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),e=this._m[3]*t,n=-this._m[1]*t,s=-this._m[2]*t,i=this._m[0]*t,o=t*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),a=t*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}getMatrix(){return this._m}getMatrixByAccurate(t=3){return this._m.map(e=>nt(e,t))}setAbsolutePosition(t){const e=this._m[0],n=this._m[1],s=this._m[2],i=this._m[3],o=this._m[4],a=this._m[5],u=(e*(t.y-a)-n*(t.x-o))/(e*i-n*s),l=(t.x-o-s*u)/e;return this.translate(l,u)}decompose(){const t=this._m[0],e=this._m[1],n=this._m[2],s=this._m[3],i=this._m[4],o=this._m[5],a=t*s-e*n,u={x:i,y:o,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!==0||e!==0){const l=Math.sqrt(t*t+e*e);u.angle=e>0?Math.acos(t/l):-Math.acos(t/l),u.scaleX=l,u.scaleY=a/l,u.skewX=(t*n+e*s)/a,u.skewY=0}else if(n!==0||s!==0){const l=Math.sqrt(n*n+s*s);u.angle=Math.PI/2-(s>0?Math.acos(-n/l):-Math.acos(n/l)),u.scaleX=a/l,u.scaleY=l,u.skewX=0,u.skewY=(t*n+e*s)/a}return u.angle=z4(u.angle),u}makeBoundingBoxFromPoints(t){if(this)for(let c=0;c<t.length;c++)t[c]=this.applyPoint(t[c]);const e=[t[0].x,t[1].x,t[2].x,t[3].x],n=Math.min(...e),i=Math.max(...e)-n,o=[t[0].y,t[1].y,t[2].y,t[3].y],a=Math.min(...o),l=Math.max(...o)-a;return{left:n,top:a,width:i,height:l,points:t}}composeMatrix(t){const e=new m1([1,0,0,1,t.left||0,t.top||0]);return t.angle&&e.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&e.multiply(this._calcDimensionsMatrix(t)),this._m=e.getMatrix(),this}clone(){return new m1([...this._m])}_calcDimensionsMatrix(t){var i,o;const e=(i=t.scaleX)!=null?i:1,n=(o=t.scaleY)!=null?o:1,s=new m1([t.flipX?-e:e,0,0,t.flipY?-n:n,0,0]);return t.skewX&&s.multiply(new m1([1,0,Math.tan(K1(t.skewX)),1,0,0])),t.skewY&&s.multiply(new m1([1,Math.tan(K1(t.skewY)),0,1,0,0])),s}}const it=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class ue{constructor(t){d(this,"groupKey");d(this,"isInGroup",!1);d(this,"onTransformChangeObservable",new g.Observable);d(this,"onPointerDownObserver",new g.Observable);d(this,"onPointerMoveObserver",new g.Observable);d(this,"onPointerUpObserver",new g.Observable);d(this,"onDblclickObserver",new g.Observable);d(this,"onTripleClickObserver",new g.Observable);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onPointerOutObserver",new g.Observable);d(this,"onPointerLeaveObserver",new g.Observable);d(this,"onPointerOverObserver",new g.Observable);d(this,"onPointerEnterObserver",new g.Observable);d(this,"onIsAddedToParentObserver",new g.Observable);d(this,"onDisposeObserver",new g.Observable);d(this,"_oKey");d(this,"_dirty",!0);d(this,"_top",0);d(this,"_topOrigin",0);d(this,"_left",0);d(this,"_leftOrigin",0);d(this,"_width",0);d(this,"_widthOrigin",0);d(this,"_height",0);d(this,"_heightOrigin",0);d(this,"_angle",0);d(this,"_scaleX",1);d(this,"_scaleY",1);d(this,"_skewX",0);d(this,"_skewY",0);d(this,"_flipX",!1);d(this,"_flipY",!1);d(this,"_strokeWidth",0);d(this,"_parent");d(this,"_zIndex",0);d(this,"_evented",!0);d(this,"_visible",!0);d(this,"_debounceParentDirty",!0);d(this,"_transform",new m1);d(this,"_cursor",f1.DEFAULT);d(this,"_isTransformer",!1);d(this,"_forceRender",!1);d(this,"_layer");t?this._oKey=t:this._oKey=W4()}get transform(){return this._transform}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return j.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get isTransformer(){return this._isTransformer}get cursor(){return this._cursor}get layer(){return this._layer}set transform(t){this._transform=t}set zIndex(t){this._zIndex=t}set parent(t){this._parent=t}set evented(t){this._evented=t}set debounceParentDirty(t){this._debounceParentDirty=t}set isTransformer(t){this._isTransformer=t}set cursor(t){this.setCursor(t)}set layer(t){this._layer=t}set top(t){var e;this._topOrigin=t,this._top=se(t,(e=this._parent)==null?void 0:e.height)}set left(t){var e;this._leftOrigin=t,this._left=se(t,(e=this._parent)==null?void 0:e.width)}set width(t){var e;this._widthOrigin=t,this._width=se(t,(e=this._parent)==null?void 0:e.width)}set height(t){var e;this._heightOrigin=t,this._height=se(t,(e=this._parent)==null?void 0:e.height)}set strokeWidth(t){this._strokeWidth=t}set angle(t){this._angle=t}set scaleX(t){this._scaleX=t}set scaleY(t){this._scaleY=t}set skewX(t){this._skewX=t}set flipY(t){this._flipY=t}set flipX(t){this._flipX=t}set skewY(t){this._skewY=t}makeDirty(t=!0){if(this._dirty=t,t){if(this._layer==null){this._dirty=!1;return}typeof this._layer.debounceParentTimeout=="function"&&this._layer.debounceParentTimeout(),this._layer.debounceParentTimeout=g.requestImmediateMacroTask(()=>{var e;(e=this._layer)==null||e.makeDirty(t)})}return this}makeDirtyNoDebounce(t=!0){var e;return this._dirty=t,t&&((e=this._layer)==null||e.makeDirty(t)),this}isDirty(){return this._dirty}translate(t,e){const n=this.top;e!==void 0&&(this.top=e);const s=this.left;return t!==void 0&&(this.left=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:s}}),this}resize(t,e){const n=this.width;t!==void 0&&(this.width=t);const s=this.height;return e!==void 0&&(this.height=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:s}}),this}scale(t,e){const n=this.scaleX;t!==void 0&&(this.scaleX=t);const s=this.scaleY;return e!==void 0&&(this.scaleY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:s}}),this}skew(t,e){const n=t;t!==void 0&&(this.skewX=t);const s=e;return e!==void 0&&(this.skewY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:s}}),this}flip(t,e){const n=t;t!==void 0&&(this.flipX=t);const s=e;return e!==void 0&&(this.flipY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:s}}),this}transformByState(t){const e=Object.keys(t),n={};if(e.length!==0)return e.forEach(s=>{t[s]!==void 0&&(n[s]=this[s],this[s]=t[s])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.all,value:t,preValue:n}),this}isRender(t){return this._forceRender?!1:t&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(t,e){}isHit(t){const e=this._getInverseCoord(t);return e.x>=-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2&&e.y>=-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2}on(t,e){return this[`on${t}Observer`].add(e.bind(this))}off(t,e){this[`on${t}Observer`].remove(e)}clear(t){this[`on${t}Observer`].clear()}triggerPointerMove(t){var e,n;return(e=this.onPointerMoveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerMove(t),!1)}triggerPointerDown(t){var e,n;return(e=this.onPointerDownObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerDown(t),!1)}triggerPointerUp(t){var e,n;return(e=this.onPointerUpObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerUp(t),!1)}triggerDblclick(t){var e,n;return(e=this.onDblclickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerDblclick(t),!1)}triggerTripleClick(t){var e,n;return(e=this.onTripleClickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerTripleClick(t),!1)}triggerMouseWheel(t){var e,n;return(e=this.onMouseWheelObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerMouseWheel(t),!1)}triggerPointerOut(t){var e,n;return(e=this.onPointerOutObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerOut(t),!1)}triggerPointerLeave(t){var e,n;return(e=this.onPointerLeaveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerLeave(t),!1)}triggerPointerOver(t){var e;return this.onPointerOverObserver.notifyObservers(t)?!0:((e=this._parent)==null||e.triggerPointerOver(t),!1)}triggerPointerEnter(t){var e,n;return(e=this.onPointerEnterObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerEnter(t),!1)}dispose(){var t;this.onTransformChangeObservable.clear(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onMouseWheelObserver.clear(),this.onPointerOutObserver.clear(),this.onPointerLeaveObserver.clear(),this.onPointerOverObserver.clear(),this.onPointerEnterObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onIsAddedToParentObserver.clear(),(t=this.parent)==null||t.removeObject(this),this.onDisposeObserver.notifyObservers(this),this._makeDirtyMix(),this.onDisposeObserver.clear()}toJson(){const t={};return it.forEach(e=>{this[e]&&(t[e]=this[e])}),t}getScene(){let t=this.parent;if(t!=null){if(t.classType===j.SCENE)return t;for(;t;){if(t.classType===j.SCENE)return t;t=t.getParent()}}}resetCursor(){var t;(t=this.getScene())==null||t.resetCursor()}setCursor(t){var e;this._cursor=t,(e=this.getScene())==null||e.setCursor(t)}getEngine(){let t=this.getParent();for(;t!=null;){if(t.classType===j.ENGINE)return t;t=t.getParent()}return null}getObjects(){return[]}_getInverseCoord(t){return this._transform.clone().invert().applyPoint(t)}_setTransForm(){const t=m1.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY});this.transform=t,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}}var e7=(r=>(r[r.GLYPH=0]="GLYPH",r[r.DIVIDE=1]="DIVIDE",r[r.LINE=2]="LINE",r[r.COLUMN=3]="COLUMN",r[r.SECTION=4]="SECTION",r[r.PAGE=5]="PAGE",r[r.DRAWING=6]="DRAWING",r[r.BULLET=7]="BULLET",r[r.HEADER=8]="HEADER",r[r.FOOTER=9]="FOOTER",r[r.ALL=10]="ALL",r))(e7||{}),je=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(je||{}),R2=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(R2||{}),A1=(r=>(r[r.LETTER=0]="LETTER",r[r.WORD=1]="WORD",r[r.LIST=2]="LIST",r[r.PLACEHOLDER=3]="PLACEHOLDER",r[r.TAB=4]="TAB",r[r.IMAGE=5]="IMAGE",r[r.AT=6]="AT",r[r.MATH=7]="MATH",r[r.MULTI_LINE=8]="MULTI_LINE",r[r.CUSTOM=9]="CUSTOM",r))(A1||{}),q1=(r=>(r[r.VERTICAL=0]="VERTICAL",r[r.HORIZONTAL=1]="HORIZONTAL",r[r.AUTO=2]="AUTO",r))(q1||{});function Cg(r){var n;const t=r==null?void 0:r.parent;return t==null?!1:((n=t.glyphGroup[0])==null?void 0:n.glyphType)===A1.LIST}function Eg(r,t){const e=t7(r,t);if(e==null)return!1;const{paragraphStyle:n}=e;return n==null?!1:g.checkParagraphHasIndentByStyle(n)}function Sg(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r);if(s.indexOf(t)===s.length-1&&i===n.length-1)return!0}return!1}function Tg(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r),o=s.indexOf(t);if(o===0&&i===0||o===0&&i===1&&n[0].glyphType===A1.LIST)return!0}return!1}function t7(r,t){var s;const e=(s=r==null?void 0:r.parent)==null?void 0:s.parent;if(e==null||t==null)return;const n=t.paragraphs;if(n!=null){for(const i of n)if(i.startIndex===e.paragraphIndex)return i}}function xg(r){return r==null?!1:[g.DataStreamTreeTokenType.PARAGRAPH,g.DataStreamTreeTokenType.TAB,g.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===g.DataStreamTreeTokenType.SPACE}function Bg(r,t){return r==null||t==null||r.parent==null||t.parent==null?!1:r.parent.parent===t.parent.parent}function B6(){let r=1;const e=y6().getContext("2d");return r=(()=>{const n=window.devicePixelRatio||1,s=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return n/s})(),r<1?1:r}function O6(r,t,e,n){let s=0,i=0,o=0,a=0;const{startX:u,startY:l,endX:c,endY:h}=n;t===K.TOP?(s=u-e,i=l,o=c+e,a=l):t===K.BOTTOM?(s=u-e,i=h,o=c-e,a=h):t===K.LEFT?(s=u,i=l-e,o=u,a=h+e):t===K.RIGHT&&(s=c,i=l-e,o=c,a=h+e),r.beginPath(),r.moveToByPrecision(s,i),r.lineToByPrecision(o,a),r.closePathByEnv(),r.stroke()}function n7(r,t,e){let n=0,s=0,i=0,o=0;const{startX:a,startY:u,endX:l,endY:c}=e;t===K.TL_BR?(n=a,s=u,i=l,o=c):t===K.TL_BC?(n=a,s=u,i=(a+l)/2,o=c):t===K.TL_MR?(n=a,s=u,i=l,o=(u+c)/2):t===K.BL_TR?(n=a,s=c,i=l,o=u):t===K.ML_TR?(n=a,s=(u+c)/2,i=l,o=u):t===K.BC_TR&&(n=(a+l)/2,s=c,i=l,o=u),r.beginPath(),r.moveToByPrecision(n,s),r.lineToByPrecision(i,o),r.closePathByEnv(),r.stroke()}function Og(r,t,e){let n=0,s=0,i=0,o=0;const{startX:a,startY:u,endX:l,endY:c}=e;t===K.TOP?(n=a,s=u,i=l,o=u):t===K.BOTTOM?(n=a,s=c,i=l,o=c):t===K.LEFT?(n=a,s=u,i=a,o=c):t===K.RIGHT&&(n=l,s=u,i=l,o=c),r.beginPath(),r.clearRectForTexture(n,s,i-n,o-s)}function w6(r,t){t===g.BorderStyleTypes.HAIR?r.setLineDash([1,2]):t===g.BorderStyleTypes.DASH_DOT_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):t===g.BorderStyleTypes.DASH_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT||t===g.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):t===g.BorderStyleTypes.DOTTED?r.setLineDash([2]):t===g.BorderStyleTypes.DASHED||t===g.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function r7(){const r=s7(1);return r-Math.floor(r)}function s7(r){return Math.ceil(r/B6()*100)/100}function A6(r){let t=1;return r===g.BorderStyleTypes.MEDIUM||r===g.BorderStyleTypes.MEDIUM_DASH_DOT||r===g.BorderStyleTypes.MEDIUM_DASHED||r===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?t=2:r===g.BorderStyleTypes.THICK&&(t=3),t}function We(r,t,e,n,s=P.create(0,0)){const i=r.add(t).rotateByPoint(n),o=i.subtract(t),a=n-e;return o.rotateByPoint(a,i).add(s).transformCoordinateOnRotate(a)}function i7(r){return r>0?g2.DOWN:g2.UP}function R6(r,t,e){var _;const n=[];let s=0,i=0,o=0,a=0,u=0;const l=i7(e),c=r.length;e=Math.abs(e);const h=Math.tan(e),f=Math.sin(e),p=Math.cos(e);if(l===g2.UP){let m=0;for(let v=0;v<c;v++){const y=r[v],{lineHeight:C=0}=y;m+=v===0?0:C;const E=t*f+C*p;n.push(m/h),E>i&&(i=E),v===0&&(o+=C*f,u+=C*p)}o+=m/f+t*p,u-=i}else{let m=0,v=-1;const y=[];for(let x=c-1;x>=0;x--){const T=r[x],{lineHeight:O=0}=T,B=O/h,S=(t+B)*f;y.unshift(O/h),S>i&&(i=S,m=B,v=x),x===0?o+=O*f:x===c-1?o+=t*p+O/f:o+=O/f}let C=((_=r[v])==null?void 0:_.lineHeight)||0,E=0;for(let x=v+1;x<=c-1;x++){const T=r[x],{lineHeight:O=0}=T;C+=O,E+=y[x]||0,n[x]=-E}E=0;for(let x=v-1;x>=0;x--){const T=r[x],{lineHeight:O=0}=T;E+=y[x+1]||0,n[x]=E,s+=O}n[v]=0,c===1&&(o+=t*p),a=C/f-m*p}return{rotateTranslateXList:n,rotatedHeight:i,rotatedWidth:o,fixOffsetX:a,fixOffsetY:u,rotateTranslateY:s}}function wg(){const r=.5-r7();return{left:r,top:r}}var o7=(r=>(r[r.PointerMove=0]="PointerMove",r[r.PointerDown=1]="PointerDown",r[r.PointerUp=2]="PointerUp",r[r.Dblclick=3]="Dblclick",r[r.Keyboard=4]="Keyboard",r))(o7||{});class q2{}d(q2,"DOM_DELTA_PIXEL",0),d(q2,"DOM_DELTA_LINE",1),d(q2,"DOM_DELTA_PAGE",2);var O1=(r=>(r[r.Generic=0]="Generic",r[r.Keyboard=1]="Keyboard",r[r.Mouse=2]="Mouse",r[r.Touch=3]="Touch",r))(O1||{}),X=(r=>(r[r.Horizontal=0]="Horizontal",r[r.Vertical=1]="Vertical",r[r.LeftClick=2]="LeftClick",r[r.MiddleClick=3]="MiddleClick",r[r.RightClick=4]="RightClick",r[r.BrowserBack=5]="BrowserBack",r[r.BrowserForward=6]="BrowserForward",r[r.MouseWheelX=7]="MouseWheelX",r[r.MouseWheelY=8]="MouseWheelY",r[r.MouseWheelZ=9]="MouseWheelZ",r[r.DeltaHorizontal=10]="DeltaHorizontal",r[r.DeltaVertical=11]="DeltaVertical",r[r.FakeMove=12]="FakeMove",r))(X||{});const a7=[new P(0,0),new P(1,1)];class u7{constructor(t=a7){this._lines=t}intersection(t){if(this._lines.length<1||t.length<1)return;const e=[];for(let n=1;n<this._lines.length;n++){const s=this._lines[n-1],i=this._lines[n];for(let o=1;o<t.length;o++){const a=this._lines[n-1],u=this._lines[n],l=this._intersection({from:s,to:i},{from:a,to:u});l&&e.push(l)}}return e}_intersection(t,e){const n=t.from,s=t.to,i=e.from,o=e.to,a=(n.x-i.x)*(s.y-i.y)-(n.y-i.y)*(s.x-i.x),u=(n.x-o.x)*(s.y-o.y)-(n.y-o.y)*(s.x-o.x);if(a*u>=0)return!1;const l=(i.x-n.x)*(o.y-n.y)-(i.y-n.y)*(o.x-n.x),c=l+a-u;if(l*c>=0)return!1;const h=l/(u-a),f=h*(s.x-n.x),p=h*(s.y-n.y);return new P(n.x+f,n.y+p)}}class l7{constructor(t=30){d(this,"_enabled",!0);d(this,"_rollingFrameTime");d(this,"_lastFrameTimeMs");this._rollingFrameTime=new c7(t)}get averageFrameTime(){return this._rollingFrameTime.average}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return 1e3/this._rollingFrameTime.average}get instantaneousFPS(){const t=this._rollingFrameTime.history(0);return t===0?0:1e3/t}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(t=this.Now()){if(this._enabled){if(this._lastFrameTimeMs!=null){const e=t-this._lastFrameTimeMs;this._rollingFrameTime.add(e)}this._lastFrameTimeMs=t}}Now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}}class c7{constructor(t){d(this,"average",0);d(this,"variance",0);d(this,"_samples",[]);d(this,"_sampleCount",0);d(this,"_pos",0);d(this,"_m2",0);this._samples=new Array(t),this.reset()}add(t){let e;if(this.isSaturated()){const n=this._samples[this._pos];e=n-this.average,this.average-=e/(this._sampleCount-1),this._m2-=e*(n-this.average)}else this._sampleCount++;e=t-this.average,this.average+=e/this._sampleCount,this._m2+=e*(t-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=t,this._pos++,this._pos%=this._samples.length}history(t){if(t>=this._sampleCount||t>=this._samples.length)return 0;const e=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(e-t)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(t){const e=this._samples.length;return(t%e+e)%e}}const b2={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var f2=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(f2||{});function Xe(r){const t=r.getScene(),e=r.getViewportByCoord(t),n=0,s=0;if(!e)return{scrollX:n,scrollY:s};const i=e.getActualScroll(e.scrollX,e.scrollY);return{scrollX:i.x,scrollY:i.y}}const E1=90;function l2(r){const{a:t=0,v:e=g.BooleanNumber.FALSE}=r||{a:0,v:g.BooleanNumber.FALSE};let n=0,s=t;return e===g.BooleanNumber.TRUE&&(n=E1,s=E1),{centerAngle:n,vertexAngle:s}}class k6{constructor(t){d(this,"canvas");d(this,"_context");this._context=t,this.canvas=t.canvas}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(t){this._context.globalAlpha=t}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(t){this._context.globalCompositeOperation=t}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}get filter(){return this._context.filter}set filter(t){this._context.filter=t}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(t){this._context.imageSmoothingEnabled=t}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(t){this._context.imageSmoothingQuality=t}get lineCap(){return this._context.lineCap}set lineCap(t){this._context.lineCap=t}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(t){this._context.lineDashOffset=t}get lineJoin(){return this._context.lineJoin}set lineJoin(t){this._context.lineJoin=t}get lineWidth(){return this._context.lineWidth}set lineWidth(t){this._context.lineWidth=t}setLineWidthByPrecision(t){const{scaleX:e,scaleY:n}=this._getScale();this._context.lineWidth=t/Math.max(e,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(t){this._context.miterLimit=t}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(t){this._context.shadowBlur=t}get shadowColor(){return this._context.shadowColor}set shadowColor(t){this._context.shadowColor=t}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(t){this._context.shadowOffsetX=t}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(t){this._context.shadowOffsetY=t}get direction(){return this._context.direction}set direction(t){this._context.direction=t}get font(){return this._context.font}set font(t){this._context.font=t}get fontKerning(){return this._context.fontKerning}set fontKerning(t){this._context.fontKerning=t}get fontStretch(){return this._context.fontStretch}set fontStretch(t){this._context.fontStretch=t}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(t){this._context.fontVariantCaps=t}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(t){this._context.letterSpacing=t}get textRendering(){return this._context.textRendering}set textRendering(t){this._context.textRendering=t}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(t){this._context.wordSpacing=t}get textAlign(){return this._context.textAlign}set textAlign(t){this._context.textAlign=t}get textBaseline(){return this._context.textBaseline}set textBaseline(t){this._context.textBaseline=t}_getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...t){return this._context.isPointInStroke(...t)}createConicGradient(t,e,n){return this._context.createConicGradient(t,e,n)}roundRect(t,e,n,s,i){this._context.roundRect(t,e,n,s,i)}roundRectByPrecision(t,e,n,s,i){const{scaleX:o,scaleY:a}=this._getScale();t=q(t,o),e=q(e,a),n=q(n,o),s=q(s,a),this.roundRect(t,e,n,s,i)}getTransform(){return this._context.getTransform()}resetTransform(){this._context.resetTransform()}drawFocusIfNeeded(...t){return this._context.drawFocusIfNeeded(...t)}reset(){this._context.reset()}arc(t,e,n,s,i,o){this._context.arc(t,e,n,s,i,o)}arcByPrecision(t,e,n,s,i,o){const{scaleX:a,scaleY:u}=this._getScale();t=q(t,a),e=q(e,u),this.arc(t,e,n,s,i,o)}arcTo(t,e,n,s,i){this._context.arcTo(t,e,n,s,i)}arcToByPrecision(t,e,n,s,i){const{scaleX:o,scaleY:a}=this._getScale();t=q(t,o),e=q(e,a),n=q(n,o),s=q(s,a),this.arcTo(t,e,n,s,i)}beginPath(){this._context.beginPath()}bezierCurveTo(t,e,n,s,i,o){this._context.bezierCurveTo(t,e,n,s,i,o)}bezierCurveToByPrecision(t,e,n,s,i,o){const{scaleX:a,scaleY:u}=this._getScale();i=q(i,a),o=q(o,u),t=q(t,a),e=q(e,u),n=q(n,a),s=q(s,u),this.bezierCurveTo(t,e,n,s,i,o)}clearRect(t,e,n,s){this._context.clearRect(t,e,n,s)}clearRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.clearRect(t,e,n,s)}clip(...t){this._context.clip(...t)}closePath(){this._context.closePath()}closePathByEnv(){const e=g.Tools.getSystemType()==="Mac",s=g.Tools.getBrowserType()==="Chrome";e&&s||this._context.closePath()}createImageData(...t){if(t.length===0)throw new Error("arguments is zero");return t.length===1?this._context.createImageData(t[0]):t.length===2?this._context.createImageData(t[0],t[1]):this._context.createImageData(t[0],t[1],t[1])}createLinearGradient(t,e,n,s){return this._context.createLinearGradient(t,e,n,s)}createPattern(t,e){return this._context.createPattern(t,e)}createRadialGradient(t,e,n,s,i,o){return this._context.createRadialGradient(t,e,n,s,i,o)}drawImage(...t){const e=t,n=this._context;e.length===3?n.drawImage(t[0],t[1],t[2]):e.length===5?n.drawImage(t[0],t[1],t[2],t[3],t[4]):e.length===9&&n.drawImage(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}ellipse(t,e,n,s,i,o,a,u){this._context.ellipse(t,e,n,s,i,o,a,u)}isPointInPath(...t){return this._context.isPointInPath(...t)}fill(...t){this._context.fill(...t)}fillRect(t,e,n,s){this._context.fillRect(t,e,n,s)}fillRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.fillRect(t,e,n,s)}strokeRect(t,e,n,s){this._context.strokeRect(t,e,n,s)}strokeRectPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.strokeRect(t,e,n,s)}fillText(t,e,n,s){s?this._context.fillText(t,e,n,s):this._context.fillText(t,e,n)}fillTextPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();e=q(e,i),n=q(n,o),s?(s=q(s,i),this._context.fillText(t,e,n,s)):this._context.fillText(t,e,n)}measureText(t){return this._context.measureText(t)}getImageData(t,e,n,s){return this._context.getImageData(t,e,n,s)}lineTo(t,e){this._context.lineTo(t,e)}lineToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this.lineTo(t,e)}moveTo(t,e){this._context.moveTo(t,e)}moveToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this.moveTo(t,e)}rect(t,e,n,s){this._context.rect(t,e,n,s)}rectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.rect(t,e,n,s)}putImageData(t,e,n){this._context.putImageData(t,e,n)}quadraticCurveTo(t,e,n,s){this._context.quadraticCurveTo(t,e,n,s)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,e){this._context.scale(t,e)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(...t){this._context.setTransform(...t)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,e,n,s){this._context.strokeText(t,e,n,s)}strokeTextByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();e=q(e,i),n=q(n,o),s&&(s=q(s,i)),this.strokeText(t,e,n,s)}transform(t,e,n,s,i,o){this._context.transform(t,e,n,s,i,o)}translate(t,e){this._context.translate(t,e)}translateWithPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this._context.translate(t,e)}translateWithPrecisionRatio(t,e){const{scaleX:n,scaleY:s}=this._getScale();this._context.translate(t/n,e/s)}clearRectForTexture(t,e,n,s){this.clearRectByPrecision(t,e,n,s)}setGlobalCompositeOperation(t){this._context.globalCompositeOperation=t}}class Ag{}class Rg{}class h7 extends k6{}class f7 extends k6{__getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}clearRect(t,e,n,s){const{scaleX:i,scaleY:o}=this.__getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this._context.save(),this._context.fillStyle=F1([255,255,255]),this._context.fillRect(t,e,n,s),this._context.restore()}clearRectForTexture(t,e,n,s){}setGlobalCompositeOperation(t){}}var I6=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(I6||{});class e2{constructor(t){d(this,"isCache",!1);d(this,"_pixelRatio",1);d(this,"_canvasEle");d(this,"_context");d(this,"_width",0);d(this,"_height",0);t=t||{},this._canvasEle=y6(),this._canvasEle.style.padding="0",this._canvasEle.style.margin="0",this._canvasEle.style.border="0",this._canvasEle.style.background="transparent",this._canvasEle.style.position="absolute",this._canvasEle.style.top="0",this._canvasEle.style.left="0",this._canvasEle.style.zIndex="8",this._canvasEle.className="univer-render-canvas",this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction="none",this._canvasEle.style.outline="0";const e=this._canvasEle.getContext("2d");if(e==null)throw new Error("context is not support");t.mode===1?this._context=new f7(e):this._context=new h7(e),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setSize(t,e,n){this._pixelRatio=n||B6(),t&&(this._canvasEle.width=t*this._pixelRatio,this._width=this._canvasEle.width/this._pixelRatio,this._canvasEle.style.width=`${this._width}px`),e&&(this._canvasEle.height=e*this._pixelRatio,this._height=this._canvasEle.height/this._pixelRatio,this._canvasEle.style.height=`${this._height}px`),this.getContext().setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(t){this._width===0||this._height===0||(t<1&&(t=1),this.setSize(this._width,this._height,t))}dispose(){this.clear(),this._canvasEle.remove()}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(t,e){try{return this._canvasEle.toDataURL(t,e)}catch{try{return this._canvasEle.toDataURL()}catch(s){const{message:i}=s;return console.error(`Unable to get data URL. ${i} For more info read https://universheet.net/docs/Canvas.html.`),""}}}}class kg extends e2{constructor(t={width:0,height:0}){super(t),this.setSize(t.width,t.height)}}class Ig extends e2{constructor(e={width:0,height:0}){super(e);d(this,"hitCanvas",!0);this.setSize(e.width,e.height)}}class L6 extends ue{constructor(){super(...arguments);d(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...e){const n=new g.DisposableCollection;for(const s of e)s.parent=this,this._extensions.set(s.uKey,s),n.add(g.toDisposable(()=>{this._extensions.delete(s.uKey)}));return n}getExtensionsByOrder(){const e=Array.from(this._extensions.values());return e.sort(g.sortRules),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,n){}}class M6{constructor(){d(this,"uKey","");d(this,"type");d(this,"Z_INDEX",0);d(this,"parent");d(this,"translateX",0);d(this,"translateY",0);d(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(t,e,n,s){}clearCache(){}_getScale(t){return T6(t)}}const Le=g.Registry.create(),P6=g.Registry.create(),N6=g.Registry.create(),t2=g.Registry.create();class U6 extends L6{constructor(t,e){super(t),this._skeleton=e}getSkeleton(){return this._skeleton}updateSkeleton(t){this._skeleton=t}render(t,e){if(!this.visible)return this.makeDirty(!1),this;t.save(),this._draw(t,e),t.restore()}getParentScale(){let{scaleX:t=1,scaleY:e=1}=this.parent;return this.parent.classType===j.SCENE_VIEWER&&(t=this.parent.ancestorScaleX||1,e=this.parent.ancestorScaleY||1),{scaleX:t,scaleY:e}}getDocuments(){}getNoMergeCellPositionByIndex(t,e){}getScrollXYByRelativeCoords(t){return{x:0,y:0}}getSelectionBounding(t,e,n,s){}_draw(t,e){}}class $6 extends U6{_draw(t,e){this.draw(t,e)}}class Lg extends $6{constructor(e,n){super(e,n);d(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const o=s.rowColumnSegment;if(o.startColumn===-1&&o.endColumn===-1)return;const{rowHeaderWidth:a}=s;e.translateWithPrecision(a,0);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>i&&n.y>=0&&n.y<=o}_initialDefaultExtension(){N6.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var d7=(r=>(r[r.GRID=0]="GRID",r))(d7||{});class ye extends M6{constructor(){super(...arguments);d(this,"type",0)}getCellIndex(e,n,s,i,o){return ze(e,n,s,i,o)}isRenderDiffRangesByCell(e,n){if(n==null||n.length===0)return!0;for(const s of n){const{startRow:i,startColumn:o,endRow:a,endColumn:u}=s;if(g.Rectangle.intersects(s,{startRow:i,endRow:a,startColumn:o,endColumn:u}))return!0}return!1}isRenderDiffRangesByColumn(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startColumn:o,endColumn:a}=i;if(g.Rectangle.intersects({startRow:0,endRow:0,startColumn:e,endColumn:n},{startRow:0,endRow:0,startColumn:o,endColumn:a}))return!0}return!1}isRenderDiffRangesByRow(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startRow:o,endRow:a}=i;if(g.Rectangle.intersects({startRow:e,endRow:n,startColumn:0,endColumn:0},{startRow:o,endRow:a,startColumn:0,endColumn:0}))return!0}return!1}}const Mg="DefaultBackgroundExtension",Pg=40,Ng=20;let p7=class extends ye{constructor(){super(...arguments);d(this,"uKey",Mg);d(this,"Z_INDEX",Pg);d(this,"PRINTING_Z_INDEX",Ng)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,n,s,i){const{stylesCache:o}=s,{background:a,backgroundPositions:u}=o;if(!s)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;!l||!h||c===void 0||f===void 0||(e.save(),e.setGlobalCompositeOperation("destination-over"),a&&Object.keys(a).forEach(p=>{const _=a[p];e.fillStyle=p||F1([255,255,255]),e.beginPath(),_.forValue((m,v)=>{const y=u==null?void 0:u.getValue(m,v);if(y==null)return!0;let{startY:C,endY:E,startX:x,endX:T}=y;const{isMerged:O,isMergedMainCell:B,mergeInfo:S}=y;if(O||!this.isRenderDiffRangesByCell({startRow:S.startRow,endRow:S.endRow,startColumn:S.startColumn,endColumn:S.endColumn},i))return!0;B&&(C=S.startY,E=S.endY,x=S.startX,T=S.endX),e.moveToByPrecision(x,C),e.lineToByPrecision(x,E),e.lineToByPrecision(T,E),e.lineToByPrecision(T,C)}),e.closePath(),e.fill()}),e.restore())}};Le.add(p7);const Ug="DefaultBorderExtension",$g=50;let g7=class extends ye{constructor(){super(...arguments);d(this,"uKey",Ug);d(this,"Z_INDEX",$g)}draw(e,n,s,i){const{dataMergeCache:o,stylesCache:a,overflowCache:u}=s,{border:l}=a;if(!s)return;const{rowHeightAccumulation:c,columnTotalWidth:h,columnWidthAccumulation:f,rowTotalHeight:p}=s;if(!c||!f||h===void 0||p===void 0)return;e.save();let _,m;e.translateWithPrecisionRatio(_1,_1);const v=this._getScale(e.getScale());l==null||l.forValue((y,C,E)=>{if(!E)return!0;const x=this.getCellIndex(y,C,c,f,o),{startY:T,endY:O,startX:B,endX:S}=x,{isMerged:A,isMergedMainCell:k,mergeInfo:R}=x;if(!this.isRenderDiffRangesByRow(R.startRow,R.endRow,i))return!0;for(const M in E){const{type:U,style:I,color:L}=E[M];if(I===g.BorderStyleTypes.NONE)continue;let $=T,z=O,V=B,H=S;if(U!==K.TOP&&U!==K.BOTTOM&&U!==K.LEFT&&U!==K.RIGHT){if(A)return!0;k&&($=R.startY,z=R.endY,V=R.startX,H=R.endX)}const Z=A6(I);I!==_&&(w6(e,I),e.setLineWidthByPrecision(Z),_=I),L!==m&&(e.strokeStyle=L||ve,m=L),n7(e,U,{startX:V,startY:$,endX:H,endY:z}),!this._getOverflowExclusion(u,U,y,C)&&O6(e,U,(Z-1)/2/v,{startX:V,startY:$,endX:H,endY:z})}}),e.closePath(),e.restore()}_getOverflowExclusion(e,n,s,i){let o=!1;return n===K.TOP||n===K.BOTTOM||e==null||e.forRow((a,u)=>{if(a!==s)return!0;u.forEach(l=>{const c=e.getValue(a,l),{startColumn:h,endColumn:f}=c;if(n===K.LEFT&&i>h&&i<=f||n===K.RIGHT&&i>=h&&i<f)return o=!0,!1})}),o}};Le.add(g7);const Hg="DefaultColumnHeaderLayoutExtension";class D7 extends ye{constructor(){super(...arguments);d(this,"uKey",Hg);d(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,columnHeaderHeight:o=0}=s,{startColumn:a,endColumn:u}=i;if(!s||o===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const p=this._getScale(n);e.fillStyle=F1([248,249,250]),e.fillRectByPrecision(0,0,c,o),e.textAlign="center",e.textBaseline="middle",e.fillStyle=F1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(_1,_1),e.strokeStyle=F1([217,217,217]),e.font=`13px ${O2}`;let _=0;const m=h.length;for(let y=a-1;y<=u;y++){if(y<0||y>m-1)continue;const C=h[y];if(_===C)continue;e.moveToByPrecision(C,0),e.lineToByPrecision(C,o);const E=_+(C-_)/2;e.fillText(g.numberToABC(y),E,o/2+m6),_=C}const v=o-.5/p;e.moveToByPrecision(0,v),e.lineToByPrecision(c,v),e.stroke()}}N6.add(new D7);function Ke(r){return r[r.length-1]}function H6(r){var t;return(t=r.sections)==null?void 0:t[r.sections.length-1]}function Gg(r){var e;const t=(e=ot(r))==null?void 0:e.column.lines;return t==null?void 0:t[t.length-1]}function zg(r){return r.lines[r.lines.length-1]}function ot(r){const t=H6(r);for(let e=0;e<t.columns.length;e++){const n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function Xg(r){const t=Gg(r);if(t)for(let e=0;e<t.divides.length;e++){const n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function Wg(r){const t=H6(r),e=t.columns.length;for(let n=0;n<e;n++)if(!t.columns[n].isFull)return!1;return!0}function Ae(r,t){if(r instanceof Object){const{v:e,u:n}=r;return n===g.NumberUnitType.POINT?e:e*t}return r}function y2(r=0,t,e=g.GridType.LINES,n=g.BooleanNumber.TRUE){let s=1;return _7(e,n)&&(s=r),s*=t,s}function _7(r=g.GridType.LINES,t=g.BooleanNumber.FALSE){return t===g.BooleanNumber.TRUE&&(r===g.GridType.LINES_AND_CHARS||r===g.GridType.SNAP_TO_CHARS)}function v7(r,t){const{paragraphStyle:e={}}=t,{linePitch:n=15.6,gridType:s=g.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:o=1,spacingRule:a=g.SpacingRule.AUTO,snapToGrid:u=g.BooleanNumber.TRUE}=e;return{paragraphLineGapDefault:i,linePitch:n,gridType:s,lineSpacing:o,spacingRule:a,snapToGrid:u}}function Yg(r,t){const{paragraphStyle:e={}}=t,{charSpace:n=0,gridType:s=g.GridType.LINES,defaultTabStop:i=36,documentTextStyle:o={}}=r,{fs:a=L4}=o,{snapToGrid:u=g.BooleanNumber.TRUE}=e;return{charSpace:n,documentFontSize:a,defaultTabStop:i,gridType:s,snapToGrid:u}}function Jt(r,t=-1){let e=t;for(const n of r){const{sections:s}=n,i=e;let o=i,a=Number.NEGATIVE_INFINITY,u=0;for(const l of s){const{columns:c}=l,h=o;let f=h,p=Number.NEGATIVE_INFINITY,_=0;for(const m of c){const{lines:v}=m,y=f;let C=y,E=0,x=Number.NEGATIVE_INFINITY,T=null;for(const O of v){const{divides:B,lineHeight:S}=O,A=C;let k=A,R=0,M=0;E+=S;const U=B.length;for(let I=0;I<U;I++){const L=B[I],{glyphGroup:$}=L,z=k;let V=z;for(const H of $){const Z=H.glyphType===A1.LIST?0:H.count;V+=Z;const e1=H.bBox,{ba:t1}=e1;M=Math.max(M,t1),I===U-1&&(R+=H.width)}$[0].xOffset!==0&&I===U-1&&(R-=$[0].xOffset),I===U-1&&(R+=L.left),$.length!==0&&(L.st=z+1,L.ed=V>=L.st?V:L.st,k=L.ed)}O.st=A+1,O.ed=k>=O.st?k:O.st,O.width=R,O.asc=M,x=Math.max(x,R),O.top=((T==null?void 0:T.top)||0)+((T==null?void 0:T.lineHeight)||0),T=O,C=O.ed}m.st=y+1,m.ed=C>=m.st?C:m.st,m.height=E,m.width=x,_+=x,p=Math.max(p,m.height),f=m.ed}l.st=h+1,l.ed=f>=l.st?f:l.st,l.height=p,u+=p,a=Math.max(a,_),o=l.ed}n.st=i+1,n.ed=o>=n.st?o:n.st,n.height=u,n.width=a,e=n.ed}}function Vg(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const o of i){const{lines:a}=o;for(const u of a)t&&F6(t)&&t(u)}}}}function jg(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const o of i)t&&F6(t)&&t(o)}}}function Kg(r,t,e,n,s=!1){const{relativeFrom:i,align:o,posOffset:a,percent:u}=r;if(o!=null)if(o===g.AlignTypeH.INSIDE||o===g.AlignTypeH.OUTSIDE)i===g.ObjectRelativeFromH.MARGIN||g.ObjectRelativeFromH.PAGE;else{if(i===g.ObjectRelativeFromH.COLUMN){const{width:l,left:c}=t;let h=0;return o===g.AlignTypeH.LEFT?h=c:o===g.AlignTypeH.RIGHT?h=c+l-n:o===g.AlignTypeH.CENTER&&(h=c+l/2-n/2),h}if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE){const{pageWidth:l}=e;let c=0;return o===g.AlignTypeH.RIGHT?c=l-n:o===g.AlignTypeH.CENTER&&(c=l/2-n/2),c}}}}}}}else if(a){const{pageWidth:l,marginLeft:c,marginRight:h}=e,f=l-h;let p=0;return i===g.ObjectRelativeFromH.COLUMN?p=(s?0:(t==null?void 0:t.left)||0)+a:i===g.ObjectRelativeFromH.LEFT_MARGIN||(i===g.ObjectRelativeFromH.MARGIN?p=a+c:i===g.ObjectRelativeFromH.RIGHT_MARGIN||i===g.ObjectRelativeFromH.INSIDE_MARGIN||i===g.ObjectRelativeFromH.OUTSIDE_MARGIN||i===g.ObjectRelativeFromH.PAGE&&(p=a)),p+n>f&&(p=f-n),p}else if(u){const{pageWidth:l,marginLeft:c,marginRight:h}=e;if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE)return u*l}}}}}}}function qg(r,t,e,n,s,i,o=!1){const{relativeFrom:a,align:u,posOffset:l,percent:c}=r;if(u!=null){if(a===g.ObjectRelativeFromV.LINE){let h=0;return u===g.AlignTypeV.BOTTOM?h=e+n-s:u===g.AlignTypeV.TOP?h=e:u===g.AlignTypeV.CENTER&&(h=e+n/2-s/2),h}if(a!==g.ObjectRelativeFromV.TOP_MARGIN){if(a!==g.ObjectRelativeFromV.MARGIN){if(a!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===g.ObjectRelativeFromV.PAGE){const{pageHeight:h}=t;let f=0;return u===g.AlignTypeV.BOTTOM?f=h-s:u===g.AlignTypeV.CENTER&&(f=h/2-s/2),f}}}}}}}else if(l){let h=0;return a===g.ObjectRelativeFromV.LINE?h=e||0+l:a===g.ObjectRelativeFromV.TOP_MARGIN||a===g.ObjectRelativeFromV.MARGIN||a===g.ObjectRelativeFromV.BOTTOM_MARGIN||a===g.ObjectRelativeFromV.INSIDE_MARGIN||a===g.ObjectRelativeFromV.OUTSIDE_MARGIN||(a===g.ObjectRelativeFromV.PAGE?h=l:a===g.ObjectRelativeFromV.PARAGRAPH&&(h=(o?0:i==null?e:i)+l)),h}else if(c){const{pageHeight:h,marginBottom:f,marginTop:p}=t;if(a!==g.ObjectRelativeFromV.TOP_MARGIN){if(a!==g.ObjectRelativeFromV.MARGIN){if(a!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===g.ObjectRelativeFromV.PAGE)return c*h}}}}}}}function m0(r){let t=0;for(const e of r.glyphGroup)t+=e.width;return t}const Qt=new g.ObjectMatrix;function Zg(){Qt.reset()}function qe(r,t,e,n,s){const{startIndex:i}=e,o=t.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:a,ed:u}=o;let{ts:l={}}=o;const c=Qt.getValue(a,u);if(c)return c;const{gridType:h=g.GridType.LINES,charSpace:f=0,documentTextStyle:p={},pageSize:_={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:m=0,marginLeft:v=0,localeService:y}=n,{snapToGrid:C=g.BooleanNumber.TRUE}=s;l={...p,...l};const E=_2(l),x={...p,...l},T=_.width||Number.POSITIVE_INFINITY-v-m,O={fontStyle:E,textStyle:x,charSpace:f,gridType:h,snapToGrid:C,pageWidth:T};return Qt.setValue(a,u,O),O}var Jg=Object.defineProperty,Qg=Object.getOwnPropertyDescriptor,eD=(r,t,e,n)=>{for(var s=n>1?void 0:n?Qg(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&Jg(t,e,s),s},tD=(r,t)=>(e,n)=>t(e,n,r);exports.Skeleton=class extends g.Disposable{constructor(e){super();d(this,"_fontLocale");d(this,"_dirty",!0);this._localService=e,this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(e){this._dirty=e}_localeInitial(){}};exports.Skeleton=eD([tD(0,ae.Inject(g.LocaleService))],exports.Skeleton);class F2{constructor(){d(this,"_translateX",0);d(this,"_translateY",0);d(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(t=0,e=0){this._translateX=t,this._translateY=e}translate(t=0,e=0){this._translateX+=t,this._translateY+=e}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const t=this._translateSaveList.pop();t&&(this._translateX=t.x,this._translateY=t.y)}translatePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(s,e)}restorePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(-s,-e)}translatePage(t,e=q1.VERTICAL,n=0,s=0,i=0,o=0){const{pageWidth:a,pageHeight:u}=t;let l=0,c=0;return e===q1.VERTICAL?l+=u+s:e===q1.HORIZONTAL&&(c+=a+n),this.translate(c,l),{x:c,y:l}}translateSection(t){const{top:e=0}=t;return this.translate(0,e),{x:0,y:e}}translateColumn(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}translateLine(t,e=!1){const{top:n,marginBottom:s=0,marginTop:i=0,paddingTop:o=0,paddingBottom:a=0}=t,u=n+(e===!0?i:0)+o;return this.translate(0,u),{x:0,y:u}}translateDivide(t){const{left:e,paddingLeft:n}=t,s=e+n;return this.translate(s,0),{x:s,y:0}}translateSpan(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}}function m7(r=[],t=g.ColumnSeparatorType.NONE,e=0,n=0,s=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const o=[];let a=0,u=0;if(r.length===0)o.push(xt(n,s,0,g.ColumnSeparatorType.NONE));else for(let c=0;c<r.length;c++){const{width:h,paddingEnd:f}=r[c];u=f,a=h,o.push(xt(n,a,u,t)),n+=a+u,c===r.length-1&&(a=s!==Number.POSITIVE_INFINITY?s-a:h,u=0,o.push(xt(n,a,u,t)))}const l={columns:o,colCount:(r==null?void 0:r.length)||1,height:i,top:e,st:0,ed:0};return o.forEach(c=>{c.parent=l}),l}function b7(r,t){r.isFull=t}function xt(r,t,e,n){return{lines:[],left:r,width:t,height:0,spaceWidth:e,separator:n,st:0,ed:0,drawingLRIds:[],isFull:!1}}function nD(){return[]}class G2{constructor(t,e=!1){this.position=t,this.required=e}}const rD=5,b0=12,sD=13,iD=16,oD=17,aD=22,y0=28,F0=31,uD=33,Z2=34,lD=35,Bt=36,e6=37,y7=38,cD=39,hD=40,c2=41,fD=42,D=0,b=1,n1=2,F7=3,F=4,dD=[[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F7,F,F,F,F,F,F,F,F,F,F,F],[D,F,F,b,b,F,F,F,F,b,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,F,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[F,F,F,b,b,b,F,F,F,b,b,b,b,b,b,b,b,b,b,b,F,n1,F,b,b,b,b,b,b,b,b,b,b],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,b,b,b,b,b,b,F,n1,F,b,b,b,b,b,b,b,b,b,b],[D,F,F,b,b,b,F,F,F,D,D,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,D,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,D,b,D,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,D,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,D,D,b,b,b,b,b,b,b,D,D,F,n1,F,b,b,b,b,b,D,b,b,b,D],[b,F,F,b,b,b,F,F,F,D,D,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,D,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,D,b,F,F,F,D,D,b,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,D,b,F,F,F,D,D,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,b,b,b,b,b,b,F,n1,F,b,b,b,b,b,b,b,b,b,D],[D,F,F,b,b,b,F,F,F,D,D,D,D,D,D,b,b,b,D,F,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,F,D,D,D,D,D,D,D,D,D,D,D,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,b,b,b,b,b,b,F,n1,F,b,b,b,b,b,b,b,b,b,b],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,b,b,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,b,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,b,b,b,b,D,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,b,b,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,b,D,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,D,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,b,D,D,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,b,b,D],[D,F,F,b,b,b,F,F,F,D,b,D,D,D,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[b,F,F,b,b,b,F,F,F,b,b,b,b,b,D,b,b,b,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D],[D,F,F,b,b,D,F,F,F,D,D,D,D,D,D,D,D,D,D,D,F,n1,F,D,D,D,D,D,D,D,D,b,D]];class pD{constructor(){d(this,"_rules",new Map)}add(t,e){this._rules.set(t,e)}shouldBreak(t,e){for(const n of this._rules.values())if(n(t,e))return!0;return!1}}const gD=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]),DD=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,C0=(r,t,e)=>{const n=r[t];r[t]=r[e],r[e]=n},_D=r=>{const t=r.length;for(let e=0;e<t;e+=4)C0(r,e,e+3),C0(r,e+1,e+2)},vD=r=>{DD&&_D(r)},G6=0,C7=-3;let C2=class{constructor(){d(this,"table",new Uint16Array(16));d(this,"trans",new Uint16Array(288))}},mD=class{constructor(t,e){d(this,"source");d(this,"dest");d(this,"sourceIndex");d(this,"tag");d(this,"bitcount");d(this,"destLen");d(this,"ltree");d(this,"dtree");this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new C2,this.dtree=new C2}};const E7=new C2,S7=new C2,z6=new Uint8Array(30),X6=new Uint16Array(30),T7=new Uint8Array(30),x7=new Uint16Array(30),bD=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),E0=new C2,G1=new Uint8Array(320);function B7(r,t,e,n){let s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function yD(r,t){let e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}const S0=new Uint16Array(16);function Ot(r,t,e,n){let s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)S0[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[S0[t[e+s]]++]=s)}function FD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const t=r.tag&1;return r.tag>>>=1,t}function W1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;const n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function t6(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;let e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function CD(r,t,e){let n,s,i;const o=W1(r,5,257),a=W1(r,5,1),u=W1(r,4,4);for(n=0;n<19;++n)G1[n]=0;for(n=0;n<u;++n){const l=W1(r,3,0);G1[bD[n]]=l}for(Ot(E0,G1,0,19),s=0;s<o+a;){const l=t6(r,E0);switch(l){case 16:{const c=G1[s-1];for(i=W1(r,2,3);i;--i)G1[s++]=c;break}case 17:for(i=W1(r,3,3);i;--i)G1[s++]=0;break;case 18:for(i=W1(r,7,11);i;--i)G1[s++]=0;break;default:G1[s++]=l;break}}Ot(t,G1,0,o),Ot(e,G1,o,a)}function T0(r,t,e){for(;;){let n=t6(r,t);if(n===256)return G6;if(n<256)r.dest[r.destLen++]=n;else{let s;n-=257;const i=W1(r,z6[n],X6[n]),o=t6(r,e),a=r.destLen-W1(r,T7[o],x7[o]);for(s=a;s<a+i;++s)r.dest[r.destLen++]=r.dest[s]}}}function ED(r){let t,e,n;for(;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return C7;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,G6}function x0(r,t){const e=new mD(r,t);let n,s,i;do{switch(n=FD(e),s=W1(e,2,0),s){case 0:i=ED(e);break;case 1:i=T0(e,E7,S7);break;case 2:CD(e,e.ltree,e.dtree),i=T0(e,e.ltree,e.dtree);break;default:i=C7}if(i!==G6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}yD(E7,S7);B7(z6,X6,4,3);B7(T7,x7,2,1);z6[28]=0;X6[28]=258;const W6=11,ke=5,SD=W6-ke,TD=65536>>W6,xD=1<<SD,BD=xD-1,J2=2,OD=1<<ke,wt=OD-1,O7=65536>>ke,wD=1024>>ke,AD=O7+wD,RD=AD,kD=32,ID=RD+kD,LD=1<<J2;class MD{constructor(t){d(this,"highStart");d(this,"errorValue");d(this,"data");const e=typeof t.readUInt32BE=="function"&&typeof t.slice=="function";if(e||t instanceof Uint8Array){let n;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),n=t.readUInt32LE(8),t=t.slice(12);else{const s=new DataView(t.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),n=s.getUint32(8,!0),t=t.subarray(12)}t=x0(t,new Uint8Array(n)),t=x0(t,new Uint8Array(n)),vD(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>ke]<<J2)+(t&wt),this.data[e]):t<=65535?(e=(this.data[O7+(t-55296>>ke)]<<J2)+(t&wt),this.data[e]):t<this.highStart?(e=this.data[ID-TD+(t>>W6)],e=this.data[e+(t>>ke&BD)],e=(e<<J2)+(t&wt),this.data[e]):this.data[this.data.length-LD]}}const PD=new MD(gD);function At(r){switch(r){case uD:return b0;case cD:case hD:case fD:return b0;case lD:return rD;default:return r}}function Rt(r){switch(r){case e6:case y7:return Z2;case c2:return aD;default:return r}}class ND{constructor(t){d(this,"_pos",0);d(this,"_lastPos",0);d(this,"_curClass",null);d(this,"_codePoint",null);d(this,"_nextClass",null);d(this,"_LB8a",!1);d(this,"_LB21a",!1);d(this,"_LB30a",0);d(this,"_rule",new pD);this.string=t}use(t){return t(this),this}addRule(t,e){return this._rule.add(t,e),this}nextBreak(){if(this._curClass==null){const t=this._nextCharClass();this._curClass=Rt(t),this._nextClass=t,this._LB8a=t===F0,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const t=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===Z2||this._curClass===Bt&&this._nextClass!==e6)return this._curClass=Rt(At(this._nextClass)),new G2(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=Rt(At(this._nextClass)),new G2(this._lastPos);let e=this._getSimpleBreak();if(e===null&&(e=this._getPairTableBreak(t)),this._LB8a=this._nextClass===F0,e)return new G2(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new G2(this.string.length)):null}_getNextCodePoint(){const t=this.string.charCodeAt(this._pos++),e=this.string.charCodeAt(this._pos);return t>=55296&&t<=56319&&e>=56320&&e<=57343?(this._pos++,(t-55296)*1024+(e-56320)+65536):t}_nextCharClass(){const t=this._getNextCodePoint(),e=PD.get(t);return this._codePoint=t,At(e)}_getSimpleBreak(){switch(this._nextClass){case c2:return!1;case Z2:case e6:case y7:return this._curClass=Z2,!1;case Bt:return this._curClass=Bt,!1}return null}_getPairTableBreak(t){let e=!1;switch(dD[this._curClass][this._nextClass]){case D:e=!0;break;case b:e=t===c2;break;case n1:if(e=t===c2,!e)return e=!1,e;break;case F7:if(t!==c2)return e;break}return this._LB8a&&(e=!1),this._LB21a&&(this._curClass===iD||this._curClass===oD)?(e=!1,this._LB21a=!1):this._LB21a=this._curClass===sD,this._curClass===y0?(this._LB30a++,this._LB30a===2&&this._nextClass===y0&&(e=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,e}}const UD=9;function $D(r){r.addRule("break_before_tab",t=>t===UD)}function w7(r){return[" "," "," "].includes(r)}function A7(r){return w7(r)||v2(r)||mt(r)||bt(r)||S6(r)}function n6(r,t){return w7(r)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:mt(r)?{stretchability:[0,0],shrinkability:[0,t/2]}:bt(r)?{stretchability:[0,0],shrinkability:[t/2,0]}:S6(r)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function HD(r,t,e){return Y6(A1.WORD,r,t,e)}function Ye(r,t,e,n){return Y6(A1.LETTER,r,t,e,n)}function B0(r,t){return Y6(A1.TAB,g.DataStreamTreeTokenType.TAB,r,t)}function Y6(r,t,e,n,s){const{fontStyle:i,textStyle:o,charSpace:a=1,gridType:u=g.GridType.LINES,snapToGrid:l=g.BooleanNumber.FALSE}=e,c=[g.DataStreamTreeTokenType.SECTION_BREAK,g.DataStreamTreeTokenType.TABLE_START,g.DataStreamTreeTokenType.TABLE_END,g.DataStreamTreeTokenType.TABLE_ROW_START,g.DataStreamTreeTokenType.TABLE_ROW_END,g.DataStreamTreeTokenType.TABLE_CELL_START,g.DataStreamTreeTokenType.TABLE_CELL_END,g.DataStreamTreeTokenType.CUSTOM_RANGE_START,g.DataStreamTreeTokenType.CUSTOM_RANGE_END,g.DataStreamTreeTokenType.COLUMN_BREAK,g.DataStreamTreeTokenType.PAGE_BREAK,g.DataStreamTreeTokenType.DOCS_END,g.DataStreamTreeTokenType.CUSTOM_BLOCK];let h=g.DataStreamTreeTokenType.LETTER;if(c.indexOf(t)>-1)return{content:"",ts:o,fontStyle:i,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:n6(t,0),glyphType:A1.PLACEHOLDER,streamType:t,count:1};t===g.DataStreamTreeTokenType.PARAGRAPH&&(h=g.DataStreamTreeTokenType.PARAGRAPH);let f=null,p=0;s&&s.boundingBox&&s.font?f=re.getBBoxFromGlyphInfo(s,i):f=re.getTextSize(t,i);const{width:_=0}=f;let m=n!=null?n:_;if(_7(u,l)&&(m=_+(w2(t)?a:a/2),u===g.GridType.SNAP_TO_CHARS&&(p=(m-_)/2)),s&&s.kerning!==0&&s.font){const v=x6(i.fontSize)/s.font.unitsPerEm,y=s.kerning*v;m+=y,p+=y}return{content:t,ts:o,fontStyle:i,width:m,bBox:f,xOffset:p,left:0,glyphType:r,streamType:h,isJustifiable:A7(t),adjustability:n6(t,m),count:t.length}}function GD(r,t,e){const{bBox:n,symbol:s,ts:i,fontStyle:o,bulletAlign:a=g.BulletAlignment.START,bulletType:u=!1}=t,l=n.width,c=Math.ceil(l/e);let h=(c<2?2:c)*e,f=0;u&&(a===g.BulletAlignment.CENTER?(f=-l/2,h-=f):a===g.BulletAlignment.END&&(f=-l,h-=f));const p=zD(r,t);return{content:s,ts:i,fontStyle:o,width:h,xOffset:0,bBox:p,left:f,isJustifiable:A7(s),adjustability:n6(s,h),glyphType:A1.LIST,streamType:g.DataStreamTreeTokenType.LETTER,count:0}}function V6(r,t=0){const e=r.length;let n;for(let s=0;s<e;s++){const i=r[s];i.left=n?n.left+n.width:t,n=i}}function z2(r,t,e=0){V6(t,e);for(const n of t)n.parent=r;r.glyphGroup.push(...t)}function zD(r,t){const{ba:e,bd:n}=r.bBox,{ba:s,bd:i}=t.bBox;return e+n>s+i?r.bBox:t.bBox}function R7(r,t){r.width-=t,r.adjustability.shrinkability[1]-=t}function k7(r,t){r.width-=t,r.xOffset-=t,r.adjustability.shrinkability[0]-=t}/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var r=function(){try{var e={},n=Object.defineProperty,s=n(e,e,e)&&n}catch{}return s}(),t=function(e){if(this==null)throw TypeError();var n=String(this),s=n.length,i=e?Number(e):0;if(i!=i&&(i=0),!(i<0||i>=s)){var o=n.charCodeAt(i),a;return o>=55296&&o<=56319&&s>i+1&&(a=n.charCodeAt(i+1),a>=56320&&a<=57343)?(o-55296)*1024+a-56320+65536:o}};r?r(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var j6=0,I7=-3;function E2(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function XD(r,t){this.source=r,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new E2,this.dtree=new E2}var L7=new E2,M7=new E2,K6=new Uint8Array(30),q6=new Uint16Array(30),P7=new Uint8Array(30),N7=new Uint16Array(30),WD=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),O0=new E2,z1=new Uint8Array(320);function U7(r,t,e,n){var s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function YD(r,t){var e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}var w0=new Uint16Array(16);function kt(r,t,e,n){var s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)w0[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[w0[t[e+s]]++]=s)}function VD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);var t=r.tag&1;return r.tag>>>=1,t}function Y1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function r6(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function jD(r,t,e){var n,s,i,o,a,u;for(n=Y1(r,5,257),s=Y1(r,5,1),i=Y1(r,4,4),o=0;o<19;++o)z1[o]=0;for(o=0;o<i;++o){var l=Y1(r,3,0);z1[WD[o]]=l}for(kt(O0,z1,0,19),a=0;a<n+s;){var c=r6(r,O0);switch(c){case 16:var h=z1[a-1];for(u=Y1(r,2,3);u;--u)z1[a++]=h;break;case 17:for(u=Y1(r,3,3);u;--u)z1[a++]=0;break;case 18:for(u=Y1(r,7,11);u;--u)z1[a++]=0;break;default:z1[a++]=c;break}}kt(t,z1,0,n),kt(e,z1,n,s)}function A0(r,t,e){for(;;){var n=r6(r,t);if(n===256)return j6;if(n<256)r.dest[r.destLen++]=n;else{var s,i,o,a;for(n-=257,s=Y1(r,K6[n],q6[n]),i=r6(r,e),o=r.destLen-Y1(r,P7[i],N7[i]),a=o;a<o+s;++a)r.dest[r.destLen++]=r.dest[a]}}}function KD(r){for(var t,e,n;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return I7;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,j6}function qD(r,t){var e=new XD(r,t),n,s,i;do{switch(n=VD(e),s=Y1(e,2,0),s){case 0:i=KD(e);break;case 1:i=A0(e,L7,M7);break;case 2:jD(e,e.ltree,e.dtree),i=A0(e,e.ltree,e.dtree);break;default:i=I7}if(i!==j6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}YD(L7,M7);U7(K6,q6,4,3);U7(P7,N7,2,1);K6[28]=0;q6[28]=258;var ZD=qD;function $e(r,t,e,n,s){return Math.pow(1-s,3)*r+3*Math.pow(1-s,2)*s*t+3*(1-s)*Math.pow(s,2)*e+Math.pow(s,3)*n}function le(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}le.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)};le.prototype.addPoint=function(r,t){typeof r=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=r,this.x2=r),r<this.x1&&(this.x1=r),r>this.x2&&(this.x2=r)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))};le.prototype.addX=function(r){this.addPoint(r,null)};le.prototype.addY=function(r){this.addPoint(null,r)};le.prototype.addBezier=function(r,t,e,n,s,i,o,a){var u=[r,t],l=[e,n],c=[s,i],h=[o,a];this.addPoint(r,t),this.addPoint(o,a);for(var f=0;f<=1;f++){var p=6*u[f]-12*l[f]+6*c[f],_=-3*u[f]+9*l[f]-9*c[f]+3*h[f],m=3*l[f]-3*u[f];if(_===0){if(p===0)continue;var v=-m/p;0<v&&v<1&&(f===0&&this.addX($e(u[f],l[f],c[f],h[f],v)),f===1&&this.addY($e(u[f],l[f],c[f],h[f],v)));continue}var y=Math.pow(p,2)-4*m*_;if(!(y<0)){var C=(-p+Math.sqrt(y))/(2*_);0<C&&C<1&&(f===0&&this.addX($e(u[f],l[f],c[f],h[f],C)),f===1&&this.addY($e(u[f],l[f],c[f],h[f],C)));var E=(-p-Math.sqrt(y))/(2*_);0<E&&E<1&&(f===0&&this.addX($e(u[f],l[f],c[f],h[f],E)),f===1&&this.addY($e(u[f],l[f],c[f],h[f],E)))}}};le.prototype.addQuad=function(r,t,e,n,s,i){var o=r+.6666666666666666*(e-r),a=t+2/3*(n-t),u=o+1/3*(s-r),l=a+1/3*(i-t);this.addBezier(r,t,o,a,u,l,s,i)};function d1(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}d1.prototype.moveTo=function(r,t){this.commands.push({type:"M",x:r,y:t})};d1.prototype.lineTo=function(r,t){this.commands.push({type:"L",x:r,y:t})};d1.prototype.curveTo=d1.prototype.bezierCurveTo=function(r,t,e,n,s,i){this.commands.push({type:"C",x1:r,y1:t,x2:e,y2:n,x:s,y:i})};d1.prototype.quadTo=d1.prototype.quadraticCurveTo=function(r,t,e,n){this.commands.push({type:"Q",x1:r,y1:t,x:e,y:n})};d1.prototype.close=d1.prototype.closePath=function(){this.commands.push({type:"Z"})};d1.prototype.extend=function(r){if(r.commands)r=r.commands;else if(r instanceof le){var t=r;this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),this.close();return}Array.prototype.push.apply(this.commands,r)};d1.prototype.getBoundingBox=function(){for(var r=new le,t=0,e=0,n=0,s=0,i=0;i<this.commands.length;i++){var o=this.commands[i];switch(o.type){case"M":r.addPoint(o.x,o.y),t=n=o.x,e=s=o.y;break;case"L":r.addPoint(o.x,o.y),n=o.x,s=o.y;break;case"Q":r.addQuad(n,s,o.x1,o.y1,o.x,o.y),n=o.x,s=o.y;break;case"C":r.addBezier(n,s,o.x1,o.y1,o.x2,o.y2,o.x,o.y),n=o.x,s=o.y;break;case"Z":n=t,s=e;break;default:throw new Error("Unexpected path command "+o.type)}}return r.isEmpty()&&r.addPoint(0,0),r};d1.prototype.draw=function(r){r.beginPath();for(var t=0;t<this.commands.length;t+=1){var e=this.commands[t];e.type==="M"?r.moveTo(e.x,e.y):e.type==="L"?r.lineTo(e.x,e.y):e.type==="C"?r.bezierCurveTo(e.x1,e.y1,e.x2,e.y2,e.x,e.y):e.type==="Q"?r.quadraticCurveTo(e.x1,e.y1,e.x,e.y):e.type==="Z"&&r.closePath()}this.fill&&(r.fillStyle=this.fill,r.fill()),this.stroke&&(r.strokeStyle=this.stroke,r.lineWidth=this.strokeWidth,r.stroke())};d1.prototype.toPathData=function(r){r=r!==void 0?r:2;function t(o){return Math.round(o)===o?""+Math.round(o):o.toFixed(r)}function e(){for(var o=arguments,a="",u=0;u<arguments.length;u+=1){var l=o[u];l>=0&&u>0&&(a+=" "),a+=t(l)}return a}for(var n="",s=0;s<this.commands.length;s+=1){var i=this.commands[s];i.type==="M"?n+="M"+e(i.x,i.y):i.type==="L"?n+="L"+e(i.x,i.y):i.type==="C"?n+="C"+e(i.x1,i.y1,i.x2,i.y2,i.x,i.y):i.type==="Q"?n+="Q"+e(i.x1,i.y1,i.x,i.y):i.type==="Z"&&(n+="Z")}return n};d1.prototype.toSVG=function(r){var t='<path d="';return t+=this.toPathData(r),t+='"',this.fill&&this.fill!=="black"&&(this.fill===null?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>",t};d1.prototype.toDOMElement=function(r){var t=this.toPathData(r),e=document.createElementNS("http://www.w3.org/2000/svg","path");return e.setAttribute("d",t),e};function $7(r){throw new Error(r)}function R0(r,t){r||$7(t)}var J={fail:$7,argument:R0,assert:R0},k0=32768,I0=2147483648,Ze={},N={},Q={};function $1(r){return function(){return r}}N.BYTE=function(r){return J.argument(r>=0&&r<=255,"Byte value should be between 0 and 255."),[r]};Q.BYTE=$1(1);N.CHAR=function(r){return[r.charCodeAt(0)]};Q.CHAR=$1(1);N.CHARARRAY=function(r){typeof r>"u"&&(r="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],e=0;e<r.length;e+=1)t[e]=r.charCodeAt(e);return t};Q.CHARARRAY=function(r){return typeof r>"u"?0:r.length};N.USHORT=function(r){return[r>>8&255,r&255]};Q.USHORT=$1(2);N.SHORT=function(r){return r>=k0&&(r=-(2*k0-r)),[r>>8&255,r&255]};Q.SHORT=$1(2);N.UINT24=function(r){return[r>>16&255,r>>8&255,r&255]};Q.UINT24=$1(3);N.ULONG=function(r){return[r>>24&255,r>>16&255,r>>8&255,r&255]};Q.ULONG=$1(4);N.LONG=function(r){return r>=I0&&(r=-(2*I0-r)),[r>>24&255,r>>16&255,r>>8&255,r&255]};Q.LONG=$1(4);N.FIXED=N.ULONG;Q.FIXED=Q.ULONG;N.FWORD=N.SHORT;Q.FWORD=Q.SHORT;N.UFWORD=N.USHORT;Q.UFWORD=Q.USHORT;N.LONGDATETIME=function(r){return[0,0,0,0,r>>24&255,r>>16&255,r>>8&255,r&255]};Q.LONGDATETIME=$1(8);N.TAG=function(r){return J.argument(r.length===4,"Tag should be exactly 4 ASCII characters."),[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]};Q.TAG=$1(4);N.Card8=N.BYTE;Q.Card8=Q.BYTE;N.Card16=N.USHORT;Q.Card16=Q.USHORT;N.OffSize=N.BYTE;Q.OffSize=Q.BYTE;N.SID=N.USHORT;Q.SID=Q.USHORT;N.NUMBER=function(r){return r>=-107&&r<=107?[r+139]:r>=108&&r<=1131?(r=r-108,[(r>>8)+247,r&255]):r>=-1131&&r<=-108?(r=-r-108,[(r>>8)+251,r&255]):r>=-32768&&r<=32767?N.NUMBER16(r):N.NUMBER32(r)};Q.NUMBER=function(r){return N.NUMBER(r).length};N.NUMBER16=function(r){return[28,r>>8&255,r&255]};Q.NUMBER16=$1(3);N.NUMBER32=function(r){return[29,r>>24&255,r>>16&255,r>>8&255,r&255]};Q.NUMBER32=$1(5);N.REAL=function(r){var t=r.toString(),e=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(e){var n=parseFloat("1e"+((e[2]?+e[2]:0)+e[1].length));t=(Math.round(r*n)/n).toString()}for(var s="",i=0,o=t.length;i<o;i+=1){var a=t[i];a==="e"?s+=t[++i]==="-"?"c":"b":a==="."?s+="a":a==="-"?s+="e":s+=a}s+=s.length&1?"f":"ff";for(var u=[30],l=0,c=s.length;l<c;l+=2)u.push(parseInt(s.substr(l,2),16));return u};Q.REAL=function(r){return N.REAL(r).length};N.NAME=N.CHARARRAY;Q.NAME=Q.CHARARRAY;N.STRING=N.CHARARRAY;Q.STRING=Q.CHARARRAY;Ze.UTF8=function(r,t,e){for(var n=[],s=e,i=0;i<s;i++,t+=1)n[i]=r.getUint8(t);return String.fromCharCode.apply(null,n)};Ze.UTF16=function(r,t,e){for(var n=[],s=e/2,i=0;i<s;i++,t+=2)n[i]=r.getUint16(t);return String.fromCharCode.apply(null,n)};N.UTF16=function(r){for(var t=[],e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t[t.length]=n>>8&255,t[t.length]=n&255}return t};Q.UTF16=function(r){return r.length*2};var s6={"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":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};Ze.MACSTRING=function(r,t,e,n){var s=s6[n];if(s!==void 0){for(var i="",o=0;o<e;o++){var a=r.getUint8(t+o);a<=127?i+=String.fromCharCode(a):i+=s[a&127]}return i}};var X2=typeof WeakMap=="function"&&new WeakMap,W2,JD=function(r){if(!W2){W2={};for(var t in s6)W2[t]=new String(t)}var e=W2[r];if(e!==void 0){if(X2){var n=X2.get(e);if(n!==void 0)return n}var s=s6[r];if(s!==void 0){for(var i={},o=0;o<s.length;o++)i[s.charCodeAt(o)]=o+128;return X2&&X2.set(e,i),i}}};N.MACSTRING=function(r,t){var e=JD(t);if(e!==void 0){for(var n=[],s=0;s<r.length;s++){var i=r.charCodeAt(s);if(i>=128&&(i=e[i],i===void 0))return;n[s]=i}return n}};Q.MACSTRING=function(r,t){var e=N.MACSTRING(r,t);return e!==void 0?e.length:0};function i6(r){return r>=-128&&r<=127}function QD(r,t,e){for(var n=0,s=r.length;t<s&&n<64&&r[t]===0;)++t,++n;return e.push(128|n-1),t}function e_(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var o=r[i];if(!i6(o)||o===0&&i+1<s&&r[i+1]===0)break;++i,++n}e.push(n-1);for(var a=t;a<i;++a)e.push(r[a]+256&255);return i}function t_(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var o=r[i];if(o===0||i6(o)&&i+1<s&&i6(r[i+1]))break;++i,++n}e.push(64|n-1);for(var a=t;a<i;++a){var u=r[a];e.push(u+65536>>8&255,u+256&255)}return i}N.VARDELTAS=function(r){for(var t=0,e=[];t<r.length;){var n=r[t];n===0?t=QD(r,t,e):n>=-128&&n<=127?t=e_(r,t,e):t=t_(r,t,e)}return e};N.INDEX=function(r){for(var t=1,e=[t],n=[],s=0;s<r.length;s+=1){var i=N.OBJECT(r[s]);Array.prototype.push.apply(n,i),t+=i.length,e.push(t)}if(n.length===0)return[0,0];for(var o=[],a=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,N.BYTE,N.USHORT,N.UINT24,N.ULONG][a],l=0;l<e.length;l+=1){var c=u(e[l]);Array.prototype.push.apply(o,c)}return Array.prototype.concat(N.Card16(r.length),N.OffSize(a),o,n)};Q.INDEX=function(r){return N.INDEX(r).length};N.DICT=function(r){for(var t=[],e=Object.keys(r),n=e.length,s=0;s<n;s+=1){var i=parseInt(e[s],0),o=r[i];t=t.concat(N.OPERAND(o.value,o.type)),t=t.concat(N.OPERATOR(i))}return t};Q.DICT=function(r){return N.DICT(r).length};N.OPERATOR=function(r){return r<1200?[r]:[12,r-1200]};N.OPERAND=function(r,t){var e=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)J.argument(r.length===t.length,"Not enough arguments given for type"+t),e=e.concat(N.OPERAND(r[n],t[n]));else if(t==="SID")e=e.concat(N.NUMBER(r));else if(t==="offset")e=e.concat(N.NUMBER32(r));else if(t==="number")e=e.concat(N.NUMBER(r));else if(t==="real")e=e.concat(N.REAL(r));else throw new Error("Unknown operand type "+t);return e};N.OP=N.BYTE;Q.OP=Q.BYTE;var Y2=typeof WeakMap=="function"&&new WeakMap;N.CHARSTRING=function(r){if(Y2){var t=Y2.get(r);if(t!==void 0)return t}for(var e=[],n=r.length,s=0;s<n;s+=1){var i=r[s];e=e.concat(N[i.type](i.value))}return Y2&&Y2.set(r,e),e};Q.CHARSTRING=function(r){return N.CHARSTRING(r).length};N.OBJECT=function(r){var t=N[r.type];return J.argument(t!==void 0,"No encoding function for type "+r.type),t(r.value)};Q.OBJECT=function(r){var t=Q[r.type];return J.argument(t!==void 0,"No sizeOf function for type "+r.type),t(r.value)};N.TABLE=function(r){for(var t=[],e=r.fields.length,n=[],s=[],i=0;i<e;i+=1){var o=r.fields[i],a=N[o.type];J.argument(a!==void 0,"No encoding function for field type "+o.type+" ("+o.name+")");var u=r[o.name];u===void 0&&(u=o.value);var l=a(u);o.type==="TABLE"?(s.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var c=0;c<n.length;c+=1){var h=s[c],f=t.length;J.argument(f<65536,"Table "+r.tableName+" too big."),t[h]=f>>8,t[h+1]=f&255,t=t.concat(n[c])}return t};Q.TABLE=function(r){for(var t=0,e=r.fields.length,n=0;n<e;n+=1){var s=r.fields[n],i=Q[s.type];J.argument(i!==void 0,"No sizeOf function for field type "+s.type+" ("+s.name+")");var o=r[s.name];o===void 0&&(o=s.value),t+=i(o),s.type==="TABLE"&&(t+=2)}return t};N.RECORD=N.TABLE;Q.RECORD=Q.TABLE;N.LITERAL=function(r){return r};Q.LITERAL=function(r){return r.length};function b1(r,t,e){if(t.length&&(t[0].name!=="coverageFormat"||t[0].value===1))for(var n=0;n<t.length;n+=1){var s=t[n];this[s.name]=s.value}if(this.tableName=r,this.fields=t,e)for(var i=Object.keys(e),o=0;o<i.length;o+=1){var a=i[o],u=e[a];this[a]!==void 0&&(this[a]=u)}}b1.prototype.encode=function(){return N.TABLE(this)};b1.prototype.sizeOf=function(){return Q.TABLE(this)};function S2(r,t,e){e===void 0&&(e=t.length);var n=new Array(t.length+1);n[0]={name:r+"Count",type:"USHORT",value:e};for(var s=0;s<t.length;s++)n[s+1]={name:r+s,type:"USHORT",value:t[s]};return n}function o6(r,t,e){var n=t.length,s=new Array(n+1);s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s[i+1]={name:r+i,type:"TABLE",value:e(t[i],i)};return s}function T2(r,t,e){var n=t.length,s=[];s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s=s.concat(e(t[i],i));return s}function at(r){r.format===1?b1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(S2("glyph",r.glyphs))):r.format===2?b1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(T2("rangeRecord",r.ranges,function(t){return[{name:"startGlyphID",type:"USHORT",value:t.start},{name:"endGlyphID",type:"USHORT",value:t.end},{name:"startCoverageIndex",type:"USHORT",value:t.index}]}))):J.assert(!1,"Coverage format must be 1 or 2.")}at.prototype=Object.create(b1.prototype);at.prototype.constructor=at;function ut(r){b1.call(this,"scriptListTable",T2("scriptRecord",r,function(t,e){var n=t.script,s=n.defaultLangSys;return J.assert(!!s,"Unable to write GSUB: script "+t.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:t.tag},{name:"script"+e,type:"TABLE",value:new b1("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new b1("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:s.reqFeatureIndex}].concat(S2("featureIndex",s.featureIndexes)))}].concat(T2("langSys",n.langSysRecords,function(i,o){var a=i.langSys;return[{name:"langSysTag"+o,type:"TAG",value:i.tag},{name:"langSys"+o,type:"TABLE",value:new b1("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:a.reqFeatureIndex}].concat(S2("featureIndex",a.featureIndexes)))}]})))}]}))}ut.prototype=Object.create(b1.prototype);ut.prototype.constructor=ut;function lt(r){b1.call(this,"featureListTable",T2("featureRecord",r,function(t,e){var n=t.feature;return[{name:"featureTag"+e,type:"TAG",value:t.tag},{name:"feature"+e,type:"TABLE",value:new b1("featureTable",[{name:"featureParams",type:"USHORT",value:n.featureParams}].concat(S2("lookupListIndex",n.lookupListIndexes)))}]}))}lt.prototype=Object.create(b1.prototype);lt.prototype.constructor=lt;function ct(r,t){b1.call(this,"lookupListTable",o6("lookup",r,function(e){var n=t[e.lookupType];return J.assert(!!n,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new b1("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(o6("subtable",e.subtables,n)))}))}ct.prototype=Object.create(b1.prototype);ct.prototype.constructor=ct;var G={Table:b1,Record:b1,Coverage:at,ScriptList:ut,FeatureList:lt,LookupList:ct,ushortList:S2,tableList:o6,recordList:T2};function L0(r,t){return r.getUint8(t)}function ht(r,t){return r.getUint16(t,!1)}function n_(r,t){return r.getInt16(t,!1)}function Z6(r,t){return r.getUint32(t,!1)}function H7(r,t){var e=r.getInt16(t,!1),n=r.getUint16(t+2,!1);return e+n/65535}function r_(r,t){for(var e="",n=t;n<t+4;n+=1)e+=String.fromCharCode(r.getInt8(n));return e}function s_(r,t,e){for(var n=0,s=0;s<e;s+=1)n<<=8,n+=r.getUint8(t+s);return n}function i_(r,t,e){for(var n=[],s=t;s<e;s+=1)n.push(r.getUint8(s));return n}function o_(r){for(var t="",e=0;e<r.length;e+=1)t+=String.fromCharCode(r[e]);return t}var a_={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function w(r,t){this.data=r,this.offset=t,this.relativeOffset=0}w.prototype.parseByte=function(){var r=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r};w.prototype.parseChar=function(){var r=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r};w.prototype.parseCard8=w.prototype.parseByte;w.prototype.parseUShort=function(){var r=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r};w.prototype.parseCard16=w.prototype.parseUShort;w.prototype.parseSID=w.prototype.parseUShort;w.prototype.parseOffset16=w.prototype.parseUShort;w.prototype.parseShort=function(){var r=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r};w.prototype.parseF2Dot14=function(){var r=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,r};w.prototype.parseULong=function(){var r=Z6(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r};w.prototype.parseOffset32=w.prototype.parseULong;w.prototype.parseFixed=function(){var r=H7(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r};w.prototype.parseString=function(r){var t=this.data,e=this.offset+this.relativeOffset,n="";this.relativeOffset+=r;for(var s=0;s<r;s++)n+=String.fromCharCode(t.getUint8(e+s));return n};w.prototype.parseTag=function(){return this.parseString(4)};w.prototype.parseLongDateTime=function(){var r=Z6(this.data,this.offset+this.relativeOffset+4);return r-=2082844800,this.relativeOffset+=8,r};w.prototype.parseVersion=function(r){var t=ht(this.data,this.offset+this.relativeOffset),e=ht(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,r===void 0&&(r=4096),t+e/r/10};w.prototype.skip=function(r,t){t===void 0&&(t=1),this.relativeOffset+=a_[r]*t};w.prototype.parseULongList=function(r){r===void 0&&(r=this.parseULong());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint32(n),n+=4;return this.relativeOffset+=r*4,t};w.prototype.parseOffset16List=w.prototype.parseUShortList=function(r){r===void 0&&(r=this.parseUShort());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint16(n),n+=2;return this.relativeOffset+=r*2,t};w.prototype.parseShortList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getInt16(n),n+=2;return this.relativeOffset+=r*2,t};w.prototype.parseByteList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint8(n++);return this.relativeOffset+=r,t};w.prototype.parseList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e};w.prototype.parseList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e};w.prototype.parseRecordList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},o=0;o<n.length;o++){var a=n[o],u=t[a];i[a]=u.call(this)}e[s]=i}return e};w.prototype.parseRecordList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},o=0;o<n.length;o++){var a=n[o],u=t[a];i[a]=u.call(this)}e[s]=i}return e};w.prototype.parseStruct=function(r){if(typeof r=="function")return r.call(this);for(var t=Object.keys(r),e={},n=0;n<t.length;n++){var s=t[n],i=r[s];e[s]=i.call(this)}return e};w.prototype.parseValueRecord=function(r){if(r===void 0&&(r=this.parseUShort()),r!==0){var t={};return r&1&&(t.xPlacement=this.parseShort()),r&2&&(t.yPlacement=this.parseShort()),r&4&&(t.xAdvance=this.parseShort()),r&8&&(t.yAdvance=this.parseShort()),r&16&&(t.xPlaDevice=void 0,this.parseShort()),r&32&&(t.yPlaDevice=void 0,this.parseShort()),r&64&&(t.xAdvDevice=void 0,this.parseShort()),r&128&&(t.yAdvDevice=void 0,this.parseShort()),t}};w.prototype.parseValueRecordList=function(){for(var r=this.parseUShort(),t=this.parseUShort(),e=new Array(t),n=0;n<t;n++)e[n]=this.parseValueRecord(r);return e};w.prototype.parsePointer=function(r){var t=this.parseOffset16();if(t>0)return new w(this.data,this.offset+t).parseStruct(r)};w.prototype.parsePointer32=function(r){var t=this.parseOffset32();if(t>0)return new w(this.data,this.offset+t).parseStruct(r)};w.prototype.parseListOfLists=function(r){for(var t=this.parseOffset16List(),e=t.length,n=this.relativeOffset,s=new Array(e),i=0;i<e;i++){var o=t[i];if(o===0){s[i]=void 0;continue}if(this.relativeOffset=o,r){for(var a=this.parseOffset16List(),u=new Array(a.length),l=0;l<a.length;l++)this.relativeOffset=o+a[l],u[l]=r.call(this);s[i]=u}else s[i]=this.parseUShortList()}return this.relativeOffset=n,s};w.prototype.parseCoverage=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort(),e=this.parseUShort();if(t===1)return{format:1,glyphs:this.parseUShortList(e)};if(t===2){for(var n=new Array(e),s=0;s<e;s++)n[s]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+r.toString(16)+": Coverage format must be 1 or 2.")};w.prototype.parseClassDef=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(t===2)return{format:2,ranges:this.parseRecordList({start:w.uShort,end:w.uShort,classId:w.uShort})};throw new Error("0x"+r.toString(16)+": ClassDef format must be 1 or 2.")};w.list=function(r,t){return function(){return this.parseList(r,t)}};w.list32=function(r,t){return function(){return this.parseList32(r,t)}};w.recordList=function(r,t){return function(){return this.parseRecordList(r,t)}};w.recordList32=function(r,t){return function(){return this.parseRecordList32(r,t)}};w.pointer=function(r){return function(){return this.parsePointer(r)}};w.pointer32=function(r){return function(){return this.parsePointer32(r)}};w.tag=w.prototype.parseTag;w.byte=w.prototype.parseByte;w.uShort=w.offset16=w.prototype.parseUShort;w.uShortList=w.prototype.parseUShortList;w.uLong=w.offset32=w.prototype.parseULong;w.uLongList=w.prototype.parseULongList;w.struct=w.prototype.parseStruct;w.coverage=w.prototype.parseCoverage;w.classDef=w.prototype.parseClassDef;var M0={reserved:w.uShort,reqFeatureIndex:w.uShort,featureIndexes:w.uShortList};w.prototype.parseScriptList=function(){return this.parsePointer(w.recordList({tag:w.tag,script:w.pointer({defaultLangSys:w.pointer(M0),langSysRecords:w.recordList({tag:w.tag,langSys:w.pointer(M0)})})}))||[]};w.prototype.parseFeatureList=function(){return this.parsePointer(w.recordList({tag:w.tag,feature:w.pointer({featureParams:w.offset16,lookupListIndexes:w.uShortList})}))||[]};w.prototype.parseLookupList=function(r){return this.parsePointer(w.list(w.pointer(function(){var t=this.parseUShort();J.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var e=this.parseUShort(),n=e&16;return{lookupType:t,lookupFlag:e,subtables:this.parseList(w.pointer(r[t])),markFilteringSet:n?this.parseUShort():void 0}})))||[]};w.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var r=this.parseUShort(),t=this.parseUShort();J.argument(r===1&&t<1,"GPOS/GSUB feature variations table unknown.");var e=this.parseRecordList32({conditionSetOffset:w.offset32,featureTableSubstitutionOffset:w.offset32});return e})||[]};var Y={getByte:L0,getCard8:L0,getUShort:ht,getCard16:ht,getShort:n_,getULong:Z6,getFixed:H7,getTag:r_,getOffset:s_,getBytes:i_,bytesToString:o_,Parser:w};function u_(r,t){t.parseUShort(),r.length=t.parseULong(),r.language=t.parseULong();var e;r.groupCount=e=t.parseULong(),r.glyphIndexMap={};for(var n=0;n<e;n+=1)for(var s=t.parseULong(),i=t.parseULong(),o=t.parseULong(),a=s;a<=i;a+=1)r.glyphIndexMap[a]=o,o++}function l_(r,t,e,n,s){r.length=t.parseUShort(),r.language=t.parseUShort();var i;r.segCount=i=t.parseUShort()>>1,t.skip("uShort",3),r.glyphIndexMap={};for(var o=new Y.Parser(e,n+s+14),a=new Y.Parser(e,n+s+16+i*2),u=new Y.Parser(e,n+s+16+i*4),l=new Y.Parser(e,n+s+16+i*6),c=n+s+16+i*8,h=0;h<i-1;h+=1)for(var f=void 0,p=o.parseUShort(),_=a.parseUShort(),m=u.parseShort(),v=l.parseUShort(),y=_;y<=p;y+=1)v!==0?(c=l.offset+l.relativeOffset-2,c+=v,c+=(y-_)*2,f=Y.getUShort(e,c),f!==0&&(f=f+m&65535)):f=y+m&65535,r.glyphIndexMap[y]=f}function c_(r,t){var e={};e.version=Y.getUShort(r,t),J.argument(e.version===0,"cmap table version should be 0."),e.numTables=Y.getUShort(r,t+2);for(var n=-1,s=e.numTables-1;s>=0;s-=1){var i=Y.getUShort(r,t+4+s*8),o=Y.getUShort(r,t+4+s*8+2);if(i===3&&(o===0||o===1||o===10)||i===0&&(o===0||o===1||o===2||o===3||o===4)){n=Y.getULong(r,t+4+s*8+4);break}}if(n===-1)throw new Error("No valid cmap sub-tables found.");var a=new Y.Parser(r,t+n);if(e.format=a.parseUShort(),e.format===12)u_(e,a);else if(e.format===4)l_(e,a,r,t,n);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+e.format+").");return e}function h_(r,t,e){r.segments.push({end:t,start:t,delta:-(t-e),offset:0,glyphIndex:e})}function f_(r){r.segments.push({end:65535,start:65535,delta:1,offset:0})}function d_(r){var t=!0,e;for(e=r.length-1;e>0;e-=1){var n=r.get(e);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var s=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(s=s.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),s=s.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 i=new G.Table("cmap",s);for(i.segments=[],e=0;e<r.length;e+=1){for(var o=r.get(e),a=0;a<o.unicodes.length;a+=1)h_(i,o.unicodes[a],e);i.segments=i.segments.sort(function(C,E){return C.start-E.start})}f_(i);var u=i.segments.length,l=0,c=[],h=[],f=[],p=[],_=[],m=[];for(e=0;e<u;e+=1){var v=i.segments[e];v.end<=65535&&v.start<=65535?(c=c.concat({name:"end_"+e,type:"USHORT",value:v.end}),h=h.concat({name:"start_"+e,type:"USHORT",value:v.start}),f=f.concat({name:"idDelta_"+e,type:"SHORT",value:v.delta}),p=p.concat({name:"idRangeOffset_"+e,type:"USHORT",value:v.offset}),v.glyphId!==void 0&&(_=_.concat({name:"glyph_"+e,type:"USHORT",value:v.glyphId}))):l+=1,!t&&v.glyphIndex!==void 0&&(m=m.concat({name:"cmap12Start_"+e,type:"ULONG",value:v.start}),m=m.concat({name:"cmap12End_"+e,type:"ULONG",value:v.end}),m=m.concat({name:"cmap12Glyph_"+e,type:"ULONG",value:v.glyphIndex}))}if(i.segCountX2=(u-l)*2,i.searchRange=Math.pow(2,Math.floor(Math.log(u-l)/Math.log(2)))*2,i.entrySelector=Math.log(i.searchRange/2)/Math.log(2),i.rangeShift=i.segCountX2-i.searchRange,i.fields=i.fields.concat(c),i.fields.push({name:"reservedPad",type:"USHORT",value:0}),i.fields=i.fields.concat(h),i.fields=i.fields.concat(f),i.fields=i.fields.concat(p),i.fields=i.fields.concat(_),i.cmap4Length=14+c.length*2+2+h.length*2+f.length*2+p.length*2+_.length*2,!t){var y=16+m.length*4;i.cmap12Offset=12+2*2+4+i.cmap4Length,i.fields=i.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:m.length/3}]),i.fields=i.fields.concat(m)}return i}var G7={parse:c_,make:d_},Q2=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],p_=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],g_=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Be=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function z7(r){this.font=r}z7.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.font.glyphs;if(e){for(var n=0;n<e.length;n+=1)for(var s=e.get(n),i=0;i<s.unicodes.length;i+=1)if(s.unicodes[i]===t)return n}return null};function X7(r){this.cmap=r}X7.prototype.charToGlyphIndex=function(r){return this.cmap.glyphIndexMap[r.codePointAt(0)]||0};function ft(r,t){this.encoding=r,this.charset=t}ft.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.encoding[t];return this.charset.indexOf(e)};function J6(r){switch(r.version){case 1:this.names=Be.slice();break;case 2:this.names=new Array(r.numberOfGlyphs);for(var t=0;t<r.numberOfGlyphs;t++)r.glyphNameIndex[t]<Be.length?this.names[t]=Be[r.glyphNameIndex[t]]:this.names[t]=r.names[r.glyphNameIndex[t]-Be.length];break;case 2.5:this.names=new Array(r.numberOfGlyphs);for(var e=0;e<r.numberOfGlyphs;e++)this.names[e]=Be[e+r.glyphNameIndex[e]];break;case 3:this.names=[];break;default:this.names=[];break}}J6.prototype.nameToGlyphIndex=function(r){return this.names.indexOf(r)};J6.prototype.glyphIndexToName=function(r){return this.names[r]};function D_(r){for(var t,e=r.tables.cmap.glyphIndexMap,n=Object.keys(e),s=0;s<n.length;s+=1){var i=n[s],o=e[i];t=r.glyphs.get(o),t.addUnicode(parseInt(i))}for(var a=0;a<r.glyphs.length;a+=1)t=r.glyphs.get(a),r.cffEncoding?r.isCIDFont?t.name="gid"+a:t.name=r.cffEncoding.charset[a]:r.glyphNames.names&&(t.name=r.glyphNames.glyphIndexToName(a))}function __(r){r._IndexToUnicodeMap={};for(var t=r.tables.cmap.glyphIndexMap,e=Object.keys(t),n=0;n<e.length;n+=1){var s=e[n],i=t[s];r._IndexToUnicodeMap[i]===void 0?r._IndexToUnicodeMap[i]={unicodes:[parseInt(s)]}:r._IndexToUnicodeMap[i].unicodes.push(parseInt(s))}}function v_(r,t){t.lowMemory?__(r):D_(r)}function m_(r,t,e,n,s){r.beginPath(),r.moveTo(t,e),r.lineTo(n,s),r.stroke()}var Te={line:m_};function b_(r,t){var e=t||new d1;return{configurable:!0,get:function(){return typeof e=="function"&&(e=e()),e},set:function(n){e=n}}}function R1(r){this.bindConstructorValues(r)}R1.prototype.bindConstructorValues=function(r){this.index=r.index||0,this.name=r.name||null,this.unicode=r.unicode||void 0,this.unicodes=r.unicodes||r.unicode!==void 0?[r.unicode]:[],"xMin"in r&&(this.xMin=r.xMin),"yMin"in r&&(this.yMin=r.yMin),"xMax"in r&&(this.xMax=r.xMax),"yMax"in r&&(this.yMax=r.yMax),"advanceWidth"in r&&(this.advanceWidth=r.advanceWidth),Object.defineProperty(this,"path",b_(this,r.path))};R1.prototype.addUnicode=function(r){this.unicodes.length===0&&(this.unicode=r),this.unicodes.push(r)};R1.prototype.getBoundingBox=function(){return this.path.getBoundingBox()};R1.prototype.getPath=function(r,t,e,n,s){r=r!==void 0?r:0,t=t!==void 0?t:0,e=e!==void 0?e:72;var i,o;n||(n={});var a=n.xScale,u=n.yScale;if(n.hinting&&s&&s.hinting&&(o=this.path&&s.hinting.exec(this,e)),o)i=s.hinting.getCommands(o),r=Math.round(r),t=Math.round(t),a=u=1;else{i=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*e;a===void 0&&(a=l),u===void 0&&(u=l)}for(var c=new d1,h=0;h<i.length;h+=1){var f=i[h];f.type==="M"?c.moveTo(r+f.x*a,t+-f.y*u):f.type==="L"?c.lineTo(r+f.x*a,t+-f.y*u):f.type==="Q"?c.quadraticCurveTo(r+f.x1*a,t+-f.y1*u,r+f.x*a,t+-f.y*u):f.type==="C"?c.curveTo(r+f.x1*a,t+-f.y1*u,r+f.x2*a,t+-f.y2*u,r+f.x*a,t+-f.y*u):f.type==="Z"&&c.closePath()}return c};R1.prototype.getContours=function(){if(this.points===void 0)return[];for(var r=[],t=[],e=0;e<this.points.length;e+=1){var n=this.points[e];t.push(n),n.lastPointOfContour&&(r.push(t),t=[])}return J.argument(t.length===0,"There are still points left in the current contour."),r};R1.prototype.getMetrics=function(){for(var r=this.path.commands,t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];s.type!=="Z"&&(t.push(s.x),e.push(s.y)),(s.type==="Q"||s.type==="C")&&(t.push(s.x1),e.push(s.y1)),s.type==="C"&&(t.push(s.x2),e.push(s.y2))}var i={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,e),leftSideBearing:this.leftSideBearing};return isFinite(i.xMin)||(i.xMin=0),isFinite(i.xMax)||(i.xMax=this.advanceWidth),isFinite(i.yMin)||(i.yMin=0),isFinite(i.yMax)||(i.yMax=0),i.rightSideBearing=this.advanceWidth-i.leftSideBearing-(i.xMax-i.xMin),i};R1.prototype.draw=function(r,t,e,n,s){this.getPath(t,e,n,s).draw(r)};R1.prototype.drawPoints=function(r,t,e,n){function s(h,f,p,_){r.beginPath();for(var m=0;m<h.length;m+=1)r.moveTo(f+h[m].x*_,p+h[m].y*_),r.arc(f+h[m].x*_,p+h[m].y*_,2,0,Math.PI*2,!1);r.closePath(),r.fill()}t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24;for(var i=1/this.path.unitsPerEm*n,o=[],a=[],u=this.path,l=0;l<u.commands.length;l+=1){var c=u.commands[l];c.x!==void 0&&o.push({x:c.x,y:-c.y}),c.x1!==void 0&&a.push({x:c.x1,y:-c.y1}),c.x2!==void 0&&a.push({x:c.x2,y:-c.y2})}r.fillStyle="blue",s(o,t,e,i),r.fillStyle="red",s(a,t,e,i)};R1.prototype.drawMetrics=function(r,t,e,n){var s;t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24,s=1/this.path.unitsPerEm*n,r.lineWidth=1,r.strokeStyle="black",Te.line(r,t,-1e4,t,1e4),Te.line(r,-1e4,e,1e4,e);var i=this.xMin||0,o=this.yMin||0,a=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;r.strokeStyle="blue",Te.line(r,t+i*s,-1e4,t+i*s,1e4),Te.line(r,t+a*s,-1e4,t+a*s,1e4),Te.line(r,-1e4,e+-o*s,1e4,e+-o*s),Te.line(r,-1e4,e+-u*s,1e4,e+-u*s),r.strokeStyle="green",Te.line(r,t+l*s,-1e4,t+l*s,1e4)};function V2(r,t,e){Object.defineProperty(r,t,{get:function(){return r.path,r[e]},set:function(n){r[e]=n},enumerable:!0,configurable:!0})}function Q6(r,t){if(this.font=r,this.glyphs={},Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];n.path.unitsPerEm=r.unitsPerEm,this.glyphs[e]=n}this.length=t&&t.length||0}Q6.prototype.get=function(r){if(this.glyphs[r]===void 0){this.font._push(r),typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());var t=this.glyphs[r],e=this.font._IndexToUnicodeMap[r];if(e)for(var n=0;n<e.unicodes.length;n++)t.addUnicode(e.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+r:t.name=this.font.cffEncoding.charset[r]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(r)),this.glyphs[r].advanceWidth=this.font._hmtxTableData[r].advanceWidth,this.glyphs[r].leftSideBearing=this.font._hmtxTableData[r].leftSideBearing}else typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());return this.glyphs[r]};Q6.prototype.push=function(r,t){this.glyphs[r]=t,this.length++};function y_(r,t){return new R1({index:t,font:r})}function F_(r,t,e,n,s,i){return function(){var o=new R1({index:t,font:r});return o.path=function(){e(o,n,s);var a=i(r.glyphs,o);return a.unitsPerEm=r.unitsPerEm,a},V2(o,"xMin","_xMin"),V2(o,"xMax","_xMax"),V2(o,"yMin","_yMin"),V2(o,"yMax","_yMax"),o}}function C_(r,t,e,n){return function(){var s=new R1({index:t,font:r});return s.path=function(){var i=e(r,s,n);return i.unitsPerEm=r.unitsPerEm,i},s}}var Z1={GlyphSet:Q6,glyphLoader:y_,ttfGlyphLoader:F_,cffGlyphLoader:C_};function W7(r,t){if(r===t)return!0;if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(var e=0;e<r.length;e+=1)if(!W7(r[e],t[e]))return!1;return!0}else return!1}function a6(r){var t;return r.length<1240?t=107:r.length<33900?t=1131:t=32768,t}function pe(r,t,e){var n=[],s=[],i=Y.getCard16(r,t),o,a;if(i!==0){var u=Y.getByte(r,t+2);o=t+(i+1)*u+2;for(var l=t+3,c=0;c<i+1;c+=1)n.push(Y.getOffset(r,l,u)),l+=u;a=o+n[i]}else a=t+2;for(var h=0;h<n.length-1;h+=1){var f=Y.getBytes(r,o+n[h],o+n[h+1]);e&&(f=e(f)),s.push(f)}return{objects:s,startOffset:t,endOffset:a}}function E_(r,t){var e=[],n=Y.getCard16(r,t),s,i;if(n!==0){var o=Y.getByte(r,t+2);s=t+(n+1)*o+2;for(var a=t+3,u=0;u<n+1;u+=1)e.push(Y.getOffset(r,a,o)),a+=o;i=s+e[n]}else i=t+2;return{offsets:e,startOffset:t,endOffset:i}}function S_(r,t,e,n,s){var i=Y.getCard16(e,n),o=0;if(i!==0){var a=Y.getByte(e,n+2);o=n+(i+1)*a+2}var u=Y.getBytes(e,o+t[r],o+t[r+1]);return s&&(u=s(u)),u}function T_(r){for(var t="",e=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var s=r.parseByte(),i=s>>4,o=s&15;if(i===e||(t+=n[i],o===e))break;t+=n[o]}return parseFloat(t)}function x_(r,t){var e,n,s,i;if(t===28)return e=r.parseByte(),n=r.parseByte(),e<<8|n;if(t===29)return e=r.parseByte(),n=r.parseByte(),s=r.parseByte(),i=r.parseByte(),e<<24|n<<16|s<<8|i;if(t===30)return T_(r);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return e=r.parseByte(),(t-247)*256+e+108;if(t>=251&&t<=254)return e=r.parseByte(),-(t-251)*256-e-108;throw new Error("Invalid b0 "+t)}function B_(r){for(var t={},e=0;e<r.length;e+=1){var n=r[e][0],s=r[e][1],i=void 0;if(s.length===1?i=s[0]:i=s,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=i}return t}function Y7(r,t,e){t=t!==void 0?t:0;var n=new Y.Parser(r,t),s=[],i=[];for(e=e!==void 0?e:r.length;n.relativeOffset<e;){var o=n.parseByte();o<=21?(o===12&&(o=1200+n.parseByte()),s.push([o,i]),i=[]):i.push(x_(n,o))}return B_(s)}function d2(r,t){return t<=390?t=Q2[t]:t=r[t-391],t}function V7(r,t,e){for(var n={},s,i=0;i<t.length;i+=1){var o=t[i];if(Array.isArray(o.type)){var a=[];a.length=o.type.length;for(var u=0;u<o.type.length;u++)s=r[o.op]!==void 0?r[o.op][u]:void 0,s===void 0&&(s=o.value!==void 0&&o.value[u]!==void 0?o.value[u]:null),o.type[u]==="SID"&&(s=d2(e,s)),a[u]=s;n[o.name]=a}else s=r[o.op],s===void 0&&(s=o.value!==void 0?o.value:null),o.type==="SID"&&(s=d2(e,s)),n[o.name]=s}return n}function O_(r,t){var e={};return e.formatMajor=Y.getCard8(r,t),e.formatMinor=Y.getCard8(r,t+1),e.size=Y.getCard8(r,t+2),e.offsetSize=Y.getCard8(r,t+3),e.startOffset=t,e.endOffset=t+4,e}var j7=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],K7=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function w_(r,t){var e=Y7(r,0,r.byteLength);return V7(e,j7,t)}function q7(r,t,e,n){var s=Y7(r,t,e);return V7(s,K7,n)}function P0(r,t,e,n){for(var s=[],i=0;i<e.length;i+=1){var o=new DataView(new Uint8Array(e[i]).buffer),a=w_(o,n);a._subrs=[],a._subrsBias=0,a._defaultWidthX=0,a._nominalWidthX=0;var u=a.private[0],l=a.private[1];if(u!==0&&l!==0){var c=q7(r,l+t,u,n);if(a._defaultWidthX=c.defaultWidthX,a._nominalWidthX=c.nominalWidthX,c.subrs!==0){var h=l+c.subrs,f=pe(r,h+t);a._subrs=f.objects,a._subrsBias=a6(a._subrs)}a._privateDict=c}s.push(a)}return s}function A_(r,t,e,n){var s,i,o=new Y.Parser(r,t);e-=1;var a=[".notdef"],u=o.parseCard8();if(u===0)for(var l=0;l<e;l+=1)s=o.parseSID(),a.push(d2(n,s));else if(u===1)for(;a.length<=e;){s=o.parseSID(),i=o.parseCard8();for(var c=0;c<=i;c+=1)a.push(d2(n,s)),s+=1}else if(u===2)for(;a.length<=e;){s=o.parseSID(),i=o.parseCard16();for(var h=0;h<=i;h+=1)a.push(d2(n,s)),s+=1}else throw new Error("Unknown charset format "+u);return a}function R_(r,t,e){var n,s={},i=new Y.Parser(r,t),o=i.parseCard8();if(o===0)for(var a=i.parseCard8(),u=0;u<a;u+=1)n=i.parseCard8(),s[n]=u;else if(o===1){var l=i.parseCard8();n=1;for(var c=0;c<l;c+=1)for(var h=i.parseCard8(),f=i.parseCard8(),p=h;p<=h+f;p+=1)s[p]=n,n+=1}else throw new Error("Unknown encoding format "+o);return new ft(s,e)}function N0(r,t,e){var n,s,i,o,a=new d1,u=[],l=0,c=!1,h=!1,f=0,p=0,_,m,v,y;if(r.isCIDFont){var C=r.tables.cff.topDict._fdSelect[t.index],E=r.tables.cff.topDict._fdArray[C];_=E._subrs,m=E._subrsBias,v=E._defaultWidthX,y=E._nominalWidthX}else _=r.tables.cff.topDict._subrs,m=r.tables.cff.topDict._subrsBias,v=r.tables.cff.topDict._defaultWidthX,y=r.tables.cff.topDict._nominalWidthX;var x=v;function T(S,A){h&&a.closePath(),a.moveTo(S,A),h=!0}function O(){var S;S=u.length%2!==0,S&&!c&&(x=u.shift()+y),l+=u.length>>1,u.length=0,c=!0}function B(S){for(var A,k,R,M,U,I,L,$,z,V,H,Z,e1=0;e1<S.length;){var t1=S[e1];switch(e1+=1,t1){case 1:O();break;case 3:O();break;case 4:u.length>1&&!c&&(x=u.shift()+y,c=!0),p+=u.pop(),T(f,p);break;case 5:for(;u.length>0;)f+=u.shift(),p+=u.shift(),a.lineTo(f,p);break;case 6:for(;u.length>0&&(f+=u.shift(),a.lineTo(f,p),u.length!==0);)p+=u.shift(),a.lineTo(f,p);break;case 7:for(;u.length>0&&(p+=u.shift(),a.lineTo(f,p),u.length!==0);)f+=u.shift(),a.lineTo(f,p);break;case 8:for(;u.length>0;)n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o+u.shift(),a.curveTo(n,s,i,o,f,p);break;case 10:U=u.pop()+m,I=_[U],I&&B(I);break;case 11:return;case 12:switch(t1=S[e1],e1+=1,t1){case 35:n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),L=i+u.shift(),$=o+u.shift(),z=L+u.shift(),V=$+u.shift(),H=z+u.shift(),Z=V+u.shift(),f=H+u.shift(),p=Z+u.shift(),u.shift(),a.curveTo(n,s,i,o,L,$),a.curveTo(z,V,H,Z,f,p);break;case 34:n=f+u.shift(),s=p,i=n+u.shift(),o=s+u.shift(),L=i+u.shift(),$=o,z=L+u.shift(),V=o,H=z+u.shift(),Z=p,f=H+u.shift(),a.curveTo(n,s,i,o,L,$),a.curveTo(z,V,H,Z,f,p);break;case 36:n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),L=i+u.shift(),$=o,z=L+u.shift(),V=o,H=z+u.shift(),Z=V+u.shift(),f=H+u.shift(),a.curveTo(n,s,i,o,L,$),a.curveTo(z,V,H,Z,f,p);break;case 37:n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),L=i+u.shift(),$=o+u.shift(),z=L+u.shift(),V=$+u.shift(),H=z+u.shift(),Z=V+u.shift(),Math.abs(H-f)>Math.abs(Z-p)?f=H+u.shift():p=Z+u.shift(),a.curveTo(n,s,i,o,L,$),a.curveTo(z,V,H,Z,f,p);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+t1),u.length=0}break;case 14:u.length>0&&!c&&(x=u.shift()+y,c=!0),h&&(a.closePath(),h=!1);break;case 18:O();break;case 19:case 20:O(),e1+=l+7>>3;break;case 21:u.length>2&&!c&&(x=u.shift()+y,c=!0),p+=u.pop(),f+=u.pop(),T(f,p);break;case 22:u.length>1&&!c&&(x=u.shift()+y,c=!0),f+=u.pop(),T(f,p);break;case 23:O();break;case 24:for(;u.length>2;)n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o+u.shift(),a.curveTo(n,s,i,o,f,p);f+=u.shift(),p+=u.shift(),a.lineTo(f,p);break;case 25:for(;u.length>6;)f+=u.shift(),p+=u.shift(),a.lineTo(f,p);n=f+u.shift(),s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o+u.shift(),a.curveTo(n,s,i,o,f,p);break;case 26:for(u.length%2&&(f+=u.shift());u.length>0;)n=f,s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i,p=o+u.shift(),a.curveTo(n,s,i,o,f,p);break;case 27:for(u.length%2&&(p+=u.shift());u.length>0;)n=f+u.shift(),s=p,i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o,a.curveTo(n,s,i,o,f,p);break;case 28:A=S[e1],k=S[e1+1],u.push((A<<24|k<<16)>>16),e1+=2;break;case 29:U=u.pop()+r.gsubrsBias,I=r.gsubrs[U],I&&B(I);break;case 30:for(;u.length>0&&(n=f,s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,p),u.length!==0);)n=f+u.shift(),s=p,i=n+u.shift(),o=s+u.shift(),p=o+u.shift(),f=i+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,p);break;case 31:for(;u.length>0&&(n=f+u.shift(),s=p,i=n+u.shift(),o=s+u.shift(),p=o+u.shift(),f=i+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,p),u.length!==0);)n=f,s=p+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),p=o+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,p);break;default:t1<32?console.log("Glyph "+t.index+": unknown operator "+t1):t1<247?u.push(t1-139):t1<251?(A=S[e1],e1+=1,u.push((t1-247)*256+A+108)):t1<255?(A=S[e1],e1+=1,u.push(-(t1-251)*256-A-108)):(A=S[e1],k=S[e1+1],R=S[e1+2],M=S[e1+3],e1+=4,u.push((A<<24|k<<16|R<<8|M)/65536))}}}return B(e),t.advanceWidth=x,a}function k_(r,t,e,n){var s=[],i,o=new Y.Parser(r,t),a=o.parseCard8();if(a===0)for(var u=0;u<e;u++){if(i=o.parseCard8(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");s.push(i)}else if(a===3){var l=o.parseCard16(),c=o.parseCard16();if(c!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h,f=0;f<l;f++){if(i=o.parseCard8(),h=o.parseCard16(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");if(h>e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;c<h;c++)s.push(i);c=h}if(h!==e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+h)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+a);return s}function I_(r,t,e,n){e.tables.cff={};var s=O_(r,t),i=pe(r,s.endOffset,Y.bytesToString),o=pe(r,i.endOffset),a=pe(r,o.endOffset,Y.bytesToString),u=pe(r,a.endOffset);e.gsubrs=u.objects,e.gsubrsBias=a6(e.gsubrs);var l=P0(r,t,o.objects,a.objects);if(l.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var c=l[0];if(e.tables.cff.topDict=c,c._privateDict&&(e.defaultWidthX=c._privateDict.defaultWidthX,e.nominalWidthX=c._privateDict.nominalWidthX),c.ros[0]!==void 0&&c.ros[1]!==void 0&&(e.isCIDFont=!0),e.isCIDFont){var h=c.fdArray,f=c.fdSelect;if(h===0||f===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");h+=t;var p=pe(r,h),_=P0(r,t,p.objects,a.objects);c._fdArray=_,f+=t,c._fdSelect=k_(r,f,e.numGlyphs,_.length)}var m=t+c.private[1],v=q7(r,m,c.private[0],a.objects);if(e.defaultWidthX=v.defaultWidthX,e.nominalWidthX=v.nominalWidthX,v.subrs!==0){var y=m+v.subrs,C=pe(r,y);e.subrs=C.objects,e.subrsBias=a6(e.subrs)}else e.subrs=[],e.subrsBias=0;var E;n.lowMemory?(E=E_(r,t+c.charStrings),e.nGlyphs=E.offsets.length):(E=pe(r,t+c.charStrings),e.nGlyphs=E.objects.length);var x=A_(r,t+c.charset,e.nGlyphs,a.objects);if(c.encoding===0?e.cffEncoding=new ft(p_,x):c.encoding===1?e.cffEncoding=new ft(g_,x):e.cffEncoding=R_(r,t+c.encoding,x),e.encoding=e.encoding||e.cffEncoding,e.glyphs=new Z1.GlyphSet(e),n.lowMemory)e._push=function(B){var S=S_(B,E.offsets,r,t+c.charStrings);e.glyphs.push(B,Z1.cffGlyphLoader(e,B,N0,S))};else for(var T=0;T<e.nGlyphs;T+=1){var O=E.objects[T];e.glyphs.push(T,Z1.cffGlyphLoader(e,T,N0,O))}}function Z7(r,t){var e,n=Q2.indexOf(r);return n>=0&&(e=n),n=t.indexOf(r),n>=0?e=n+Q2.length:(e=Q2.length+t.length,t.push(r)),e}function L_(){return new G.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 M_(r){var t=new G.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var e=0;e<r.length;e+=1)t.names.push({name:"name_"+e,type:"NAME",value:r[e]});return t}function J7(r,t,e){for(var n={},s=0;s<r.length;s+=1){var i=r[s],o=t[i.name];o!==void 0&&!W7(o,i.value)&&(i.type==="SID"&&(o=Z7(o,e)),n[i.op]={name:i.name,type:i.type,value:o})}return n}function U0(r,t){var e=new G.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=J7(j7,r,t),e}function $0(r){var t=new G.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:r}],t}function P_(r){var t=new G.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var e=0;e<r.length;e+=1)t.strings.push({name:"string_"+e,type:"STRING",value:r[e]});return t}function N_(){return new G.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function U_(r,t){for(var e=new G.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<r.length;n+=1){var s=r[n],i=Z7(s,t);e.fields.push({name:"glyph_"+n,type:"SID",value:i})}return e}function $_(r){var t=[],e=r.path;t.push({name:"width",type:"NUMBER",value:r.advanceWidth});for(var n=0,s=0,i=0;i<e.commands.length;i+=1){var o=void 0,a=void 0,u=e.commands[i];if(u.type==="Q"){var l=.3333333333333333,c=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+c*u.x1),y1:Math.round(l*s+c*u.y1),x2:Math.round(l*u.x+c*u.x1),y2:Math.round(l*u.y+c*u.y1)}}if(u.type==="M")o=Math.round(u.x-n),a=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="L")o=Math.round(u.x-n),a=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="C"){var h=Math.round(u.x1-n),f=Math.round(u.y1-s),p=Math.round(u.x2-u.x1),_=Math.round(u.y2-u.y1);o=Math.round(u.x-u.x2),a=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:h}),t.push({name:"dy1",type:"NUMBER",value:f}),t.push({name:"dx2",type:"NUMBER",value:p}),t.push({name:"dy2",type:"NUMBER",value:_}),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),s=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function H_(r){for(var t=new G.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),e=0;e<r.length;e+=1){var n=r.get(e),s=$_(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:s})}return t}function G_(r,t){var e=new G.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=J7(K7,r,t),e}function z_(r,t){for(var e=new G.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),n=1/t.unitsPerEm,s={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[n,0,0,n,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},i={},o=[],a,u=1;u<r.length;u+=1)a=r.get(u),o.push(a.name);var l=[];e.header=L_(),e.nameIndex=M_([t.postScriptName]);var c=U0(s,l);e.topDictIndex=$0(c),e.globalSubrIndex=N_(),e.charsets=U_(o,l),e.charStringsIndex=H_(r),e.privateDict=G_(i,l),e.stringIndex=P_(l);var h=e.header.sizeOf()+e.nameIndex.sizeOf()+e.topDictIndex.sizeOf()+e.stringIndex.sizeOf()+e.globalSubrIndex.sizeOf();return s.charset=h,s.encoding=0,s.charStrings=s.charset+e.charsets.sizeOf(),s.private[1]=s.charStrings+e.charStringsIndex.sizeOf(),c=U0(s,l),e.topDictIndex=$0(c),e}var Q7={parse:I_,make:z_};function X_(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.fontRevision=Math.round(n.parseFixed()*1e3)/1e3,e.checkSumAdjustment=n.parseULong(),e.magicNumber=n.parseULong(),J.argument(e.magicNumber===1594834165,"Font header has wrong magic number."),e.flags=n.parseUShort(),e.unitsPerEm=n.parseUShort(),e.created=n.parseLongDateTime(),e.modified=n.parseLongDateTime(),e.xMin=n.parseShort(),e.yMin=n.parseShort(),e.xMax=n.parseShort(),e.yMax=n.parseShort(),e.macStyle=n.parseUShort(),e.lowestRecPPEM=n.parseUShort(),e.fontDirectionHint=n.parseShort(),e.indexToLocFormat=n.parseShort(),e.glyphDataFormat=n.parseShort(),e}function W_(r){var t=Math.round(new Date().getTime()/1e3)+2082844800,e=t;return r.createdTimestamp&&(e=r.createdTimestamp+2082844800),new G.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:e},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],r)}var en={parse:X_,make:W_};function Y_(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.ascender=n.parseShort(),e.descender=n.parseShort(),e.lineGap=n.parseShort(),e.advanceWidthMax=n.parseUShort(),e.minLeftSideBearing=n.parseShort(),e.minRightSideBearing=n.parseShort(),e.xMaxExtent=n.parseShort(),e.caretSlopeRise=n.parseShort(),e.caretSlopeRun=n.parseShort(),e.caretOffset=n.parseShort(),n.relativeOffset+=8,e.metricDataFormat=n.parseShort(),e.numberOfHMetrics=n.parseUShort(),e}function V_(r){return new G.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],r)}var tn={parse:Y_,make:V_};function j_(r,t,e,n,s){for(var i,o,a=new Y.Parser(r,t),u=0;u<n;u+=1){u<e&&(i=a.parseUShort(),o=a.parseShort());var l=s.get(u);l.advanceWidth=i,l.leftSideBearing=o}}function K_(r,t,e,n,s){r._hmtxTableData={};for(var i,o,a=new Y.Parser(t,e),u=0;u<s;u+=1)u<n&&(i=a.parseUShort(),o=a.parseShort()),r._hmtxTableData[u]={advanceWidth:i,leftSideBearing:o}}function q_(r,t,e,n,s,i,o){o.lowMemory?K_(r,t,e,n,s):j_(t,e,n,s,i)}function Z_(r){for(var t=new G.Table("hmtx",[]),e=0;e<r.length;e+=1){var n=r.get(e),s=n.advanceWidth||0,i=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+e,type:"USHORT",value:s}),t.fields.push({name:"leftSideBearing_"+e,type:"SHORT",value:i})}return t}var nn={parse:q_,make:Z_};function J_(r){for(var t=new G.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:r.length}]),e="",n=12+r.length*4,s=0;s<r.length;++s){var i=e.indexOf(r[s]);i<0&&(i=e.length,e+=r[s]),t.fields.push({name:"offset "+s,type:"USHORT",value:n+i}),t.fields.push({name:"length "+s,type:"USHORT",value:r[s].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),t}function Q_(r,t){var e=new Y.Parser(r,t),n=e.parseULong();J.argument(n===1,"Unsupported ltag table version."),e.skip("uLong",1);for(var s=e.parseULong(),i=[],o=0;o<s;o++){for(var a="",u=t+e.parseUShort(),l=e.parseUShort(),c=u;c<u+l;++c)a+=String.fromCharCode(r.getInt8(c));i.push(a)}return i}var rn={make:J_,parse:Q_};function ev(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.numGlyphs=n.parseUShort(),e.version===1&&(e.maxPoints=n.parseUShort(),e.maxContours=n.parseUShort(),e.maxCompositePoints=n.parseUShort(),e.maxCompositeContours=n.parseUShort(),e.maxZones=n.parseUShort(),e.maxTwilightPoints=n.parseUShort(),e.maxStorage=n.parseUShort(),e.maxFunctionDefs=n.parseUShort(),e.maxInstructionDefs=n.parseUShort(),e.maxStackElements=n.parseUShort(),e.maxSizeOfInstructions=n.parseUShort(),e.maxComponentElements=n.parseUShort(),e.maxComponentDepth=n.parseUShort()),e}function tv(r){return new G.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:r}])}var sn={parse:ev,make:tv},on=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],an={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},nv={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},un={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function rv(r,t,e){switch(r){case 0:if(t===65535)return"und";if(e)return e[t];break;case 1:return an[t];case 3:return un[t]}}var u6="utf-16",sv={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},iv={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function ln(r,t,e){switch(r){case 0:return u6;case 1:return iv[e]||sv[t];case 3:if(t===1||t===10)return u6;break}}function ov(r,t,e){for(var n={},s=new Y.Parser(r,t),i=s.parseUShort(),o=s.parseUShort(),a=s.offset+s.parseUShort(),u=0;u<o;u++){var l=s.parseUShort(),c=s.parseUShort(),h=s.parseUShort(),f=s.parseUShort(),p=on[f]||f,_=s.parseUShort(),m=s.parseUShort(),v=rv(l,h,e),y=ln(l,c,h);if(y!==void 0&&v!==void 0){var C=void 0;if(y===u6?C=Ze.UTF16(r,a+m,_):C=Ze.MACSTRING(r,a+m,_,y),C){var E=n[p];E===void 0&&(E=n[p]={}),E[v]=C}}}return i===1&&s.parseUShort(),n}function It(r){var t={};for(var e in r)t[r[e]]=parseInt(e);return t}function H0(r,t,e,n,s,i){return new G.Record("NameRecord",[{name:"platformID",type:"USHORT",value:r},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:e},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:s},{name:"offset",type:"USHORT",value:i}])}function av(r,t){var e=r.length,n=t.length-e+1;e:for(var s=0;s<n;s++)for(;s<n;s++){for(var i=0;i<e;i++)if(t[s+i]!==r[i])continue e;return s}return-1}function G0(r,t){var e=av(r,t);if(e<0){e=t.length;for(var n=0,s=r.length;n<s;++n)t.push(r[n])}return e}function uv(r,t){var e,n=[],s={},i=It(on);for(var o in r){var a=i[o];if(a===void 0&&(a=o),e=parseInt(a),isNaN(e))throw new Error('Name table entry "'+o+'" does not exist, see nameTableNames for complete list.');s[e]=r[o],n.push(e)}for(var u=It(an),l=It(un),c=[],h=[],f=0;f<n.length;f++){e=n[f];var p=s[e];for(var _ in p){var m=p[_],v=1,y=u[_],C=nv[y],E=ln(v,C,y),x=N.MACSTRING(m,E);x===void 0&&(v=0,y=t.indexOf(_),y<0&&(y=t.length,t.push(_)),C=4,x=N.UTF16(m));var T=G0(x,h);c.push(H0(v,C,y,e,x.length,T));var O=l[_];if(O!==void 0){var B=N.UTF16(m),S=G0(B,h);c.push(H0(3,1,O,e,B.length,S))}}}c.sort(function(R,M){return R.platformID-M.platformID||R.encodingID-M.encodingID||R.languageID-M.languageID||R.nameID-M.nameID});for(var A=new G.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:c.length},{name:"stringOffset",type:"USHORT",value:6+c.length*12}]),k=0;k<c.length;k++)A.fields.push({name:"record_"+k,type:"RECORD",value:c[k]});return A.fields.push({name:"strings",type:"LITERAL",value:h}),A}var cn={parse:ov,make:uv},l6=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function lv(r){for(var t=0;t<l6.length;t+=1){var e=l6[t];if(r>=e.begin&&r<e.end)return t}return-1}function cv(r,t){var e={},n=new Y.Parser(r,t);e.version=n.parseUShort(),e.xAvgCharWidth=n.parseShort(),e.usWeightClass=n.parseUShort(),e.usWidthClass=n.parseUShort(),e.fsType=n.parseUShort(),e.ySubscriptXSize=n.parseShort(),e.ySubscriptYSize=n.parseShort(),e.ySubscriptXOffset=n.parseShort(),e.ySubscriptYOffset=n.parseShort(),e.ySuperscriptXSize=n.parseShort(),e.ySuperscriptYSize=n.parseShort(),e.ySuperscriptXOffset=n.parseShort(),e.ySuperscriptYOffset=n.parseShort(),e.yStrikeoutSize=n.parseShort(),e.yStrikeoutPosition=n.parseShort(),e.sFamilyClass=n.parseShort(),e.panose=[];for(var s=0;s<10;s++)e.panose[s]=n.parseByte();return e.ulUnicodeRange1=n.parseULong(),e.ulUnicodeRange2=n.parseULong(),e.ulUnicodeRange3=n.parseULong(),e.ulUnicodeRange4=n.parseULong(),e.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),e.fsSelection=n.parseUShort(),e.usFirstCharIndex=n.parseUShort(),e.usLastCharIndex=n.parseUShort(),e.sTypoAscender=n.parseShort(),e.sTypoDescender=n.parseShort(),e.sTypoLineGap=n.parseShort(),e.usWinAscent=n.parseUShort(),e.usWinDescent=n.parseUShort(),e.version>=1&&(e.ulCodePageRange1=n.parseULong(),e.ulCodePageRange2=n.parseULong()),e.version>=2&&(e.sxHeight=n.parseShort(),e.sCapHeight=n.parseShort(),e.usDefaultChar=n.parseUShort(),e.usBreakChar=n.parseUShort(),e.usMaxContent=n.parseUShort()),e}function hv(r){return new G.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}],r)}var c6={parse:cv,make:hv,unicodeRanges:l6,getUnicodeRange:lv};function fv(r,t){var e={},n=new Y.Parser(r,t);switch(e.version=n.parseVersion(),e.italicAngle=n.parseFixed(),e.underlinePosition=n.parseShort(),e.underlineThickness=n.parseShort(),e.isFixedPitch=n.parseULong(),e.minMemType42=n.parseULong(),e.maxMemType42=n.parseULong(),e.minMemType1=n.parseULong(),e.maxMemType1=n.parseULong(),e.version){case 1:e.names=Be.slice();break;case 2:e.numberOfGlyphs=n.parseUShort(),e.glyphNameIndex=new Array(e.numberOfGlyphs);for(var s=0;s<e.numberOfGlyphs;s++)e.glyphNameIndex[s]=n.parseUShort();e.names=[];for(var i=0;i<e.numberOfGlyphs;i++)if(e.glyphNameIndex[i]>=Be.length){var o=n.parseChar();e.names.push(n.parseString(o))}break;case 2.5:e.numberOfGlyphs=n.parseUShort(),e.offset=new Array(e.numberOfGlyphs);for(var a=0;a<e.numberOfGlyphs;a++)e.offset[a]=n.parseChar();break}return e}function dv(){return new G.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}var hn={parse:fv,make:dv},P1=new Array(9);P1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(w.coverage),deltaGlyphId:this.parseUShort()};if(e===2)return{substFormat:2,coverage:this.parsePointer(w.coverage),substitute:this.parseOffset16List()};J.assert(!1,"0x"+t.toString(16)+": lookup type 1 format must be 1 or 2.")};P1[2]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(w.coverage),sequences:this.parseListOfLists()}};P1[3]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(w.coverage),alternateSets:this.parseListOfLists()}};P1[4]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB ligature table identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(w.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Ve={sequenceIndex:w.uShort,lookupListIndex:w.uShort};P1[5]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:e,coverage:this.parsePointer(w.coverage),ruleSets:this.parseListOfLists(function(){var i=this.parseUShort(),o=this.parseUShort();return{input:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(o,Ve)}})};if(e===2)return{substFormat:e,coverage:this.parsePointer(w.coverage),classDef:this.parsePointer(w.classDef),classSets:this.parseListOfLists(function(){var i=this.parseUShort(),o=this.parseUShort();return{classes:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(o,Ve)}})};if(e===3){var n=this.parseUShort(),s=this.parseUShort();return{substFormat:e,coverages:this.parseList(n,w.pointer(w.coverage)),lookupRecords:this.parseRecordList(s,Ve)}}J.assert(!1,"0x"+t.toString(16)+": lookup type 5 format must be 1, 2 or 3.")};P1[6]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(w.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ve)}})};if(e===2)return{substFormat:2,coverage:this.parsePointer(w.coverage),backtrackClassDef:this.parsePointer(w.classDef),inputClassDef:this.parsePointer(w.classDef),lookaheadClassDef:this.parsePointer(w.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ve)}})};if(e===3)return{substFormat:3,backtrackCoverage:this.parseList(w.pointer(w.coverage)),inputCoverage:this.parseList(w.pointer(w.coverage)),lookaheadCoverage:this.parseList(w.pointer(w.coverage)),lookupRecords:this.parseRecordList(Ve)};J.assert(!1,"0x"+t.toString(16)+": lookup type 6 format must be 1, 2 or 3.")};P1[7]=function(){var t=this.parseUShort();J.argument(t===1,"GSUB Extension Substitution subtable identifier-format must be 1");var e=this.parseUShort(),n=new w(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:P1[e].call(n)}};P1[8]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(w.coverage),backtrackCoverage:this.parseList(w.pointer(w.coverage)),lookaheadCoverage:this.parseList(w.pointer(w.coverage)),substitutes:this.parseUShortList()}};function pv(r,t){t=t||0;var e=new w(r,t),n=e.parseVersion(1);return J.argument(n===1||n===1.1,"Unsupported GSUB table version."),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(P1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(P1),variations:e.parseFeatureVariationsList()}}var n2=new Array(9);n2[1]=function(t){return t.substFormat===1?new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)},{name:"deltaGlyphID",type:"USHORT",value:t.deltaGlyphId}]):new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.ushortList("substitute",t.substitute)))};n2[2]=function(t){return J.assert(t.substFormat===1,"Lookup type 2 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("seqSet",t.sequences,function(e){return new G.Table("sequenceSetTable",G.ushortList("sequence",e))})))};n2[3]=function(t){return J.assert(t.substFormat===1,"Lookup type 3 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("altSet",t.alternateSets,function(e){return new G.Table("alternateSetTable",G.ushortList("alternate",e))})))};n2[4]=function(t){return J.assert(t.substFormat===1,"Lookup type 4 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("ligSet",t.ligatureSets,function(e){return new G.Table("ligatureSetTable",G.tableList("ligature",e,function(n){return new G.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:n.ligGlyph}].concat(G.ushortList("component",n.components,n.components.length+1)))}))})))};n2[6]=function(t){if(t.substFormat===1){var e=new G.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:t.substFormat},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("chainRuleSet",t.chainRuleSets,function(i){return new G.Table("chainRuleSetTable",G.tableList("chainRule",i,function(o){var a=G.ushortList("backtrackGlyph",o.backtrack,o.backtrack.length).concat(G.ushortList("inputGlyph",o.input,o.input.length+1)).concat(G.ushortList("lookaheadGlyph",o.lookahead,o.lookahead.length)).concat(G.ushortList("substitution",[],o.lookupRecords.length));return o.lookupRecords.forEach(function(u,l){a=a.concat({name:"sequenceIndex"+l,type:"USHORT",value:u.sequenceIndex}).concat({name:"lookupListIndex"+l,type:"USHORT",value:u.lookupListIndex})}),new G.Table("chainRuleTable",a)}))})));return e}else if(t.substFormat===2)J.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(t.substFormat===3){var n=[{name:"substFormat",type:"USHORT",value:t.substFormat}];n.push({name:"backtrackGlyphCount",type:"USHORT",value:t.backtrackCoverage.length}),t.backtrackCoverage.forEach(function(i,o){n.push({name:"backtrackCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"inputGlyphCount",type:"USHORT",value:t.inputCoverage.length}),t.inputCoverage.forEach(function(i,o){n.push({name:"inputCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"lookaheadGlyphCount",type:"USHORT",value:t.lookaheadCoverage.length}),t.lookaheadCoverage.forEach(function(i,o){n.push({name:"lookaheadCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"substitutionCount",type:"USHORT",value:t.lookupRecords.length}),t.lookupRecords.forEach(function(i,o){n=n.concat({name:"sequenceIndex"+o,type:"USHORT",value:i.sequenceIndex}).concat({name:"lookupListIndex"+o,type:"USHORT",value:i.lookupListIndex})});var s=new G.Table("chainContextTable",n);return s}J.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function gv(r){return new G.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new G.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new G.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new G.LookupList(r.lookups,n2)}])}var fn={parse:pv,make:gv};function Dv(r,t){var e=new Y.Parser(r,t),n=e.parseULong();J.argument(n===1,"Unsupported META table version."),e.parseULong(),e.parseULong();for(var s=e.parseULong(),i={},o=0;o<s;o++){var a=e.parseTag(),u=e.parseULong(),l=e.parseULong(),c=Ze.UTF8(r,t+u,l);i[a]=c}return i}function _v(r){var t=Object.keys(r).length,e="",n=16+t*12,s=new G.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var i in r){var o=e.length;e+=r[i],s.fields.push({name:"tag "+i,type:"TAG",value:i}),s.fields.push({name:"offset "+i,type:"ULONG",value:n+o}),s.fields.push({name:"length "+i,type:"ULONG",value:r[i].length})}return s.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),s}var dn={parse:Dv,make:_v};function z0(r){return Math.log(r)/Math.log(2)|0}function e0(r){for(;r.length%4!==0;)r.push(0);for(var t=0,e=0;e<r.length;e+=4)t+=(r[e]<<24)+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];return t%=Math.pow(2,32),t}function X0(r,t,e,n){return new G.Record("Table Record",[{name:"tag",type:"TAG",value:r!==void 0?r:""},{name:"checkSum",type:"ULONG",value:t!==void 0?t:0},{name:"offset",type:"ULONG",value:e!==void 0?e:0},{name:"length",type:"ULONG",value:n!==void 0?n:0}])}function pn(r){var t=new G.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=r,t.numTables=r.length;var e=Math.pow(2,z0(t.numTables));t.searchRange=16*e,t.entrySelector=z0(e),t.rangeShift=t.numTables*16-t.searchRange;for(var n=[],s=[],i=t.sizeOf()+X0().sizeOf()*t.numTables;i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0});for(var o=0;o<r.length;o+=1){var a=r[o];J.argument(a.tableName.length===4,"Table name"+a.tableName+" is invalid.");var u=a.sizeOf(),l=X0(a.tableName,e0(a.encode()),i,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),s.push({name:a.tableName+" table",type:"RECORD",value:a}),i+=u,J.argument(!isNaN(i),"Something went wrong calculating the offset.");i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0})}return n.sort(function(c,h){return c.value.tag>h.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(s),t}function W0(r,t,e){for(var n=0;n<t.length;n+=1){var s=r.charToGlyphIndex(t[n]);if(s>0){var i=r.glyphs.get(s);return i.getMetrics()}}return e}function vv(r){for(var t=0,e=0;e<r.length;e+=1)t+=r[e];return t/r.length}function mv(r){for(var t=[],e=[],n=[],s=[],i=[],o=[],a=[],u,l=0,c=0,h=0,f=0,p=0,_=0;_<r.glyphs.length;_+=1){var m=r.glyphs.get(_),v=m.unicode|0;if(isNaN(m.advanceWidth))throw new Error("Glyph "+m.name+" ("+_+"): advanceWidth is not a number.");(u>v||u===void 0)&&v>0&&(u=v),l<v&&(l=v);var y=c6.getUnicodeRange(v);if(y<32)c|=1<<y;else if(y<64)h|=1<<y-32;else if(y<96)f|=1<<y-64;else if(y<123)p|=1<<y-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(m.name!==".notdef"){var C=m.getMetrics();t.push(C.xMin),e.push(C.yMin),n.push(C.xMax),s.push(C.yMax),o.push(C.leftSideBearing),a.push(C.rightSideBearing),i.push(m.advanceWidth)}}var E={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,i),advanceWidthAvg:vv(i),minLeftSideBearing:Math.min.apply(null,o),maxLeftSideBearing:Math.max.apply(null,o),minRightSideBearing:Math.min.apply(null,a)};E.ascender=r.ascender,E.descender=r.descender;var x=en.make({flags:3,unitsPerEm:r.unitsPerEm,xMin:E.xMin,yMin:E.yMin,xMax:E.xMax,yMax:E.yMax,lowestRecPPEM:3,createdTimestamp:r.createdTimestamp}),T=tn.make({ascender:E.ascender,descender:E.descender,advanceWidthMax:E.advanceWidthMax,minLeftSideBearing:E.minLeftSideBearing,minRightSideBearing:E.minRightSideBearing,xMaxExtent:E.maxLeftSideBearing+(E.xMax-E.xMin),numberOfHMetrics:r.glyphs.length}),O=sn.make(r.glyphs.length),B=c6.make(Object.assign({xAvgCharWidth:Math.round(E.advanceWidthAvg),usFirstCharIndex:u,usLastCharIndex:l,ulUnicodeRange1:c,ulUnicodeRange2:h,ulUnicodeRange3:f,ulUnicodeRange4:p,sTypoAscender:E.ascender,sTypoDescender:E.descender,sTypoLineGap:0,usWinAscent:E.yMax,usWinDescent:Math.abs(E.yMin),ulCodePageRange1:1,sxHeight:W0(r,"xyvw",{yMax:Math.round(E.ascender/2)}).yMax,sCapHeight:W0(r,"HIKLEFJMNTZBDPRAGOQSUVWXY",E).yMax,usDefaultChar:r.hasChar(" ")?32:0,usBreakChar:r.hasChar(" ")?32:0},r.tables.os2)),S=nn.make(r.glyphs),A=G7.make(r.glyphs),k=r.getEnglishName("fontFamily"),R=r.getEnglishName("fontSubfamily"),M=k+" "+R,U=r.getEnglishName("postScriptName");U||(U=k.replace(/\s/g,"")+"-"+R);var I={};for(var L in r.names)I[L]=r.names[L];I.uniqueID||(I.uniqueID={en:r.getEnglishName("manufacturer")+":"+M}),I.postScriptName||(I.postScriptName={en:U}),I.preferredFamily||(I.preferredFamily=r.names.fontFamily),I.preferredSubfamily||(I.preferredSubfamily=r.names.fontSubfamily);var $=[],z=cn.make(I,$),V=$.length>0?rn.make($):void 0,H=hn.make(),Z=Q7.make(r.glyphs,{version:r.getEnglishName("version"),fullName:M,familyName:k,weightName:R,postScriptName:U,unitsPerEm:r.unitsPerEm,fontBBox:[0,E.yMin,E.ascender,E.advanceWidthMax]}),e1=r.metas&&Object.keys(r.metas).length>0?dn.make(r.metas):void 0,t1=[x,T,O,B,z,A,H,Z,S];V&&t1.push(V),r.tables.gsub&&t1.push(fn.make(r.tables.gsub)),e1&&t1.push(e1);for(var i1=pn(t1),y1=i1.encode(),p1=e0(y1),s1=i1.fields,o1=!1,g1=0;g1<s1.length;g1+=1)if(s1[g1].name==="head table"){s1[g1].value.checkSumAdjustment=2981146554-p1,o1=!0;break}if(!o1)throw new Error("Could not find head table with checkSum to adjust.");return i1}var bv={make:pn,fontToTable:mv,computeCheckSum:e0};function Lt(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s].tag;if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function Y0(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s];if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function V0(r,t){for(var e,n=0,s=r.length-1;n<=s;){var i=n+s>>>1;e=r[i];var o=e.start;if(o===t)return e;o<t?n=i+1:s=i-1}if(n>0)return e=r[n-1],t>e.end?0:e}function k2(r,t){this.font=r,this.tableName=t}k2.prototype={searchTag:Lt,binSearch:Y0,getTable:function(r){var t=this.font.tables[this.tableName];return!t&&r&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var r=this.getTable();return r?r.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var r=this.getTable();if(r){for(var t=!1,e=0;e<r.scripts.length;e++){var n=r.scripts[e].tag;if(n==="DFLT")return n;n==="latn"&&(t=!0)}if(t)return"latn"}},getScriptTable:function(r,t){var e=this.getTable(t);if(e){r=r||"DFLT";var n=e.scripts,s=Lt(e.scripts,r);if(s>=0)return n[s].script;if(t){var i={tag:r,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-s,0,i),i.script}}},getLangSysTable:function(r,t,e){var n=this.getScriptTable(r,e);if(n){if(!t||t==="dflt"||t==="DFLT")return n.defaultLangSys;var s=Lt(n.langSysRecords,t);if(s>=0)return n.langSysRecords[s].langSys;if(e){var i={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-s,0,i),i.langSys}}},getFeatureTable:function(r,t,e,n){var s=this.getLangSysTable(r,t,n);if(s){for(var i,o=s.featureIndexes,a=this.font.tables[this.tableName].features,u=0;u<o.length;u++)if(i=a[o[u]],i.tag===e)return i.feature;if(n){var l=a.length;return J.assert(l===0||e>=a[l-1].tag,"Features must be added in alphabetical order."),i={tag:e,feature:{params:0,lookupListIndexes:[]}},a.push(i),o.push(l),i.feature}}},getLookupTables:function(r,t,e,n,s){var i=this.getFeatureTable(r,t,e,s),o=[];if(i){for(var a,u=i.lookupListIndexes,l=this.font.tables[this.tableName].lookups,c=0;c<u.length;c++)a=l[u[c]],a.lookupType===n&&o.push(a);if(o.length===0&&s){a={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var h=l.length;return l.push(a),u.push(h),[a]}}return o},getGlyphClass:function(r,t){switch(r.format){case 1:return r.startGlyph<=t&&t<r.startGlyph+r.classes.length?r.classes[t-r.startGlyph]:0;case 2:var e=V0(r.ranges,t);return e?e.classId:0}},getCoverageIndex:function(r,t){switch(r.format){case 1:var e=Y0(r.glyphs,t);return e>=0?e:-1;case 2:var n=V0(r.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(r){if(r.format===1)return r.glyphs;for(var t=[],e=r.ranges,n=0;n<e.length;n++)for(var s=e[n],i=s.start,o=s.end,a=i;a<=o;a++)t.push(a);return t}};function I2(r){k2.call(this,r,"gpos")}I2.prototype=k2.prototype;I2.prototype.init=function(){var r=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(r)};I2.prototype.getKerningValue=function(r,t,e){for(var n=0;n<r.length;n++)for(var s=r[n].subtables,i=0;i<s.length;i++){var o=s[i],a=this.getCoverageIndex(o.coverage,t);if(!(a<0))switch(o.posFormat){case 1:for(var u=o.pairSets[a],l=0;l<u.length;l++){var c=u[l];if(c.secondGlyph===e)return c.value1&&c.value1.xAdvance||0}break;case 2:var h=this.getGlyphClass(o.classDef1,t),f=this.getGlyphClass(o.classDef2,e),p=o.classRecords[h][f];return p.value1&&p.value1.xAdvance||0}}return 0};I2.prototype.getKerningTables=function(r,t){if(this.font.tables.gpos)return this.getLookupTables(r,t,"kern",2)};function k1(r){k2.call(this,r,"gsub")}function yv(r,t){var e=r.length;if(e!==t.length)return!1;for(var n=0;n<e;n++)if(r[n]!==t[n])return!1;return!0}function t0(r,t,e){for(var n=r.subtables,s=0;s<n.length;s++){var i=n[s];if(i.substFormat===t)return i}if(e)return n.push(e),e}k1.prototype=k2.prototype;k1.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}};k1.prototype.getSingle=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,1),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++){var u=o[a],l=this.expandCoverage(u.coverage),c=void 0;if(u.substFormat===1){var h=u.deltaGlyphId;for(c=0;c<l.length;c++){var f=l[c];n.push({sub:f,by:f+h})}}else{var p=u.substitute;for(c=0;c<l.length;c++)n.push({sub:l[c],by:p[c]})}}return n};k1.prototype.getMultiple=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,2),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++){var u=o[a],l=this.expandCoverage(u.coverage),c=void 0;for(c=0;c<l.length;c++){var h=l[c],f=u.sequences[c];n.push({sub:h,by:f})}}return n};k1.prototype.getAlternates=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,3),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++)for(var u=o[a],l=this.expandCoverage(u.coverage),c=u.alternateSets,h=0;h<l.length;h++)n.push({sub:l[h],by:c[h]});return n};k1.prototype.getLigatures=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,4),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++)for(var u=o[a],l=this.expandCoverage(u.coverage),c=u.ligatureSets,h=0;h<l.length;h++)for(var f=l[h],p=c[h],_=0;_<p.length;_++){var m=p[_];n.push({sub:[f].concat(m.components),by:m.ligGlyph})}return n};k1.prototype.addSingle=function(r,t,e,n){var s=this.getLookupTables(e,n,r,1,!0)[0],i=t0(s,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});J.assert(i.coverage.format===1,"Single: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.substitute.splice(a,0,0)),i.substitute[a]=t.by};k1.prototype.addMultiple=function(r,t,e,n){J.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var s=this.getLookupTables(e,n,r,2,!0)[0],i=t0(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});J.assert(i.coverage.format===1,"Multiple: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.sequences.splice(a,0,0)),i.sequences[a]=t.by};k1.prototype.addAlternate=function(r,t,e,n){var s=this.getLookupTables(e,n,r,3,!0)[0],i=t0(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});J.assert(i.coverage.format===1,"Alternate: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.alternateSets.splice(a,0,0)),i.alternateSets[a]=t.by};k1.prototype.addLigature=function(r,t,e,n){var s=this.getLookupTables(e,n,r,4,!0)[0],i=s.subtables[0];i||(i={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},s.subtables[0]=i),J.assert(i.coverage.format===1,"Ligature: unable to modify coverage table format "+i.coverage.format);var o=t.sub[0],a=t.sub.slice(1),u={ligGlyph:t.by,components:a},l=this.binSearch(i.coverage.glyphs,o);if(l>=0){for(var c=i.ligatureSets[l],h=0;h<c.length;h++)if(yv(c[h].components,a))return;c.push(u)}else l=-1-l,i.coverage.glyphs.splice(l,0,o),i.ligatureSets.splice(l,0,[u])};k1.prototype.getFeature=function(r,t,e){if(/ss\d\d/.test(r))return this.getSingle(r,t,e);switch(r){case"aalt":case"salt":return this.getSingle(r,t,e).concat(this.getAlternates(r,t,e));case"dlig":case"liga":case"rlig":return this.getLigatures(r,t,e);case"ccmp":return this.getMultiple(r,t,e).concat(this.getLigatures(r,t,e));case"stch":return this.getMultiple(r,t,e)}};k1.prototype.add=function(r,t,e,n){if(/ss\d\d/.test(r))return this.addSingle(r,t,e,n);switch(r){case"aalt":case"salt":return typeof t.by=="number"?this.addSingle(r,t,e,n):this.addAlternate(r,t,e,n);case"dlig":case"liga":case"rlig":return this.addLigature(r,t,e,n);case"ccmp":return t.by instanceof Array?this.addMultiple(r,t,e,n):this.addLigature(r,t,e,n)}};function Fv(){return typeof window<"u"}function gn(r){for(var t=new ArrayBuffer(r.length),e=new Uint8Array(t),n=0;n<r.length;++n)e[n]=r[n];return t}function Cv(r){for(var t=new Buffer(r.byteLength),e=new Uint8Array(r),n=0;n<t.length;++n)t[n]=e[n];return t}function u2(r,t){if(!r)throw t}function j0(r,t,e,n,s){var i;return(t&n)>0?(i=r.parseByte(),t&s||(i=-i),i=e+i):(t&s)>0?i=e:i=e+r.parseShort(),i}function Dn(r,t,e){var n=new Y.Parser(t,e);r.numberOfContours=n.parseShort(),r._xMin=n.parseShort(),r._yMin=n.parseShort(),r._xMax=n.parseShort(),r._yMax=n.parseShort();var s,i;if(r.numberOfContours>0){for(var o=r.endPointIndices=[],a=0;a<r.numberOfContours;a+=1)o.push(n.parseUShort());r.instructionLength=n.parseUShort(),r.instructions=[];for(var u=0;u<r.instructionLength;u+=1)r.instructions.push(n.parseByte());var l=o[o.length-1]+1;s=[];for(var c=0;c<l;c+=1)if(i=n.parseByte(),s.push(i),(i&8)>0)for(var h=n.parseByte(),f=0;f<h;f+=1)s.push(i),c+=1;if(J.argument(s.length===l,"Bad flags."),o.length>0){var p=[],_;if(l>0){for(var m=0;m<l;m+=1)i=s[m],_={},_.onCurve=!!(i&1),_.lastPointOfContour=o.indexOf(m)>=0,p.push(_);for(var v=0,y=0;y<l;y+=1)i=s[y],_=p[y],_.x=j0(n,i,v,2,16),v=_.x;for(var C=0,E=0;E<l;E+=1)i=s[E],_=p[E],_.y=j0(n,i,C,4,32),C=_.y}r.points=p}else r.points=[]}else if(r.numberOfContours===0)r.points=[];else{r.isComposite=!0,r.points=[],r.components=[];for(var x=!0;x;){s=n.parseUShort();var T={glyphIndex:n.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(s&1)>0?(s&2)>0?(T.dx=n.parseShort(),T.dy=n.parseShort()):T.matchedPoints=[n.parseUShort(),n.parseUShort()]:(s&2)>0?(T.dx=n.parseChar(),T.dy=n.parseChar()):T.matchedPoints=[n.parseByte(),n.parseByte()],(s&8)>0?T.xScale=T.yScale=n.parseF2Dot14():(s&64)>0?(T.xScale=n.parseF2Dot14(),T.yScale=n.parseF2Dot14()):(s&128)>0&&(T.xScale=n.parseF2Dot14(),T.scale01=n.parseF2Dot14(),T.scale10=n.parseF2Dot14(),T.yScale=n.parseF2Dot14()),r.components.push(T),x=!!(s&32)}if(s&256){r.instructionLength=n.parseUShort(),r.instructions=[];for(var O=0;O<r.instructionLength;O+=1)r.instructions.push(n.parseByte())}}}function Mt(r,t){for(var e=[],n=0;n<r.length;n+=1){var s=r[n],i={x:t.xScale*s.x+t.scale01*s.y+t.dx,y:t.scale10*s.x+t.yScale*s.y+t.dy,onCurve:s.onCurve,lastPointOfContour:s.lastPointOfContour};e.push(i)}return e}function Ev(r){for(var t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];e.push(s),s.lastPointOfContour&&(t.push(e),e=[])}return J.argument(e.length===0,"There are still points left in the current contour."),t}function _n(r){var t=new d1;if(!r)return t;for(var e=Ev(r),n=0;n<e.length;++n){var s=e[n],i=null,o=s[s.length-1],a=s[0];if(o.onCurve)t.moveTo(o.x,o.y);else if(a.onCurve)t.moveTo(a.x,a.y);else{var u={x:(o.x+a.x)*.5,y:(o.y+a.y)*.5};t.moveTo(u.x,u.y)}for(var l=0;l<s.length;++l)if(i=o,o=a,a=s[(l+1)%s.length],o.onCurve)t.lineTo(o.x,o.y);else{var c=a;i.onCurve||((o.x+i.x)*.5,(o.y+i.y)*.5),a.onCurve||(c={x:(o.x+a.x)*.5,y:(o.y+a.y)*.5}),t.quadraticCurveTo(o.x,o.y,c.x,c.y)}t.closePath()}return t}function vn(r,t){if(t.isComposite)for(var e=0;e<t.components.length;e+=1){var n=t.components[e],s=r.get(n.glyphIndex);if(s.getPath(),s.points){var i=void 0;if(n.matchedPoints===void 0)i=Mt(s.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>s.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],a=s.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};a=Mt([a],u)[0],u.dx=o.x-a.x,u.dy=o.y-a.y,i=Mt(s.points,u)}t.points=t.points.concat(i)}}return _n(t.points)}function Sv(r,t,e,n){for(var s=new Z1.GlyphSet(n),i=0;i<e.length-1;i+=1){var o=e[i],a=e[i+1];o!==a?s.push(i,Z1.ttfGlyphLoader(n,i,Dn,r,t+o,vn)):s.push(i,Z1.glyphLoader(n,i))}return s}function Tv(r,t,e,n){var s=new Z1.GlyphSet(n);return n._push=function(i){var o=e[i],a=e[i+1];o!==a?s.push(i,Z1.ttfGlyphLoader(n,i,Dn,r,t+o,vn)):s.push(i,Z1.glyphLoader(n,i))},s}function xv(r,t,e,n,s){return s.lowMemory?Tv(r,t,e,n):Sv(r,t,e,n)}var mn={getPath:_n,parse:xv},bn,Ie,yn,h6;function Fn(r){this.font=r,this.getCommands=function(t){return mn.getPath(t).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function Bv(r){return r}function Cn(r){return Math.sign(r)*Math.round(Math.abs(r))}function Ov(r){return Math.sign(r)*Math.round(Math.abs(r*2))/2}function wv(r){return Math.sign(r)*(Math.round(Math.abs(r)+.5)-.5)}function Av(r){return Math.sign(r)*Math.ceil(Math.abs(r))}function Rv(r){return Math.sign(r)*Math.floor(Math.abs(r))}var En=function(r){var t=this.srPeriod,e=this.srPhase,n=this.srThreshold,s=1;return r<0&&(r=-r,s=-1),r+=n-e,r=Math.trunc(r/t)*t,r+=e,r<0?e*s:r*s},j1={x:1,y:0,axis:"x",distance:function(r,t,e,n){return(e?r.xo:r.x)-(n?t.xo:t.x)},interpolate:function(r,t,e,n){var s,i,o,a,u,l,c;if(!n||n===this){if(s=r.xo-t.xo,i=r.xo-e.xo,u=t.x-t.xo,l=e.x-e.xo,o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){r.x=r.xo+(u+l)/2;return}r.x=r.xo+(u*a+l*o)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){j1.setRelative(r,r,(u+l)/2,n,!0);return}j1.setRelative(r,r,(u*a+l*o)/c,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(r,t,e,n,s){if(!n||n===this){r.x=(s?t.xo:t.x)+e;return}var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y;r.x=a+(r.y-u)/n.normalSlope},slope:0,touch:function(r){r.xTouched=!0},touched:function(r){return r.xTouched},untouch:function(r){r.xTouched=!1}},ie={x:0,y:1,axis:"y",distance:function(r,t,e,n){return(e?r.yo:r.y)-(n?t.yo:t.y)},interpolate:function(r,t,e,n){var s,i,o,a,u,l,c;if(!n||n===this){if(s=r.yo-t.yo,i=r.yo-e.yo,u=t.y-t.yo,l=e.y-e.yo,o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){r.y=r.yo+(u+l)/2;return}r.y=r.yo+(u*a+l*o)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){ie.setRelative(r,r,(u+l)/2,n,!0);return}ie.setRelative(r,r,(u*a+l*o)/c,n,!0)},normalSlope:0,setRelative:function(r,t,e,n,s){if(!n||n===this){r.y=(s?t.yo:t.y)+e;return}var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y;r.y=u+n.normalSlope*(r.x-a)},slope:Number.POSITIVE_INFINITY,touch:function(r){r.yTouched=!0},touched:function(r){return r.yTouched},untouch:function(r){r.yTouched=!1}};Object.freeze(j1);Object.freeze(ie);function L2(r,t){this.x=r,this.y=t,this.axis=void 0,this.slope=t/r,this.normalSlope=-r/t,Object.freeze(this)}L2.prototype.distance=function(r,t,e,n){return this.x*j1.distance(r,t,e,n)+this.y*ie.distance(r,t,e,n)};L2.prototype.interpolate=function(r,t,e,n){var s,i,o,a,u,l,c;if(o=n.distance(r,t,!0,!0),a=n.distance(r,e,!0,!0),s=n.distance(t,t,!1,!0),i=n.distance(e,e,!1,!0),u=Math.abs(o),l=Math.abs(a),c=u+l,c===0){this.setRelative(r,r,(s+i)/2,n,!0);return}this.setRelative(r,r,(s*l+i*u)/c,n,!0)};L2.prototype.setRelative=function(r,t,e,n,s){n=n||this;var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y,l=n.normalSlope,c=this.slope,h=r.x,f=r.y;r.x=(c*h-l*a+u-f)/(c-l),r.y=c*(r.x-h)+f};L2.prototype.touch=function(r){r.xTouched=!0,r.yTouched=!0};function M2(r,t){var e=Math.sqrt(r*r+t*t);return r/=e,t/=e,r===1&&t===0?j1:r===0&&t===1?ie:new L2(r,t)}function oe(r,t,e,n){this.x=this.xo=Math.round(r*64)/64,this.y=this.yo=Math.round(t*64)/64,this.lastPointOfContour=e,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}oe.prototype.nextTouched=function(r){for(var t=this.nextPointOnContour;!r.touched(t)&&t!==this;)t=t.nextPointOnContour;return t};oe.prototype.prevTouched=function(r){for(var t=this.prevPointOnContour;!r.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var x2=Object.freeze(new oe(0,0)),kv={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function ge(r,t){switch(this.env=r,this.stack=[],this.prog=t,r){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=j1,this.round=Cn}}Fn.prototype.exec=function(r,t){if(typeof t!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var e=this.font,n=this._prepState;if(!n||n.ppem!==t){var s=this._fpgmState;if(!s){ge.prototype=kv,s=this._fpgmState=new ge("fpgm",e.tables.fpgm),s.funcs=[],s.font=e,exports.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{Ie(s)}catch(l){console.log("Hinting error in FPGM:"+l),this._errorState=3;return}}ge.prototype=s,n=this._prepState=new ge("prep",e.tables.prep),n.ppem=t;var i=e.tables.cvt;if(i)for(var o=n.cvt=new Array(i.length),a=t/e.unitsPerEm,u=0;u<i.length;u++)o[u]=i[u]*a;else n.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),n.step=-1);try{Ie(n)}catch(l){this._errorState<2&&console.log("Hinting error in PREP:"+l),this._errorState=2}}if(!(this._errorState>1))try{return yn(r,n)}catch(l){this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};yn=function(r,t){var e=t.ppem/t.font.unitsPerEm,n=e,s=r.components,i,o,a;if(ge.prototype=t,!s)a=new ge("glyf",r.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),a.step=-1),h6(r,a,e,n),o=a.gZone;else{var u=t.font;o=[],i=[];for(var l=0;l<s.length;l++){var c=s[l],h=u.glyphs.get(c.glyphIndex);a=new ge("glyf",h.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+l+"---"),a.step=-1),h6(h,a,e,n);for(var f=Math.round(c.dx*e),p=Math.round(c.dy*n),_=a.gZone,m=a.contours,v=0;v<_.length;v++){var y=_[v];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+f,y.yo=y.y=y.y+p}var C=o.length;o.push.apply(o,_);for(var E=0;E<m.length;E++)i.push(m[E]+C)}r.instructions&&!a.inhibitGridFit&&(a=new ge("glyf",r.instructions),a.gZone=a.z0=a.z1=a.z2=o,a.contours=i,o.push(new oe(0,0),new oe(Math.round(r.advanceWidth*e),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),a.step=-1),Ie(a),o.length-=2)}return o};h6=function(r,t,e,n){for(var s=r.points||[],i=s.length,o=t.gZone=t.z0=t.z1=t.z2=[],a=t.contours=[],u,l=0;l<i;l++)u=s[l],o[l]=new oe(u.x*e,u.y*n,u.lastPointOfContour,u.onCurve);for(var c,h,f=0;f<i;f++)u=o[f],c||(c=u,a.push(f)),u.lastPointOfContour?(u.nextPointOnContour=c,c.prevPointOnContour=u,c=void 0):(h=o[f+1],u.nextPointOnContour=h,h.prevPointOnContour=u);if(!t.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var p=0;p<i;p++)console.log(p,o[p].x,o[p].y)}if(o.push(new oe(0,0),new oe(Math.round(r.advanceWidth*e),0)),Ie(t),o.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var _=0;_<i;_++)console.log(_,o[_].x,o[_].y)}}};Ie=function(r){var t=r.prog;if(t){var e=t.length,n;for(r.ip=0;r.ip<e;r.ip++){if(exports.DEBUG&&r.step++,n=bn[t[r.ip]],!n)throw new Error("unknown instruction: 0x"+Number(t[r.ip]).toString(16));n(r)}}};function yt(r){for(var t=r.tZone=new Array(r.gZone.length),e=0;e<t.length;e++)t[e]=new oe(0,0)}function Sn(r,t){var e=r.prog,n=r.ip,s=1,i;do if(i=e[++n],i===88)s++;else if(i===89)s--;else if(i===64)n+=e[n+1]+1;else if(i===65)n+=2*e[n+1]+1;else if(i>=176&&i<=183)n+=i-176+1;else if(i>=184&&i<=191)n+=(i-184+1)*2;else if(t&&s===1&&i===27)break;while(s>0);r.ip=n}function K0(r,t){exports.DEBUG&&console.log(t.step,"SVTCA["+r.axis+"]"),t.fv=t.pv=t.dpv=r}function q0(r,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+r.axis+"]"),t.pv=t.dpv=r}function Z0(r,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+r.axis+"]"),t.fv=r}function J0(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SPVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.pv=t.dpv=M2(a,u)}function Q0(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SFVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.fv=M2(a,u)}function Iv(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.pv=r.dpv=M2(n,e)}function Lv(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.fv=M2(n,e)}function Mv(r){var t=r.stack,e=r.pv;exports.DEBUG&&console.log(r.step,"GPV[]"),t.push(e.x*16384),t.push(e.y*16384)}function Pv(r){var t=r.stack,e=r.fv;exports.DEBUG&&console.log(r.step,"GFV[]"),t.push(e.x*16384),t.push(e.y*16384)}function Nv(r){r.fv=r.pv,exports.DEBUG&&console.log(r.step,"SFVTPV[]")}function Uv(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop(),i=t.pop(),o=t.pop(),a=r.z0,u=r.z1,l=a[e],c=a[n],h=u[s],f=u[i],p=r.z2[o];exports.DEBUG&&console.log("ISECT[], ",e,n,s,i,o);var _=l.x,m=l.y,v=c.x,y=c.y,C=h.x,E=h.y,x=f.x,T=f.y,O=(_-v)*(E-T)-(m-y)*(C-x),B=_*y-m*v,S=C*T-E*x;p.x=(B*(C-x)-S*(_-v))/O,p.y=(B*(E-T)-S*(m-y))/O}function $v(r){r.rp0=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP0[]",r.rp0)}function Hv(r){r.rp1=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP1[]",r.rp1)}function Gv(r){r.rp2=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP2[]",r.rp2)}function zv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP0[]",t),r.zp0=t,t){case 0:r.tZone||yt(r),r.z0=r.tZone;break;case 1:r.z0=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Xv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP1[]",t),r.zp1=t,t){case 0:r.tZone||yt(r),r.z1=r.tZone;break;case 1:r.z1=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Wv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP2[]",t),r.zp2=t,t){case 0:r.tZone||yt(r),r.z2=r.tZone;break;case 1:r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Yv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZPS[]",t),r.zp0=r.zp1=r.zp2=t,t){case 0:r.tZone||yt(r),r.z0=r.z1=r.z2=r.tZone;break;case 1:r.z0=r.z1=r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Vv(r){r.loop=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SLOOP[]",r.loop)}function jv(r){exports.DEBUG&&console.log(r.step,"RTG[]"),r.round=Cn}function Kv(r){exports.DEBUG&&console.log(r.step,"RTHG[]"),r.round=wv}function qv(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SMD[]",t),r.minDis=t/64}function Zv(r){exports.DEBUG&&console.log(r.step,"ELSE[]"),Sn(r,!1)}function Jv(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"JMPR[]",t),r.ip+=t-1}function Qv(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCVTCI[]",t),r.cvCutIn=t/64}function em(r){var t=r.stack;exports.DEBUG&&console.log(r.step,"DUP[]"),t.push(t[t.length-1])}function Pt(r){exports.DEBUG&&console.log(r.step,"POP[]"),r.stack.pop()}function tm(r){exports.DEBUG&&console.log(r.step,"CLEAR[]"),r.stack.length=0}function nm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SWAP[]"),t.push(e),t.push(n)}function rm(r){var t=r.stack;exports.DEBUG&&console.log(r.step,"DEPTH[]"),t.push(t.length)}function sm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LOOPCALL[]",e,n);var s=r.ip,i=r.prog;r.prog=r.funcs[e];for(var o=0;o<n;o++)Ie(r),exports.DEBUG&&console.log(++r.step,o+1<n?"next loopcall":"done loopcall",o);r.ip=s,r.prog=i}function im(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"CALL[]",t);var e=r.ip,n=r.prog;r.prog=r.funcs[t],Ie(r),r.ip=e,r.prog=n,exports.DEBUG&&console.log(++r.step,"returning from",t)}function om(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"CINDEX[]",e),t.push(t[t.length-e])}function am(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"MINDEX[]",e),t.push(t.splice(t.length-e,1)[0])}function um(r){if(r.env!=="fpgm")throw new Error("FDEF not allowed here");var t=r.stack,e=r.prog,n=r.ip,s=t.pop(),i=n;for(exports.DEBUG&&console.log(r.step,"FDEF[]",s);e[++n]!==45;);r.ip=n,r.funcs[s]=e.slice(i+1,n)}function e4(r,t){var e=t.stack.pop(),n=t.z0[e],s=t.fv,i=t.pv;exports.DEBUG&&console.log(t.step,"MDAP["+r+"]",e);var o=i.distance(n,x2);r&&(o=t.round(o)),s.setRelative(n,x2,o,i),s.touch(n),t.rp0=t.rp1=e}function t4(r,t){var e=t.z2,n=e.length-2,s,i,o;exports.DEBUG&&console.log(t.step,"IUP["+r.axis+"]");for(var a=0;a<n;a++)s=e[a],!r.touched(s)&&(i=s.prevTouched(r),i!==s&&(o=s.nextTouched(r),i===o&&r.setRelative(s,s,r.distance(i,i,!1,!0),r,!0),r.interpolate(s,i,o,r)))}function n4(r,t){for(var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=t.loop,u=t.z2;a--;){var l=e.pop(),c=u[l],h=o.distance(s,s,!1,!0);i.setRelative(c,c,h,o),i.touch(c),exports.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-a)+": ":"")+"SHP["+(r?"rp1":"rp2")+"]",l)}t.loop=1}function r4(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=e.pop(),u=t.z2[t.contours[a]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+r+"]",a);var c=o.distance(s,s,!1,!0);do l!==s&&i.setRelative(l,l,c,o),l=l.nextPointOnContour;while(l!==u)}function s4(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=e.pop();exports.DEBUG&&console.log(t.step,"SHZ["+r+"]",a);var u;switch(a){case 0:u=t.tZone;break;case 1:u=t.gZone;break;default:throw new Error("Invalid zone")}for(var l,c=o.distance(s,s,!1,!0),h=u.length-2,f=0;f<h;f++)l=u[f],i.setRelative(l,l,c,o)}function lm(r){for(var t=r.stack,e=r.loop,n=r.fv,s=t.pop()/64,i=r.z2;e--;){var o=t.pop(),a=i[o];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-e)+": ":"")+"SHPIX[]",o,s),n.setRelative(a,a,s),n.touch(a)}r.loop=1}function cm(r){for(var t=r.stack,e=r.rp1,n=r.rp2,s=r.loop,i=r.z0[e],o=r.z1[n],a=r.fv,u=r.dpv,l=r.z2;s--;){var c=t.pop(),h=l[c];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"IP[]",c,e,"<->",n),a.interpolate(h,i,o,u),a.touch(h)}r.loop=1}function i4(r,t){var e=t.stack,n=e.pop()/64,s=e.pop(),i=t.z1[s],o=t.z0[t.rp0],a=t.fv,u=t.pv;a.setRelative(i,o,n,u),a.touch(i),exports.DEBUG&&console.log(t.step,"MSIRP["+r+"]",n,s),t.rp1=t.rp0,t.rp2=s,r&&(t.rp0=s)}function hm(r){for(var t=r.stack,e=r.rp0,n=r.z0[e],s=r.loop,i=r.fv,o=r.pv,a=r.z1;s--;){var u=t.pop(),l=a[u];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"ALIGNRP[]",u),i.setRelative(l,n,0,o),i.touch(l)}r.loop=1}function fm(r){exports.DEBUG&&console.log(r.step,"RTDG[]"),r.round=Ov}function o4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z0[s],o=t.fv,a=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+r+"]",n,"(",u,")",s);var l=a.distance(i,x2);r&&(Math.abs(l-u)<t.cvCutIn&&(l=u),l=t.round(l)),o.setRelative(i,x2,l,a),t.zp0===0&&(i.xo=i.x,i.yo=i.y),o.touch(i),t.rp0=t.rp1=s}function dm(r){var t=r.prog,e=r.ip,n=r.stack,s=t[++e];exports.DEBUG&&console.log(r.step,"NPUSHB[]",s);for(var i=0;i<s;i++)n.push(t[++e]);r.ip=e}function pm(r){var t=r.ip,e=r.prog,n=r.stack,s=e[++t];exports.DEBUG&&console.log(r.step,"NPUSHW[]",s);for(var i=0;i<s;i++){var o=e[++t]<<8|e[++t];o&32768&&(o=-((o^65535)+1)),n.push(o)}r.ip=t}function gm(r){var t=r.stack,e=r.store;e||(e=r.store=[]);var n=t.pop(),s=t.pop();exports.DEBUG&&console.log(r.step,"WS",n,s),e[s]=n}function Dm(r){var t=r.stack,e=r.store,n=t.pop();exports.DEBUG&&console.log(r.step,"RS",n);var s=e&&e[n]||0;t.push(s)}function _m(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"WCVTP",e,n),r.cvt[n]=e/64}function vm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"RCVT",e),t.push(r.cvt[e]*64)}function a4(r,t){var e=t.stack,n=e.pop(),s=t.z2[n];exports.DEBUG&&console.log(t.step,"GC["+r+"]",n),e.push(t.dpv.distance(s,x2,r,!1)*64)}function u4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z1[n],o=t.z0[s],a=t.dpv.distance(o,i,r,r);exports.DEBUG&&console.log(t.step,"MD["+r+"]",n,s,"->",a),t.stack.push(Math.round(a*64))}function mm(r){exports.DEBUG&&console.log(r.step,"MPPEM[]"),r.stack.push(r.ppem)}function bm(r){exports.DEBUG&&console.log(r.step,"FLIPON[]"),r.autoFlip=!0}function ym(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LT[]",e,n),t.push(n<e?1:0)}function Fm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LTEQ[]",e,n),t.push(n<=e?1:0)}function Cm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"GT[]",e,n),t.push(n>e?1:0)}function Em(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"GTEQ[]",e,n),t.push(n>=e?1:0)}function Sm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"EQ[]",e,n),t.push(e===n?1:0)}function Tm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"NEQ[]",e,n),t.push(e!==n?1:0)}function xm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"ODD[]",e),t.push(Math.trunc(e)%2?1:0)}function Bm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"EVEN[]",e),t.push(Math.trunc(e)%2?0:1)}function Om(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"IF[]",t),t||(Sn(r,!0),exports.DEBUG&&console.log(r.step,"EIF[]"))}function wm(r){exports.DEBUG&&console.log(r.step,"EIF[]")}function Am(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"AND[]",e,n),t.push(e&&n?1:0)}function Rm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"OR[]",e,n),t.push(e||n?1:0)}function km(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"NOT[]",e),t.push(e?0:1)}function Nt(r,t){var e=t.stack,n=e.pop(),s=t.fv,i=t.pv,o=t.ppem,a=t.deltaBase+(r-1)*16,u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+r+"]",n,e);for(var c=0;c<n;c++){var h=e.pop(),f=e.pop(),p=a+((f&240)>>4);if(p===o){var _=(f&15)-8;_>=0&&_++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",_*u);var m=l[h];s.setRelative(m,m,_*u,i)}}}function Im(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"SDB[]",e),r.deltaBase=e}function Lm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"SDS[]",e),r.deltaShift=Math.pow(.5,e)}function Mm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"ADD[]",e,n),t.push(n+e)}function Pm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SUB[]",e,n),t.push(n-e)}function Nm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"DIV[]",e,n),t.push(n*64/e)}function Um(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MUL[]",e,n),t.push(n*e/64)}function $m(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"ABS[]",e),t.push(Math.abs(e))}function Hm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"NEG[]",e),t.push(-e)}function Gm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"FLOOR[]",e),t.push(Math.floor(e/64)*64)}function zm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"CEILING[]",e),t.push(Math.ceil(e/64)*64)}function j2(r,t){var e=t.stack,n=e.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),e.push(t.round(n/64)*64)}function Xm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"WCVTF[]",e,n),r.cvt[n]=e*r.ppem/r.font.unitsPerEm}function Ut(r,t){var e=t.stack,n=e.pop(),s=t.ppem,i=t.deltaBase+(r-1)*16,o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+r+"]",n,e);for(var a=0;a<n;a++){var u=e.pop(),l=e.pop(),c=i+((l&240)>>4);if(c===s){var h=(l&15)-8;h>=0&&h++;var f=h*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",f),t.cvt[u]+=f}}}function Wm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SROUND[]",t),r.round=En;var e;switch(t&192){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function Ym(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"S45ROUND[]",t),r.round=En;var e;switch(t&192){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function Vm(r){exports.DEBUG&&console.log(r.step,"ROFF[]"),r.round=Bv}function jm(r){exports.DEBUG&&console.log(r.step,"RUTG[]"),r.round=Av}function Km(r){exports.DEBUG&&console.log(r.step,"RDTG[]"),r.round=Rv}function qm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCANCTRL[]",t)}function l4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.dpv=M2(a,u)}function Zm(r){var t=r.stack,e=t.pop(),n=0;exports.DEBUG&&console.log(r.step,"GETINFO[]",e),e&1&&(n=35),e&32&&(n|=4096),t.push(n)}function Jm(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop();exports.DEBUG&&console.log(r.step,"ROLL[]"),t.push(n),t.push(e),t.push(s)}function Qm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MAX[]",e,n),t.push(Math.max(n,e))}function eb(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MIN[]",e,n),t.push(Math.min(n,e))}function tb(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCANTYPE[]",t)}function nb(r){var t=r.stack.pop(),e=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"INSTCTRL[]",t,e),t){case 1:r.inhibitGridFit=!!e;return;case 2:r.ignoreCvt=!!e;return;default:throw new Error("invalid INSTCTRL[] selector")}}function fe(r,t){var e=t.stack,n=t.prog,s=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+r+"]");for(var i=0;i<r;i++)e.push(n[++s]);t.ip=s}function de(r,t){var e=t.ip,n=t.prog,s=t.stack;exports.DEBUG&&console.log(t.ip,"PUSHW["+r+"]");for(var i=0;i<r;i++){var o=n[++e]<<8|n[++e];o&32768&&(o=-((o^65535)+1)),s.push(o)}t.ip=e}function W(r,t,e,n,s,i){var o=i.stack,a=r&&o.pop(),u=o.pop(),l=i.rp0,c=i.z0[l],h=i.z1[u],f=i.minDis,p=i.fv,_=i.dpv,m,v,y,C;v=m=_.distance(h,c,!0,!0),y=v>=0?1:-1,v=Math.abs(v),r&&(C=i.cvt[a],n&&Math.abs(v-C)<i.cvCutIn&&(v=C)),e&&v<f&&(v=f),n&&(v=i.round(v)),p.setRelative(h,c,y*v,_),p.touch(h),exports.DEBUG&&console.log(i.step,(r?"MIRP[":"MDRP[")+(t?"M":"m")+(e?">":"_")+(n?"R":"_")+(s===0?"Gr":s===1?"Bl":s===2?"Wh":"")+"]",r?a+"("+i.cvt[a]+","+C+")":"",u,"(d =",m,"->",y*v,")"),i.rp1=i.rp0,i.rp2=u,t&&(i.rp0=u)}bn=[K0.bind(void 0,ie),K0.bind(void 0,j1),q0.bind(void 0,ie),q0.bind(void 0,j1),Z0.bind(void 0,ie),Z0.bind(void 0,j1),J0.bind(void 0,0),J0.bind(void 0,1),Q0.bind(void 0,0),Q0.bind(void 0,1),Iv,Lv,Mv,Pv,Nv,Uv,$v,Hv,Gv,zv,Xv,Wv,Yv,Vv,jv,Kv,qv,Zv,Jv,Qv,void 0,void 0,em,Pt,tm,nm,rm,om,am,void 0,void 0,void 0,sm,im,um,void 0,e4.bind(void 0,0),e4.bind(void 0,1),t4.bind(void 0,ie),t4.bind(void 0,j1),n4.bind(void 0,0),n4.bind(void 0,1),r4.bind(void 0,0),r4.bind(void 0,1),s4.bind(void 0,0),s4.bind(void 0,1),lm,cm,i4.bind(void 0,0),i4.bind(void 0,1),hm,fm,o4.bind(void 0,0),o4.bind(void 0,1),dm,pm,gm,Dm,_m,vm,a4.bind(void 0,0),a4.bind(void 0,1),void 0,u4.bind(void 0,0),u4.bind(void 0,1),mm,void 0,bm,void 0,void 0,ym,Fm,Cm,Em,Sm,Tm,xm,Bm,Om,wm,Am,Rm,km,Nt.bind(void 0,1),Im,Lm,Mm,Pm,Nm,Um,$m,Hm,Gm,zm,j2.bind(void 0,0),j2.bind(void 0,1),j2.bind(void 0,2),j2.bind(void 0,3),void 0,void 0,void 0,void 0,Xm,Nt.bind(void 0,2),Nt.bind(void 0,3),Ut.bind(void 0,1),Ut.bind(void 0,2),Ut.bind(void 0,3),Wm,Ym,void 0,void 0,Vm,void 0,jm,Km,Pt,Pt,void 0,void 0,void 0,void 0,void 0,qm,l4.bind(void 0,0),l4.bind(void 0,1),Zm,void 0,Jm,Qm,eb,tb,nb,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,fe.bind(void 0,1),fe.bind(void 0,2),fe.bind(void 0,3),fe.bind(void 0,4),fe.bind(void 0,5),fe.bind(void 0,6),fe.bind(void 0,7),fe.bind(void 0,8),de.bind(void 0,1),de.bind(void 0,2),de.bind(void 0,3),de.bind(void 0,4),de.bind(void 0,5),de.bind(void 0,6),de.bind(void 0,7),de.bind(void 0,8),W.bind(void 0,0,0,0,0,0),W.bind(void 0,0,0,0,0,1),W.bind(void 0,0,0,0,0,2),W.bind(void 0,0,0,0,0,3),W.bind(void 0,0,0,0,1,0),W.bind(void 0,0,0,0,1,1),W.bind(void 0,0,0,0,1,2),W.bind(void 0,0,0,0,1,3),W.bind(void 0,0,0,1,0,0),W.bind(void 0,0,0,1,0,1),W.bind(void 0,0,0,1,0,2),W.bind(void 0,0,0,1,0,3),W.bind(void 0,0,0,1,1,0),W.bind(void 0,0,0,1,1,1),W.bind(void 0,0,0,1,1,2),W.bind(void 0,0,0,1,1,3),W.bind(void 0,0,1,0,0,0),W.bind(void 0,0,1,0,0,1),W.bind(void 0,0,1,0,0,2),W.bind(void 0,0,1,0,0,3),W.bind(void 0,0,1,0,1,0),W.bind(void 0,0,1,0,1,1),W.bind(void 0,0,1,0,1,2),W.bind(void 0,0,1,0,1,3),W.bind(void 0,0,1,1,0,0),W.bind(void 0,0,1,1,0,1),W.bind(void 0,0,1,1,0,2),W.bind(void 0,0,1,1,0,3),W.bind(void 0,0,1,1,1,0),W.bind(void 0,0,1,1,1,1),W.bind(void 0,0,1,1,1,2),W.bind(void 0,0,1,1,1,3),W.bind(void 0,1,0,0,0,0),W.bind(void 0,1,0,0,0,1),W.bind(void 0,1,0,0,0,2),W.bind(void 0,1,0,0,0,3),W.bind(void 0,1,0,0,1,0),W.bind(void 0,1,0,0,1,1),W.bind(void 0,1,0,0,1,2),W.bind(void 0,1,0,0,1,3),W.bind(void 0,1,0,1,0,0),W.bind(void 0,1,0,1,0,1),W.bind(void 0,1,0,1,0,2),W.bind(void 0,1,0,1,0,3),W.bind(void 0,1,0,1,1,0),W.bind(void 0,1,0,1,1,1),W.bind(void 0,1,0,1,1,2),W.bind(void 0,1,0,1,1,3),W.bind(void 0,1,1,0,0,0),W.bind(void 0,1,1,0,0,1),W.bind(void 0,1,1,0,0,2),W.bind(void 0,1,1,0,0,3),W.bind(void 0,1,1,0,1,0),W.bind(void 0,1,1,0,1,1),W.bind(void 0,1,1,0,1,2),W.bind(void 0,1,1,0,1,3),W.bind(void 0,1,1,1,0,0),W.bind(void 0,1,1,1,0,1),W.bind(void 0,1,1,1,0,2),W.bind(void 0,1,1,1,0,3),W.bind(void 0,1,1,1,1,0),W.bind(void 0,1,1,1,1,1),W.bind(void 0,1,1,1,1,2),W.bind(void 0,1,1,1,1,3)];function r2(r){this.char=r,this.state={},this.activeState=null}function n0(r,t,e){this.contextName=e,this.startIndex=r,this.endOffset=t}function rb(r,t,e){this.contextName=r,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=e}function N1(r,t){this.context=r,this.index=t,this.length=r.length,this.current=r[t],this.backtrack=r.slice(0,t),this.lookahead=r.slice(t+1)}function Ft(r){this.eventId=r,this.subscribers=[]}function sb(r){var t=this,e=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];e.forEach(function(s){Object.defineProperty(t.events,s,{value:new Ft(s)})}),r&&e.forEach(function(s){var i=r[s];typeof i=="function"&&t.events[s].subscribe(i)});var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach(function(s){t.events[s].subscribe(t.updateContextsRanges)})}function l1(r){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],sb.call(this,r)}r2.prototype.setState=function(r,t){return this.state[r]=t,this.activeState={key:r,value:this.state[r]},this.activeState};r2.prototype.getState=function(r){return this.state[r]||null};l1.prototype.inboundIndex=function(r){return r>=0&&r<this.tokens.length};l1.prototype.composeRUD=function(r){var t=this,e=!0,n=r.map(function(i){return t[i[0]].apply(t,i.slice(1).concat(e))}),s=function(i){return typeof i=="object"&&i.hasOwnProperty("FAIL")};if(n.every(s))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:n.filter(s)};this.dispatch("composeRUD",[n.filter(function(i){return!s(i)})])};l1.prototype.replaceRange=function(r,t,e,n){t=t!==null?t:this.tokens.length;var s=e.every(function(o){return o instanceof r2});if(!isNaN(r)&&this.inboundIndex(r)&&s){var i=this.tokens.splice.apply(this.tokens,[r,t].concat(e));return n||this.dispatch("replaceToken",[r,t,e]),[i,e]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}};l1.prototype.replaceToken=function(r,t,e){if(!isNaN(r)&&this.inboundIndex(r)&&t instanceof r2){var n=this.tokens.splice(r,1,t);return e||this.dispatch("replaceToken",[r,t]),[n[0],t]}else return{FAIL:"replaceToken: invalid token or index."}};l1.prototype.removeRange=function(r,t,e){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(r,t);return e||this.dispatch("removeRange",[n,r,t]),n};l1.prototype.removeToken=function(r,t){if(!isNaN(r)&&this.inboundIndex(r)){var e=this.tokens.splice(r,1);return t||this.dispatch("removeToken",[e,r]),e}else return{FAIL:"removeToken: invalid token index."}};l1.prototype.insertToken=function(r,t,e){var n=r.every(function(s){return s instanceof r2});return n?(this.tokens.splice.apply(this.tokens,[t,0].concat(r)),e||this.dispatch("insertToken",[r,t]),r):{FAIL:"insertToken: invalid token(s)."}};l1.prototype.registerModifier=function(r,t,e){this.events.newToken.subscribe(function(n,s){var i=[n,s],o=t===null||t.apply(this,i)===!0,a=[n,s];if(o){var u=e.apply(this,a);n.setState(r,u)}}),this.registeredModifiers.push(r)};Ft.prototype.subscribe=function(r){return typeof r=="function"?this.subscribers.push(r)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}};Ft.prototype.unsubscribe=function(r){this.subscribers.splice(r,1)};N1.prototype.setCurrentIndex=function(r){this.index=r,this.current=this.context[r],this.backtrack=this.context.slice(0,r),this.lookahead=this.context.slice(r+1)};N1.prototype.get=function(r){switch(!0){case r===0:return this.current;case(r<0&&Math.abs(r)<=this.backtrack.length):return this.backtrack.slice(r)[0];case(r>0&&r<=this.lookahead.length):return this.lookahead[r-1];default:return null}};l1.prototype.rangeToText=function(r){if(r instanceof n0)return this.getRangeTokens(r).map(function(t){return t.char}).join("")};l1.prototype.getText=function(){return this.tokens.map(function(r){return r.char}).join("")};l1.prototype.getContext=function(r){var t=this.registeredContexts[r];return t||null};l1.prototype.on=function(r,t){var e=this.events[r];return e?e.subscribe(t):null};l1.prototype.dispatch=function(r,t){var e=this,n=this.events[r];n instanceof Ft&&n.subscribers.forEach(function(s){s.apply(e,t||[])})};l1.prototype.registerContextChecker=function(r,t,e){if(this.getContext(r))return{FAIL:"context name '"+r+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof e!="function")return{FAIL:"missing context end check."};var n=new rb(r,t,e);return this.registeredContexts[r]=n,this.contextCheckers.push(n),n};l1.prototype.getRangeTokens=function(r){var t=r.startIndex+r.endOffset;return[].concat(this.tokens.slice(r.startIndex,t))};l1.prototype.getContextRanges=function(r){var t=this.getContext(r);return t?t.ranges:{FAIL:"context checker '"+r+"' is not registered."}};l1.prototype.resetContextsRanges=function(){var r=this.registeredContexts;for(var t in r)if(r.hasOwnProperty(t)){var e=r[t];e.ranges=[]}};l1.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var r=this.tokens.map(function(n){return n.char}),t=0;t<r.length;t++){var e=new N1(r,t);this.runContextCheck(e)}this.dispatch("updateContextsRanges",[this.registeredContexts])};l1.prototype.setEndOffset=function(r,t){var e=this.getContext(t).openRange.startIndex,n=new n0(e,r,t),s=this.getContext(t).ranges;return n.rangeId=t+"."+s.length,s.push(n),this.getContext(t).openRange=null,n};l1.prototype.runContextCheck=function(r){var t=this,e=r.index;this.contextCheckers.forEach(function(n){var s=n.contextName,i=t.getContext(s).openRange;if(!i&&n.checkStart(r)&&(i=new n0(e,null,s),t.getContext(s).openRange=i,t.dispatch("contextStart",[s,e])),i&&n.checkEnd(r)){var o=e-i.startIndex+1,a=t.setEndOffset(o,s);t.dispatch("contextEnd",[s,a])}})};l1.prototype.tokenize=function(r){this.tokens=[],this.resetContextsRanges();var t=Array.from(r);this.dispatch("start");for(var e=0;e<t.length;e++){var n=t[e],s=new N1(t,e);this.dispatch("next",[s]),this.runContextCheck(s);var i=new r2(n);this.tokens.push(i),this.dispatch("newToken",[i,s])}return this.dispatch("end",[this.tokens]),this.tokens};function De(r){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(r)}function Tn(r){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(r)}function me(r){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(r)}function et(r){return/[A-z]/.test(r)}function ib(r){return/\s/.test(r)}function I1(r){this.font=r,this.features={}}function Oe(r){this.id=r.id,this.tag=r.tag,this.substitution=r.substitution}function P2(r,t){if(!r)return-1;switch(t.format){case 1:return t.glyphs.indexOf(r);case 2:for(var e=t.ranges,n=0;n<e.length;n++){var s=e[n];if(r>=s.start&&r<=s.end){var i=r-s.start;return s.index+i}}break;default:return-1}return-1}function ob(r,t){var e=P2(r,t.coverage);return e===-1?null:r+t.deltaGlyphId}function ab(r,t){var e=P2(r,t.coverage);return e===-1?null:t.substitute[e]}function $t(r,t){for(var e=[],n=0;n<r.length;n++){var s=r[n],i=t.current;i=Array.isArray(i)?i[0]:i;var o=P2(i,s);o!==-1&&e.push(o)}return e.length!==r.length?-1:e}function ub(r,t){var e=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(r.context.length<e)return[];var n=$t(t.inputCoverage,r);if(n===-1)return[];var s=t.inputCoverage.length-1;if(r.lookahead.length<t.lookaheadCoverage.length)return[];for(var i=r.lookahead.slice(s);i.length&&me(i[0].char);)i.shift();var o=new N1(i,0),a=$t(t.lookaheadCoverage,o),u=[].concat(r.backtrack);for(u.reverse();u.length&&me(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new N1(u,0),c=$t(t.backtrackCoverage,l),h=n.length===t.inputCoverage.length&&a.length===t.lookaheadCoverage.length&&c.length===t.backtrackCoverage.length,f=[];if(h)for(var p=0;p<t.lookupRecords.length;p++)for(var _=t.lookupRecords[p],m=_.lookupListIndex,v=this.getLookupByIndex(m),y=0;y<v.subtables.length;y++){var C=v.subtables[y],E=this.getLookupMethod(v,C),x=this.getSubstitutionType(v,C);if(x==="12")for(var T=0;T<n.length;T++){var O=r.get(T),B=E(O);B&&f.push(B)}}return f}function lb(r,t){var e=r.current,n=P2(e,t.coverage);if(n===-1)return null;for(var s,i=t.ligatureSets[n],o=0;o<i.length;o++){s=i[o];for(var a=0;a<s.components.length;a++){var u=r.lookahead[a],l=s.components[a];if(u!==l)break;if(a===s.components.length-1)return s}}return null}function cb(r,t){var e=P2(r,t.coverage);return e===-1?null:t.sequences[e]}I1.prototype.getDefaultScriptFeaturesIndexes=function(){for(var r=this.font.tables.gsub.scripts,t=0;t<r.length;t++){var e=r[t];if(e.tag==="DFLT")return e.script.defaultLangSys.featureIndexes}return[]};I1.prototype.getScriptFeaturesIndexes=function(r){var t=this.font.tables;if(!t.gsub)return[];if(!r)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,n=0;n<e.length;n++){var s=e[n];if(s.tag===r&&s.script.defaultLangSys)return s.script.defaultLangSys.featureIndexes;var i=s.langSysRecords;if(i)for(var o=0;o<i.length;o++){var a=i[o];if(a.tag===r){var u=a.langSys;return u.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()};I1.prototype.mapTagsToFeatures=function(r,t){for(var e={},n=0;n<r.length;n++){var s=r[n].tag,i=r[n].feature;e[s]=i}this.features[t].tags=e};I1.prototype.getScriptFeatures=function(r){var t=this.features[r];if(this.features.hasOwnProperty(r))return t;var e=this.getScriptFeaturesIndexes(r);if(!e)return null;var n=this.font.tables.gsub;return t=e.map(function(s){return n.features[s]}),this.features[r]=t,this.mapTagsToFeatures(t,r),t};I1.prototype.getSubstitutionType=function(r,t){var e=r.lookupType.toString(),n=t.substFormat.toString();return e+n};I1.prototype.getLookupMethod=function(r,t){var e=this,n=this.getSubstitutionType(r,t);switch(n){case"11":return function(s){return ob.apply(e,[s,t])};case"12":return function(s){return ab.apply(e,[s,t])};case"63":return function(s){return ub.apply(e,[s,t])};case"41":return function(s){return lb.apply(e,[s,t])};case"21":return function(s){return cb.apply(e,[s,t])};default:throw new Error("lookupType: "+r.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}};I1.prototype.lookupFeature=function(r){var t=r.contextParams,e=t.index,n=this.getFeature({tag:r.tag,script:r.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+r.tag+"' for script '"+r.script+"'.");for(var s=this.getFeatureLookups(n),i=[].concat(t.context),o=0;o<s.length;o++)for(var a=s[o],u=this.getLookupSubtables(a),l=0;l<u.length;l++){var c=u[l],h=this.getSubstitutionType(a,c),f=this.getLookupMethod(a,c),p=void 0;switch(h){case"11":p=f(t.current),p&&i.splice(e,1,new Oe({id:11,tag:r.tag,substitution:p}));break;case"12":p=f(t.current),p&&i.splice(e,1,new Oe({id:12,tag:r.tag,substitution:p}));break;case"63":p=f(t),Array.isArray(p)&&p.length&&i.splice(e,1,new Oe({id:63,tag:r.tag,substitution:p}));break;case"41":p=f(t),p&&i.splice(e,1,new Oe({id:41,tag:r.tag,substitution:p}));break;case"21":p=f(t.current),p&&i.splice(e,1,new Oe({id:21,tag:r.tag,substitution:p}));break}t=new N1(i,e),!(Array.isArray(p)&&!p.length)&&(p=null)}return i.length?i:null};I1.prototype.supports=function(r){if(!r.script)return!1;this.getScriptFeatures(r.script);var t=this.features.hasOwnProperty(r.script);if(!r.tag)return t;var e=this.features[r.script].some(function(n){return n.tag===r.tag});return t&&e};I1.prototype.getLookupSubtables=function(r){return r.subtables||null};I1.prototype.getLookupByIndex=function(r){var t=this.font.tables.gsub.lookups;return t[r]||null};I1.prototype.getFeatureLookups=function(r){return r.lookupListIndexes.map(this.getLookupByIndex.bind(this))};I1.prototype.getFeature=function(t){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(t.script)||this.getScriptFeatures(t.script);var e=this.features[t.script];return e?e.tags[t.tag]?this.features[t.script].tags[t.tag]:null:{FAIL:"No feature for script "+t.script}};function hb(r){var t=r.current,e=r.get(-1);return e===null&&De(t)||!De(e)&&De(t)}function fb(r){var t=r.get(1);return t===null||!De(t)}var db={startCheck:hb,endCheck:fb};function pb(r){var t=r.current,e=r.get(-1);return(De(t)||me(t))&&!De(e)}function gb(r){var t=r.get(1);switch(!0){case t===null:return!0;case(!De(t)&&!me(t)):var e=ib(t);if(!e)return!0;if(e){var n=!1;if(n=r.lookahead.some(function(s){return De(s)||me(s)}),!n)return!0}break;default:return!1}}var Db={startCheck:pb,endCheck:gb};function _b(r,t,e){t[e].setState(r.tag,r.substitution)}function vb(r,t,e){t[e].setState(r.tag,r.substitution)}function mb(r,t,e){r.substitution.forEach(function(n,s){var i=t[e+s];i.setState(r.tag,n)})}function bb(r,t,e){var n=t[e];n.setState(r.tag,r.substitution.ligGlyph);for(var s=r.substitution.components.length,i=0;i<s;i++)n=t[e+i+1],n.setState("deleted",!0)}var c4={11:_b,12:vb,63:mb,41:bb};function r0(r,t,e){r instanceof Oe&&c4[r.id]&&c4[r.id](r,t,e)}function yb(r){for(var t=[].concat(r.backtrack),e=t.length-1;e>=0;e--){var n=t[e],s=Tn(n),i=me(n);if(!s&&!i)return!0;if(s)return!1}return!1}function Fb(r){if(Tn(r.current))return!1;for(var t=0;t<r.lookahead.length;t++){var e=r.lookahead[t],n=me(e);if(!n)return!0}return!1}function Cb(r){var t=this,e="arab",n=this.featuresTags[e],s=this.tokenizer.getRangeTokens(r);if(s.length!==1){var i=new N1(s.map(function(a){return a.getState("glyphIndex")}),0),o=new N1(s.map(function(a){return a.char}),0);s.forEach(function(a,u){if(!me(a.char)){i.setCurrentIndex(u),o.setCurrentIndex(u);var l=0;yb(o)&&(l|=1),Fb(o)&&(l|=2);var c;switch(l){case 1:c="fina";break;case 2:c="init";break;case 3:c="medi";break}if(n.indexOf(c)!==-1){var h=t.query.lookupFeature({tag:c,script:e,contextParams:i});if(h instanceof Error)return console.info(h.message);h.forEach(function(f,p){f instanceof Oe&&(r0(f,s,p),i.context[p]=f.substitution)})}}})}}function h4(r,t){var e=r.map(function(n){return n.activeState.value});return new N1(e,t||0)}function Eb(r){var t=this,e="arab",n=this.tokenizer.getRangeTokens(r),s=h4(n);s.context.forEach(function(i,o){s.setCurrentIndex(o);var a=t.query.lookupFeature({tag:"rlig",script:e,contextParams:s});a.length&&(a.forEach(function(u){return r0(u,n,o)}),s=h4(n))})}function Sb(r){var t=r.current,e=r.get(-1);return e===null&&et(t)||!et(e)&&et(t)}function Tb(r){var t=r.get(1);return t===null||!et(t)}var xb={startCheck:Sb,endCheck:Tb};function f4(r,t){var e=r.map(function(n){return n.activeState.value});return new N1(e,t||0)}function Bb(r){var t=this,e="latn",n=this.tokenizer.getRangeTokens(r),s=f4(n);s.context.forEach(function(i,o){s.setCurrentIndex(o);var a=t.query.lookupFeature({tag:"liga",script:e,contextParams:s});a.length&&(a.forEach(function(u){return r0(u,n,o)}),s=f4(n))})}function H1(r){this.baseDir=r||"ltr",this.tokenizer=new l1,this.featuresTags={}}H1.prototype.setText=function(r){this.text=r};H1.prototype.contextChecks={latinWordCheck:xb,arabicWordCheck:db,arabicSentenceCheck:Db};function Ht(r){var t=this.contextChecks[r+"Check"];return this.tokenizer.registerContextChecker(r,t.startCheck,t.endCheck)}function Ob(){return Ht.call(this,"latinWord"),Ht.call(this,"arabicWord"),Ht.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function wb(){var r=this,t=this.tokenizer.getContextRanges("arabicSentence");t.forEach(function(e){var n=r.tokenizer.getRangeTokens(e);r.tokenizer.replaceRange(e.startIndex,e.endOffset,n.reverse())})}H1.prototype.registerFeatures=function(r,t){var e=this,n=t.filter(function(s){return e.query.supports({script:r,tag:s})});this.featuresTags.hasOwnProperty(r)?this.featuresTags[r]=this.featuresTags[r].concat(n):this.featuresTags[r]=n};H1.prototype.applyFeatures=function(r,t){if(!r)throw new Error("No valid font was provided to apply features");this.query||(this.query=new I1(r));for(var e=0;e<t.length;e++){var n=t[e];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}};H1.prototype.registerModifier=function(r,t,e){this.tokenizer.registerModifier(r,t,e)};function s0(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function Ab(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){s0.call(this);var e=this.tokenizer.getContextRanges("arabicWord");e.forEach(function(n){Cb.call(r,n)})}}function Rb(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("rlig")!==-1){s0.call(this);var n=this.tokenizer.getContextRanges("arabicWord");n.forEach(function(s){Eb.call(r,s)})}}}function kb(){var r=this,t="latn";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("liga")!==-1){s0.call(this);var n=this.tokenizer.getContextRanges("latinWord");n.forEach(function(s){Bb.call(r,s)})}}}H1.prototype.checkContextReady=function(r){return!!this.tokenizer.getContext(r)};H1.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(Ab.call(this),Rb.call(this)),this.checkContextReady("latinWord")&&kb.call(this),this.checkContextReady("arabicSentence")&&wb.call(this)};H1.prototype.processText=function(r){(!this.text||this.text!==r)&&(this.setText(r),Ob.call(this),this.applyFeaturesToContexts())};H1.prototype.getBidiText=function(r){return this.processText(r),this.tokenizer.getText()};H1.prototype.getTextGlyphs=function(r){this.processText(r);for(var t=[],e=0;e<this.tokenizer.tokens.length;e++){var n=this.tokenizer.tokens[e];if(!n.state.deleted){var s=n.activeState.value;t.push(Array.isArray(s)?s[0]:s)}}return t};function r1(r){r=r||{},r.tables=r.tables||{},r.empty||(u2(r.familyName,"When creating a new Font object, familyName is required."),u2(r.styleName,"When creating a new Font object, styleName is required."),u2(r.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),u2(r.ascender,"When creating a new Font object, ascender is required."),u2(r.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:r.familyName||" "},fontSubfamily:{en:r.styleName||" "},fullName:{en:r.fullName||r.familyName+" "+r.styleName},postScriptName:{en:r.postScriptName||(r.familyName+r.styleName).replace(/\s/g,"")},designer:{en:r.designer||" "},designerURL:{en:r.designerURL||" "},manufacturer:{en:r.manufacturer||" "},manufacturerURL:{en:r.manufacturerURL||" "},license:{en:r.license||" "},licenseURL:{en:r.licenseURL||" "},version:{en:r.version||"Version 0.1"},description:{en:r.description||" "},copyright:{en:r.copyright||" "},trademark:{en:r.trademark||" "}},this.unitsPerEm=r.unitsPerEm||1e3,this.ascender=r.ascender,this.descender=r.descender,this.createdTimestamp=r.createdTimestamp,this.tables=Object.assign(r.tables,{os2:Object.assign({usWeightClass:r.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:r.widthClass||this.usWidthClasses.MEDIUM,fsSelection:r.fsSelection||this.fsSelectionValues.REGULAR},r.tables.os2)})),this.supported=!0,this.glyphs=new Z1.GlyphSet(this,r.glyphs||[]),this.encoding=new z7(this),this.position=new I2(this),this.substitution=new k1(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new Fn(this)}})}r1.prototype.hasChar=function(r){return this.encoding.charToGlyphIndex(r)!==null};r1.prototype.charToGlyphIndex=function(r){return this.encoding.charToGlyphIndex(r)};r1.prototype.charToGlyph=function(r){var t=this.charToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e};r1.prototype.updateFeatures=function(r){return this.defaultRenderOptions.features.map(function(t){return t.script==="latn"?{script:"latn",tags:t.tags.filter(function(e){return r[e]})}:t})};r1.prototype.stringToGlyphs=function(r,t){var e=this,n=new H1,s=function(h){return e.charToGlyphIndex(h.char)};n.registerModifier("glyphIndex",null,s);var i=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,i);for(var o=n.getTextGlyphs(r),a=o.length,u=new Array(a),l=this.glyphs.get(0),c=0;c<a;c+=1)u[c]=this.glyphs.get(o[c])||l;return u};r1.prototype.nameToGlyphIndex=function(r){return this.glyphNames.nameToGlyphIndex(r)};r1.prototype.nameToGlyph=function(r){var t=this.nameToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e};r1.prototype.glyphIndexToName=function(r){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(r):""};r1.prototype.getKerningValue=function(r,t){r=r.index||r,t=t.index||t;var e=this.position.defaultKerningTables;return e?this.position.getKerningValue(e,r,t):this.kerningPairs[r+","+t]||0};r1.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]};r1.prototype.forEachGlyph=function(r,t,e,n,s,i){t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:72,s=Object.assign({},this.defaultRenderOptions,s);var o=1/this.unitsPerEm*n,a=this.stringToGlyphs(r,s),u;if(s.kerning){var l=s.script||this.position.getDefaultScriptName();u=this.position.getKerningTables(l,s.language)}for(var c=0;c<a.length;c+=1){var h=a[c];if(i.call(this,h,t,e,n,s),h.advanceWidth&&(t+=h.advanceWidth*o),s.kerning&&c<a.length-1){var f=u?this.position.getKerningValue(u,h.index,a[c+1].index):this.getKerningValue(h,a[c+1]);t+=f*o}s.letterSpacing?t+=s.letterSpacing*n:s.tracking&&(t+=s.tracking/1e3*n)}return t};r1.prototype.getPath=function(r,t,e,n,s){var i=new d1;return this.forEachGlyph(r,t,e,n,s,function(o,a,u,l){var c=o.getPath(a,u,l,s,this);i.extend(c)}),i};r1.prototype.getPaths=function(r,t,e,n,s){var i=[];return this.forEachGlyph(r,t,e,n,s,function(o,a,u,l){var c=o.getPath(a,u,l,s,this);i.push(c)}),i};r1.prototype.getAdvanceWidth=function(r,t,e){return this.forEachGlyph(r,0,0,t,e,function(){})};r1.prototype.draw=function(r,t,e,n,s,i){this.getPath(t,e,n,s,i).draw(r)};r1.prototype.drawPoints=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(o,a,u,l){o.drawPoints(r,a,u,l)})};r1.prototype.drawMetrics=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(o,a,u,l){o.drawMetrics(r,a,u,l)})};r1.prototype.getEnglishName=function(r){var t=this.names[r];if(t)return t.en};r1.prototype.validate=function(){var r=this;function t(n,s){}function e(n){var s=r.getEnglishName(n);s&&s.trim().length>0}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm>0};r1.prototype.toTables=function(){return bv.fontToTable(this)};r1.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};r1.prototype.toArrayBuffer=function(){for(var r=this.toTables(),t=r.encode(),e=new ArrayBuffer(t.length),n=new Uint8Array(e),s=0;s<t.length;s++)n[s]=t[s];return e};r1.prototype.download=function(r){var t=this.getEnglishName("fontFamily"),e=this.getEnglishName("fontSubfamily");r=r||t.replace(/\s/g,"")+"-"+e+".otf";var n=this.toArrayBuffer();if(Fv())if(window.URL=window.URL||window.webkitURL,window.URL){var s=new DataView(n),i=new Blob([s],{type:"font/opentype"}),o=document.createElement("a");o.href=window.URL.createObjectURL(i),o.download=r;var a=document.createEvent("MouseEvents");a.initEvent("click",!0,!1),o.dispatchEvent(a)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var u=require("fs"),l=Cv(n);u.writeFileSync(r,l)}};r1.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512};r1.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9};r1.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};function xn(r,t){var e=JSON.stringify(r),n=256;for(var s in t){var i=parseInt(s);if(!(!i||i<256)){if(JSON.stringify(t[s])===e)return i;n<=i&&(n=i+1)}}return t[n]=r,n}function Ib(r,t,e){var n=xn(t.name,e);return[{name:"tag_"+r,type:"TAG",value:t.tag},{name:"minValue_"+r,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+r,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+r,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+r,type:"USHORT",value:0},{name:"nameID_"+r,type:"USHORT",value:n}]}function Lb(r,t,e){var n={},s=new Y.Parser(r,t);return n.tag=s.parseTag(),n.minValue=s.parseFixed(),n.defaultValue=s.parseFixed(),n.maxValue=s.parseFixed(),s.skip("uShort",1),n.name=e[s.parseUShort()]||{},n}function Mb(r,t,e,n){for(var s=xn(t.name,n),i=[{name:"nameID_"+r,type:"USHORT",value:s},{name:"flags_"+r,type:"USHORT",value:0}],o=0;o<e.length;++o){var a=e[o].tag;i.push({name:"axis_"+r+" "+a,type:"FIXED",value:t.coordinates[a]<<16})}return i}function Pb(r,t,e,n){var s={},i=new Y.Parser(r,t);s.name=n[i.parseUShort()]||{},i.skip("uShort",1),s.coordinates={};for(var o=0;o<e.length;++o)s.coordinates[e[o].tag]=i.parseFixed();return s}function Nb(r,t){var e=new G.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:r.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:r.instances.length},{name:"instanceSize",type:"USHORT",value:4+r.axes.length*4}]);e.offsetToData=e.sizeOf();for(var n=0;n<r.axes.length;n++)e.fields=e.fields.concat(Ib(n,r.axes[n],t));for(var s=0;s<r.instances.length;s++)e.fields=e.fields.concat(Mb(s,r.instances[s],r.axes,t));return e}function Ub(r,t,e){var n=new Y.Parser(r,t),s=n.parseULong();J.argument(s===65536,"Unsupported fvar table version.");var i=n.parseOffset16();n.skip("uShort",1);for(var o=n.parseUShort(),a=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),c=[],h=0;h<o;h++)c.push(Lb(r,t+i+h*a,e));for(var f=[],p=t+i+o*a,_=0;_<u;_++)f.push(Pb(r,p+_*l,c,e));return{axes:c,instances:f}}var $b={make:Nb,parse:Ub},Hb=function(){return{coverage:this.parsePointer(w.coverage),attachPoints:this.parseList(w.pointer(w.uShortList))}},Gb=function(){var r=this.parseUShort();if(J.argument(r===1||r===2||r===3,"Unsupported CaretValue table version."),r===1)return{coordinate:this.parseShort()};if(r===2)return{pointindex:this.parseShort()};if(r===3)return{coordinate:this.parseShort()}},zb=function(){return this.parseList(w.pointer(Gb))},Xb=function(){return{coverage:this.parsePointer(w.coverage),ligGlyphs:this.parseList(w.pointer(zb))}},Wb=function(){return this.parseUShort(),this.parseList(w.pointer(w.coverage))};function Yb(r,t){t=t||0;var e=new w(r,t),n=e.parseVersion(1);J.argument(n===1||n===1.2||n===1.3,"Unsupported GDEF table version.");var s={version:n,classDef:e.parsePointer(w.classDef),attachList:e.parsePointer(Hb),ligCaretList:e.parsePointer(Xb),markAttachClassDef:e.parsePointer(w.classDef)};return n>=1.2&&(s.markGlyphSets=e.parsePointer(Wb)),s}var Vb={parse:Yb},U1=new Array(10);U1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{posFormat:1,coverage:this.parsePointer(w.coverage),value:this.parseValueRecord()};if(e===2)return{posFormat:2,coverage:this.parsePointer(w.coverage),values:this.parseValueRecordList()};J.assert(!1,"0x"+t.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};U1[2]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();J.assert(e===1||e===2,"0x"+t.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(w.coverage),s=this.parseUShort(),i=this.parseUShort();if(e===1)return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,pairSets:this.parseList(w.pointer(w.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}})))};if(e===2){var o=this.parsePointer(w.classDef),a=this.parsePointer(w.classDef),u=this.parseUShort(),l=this.parseUShort();return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,classDef1:o,classDef2:a,class1Count:u,class2Count:l,classRecords:this.parseList(u,w.list(l,function(){return{value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}}))}}};U1[3]=function(){return{error:"GPOS Lookup 3 not supported"}};U1[4]=function(){return{error:"GPOS Lookup 4 not supported"}};U1[5]=function(){return{error:"GPOS Lookup 5 not supported"}};U1[6]=function(){return{error:"GPOS Lookup 6 not supported"}};U1[7]=function(){return{error:"GPOS Lookup 7 not supported"}};U1[8]=function(){return{error:"GPOS Lookup 8 not supported"}};U1[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function jb(r,t){t=t||0;var e=new w(r,t),n=e.parseVersion(1);return J.argument(n===1||n===1.1,"Unsupported GPOS table version "+n),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(U1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(U1),variations:e.parseFeatureVariationsList()}}var Kb=new Array(10);function qb(r){return new G.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new G.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new G.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new G.LookupList(r.lookups,Kb)}])}var Zb={parse:jb,make:qb};function Jb(r){var t={};r.skip("uShort");var e=r.parseUShort();J.argument(e===0,"Unsupported kern sub-table version."),r.skip("uShort",2);var n=r.parseUShort();r.skip("uShort",3);for(var s=0;s<n;s+=1){var i=r.parseUShort(),o=r.parseUShort(),a=r.parseShort();t[i+","+o]=a}return t}function Qb(r){var t={};r.skip("uShort");var e=r.parseULong();e>1&&console.warn("Only the first kern subtable is supported."),r.skip("uLong");var n=r.parseUShort(),s=n&255;if(r.skip("uShort"),s===0){var i=r.parseUShort();r.skip("uShort",3);for(var o=0;o<i;o+=1){var a=r.parseUShort(),u=r.parseUShort(),l=r.parseShort();t[a+","+u]=l}}return t}function ey(r,t){var e=new Y.Parser(r,t),n=e.parseUShort();if(n===0)return Jb(e);if(n===1)return Qb(e);throw new Error("Unsupported kern table version ("+n+").")}var ty={parse:ey};function ny(r,t,e,n){for(var s=new Y.Parser(r,t),i=n?s.parseUShort:s.parseULong,o=[],a=0;a<e+1;a+=1){var u=i.call(s);n&&(u*=2),o.push(u)}return o}var ry={parse:ny};function sy(r,t){var e=require("fs");e.readFile(r,function(n,s){if(n)return t(n.message);t(null,gn(s))})}function iy(r,t){var e=new XMLHttpRequest;e.open("get",r,!0),e.responseType="arraybuffer",e.onload=function(){return e.response?t(null,e.response):t("Font could not be loaded: "+e.statusText)},e.onerror=function(){t("Font could not be loaded")},e.send()}function d4(r,t){for(var e=[],n=12,s=0;s<t;s+=1){var i=Y.getTag(r,n),o=Y.getULong(r,n+4),a=Y.getULong(r,n+8),u=Y.getULong(r,n+12);e.push({tag:i,checksum:o,offset:a,length:u,compression:!1}),n+=16}return e}function oy(r,t){for(var e=[],n=44,s=0;s<t;s+=1){var i=Y.getTag(r,n),o=Y.getULong(r,n+4),a=Y.getULong(r,n+8),u=Y.getULong(r,n+12),l=void 0;a<u?l="WOFF":l=!1,e.push({tag:i,offset:o,compression:l,compressedLength:a,length:u}),n+=20}return e}function c1(r,t){if(t.compression==="WOFF"){var e=new Uint8Array(r.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(ZD(e,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");var s=new DataView(n.buffer,0);return{data:s,offset:0}}else return{data:r,offset:t.offset}}function i0(r,t){t=t==null?{}:t;var e,n,s=new r1({empty:!0}),i=new DataView(r,0),o,a=[],u=Y.getTag(i,0);if(u==="\0\0\0"||u==="true"||u==="typ1")s.outlinesFormat="truetype",o=Y.getUShort(i,4),a=d4(i,o);else if(u==="OTTO")s.outlinesFormat="cff",o=Y.getUShort(i,4),a=d4(i,o);else if(u==="wOFF"){var l=Y.getTag(i,4);if(l==="\0\0\0")s.outlinesFormat="truetype";else if(l==="OTTO")s.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+u);o=Y.getUShort(i,12),a=oy(i,o)}else throw new Error("Unsupported OpenType signature "+u);for(var c,h,f,p,_,m,v,y,C,E,x,T,O=0;O<o;O+=1){var B=a[O],S=void 0;switch(B.tag){case"cmap":S=c1(i,B),s.tables.cmap=G7.parse(S.data,S.offset),s.encoding=new X7(s.tables.cmap);break;case"cvt ":S=c1(i,B),T=new Y.Parser(S.data,S.offset),s.tables.cvt=T.parseShortList(B.length/2);break;case"fvar":h=B;break;case"fpgm":S=c1(i,B),T=new Y.Parser(S.data,S.offset),s.tables.fpgm=T.parseByteList(B.length);break;case"head":S=c1(i,B),s.tables.head=en.parse(S.data,S.offset),s.unitsPerEm=s.tables.head.unitsPerEm,e=s.tables.head.indexToLocFormat;break;case"hhea":S=c1(i,B),s.tables.hhea=tn.parse(S.data,S.offset),s.ascender=s.tables.hhea.ascender,s.descender=s.tables.hhea.descender,s.numberOfHMetrics=s.tables.hhea.numberOfHMetrics;break;case"hmtx":v=B;break;case"ltag":S=c1(i,B),n=rn.parse(S.data,S.offset);break;case"maxp":S=c1(i,B),s.tables.maxp=sn.parse(S.data,S.offset),s.numGlyphs=s.tables.maxp.numGlyphs;break;case"name":E=B;break;case"OS/2":S=c1(i,B),s.tables.os2=c6.parse(S.data,S.offset);break;case"post":S=c1(i,B),s.tables.post=hn.parse(S.data,S.offset),s.glyphNames=new J6(s.tables.post);break;case"prep":S=c1(i,B),T=new Y.Parser(S.data,S.offset),s.tables.prep=T.parseByteList(B.length);break;case"glyf":f=B;break;case"loca":C=B;break;case"CFF ":c=B;break;case"kern":y=B;break;case"GDEF":p=B;break;case"GPOS":_=B;break;case"GSUB":m=B;break;case"meta":x=B;break}}var A=c1(i,E);if(s.tables.name=cn.parse(A.data,A.offset,n),s.names=s.tables.name,f&&C){var k=e===0,R=c1(i,C),M=ry.parse(R.data,R.offset,s.numGlyphs,k),U=c1(i,f);s.glyphs=mn.parse(U.data,U.offset,M,s,t)}else if(c){var I=c1(i,c);Q7.parse(I.data,I.offset,s,t)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var L=c1(i,v);if(nn.parse(s,L.data,L.offset,s.numberOfHMetrics,s.numGlyphs,s.glyphs,t),v_(s,t),y){var $=c1(i,y);s.kerningPairs=ty.parse($.data,$.offset)}else s.kerningPairs={};if(p){var z=c1(i,p);s.tables.gdef=Vb.parse(z.data,z.offset)}if(_){var V=c1(i,_);s.tables.gpos=Zb.parse(V.data,V.offset),s.position.init()}if(m){var H=c1(i,m);s.tables.gsub=fn.parse(H.data,H.offset)}if(h){var Z=c1(i,h);s.tables.fvar=$b.parse(Z.data,Z.offset,s.names)}if(x){var e1=c1(i,x);s.tables.meta=dn.parse(e1.data,e1.offset),s.metas=s.tables.meta}return s}function ay(r,t,e){e=e==null?{}:e;var n=typeof window>"u",s=n&&!e.isUrl?sy:iy;return new Promise(function(i,o){s(r,function(a,u){if(a){if(t)return t(a);o(a)}var l;try{l=i0(u,e)}catch(c){if(t)return t(c,null);o(c)}if(t)return t(null,l);i(l)})})}function uy(r,t){var e=require("fs"),n=e.readFileSync(r);return i0(gn(n),t)}var ly=Object.freeze({__proto__:null,Font:r1,Glyph:R1,Path:d1,BoundingBox:le,_parse:Y,parse:i0,load:ay,loadSync:uy});function cy(r){const{family:t,style:e}=r;let n=0,s=400;switch(/italic/i.test(e)&&(n=1),!0){case/thin|hairline/i.test(e):{s=100;break}case/(extra|ultra) *light/i.test(e):{s=200;break}case/light/i.test(e):{s=300;break}case/medium/i.test(e):{s=500;break}case/(semi|demi) *bold/i.test(e):{s=600;break}case/bold/i.test(e):{s=700;break}case/(extra|ultra) *bold/i.test(e):{s=800;break}case/black|heavy/i.test(e):{s=900;break}}return{family:t,variant:{style:n,weight:s}}}function hy(r){const{ff:t,bl:e=g.BooleanNumber.FALSE,it:n=g.BooleanNumber.FALSE}=r;return{family:t!=null?t:"Arial",variant:{style:n===g.BooleanNumber.TRUE?1:0,weight:e===g.BooleanNumber.TRUE?700:400}}}function fy(r,t){let e=Number.POSITIVE_INFINITY;r.variant.style===t.variant.style?e=0:r.variant.style!==0&&t.variant.style!==0?e=1:e=2;const n=Math.abs(r.variant.weight-t.variant.weight);return[e,n]}function dy(r,t){return r[0]===t[0]&&r[1]===t[1]?0:r[0]===t[0]?r[1]>t[1]?1:2:r[0]>t[0]?1:2}async function py(){var t;return typeof window>"u"?void 0:window.navigator==null||((t=window.navigator)==null?void 0:t.permissions)==null?!1:(await window.navigator.permissions.query({name:"local-fonts"})).state==="granted"}class gy{constructor(){d(this,"isReady",!1);d(this,"_fontBook",new Map);this._loadFontsToBook()}async _loadFontsToBook(){if(!(this.isReady||!await py())&&"queryLocalFonts"in window)try{const e=await window.queryLocalFonts();for(const n of e){const{family:s,style:i}=n;let o=this._fontBook.get(s);o==null&&(o=new Map,this._fontBook.set(s,o));const u=await(await n.blob()).arrayBuffer();o.set(i,{font:n,buffer:u})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(t){const e=t.ff,n=this._fontBook.get(e);if(n==null)return;let s=null,i=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(const o of n.values()){const{font:a}=o,u=cy(a),l=hy(t),c=fy(u,l);(s==null||dy(i,c)===1)&&(s=o,i=c)}return s}getValidFontFamilies(t){return t.filter(e=>this._fontBook.has(e))}}const dt=new gy;function Dy(r,t){const{dataStream:e,paragraphs:n=[],textRuns:s=[]}=r;let i=0;for(let a=0;a<n.length;a++){const u=n[a],{startIndex:l}=u;if(l===t)break;i=l+1}const o=[];for(const a of s){const{st:u,ed:l}=a;u>=i&&u<=t?o.push({...a,st:u-i,ed:Math.min(l,t)-i}):l>=i&&l<=t&&o.push({...a,st:Math.max(u,i)-i,ed:l-i})}return{dataStream:e.substring(i,t+1),textRuns:o}}function _y(r){const{dataStream:t,textRuns:e=[]}=r;let n=0;const s=[];for(const i of e){const{st:o,ed:a,ts:u={}}=i;o!==n&&s.push({content:t.substring(n,o)}),s.push({content:t.substring(o,a),style:u}),n=a}return n!==t.length&&s.push({content:t.substring(n)}),s}const p4=new Map,Gt=new Map;function f6(r,t,e,n,s){var m,v,y,C;let i=0,o=n[i];for(;e.has(o);)i++,o=n[i];if(!o)return[{char:r,start:t,end:t+r.length,glyph:null,font:null,kerning:0,boundingBox:null}];e.add(o);const{font:a,buffer:u}=dt.findBestMatchFontByStyle({ff:o,bl:(m=s.bl)!=null?m:g.BooleanNumber.FALSE,it:(v=s.it)!=null?v:g.BooleanNumber.FALSE});let l=p4.get(a.fullName);l||(l=ly.parse(u),p4.set(a.fullName,l));const c=[],h=l.stringToGlyphs(r),f=(y=r.match(/[\s\S]/gu))!=null?y:[];let p=0,_=0;for(;p<h.length;){const E=h[p];if(E.index!==0)c.push({char:f[p],start:_+t,end:_+t+f[p].length,glyph:E,font:l,kerning:0,boundingBox:E.getBoundingBox()});else{const x=_,O=r.substring(x).match(rt);if(O){let B=0;do B+=f[p].length,_+=f[p].length,p++;while(B<O[0].length);c.push(...f6(r.slice(x,x+O[0].length),t+x,e,n,s));continue}else{let B=h[p+1],S=f[p+1];for(;(B==null?void 0:B.index)===0&&!rt.test(S);)_+=f[p].length,p++,B=h[p+1],S=f[p+1];c.push(...f6(r.slice(x,_+f[p].length),t+x,e,n,s))}}_+=(C=f[p])==null?void 0:C.length,p++}return e.delete(o),c}function vy(r){if(r.length<2)return;let t=r[0].font,e=r[0].glyph;for(let n=1;n<r.length;n++){const{font:s,glyph:i}=r[n];if(t!==s||s==null||e==null||i==null){t=s,e=i;continue}const o=s.getKerningValue(e,i);o!==0&&(r[n].kerning=o),t=s,e=i}}function my(r){var i;if(!dt.isReady)return[];const t=JSON.stringify(r);if(Gt.has(t))return Gt.get(t);const e=_y(r),n=[];let s=0;for(const o of e){const{content:a,style:u={}}=o;let l=O2.split(",").map(c=>c.trim().replace(/["']/g,""));l.unshift((i=u.ff)!=null?i:"Arial"),l=dt.getValidFontFamilies(l),n.push(...f6(a,s,new Set,l,u)),s+=a.length}return vy(n),Gt.set(t,n),n}function by(r,t,e,n,s,i){const o=[];let a=0;for(let u=0;u<t.length;u++){const l=t[u];if(j4(l)||st(t.substring(u)))break;const c=qe(r+u,e,n,s,i),h=Ye(l,c);o.push(h),a++}return{step:a,glyphGroup:o}}function yy(r,t,e,n,s,i){const o=qe(r,e,n,s,i),a=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(C6(c))a.unshift(c),u++;else break}return{step:u,glyphGroup:[Ye(a.join(""),o)]}}function Fy(r,t,e,n,s,i){const o=qe(r,e,n,s,i),a=t.match(rt);return{step:a[0].length,glyphGroup:[Ye(a[0],o)]}}function Cy(r,t,e,n,s,i){const o=qe(r,e,n,s,i),a=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(E6(c))a.push(c),u++;else break}return{step:u,glyphGroup:[HD(a.join(""),o)]}}function Ey(r){const t=r.length;for(let e=0;e<t-1;e++){const n=r[e],s=r[e+1],{width:i,content:o}=n,a=i/2;if(qt(o)&&qt(s.content)&&n.adjustability.shrinkability[1]+s.adjustability.shrinkability[0]>=a){const u=Math.min(n.adjustability.shrinkability[1],a);R7(n,u),k7(s,a-u)}}}function Sy(r){const t=r.flatMap(i=>i.glyphs);let e=null;const n=t.length,s=/[a-z\d]/i;for(let i=0;i<n;i++){const o=t[i],a=i<n-1?t[i+1]:null,{width:u}=o;v2(o.content)&&a&&s.test(a.content)&&(o.width+=u/4,o.adjustability.shrinkability[1]+=u/8),v2(o.content)&&e&&s.test(e.content)&&(o.width+=u/4,o.xOffset+=u/4,o.adjustability.shrinkability[0]+=u/8),e=o}}function Ty(r,t,e,n,s,i=!1){var C;const{gridType:o=g.GridType.LINES,charSpace:a=0,defaultTabStop:u=10.5}=n,{snapToGrid:l=g.BooleanNumber.TRUE}=s,c=[],h=new ND(r),{endIndex:f}=e;let p=0,_,m=0;const v=Dy(t.getBody(),f);let y=[];for(i&&(y=my(v)),$D(h);_=h.nextBreak();){const E=r.slice(p,_.position),x=[];if(dt.isReady&&i){const T=[];let O=0;for(O=m;O<y.length;O++){const B=y[O],{end:S}=B;if(S>_.position)break;T.push(B)}m=O;for(const B of T){const{start:S,char:A}=B,k=qe(S,t,e,n,s);if(A===g.DataStreamTreeTokenType.TAB){const R=y2(a,u,o,l),M=B0(k,R);x.push(M)}else if(st(A)){const R=Ye(A,k);x.push(R)}else{const R=Ye(A,k,void 0,B);x.push(R)}}}else{let T=E,O=p;for(;T.length>0;){const B=(C=T.match(/^[\s\S]/gu))==null?void 0:C[0];if(B==null)break;if(/\s/.test(B)||w2(B)){const S=qe(O,t,e,n,s);let A;if(B===g.DataStreamTreeTokenType.TAB){const k=y2(a,u,o,l);A=B0(S,k)}else A=Ye(B,S);x.push(A),O+=B.length,T=T.substring(B.length)}else if(st(T)){const{step:S,glyphGroup:A}=Fy(O,T,t,e,n,s);x.push(...A),O+=S,T=T.substring(S)}else if(C6(B)){const{step:S,glyphGroup:A}=yy(O,T,t,e,n,s);x.push(...A),O+=S,T=T.substring(S)}else if(E6(B)){const{step:S,glyphGroup:A}=Cy(O,T,t,e,n,s);x.push(...A),O+=S,T=T.substring(S)}else{const{step:S,glyphGroup:A}=by(O,T,t,e,n,s);x.push(...A),O+=S,T=T.substring(S)}}}Ey(x),c.push({text:E,glyphs:x}),p=_.position}return Sy(c),c}function B2(r,t,e=1,n=je.SECTION){var D1,v1,L1,T1;const s=xy(),{pageNumberStart:i=1,pageSize:o={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:a=g.PageOrientType.PORTRAIT,headerIds:u={},footerIds:l={},useFirstPageHeaderFooter:c,useEvenPageHeaderFooter:h,footerTreeMap:f,headerTreeMap:p,columnProperties:_=[],columnSeparatorType:m,marginTop:v=0,marginBottom:y=0,marginHeader:C=0,marginFooter:E=0,marginLeft:x=0,marginRight:T=0,renderConfig:O={}}=r,{skeHeaders:B,skeFooters:S}=t,{width:A=Number.POSITIVE_INFINITY,height:k=Number.POSITIVE_INFINITY}=o;s.pageNumber=e,s.pageNumberStart=i,s.renderConfig=O,s.marginLeft=x,s.marginRight=T,s.breakType=n,s.pageWidth=A,s.width=0,s.pageHeight=k,s.height=0,s.pageOrient=a;const{defaultHeaderId:R,evenPageHeaderId:M,firstPageHeaderId:U}=u,{defaultFooterId:I,evenPageFooterId:L,firstPageFooterId:$}=l;let z=R!=null?R:"",V=I!=null?I:"";e===i&&c?(z=U!=null?U:"",V=$!=null?$:""):e%2===0&&h&&(z=M!=null?M:"",V=L!=null?L:"");let H,Z;z&&((D1=B.get(z))!=null&&D1.has(A)?H=(v1=B.get(z))==null?void 0:v1.get(A):p&&p.has(z)&&(H=g4(p.get(z),r,t),B.set(z,new Map([[A,H]]))),s.headerId=z),V&&((L1=S.get(V))!=null&&L1.has(A)?Z=(T1=S.get(V))==null?void 0:T1.get(A):f&&f.has(V)&&(Z=g4(f.get(V),r,t),S.set(z,new Map([[A,Z]]))),s.footerId=V),s.marginTop=D4(v,C,H),s.marginBottom=D4(y,E,Z);const e1=s.sections,t1=e1[e1.length-1],{marginTop:i1,marginBottom:y1,marginLeft:p1,marginRight:s1}=s,o1=A-p1-s1,g1=k-i1-y1;let a1=0;t1&&(a1=t1.top+t1.height);const S1=m7(_,m,a1,0,o1,g1-a1);return S1.parent=s,e1.push(S1),s}function xy(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:g.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:je.SECTION,st:0,ed:0,skeDrawings:new Map}}function g4(r,t,e,n=!0){const{lists:s,footerTreeMap:i,headerTreeMap:o,localeService:a,pageSize:u,marginLeft:l=0,marginRight:c=0,drawings:h,marginTop:f=0,marginBottom:p=0,marginHeader:_=0,marginFooter:m=0}=t,v=(u==null?void 0:u.width)||Number.POSITIVE_INFINITY,y={lists:s,footerTreeMap:i,headerTreeMap:o,pageSize:{width:v-l-c,height:Number.POSITIVE_INFINITY},localeService:a,drawings:h},C=B2(y,e),E=kn(r,r.children[0],C,y,e).pages[0];Jt([E]);const x=E.sections[0].columns[0],T=x.height||0,{skeDrawings:O,st:B,ed:S}=E,A={lines:x.lines,skeDrawings:O,height:T,st:B,ed:S,marginLeft:l,marginRight:c};return n?{...A,marginTop:By(f,_,T)}:{...A,marginBottom:Oy(p,m,T)}}function D4(r,t,e){return!e||e.lines.length===0?r:Math.max(r,t,(e==null?void 0:e.height)||0)}function By(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function Oy(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function wy(r,t,e,n,s=0,i=!1,o,a,u){const{lineHeight:l=15.6,lineTop:c=0,contentHeight:h=0,paddingLeft:f=0,paddingRight:p=0,paddingTop:_=0,paddingBottom:m=0,marginTop:v=0,spaceBelowApply:y=0}=e,C=Py(t,r);C.lineIndex=s,C.paragraphStart=i,C.contentHeight=h,C.top=c,C.lineHeight=l,C.paddingTop=_,C.paddingBottom=m,C.marginTop=v,C.spaceBelowApply=y,C.divides=Ry(l,c,n,f,p,o,a,u);for(const E of C.divides)E.parent=C;return C}function Ay(r=15.6,t=0,e,n,s){let i=t;return n==null||n.forEach(o=>{const a=zt(o,r,t);a&&(i=Math.max(i,a))}),s==null||s.forEach(o=>{const a=zt(o,r,t);a&&(i=Math.max(i,a))}),e==null||e.forEach(o=>{const a=zt(o,r,t);a&&(i=Math.max(i,a))}),i}function zt(r,t,e){const{aTop:n,height:s,aLeft:i,width:o,angle:a=0,drawingOrigin:u}=r,{layoutType:l,distT:c=0,distB:h=0}=u;if(l!==g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(a===0){const _=n-c,m=s+h;return _+m<e||_>t+e?void 0:_+s}let{top:f=0,height:p=0}=Bn(a,i,o,n,s);if(f-=c,p+=h,!(f+p<e||f>t+e))return f+p}function Ry(r,t,e,n,s,i,o,a){const u=[];return u.push({left:0,width:n},{left:e-s,width:s}),o==null||o.forEach((l,c)=>{const h=Xt(l,r,t,e);h&&u.push(h)}),a==null||a.forEach((l,c)=>{const h=Xt(l,r,t,e);h&&u.push(h)}),i==null||i.forEach((l,c)=>{const h=Xt(l,r,t,e);h&&u.push(h)}),My(e,u)}function ky(r,t){r.isFull=t}function Xt(r,t,e,n){const{aTop:s,height:i,aLeft:o,width:a,angle:u=0,drawingOrigin:l}=r,{layoutType:c}=l;if(c===g.PositionedObjectLayoutType.WRAP_NONE||c===g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(c===g.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:p}=l;if(!p)return;const _=[];_.push(new P(f[0],f[1]));for(let m=0;m<p.length;m++){const v=p[m];_.push(new P(v[0],v[1]))}if(u!==0){const m=new m1().rotate(u);for(let v=0;v<_.length;v++){const y=_[v];_[v]=m.applyPoint(y)}}return _4(_,e,t,n)}if(u===0)return v4(s,i,o,a,e,t,n,l);const h=Bn(u,o,a,s,i);if(c===g.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:p,top:_,height:m}=h;return v4(_,m,f,p,e,t,n,l)}return _4(h.points,e,t,n)}function Bn(r,t,e,n,s){const i=new m1().rotate(r),o=new P(t,n),a=new P(t,n+s),u=new P(t+e,n),l=new P(t+e,n+s);return i.makeBoundingBoxFromPoints([o,a,u,l])}function _4(r,t,e,n){const s=new u7(r),i=s.intersection([new P(0,t),new P(n,t)]),o=s.intersection([new P(0,t+e),new P(n,t+e)]);if(!i&&!o)return;const a=Iy([...r,...i||[],...o||[]]);return{left:a.min,width:a.max}}function Iy(r,t=0){const e=[];for(let n=0;n<r.length;n++){const s=r[n];t===0?e.push(s.x):e.push(s.y)}return{max:Math.max(...e),min:Math.min(...e)}}function v4(r,t,e,n,s,i,o,a){const{layoutType:u,wrapText:l=g.WrapTextType.BOTH_SIDES,distL:c=0,distR:h=0,distT:f=0,distB:p=0}=a,_=r-(u===g.PositionedObjectLayoutType.WRAP_SQUARE?f:0),m=t+(u===g.PositionedObjectLayoutType.WRAP_SQUARE?p:0);if(_+m<s||_>i+s)return;let v=e-c,y=n+h;const C=Ly(l,v,y,o);return C===1?y=o-v:C===2&&(v=0,y=e+n+h),{left:v,width:y}}function Ly(r,t,e,n){let s=0;return r===g.WrapTextType.LEFT?s=1:r===g.WrapTextType.RIGHT?s=2:r===g.WrapTextType.LARGEST&&(t>n-t-e?s=1:s=2),s}function My(r,t){t.sort((i,o)=>i.left>o.left?1:-1);const e=[];let n=0;const s=t.length;for(let i=0;i<s;i++){const o=t[i],{left:a,width:u}=o;if(a>n){let l=a-n;l=l<r?l:r-n;const c=m4(n,l);e.push(c)}if(n=Math.max(a+u,n),i===s-1&&a+u<r){const l=m4(a+u,r-a-u);e.push(l)}}return e}function m4(r,t){return{glyphGroup:[],width:t,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function Py(r,t){return{paragraphIndex:t,type:r,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,lineIndex:0,paragraphStart:!1}}function Ny(r,t,e,n){if(n)if(n.has(r)){const s=n.get(r);s==null||s.elements.push(t)}else n.set(r,{elements:[t],paragraphIndex:r,top:e})}function Uy(r,t,e,n,s=!1){if(s)if(n.bulletSkeleton){const{bulletSkeleton:i,paragraphStyle:o={}}=n,{gridType:a=g.GridType.LINES,charSpace:u=0,defaultTabStop:l=1}=e,{snapToGrid:c=g.BooleanNumber.TRUE}=o,h=y2(u,l,a,c),f=GD(r[0],i,h);Re([f,...r],t,e,n,s)}else Re(r,t,e,n,s);else pt(r,t,e,n,s);return[...t]}function $y(r){if(r.length<=1)return!1;let t=!1;for(const e of r)if(e.content===g.DataStreamTreeTokenType.SPACE&&(t=!0),t&&e.content!==g.DataStreamTreeTokenType.SPACE&&e.content!==g.DataStreamTreeTokenType.PARAGRAPH&&e.streamType!==g.DataStreamTreeTokenType.SECTION_BREAK)return!1;return t}function Hy(r,t,e){if(r.length<=1)return!1;let n=t,s=!1;for(const i of r){if(i.content===g.DataStreamTreeTokenType.SPACE||i.content===g.DataStreamTreeTokenType.PARAGRAPH||i.streamType===g.DataStreamTreeTokenType.SECTION_BREAK)break;if(n+=i.width,n>e){s=!0;break}}return s}function pt(r,t,e,n,s=!1,i){var u;const o=Ke(t),a=Xg(o);if(a){const l=b4(r),{divide:c}=a,h=(u=c==null?void 0:c.glyphGroup)==null?void 0:u[c.glyphGroup.length-1],f=(h==null?void 0:h.width)||0,p=(h==null?void 0:h.left)||0,_=f+p;if(_+l>c.width)if(ky(c,!0),a.isLast&&r.length===1&&(r[0].content===g.DataStreamTreeTokenType.SPACE||r[0].content===g.DataStreamTreeTokenType.PARAGRAPH))z2(c,r,_);else if(a.isLast&&!Hy(r,_,c.width)&&$y(r))z2(c,r,_);else if((c==null?void 0:c.glyphGroup.length)===0){const m=[];for(;r.length;)if(m.push(r.shift()),b4(m)>c.width){m.length>1&&r.unshift(m.pop());break}z2(c,m,_),r.length&&Re(r,t,e,n,s,i)}else Re(r,t,e,n,s,i);else{const m=c.parent,v=Yy(r);if(m&&v&&!jy(m)){const{paragraphLineGapDefault:y,linePitch:C,lineSpacing:E,spacingRule:x,snapToGrid:T,gridType:O}=v7(e,n),{boundingBoxAscent:B,boundingBoxDescent:S}=v,A=B+S,{contentHeight:k}=An(A,y,C,O,E,x,T);if(m.contentHeight<k){const R=Vy(m),M=R.length;let U=[],I=1;M>2&&R[0].glyphType===A1.LIST?(U=[R[0],R[1]],I=2):U=[R[0]];const L=m.parent,{paragraphStart:$}=L==null?void 0:L.lines.pop();Re(U,t,e,n,$,B+S);for(let z=I;z<R.length;z++)pt([R[z]],t,e,n,s);pt(r,t,e,n,s);return}}z2(c,r,_)}}else Re(r,t,e,n,s,i)}function Re(r,t,e,n,s=!1,i){var Fe,x1,he,Ce,Ee;let o=Ke(t),a=ot(o);if((!a||!a.column)&&(wn(r,t,e,n),o=Ke(t),a=ot(o)),!a)return;const u=a.column;if(u.width<=0){console.error("The column width is less than 0, need to adjust page width to make it great than 0");return}const l=zg(u),c=Math.max(...r.map(C1=>C1.bBox.ba)),h=Math.max(...r.map(C1=>C1.bBox.bd)),f=i||c+h,{paragraphStyle:p={},paragraphAffectSkeDrawings:_,skeHeaders:m,skeFooters:v,drawingAnchor:y,paragraphIndex:C}=n,{spaceAbove:E=0,spaceBelow:x=0,indentFirstLine:T=0,hanging:O=0,indentStart:B=0,indentEnd:S=0}=p,{paragraphLineGapDefault:A,linePitch:k,lineSpacing:R,spacingRule:M,snapToGrid:U,gridType:I}=v7(e,n),{paddingTop:L,paddingBottom:$,contentHeight:z,lineSpacingApply:V}=An(f,A,k,I,R,M,U),{marginTop:H,spaceBelowApply:Z}=zy(V,E,x,s,l),e1=H+L+z+$;let t1=u.parent;t1||(t1=H6(o));const i1=(l==null?void 0:l.lineHeight)||0,y1=(l==null?void 0:l.top)||0,p1=i1+y1,{pageWidth:s1,headerId:o1,footerId:g1}=o,a1=(x1=(Fe=m==null?void 0:m.get(o1))==null?void 0:Fe.get(s1))==null?void 0:x1.skeDrawings,S1=(Ce=(he=v==null?void 0:v.get(g1))==null?void 0:he.get(s1))==null?void 0:Ce.skeDrawings;Xy(p1,e1,u,(Ee=y==null?void 0:y.get(C))==null?void 0:Ee.top,_);const D1=Ay(e1,p1,o.skeDrawings,a1,S1);if(e1+D1>t1.height&&u.lines.length>0&&o.sections.length>0){b7(u,!0),On(r,t,e,n,s,i);return}const v1=l?l.lineIndex+1:0,{charSpace:L1,defaultTabStop:T1}=Yg(e,n),J1=y2(L1,T1,I,U),{paddingLeft:ce,paddingRight:Q1}=Gy(T,O,B,S,J1,s),ee=wy(C,R2.PARAGRAPH,{lineHeight:e1,contentHeight:z,lineTop:D1,paddingLeft:ce,paddingRight:Q1,paddingTop:L,paddingBottom:$,marginTop:H,spaceBelowApply:Z},u.width,v1,s,o.skeDrawings,a1,S1);u.lines.push(ee),ee.parent=u,Ny(C,ee,p1,y),pt(r,t,e,n,s,i)}function On(r,t,e,n,s=!1,i){const o=Ke(t);Wg(o)===!0?wn(r,t,e,n,s,i):Re(r,t,e,n,s,i)}function wn(r,t,e,n,s=!1,i){const o=Ke(t),{skeHeaders:a,skeFooters:u}=n;t.push(B2(e,{skeHeaders:a,skeFooters:u},o==null?void 0:o.pageNumber)),On(r,t,e,n,s,i)}function Gy(r=0,t=0,e=0,n=0,s,i=!1){const o=Ae(r,s),a=Ae(t,s),u=Ae(e,s),l=Ae(n,s);let c=u;const h=l;return o>0&&i&&(c+=o),a>0&&!i&&(c+=a),{paddingLeft:c,paddingRight:h}}function zy(r=0,t=0,e=0,n,s){let i=0,o=0;if(!n)return{marginTop:i,spaceBelowApply:o};if(i=Ae(t,r),o=Ae(e,r),s){const{spaceBelowApply:a}=s;a>i&&(i=0,s.lineHeight+=a,s.marginBottom=a)}return{marginTop:i,spaceBelowApply:o}}function An(r,t,e,n,s,i,o){let a=t,u=t;if(n===g.GridType.DEFAULT||o===g.BooleanNumber.FALSE)return i===g.SpacingRule.AUTO?{paddingTop:a,paddingBottom:u,contentHeight:s*r,lineSpacingApply:r}:{paddingTop:a,paddingBottom:u,contentHeight:Math.max(s,r),lineSpacingApply:s};let l=0;return i===g.SpacingRule.AUTO?l=s*e:l=s,r+t*2<l&&(a=u=(l-r)/2),{paddingTop:a,paddingBottom:u,contentHeight:r,lineSpacingApply:l}}function Xy(r,t,e,n,s){var u;if(!s)return;const i=(u=e.parent)==null?void 0:u.parent;if(!i)return;const o=new Map,a=Wy(e);s.forEach(l=>{if(!l)return;const{initialState:c,drawingOrigin:h}=l;if(c||!h)return;const{objectTransform:f}=h,{positionH:p,positionV:_,size:m,angle:v}=f,{width:y=0,height:C=0}=m;l.aLeft=Kg(p,e,i,y,a)||0,l.aTop=qg(_,i,r,t,C,n,a)||0,l.width=y,l.height=C,l.angle=v,l.initialState=!0,o.set(l.objectId,l)}),i.skeDrawings=new Map([...i.skeDrawings,...o])}function Wy(r){const t=r.parent;if(!t)return!1;const e=t==null?void 0:t.columns;if(!e)return!1;const n=e.length;for(let s=n-1;s>=0;s--){const o=e[s].lines,a=o.length;if(!(a<=0)){for(let u=a-1;u>=0;u--)if(o[u].paragraphStart)return!1}}return!0}function b4(r){const t=r.length;let e=0;for(let n=0;n<t;n++){const s=r[n];e+=s.width}return e}function Yy(r){const t=r.length;let e=Number.NEGATIVE_INFINITY,n;for(let s=0;s<t;s++){const i=r[s],{ba:o,bd:a}=i.bBox;e<o+a&&(n={boundingBoxAscent:o,boundingBoxDescent:a}),e=o+a}return n}function Vy(r){const t=r.divides,e=t.length,n=[];for(let s=0;s<e;s++){const i=t[s];n.push(...i.glyphGroup)}return n}function jy(r){return!r.divides[0].glyphGroup[0]}function Ky(r,t,e,n,s){return[]}function qy(r,t,e){return Zy(r,t,e)}function Zy(r,t,e){return e===g.GlyphType.DECIMAL?y4(r,t):e===g.GlyphType.ZERO_DECIMAL?Jy(r,t):e===g.GlyphType.UPPER_ALPHA?Qy(r,t):e===g.GlyphType.ALPHA?eF(r,t):e===g.GlyphType.UPPER_ROMAN?tF(r,t):e===g.GlyphType.ROMAN?nF(r,t):y4(r,t)}function y4(r,t){return(r+t).toString()}function Jy(r,t){const e=r+t;return e<10?`0${e}`:e.toString()}function Qy(r,t){return g.numberToListABC(r+t-1,!0)}function eF(r,t){return g.numberToListABC(r+t-1,!1)}function tF(r,t){return Rn(r+t,!0)}function nF(r,t){return Rn(r+t,!1)}function Rn(r,t=!1){const e={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1};let s={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(s=e);let i="";for(const o in s)for(;r>=s[o];)i+=o,r-=s[o];return i}function rF(r,t,e,n){var h,f;if(!r||!t)return;const{listId:s,listType:i,nestingLevel:o=0,textStyle:a}=r,u=t[i];return!u||!u.nestingLevel?F4(s,(h=e==null?void 0:e[o])==null?void 0:h.startIndexItem):u.nestingLevel[o]?sF(s,o,u.nestingLevel,e,a):F4(s,(f=e==null?void 0:e[o])==null?void 0:f.startIndexItem)}function F4(r,t=1){return{listId:r,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:t,bBox:{width:8.4560546875,ba:7,bd:-1,aba:7,abd:-1,sp:-2,sbr:.5,sbo:0,spr:.5,spo:0},indentFirstLine:0,hanging:21,indentStart:0}}function sF(r,t,e,n,s,i){var T,O;const o=e[t],{bulletAlignment:a,glyphFormat:u,textStyle:l,startNumber:c,glyphType:h,glyphSymbol:f,indentFirstLine:p,hanging:_,indentStart:m}=o,v={...s,...l},y=_2(v);let C;f?C=f:C=iF(u,t,e,n);const E=re.getTextSize(C,y),x=(O=(T=n==null?void 0:n[t])==null?void 0:T.startIndexItem)!=null?O:1;return{listId:r,symbol:C,ts:v,fontStyle:y,startIndexItem:x+1,bBox:E,nestingLevel:o,bulletAlign:a,bulletType:f?!1:!!h,indentFirstLine:p,hanging:_,indentStart:m}}function iF(r,t,e,n){var a;const s=r.split("%"),o=[s[0]];for(let u=1;u<s.length;u++){const l=s[u],{level:c,suffix:h}=aF(l);let f=((a=n==null?void 0:n[c])==null?void 0:a.startIndexItem)||1;c!==t&&(n==null?void 0:n[c])!==null&&(f-=1);const p=oF(f,e[c]);o.push(p,h)}return o.join("")}function oF(r=1,t){const{startNumber:e,glyphType:n,glyphSymbol:s}=t;return s||(n?qy(r,e,n):"●")}function aF(r){if(r==="")return{level:0,suffix:""};const t=r.split("");let e="",n="",s=!1;const i=/[0-9]/g;return t.forEach(o=>{!s&&i.test(`${e}${o}`)?e+=o:(s=!0,n+=o)}),{level:Number.parseInt(e)-1,suffix:n}}function uF(r,t){if(!r||!t)return;const{listId:e,nestingLevel:n}=r,s=t==null?void 0:t.get(e);let i=n;i<0&&(i=0);const o=[];for(let a=i;a>=0;a--){const u=s==null?void 0:s[a];o[a]=u||null}return o}function lF(r,t,e){if(!r||!t)return;const{listId:n,nestingLevel:s}=r,i=[...(e==null?void 0:e.get(n))||[]];i[s]=t,i.splice(s+1),e==null||e.set(n,i)}function cF(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function C4(r){return r.pageNumber+1}function hF(r,t,e,n,s,i){const{lists:o,drawings:a={},localeService:u}=s,{endIndex:l,startIndex:c,blocks:h=[]}=n,f=e.getParagraph(l)||{startIndex:0},{paragraphStyle:p={},bullet:_}=f,{skeHeaders:m,skeFooters:v,skeListLevel:y,drawingAnchor:C}=i,E=new Map,x={paragraphIndex:l,paragraphStyle:p,paragraphAffectSkeDrawings:E,skeHeaders:m,skeFooters:v,drawingAnchor:C},T=uF(_,y),O=rF(_,o,T);lF(_,O,y),x.bulletSkeleton=O;const B=new Map;for(let R=0,M=h.length;R<M;R++){const U=h[R],I=e.getCustomBlock(U);if(I==null)continue;B.set(U,I);const L=I.blockId,$=a[L];$.layoutType!==g.PositionedObjectLayoutType.INLINE&&E.set(L,cF($))}let S=[t],A=!0,k=c;for(const{text:R,glyphs:M}of r){k+=R.length;const U=()=>{M.length!==0&&(S=Uy(M,S,s,x,A),A=!1)};if(R.endsWith(g.DataStreamTreeTokenType.CUSTOM_BLOCK)){let I=B.get(k);if(I==null&&(I=e.getCustomBlock(k)),I!=null){const L=I.blockId;a[L].layoutType===g.PositionedObjectLayoutType.INLINE&&(S=Ky())}U();continue}else if(R.endsWith(g.DataStreamTreeTokenType.PAGE_BREAK)){U(),S.push(B2(s,i,C4(S[S.length-1]),je.PAGE)),E.clear();continue}else if(R.endsWith(g.DataStreamTreeTokenType.COLUMN_BREAK)){U();const I=S[S.length-1],L=ot(I);L&&!L.isLast?b7(L.column,!0):S.push(B2(s,i,C4(I),je.COLUMN));continue}U()}return S}function fF(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function dF(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.shrinkability;e+=s+i}return e}function pF(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.stretchability;e+=s+i}return e}function gF(r){const t=r.glyphGroup.filter(n=>n.isJustifiable).length,e=r.glyphGroup[r.glyphGroup.length-1];return w2(e.content)?t-1:t}function DF(r,t,e){for(const n of r.glyphGroup){const s=t<0?n.adjustability.shrinkability[0]:n.adjustability.stretchability[0],i=t<0?n.adjustability.shrinkability[1]:n.adjustability.stretchability[1],o=s*t;let a=i*t;n.isJustifiable&&(a+=e),n.width+=o+a,n.xOffset+=o}V6(r.glyphGroup)}function _F(r,t){const{divides:e}=r;for(let n=0;n<e.length;n++){const s=e[n],{width:i}=s;let o=m0(s);if(i!==Number.POSITIVE_INFINITY){if(s.isFull){let a=i-o;if(s.glyphGroup.length>1){const f=s.glyphGroup[s.glyphGroup.length-1],p=fF(f.content)*f.width;a+=p}let u=0,l=0;const c=dF(s),h=pF(s);if(a<0&&c>0)u=Math.max(a/c,-1),a=Math.min(a+c,0);else if(t===g.HorizontalAlign.JUSTIFIED){h>0&&(u=Math.min(a/h,1),a=Math.max(a-h,0));const f=gF(s);f>0&&a>0&&(l=a/f,a=0)}(u!==0||l!==0)&&(DF(s,u,l),o=m0(s))}t===g.HorizontalAlign.CENTER?s.paddingLeft=(i-o)/2:t===g.HorizontalAlign.RIGHT&&(s.paddingLeft=i-o)}}}function vF(r){for(const t of r.divides){const e=t.glyphGroup[t.glyphGroup.length-1];if(t.isFull&&v2(e.content)&&e.width-e.xOffset>e.bBox.width){const n=e.width-e.xOffset-e.bBox.width;e.width-=n,e.adjustability.shrinkability[1]=0}}}function mF(r){for(const t of r.divides){const e=t.glyphGroup.length;if(e<2)continue;const n=t.glyphGroup[0],s=t.glyphGroup[e-1];if(bt(n.content)){const i=n.adjustability.shrinkability[0];k7(n,i)}if(mt(s.content)){const i=s.adjustability.shrinkability[1];R7(s,i)}V6(t.glyphGroup)}}function bF(r,t){Vg(r,e=>{if(e.paragraphIndex!==t.startIndex)return;const{paragraphStyle:n={}}=t,{horizontalAlign:s=g.HorizontalAlign.UNSPECIFIED}=n;mF(e),vF(e),_F(e,s)})}function yF(r,t,e,n,s){Zg();const{endIndex:i,content:o=""}=t,a=r.getParagraph(i)||{startIndex:0},{paragraphStyle:u={}}=a,l=Ty(o,r,t,n,u),c=hF(l,e,r,t,n,s);return bF(c,a),c}function kn(r,t,e,n,s,i){const o=[],a=new Map;for(const u of t.children){let l=[],c=e;o.length>0&&(c=o[o.length-1]),u.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?l=yF(r,u,c,n,s):(u.nodeType,g.DataStreamTreeNodeType.TABLE),l.length===0&&(l=nD()),FF(o,l)}return{pages:o,renderedBlockIdMap:a}}function FF(r,t){const e=r.length-1,n=r[e],s=t[0];n===s&&t.splice(0,1),r.push(...t)}const CF={columnProperties:[],columnSeparatorType:g.ColumnSeparatorType.NONE,sectionType:g.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0};class Je extends exports.Skeleton{constructor(e,n){super(n);d(this,"_skeletonData");d(this,"_renderedBlockIdMap",new Map);d(this,"_findLiquid",new F2);this._docViewModel=e}static create(e,n){return new Je(e,n)}getViewModel(){return this._docViewModel}calculate(e){this.dirty&&(this._skeletonData=this._createSkeleton(e))}getSkeletonData(){return this._skeletonData}getActualSize(){const e=this.getSkeletonData();let n=Number.NEGATIVE_INFINITY,s=0;return e==null||e.pages.forEach(i=>{const{width:o,height:a}=i;n=Math.max(n,o),s+=a}),{actualWidth:n,actualHeight:s}}_getPageActualWidth(e){let n=Number.NEGATIVE_INFINITY;for(const s of e.sections)for(const i of s.columns)for(const o of i.lines){let a=0;for(const u of o.divides)for(const l of u.glyphGroup)a+=l.width;n=Math.max(n,a)}return n}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e){const n=e.parent,s=n==null?void 0:n.parent,i=s==null?void 0:s.parent,o=i==null?void 0:i.parent,a=o==null?void 0:o.parent,u=this.getSkeletonData();if(!n||!i||!o||!a||!u)return;const l=n.glyphGroup.indexOf(e),c=s.divides.indexOf(n),h=i.lines.indexOf(s),f=o.columns.indexOf(i),p=a.sections.indexOf(o),_=u.pages.indexOf(a);return{glyph:l,divide:c,line:h,column:f,section:p,page:_}}findNodePositionByCharIndex(e,n=!0){const s=this._findNodeIterator(e);if(s==null)return;const i=this.getSkeletonData();if(!i)return;const o=i.pages,{glyph:a,divide:u,line:l,column:c,section:h,page:f}=s;return{glyph:u.glyphGroup.indexOf(a),divide:l.divides.indexOf(u),line:c.lines.indexOf(l),column:h.columns.indexOf(c),section:f.sections.indexOf(h),page:o.indexOf(f),isBack:n}}findNodeByCharIndex(e){const n=this._findNodeIterator(e);return n==null?void 0:n.glyph}findGlyphByPosition(e){if(e==null)return;const n=this.getSkeletonData();if(n==null)return;const{divide:s,line:i,column:o,section:a,page:u,isBack:l}=e;let{glyph:c}=e;l===!0&&(c-=1),c=c<0?0:c;const h=n.pages[u].sections[a].columns[o].lines[i].divides[s].glyphGroup;return h[c].glyphType===A1.LIST?h[c+1]:h[c]}findNodeByCoord(e,n,s,i){const{x:o,y:a}=e;this._findLiquid.reset();const u=this.getSkeletonData();if(u==null)return;const l=u.pages;let c=[],h=[],f=Number.POSITIVE_INFINITY;for(let p=0,_=l.length;p<_;p++){const m=l[p];this._findLiquid.translatePagePadding(m);const v=m.sections;for(const y of v){const{columns:C,height:E}=y;this._findLiquid.translateSection(y);for(const x of C){const{lines:T,width:O}=x;this._findLiquid.translateColumn(x);const B=T.length;for(let S=0;S<B;S++){const A=T[S],{divides:k,type:R,lineHeight:M=0}=A;if(R!==R2.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(A);const{y:U}=this._findLiquid,I=U,L=U+M,$=Math.abs(a-L),z=k.length;for(let V=0;V<z;V++){const H=k[V],{glyphGroup:Z,width:e1}=H;this._findLiquid.translateSave(),this._findLiquid.translateDivide(H);const{x:t1}=this._findLiquid;for(const i1 of Z){if(!i1.content||i1.content.length===0)continue;const{width:y1,left:p1}=i1,s1=t1+p1,o1=t1+p1+y1,g1=Math.abs(o-o1);if(a>=I&&a<=L){if(o>=s1&&o<=o1)return{node:i1,ratioX:o/(s1+o1),ratioY:a/(I+L)};f!==Number.NEGATIVE_INFINITY&&(c=[],h=[]),c.push({node:i1,ratioX:o/(s1+o1),ratioY:a/(I+L)}),h.push(g1),f=Number.NEGATIVE_INFINITY;continue}$<f&&(f=$,c=[],h=[]),$===f&&(c.push({node:i1,ratioX:o/(s1+o1),ratioY:a/(I+L)}),h.push(g1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}}}this._findLiquid.restorePagePadding(m),this._translatePage(m,n,s,i)}return this._getNearestNode(c,h)}_getNearestNode(e,n){const s=Math.min(...n),i=n.indexOf(s);return e[i]}_getPageBoundingBox(e,n){const{pageWidth:s,pageHeight:i}=e,{x:o,y:a}=this._findLiquid;let u=-1,l=-1;return n===q1.VERTICAL?(u=s,l=a+i):n===q1.HORIZONTAL&&(u=o+s,l=i),{startX:o,startY:a,endX:u,endY:l}}_translatePage(e,n,s,i){this._findLiquid.translatePage(e,n,s,i)}_createSkeleton(e){var g1;const n={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},s=this.getViewModel(),{headerTreeMap:i,footerTreeMap:o}=s,{documentStyle:a,drawings:u,lists:l={}}=s.getDataModel(),c={...g.PRESET_LIST_TYPE,...l},{pageNumberStart:h=1,pageSize:f=n,pageOrient:p=g.PageOrientType.PORTRAIT,defaultHeaderId:_,defaultFooterId:m,evenPageHeaderId:v,evenPageFooterId:y,firstPageHeaderId:C,firstPageFooterId:E,useFirstPageHeaderFooter:x,useEvenPageHeaderFooter:T,marginTop:O=0,marginBottom:B=0,marginRight:S=0,marginLeft:A=0,marginHeader:k=0,marginFooter:R=0,charSpace:M=0,linePitch:U=15.6,gridType:I=g.GridType.LINES,paragraphLineGapDefault:L=0,defaultTabStop:$=10.5,textStyle:z={},renderConfig:V={horizontalAlign:g.HorizontalAlign.LEFT,verticalAlign:g.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:g.WrapStrategy.UNSPECIFIED}}=a,H={headerTreeMap:i,footerTreeMap:o,lists:c,drawings:u,charSpace:M,linePitch:U,gridType:I,localeService:this._localService,paragraphLineGapDefault:L,defaultTabStop:$,documentTextStyle:z},Z=this._getNullSke(),{skeHeaders:e1,skeFooters:t1,skeListLevel:i1,drawingAnchor:y1}=Z,p1={skeHeaders:e1,skeFooters:t1,skeListLevel:i1,drawingAnchor:y1},s1=[];Z.pages=s1;const o1=this.getViewModel();o1.resetCache();for(let a1=0,S1=o1.children.length;a1<S1;a1++){const D1=o1.children[a1],v1=o1.getSectionBreak(D1.endIndex)||CF,{pageNumberStart:L1=h,pageSize:T1=f,pageOrient:J1=p,marginTop:ce=O,marginBottom:Q1=B,marginRight:ee=S,marginLeft:Fe=A,marginHeader:x1=k,marginFooter:he=R,defaultHeaderId:Ce=_,defaultFooterId:Ee=m,evenPageHeaderId:C1=v,evenPageFooterId:s2=y,firstPageHeaderId:Pe=C,firstPageFooterId:Ne=E,useFirstPageHeaderFooter:i2=x,useEvenPageHeaderFooter:o2=T,columnProperties:te=[],columnSeparatorType:Se=g.ColumnSeparatorType.NONE,contentDirection:a2,sectionType:U2,textDirection:St,renderConfig:$2=V}=v1,Tt=o1.children[a1+1],c0=(g1=o1.getSectionBreak(Tt==null?void 0:Tt.endIndex))==null?void 0:g1.sectionType,ir={defaultHeaderId:Ce,evenPageHeaderId:C1,firstPageHeaderId:Pe},or={defaultFooterId:Ee,evenPageFooterId:s2,firstPageFooterId:Ne};T1.width===null&&(T1.width=Number.POSITIVE_INFINITY),T1.height===null&&(T1.height=Number.POSITIVE_INFINITY);const h0={pageNumberStart:L1,pageSize:T1,pageOrient:J1,marginTop:ce,marginBottom:Q1,marginRight:ee,marginLeft:Fe,marginHeader:x1,marginFooter:he,headerIds:ir,footerIds:or,useFirstPageHeaderFooter:i2,useEvenPageHeaderFooter:o2,columnProperties:te,columnSeparatorType:Se,contentDirection:a2,sectionType:U2,sectionTypeNext:c0,textDirection:St,renderConfig:$2,...H};let Ue=Ke(s1),f0=!1;U2===g.SectionType.CONTINUOUS?(Jt(s1),this._addNewSectionByContinuous(Ue,te,Se),f0=!0):Ue=B2(h0,p1,Ue==null?void 0:Ue.pageNumber);const ar=kn(o1,D1,Ue,h0,p1,this._renderedBlockIdMap);c0===g.SectionType.CONTINUOUS&&te.length>0;const{pages:d0}=ar;f0&&d0.splice(0,1),s1.push(...d0)}return Jt(s1),this._setPageParent(s1,Z),Z}_setPageParent(e,n){for(const s of e)s.parent=n}_addNewSectionByContinuous(e,n,s){const i=e.sections,o=i[i.length-1],{pageWidth:a,pageHeight:u,marginTop:l,marginBottom:c,marginLeft:h,marginRight:f}=e,p=a-h-f,_=u-l-c,m=((o==null?void 0:o.top)||0)+((o==null?void 0:o.height)||0),v=m7(n,s,m,0,p,_-m);v.parent=e,i.push(v)}_getNullSke(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}_findNodeIterator(e){const n=this.getSkeletonData();if(!n)return;const s=n.pages;for(const i of s){const{sections:o,st:a,ed:u}=i;if(!(e<a||e>u))for(const l of o){const{columns:c,st:h,ed:f}=l;if(!(e<h||e>f))for(const p of c){const{lines:_,st:m,ed:v}=p;if(!(e<m||e>v))for(const y of _){const{divides:C,st:E,ed:x}=y,T=C.length;if(!(e<E||e>x))for(let O=0;O<T;O++){const B=C[O],{glyphGroup:S,st:A,ed:k}=B;if(e<A||e>k)continue;let R=e-A;for(const M of S)if(R-=M.count,R<0)return{page:i,section:l,column:p,line:y,divide:B,glyph:M}}}}}}}}class ne{constructor(t,e){d(this,"children",[]);d(this,"parent");d(this,"startIndex",-1);d(this,"endIndex",-1);d(this,"blocks",[]);this.nodeType=t,this.content=e}static create(t,e){return new ne(t,e)}dispose(){this.children.forEach(t=>{t.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:o}=this;return{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:o}}addBlocks(t){this.blocks=this.blocks.concat(t)}setIndexRange(t,e){this.startIndex=t,this.endIndex=e}insertText(t,e){this.content=g.insertTextToContent(this.content||"",e-this.startIndex,t)}exclude(t){const{startIndex:e,endIndex:n}=this;return t<e||t>n}plus(t){this.startIndex+=t,this.endIndex+=t,this._addIndexForBlock(t)}selfPlus(t,e){this.endIndex+=t,e==null&&(e=this.startIndex),this._addIndexForBlock(t,e)}split(t){const{children:e,parent:n,startIndex:s,nodeType:i,content:o=""}=this.getProps();if(this.exclude(t))return;const a=0,u=t-s,l=u,c=o.slice(a,u),h=ne.create(i,c);h.parent=n,h.setIndexRange(a,u-1);const f=o.slice(l),p=ne.create(i,f);p.parent=n,p.setIndexRange(l,l+f.length-1);const _=[],m=[];for(const v of e){const{startIndex:y}=v;if(v.exclude(t))t<y?_.push(v):m.push(v);else{const C=v.split(t);if(C==null){_.push(v);continue}const{firstNode:E,lastNode:x}=C;_.push(E),_.push(x)}}return h.children=_,p.children=m,h._resetBlocks(),p._resetBlocks(),{firstNode:h,lastNode:p}}getPositionInParent(){var e;const t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(t,e){const n=g.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,t,e);if(n.length===0)return;const s=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=g.deleteContent(this.content||"",t-s,e-s+1))}merge(t){const{startIndex:e,endIndex:n,children:s}=t;this.endIndex+=n-e+1,this.children.push(...s),this.content+=t.content||"",t.remove()}_addIndexForBlock(t,e=Number.NEGATIVE_INFINITY){for(let n=0,s=this.blocks.length;n<s;n++){const i=this.blocks[n];i>=e&&(this.blocks[n]=i+t)}}_resetBlocks(){if(this.nodeType===g.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let t=0,e=this.content.length;t<e;t++)this.content[t]===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+t)}}}class _e{constructor(t){d(this,"children",[]);d(this,"_sectionBreakCurrentIndex",0);d(this,"_paragraphCurrentIndex",0);d(this,"_textRunCurrentIndex",0);d(this,"_customBlockCurrentIndex",0);d(this,"_tableBlockCurrentIndex",0);d(this,"_customRangeCurrentIndex",0);d(this,"headerTreeMap",new Map);d(this,"footerTreeMap",new Map);this._documentDataModel=t,t.getBody()!=null&&(this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel())}dispose(){this.children.forEach(t=>{t.dispose()})}selfPlus(t,e){}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(t){return t==null?this:this.headerTreeMap.has(t)?this.headerTreeMap.get(t):this.footerTreeMap.has(t)?this.footerTreeMap.get(t):this}reset(t){this._documentDataModel=t,this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(t,e=0){var o;const n=t.dataStream;let s=n.length;const i=this._getParagraphByIndex(this.children,e);if(i!=null)if(n[s-1]===g.DataStreamTreeTokenType.SECTION_BREAK){const a=new g.DocumentDataModel({body:t}),u=new _e(a);s-=1;const l=u.children;for(const p of l)this._forEachDown(p,_=>{_.plus(e)});const c=i.split(e);if(c==null)return;const{firstNode:h,lastNode:f}=c;(o=i.parent)==null||o.children.splice(i.getPositionInParent(),1,h,...l,f),this._forEachTop(i.parent,p=>{p.selfPlus(s,p.getPositionInParent());const _=p.children;let m=!1;for(const v of _)v===f&&(m=!0),m&&this._forEachDown(v,y=>{y.plus(s)})})}else s===1&&n[s-1]===g.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(i,e):(i.insertText(n,e),i.selfPlus(s,e),this._forEachTop(i.parent,a=>{a.selfPlus(s,a.getPositionInParent());const u=a.children;let l=!1;for(const c of u)c.startIndex>e&&(l=!0),l&&this._forEachDown(c,h=>{h.plus(s)})}))}delete(t,e){const n=this.children;this._deleteTree(n,t,e)}getText(){const t=[];function e(n){n.content&&t.push(n.content),n.children.forEach(e)}return this.children.forEach(n=>e(n)),t.join("")}resetCache(){this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0}getSectionBreak(t){if(t==null)return;const e=this.getBody().sectionBreaks;if(e!=null)for(let n=this._sectionBreakCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._sectionBreakCurrentIndex=n,s}}getParagraph(t){const e=this.getBody().paragraphs;if(e!=null)for(let n=this._paragraphCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._paragraphCurrentIndex=n,s}}getTextRunRange(t=0,e){const n=this.getBody().textRuns;if(n==null)return[{st:t,ed:e}];const s=[];for(let a=this._textRunCurrentIndex,u=n.length;a<u;a++){const l=n[a];if(l.st>e){this._textRunCurrentIndex=a;break}else if(l.ed<t){this._textRunCurrentIndex=a;continue}else s.push({st:l.st<t?t:l.st,ed:l.ed>e?e:l.ed,sId:l.sId,ts:l.ts}),this._textRunCurrentIndex=a}const i=s[0]||{st:e+1};i.st>t&&s.push({st:t,ed:i.st-1});const o=s[s.length-1]||{ed:t-1};return o.ed<e&&s.push({st:o.ed+1,ed:e}),s}getTextRun(t){const e=this.getBody().textRuns;if(e==null)return;const n=e[this._textRunCurrentIndex];if(n!=null){if(t>=n.st&&t<n.ed)return n;if(t<n.st)return}for(let s=this._textRunCurrentIndex,i=e.length;s<i;s++){const o=e[s];if(t>=o.st&&t<o.ed)return this._textRunCurrentIndex=s,o}}getCustomBlock(t){const e=this.getBody().customBlocks;if(e!=null)for(let n=this._customBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._customBlockCurrentIndex=n,s}}getTable(t){const e=this.getBody().tables;if(e!=null)for(let n=this._tableBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._tableBlockCurrentIndex=n,s}}getCustomRange(t){const e=this.getBody().customRanges;if(e!=null)for(let n=0,s=e.length;n<s;n++){const i=e[n];if(t>=i.startIndex&&t<=i.endIndex)return i}}_transformToTree(t){const e=t.length;let n="";const s=[];let i=[],o=[];for(let a=0;a<e;a++){const u=t[a];if(u===g.DataStreamTreeTokenType.PARAGRAPH){n+=g.DataStreamTreeTokenType.PARAGRAPH;const l=ne.create(g.DataStreamTreeNodeType.PARAGRAPH,n);l.setIndexRange(a-n.length+1,a),l.addBlocks(o),i.push(l),n="",o=[]}else if(u===g.DataStreamTreeTokenType.SECTION_BREAK){const l=ne.create(g.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(l,i);const c=i[i.length-1];c&&c.content&&(c.content+=g.DataStreamTreeTokenType.SECTION_BREAK),s.push(l),i=[]}else u===g.DataStreamTreeTokenType.TABLE_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE)):u===g.DataStreamTreeTokenType.TABLE_ROW_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE_ROW)):u===g.DataStreamTreeTokenType.TABLE_CELL_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE_CELL)):u===g.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE):u===g.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_ROW):u===g.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_CELL):(u===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&o.push(a),n+=u)}return s}_processPreviousNodesUntil(t,e){const n=[];let s=t.pop();for(;s&&s.nodeType!==e;)n.push(s),s=t.pop();const i=t[t.length-1];if(this._batchParent(i,n,g.DataStreamTreeNodeType.TABLE),e===g.DataStreamTreeNodeType.TABLE_CELL){const o=n[0],a=n[n.length];o.content=g.DataStreamTreeTokenType.TABLE_CELL_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_CELL_END,a.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE_ROW){const o=n[0].children[0];let a=n[n.length];a=a.children[a.children.length-1],o.content=g.DataStreamTreeTokenType.TABLE_ROW_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_ROW_END,a.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE){const o=n[0].children[0].children[0];let a=n[n.length];a=a.children[a.children.length-1],a=a.children[a.children.length-1],o.content=g.DataStreamTreeTokenType.TABLE_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_END,a.endIndex+=1}}_batchParent(t,e,n=g.DataStreamTreeNodeType.SECTION_BREAK){for(const i of e)i.parent=t,t.children.push(i);const s=n===g.DataStreamTreeNodeType.SECTION_BREAK?0:1;t.setIndexRange(e[0].startIndex-s,e[e.length-1].endIndex+1)}_buildHeaderFooterViewModel(){const{headerModelMap:t,footerModelMap:e}=this._documentDataModel;for(const[n,s]of t)this.headerTreeMap.set(n,new _e(s));for(const[n,s]of e)this.footerTreeMap.set(n,new _e(s))}_getParagraphByIndex(t,e){for(const n of t){const{children:s}=n;if(!n.exclude(e))return n.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?n:this._getParagraphByIndex(s,e)}return null}_forEachTop(t,e){let n=t;for(;n;)e(n),n=n.parent;e(this)}_forEachDown(t,e){e(t);const n=t.children;for(t of n)this._forEachDown(t,e)}_deleteTree(t,e,n){const s=e,i=e+n-1;let o=null,a=t.length,u=0;for(;u<a;){const l=t[u],{startIndex:c,endIndex:h,children:f}=l;if(this._deleteTree(f,e,n),s===i&&i===h){if(l.nodeType===g.DataStreamTreeNodeType.PARAGRAPH){const p=this._getNextNode(l);if(p==null){u++;continue}l.minus(s,i),l.merge(p),a--}}else if(s<=c&&i>=h){l.remove(),a--;continue}else if(c<=s&&h>=i)l.minus(s,i);else if(i>c&&i<h){if(l.minus(c,i),o!=null){o.merge(l),o=null,a--;continue}}else s>c&&s<h?(l.minus(s,h),o=l):c>i&&l.plus(-n);u++}}_getNextNode(t){var s;const e=t.getPositionInParent(),n=(s=t.parent)==null?void 0:s.children;return n==null?void 0:n[e+1]}_insertParagraph(t,e=0){var u;const n=t.startIndex,s=t.endIndex,i=t.split(e);if(i==null)return;const{firstNode:o,lastNode:a}=i;o.content+=g.DataStreamTreeTokenType.PARAGRAPH,o.selfPlus(1),o.plus(n),this._forEachDown(a,l=>{l.plus(n+1)}),(u=t.parent)==null||u.children.splice(t.getPositionInParent(),1,o,a),this._forEachTop(t.parent,l=>{l.selfPlus(1,l.getPositionInParent());const c=l.children;let h=!1;for(const f of c)f!==a&&(f.startIndex>=s+1&&(h=!0),h&&this._forEachDown(f,p=>{p.plus(1)}))})}}var EF=Object.defineProperty,SF=Object.getOwnPropertyDescriptor,TF=(r,t,e,n)=>{for(var s=n>1?void 0:n?SF(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&EF(t,e,s),s},E4=(r,t)=>(e,n)=>t(e,n,r);function p2(r,t=0){const e=r==null?void 0:r.getSkeletonData(),n=K1(t);if(!e)return;const{pages:s}=e,i=s[s.length-1],{width:o,height:a}=i;if(n===0)return{width:o,height:a};if(Math.abs(n)===Math.PI/2)return{width:a,height:o};let u=0,l=0;const c=[];jg([i],f=>{const{lines:p,width:_,spaceWidth:m}=f,{rotatedHeight:v,rotatedWidth:y}=R6(p,_,n);l+=v,c.push({rotatedWidth:y,spaceWidth:m})});const h=c.length;for(let f=0;f<h;f++){const{rotatedWidth:p}=c[f];f===0&&(u+=p)}return{width:u,height:l}}const S4={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},T4={t:0,b:1,l:2,r:2},In="RENDER_RAW_FORMULA";exports.SpreadsheetSkeleton=class extends exports.Skeleton{constructor(e,n,s,i,o,a){super(o);d(this,"_rowHeightAccumulation",[]);d(this,"_columnWidthAccumulation",[]);d(this,"_rowTotalHeight",0);d(this,"_columnTotalWidth",0);d(this,"_rowHeaderWidth",0);d(this,"_columnHeaderHeight",0);d(this,"_rowColumnSegment",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});d(this,"_dataMergeCache",[]);d(this,"_overflowCache",new g.ObjectMatrix);d(this,"_stylesCache",{background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix});d(this,"_renderedCellCache",new g.ObjectMatrix);d(this,"_showGridlines",g.BooleanNumber.TRUE);d(this,"_marginTop",0);d(this,"_marginLeft",0);d(this,"_renderRawFormula",!1);this._worksheet=e,this._worksheetData=n,this._cellData=s,this._styles=i,this._contextService=a,this._updateLayout(),this._initContextListener()}get rowHeightAccumulation(){return this._rowHeightAccumulation}get rowTotalHeight(){return this._rowTotalHeight}get columnWidthAccumulation(){return this._columnWidthAccumulation}get columnTotalWidth(){return this._columnTotalWidth}get rowHeaderWidth(){return this._rowHeaderWidth}get columnHeaderHeight(){return this._columnHeaderHeight}get rowColumnSegment(){return this._rowColumnSegment}get dataMergeCache(){return this._dataMergeCache}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get mergeData(){return this._worksheetData.mergeData}get rowHeaderWidthAndMarginLeft(){return this.rowHeaderWidth+this._marginLeft}get columnHeaderHeightAndMarginTop(){return this.columnHeaderHeight+this._marginTop}get worksheet(){return this._worksheet}static create(e,n,s,i,o,a){return new exports.SpreadsheetSkeleton(e,n,s,i,o,a)}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(In).pipe(u1.startWith(!1),u1.distinctUntilChanged()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)}))}setOverflowCache(e){this._overflowCache=e}setMarginLeft(e){this._marginLeft=e}setMarginTop(e){this._marginTop=e}calculateSegment(e){if(this._worksheetData&&(this._updateLayout(),!(!this._rowHeightAccumulation||!this._columnWidthAccumulation)))return e!=null&&(this._rowColumnSegment=this.getRowColumnSegment(e)),!0}calculateWithoutClearingCache(e){if(!this.calculateSegment(e))return;const{mergeData:n}=this._worksheetData;return this._dataMergeCache=n&&this._getMergeCells(n,this._rowColumnSegment),this._calculateStylesCache(),this}calculate(e){return this._resetCache(),this.calculateWithoutClearingCache(e),this}calculateAutoHeightInRange(e){var a;if(!g.Tools.isArray(e))return[];const n=[],{mergeData:s,rowData:i}=this._worksheetData,o=i;for(const u of e){const{startRow:l,endRow:c,startColumn:h,endColumn:f}=u;for(let p=l;p<=c;p++){if(n.some(({row:m})=>m===p)||((a=o[p])==null?void 0:a.ia)===g.BooleanNumber.FALSE)continue;if(q4(p,h,f,s)){const m=this._calculateRowAutoHeight(p);n.push({row:p,autoHeight:m})}}}return n}_calculateRowAutoHeight(e){var c,h,f;const{columnCount:n,columnData:s,mergeData:i,defaultRowHeight:o,defaultColumnWidth:a}=this._worksheetData;let u=o;const l=this._worksheet;if(!l)return u;for(let p=0;p<n;p++){const{isMerged:_,isMergedMainCell:m}=m2(e,p,i);if(_||m)continue;const v=l.getCell(e,p);if(v!=null&&v.interceptorAutoHeight){u=Math.max(u,v.interceptorAutoHeight);continue}const y=v&&this._getCellDocumentModel(v);if(y==null)continue;const{documentModel:C,textRotation:E,wrapStrategy:x}=y;if(C==null)continue;const T=new _e(C),{vertexAngle:O}=l2(E),B=(h=(c=s[p])==null?void 0:c.w)!=null?h:a;typeof B=="number"&&x===g.WrapStrategy.WRAP&&C.updateDocumentDataPageSize(B);const S=Je.create(T,this._localService);S.calculate();let{height:A=0}=(f=p2(S,O))!=null?f:{};if(S){const k=S.getSkeletonData(),{marginTop:R,marginBottom:M,marginLeft:U,marginRight:I}=k.pages[k.pages.length-1],L=Math.abs(K1(O));A+=R*Math.cos(L)+I*Math.sin(L)+M*Math.cos(L)+U*Math.sin(L)}u=Math.max(u,A)}return Math.min(u,P4)}_updateLayout(){if(!this.dirty)return;const{rowData:e,columnData:n,defaultRowHeight:s,defaultColumnWidth:i,rowCount:o,columnCount:a,rowHeader:u,columnHeader:l,showGridlines:c}=this._worksheetData,{rowTotalHeight:h,rowHeightAccumulation:f}=this._generateRowMatrixCache(o,e,s),{columnTotalWidth:p,columnWidthAccumulation:_}=this._generateColumnMatrixCache(a,n,i);return this._rowHeaderWidth=u.hidden!==g.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(u):0,this._columnHeaderHeight=l.hidden!==g.BooleanNumber.TRUE?l.height:0,this._rowTotalHeight=h,this._rowHeightAccumulation=f,this._columnTotalWidth=p,this._columnWidthAccumulation=_,this._showGridlines=c,this.makeDirty(!1),this}_dynamicallyUpdateRowHeaderWidth(e){var i;const s=`${(i=this._worksheet)==null?void 0:i.getRowCount()}`.length*8;return Math.max(e.width,s)}getRowColumnSegment(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e==null?void 0:e.viewBound)}getWorksheetConfig(){return this._worksheetData}getRowColumnSegmentByViewBound(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e)}getMergeBounding(e,n,s,i){const o=this._worksheetData.mergeData;if(!o)return{startRow:e,startColumn:n,endRow:s,endColumn:i};let a=!0;const u=new g.ObjectMatrix;for(;a;){a=!1;for(let l=0;l<o.length;l++){const{startRow:c,startColumn:h,endRow:f,endColumn:p}=o[l];if(u.getValue(c,h))continue;Z4({left:n,top:e,right:i,bottom:s},{left:h,top:c,right:p,bottom:f})&&(e=Math.min(e,c),n=Math.min(n,h),s=Math.max(s,f),i=Math.max(i,p),u.setValue(c,h,!0),a=!0)}}return{startRow:e,startColumn:n,endRow:s,endColumn:i}}appendToOverflowCache(e,n,s,i){this._overflowCache.setValue(e,n,{startRow:e,endRow:e,startColumn:s,endColumn:i})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(e,n,s,i,o){const{width:a}=e;let u=i,l=i;return n===g.HorizontalAlign.CENTER?(u=this._getOverflowBound(s,i,0,a/2,n),l=this._getOverflowBound(s,i,o-1,a/2,n)):n===g.HorizontalAlign.RIGHT?u=this._getOverflowBound(s,i,0,a):l=this._getOverflowBound(s,i,o-1,a),{startColumn:u,endColumn:l}}getNoMergeCellPositionByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this;let{startY:u,endY:l,startX:c,endX:h}=we(e,n,s,i);return u+=a,l+=a,c+=o,h+=o,{startY:u,endY:l,startX:c,endX:h}}getNoMergeCellPositionByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,{startY:o,endY:a,startX:u,endX:l}=we(e,n,s,i);return{startY:o,endY:a,startX:u,endX:l}}calculateCellIndexByPosition(e,n,s,i,o){const{row:a,column:u}=this.getCellPositionByOffset(e,n,s,i,o);return this.getCellByIndex(a,u)}getCellPositionByOffset(e,n,s,i,o){const a=this.getRowPositionByOffsetY(n,i,o),u=this.getColumnPositionByOffsetX(e,s,o);return{row:a,column:u}}getColumnPositionByOffsetX(e,n,s){e=this.getTransformOffsetX(e,n,s);const{columnWidthAccumulation:i}=this;let o=g.searchArray(i,e);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getRowPositionByOffsetY(e,n,s){const{rowHeightAccumulation:i}=this;e=this.getTransformOffsetY(e,n,s);let o=g.searchArray(i,e);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getTransformOffsetX(e,n,s){const{x:i}=s;return e=e/n+i-this.rowHeaderWidthAndMarginLeft,e}getTransformOffsetY(e,n,s){const{y:i}=s;return e=e/n+i-this.columnHeaderHeightAndMarginTop,e}getOffsetByPositionX(e){const{columnWidthAccumulation:n,rowHeaderWidthAndMarginLeft:s}=this,i=n.length-1,o=n[e];return o!=null?o+s:e<0?s:n[i]+s}getOffsetByPositionY(e){const{rowHeightAccumulation:n,columnHeaderHeightAndMarginTop:s}=this,i=n.length-1,o=n[e];return o!=null?o+s:e<0?s:n[i]+s}getCellByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this,u=ze(e,n,s,i,this._worksheetData.mergeData),{isMerged:l,isMergedMainCell:c}=u;let{startY:h,endY:f,startX:p,endX:_,mergeInfo:m}=u;return h+=a,f+=a,p+=o,_+=o,m=Zt(m,o,a),{actualRow:e,actualColumn:n,startY:h,endY:f,startX:p,endX:_,isMerged:l,isMergedMainCell:c,mergeInfo:m}}getCellByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,o=ze(e,n,s,i,this._worksheetData.mergeData),{isMerged:a,isMergedMainCell:u}=o,{startY:l,endY:c,startX:h,endX:f,mergeInfo:p}=o,_=Zt(p,0,0);return{actualRow:e,actualColumn:n,startY:l,endY:c,startX:h,endX:f,isMerged:a,isMergedMainCell:u,mergeInfo:_}}convertTransformToOffsetX(e,n,s){const{x:i}=s;return e=(e-i)*n,e}convertTransformToOffsetY(e,n,s){const{y:i}=s;return e=(e-i)*n,e}getSelectionBounding(e,n,s,i){return this.getMergeBounding(e,n,s,i)}getBlankCellDocumentModel(e){const n=this._getCellDocumentModel(e,{ignoreTextRotation:!0});if(n!=null)return n.documentModel==null&&(n.documentModel=this._getDocumentDataByStyle("",{},{})),n;const s="";let i="document";const o={a:0,v:g.BooleanNumber.FALSE},a=g.HorizontalAlign.UNSPECIFIED,u=g.VerticalAlign.UNSPECIFIED,l=g.WrapStrategy.UNSPECIFIED,c=T4;return i=_2({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(s,{},{}),fontString:i,textRotation:o,wrapStrategy:l,verticalAlign:u,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,n=S4){var v;const{isDeepClone:s,displayRawFormula:i,ignoreTextRotation:o}={...S4,...n},a=this._styles.getStyleByCell(e);if(!e)return;let u,l="document";const c=this._getOtherStyle(a),h=o?{a:0,v:g.BooleanNumber.FALSE}:c.textRotation||{a:0,v:g.BooleanNumber.FALSE};let f=c.horizontalAlign||g.HorizontalAlign.UNSPECIFIED;const p=c.verticalAlign||g.VerticalAlign.UNSPECIFIED,_=c.wrapStrategy||g.WrapStrategy.UNSPECIFIED,m=c.paddingData||T4;if(e.f&&i)u=this._getDocumentDataByStyle(e.f.toString(),{},{verticalAlign:p}),f=g.HorizontalAlign.UNSPECIFIED;else if(e.p){const{centerAngle:y,vertexAngle:C}=l2(h);u=this._updateConfigAndGetDocumentModel(s?g.Tools.deepClone(e.p):e.p,f,{horizontalAlign:f,verticalAlign:p,centerAngle:y,vertexAngle:C,wrapStrategy:_})}else if(e.v!=null){const y=this._getFontFormat(a);l=_2(y,this._localService).fontCache;let C=g.extractPureTextFromCell(e);e.t===g.CellValueType.FORCE_STRING&&i&&(C=`'${C}`),u=this._getDocumentDataByStyle(C,y,{...c,textRotation:h,cellValueType:e.t})}return{documentModel:u,fontString:l,textRotation:h,wrapStrategy:_,verticalAlign:p,horizontalAlign:f,paddingData:m,fill:(v=a==null?void 0:a.bg)==null?void 0:v.rgb}}getDecomposedOffset(e,n){let s=g.searchArray(this._columnWidthAccumulation,e),i=0;s===-1||s===0?(s=0,i=e):i=e-this._columnWidthAccumulation[s-1];let o=g.searchArray(this._rowHeightAccumulation,n),a=0;return o===-1||o===0?(o=0,a=n):a=n-this._rowHeightAccumulation[o-1],{row:o,column:s,columnOffset:i,rowOffset:a}}_calculateOverflowCell(e,n,s){const{documentSkeleton:i,vertexAngle:o=0,centerAngle:a=0,horizontalAlign:u,wrapStrategy:l}=s,c=this._cellData.getValue(e,n),{t:h=g.CellValueType.STRING}=c||{};let f=u;if(u===g.HorizontalAlign.UNSPECIFIED&&(a===E1&&o===E1?f=g.HorizontalAlign.CENTER:(o>0&&o!==E1||o===-E1)&&(f=g.HorizontalAlign.RIGHT)),(l===g.WrapStrategy.OVERFLOW||l===g.WrapStrategy.UNSPECIFIED)&&h!==g.CellValueType.NUMBER&&h!==g.CellValueType.BOOLEAN&&u!==g.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(e,n))return!0;let p=p2(i,o);if(!p)return!0;if(o!==0){const{startY:y,endY:C,startX:E,endX:x}=ze(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),T=x-E,O=C-y;p.height>O&&(p={width:O/Math.tan(Math.abs(o))+T,height:O})}const _=this.getOverflowPosition(p,f,e,n,this.getColumnCount()),{startColumn:m,endColumn:v}=_;if(m===v)return!0;this.appendToOverflowCache(e,n,m,v)}else if(l===g.WrapStrategy.WRAP&&o!==0){if(this.intersectMergeRange(e,n))return!0;const{startY:p,endY:_}=ze(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),m=_-p;i.getViewModel().getDataModel().updateDocumentDataPageSize(m),i.calculate();const v=p2(i,o);if(!v)return!0;const{startColumn:y,endColumn:C}=this.getOverflowPosition(v,f,e,n,this.getColumnCount());if(y===C)return!0;this.appendToOverflowCache(e,n,y,C)}}_getBounding(e,n,s){const i=e.length,o=n.length;if(!s)return{startRow:0,endRow:i-1,startColumn:0,endColumn:o-1};let a=-1,u=-1,l=-1,c=-1;const h=g.searchArray(e,Math.round(s.top)-this.columnHeaderHeightAndMarginTop),f=g.searchArray(e,Math.round(s.bottom)-this.columnHeaderHeightAndMarginTop);h===-1&&f===0?(a=-1,u=-1):(h===-1?a=0:a=h,f===Number.POSITIVE_INFINITY||f>=i?u=i-1:u=f);const p=g.searchArray(n,Math.round(s.left)-this.rowHeaderWidthAndMarginLeft),_=g.searchArray(n,Math.round(s.right)-this.rowHeaderWidthAndMarginLeft);return p===-1&&_===0?(l=-1,c=-1):(p===-1?l=0:l=p,_===Number.POSITIVE_INFINITY||_>=o?c=o-1:c=_),{startRow:a,endRow:u,startColumn:l,endColumn:c}}_generateRowMatrixCache(e,n,s){var u;let i=0;const o=[],a=n;for(let l=0;l<e;l++){let c=s;if((u=this._worksheet)!=null&&u.getRowFiltered(l))c=0;else if(a[l]!=null){const h=a[l];if(!h)continue;const{h:f=s,ah:p,ia:_}=h;(_==null||_===g.BooleanNumber.TRUE)&&typeof p=="number"?c=p:c=f,h.hd===g.BooleanNumber.TRUE&&(c=0)}i+=c,o.push(i)}return{rowTotalHeight:i,rowHeightAccumulation:o}}_generateColumnMatrixCache(e,n,s){let i=0;const o=[],a=n;for(let u=0;u<e;u++){let l=s;if(a[u]!=null){const c=a[u];if(!c)continue;c.w!=null&&(l=c.w),c.hd===g.BooleanNumber.TRUE&&(l=0)}i+=l,o.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:o}}_getOverflowBound(e,n,s,i,o=g.HorizontalAlign.LEFT){var u,l;let a=0;if(n>s){const c=this._columnWidthAccumulation.length-1;for(let h=n;h>=s;h--){const f=h,p=(u=this._worksheet)==null?void 0:u.getCell(e,f);if(!g.isEmptyCell(p)&&f!==n||this.intersectMergeRange(e,f))return f===n?f:f+1>c?c:f+1;const{startX:_,endX:m}=we(e,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===g.HorizontalAlign.CENTER&&f===n?a+=(m-_)/2:a+=m-_,i<a)return f}return n}for(let c=n;c<=s;c++){const h=c,f=(l=this._worksheet)==null?void 0:l.getCell(e,h);if(!g.isEmptyCell(f)&&h!==n||this.intersectMergeRange(e,h))return h===n?h:h-1<0?0:h-1;const{startX:p,endX:_}=we(e,h,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===g.HorizontalAlign.CENTER&&h===n?a+=(_-p)/2:a+=_-p,i<a)return h}return s}intersectMergeRange(e,n){const s=this.dataMergeCache;for(const i of s){const{startRow:o,endRow:a,startColumn:u,endColumn:l}=i;if(e>=o&&e<=a&&n>=u&&n<=l)return!0}return!1}_calculateStylesCache(){const e=this._dataMergeCache,n=this._rowColumnSegment,s=this.columnWidthAccumulation,{startRow:i,endRow:o,startColumn:a,endColumn:u}=n;if(!(u===-1||o===-1)){for(const l of e)this._setCellCache(l.startRow,l.startColumn,!1,l);for(let l=i;l<=o;l++){for(let c=a;c<=u;c++)this._setCellCache(l,c,!1);for(let c=0;c<a;c++)this._setCellCache(l,c,!0);if(u!==0)for(let c=u+1;c<s.length;c++)this._setCellCache(l,c,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix},this._renderedCellCache=new g.ObjectMatrix,this._overflowCache.reset()}_makeDocumentSkeletonDirty(e,n){if(this._stylesCache.font==null)return;const s=Object.keys(this._stylesCache.font);for(const i of s){const o=this._stylesCache.font[i];if(o!=null&&o.getValue(e,n)){o.getValue(e,n).documentSkeleton.makeDirty(!0);return}}}_setCellCache(e,n,s,i){var O;const o=this._renderedCellCache.getValue(e,n);if(e===-1||n===-1)return!0;if(o===!1)return this._makeDocumentSkeletonDirty(e,n),!0;if(!this._worksheet)return!0;const a=this._worksheet.getCell(e,n)||this._worksheet.getCellRaw(e,n);if(!a)return!0;if(this._worksheet.getColVisible(n)===!1||this._worksheet.getRowVisible(e)===!1){const{isMerged:B,isMergedMainCell:S}=m2(e,n,this._dataMergeCache);if(B&&!S)return!0;if(!S)return!0}const l=this._stylesCache,c=this._styles.getStyleByCell(a);if(!s&&c&&c.bg&&c.bg.rgb){const B=c.bg.rgb;l.background[B]||(l.background[B]=new g.ObjectMatrix),l.background[B].setValue(e,n,B);const A=this.getCellByIndexWithNoHeader(e,n);(O=l.backgroundPositions)==null||O.setValue(e,n,A)}if(!s&&c&&c.bd&&(i?(this._setMergeBorderProps(K.TOP,l,i),this._setMergeBorderProps(K.BOTTOM,l,i),this._setMergeBorderProps(K.LEFT,l,i),this._setMergeBorderProps(K.RIGHT,l,i)):this.intersectMergeRange(e,n)||(this._setBorderProps(e,n,K.TOP,c,l),this._setBorderProps(e,n,K.BOTTOM,c,l),this._setBorderProps(e,n,K.LEFT,c,l),this._setBorderProps(e,n,K.RIGHT,c,l)),this._setBorderProps(e,n,K.TL_BR,c,l),this._setBorderProps(e,n,K.TL_BC,c,l),this._setBorderProps(e,n,K.TL_MR,c,l),this._setBorderProps(e,n,K.BL_TR,c,l),this._setBorderProps(e,n,K.ML_TR,c,l),this._setBorderProps(e,n,K.BC_TR,c,l)),o===!0)return this._makeDocumentSkeletonDirty(e,n),!0;if(g.isNullCell(a))return;const h=a&&this._getCellDocumentModel(a,{displayRawFormula:this._renderRawFormula});if(h==null)return;const{documentModel:f}=h;if(f==null)return;const{fontString:p,textRotation:_,wrapStrategy:m,verticalAlign:v,horizontalAlign:y}=h,C=new _e(f);l.font[p]||(l.font[p]=new g.ObjectMatrix);const E=l.font[p],{vertexAngle:x,centerAngle:T}=l2(_);if(C){const B=Je.create(C,this._localService);B.calculate();const S={documentSkeleton:B,vertexAngle:x,centerAngle:T,verticalAlign:v,horizontalAlign:y,wrapStrategy:m};E.setValue(e,n,S),this._calculateOverflowCell(e,n,S)}s?this._renderedCellCache.setValue(e,n,!0):this._renderedCellCache.setValue(e,n,!1)}_updateConfigAndGetDocumentModel(e,n,s){var o;if(!s||!((o=e.body)!=null&&o.dataStream))return;e.documentStyle||(e.documentStyle={}),e.documentStyle.pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},e.documentStyle.renderConfig=s;const i=e.body.paragraphs||[];for(const a of i)a.paragraphStyle||(a.paragraphStyle={}),a.paragraphStyle.horizontalAlign=n;return new g.DocumentDataModel(e)}_getDocumentDataByStyle(e,n,s){const i=e.length,{textRotation:o,paddingData:a={t:0,r:2,b:1,l:2},horizontalAlign:u=g.HorizontalAlign.UNSPECIFIED,verticalAlign:l=g.VerticalAlign.UNSPECIFIED,wrapStrategy:c=g.WrapStrategy.UNSPECIFIED,cellValueType:h}=s,{t:f,r:p,b:_,l:m}=a||{},{vertexAngle:v,centerAngle:y}=l2(o),C={id:"d",body:{dataStream:`${e}${g.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:n,st:0,ed:i}],paragraphs:[{startIndex:i,paragraphStyle:{horizontalAlign:u}}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:f,marginBottom:_,marginRight:p,marginLeft:m,renderConfig:{horizontalAlign:u,verticalAlign:l,centerAngle:y,vertexAngle:v,wrapStrategy:c,cellValueType:h}}};return new g.DocumentDataModel(C)}_setMergeBorderProps(e,n,s){var h;if(!this._worksheet||!n.border)return;const i=[];let o=!0,a=s.startRow,u=s.endRow,l=s.startRow,c=s.startColumn;e===K.TOP?(l=s.startRow,a=s.startColumn,u=s.endColumn):e===K.BOTTOM?(l=s.endRow,a=s.startColumn,u=s.endColumn):e===K.LEFT?(c=s.startColumn,a=s.startRow,u=s.endRow):e===K.RIGHT&&(c=s.endColumn,a=s.startRow,u=s.endRow);for(let f=a;f<=u;f++){e===K.TOP||e===K.BOTTOM?c=f:(e===K.LEFT||e===K.RIGHT)&&(l=f);const p=this._worksheet.getCell(l,c);if(!p){o=!1;break}const _=this._styles.getStyleByCell(p);if(!_){o=!1;break}const m=(h=_.bd)==null?void 0:h[e];if(m){const v=g.getColorStyle(m.cl)||ve;i.push({r:l,c,style:m.s,color:v})}else o=!1}o&&i.forEach(f=>{const{r:p,c:_,style:m,color:v}=f;n.border.getValue(p,_)||n.border.setValue(p,_,{}),n.border.getValue(p,_)[e]={type:e,style:m,color:v}})}_setBorderProps(e,n,s,i,o){var c,h,f;const a=(c=i.bd)==null?void 0:c[s];if(!a||!o.border)return!0;const u=g.getColorStyle(a.cl)||ve,l=o.border;if(l.getValue(e,n)||l.setValue(e,n,{[s]:{}}),s===K.TOP){if(((h=l.getValue(e-1,n))==null?void 0:h[K.BOTTOM])&&g.isWhiteColor(u))return!0}else if(s===K.LEFT&&((f=l.getValue(e,n-1))==null?void 0:f[K.RIGHT])&&g.isWhiteColor(u))return!0;l.getValue(e,n)[s]={type:s,style:a.s,color:u}}_getFontFormat(e){if(!e)return{};const{ff:n,fs:s,it:i,bl:o,ul:a,st:u,ol:l,cl:c}=e,h={};return n&&(h.ff=n),s&&(h.fs=s),i&&(h.it=i),o&&(h.bl=o),a&&(h.ul=a),u&&(h.st=u),l&&(h.ol=l),c&&(h.cl=c),h}_getOtherStyle(e){if(!e)return{};const{tr:n,td:s,ht:i,vt:o,tb:a,pd:u}=e;return{textRotation:n,textDirection:s,horizontalAlign:i,verticalAlign:o,wrapStrategy:a,paddingData:u}}_getMergeCells(e,n){const s=this.columnWidthAccumulation.length-1;n?n={startRow:n.startRow,endRow:n.endRow,endColumn:s,startColumn:0}:n={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:s};const{startRow:i,startColumn:o,endRow:a,endColumn:u}=n,l=[];for(let c=0;c<e.length;c++){const{startRow:h,endRow:f,startColumn:p,endColumn:_}=e[c];for(let m=i;m<=a;m++){let v=!1;for(let y=o;y<=u;y++)if(m>=h&&m<=f&&y>=p&&y<=_){l.push({startRow:h,endRow:f,startColumn:p,endColumn:_}),v=!0;break}if(v)break}}return l}};exports.SpreadsheetSkeleton=TF([E4(4,ae.Inject(g.LocaleService)),E4(5,g.IContextService)],exports.SpreadsheetSkeleton);const xF="DefaultFontExtension",BF=30;class Ln extends ye{constructor(){super(...arguments);d(this,"uKey",xF);d(this,"Z_INDEX",BF)}getDocuments(){const e=this.parent;return e==null?void 0:e.getDocuments()}draw(e,n,s,i){const{stylesCache:o,dataMergeCache:a,overflowCache:u,worksheet:l}=s,{font:c}=o;if(!s||!l)return;const{rowHeightAccumulation:h,columnTotalWidth:f,columnWidthAccumulation:p,rowTotalHeight:_}=s;if(!h||!p||f===void 0||_===void 0||!l)return;e.save();const m=this._getScale(n);c&&Object.keys(c).forEach(v=>{c[v].forValue((C,E,x)=>{var y1,p1,s1,o1,g1;const T=this.getCellIndex(C,E,h,p,a);let{startY:O,endY:B,startX:S,endX:A}=T;const{isMerged:k,isMergedMainCell:R,mergeInfo:M}=T;if(k||(R&&(O=M.startY,B=M.endY,S=M.startX,A=M.endX),!this.isRenderDiffRangesByRow(M.startRow,M.endRow,i)))return!0;const U=l.getCell(C,E)||{};if((y1=U.fontRenderExtension)!=null&&y1.isSkip)return!0;const I=u.getValue(C,E),{horizontalAlign:L,vertexAngle:$=0,centerAngle:z=0}=x;let V=L;L===g.HorizontalAlign.UNSPECIFIED&&(z===E1&&$===E1?V=g.HorizontalAlign.CENTER:($>0&&$!==E1||$===-E1)&&(V=g.HorizontalAlign.RIGHT)),e.save(),e.beginPath();const H=(s1=(p1=U.fontRenderExtension)==null?void 0:p1.rightOffset)!=null?s1:0,Z=(g1=(o1=U.fontRenderExtension)==null?void 0:o1.leftOffset)!=null?g1:0;let e1=!0;$===0&&(S=S+Z,A=A-H,(H!==0||Z!==0)&&(e1=!1));const t1=A-S,i1=B-O;if(I&&e1){const{startColumn:a1,startRow:S1,endColumn:D1,endRow:v1}=I;a1===D1&&a1===E?(e.rectByPrecision(S+1/m,O+1/m,t1-2/m,i1-2/m),e.clip(),e.clearRectForTexture(S+1/m,O+1/m,t1-2/m,i1-2/m)):V===g.HorizontalAlign.CENTER?this._clipRectangle(e,S1,v1,a1,D1,m,h,p):V===g.HorizontalAlign.RIGHT?this._clipRectangle(e,S1,C,a1,E,m,h,p):this._clipRectangle(e,C,v1,E,D1,m,h,p)}else e.rectByPrecision(S+1/m,O+1/m,t1-2/m,i1-2/m),e.clip(),e.clearRectForTexture(S+1/m,O+1/m,t1-2/m,i1-2/m);e.translate(S+_1,O+_1),this._renderDocuments(e,x,S,O,A,B,C,E,u),e.restore()})}),e.restore()}_renderDocuments(e,n,s,i,o,a,u,l,c){const h=this.getDocuments();if(h==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:p=0,wrapStrategy:_}=n,m=o-s,v=a-i;_===g.WrapStrategy.WRAP&&p===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(m),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const y=c.getValue(u,l);if(!(_===g.WrapStrategy.WRAP&&!y&&p===0)){const C=p2(f),E=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(C&&E){const{width:x}=C,{marginRight:T=0,marginLeft:O=0}=E;f.getViewModel().getDataModel().updateDocumentDataPageSize(x+O+T),f.calculate()}}f.makeDirty(!1),h.resize(m,v),h.changeSkeleton(f).render(e)}_clipRectangle(e,n,s,i,o,a,u,l){const c=u[n-1]||0,h=u[s]||u[u.length-1],f=l[i-1]||0,p=l[o]||l[l.length-1];e.rectByPrecision(f,c,p-f,h-c),e.clip(),e.clearRectForTexture(f,c,p-f,h-c)}}Le.add(Ln);const OF="DefaultRowHeaderLayoutExtension";class Mn extends ye{constructor(){super(...arguments);d(this,"uKey",OF);d(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,rowHeaderWidth:o=0}=s,{startRow:a,endRow:u}=i;if(!s||o===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const p=this._getScale(n);e.fillStyle=F1([248,249,250]),e.fillRectByPrecision(0,0,o,f),e.textAlign="center",e.textBaseline="middle",e.fillStyle=F1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(_1,_1),e.strokeStyle=F1([217,217,217]),e.font=`13px ${O2}`;let _=0;const m=l.length;for(let y=a-1;y<=u;y++){if(y<0||y>m-1)continue;const C=l[y];if(_===C)continue;e.moveToByPrecision(0,C),e.lineToByPrecision(o,C);const E=_+(C-_)/2;e.fillText(`${y+1}`,o/2,E+m6),_=C}const v=o-.5/p;e.moveToByPrecision(v,0),e.lineToByPrecision(v,f),e.stroke()}}P6.add(new Mn);const wF="DefaultMarkerExtension",AF=60,RF=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class Pn extends ye{constructor(){super(...arguments);d(this,"Z_INDEX",AF);d(this,"uKey",wF)}draw(e,n,s,i){const{worksheet:o,rowColumnSegment:a}=s;if(!o)return;const u=new Set;g.Range.foreach(a,(l,c)=>{var x,T,O,B;let h=o.getCell(l,c);const f=this.getCellIndex(l,c,s.rowHeightAccumulation,s.columnWidthAccumulation,s.dataMergeCache),{isMerged:p,isMergedMainCell:_,mergeInfo:m}=f;let{startY:v,endY:y,startX:C,endX:E}=f;if((_||p)&&(v=m.startY,y=m.endY,C=m.startX,E=m.endX),p){const S={row:m.startRow,col:m.startColumn};h=o.getCell(S.row,S.col)}if(!this.isRenderDiffRangesByRow(m.startRow,m.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const S=RF(m);if(u.has(S))return;u.add(S)}if(!(!o.getColVisible(c)||!o.getRowRawVisible(l))&&h){if((x=h.markers)!=null&&x.tr){e.save();const S=h.markers.tr,A=E,k=v;e.fillStyle=S.color,e.moveTo(A,k),e.beginPath(),e.lineTo(A-S.size,k),e.lineTo(A,k+S.size),e.lineTo(A,k),e.closePath(),e.fill(),e.restore()}if((T=h.markers)!=null&&T.tl){e.save();const S=h.markers.tl,A=C,k=v;e.fillStyle=S.color,e.moveTo(A,k),e.beginPath(),e.lineTo(A+S.size,k),e.lineTo(A,k+S.size),e.lineTo(A,k),e.closePath(),e.fill(),e.restore()}if((O=h.markers)!=null&&O.br){e.save();const S=h.markers.br,A=E,k=y;e.fillStyle=S.color,e.moveTo(A,k),e.beginPath(),e.lineTo(A-S.size,k),e.lineTo(A,k-S.size),e.lineTo(A,k),e.closePath(),e.fill(),e.restore()}if((B=h.markers)!=null&&B.bl){e.save();const S=h.markers.bl,A=C,k=y;e.fillStyle=S.color,e.moveTo(A,k),e.beginPath(),e.lineTo(A+S.size,k),e.lineTo(A,k-S.size),e.lineTo(A,k),e.closePath(),e.fill(),e.restore()}}})}}Le.add(Pn);const kF="DefaultCustomExtension",IF=55,LF=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class Nn extends ye{constructor(){super(...arguments);d(this,"Z_INDEX",IF);d(this,"uKey",kF)}draw(e,n,s,i){const{rowHeightAccumulation:o,columnWidthAccumulation:a,worksheet:u,dataMergeCache:l,rowColumnSegment:c}=s;if(!u)return;const h=new Set,f=u.getSheetId();g.Range.foreach(c,(p,_)=>{let m=u.getCell(p,_);if(!(m!=null&&m.customRender))return;let v=this.getCellIndex(p,_,o,a,l);const{mergeInfo:y}=v;if(!this.isRenderDiffRangesByRow(y.startRow,y.endRow,i))return!0;if(v.isMerged||v.isMergedMainCell){const x=LF(y);if(h.has(x))return;h.add(x)}if(v.isMerged){const x={row:y.startRow,col:y.startColumn};if(m=u.getCell(x.row,x.col),!(m!=null&&m.customRender))return;v=this.getCellIndex(x.row,x.col,o,a,l)}const C={data:m,style:s.getsStyles().getStyleByCell(m),primaryWithCoord:v,subUnitId:f,row:p,col:_};if(!u.getColVisible(_)||!u.getRowRawVisible(p))return;const E=m.customRender.sort(g.sortRules);e.save(),E.forEach(x=>{x.drawWith(e,C,s,this.parent)}),e.restore()})}}Le.add(Nn);var Un=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(Un||{});class MF extends $6{constructor(e,n){super(e,n);d(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const o=s.rowColumnSegment;if(o.startRow===-1&&o.endRow===-1)return;const{columnHeaderHeight:a}=s;e.translateWithPrecision(0,a);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>=0&&n.x<=i&&n.y>o}_initialDefaultExtension(){P6.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var d6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(d6||{});class Ct extends M6{constructor(){super(...arguments);d(this,"type",0);d(this,"translateX",0);d(this,"translateY",0)}}const PF="DefaultDocsBackgroundExtension",NF=10;class UF extends Ct{constructor(){super(...arguments);d(this,"uKey",PF);d(this,"Z_INDEX",NF);d(this,"_preBackgroundColor","")}draw(e,n,s){var p;const i=(p=s.parent)==null?void 0:p.parent;if(!i)return;const{contentHeight:o=0}=i,{ts:a,width:u}=s;if(!a)return;const{bg:l}=a;if(!l)return;const c=g.getColorStyle(l),{spanStartPoint:h=P.create(0,0)}=this.extensionOffset,f=1.5;c&&(e.fillStyle=c,e.fillRectByPrecision(h.x-.5,h.y-1,u+1,o+2*f))}clearCache(){this._preBackgroundColor=""}}t2.add(new UF);const $F="DefaultDocsBorderExtension";class HF extends Ct{constructor(){super(...arguments);d(this,"uKey",$F);d(this,"Z_INDEX",50);d(this,"_preBorderStyle");d(this,"_preBorderColor","")}draw(e,n,s){var m;const i=(m=s.parent)==null?void 0:m.parent;if(!i)return;const{asc:o=0,lineHeight:a=0}=i,{ts:u,left:l,width:c}=s;if(!u)return;const{bd:h}=u;if(!h)return;const f=this._getScale(e.getScale()),p=this._createBorderCache(h);e.save(),e.translateWithPrecisionRatio(_1,_1);const{spanStartPoint:_=P.create(0,0)}=this.extensionOffset;for(const v of p.keys()){const y=p.get(v);if(!y)continue;const{s:C,cl:E}=y,x=g.getColorStyle(E)||ve,T=A6(C);C!==this._preBorderStyle&&(w6(e,C),e.setLineWidthByPrecision(T),this._preBorderStyle=C),x!==this._preBorderColor&&(e.strokeStyle=x||ve,this._preBorderColor=x),O6(e,v,(T-1)/2/f,{startX:_.x,startY:_.y,endX:_.x+c,endY:_.y+a})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(e){const{t:n,b:s,l:i,r:o}=e,a=new Map;return n&&a.set(K.TOP,n),s&&a.set(K.BOTTOM,s),i&&a.set(K.LEFT,i),o&&a.set(K.RIGHT,o),a}}t2.add(new HF);const GF="DefaultDocsFontAndBaseLineExtension",zF=20;class XF extends Ct{constructor(){super(...arguments);d(this,"uKey",GF);d(this,"Z_INDEX",zF);d(this,"_preFontString","");d(this,"_preFontColor","")}draw(e,n,s){var _;if(!((_=s.parent)==null?void 0:_.parent))return;const{ts:o,content:a,fontStyle:u,bBox:l}=s,{spanPointWithFont:c=P.create(0,0)}=this.extensionOffset;if(a==null)return;if(!o){this._fillText(e,s,c);return}this._preFontString!==(u==null?void 0:u.fontString)&&(e.font=this._preFontString=(u==null?void 0:u.fontString)||"");const{cl:h,va:f}=o,p=g.getColorStyle(h)||ve;p&&this._preFontColor!==p&&(e.fillStyle=p),f===g.BaselineOffset.SUPERSCRIPT?c.y+=-l.spo:f===g.BaselineOffset.SUBSCRIPT&&(c.y+=l.sbo),this._fillText(e,s,c)}_fillText(e,n,s){const{renderConfig:i,spanStartPoint:o,centerPoint:a}=this.extensionOffset,{content:u,width:l,bBox:c}=n,{aba:h,abd:f}=c;if(u==null||o==null||a==null)return;const{vertexAngle:p,centerAngle:_}=i!=null?i:{},m=90;p===m&&_===m&&!w2(u)?(e.save(),e.translate(o.x+a.x,o.y+a.y),e.rotate(Math.PI/2),e.translate(-l/2,(h+f)/2-f),e.fillText(u,0,0),e.restore()):e.fillText(u,s.x,s.y)}clearCache(){this._preFontString="",this._preFontColor=""}}t2.add(new XF);const WF="DefaultDocsLineExtension",YF=40;class VF extends Ct{constructor(){super(...arguments);d(this,"uKey",WF);d(this,"Z_INDEX",YF);d(this,"_preBackgroundColor","")}draw(e,n,s){var x;const i=(x=s.parent)==null?void 0:x.parent;if(!i)return;const{contentHeight:o=0,asc:a}=i,{ts:u,bBox:l}=s;if(!u)return;const{sp:c,spo:h,sbo:f,bd:p}=l,_=T6(n),m=.5,{ul:v,st:y,ol:C,va:E}=u;if(v){const T=o+Vt-3;this._drawLine(e,s,v,T,_)}if(y){let T=a+p-c-m;E===g.BaselineOffset.SUPERSCRIPT?T-=h:E===g.BaselineOffset.SUBSCRIPT&&(T+=f),this._drawLine(e,s,y,T,_)}if(C){const T=-Vt-m;this._drawLine(e,s,C,T,_)}}clearCache(){this._preBackgroundColor=""}_drawLine(e,n,s,i,o){var h;const{s:a,cl:u,t:l,c=g.BooleanNumber.TRUE}=s;if(a===g.BooleanNumber.TRUE){const{originTranslate:f=P.create(0,0),alignOffset:p=P.create(0,0),renderConfig:_={}}=this.extensionOffset,{left:m,width:v}=n,{centerAngle:y=0,vertexAngle:C=0}=_,E=K1(y),x=K1(C);e.save(),e.translateWithPrecisionRatio(_1,_1),e.beginPath();const T=(c===g.BooleanNumber.TRUE?g.getColorStyle((h=n.ts)==null?void 0:h.cl):g.getColorStyle(u))||ve;e.strokeStyle=T,this._setLineType(e,l||g.TextDecoration.SINGLE);const O=We(f.addByPoint(m,i),P.create(0,0),E,x,p),B=We(f.addByPoint(m+v,i),P.create(0,0),E,x,p);e.moveToByPrecision(O.x,O.y),e.lineToByPrecision(B.x,B.y),e.stroke(),e.restore()}}_setLineType(e,n){n===g.TextDecoration.DASH_DOT_DOT_HEAVY||n===g.TextDecoration.DOT_DOT_DASH?e.setLineDash([2,2,5,2,2]):n===g.TextDecoration.DASH_DOT_HEAVY||n===g.TextDecoration.DOT_DASH?e.setLineDash([2,5,2]):n===g.TextDecoration.DOTTED||n===g.TextDecoration.DOTTED_HEAVY?e.setLineDash([2]):n===g.TextDecoration.DASH||n===g.TextDecoration.DASHED_HEAVY?e.setLineDash([3]):n===g.TextDecoration.DASH_LONG||n===g.TextDecoration.DASH_LONG_HEAVY?e.setLineDash([6]):e.setLineDash([0])}}t2.add(new VF);class jF extends L6{constructor(e,n){super(e);d(this,"pageMarginLeft",0);d(this,"pageMarginTop",0);d(this,"pageLayoutType",q1.VERTICAL);this._skeleton=n}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;const s=this.transform.getMatrix();e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e,n),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:n=1}=this.parent;return this.parent.classType===j.SCENE&&(e=this.parent.ancestorScaleX||1,n=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:n}}scrollBySelection(){}syncSelection(){}remainActiveSelection(){}findNodeByCoord(e,n){}findCoordByNode(e){}_getBounding(e){}_draw(e,n){}}class N2 extends jF{constructor(e,n,s){super(e,n);d(this,"onPageRenderObservable",new g.Observable);d(this,"docsLeft",0);d(this,"docsTop",0);d(this,"_drawLiquid");d(this,"_findLiquid");d(this,"_skeletonObserver");this.setConfig(s),this._drawLiquid=new F2,this._findLiquid=new F2,this._initialDefaultExtension(),this.makeDirty(!0)}static create(e,n,s){return new N2(e,n,s)}setConfig(e){(e==null?void 0:e.pageMarginLeft)!=null?this.pageMarginLeft=e==null?void 0:e.pageMarginLeft:this.pageMarginLeft=17,(e==null?void 0:e.pageMarginTop)!=null?this.pageMarginTop=e==null?void 0:e.pageMarginTop:this.pageMarginTop=14,(e==null?void 0:e.pageLayoutType)!=null?this.pageLayoutType=e==null?void 0:e.pageLayoutType:this.pageLayoutType=q1.VERTICAL}getOffsetConfig(){const{transform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,left:o,top:a}=this;return{documentTransform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,docsLeft:o,docsTop:a}}getEngine(){return this.getScene().getEngine()}draw(e,n){var p;if(!this.getSkeleton())return;this._drawLiquid.reset();const i=(p=this.getSkeleton())==null?void 0:p.getSkeletonData();if(i==null)return;this._drawLiquid.reset();const{pages:o}=i,a=this.getParentScale(),u=this.getExtensionsByOrder();for(const _ of u)_.clearCache();const l=u.find(_=>_.uKey==="DefaultDocsBackgroundExtension"),c=u.filter(_=>_.type===d6.SPAN&&_.uKey!=="DefaultDocsBackgroundExtension");let h=0,f=0;for(let _=0,m=o.length;_<m;_++){const v=o[_],{sections:y,marginTop:C=0,marginBottom:E=0,marginLeft:x=0,marginRight:T=0,width:O,height:B,renderConfig:S={}}=v,{verticalAlign:A=g.VerticalAlign.TOP,horizontalAlign:k=g.HorizontalAlign.LEFT,centerAngle:R=0,vertexAngle:M=0,wrapStrategy:U=g.WrapStrategy.UNSPECIFIED,cellValueType:I}=S,L=this._horizontalHandler(O,x,T,k,M,R,I),$=this._verticalHandler(B,C,E,A),z=P.create(L,$),V=K1(R),H=K1(M),Z=H-V;if(this._isSkipByDiffBounds(v,h,f,n)){const{x:i1,y:y1}=this._drawLiquid.translatePage(v,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);f+=i1,h+=y1;continue}this.onPageRenderObservable.notifyObservers({page:v,pageLeft:f,pageTop:h,ctx:e}),this._startRotation(e,Z);for(const i1 of y){const{columns:y1}=i1;this._drawLiquid.translateSection(i1);for(const p1 of y1){const{lines:s1,width:o1}=p1;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(p1);const g1=s1.length;let a1=z,S1=null;if(H!==0){const{rotateTranslateXList:D1,rotatedHeight:v1,rotatedWidth:L1,fixOffsetX:T1,fixOffsetY:J1,rotateTranslateY:ce}=R6(s1,o1,H);let Q1=L1;v1>this.height&&U!==g.WrapStrategy.WRAP&&(U===g.WrapStrategy.OVERFLOW||H>0)&&(Q1=this.height/Math.tan(Math.abs(H)));const ee=this._horizontalHandler(Q1,x,T,k,M,R);let x1=this._verticalHandler(v1,C,E,A)-J1;v1>this.height&&(H<0?x1=this.height-(v1+J1):x1=-J1),a1=P.create(ee+T1,x1),this._drawLiquid.translate(0,-ce),S1=D1}else U===g.WrapStrategy.WRAP&&(a1.x=x);for(let D1=0;D1<g1;D1++){const v1=s1[D1],{divides:L1,asc:T1=0,type:J1,lineHeight:ce=0}=v1,Q1=T1,ee=Q1*Math.sin(V),Fe=Q1*Math.cos(V);if(J1===R2.BLOCK)for(const x1 of u)x1.type===d6.LINE&&(x1.extensionOffset={alignOffset:a1,renderConfig:S},x1.draw(e,a,v1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(v1,!0),S1&&this._drawLiquid.translate(S1[D1]);const x1=L1.length;for(let he=0;he<x1;he++){const Ce=L1[he],{glyphGroup:Ee}=Ce;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(Ce);for(const C1 of Ee){if(!C1.content||C1.content.length===0)continue;const{width:s2,left:Pe}=C1,{x:Ne,y:i2}=this._drawLiquid,o2=P.create(Ne,i2),te=P.create(s2/2,ce/2),a2={spanStartPoint:We(o2.addByPoint(Pe,0),te,V,H,a1)};l&&(l.extensionOffset=a2,l.draw(e,a,C1))}for(const C1 of Ee){if(!C1.content||C1.content.length===0)continue;const{width:s2,left:Pe,xOffset:Ne}=C1,{x:i2,y:o2}=this._drawLiquid,te=P.create(i2,o2),Se=P.create(s2/2,ce/2),a2=We(te.addByPoint(Pe+Ne,0),Se,V,H,a1),U2=We(te.addByPoint(Pe+ee+Ne,Fe),Se,V,H,a1),St={originTranslate:te,spanStartPoint:a2,spanPointWithFont:U2,centerPoint:Se,alignOffset:a1,renderConfig:S};for(const $2 of c)$2.extensionOffset=St,$2.draw(e,a,C1)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,Z);const{x:e1,y:t1}=this._drawLiquid.translatePage(v,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);f+=e1,h+=t1}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,n){this.draw(e,n)}_horizontalHandler(e,n,s,i,o=0,a=0,u){i===g.HorizontalAlign.UNSPECIFIED&&(a===E1&&o===E1?i=g.HorizontalAlign.CENTER:o>0&&o!==E1||o===-E1||u===g.CellValueType.NUMBER?i=g.HorizontalAlign.RIGHT:u===g.CellValueType.BOOLEAN?i=g.HorizontalAlign.CENTER:i=g.HorizontalAlign.LEFT);let l=0;return i===g.HorizontalAlign.CENTER?l=(this.width-e)/2:i===g.HorizontalAlign.RIGHT?l=this.width-e-s:l=n,l}_verticalHandler(e,n,s,i){let o=0;return i===g.VerticalAlign.MIDDLE?o=(this.height-e)/2:i===g.VerticalAlign.TOP?o=n:o=this.height-e-s,o}_startRotation(e,n){e.rotate(n||0)}_resetRotation(e,n){e.rotate(-n||0)}_initialDefaultExtension(){t2.getData().forEach(e=>{this.register(e)})}_isSkipByDiffBounds(e,n,s,i){if(i==null)return!1;const{pageWidth:o,pageHeight:a,marginBottom:u,marginTop:l,marginLeft:c,marginRight:h}=e,f=s+o+c+h,p=n+a+u+l,{left:_,top:m,right:v,bottom:y}=i.viewBound;return f<_||p<m||s>v&&o!==Number.POSITIVE_INFINITY||n>y&&a!==Number.POSITIVE_INFINITY}}const KF="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class qF extends U6{constructor(e,n,s=!0){super(e,n);d(this,"_backgroundExtension");d(this,"_borderExtension");d(this,"_fontExtension");d(this,"_cacheCanvas");d(this,"_refreshIncrementalState",!1);d(this,"_forceDirty",!1);d(this,"_overflowCacheRuntime",{});d(this,"_overflowCacheRuntimeRange",new g.ObjectMatrix);d(this,"_overflowCacheRuntimeTimeout",-1);d(this,"_forceDisableGridlines",!1);d(this,"_documents",new N2(KF,void 0,{pageMarginLeft:0,pageMarginTop:0}));d(this,"isPrinting",!1);this._allowCache=s,this._allowCache&&(this._cacheCanvas=new e2,this.onIsAddedToParentObserver.add(i=>{var o;(o=i==null?void 0:i.getEngine())==null||o.onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()}),this._resizeCacheCanvas(),this._addMakeDirtyToScroll()})),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale(),o=this._refreshIncrementalState?n==null?void 0:n.diffBounds.map(u=>s.getRowColumnSegmentByViewBound(u)):void 0,a=this.getExtensionsByOrder();for(const u of a)u.draw(e,i,s,o)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>i&&n.y>o}getNoMergeCellPositionByIndex(e,n){const s=this.getSkeleton();if(!s)return;const{rowHeightAccumulation:i,columnWidthAccumulation:o,rowHeaderWidth:a,columnHeaderHeight:u}=s;let{startY:l,endY:c,startX:h,endX:f}=we(e,n,i,o);return l+=u,c+=u,h+=a,f+=a,{startY:l,endY:c,startX:h,endX:f}}getScrollXYByRelativeCoords(e){const n=this.getParent();let s=0,i=0;const o=n.getActiveViewportByRelativeCoord(e);if(o){const a=o.actualScrollX||0,u=o.actualScrollY||0;s+=a,i+=u}return{x:s,y:i}}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,n,s,i){var o;return(o=this.getSkeleton())==null?void 0:o.getMergeBounding(e,n,s,i)}render(e,n){if(!this.visible)return this.makeDirty(!1),this;const s=this.getSkeleton();if(!s)return;s.calculateWithoutClearingCache(n);const i=s.rowColumnSegment;if(i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();const{a:o=1,d:a=1}=e.getTransform(),{rowHeaderWidth:u,columnHeaderHeight:l}=s;if(e.translateWithPrecision(u,l),this._drawAuxiliary(e,n),n&&this._allowCache===!0){const{viewBound:c,diffBounds:h,diffX:f,diffY:p,viewPortPosition:_,viewPortKey:m}=n;if(m==="viewMain"){const v=this._cacheCanvas.getContext();v.save();const{left:y,top:C,right:E,bottom:x}=_,T=E-y+u,O=x-C+l;if(h.length===0||f===0&&p===0||this._forceDirty)(this.isDirty()||this._forceDirty)&&(this._cacheCanvas.clear(),v.setTransform(e.getTransform()),this._draw(v,n),this._forceDirty=!1),this._applyCache(e,y,C,T,O,y,C,T,O);else{if(this.isDirty()){v.save(),v.globalCompositeOperation="copy",v.setTransform(1,0,0,1,0,0),v.drawImage(this._cacheCanvas.getCanvasEle(),f*o,p*a),v.restore(),this._refreshIncrementalState=!0,v.setTransform(e.getTransform());for(const B of h){const{left:S,right:A,bottom:k,top:R}=B;v.save(),v.beginPath(),v.rectByPrecision(S-u-_1,R-l-_1,A-S+u+_1*2,k-R+l+_1*2),v.clip(),this._draw(v,{viewBound:n.viewBound,diffBounds:[B],diffX:n.diffX,diffY:n.diffY,viewPortPosition:n.viewPortPosition,viewPortKey:n.viewPortKey}),v.restore()}this._refreshIncrementalState=!1}this._applyCache(e,y,C,T,O,y,C,T,O)}v.restore()}else this._draw(e,n)}else this._draw(e,n);return e.restore(),this.makeDirty(!1),this}_resizeCacheCanvas(){const e=this._getAncestorSize();if(!e||this._cacheCanvas==null)return;const{width:n,height:s}=e;this._cacheCanvas.setSize(n,s),this.makeForceDirty(!0)}_applyCache(e,n=0,s=0,i=0,o=0,a=0,u=0,l=0,c=0){if(!e)return;const h=this._cacheCanvas.getPixelRatio(),f=this._cacheCanvas.getContext();f.save(),e.save(),e.setTransform(1,0,0,1,0,0),f.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),n*h,s*h,i*h,o*h,a*h,u*h,l*h,c*h),e.restore(),f.restore()}_draw(e,n){this.draw(e,n)}_getAncestorSize(){const e=this._getAncestorParent();if(e){if(e.classType===j.ENGINE){const n=e.getCanvas();return{width:n.getWidth(),height:n.getHeight()}}if(e.classType===j.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===j.ENGINE||e.classType===j.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){Le.getData().sort(g.sortRules).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_addMakeDirtyToScroll(){this._hasScrollViewportOperator(this,e=>{e.onScrollBeforeObserver.add(()=>{this.makeDirty(!0)})})}_hasScrollViewportOperator(e,n){let s=e.getParent();for(;s;){if(s.classType===j.SCENE){const i=s.getViewports(),o=this._getHasScrollViewports(i);for(const a of o)a&&n(a)}s=(s==null?void 0:s.getParent)&&(s==null?void 0:s.getParent())}}_getHasScrollViewports(e){const n=[];for(const s of e)s.getScrollBar()&&n.push(s);return n}_drawAuxiliary(e,n){const s=this.getSkeleton();if(s==null)return;const{rowColumnSegment:i,dataMergeCache:o,overflowCache:a,stylesCache:u,showGridlines:l}=s,{border:c,backgroundPositions:h}=u,{startRow:f,endRow:p,startColumn:_,endColumn:m}=i;if(!s||l===g.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:v,columnTotalWidth:y,columnWidthAccumulation:C,rowTotalHeight:E}=s;if(!v||!C||y===void 0||E===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=F1([212,212,212]);const x=C.length,T=v.length,O=.4,B=p-f+1,S=m-_+1,A=Math.ceil(B*O),k=Math.ceil(S*O),R=Math.max(Math.floor(f-A),0),M=Math.min(Math.ceil(p+A),T-1),U=Math.min(Math.ceil(m+k),x-1),I=Math.max(Math.floor(_-k),0),L=C[I-1]||0,$=v[R-1]||0,z=C[U],V=v[M];e.translateWithPrecisionRatio(_1,_1),e.beginPath(),e.moveToByPrecision(L,$),e.lineToByPrecision(z,$),e.moveToByPrecision(L,$),e.lineToByPrecision(L,V),e.closePathByEnv(),e.stroke();for(let H=R;H<=M;H++){if(H<0||H>T-1)continue;const Z=v[H];e.beginPath(),e.moveToByPrecision(L,Z),e.lineToByPrecision(z,Z),e.closePathByEnv(),e.stroke()}for(let H=I;H<=U;H++){if(H<0||H>x-1)continue;const Z=C[H];e.beginPath(),e.moveToByPrecision(Z,$),e.lineToByPrecision(Z,V),e.closePathByEnv(),e.stroke()}this._clearRectangle(e,v,C,o),this._clearRectangle(e,v,C,a.toNativeArray()),this._clearBackground(e,h),e.restore()}_clearRectangle(e,n,s,i){if(i!=null)for(const o of i){const{startRow:a,endRow:u,startColumn:l,endColumn:c}=o,h=n[a-1]||0,f=n[u]||n[n.length-1],p=s[l-1]||0,_=s[c]||s[s.length-1];e.clearRectByPrecision(p,h,_-p,f-h),e.beginPath(),e.moveToByPrecision(p,h),e.lineToByPrecision(_,h),e.lineToByPrecision(_,f),e.lineToByPrecision(p,f),e.lineToByPrecision(p,h),e.stroke(),e.closePath()}}_clearBackground(e,n){n==null||n.forValue((s,i,o)=>{let{startY:a,endY:u,startX:l,endX:c}=o;const{isMerged:h,isMergedMainCell:f,mergeInfo:p}=o;if(h)return!0;f&&(a=p.startY,u=p.endY,l=p.startX,c=p.endX),e.clearRectForTexture(l,a,c-l+.5,u-a+.5)})}}function x4(r,t,e){r.onPointerEnterObserver.add(n=>{t(r,n)}),r.onPointerLeaveObserver.add(n=>{e(r,n)})}class o0 extends ue{constructor(e,n){super(e);d(this,"_subScenes",new Map);d(this,"_activeSubScene");d(this,"_allowSelectedClipElement",!1);this._initialProps(n)}get classType(){return j.SCENE_VIEWER}render(e,n){var i;if(!this.visible)return this.makeDirty(!1),this;if(n){const{left:o,top:a,right:u,bottom:l}=n.viewBound;if(this.width+this.strokeWidth+this.left<o||u<this.left||this.height+this.strokeWidth+this.top<a||l<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),(i=this._activeSubScene)==null||i.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(const[n,s]of this._subScenes)if(n===e)return s}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){const n=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===n&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;const n=this._subScenes.get(e);this._activeSubScene!==n&&(this._activeSubScene=n,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var i;if(this._activeSubScene===void 0)return;const s=this.transform.clone().invert().applyPoint(e);return(i=this._activeSubScene)==null?void 0:i.pick(s)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(o=>{if(e[o]===void 0)return!0;s[o]=e[o],i=!0}),i&&this.transformByState(s),this.makeDirty(!0)}}const $n=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class Me extends ue{constructor(e,n){super(e);d(this,"_hoverCursor");d(this,"_moveCursor",null);d(this,"_fillRule","nonzero");d(this,"_globalCompositeOperation","source-over");d(this,"_paintFirst","fill");d(this,"_stroke");d(this,"_strokeScaleEnabled",!1);d(this,"_fill");d(this,"_fillAfterStrokeEnabled",!1);d(this,"_hitStrokeWidth",0);d(this,"_strokeLineJoin","round");d(this,"_strokeLineCap","round");d(this,"_shadowColor");d(this,"_shadowBlur",0);d(this,"_shadowOffset");d(this,"_shadowOffsetX",0);d(this,"_shadowOffsetY",0);d(this,"_shadowOpacity",0);d(this,"_shadowEnabled",!1);d(this,"_shadowForStrokeEnabled",!1);d(this,"_strokeDashArray");d(this,"_strokeDashOffset",0);d(this,"_strokeMiterLimit",0);d(this,"_type",v6.RECT);this._initialProps(n)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,n){}static _renderPaintInOrder(e,n){n.paintFirst==="stroke"?(this._renderStroke(e,n),this._renderFill(e,n)):(this._renderFill(e,n),this._renderStroke(e,n))}static _renderFill(e,n){n.fill&&(e.save(),this._setFillStyles(e,n),n.fillRule==="evenodd"?e.fill("evenodd"):e.fill(),e.restore())}static _renderStroke(e,n){const{stroke:s,strokeWidth:i,shadowEnabled:o,shadowForStrokeEnabled:a,strokeScaleEnabled:u,parent:l}=n;let{scaleX:c,scaleY:h}=e.getScale();!s||i===0||(o&&!a&&this._removeShadow(e),e.save(),u===!1&&(c=c!=null?c:1,h=h!=null?h:1,e.scale(1/c,1/h)),this._setLineDash(e),this._setStrokeStyles(e,n),e.stroke(),e.restore())}static _getObjectScaling(){return{scaleX:1,scaleY:1}}static _removeShadow(e){}static _setFillStyles(e,n){e.fillStyle=n.fill}static _setStrokeStyles(e,n){const{strokeWidth:s,strokeLineCap:i,strokeDashOffset:o,strokeLineJoin:a,strokeMiterLimit:u,stroke:l}=n;e.lineWidth=s,e.lineCap=i,e.lineDashOffset=o,e.lineJoin=a,e.miterLimit=u,e.strokeStyle=l}static _setLineDash(e){}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:o,bottom:a,right:u}=n.viewBound;if(this.width+this.strokeWidth+this.left<o||u<this.left||this.height+this.strokeWidth+this.top<i||a<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;it.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}toJson(){const e={};return $n.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(o=>{if(e[o]===void 0)return!0;it.indexOf(o)>-1?(s[o]=e[o],i=!0):this[`_${o}`]=e[o]}),i&&this.transformByState(s),this.makeDirty(!0)}}const Hn=["dataArray"];class B1 extends Me{constructor(e,n){super(e,n);d(this,"_dataArray",[]);d(this,"_pathLength",0);d(this,"_selfRectCache",{left:0,top:0,width:0,height:0});d(this,"_reCalculateCache",!0);n!=null&&n.data?this._dataArray=B1.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let s=0;s<this.dataArray.length;++s)this._pathLength+=this.dataArray[s].pathLength;this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,preValue:o}=s;if(i===h1.resize||i===h1.all){this._reCalculateCache=!0;const{left:a,top:u,width:l,height:c}=this._getSelfRect(),{width:h,height:f}=o;let p,_;h?p=this.width-h:p=0,f?_=this.height-f:_=0;const m=p/l,v=_/c;this.scaleX+=m,this.scaleY+=v,this.left=this.left-a*m,this.top=this.top-u*v,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,n){const s=n.dataArray;if(s){e.beginPath();for(let i=0;i<s.length;i++){const o=s[i].command,a=s[i].points;switch(o){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":{const u=a[0],l=a[1],c=a[2],h=a[3],f=a[4],p=a[5],_=a[6],m=a[7],v=c>h?c:h,y=c>h?1:c/h,C=c>h?h/c:1;e.translate(u,l),e.rotate(_),e.scale(y,C),e.arc(0,0,v,f,f+p,!!(1-m)),e.scale(1/y,1/C),e.rotate(-_),e.translate(-u,-l);break}case"z":e.closePath();break}}this._renderPaintInOrder(e,n)}}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPointOnLine(e,n,s,i,o,a,u){a===void 0&&(a=n),u===void 0&&(u=s);const l=(o-s)/(i-n+1e-8);let c=Math.sqrt(e*e/(1+l*l));i<n&&(c*=-1);let h=l*c,f;if(i===n)f={x:a,y:u+h};else if((u-s)/(a-n+1e-8)===l)f={x:a+c,y:u+h};else{const p=this.getLineLength(n,s,i,o);let _=(a-n)*(i-n)+(u-s)*(o-s);_/=p*p;const m=n+_*(i-n),v=s+_*(o-s),y=this.getLineLength(a,u,m,v),C=Math.sqrt(e*e-y*y);c=Math.sqrt(C*C/(1+l*l)),i<n&&(c*=-1),h=l*c,f={x:m+c,y:v+h}}return f}static getPointOnCubicBezier(e,n,s,i,o,a,u,l,c){function h(y){return y*y*y}function f(y){return 3*y*y*(1-y)}function p(y){return 3*y*(1-y)*(1-y)}function _(y){return(1-y)*(1-y)*(1-y)}const m=l*h(e)+a*f(e)+i*p(e)+n*_(e),v=c*h(e)+u*f(e)+o*p(e)+s*_(e);return{x:m,y:v}}static getPointOnQuadraticBezier(e,n,s,i,o,a,u){function l(_){return _*_}function c(_){return 2*_*(1-_)}function h(_){return(1-_)*(1-_)}const f=a*l(e)+i*c(e)+n*h(e),p=u*l(e)+o*c(e)+s*h(e);return{x:f,y:p}}static getPointOnEllipticalArc(e,n,s,i,o,a){const u=Math.cos(a),l=Math.sin(a),c={x:s*Math.cos(o),y:i*Math.sin(o)};return{x:e+(c.x*u-c.y*l),y:n+(c.x*l+c.y*u)}}static parsePathData(e){if(!e)return[];let n=e;const s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let f=0,p=s.length;f<p;f++)n=n.replace(new RegExp(s[f],"g"),`|${s[f]}`);const i=n.split("|"),o=[],a=[];let u=0,l=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let h;for(let f=1,p=i.length;f<p;f++){let _=i[f],m=_.charAt(0);for(_=_.slice(1),a.length=0;h=c.exec(_);)a.push(h[0]);const v=[];for(let y=0,C=a.length;y<C;y++){if(a[y]==="00"){v.push(0,0);continue}const E=Number.parseFloat(a[y]);isNaN(E)?v.push(0):v.push(E)}for(;v.length>0&&!isNaN(v[0]);){let y,C=[];const E=u,x=l;let T,O,B,S,A,k,R,M,U,I;switch(m){case"l":u+=v.shift()||0,l+=v.shift()||0,y="L",C.push(u,l);break;case"L":u=v.shift()||0,l=v.shift()||0,C.push(u,l);break;case"m":{const L=v.shift()||0,$=v.shift()||0;if(u+=L,l+=$,y="M",o.length>2&&o[o.length-1].command==="z"){for(let z=o.length-2;z>=0;z--)if(o[z].command==="M"){u=o[z].points[0]+L,l=o[z].points[1]+$;break}}C.push(u,l),m="l";break}case"M":u=v.shift()||0,l=v.shift()||0,y="M",C.push(u,l),m="L";break;case"h":u+=v.shift()||0,y="L",C.push(u,l);break;case"H":u=v.shift()||0,y="L",C.push(u,l);break;case"v":l+=v.shift()||0,y="L",C.push(u,l);break;case"V":l=v.shift()||0,y="L",C.push(u,l);break;case"C":C.push(v.shift()||0,v.shift()||0,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,C.push(u,l);break;case"c":C.push(u+(v.shift()||0),l+(v.shift()||0),u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="C",C.push(u,l);break;case"S":O=u,B=l,T=o[o.length-1],T.command==="C"&&(O=u+(u-T.points[2]),B=l+(l-T.points[3])),C.push(O,B,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,y="C",C.push(u,l);break;case"s":O=u,B=l,T=o[o.length-1],T.command==="C"&&(O=u+(u-T.points[2]),B=l+(l-T.points[3])),C.push(O,B,u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="C",C.push(u,l);break;case"Q":C.push(v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,C.push(u,l);break;case"q":C.push(u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="Q",C.push(u,l);break;case"T":O=u,B=l,T=o[o.length-1],T.command==="Q"&&(O=u+(u-T.points[0]),B=l+(l-T.points[1])),u=v.shift()||0,l=v.shift()||0,y="Q",C.push(O,B,u,l);break;case"t":O=u,B=l,T=o[o.length-1],T.command==="Q"&&(O=u+(u-T.points[0]),B=l+(l-T.points[1])),u+=v.shift()||0,l+=v.shift()||0,y="Q",C.push(O,B,u,l);break;case"A":S=v.shift()||0,A=v.shift()||0,k=v.shift()||0,R=v.shift()||0,M=v.shift()||0,U=u,I=l,u=v.shift()||0,l=v.shift()||0,y="A",C=this.convertEndpointToCenterParameterization(U,I,u,l,R,M,S,A,k);break;case"a":S=v.shift()||0,A=v.shift()||0,k=v.shift()||0,R=v.shift()||0,M=v.shift()||0,U=u,I=l,u+=v.shift()||0,l+=v.shift()||0,y="A",C=this.convertEndpointToCenterParameterization(U,I,u,l,R,M,S,A,k);break}o.push({command:y||m,points:C,start:{x:E,y:x},pathLength:this.calcLength(E,x,y||m,C)})}(m==="z"||m==="Z")&&o.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return o}static calcLength(e,n,s,i){let o,a,u,l;const c=B1;switch(s){case"L":return c.getLineLength(e,n,i[0],i[1]);case"C":for(o=0,a=c.getPointOnCubicBezier(0,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)u=c.getPointOnCubicBezier(l,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return o;case"Q":for(o=0,a=c.getPointOnQuadraticBezier(0,e,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)u=c.getPointOnQuadraticBezier(l,e,n,i[0],i[1],i[2],i[3]),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return o;case"A":{o=0;const h=i[4],f=i[5],p=i[4]+f;let _=Math.PI/180;if(Math.abs(h-p)<_&&(_=Math.abs(h-p)),a=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],h,0),f<0)for(l=h-_;l>p;l-=_)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;else for(l=h+_;l<p;l+=_)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],p,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),o}}return 0}static convertEndpointToCenterParameterization(e,n,s,i,o,a,u,l,c){const h=c*(Math.PI/180),f=Math.cos(h)*(e-s)/2+Math.sin(h)*(n-i)/2,p=-1*Math.sin(h)*(e-s)/2+Math.cos(h)*(n-i)/2,_=f*f/(u*u)+p*p/(l*l);_>1&&(u*=Math.sqrt(_),l*=Math.sqrt(_));let m=Math.sqrt((u*u*(l*l)-u*u*(p*p)-l*l*(f*f))/(u*u*(p*p)+l*l*(f*f)));o===a&&(m*=-1),isNaN(m)&&(m=0);const v=m*u*p/l,y=m*-l*f/u,C=(e+s)/2+Math.cos(h)*v-Math.sin(h)*y,E=(n+i)/2+Math.sin(h)*v+Math.cos(h)*y,x=R=>Math.sqrt(R[0]*R[0]+R[1]*R[1]),T=(R,M)=>(R[0]*M[0]+R[1]*M[1])/(x(R)*x(M)),O=(R,M)=>(R[0]*M[1]<R[1]*M[0]?-1:1)*Math.acos(T(R,M)),B=O([1,0],[(f-v)/u,(p-y)/l]),S=[(f-v)/u,(p-y)/l],A=[(-1*f-v)/u,(-1*p-y)/l];let k=O(S,A);return T(S,A)<=-1&&(k=Math.PI),T(S,A)>=1&&(k=0),a===0&&k>0&&(k-=2*Math.PI),a===1&&k<0&&(k+=2*Math.PI),[C,E,u,l,B,k,h,a]}toJson(){const e={};return Hn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(e){let n,s=0;const i=this.dataArray.length;if(!i)return null;for(;s<i&&e>this.dataArray[s].pathLength;)e-=this.dataArray[s].pathLength,++s;if(s===i)return n=this.dataArray[s-1].points.slice(-2),{x:n[0],y:n[1]};if(e<.01)return n=this.dataArray[s].points.slice(0,2),{x:n[0],y:n[1]};const o=this.dataArray[s],a=o.points;switch(o.command){case"L":return B1.getPointOnLine(e,o.start.x,o.start.y,a[0],a[1]);case"C":return B1.getPointOnCubicBezier(e/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return B1.getPointOnQuadraticBezier(e/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":{const u=a[0],l=a[1],c=a[2],h=a[3];let f=a[4];const p=a[5],_=a[6];return f+=p*e/o.pathLength,B1.getPointOnEllipticalArc(u,l,c,h,f,_)}}return null}_draw(e){B1.drawWith(e,this)}_setFixBoundingBox(){const{left:e,top:n,width:s,height:i}=this._getSelfRect(),o=this.width/s,a=this.height/i;this.left=this.left-e*o,this.top=this.top-n*a,this.scaleX=o,this.scaleY=a,this.width=s,this.height=i,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let e=[];this.dataArray.forEach(c=>{if(c.command==="A"){const h=c.points[4],f=c.points[5],p=c.points[4]+f;let _=Math.PI/180;if(Math.abs(h-p)<_&&(_=Math.abs(h-p)),f<0)for(let m=h-_;m>p;m-=_){const v=B1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}else for(let m=h+_;m<p;m+=_){const v=B1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}}else if(c.command==="C")for(let h=0;h<=1;h+=.01){const f=B1.getPointOnCubicBezier(h,c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]);e.push(f.x,f.y)}else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],o=e[1],a,u;for(let c=0;c<e.length/2;c++)a=e[c*2],u=e[c*2+1],isNaN(a)||(n=Math.min(n,a),s=Math.max(s,a)),isNaN(u)||(i=Math.min(i,u),o=Math.max(o,u));const l={left:n,top:i,width:s-n,height:o-i};return this._selfRectCache=l,l}}var Gn=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(Gn||{});const B4="M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z";class ZF extends o0{constructor(){super(...arguments);d(this,"onSlideChangePageByNavigationObservable",new g.Observable);d(this,"_navigationEnabled",!1)}activeFirstPage(){const n=this.getSubScenes().keys().next().value;n!=null&&this.changePage(n)}addPage(e){const n=e.sceneKey;this.getSubScene(n)==null&&(this.addSubScene(e),this.addNavigation())}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){const e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;const n=new B1("__slideNavigationLeft__",{data:B4,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),s=new B1("__slideNavigationRight__",{data:B4,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(a,u)=>{a.setCursor(f1.POINTER),a.setProps({fill:this._getArrowColor(!0)})},o=(a,u)=>{a.setCursor(f1.DEFAULT),a.setProps({fill:this._getArrowColor()})};x4(n,i,o),x4(s,i,o),this._addNavTrigger(n,s),e.addObjects([n,s],7)}removeNavigation(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.dispose(),(s=e.getObject("__slideNavigationRight__"))==null||s.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.hide(),(s=e.getObject("__slideNavigationRight__"))==null||s.hide())}showNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.show(),(s=e.getObject("__slideNavigationRight__"))==null||s.show())}renderToThumb(e,n,s=1,i=1){const o=this.getSubScene(n);o!=null&&(e.save(),e.scale(s,i),o.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;const n=Array.from(this.getSubScenes()),s=n.length;let i=0;for(let u=0;u<s;u++){const[l]=n[u];if(e===l){i=u;break}}let o=i+1,a=i-1;return o=o>=s?0:o,a=a<0?s-1:a,{nextScene:n[o][1],previousScene:n[a][1]}}_addNavTrigger(e,n){e.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.previousScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)}),n.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.nextScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)})}_getArrowColor(e=!1){return e?F1(g.COLORS.white,.8):F1(g.COLORS.white,.5)}}class JF extends ue{constructor(t,e=s=>{},n){super(t),this._render=e,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(e&&!this.isInGroup){const{top:s,left:i,bottom:o,right:a}=e.viewBound;if(this.width+this.strokeWidth<i||a<0||this.height+this.strokeWidth<s||o<0)return this}const n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(t),t.restore(),this.makeDirty(!1),this}isHit(t){return this._isHitCustom?this._isHitCustom(t):super.isHit(t)}}class zn extends g.Disposable{constructor(){super(...arguments);d(this,"onInputChangedObservable",new g.Observable);d(this,"onTransformChangeObservable",new g.Observable);d(this,"_scenes",{});d(this,"_activeScene",null)}get classType(){return j.ENGINE}get activeScene(){return this._activeScene}get width(){return 0}get height(){return 0}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){const n=e.sceneKey;return this.hasScene(n)&&console.warn("Scenes has similar key, it will be covered"),this._scenes[n]=e,e}setActiveScene(e){const n=this.getScene(e);return n&&(this._activeScene=n),n}setRemainCapture(){}hasActiveScene(){return this._activeScene!=null}dispose(){super.dispose();const e=this.getScenes();Object.keys(e).forEach(s=>{e[s].dispose()})}remainScene(e){const n=this.getScenes();if(n[e]){const s=n[e];return delete n[e],s}}}class gt extends zn{constructor(e=1,n=1,s,i){super();d(this,"renderEvenInBackground",!0);d(this,"onBeginFrameObservable",new g.Observable);d(this,"onEndFrameObservable",new g.Observable);d(this,"_container");d(this,"_canvas");d(this,"_canvasEle");d(this,"_renderingQueueLaunched",!1);d(this,"_activeRenderLoops",new Array);d(this,"_renderFunction",()=>{});d(this,"_requestNewFrameHandler",-1);d(this,"_frameId",-1);d(this,"_usingSafari",X4());d(this,"_resizeObserver");d(this,"_fps",60);d(this,"_deltaTime",0);d(this,"_performanceMonitor",new l7);d(this,"_pointerMoveEvent");d(this,"_pointerDownEvent");d(this,"_pointerUpEvent");d(this,"_pointerBlurEvent");d(this,"_pointerWheelEvent");d(this,"_pointerEnterEvent");d(this,"_pointerLeaveEvent");d(this,"_remainCapture",-1);d(this,"pointer",{});d(this,"_mouseId",-1);d(this,"_isUsingFirefox",navigator.userAgent.indexOf("Firefox")!==-1);d(this,"_previousWidth",-1e3);d(this,"_previousHeight",-1e3);this._canvas=new e2({mode:i,width:e,height:n,pixelRatio:s}),this._canvasEle=this._canvas.getCanvasEle(),this._handleKeyboardAction(),this._handlePointerAction(),i!==I6.Printing&&this._matchMediaHandler()}get width(){return this._canvas.getWidth()}get height(){return this._canvas.getHeight()}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){const n=this.getCanvas().getCanvasEle();n.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this._canvas.getCanvasEle()}setRemainCapture(){try{this._canvasEle.setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this._canvas.getPixelRatio()}setContainer(e,n=!0){var s;if(this._container=e,this._container.appendChild(this._canvasEle),n){this.resize(),(s=this._resizeObserver)==null||s.unobserve(this._container);let i;this._resizeObserver=new ResizeObserver(()=>{i||(i=window.requestIdleCallback(()=>{this.resize(),i=void 0}))}),this._resizeObserver.observe(this._container),this.disposeWithMe(g.toDisposable(()=>{var o;(o=this._resizeObserver)==null||o.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:e,height:n}=J4(this._container);e===this._previousWidth&&n===this._previousHeight||(this._previousWidth=e,this._previousHeight=n,this.resizeBySize(e,n))}resizeBySize(e,n){const s=this.width,i=this.height;this._canvas.setSize(e,n),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:e,height:n},preValue:{width:s,height:i}})}dispose(){super.dispose();const e=jt();this._canvasEle.removeEventListener(`${e}leave`,this._pointerLeaveEvent),this._canvasEle.removeEventListener(`${e}enter`,this._pointerEnterEvent),this._canvasEle.removeEventListener(`${e}move`,this._pointerMoveEvent),this._canvasEle.removeEventListener(`${e}down`,this._pointerDownEvent),this._canvasEle.removeEventListener(`${e}up`,this._pointerUpEvent),this._canvasEle.removeEventListener("blur",this._pointerBlurEvent),this._canvasEle.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._activeRenderLoops=[],this._canvas.dispose(),this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear(),this.onTransformChangeObservable.clear()}runRenderLoop(e){this._activeRenderLoops.indexOf(e)===-1&&(this._activeRenderLoops.push(e),this._renderingQueueLaunched||(this._renderingQueueLaunched=!0,this._renderFunction=this._renderLoop.bind(this),this._requestNewFrameHandler=D2(this._renderFunction)))}stopRenderLoop(e){if(!e){this._activeRenderLoops.length=0,this._cancelFrame();return}const n=this._activeRenderLoops.indexOf(e);n>=0&&(this._activeRenderLoops.splice(n,1),this._activeRenderLoops.length===0&&this._cancelFrame())}beginFrame(){this._measureFps(),this.onBeginFrameObservable.notifyObservers(this)}endFrame(){this._frameId++,this.onEndFrameObservable.notifyObservers(this)}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(){for(let e=0;e<this._activeRenderLoops.length;e++){const n=this._activeRenderLoops[e];n()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>"u"){if(typeof cancelAnimationFrame=="function")return cancelAnimationFrame(this._requestNewFrameHandler)}else{const{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e=="function")return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e,n;return typeof window>"u"?null:(n=(e=this._canvasEle)==null?void 0:e.ownerDocument)!=null&&n.defaultView?this._canvasEle.ownerDocument.defaultView:window}_renderLoop(){let e=!0;this.renderEvenInBackground||(e=!1),e&&(this.beginFrame(),this._renderFrame(),this.endFrame()),this._activeRenderLoops.length>0?this._requestNewFrameHandler=D2(this._renderFunction):this._renderingQueueLaunched=!1}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}_handleKeyboardAction(){const e=s=>{const i=s;i.deviceType=O1.Keyboard,i.inputIndex=s.keyCode,i.previousState=0,i.currentState=1,this.onInputChangedObservable.notifyObservers(i)},n=s=>{const i=s;i.deviceType=O1.Keyboard,i.inputIndex=s.keyCode,i.previousState=1,i.currentState=0,this.onInputChangedObservable.notifyObservers(i)};this._canvasEle.addEventListener("keydown",e),this._canvasEle.addEventListener("keyup",n)}_handlePointerAction(){const e=jt();this._pointerMoveEvent=n=>{const s=this._getPointerType(n),i=this.pointer[X.Horizontal],o=this.pointer[X.Vertical],a=this.pointer[X.DeltaHorizontal],u=this.pointer[X.DeltaVertical];this.pointer[X.Horizontal]=n.clientX,this.pointer[X.Vertical]=n.clientY,this.pointer[X.DeltaHorizontal]=n.movementX,this.pointer[X.DeltaVertical]=n.movementY;const l=n;l.deviceType=s,i!==n.clientX&&(l.inputIndex=X.Horizontal,l.previousState=i,l.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(l)),o!==n.clientY&&(l.inputIndex=X.Vertical,l.previousState=o,l.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(l)),this.pointer[X.DeltaHorizontal]!==0&&(l.inputIndex=X.DeltaHorizontal,l.previousState=a,l.currentState=this.pointer[X.DeltaHorizontal],this.onInputChangedObservable.notifyObservers(l)),this.pointer[X.DeltaVertical]!==0&&(l.inputIndex=X.DeltaVertical,l.previousState=u,l.currentState=this.pointer[X.DeltaVertical],this.onInputChangedObservable.notifyObservers(l)),!this._usingSafari&&n.button!==-1&&(l.inputIndex=n.button+2,l.previousState=this.pointer[n.button+2],this.pointer[n.button+2]=this.pointer[n.button+2]?0:1,l.currentState=this.pointer[n.button+2],this.onInputChangedObservable.notifyObservers(l))},this._pointerDownEvent=n=>{const s=n,i=this._getPointerType(s),o=this.pointer[X.Horizontal],a=this.pointer[X.Vertical],u=this.pointer[s.button+2];i===O1.Mouse?(this._mouseId===-1&&(s.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=s.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this._canvasEle.setPointerCapture(this._mouseId))):s.pointerId&&!document.pointerLockElement&&(this._remainCapture=s.pointerId,this._canvasEle.setPointerCapture(s.pointerId)),this.pointer[X.Horizontal]=s.clientX,this.pointer[X.Vertical]=s.clientY,this.pointer[s.button+2]=1;const l=s;l.deviceType=i,o!==s.clientX&&(l.inputIndex=X.Horizontal,l.previousState=o,l.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(l)),a!==s.clientY&&(l.inputIndex=X.Vertical,l.previousState=a,l.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(l)),l.inputIndex=s.button+2,l.previousState=u,l.currentState=this.pointer[s.button+2],this.onInputChangedObservable.notifyObservers(l)},this._pointerUpEvent=n=>{const s=n,i=this._getPointerType(s),o=this.pointer[X.Horizontal],a=this.pointer[X.Vertical],u=this.pointer[s.button+2];this.pointer[X.Horizontal]=s.clientX,this.pointer[X.Vertical]=s.clientY,this.pointer[s.button+2]=0;const l=s;l.deviceType=i,o!==s.clientX&&(l.inputIndex=X.Horizontal,l.previousState=o,l.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(l)),a!==s.clientY&&(l.inputIndex=X.Vertical,l.previousState=a,l.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(l)),l.inputIndex=s.button+2,l.previousState=u,l.currentState=this.pointer[s.button+2],i===O1.Mouse&&this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,this._canvasEle.releasePointerCapture(this._mouseId)):l.pointerId&&this._canvasEle.hasPointerCapture(l.pointerId)&&(this._remainCapture=l.pointerId,this._canvasEle.releasePointerCapture(l.pointerId)),this.onInputChangedObservable.notifyObservers(l),i!==O1.Mouse&&(this.pointer={})},this._pointerEnterEvent=n=>{const s=this._getPointerType(n),i=n;i.deviceType=s,i.currentState=2,this.onInputChangedObservable.notifyObservers(i)},this._pointerLeaveEvent=n=>{const s=this._getPointerType(n),i=n;i.deviceType=s,i.currentState=3,this.onInputChangedObservable.notifyObservers(i)},this._pointerBlurEvent=n=>{this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)&&(this._canvasEle.releasePointerCapture(this._mouseId),this._remainCapture=this._mouseId,this._mouseId=-1),this.pointer={}},this._pointerWheelEvent=n=>{const s=O1.Mouse,i=this.pointer[X.MouseWheelX],o=this.pointer[X.MouseWheelY],a=this.pointer[X.MouseWheelZ];this.pointer[X.MouseWheelX]=n.deltaX||0,this.pointer[X.MouseWheelY]=n.deltaY||n.wheelDelta||0,this.pointer[X.MouseWheelZ]=n.deltaZ||0;const u=n;u.deviceType=s,this.pointer[X.MouseWheelX]!==0&&(u.inputIndex=X.MouseWheelX,u.previousState=i,u.currentState=this.pointer[X.MouseWheelX],this.onInputChangedObservable.notifyObservers(u)),this.pointer[X.MouseWheelY]!==0&&(u.inputIndex=X.MouseWheelY,u.previousState=o,u.currentState=this.pointer[X.MouseWheelY],this.onInputChangedObservable.notifyObservers(u)),this.pointer[X.MouseWheelZ]!==0&&(u.inputIndex=X.MouseWheelZ,u.previousState=a,u.currentState=this.pointer[X.MouseWheelZ],this.onInputChangedObservable.notifyObservers(u))},this._canvasEle.addEventListener(`${e}enter`,this._pointerEnterEvent),this._canvasEle.addEventListener(`${e}leave`,this._pointerLeaveEvent),this._canvasEle.addEventListener(`${e}move`,this._pointerMoveEvent),this._canvasEle.addEventListener(`${e}down`,this._pointerDownEvent),this._canvasEle.addEventListener(`${e}up`,this._pointerUpEvent),this._canvasEle.addEventListener("blur",this._pointerBlurEvent),this._canvasEle.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll"}_getPassive(){let e=!1;const n=()=>{};try{const s={passive:{get(){e=!0}}};this._canvasEle.addEventListener("test",n,s),this._canvasEle.removeEventListener("test",n,s)}catch{}return e}_getPointerType(e){let n=O1.Mouse;return(e.pointerType==="touch"||e.pointerType==="pen"||e.touches)&&(n=O1.Touch),n}_matchMediaHandler(){if(!(window!=null&&window.matchMedia))return;const e=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.resize()};e.addEventListener("change",n),this.disposeWithMe(g.toDisposable(()=>{e.removeEventListener("change",n)}))}}class Xn extends ue{constructor(e,...n){super(e);d(this,"_objects",[]);this.addObjects(...n)}get classType(){return j.GROUP}set cursor(e){this.setCursor(e)}addObjects(...e){for(const n of e)this.addObject(n)}addObject(e){let n=e;if(Kt(e)){const s=this.getScene();if(n=s==null?void 0:s.getObject(e),!n)return;n.parent=this,n.isInGroup=!0,n.groupKey=this.oKey,this._objects.push(n)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){const n=this.getObjects(),s=n.length;if(Kt(e))for(let i=0;i<s;i++){const o=n[i];if(o.oKey===e){n.splice(i,1),this.parent.removeObject(o);return}}else for(let i=0;i<s;i++){const o=n[i];if(o===e){n.splice(i,1),this.parent.removeObject(o);return}}}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjects(){return this._objects}render(e,n){e.save();const s=this.transform.getMatrix();e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._objects.sort(g.sortRules);for(const i of this._objects)i.render(e,this._transformBounds(n));e.restore()}resize(e,n){return this}scale(e,n){return this}skew(e,n){return this}flip(e,n){return this}isHit(e){return!0}pick(e){}dispose(){this.getObjects().forEach(e=>{e.dispose()}),super.dispose()}_transformBounds(e){return e}}class Wn extends g.Disposable{constructor(e,n=[],s=1,i=!1){super();d(this,"_objects",[]);d(this,"_cacheCanvas");d(this,"_dirty",!0);this._scene=e,this._zIndex=s,this._allowCache=i,this.addObjects(n),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjectsByOrderForPick(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)n.classType!==j.GROUP&&n.visible&&e.push(n);return e}getObjects(){return this._objects}addObject(e){if(e.classType===j.GROUP){const n=e.getObjects();for(const s of n)this.scene.getObject(s.oKey)||(this._objects.push(s),this.scene.setObjectBehavior(s),this._layerBehavior(s))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.scene.applyTransformer(e),this}removeObject(e){const n=this.getObjects(),s=n.length;if(e instanceof ue){for(let i=0;i<s;i++)if(n[i]===e){n.splice(i,1);return}}else for(let i=0;i<s;i++)if(n[i].oKey===e){n.splice(i,1);return}}addObjects(e){return e.forEach(n=>{this.addObject(n)}),this}removeObjects(e){const n=this.getObjects(),s=n.length;for(let i=s-1;i>=0;i--){let o=n[i];const a=e.length;if(a===0)break;for(let u=0;u<a;u++){const l=e[u];if(o=l instanceof ue?o:o.oKey,o===l){n.splice(i,1);break}}}}makeDirty(e=!0){this._dirty=e;const n=this.scene.getParent();return n.classType===j.SCENE_VIEWER&&n.makeDirty(!0),this}isDirty(){return this._dirty}render(e,n=!1){var i;const s=e||((i=this._scene.getEngine())==null?void 0:i.getCanvas().getContext());if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){const o=this._cacheCanvas.getContext();this._cacheCanvas.clear(),o.save(),o.setTransform(s.getTransform()),this._draw(o,n),o.restore()}this._applyCache(s)}else s.save(),this._draw(s,n),s.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(g.toDisposable(e.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){this._cacheCanvas=new e2,this.disposeWithMe(g.toDisposable(this._scene.getEngine().onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()})))}_draw(e,n){var s;(s=this._scene.getViewports())==null||s.forEach(i=>i.render(e,this.getObjectsByOrder(),n))}_applyCache(e){if(!e||this._cacheCanvas==null)return;const n=this._cacheCanvas.getWidth(),s=this._cacheCanvas.getHeight();e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,n,s)}_resizeCacheCanvas(){var n;const e=this._scene.getEngine();(n=this._cacheCanvas)==null||n.setSize(e.width,e.height),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e;super.dispose(),this.getObjects().forEach(n=>{n.dispose()}),this.clear(),(e=this._cacheCanvas)==null||e.dispose()}}var Yn=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(Yn||{});class Qe{constructor(t,e=3,n,s=.4,i=.1){d(this,"_requestNewFrameNumber",-1);d(this,"_viewport");d(this,"_offsetX",0);d(this,"_offsetY",0);d(this,"_moveX",0);d(this,"_moveY",0);d(this,"_scrollX",0);d(this,"_scrollY",0);d(this,"_scrollFunction");this._scene=t,this._scrollTimerType=e,this._padding=n,this._smoothRatioX=s,this._smoothRatioY=i,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(t,e=3,n){return new Qe(t,e,n)}set scrollTimerType(t){this._scrollTimerType=t}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(t){this._viewport=t}getActiveViewport(){return this._viewport}startScroll(t,e,n){this._offsetX=t,this._offsetY=e,this._moveX=t,this._moveY=e,n!=null?this._viewport=n:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_scroll(t){const e=(t==null?void 0:t.top)||0,n=e+((t==null?void 0:t.height)||0),s=(t==null?void 0:t.left)||0,i=s+((t==null?void 0:t.width)||0),{t:o=0,b:a=0,r:u=0,l=0}=this._padding;let c=0,h=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<s+l&&(c=(this._moveX-s-l)*this._smoothRatioX,f=!0),this._moveX>i-u&&(c=(this._moveX-i+u)*this._smoothRatioX,f=!0)),this._scrollTimerType&2&&(this._moveY<e+o&&(h=(this._moveY-e-o)*this._smoothRatioY,f=!0),this._moveY>n-a&&(h=(this._moveY-n+a)*this._smoothRatioY,f=!0)),!f)return;const p=t==null?void 0:t.scrollBy({x:c,y:h}),_=t==null?void 0:t.getActualScroll(c,h);if(this._scrollX=(_==null?void 0:_.x)||0,this._scrollY=(_==null?void 0:_.y)||0,p){const m=this._findAncestorScene(t==null?void 0:t.scene),v=this.getViewportByCoord(m);v&&this._scroll(v)}}scrolling(t,e,n){this._moveX=t,this._moveY=e,this._scrollFunction=n}stopScroll(){G4(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(t){return t==null?void 0:t.getActiveViewportByRelativeCoord(P.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=D2(this._runRenderLoop.bind(this))}_findAncestorScene(t){let e=t==null?void 0:t.getParent();for(;e;){if(e.classType===j.SCENE)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}}const Vn=["radius"];class w1 extends Me{constructor(e,n){super(e,n);d(this,"_radius",0);n!=null&&n.radius&&(this._radius=n.radius)}get radius(){return this._radius}static drawWith(e,n){let{radius:s,width:i,height:o}=n;if(s=s!=null?s:0,i=i!=null?i:30,o=o!=null?o:30,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),!s)e.rect(0,0,i,o);else{let a=0,u=0,l=0,c=0;a=u=l=c=Math.min(s,i/2,o/2),e.moveTo(a,0),e.lineTo(i-u,0),e.arc(i-u,u,u,Math.PI*3/2,0,!1),e.lineTo(i,o-c),e.arc(i-c,o-c,c,0,Math.PI/2,!1),e.lineTo(l,o),e.arc(l,o-l,l,Math.PI/2,Math.PI,!1),e.lineTo(0,a),e.arc(a,a,a,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return Vn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){w1.drawWith(e,this)}}const QF=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class eC extends g.Disposable{constructor(e,n){super();d(this,"hoverEnabled",!1);d(this,"hoverEnterFunc");d(this,"hoverLeaveFunc");d(this,"resizeEnabled",!0);d(this,"rotateEnabled",!0);d(this,"rotationSnaps",[]);d(this,"rotationSnapTolerance",5);d(this,"rotateAnchorOffset",50);d(this,"rotateSize",10);d(this,"rotateCornerRadius",10);d(this,"borderEnabled",!0);d(this,"borderStroke","rgb(97, 97, 97)");d(this,"borderStrokeWidth",1);d(this,"borderDash",[]);d(this,"borderSpacing",10);d(this,"anchorFill","rgb(255,255,255)");d(this,"anchorStroke","rgb(185,185,185)");d(this,"anchorStrokeWidth",1);d(this,"anchorSize",10);d(this,"anchorCornerRadius",10);d(this,"keepRatio",!0);d(this,"centeredScaling",!1);d(this,"enabledAnchors",[1,1,1,1,1,1,1,1]);d(this,"flipEnabled",!1);d(this,"ignoreStroke",!1);d(this,"boundBoxFunc");d(this,"useSingleNodeRotation",!1);d(this,"shouldOverdrawWholeArea",!1);d(this,"onChangeStartObservable",new g.Observable);d(this,"onChangingObservable",new g.Observable);d(this,"onChangeEndObservable",new g.Observable);d(this,"onClearControlObservable",new g.Observable);d(this,"onCreateControlObservable",new g.Observable);d(this,"_startOffsetX",-1);d(this,"_startOffsetY",-1);d(this,"_viewportScrollX",-1);d(this,"_viewportScrollY",-1);d(this,"_moveObserver");d(this,"_upObserver");d(this,"_cancelFocusObserver");d(this,"_transformerControlMap",new Map);d(this,"_selectedObjectMap",new Map);this._scene=e,this._initialProps(n)}getScene(){return this._scene}hideControl(){this._hideControl()}attachTo(e){if(e.isTransformer)return this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnterObserver.add(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeaveObserver.add(this.hoverLeaveFunc)),this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:o}=n;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();if(!a)return;this._addCancelObserver(a),a.disableEvent();const u=Qe.create(a);u.startScroll(i,o);const{scrollX:l,scrollY:c}=Xe(u);this._viewportScrollX=l,this._viewportScrollY=c,this._updateActiveObjectList(e,n),this._moveObserver=a.onPointerMoveObserver.add(h=>{const{offsetX:f,offsetY:p}=h;this._moving(f,p,u),this._hideControl(),u.scrolling(f,p,()=>{this._moving(f,p,u)})}),this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent(),this._updateControl(),u.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),s.stopPropagation()}))),e}dispose(){var e,n,s;(e=this._moveObserver)==null||e.dispose(),(n=this._upObserver)==null||n.dispose(),(s=this._cancelFocusObserver)==null||s.dispose(),this._moveObserver=null,this._upObserver=null,this._cancelFocusObserver=null,this._transformerControlMap.forEach(i=>{i.dispose()}),this._selectedObjectMap.forEach(i=>{i.dispose()}),this.onChangeStartObservable.clear(),this.onChangingObservable.clear(),this.onChangeEndObservable.clear()}_initialProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{if(e[s]===void 0)return!0;this[s]=e[s]})}_updateControlChildren(){this._updateControlIterator((e,n)=>{const{left:s,top:i,width:o,height:a,scaleX:u,scaleY:l}=n.getState();e.getObjects().forEach(h=>{const f=h.oKey,p=this._checkTransformerType(f);if(!p)return!0;if(p==="__SpreadsheetTransformerOutline__")h.transformByState(this._getOutlinePosition(o,a,u,l));else{const{left:_,top:m}=this._getRotateAnchorPosition(p,a,o);h.transformByState({left:_,top:m})}}),e.transformByState({left:s,top:i})})}_anchorMoving(e,n,s,i){const{scrollX:o,scrollY:a}=Xe(i),u=n-this._viewportScrollX+o,l=s-this._viewportScrollY+a,c=u-this._startOffsetX,h=l-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:p,top:_,width:m,height:v}=f,y={};switch(e){case"__SpreadsheetTransformerResizeLT__":y.left=p+c,y.top=_+h,y.width=m-c,y.height=v-h;break;case"__SpreadsheetTransformerResizeCT__":y.top=_+h,y.height=v-h;break;case"__SpreadsheetTransformerResizeRT__":y.top=_+h,y.width=m+c,y.height=v-h;break;case"__SpreadsheetTransformerResizeLM__":y.left=p+c,y.width=m-c;break;case"__SpreadsheetTransformerResizeRM__":y.width=c+m;break;case"__SpreadsheetTransformerResizeLB__":y.left=p+c,y.width=m-c,y.height=v+h;break;case"__SpreadsheetTransformerResizeCB__":y.height=h+v;break;case"__SpreadsheetTransformerResizeRB__":y.width=c+m,y.height=h+v;break}f.transformByState(y)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:c,moveY:h,type:1}),this._startOffsetX=u,this._startOffsetY=l}_attachEventToAnchor(e,n="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((s,i)=>{const{offsetX:o,offsetY:a}=s;this._startOffsetX=o,this._startOffsetY=a;const u=this._getTopScene();if(u==null)return;u.disableEvent();const l=Qe.create(u);l.startScroll(o,a);const{scrollX:c,scrollY:h}=Xe(l);this._viewportScrollX=c,this._viewportScrollY=h;const f=this._getRotateAnchorCursor(n);this._moveObserver=u.onPointerMoveObserver.add(p=>{const{offsetX:_,offsetY:m}=p;this._anchorMoving(n,_,m,l),l.scrolling(_,m,()=>{this._anchorMoving(n,_,m,l)}),u.setCursor(f)}),this._upObserver=u.onPointerUpObserver.add(()=>{u.onPointerMoveObserver.remove(this._moveObserver),u.onPointerUpObserver.remove(this._upObserver),u.enableEvent(),u.resetCursor(),l.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),i.stopPropagation()})))}_attachEventToRotate(e){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:o}=n;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();a!=null&&(a.disableEvent(),this._viewportScrollX=scrollX,this._viewportScrollY=scrollY,this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent()}),s.stopPropagation())})))}_getOutlinePosition(e,n,s,i){return{left:-this.borderSpacing-this.borderStrokeWidth,top:-this.borderSpacing-this.borderStrokeWidth,width:e+this.borderSpacing*2,height:n+this.borderSpacing*2}}_getRotateAnchorCursor(e){let n=f1.NORTH_WEST_RESIZE;switch(e){case"__SpreadsheetTransformerRotate__":n=f1.MOVE;break;case"__SpreadsheetTransformerRotateLine__":n=f1.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":n=f1.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":n=f1.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":n=f1.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":n=f1.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":n=f1.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":n=f1.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":n=f1.SOUTH_EAST_RESIZE;break}return n}_getRotateAnchorPosition(e,n,s){let i=-this.anchorSize/2,o=-this.anchorSize/2;switch(e){case"__SpreadsheetTransformerRotate__":i=s/2-this.rotateSize/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth*2-this.rotateSize;break;case"__SpreadsheetTransformerRotateLine__":i=s/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLT__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":i+=s/2,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=n/2;break;case"__SpreadsheetTransformerResizeRM__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=n/2;break;case"__SpreadsheetTransformerResizeLB__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCB__":i+=s/2,o+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=n+this.borderSpacing-this.borderStrokeWidth;break}return{left:i,top:o}}_createResizeAnchor(e,n,s){const{height:i,width:o,scaleX:a,scaleY:u}=n.getState(),{left:l,top:c}=this._getRotateAnchorPosition(e,i,o),h=this._getRotateAnchorCursor(e),f=new w1(`${e}_${s}`,{zIndex:s-1,fill:this.anchorFill,stroke:this.anchorStroke,strokeWidth:this.anchorStrokeWidth,width:this.anchorSize,height:this.anchorSize,radius:this.anchorCornerRadius,left:l,top:c});return this._attachHover(f,h,f1.DEFAULT),f}_checkTransformerType(e){if(e.indexOf("__SpreadsheetTransformerOutline__")>-1)return"__SpreadsheetTransformerOutline__";if(e.indexOf("__SpreadsheetTransformerRotate__")>-1)return"__SpreadsheetTransformerRotate__";if(e.indexOf("__SpreadsheetTransformerRotateLine__")>-1)return"__SpreadsheetTransformerRotateLine__";if(e.indexOf("__SpreadsheetTransformerResizeLT__")>-1)return"__SpreadsheetTransformerResizeLT__";if(e.indexOf("__SpreadsheetTransformerResizeCT__")>-1)return"__SpreadsheetTransformerResizeCT__";if(e.indexOf("__SpreadsheetTransformerResizeRT__")>-1)return"__SpreadsheetTransformerResizeRT__";if(e.indexOf("__SpreadsheetTransformerResizeLM__")>-1)return"__SpreadsheetTransformerResizeLM__";if(e.indexOf("__SpreadsheetTransformerResizeRM__")>-1)return"__SpreadsheetTransformerResizeRM__";if(e.indexOf("__SpreadsheetTransformerResizeLB__")>-1)return"__SpreadsheetTransformerResizeLB__";if(e.indexOf("__SpreadsheetTransformerResizeCB__")>-1)return"__SpreadsheetTransformerResizeCB__";if(e.indexOf("__SpreadsheetTransformerResizeRB__")>-1)return"__SpreadsheetTransformerResizeRB__"}_updateControlIterator(e){this._transformerControlMap.forEach((n,s)=>{const i=this._selectedObjectMap.get(s);if(!i)return!0;e(n,i)})}_updateControl(){this._updateControlIterator((e,n)=>{const{left:s,top:i}=n.getState();e.transformByState({left:s,top:i}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,n,s){this.disposeWithMe(g.toDisposable(e.onPointerEnterObserver.add(()=>{e.cursor=n}))),this.disposeWithMe(g.toDisposable(e.onPointerLeaveObserver.add(()=>{e.cursor=s})))}_clearControl(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear(),this.onClearControlObservable.notifyObservers(null)}_createControl(e){const{left:n,top:s,height:i,width:o,angle:a,scaleX:u,scaleY:l,skewX:c,skewY:h,flipX:f,flipY:p}=e.getState(),_=e.oKey,m=this._selectedObjectMap.size,v=[];if(this.borderEnabled){const E=new w1(`__SpreadsheetTransformerOutline___${m}`,{zIndex:m-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(o,i,u,l)});v.push(E)}if(this.resizeEnabled){const{left:E,top:x}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,o),T=new w1(`__SpreadsheetTransformerRotateLine___${m}`,{zIndex:m-1,evented:!1,left:E,top:x,height:this.rotateAnchorOffset,width:1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke}),{left:O,top:B}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",i,o),S=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),A=new w1(`__SpreadsheetTransformerRotate___${m}`,{zIndex:m-1,left:O,top:B,height:this.rotateSize,width:this.rotateSize,radius:this.rotateCornerRadius,strokeWidth:this.borderStrokeWidth*2,stroke:this.borderStroke});this._attachEventToRotate(A),this._attachHover(A,S,f1.DEFAULT),v.push(T,A)}if(this.resizeEnabled)for(let E=0,x=this.enabledAnchors.length;E<x;E++){if(this.enabledAnchors[E]!==1)continue;const O=QF[E],B=this._createResizeAnchor(O,e,m);this._attachEventToAnchor(B,O),v.push(B)}const y=new Xn(`__SpreadsheetTransformer___${m}`,...v);return y.zIndex=m,y.evented=!1,y.transformByState({left:n,top:s}),this.getScene().addObject(y,2),this._transformerControlMap.set(_,y),this.onCreateControlObservable.notifyObservers(y),y}_getTopScene(){var n;return(n=this.getScene().getEngine())==null?void 0:n.activeScene}_moving(e,n,s){const{scrollX:i,scrollY:o}=Xe(s),a=e-this._viewportScrollX+i,u=n-this._viewportScrollY+o,l=a-this._startOffsetX,c=u-this._startOffsetY;this._selectedObjectMap.forEach(h=>{h.translate(l+h.left,c+h.top)}),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:l,moveY:c,type:1}),this._startOffsetX=a,this._startOffsetY=u}_updateActiveObjectList(e,n){this._selectedObjectMap.has(e.oKey)||(n.ctrlKey||(this._selectedObjectMap.clear(),this._clearControl()),this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_addCancelObserver(e){e.onPointerDownObserver.remove(this._cancelFocusObserver),this._cancelFocusObserver=e.onPointerDownObserver.add(()=>{this._selectedObjectMap.clear(),this._clearControl(),e.onPointerDownObserver.remove(this._cancelFocusObserver)})}}const M1=class M1 extends g.Disposable{constructor(e){super();d(this,"_alreadyAttached",!1);d(this,"_onInputObserver");d(this,"_onPointerMove");d(this,"_onPointerDown");d(this,"_onPointerUp");d(this,"_onPointerEnter");d(this,"_onPointerLeave");d(this,"_onMouseWheel");d(this,"_onKeyDown");d(this,"_onKeyUp");d(this,"_scene");d(this,"_currentMouseEnterPicked");d(this,"_startingPosition",new P(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY));d(this,"_delayedTimeout",-1);d(this,"_delayedTripeTimeout",-1);d(this,"_doubleClickOccurred",0);d(this,"_tripleClickState",!1);d(this,"_currentObject");this._scene=e}mouseLeaveEnterHandler(e){var s;const n=this._currentObject;if(n==null)(s=this._currentMouseEnterPicked)==null||s.triggerPointerLeave(e),this._currentMouseEnterPicked=null;else if(n!==this._currentMouseEnterPicked){const i=this._currentMouseEnterPicked;this._currentMouseEnterPicked=n,i==null||i.triggerPointerLeave(e),n==null||n.triggerPointerEnter(e)}}attachControl(e=!0,n=!0,s=!0,i=!0,o=!0,a=!0){const u=this._scene.getEngine();u&&(this._onPointerEnter=l=>{var c;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY),(c=this._currentObject)==null||c.triggerPointerMove(l),this.mouseLeaveEnterHandler(l)},this._onPointerLeave=l=>{l.pointerId===void 0&&(l.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(l)},this._onPointerMove=l=>{var h;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY);const c=(h=this._currentObject)==null?void 0:h.triggerPointerMove(l);this.mouseLeaveEnterHandler(l),this._checkDirectSceneEventTrigger(!c,this._currentObject)&&this._scene.onPointerMoveObserver.hasObservers()&&this._scene.onPointerMoveObserver.notifyObservers(l)},this._onPointerDown=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerDown(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerDownObserver.hasObservers()&&this._scene.onPointerDownObserver.notifyObservers(l)},this._onPointerUp=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerUp(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(l),this._prePointerDoubleOrTripleClick(l)},this._onMouseWheel=l=>{const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerMouseWheel(l);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(l)}),this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onMouseWheelObserver.hasObservers()&&this._scene.onMouseWheelObserver.notifyObservers(l)},this._onKeyDown=l=>{this._scene.onKeyDownObservable.hasObservers()&&this._scene.onKeyDownObservable.notifyObservers(l)},this._onKeyUp=l=>{this._scene.onKeyUpObservable.hasObservers()&&this._scene.onKeyUpObservable.notifyObservers(l)},this._onInputObserver=u.onInputChangedObservable.add(l=>{const c=l;l.deviceType===O1.Keyboard&&(l.currentState===1&&this._onKeyDown(c),l.currentState===0&&this._onKeyUp(c)),(l.deviceType===O1.Mouse||l.deviceType===O1.Touch)&&(e&&l.inputIndex>=X.LeftClick&&l.inputIndex<=X.RightClick&&l.currentState===1&&this._onPointerDown(c),n&&l.inputIndex>=X.LeftClick&&l.inputIndex<=X.RightClick&&l.currentState===0&&this._onPointerUp(c),s&&(l.inputIndex===X.Horizontal||l.inputIndex===X.Vertical||l.inputIndex===X.DeltaHorizontal||l.inputIndex===X.DeltaVertical)?this._onPointerMove(c):i&&(l.inputIndex===X.MouseWheelX||l.inputIndex===X.MouseWheelY||l.inputIndex===X.MouseWheelZ)?this._onMouseWheel(c):o&&l.currentState===2?this._onPointerEnter(c):a&&l.currentState===3&&this._onPointerLeave(c))}),this.disposeWithMe(g.toDisposable(this._onInputObserver)),this._alreadyAttached=!0)}detachControl(){if(!this._alreadyAttached)return;const e=this._scene.getEngine();e&&(e.onInputChangedObservable.remove(this._onInputObserver),this._alreadyAttached=!1)}_getCurrentObject(e,n){var s;return(s=this._scene)==null?void 0:s.pick(P.FromArray([e,n]))}_checkDirectSceneEventTrigger(e,n){let s=!1;n==null&&(s=!0);let i=!0;if(n&&n.classType===j.BASE_OBJECT){const o=n.getScene();o&&(i=o.getParent().classType!==j.SCENE_VIEWER)}return!this._scene.evented&&e&&i||s}_isPointerSwiping(e,n){return Math.abs(this._startingPosition.x-e)>M1.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>M1.DragMovementThreshold}_prePointerDoubleOrTripleClick(e){var o,a,u,l;const{clientX:n,clientY:s}=e;this._isPointerSwiping(n,s)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},M1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((a=(o=this._scene)==null?void 0:o.pick(P.FromArray([e.offsetX,e.offsetY])))==null||a.triggerTripleClick(e),this._scene.onTripleClickObserver.hasObservers()&&this._scene.onTripleClickObserver.notifyObservers(e)),this._doubleClickOccurred===2&&((l=(u=this._scene)==null?void 0:u.pick(P.FromArray([e.offsetX,e.offsetY])))==null||l.triggerDblclick(e),this._scene.onDblclickObserver.hasObservers()&&this._scene.onDblclickObserver.notifyObservers(e),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},M1.TripleClickDelay)),this._startingPosition.x=n,this._startingPosition.y=s}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};d(M1,"DragMovementThreshold",2),d(M1,"LongPressDelay",500),d(M1,"DoubleClickDelay",500),d(M1,"TripleClickDelay",300),d(M1,"ExclusiveDoubleClickMode",!1);let p6=M1;class tC extends g.Disposable{constructor(e){super();d(this,"onTransformChangeObservable",new g.Observable);d(this,"onFileLoadedObservable",new g.Observable);d(this,"onPointerDownObserver",new g.Observable);d(this,"onPointerMoveObserver",new g.Observable);d(this,"onPointerUpObserver",new g.Observable);d(this,"onPointerEnterObserver",new g.Observable);d(this,"onPointerLeaveObserver",new g.Observable);d(this,"onDblclickObserver",new g.Observable);d(this,"onTripleClickObserver",new g.Observable);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onKeyDownObservable",new g.Observable);d(this,"onKeyUpObservable",new g.Observable);d(this,"debounceParentTimeout",-1);d(this,"_sceneKey","");d(this,"_width",100);d(this,"_height",100);d(this,"_scaleX",1);d(this,"_scaleY",1);d(this,"_transform",new m1);d(this,"_evented",!0);this._sceneKey=e}get classType(){return j.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get evented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}enableEvent(){this._evented=!0}disableEvent(){this._evented=!1}on(e,n){return this[`on${e}Observer`].add(n.bind(this))}off(e,n){this[`on${e}Observer`].remove(n)}remove(e){this[`on${e}Observer`].clear()}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){}triggerMouseWheel(e){}triggerPointerMove(e){}triggerDblclick(e){}triggerTripleClick(e){}triggerPointerDown(e){}triggerPointerOut(e){}triggerPointerLeave(e){}triggerPointerOver(e){}triggerPointerEnter(e){}renderObjects(e,n){}render(e){}getParent(){}dispose(){super.dispose()}getObject(e){}addObject(e,n=1){}addObjects(e,n=1){}getEngine(){}setObjectBehavior(e){}applyTransformer(e){}makeDirtyNoParent(e=!0){return this}makeDirty(e=!0){return this}pick(e){}getViewports(){return[]}addViewport(...e){}removeViewport(e){}getAncestorScale(){return{scaleX:1,scaleY:1}}getPrecisionScale(){return{scaleX:1,scaleY:1}}setCursor(e){}resetCursor(){}}class jn extends tC{constructor(e,n,s){var i;super(e);d(this,"_layers",[]);d(this,"_viewports",[]);d(this,"_cursor",f1.DEFAULT);d(this,"_defaultCursor",f1.DEFAULT);d(this,"_addObject$",new u1.BehaviorSubject(this));d(this,"addObject$",this._addObject$.asObservable());d(this,"_transformer");d(this,"_transformerOpenState",!1);d(this,"_inputManager");if(this._parent=n,s&&this.transformByState(s),this._parent.classType===j.ENGINE){const o=this._parent;o.addScene(this),o.hasActiveScene()||o.setActiveScene(e),this._inputManager=new p6(this)}else this._parent.classType===j.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(g.toDisposable((i=this._parent)==null?void 0:i.onTransformChangeObservable.add(o=>{this._setTransForm()})))}get ancestorScaleX(){const e=this.getParent();let n=1;return e.classType===j.SCENE_VIEWER&&(n=e.ancestorScaleX),this.scaleX*n}get ancestorScaleY(){const e=this.getParent();let n=1;return e.classType===j.SCENE_VIEWER&&(n=e.ancestorScaleY),this.scaleY*n}set cursor(e){this.setCursor(e)}attachControl(e=!0,n=!0,s=!0,i=!0){var o;if(this._parent.classType===j.ENGINE)return(o=this._inputManager)==null||o.attachControl(e,n,s,i),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){var n;return this._layers.forEach(s=>{s.makeDirty(e)}),this._parent.classType===j.SCENE_VIEWER&&((n=this._parent)==null||n.makeDirty(e)),this}makeDirtyNoParent(e=!0){return this._layers.forEach(n=>{n.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(n=>{this.getLayer(n).enableCache()})}disableLayerCache(...e){e.forEach(n=>{this.getLayer(n).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;const n=this.getEngine();n&&n.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,n){const s=this.width;e!==void 0&&(this.width=e);const i=this.height;return n!==void 0&&(this.height=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:this.width,height:this.height},preValue:{width:s,height:i}}),this}scale(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX=e);const i=this.scaleY;return n!==void 0&&(this.scaleY=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}scaleBy(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX+=e);const i=this.scaleY;return n!==void 0&&(this.scaleY+=n),this.scaleX=nt(this.scaleX,1),this.scaleY=nt(this.scaleY,1),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}transformByState(e){const n=Object.keys(e),s={};n.length!==0&&(n.forEach(i=>{e[i]!==void 0&&(s[i]=this[i],this[i]=e[i])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.all,value:e,preValue:s}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===j.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===j.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(const n of this._layers)if(n.zIndex===e)return n;return this._createDefaultLayer(e)}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let n=0;n<this._layers.length;n++){const s=this._layers[n];s.zIndex>=e&&(e=s.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObject(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParentObserver.notifyObservers(this)}addObjects(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObjects(e),this._addObject$.next(this),this}removeObject(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObject(e);return this}removeObjects(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObjects(e);return this}getAllObjects(){const e=[];this._layers.sort(g.sortRules);for(const n of this._layers)e.push(...n.getObjectsByOrder());return e}getAllObjectsByOrder(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrder().sort(s));return n}getAllObjectsByOrderForPick(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrderForPick().sort(s));return n}getObject(e){for(const n of this._layers){const s=n.getObjectsByOrder();for(const i of s)if(i.oKey===e)return i}}fuzzyMathObjects(e){const n=[];for(const s of this._layers){const i=s.getObjectsByOrder();for(const o of i)o.oKey.indexOf(e)>-1&&i.push(o)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let n=0,s=this._viewports.length;n<s;n++){const i=this._viewports[n];if(i.viewPortKey===e)return this._viewports.splice(n,1),i}}getViewports(){return this._viewports}getViewport(e){for(const n of this._viewports)if(n.viewPortKey===e)return n}changeObjectOrder(){}render(e){var s;if(!this.isDirty())return;!e&&((s=this.getEngine())==null||s.clearCanvas());const n=this._layers.sort(g.sortRules);for(let i=0,o=n.length;i<o;i++)n[i].render(e,i===o-1)}async requestRender(e){return new Promise((n,s)=>{this.render(e),D2(n)})}openTransformer(e){this._transformer||(this._transformer=new eC(this,e)),this._transformerOpenState=!0}closeTransformer(e=!1){e&&(this._transformer=null),this._transformerOpenState=!1}applyTransformer(e){var n;this._transformerOpenState&&((n=this._transformer)==null||n.attachTo(e))}getTransformer(){return this._transformer}getActiveViewportByRelativeCoord(e){return this._viewports.find(n=>n.isHit(e))}getActiveViewportByCoord(e){return e=this.getRelativeCoord(e),this.getActiveViewportByRelativeCoord(e)}getScrollXYByRelativeCoords(e,n){return n||(n=this.getActiveViewportByRelativeCoord(e)),n?this.getScrollXY(n):{x:0,y:0}}getScrollXY(e){let n=0,s=0;if(e){const i=e.actualScrollX||0,o=e.actualScrollY||0;n+=i,s+=o}return{x:n,y:s}}getRelativeCoord(e){let n=this.getParent();const s=[];for(;n;)(n.classType===j.SCENE||n.classType===j.SCENE_VIEWER)&&s.push(n),n=(n==null?void 0:n.getParent)&&(n==null?void 0:n.getParent());s.reverse();for(const i of s)if(i.classType===j.SCENE){const a=i.getActiveViewportByCoord(e);if(a){const u=a.actualScrollX||0,l=a.actualScrollY||0;e=e.addByPoint(u,l)}}else i.classType===j.SCENE_VIEWER&&(e=i.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getAncestorScale(){let{scaleX:e=1,scaleY:n=1}=this;return this.classType===j.SCENE_VIEWER&&(e=this.ancestorScaleX||1,n=this.ancestorScaleY||1),{scaleX:e,scaleY:n}}getPrecisionScale(){var i;const e=((i=this.getEngine())==null?void 0:i.getPixelRatio())||1,{scaleX:n,scaleY:s}=this.getAncestorScale();return{scaleX:n*e,scaleY:s*e}}dispose(){var e,n;this.getLayers().forEach(s=>{s.dispose()}),this.getViewports().forEach(s=>{s.dispose()}),this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChangeObservable)==null||e.clear(),(n=this._transformer)==null||n.dispose(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onPointerEnterObserver.clear(),this.onPointerLeaveObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onMouseWheelObserver.clear(),this.onKeyDownObservable.clear(),this.onKeyUpObservable.clear(),super.dispose()}pick(e){let n=this.getActiveViewportByCoord(e);if(n||(n=this._viewports[0]),!this.evented||!n)return;const s=n.pickScrollBar(e);if(s)return s;const i=n.getRelativeVector(e);let o=null;const a=this.getAllObjectsByOrderForPick().reverse(),u=a.length;for(let l=0;l<u;l++){const c=a[l];if(!c.visible||!c.evented||c.classType===j.GROUP)continue;let h=i;if(c.isInGroup&&c.parent.classType===j.GROUP){const{cumLeft:f,cumTop:p}=this._getGroupCumLeftRight(c);h=h.clone().add(P.FromArray([-f,-p]))}if(c.isHit(h)){if(c.classType===j.SCENE_VIEWER){const f=c.pick(h);f?o=f:o=c.getActiveSubScene()}else o=c;break}else if(c.classType===j.SCENE_VIEWER&&c.allowSelectedClipElement()){const f=c.pick(h);if(f){o=f;break}}}return!o&&this._parent.classType===j.ENGINE?this:o}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){var n,s;return!((n=this.onPointerUpObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerUp(e),!1):!0}triggerMouseWheel(e){var n,s;return!((n=this.onMouseWheelObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerMouseWheel(e),!1):!0}triggerPointerMove(e){var n,s;return!((n=this.onPointerMoveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerMove(e),!1):!0}triggerDblclick(e){var n,s;return!((n=this.onDblclickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerDblclick(e),!1):!0}triggerTripleClick(e){var n,s;return!((n=this.onTripleClickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerTripleClick(e),!1):!0}triggerPointerDown(e){var n,s;return!((n=this.onPointerDownObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerDown(e),!1):!0}triggerPointerOut(e){var n;return this._parent.classType===j.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOut(e),!1):!0}triggerPointerLeave(e){var n,s;return!((n=this.onPointerLeaveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerLeave(e),!1):!0}triggerPointerOver(e){var n;return this._parent.classType===j.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOver(e),!1):!0}triggerPointerEnter(e){var n,s;return!((n=this.onPointerEnterObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===j.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerEnter(e),!1):!0}_createDefaultLayer(e=1){const n=new Wn(this,[],e);return this.addLayer(n),n}_setTransForm(){const e=m1.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY});this.transform=e,this.getViewports().forEach(n=>{n.resetSizeAndScrollBar()}),this.makeDirty(!0)}_getGroupCumLeftRight(e){let n=e.parent,s=0,i=0;for(;n.classType===j.GROUP;){const{left:o,top:a}=n;s+=o,i+=a,n=n.parent}return{cumLeft:s,cumTop:i}}}class Kn extends g.Disposable{constructor(e,n){super();d(this,"isRenderUnit");d(this,"_injector");d(this,"_renderControllers",[]);d(this,"_renderContext");this._injector=e.createChild(),this._renderContext={unit:n.unit,unitId:n.unit.getUnitId(),type:n.unit.type,components:new Map,mainComponent:null,isMainScene:n.isMainScene,engine:n.engine,scene:n.scene}}get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}dispose(){this._renderControllers.forEach(e=>e.dispose()),this._renderControllers.length=0}addRenderControllers(e){this._initControllers(e)}_initControllers(e){e.map(n=>this._injector.createInstance(n,this._renderContext)).forEach(n=>this._renderControllers.push(n))}}var nC=Object.defineProperty,rC=Object.getOwnPropertyDescriptor,sC=(r,t,e,n)=>{for(var s=n>1?void 0:n?rC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&nC(t,e,s),s},O4=(r,t)=>(e,n)=>t(e,n,r);const iC={width:1500,height:1e3},oC="_UNIVER_SCENE_";exports.RenderManagerService=class extends g.Disposable{constructor(e,n){super();d(this,"_defaultEngine");d(this,"_currentUnitId","");d(this,"_renderMap",new Map);d(this,"_currentRender$",new u1.BehaviorSubject(this._currentUnitId));d(this,"currentRender$",this._currentRender$.asObservable());d(this,"_createRender$",new u1.BehaviorSubject(this._currentUnitId));d(this,"createRender$",this._createRender$.asObservable());d(this,"_renderControllers",new Map);this._injector=e,this._univerInstanceService=n}get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new gt),this._defaultEngine}dispose(){super.dispose(),this._renderMap.forEach(e=>{this._disposeItem(e)}),this._renderControllers.clear(),this._renderMap.clear(),this._currentRender$.complete()}registerRenderControllers(e,n){this._renderControllers.has(e)||this._renderControllers.set(e,new Set);const s=this._renderControllers.get(e);s.add(n);for(const[i,o]of this._renderMap)this._univerInstanceService.getUnitType(i)===e&&o.addRenderControllers([n]);return g.toDisposable(()=>s.delete(n))}_getRenderControllersForType(e){var n;return Array.from((n=this._renderControllers.get(e))!=null?n:[])}createRenderWithParent(e,n){const s=this.getRenderById(n);if(s==null)throw new Error("parent render is null");const{scene:i,engine:o}=s,a=this._createRender(e,o,!1),u=a.scene,l=new o0(e);return l.addSubScene(u),i.addObject(l),a}createRenderWithEngine(e,n){return this._createRender(e,n,!1)}create(e){this._createRender$.next(e)}createRender(e){const n=new gt;return this._createRender(e,n)}_createRender(e,n,s=!0){const i=this.getRenderById(e);let o=!0;i!=null&&i.engine===n&&(o=!1),this._disposeItem(i,o);const{width:a,height:u}=iC,l=new jn(oC+e,n,{width:a,height:u}),c=this._univerInstanceService.getUnit(e),h=this._univerInstanceService.getUnitType(e),f=this._getRenderControllersForType(h),p=new Kn(this._injector,{unit:c,engine:n,scene:l,isMainScene:s});return p.addRenderControllers(f),this.addRenderItem(e,p),p}addRenderItem(e,n){this._renderMap.set(e,n)}removeRender(e){const n=this._renderMap.get(e);n!=null&&(this._disposeItem(n),n.dispose()),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}setCurrent(e){this._currentUnitId=e,this._currentRender$.next(e)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,n=!0){if(e==null)return;const{engine:s,scene:i,components:o,mainComponent:a}=e;o==null||o.forEach(u=>{u.dispose()}),a==null||a.dispose(),i.dispose(),n&&s.dispose()}};exports.RenderManagerService=sC([O4(0,ae.Inject(ae.Injector)),O4(1,g.IUniverInstanceService)],exports.RenderManagerService);const qn=ae.createIdentifier("engine-render.render-manager.service");var aC=Object.defineProperty,uC=Object.getOwnPropertyDescriptor,lC=(r,t,e,n)=>{for(var s=n>1?void 0:n?uC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&aC(t,e,s),s},cC=(r,t)=>(e,n)=>t(e,n,r);const Zn=ae.createIdentifier("univer.render-engine"),hC="render-engine";var Yt;exports.UniverRenderEnginePlugin=(Yt=class extends g.Plugin{constructor(t,e){super(),this._injector=e,this._injector.add([Zn,{useFactory:()=>new gt}]),this._injector.add([qn,{useClass:exports.RenderManagerService}])}},d(Yt,"pluginName",hC),Yt);exports.UniverRenderEnginePlugin=lC([cC(1,ae.Inject(ae.Injector))],exports.UniverRenderEnginePlugin);const Jn=["radius"];class a0 extends Me{constructor(e,n){super(e,n);d(this,"_radius");this._radius=(n==null?void 0:n.radius)||10,this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;if(i===h1.resize||i===h1.all){const u=Math.min(this.width,this.height);this._radius=u/2,this.width=u,this.height=u,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,n){let{radius:s}=n;s=s!=null?s:10,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath(),e.arc(s,s,s||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return Jn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){a0.drawWith(e,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class fC{}class dC{}class Dt extends Me{constructor(e,n){super(e,n);d(this,"_props");d(this,"_native");this._props={autoWidth:!1,autoHeight:!1,...n},n.image?(this._native=n.image,this._init()):n.url&&(this._native=document.createElement("img"),this._native.src=n.url,this._native.onload=()=>{var s,i,o;(s=n.success)==null||s.call(n),this._init(),this.makeDirty(!0),(o=(i=this.getEngine())==null?void 0:i.activeScene)==null||o.onFileLoadedObservable.notifyObservers(e)},this._native.onerror=()=>{n.fail?n.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this._init(),this.makeDirty(!0))})}static drawWith(e,n){var s;if((s=n._native)!=null&&s.complete){const{width:i,height:o}=n;try{e.drawImage(n._native,0,0,i,o)}catch(a){console.error(a)}}}static create(e,n,s){return new Dt(e,{url:n,success:s})}getPictureProps(){return this._props}_draw(e){Dt.drawWith(e,this)}_init(){var e,n;this._props.autoWidth&&this.resize(((e=this._native)==null?void 0:e.width)||0),this._props.autoHeight&&this.resize(void 0,((n=this._native)==null?void 0:n.height)||0)}}const Qn=["pointsGroup"];class Et extends Me{constructor(e,n){super(e,n);d(this,"_pointsGroup");this._pointsGroup=(n==null?void 0:n.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;(i===h1.resize||i===h1.all)&&this.resizePolygon(a)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,n){let{pointsGroup:s}=n;s=s!=null?s:[[]],n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath();for(const i of s){e.moveTo(i[0].x,i[0].y);for(let o=1;o<i.length;o++){const a=i[o];e.lineTo(a.x,a.y)}}e.closePath(),this._renderPaintInOrder(e,n)}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){const{left:n,top:s,width:i,height:o}=this._getSelfRect(),{width:a,height:u}=e;let l,c;a?l=this.width-a:l=0,u?c=this.height-u:c=0;const h=l/i,f=c/o;this.scaleX+=h,this.scaleY+=f,this.left=this.left-n*h,this.top=this.top-s*f,this._setTransForm()}toJson(){const e={};return Qn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}_draw(e){Et.drawWith(e,this)}_setFixBoundingBox(){const{width:e,height:n,left:s,top:i}=this._getSelfRect();this.left=this.left+s,this.top=this.top+i,this.width=e,this.height=n;const o=this.pointsGroup;for(const a of o)for(const u of a)u.x-=s,u.y-=i;this._setTransForm()}_getSelfRect(){const e=this.pointsGroup;let n=e[0][0].x,s=e[0][0].x,i=e[0][0].y,o=e[0][0].y;for(const a of e)for(const u of a)n=Math.min(n,u.x),s=Math.max(s,u.x),i=Math.min(i,u.y),o=Math.max(o,u.y);return{left:n,top:i,width:s-n,height:o-i}}}const g6=["text","richText"];class pC extends ue{constructor(e,n,s){super(n);d(this,"_documentData");d(this,"_documentSkeleton");d(this,"_documents");d(this,"_ff");d(this,"_fs",12);d(this,"_it",g.BooleanNumber.FALSE);d(this,"_bl",g.BooleanNumber.FALSE);d(this,"_ul",{s:g.BooleanNumber.FALSE});d(this,"_st",{s:g.BooleanNumber.FALSE});d(this,"_ol",{s:g.BooleanNumber.FALSE});d(this,"_bg");d(this,"_bd");d(this,"_cl");this._localeService=e,s!=null&&s.richText?this._documentData=s.richText:s&&(this._fs=s.fs,this._ff=s.ff,this._it=s.it,this._bl=s.bl,this._ul=s.ul,this._st=s.st,this._ol=s.ol,this._bg=s.bg,this._bd=s.bd,this._cl=s.cl,this._documentData=this._convertToDocumentData(s.text||""));const i=new g.DocumentDataModel(this._documentData),o=new _e(i);this._documentSkeleton=Je.create(o,this._localeService),this._documents=new N2(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(s),this.onTransformChangeObservable.add(a=>{const{type:u}=a;if(u===h1.resize||u===h1.all){i.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();const l=this.getDocsSkeletonPageSize();this.height=(l==null?void 0:l.height)||this.height,this._setTransForm()}})}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var a;const e=(a=this._documentSkeleton)==null?void 0:a.getSkeletonData();if(!e)return;const{pages:n}=e,s=n[n.length-1],{width:i,height:o}=s;return{width:i,height:o}}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;g6.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:o,bottom:a,right:u}=n.viewBound;if(this.width+this.strokeWidth<o||u<0||this.height+this.strokeWidth<i||a<0)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){const e={};return g6.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){const n=e.length;return{id:"d",body:{dataStream:`${e}${g.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:n}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();const n=this.getDocsSkeletonPageSize();this.transformByState({width:(n==null?void 0:n.width)||0,height:(n==null?void 0:n.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}}class gC extends g.Disposable{constructor(){super(...arguments);d(this,"enableHorizontal",!0);d(this,"enableVertical",!0);d(this,"horizontalThumbWidth",0);d(this,"horizontalMinusMiniThumb",0);d(this,"horizontalBarWidth",0);d(this,"verticalThumbHeight",0);d(this,"verticalBarHeight",0);d(this,"verticalMinusMiniThumb",0);d(this,"horizonBarRect");d(this,"horizonThumbRect");d(this,"verticalBarRect");d(this,"verticalThumbRect");d(this,"placeholderBarRect")}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalBarWidth-this.horizontalThumbWidth:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalBarHeight-this.verticalThumbHeight:0}get ratioScrollX(){if(this.enableHorizontal===!1||this.horizontalThumbWidth===void 0||this.horizontalBarWidth===void 0)return 1;const e=(this.horizontalThumbWidth-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalBarWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this.enableVertical===!1||this.verticalThumbHeight===void 0||this.verticalBarHeight===void 0)return 1;const e=(this.verticalThumbHeight-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalBarHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){const e=this.horizontalBarWidth-this.horizontalThumbWidth;if(e===0)return 0;const n=this.horizontalBarWidth-(this.horizontalThumbWidth-this.horizontalMinusMiniThumb);return n===0?0:e/n}get miniThumbRatioY(){const e=this.verticalBarHeight-this.verticalThumbHeight;if(e===0)return 0;const n=this.verticalBarHeight-(this.verticalThumbHeight-this.verticalMinusMiniThumb);return n===0?0:e/n}pick(e){var n,s,i,o;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(e)?this.verticalBarRect:null}dispose(){var e,n,s,i,o;(e=this.horizonBarRect)==null||e.dispose(),(n=this.horizonThumbRect)==null||n.dispose(),(s=this.verticalBarRect)==null||s.dispose(),(i=this.verticalThumbRect)==null||i.dispose(),(o=this.placeholderBarRect)==null||o.dispose()}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}resize(e=0,n=0,s=0,i=0){}makeDirty(e){}render(e,n=0,s=0){}}const He=17;class u0 extends gC{constructor(e,n){super();d(this,"_view");d(this,"_mainScene");d(this,"_lastX",-1);d(this,"_lastY",-1);d(this,"_isHorizonMove",!1);d(this,"_isVerticalMove",!1);d(this,"_horizonPointerMoveObserver");d(this,"_horizonPointerUpObserver");d(this,"_verticalPointerMoveObserver");d(this,"_verticalPointerUpObserver");d(this,"barSize",14);d(this,"barBorder",1);d(this,"thumbMargin",2);d(this,"thumbLengthRatio",1);d(this,"thumbBackgroundColor","#cccccc");d(this,"thumbHoverBackgroundColor","#b2b2b2");d(this,"thumbActiveBackgroundColor","#999999");d(this,"barBackgroundColor","rgba(255,255,255,0.5)");d(this,"barBorderColor","rgba(255,255,255,0.7)");e||console.warn("Missing viewport"),this.setProps(n),this._view=e,this._initialScrollRect(),this._view.setScrollBar(this)}static attachTo(e,n){return new u0(e,n)}dispose(){var e,n,s,i;super.dispose(),(e=this._mainScene)==null||e.onPointerMoveObserver.remove(this._horizonPointerMoveObserver),(n=this._mainScene)==null||n.onPointerMoveObserver.remove(this._verticalPointerMoveObserver),(s=this._mainScene)==null||s.onPointerUpObserver.remove(this._horizonPointerUpObserver),(i=this._mainScene)==null||i.onPointerUpObserver.remove(this._verticalPointerUpObserver),this._mainScene=null,this._view.removeScrollBar()}render(e,n=0,s=0){const{scrollX:i,scrollY:o}=this._view;e.save();const u=new m1([1,0,0,1,n,s]).getMatrix();e.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this.enableHorizontal&&(this.horizonBarRect.render(e),this.horizonThumbRect.translate(i).render(e)),this.enableVertical&&(this.verticalBarRect.render(e),this.verticalThumbRect.translate(void 0,o).render(e)),this.enableHorizontal&&this.enableVertical&&this.placeholderBarRect.render(e),e.restore()}resize(e=0,n=0,s=0,i=0){var o;e===0&&e===0||(this._resizeHorizontal(e,n,s),this._resizeVertical(e,n,i),this.enableHorizontal&&this.enableVertical&&((o=this.placeholderBarRect)==null||o.transformByState({left:e-this.barSize,top:n-this.barSize,width:this.barSize-this.barBorder,height:this.barSize-this.barBorder})))}makeDirty(e){var n,s,i,o,a;(n=this.horizonBarRect)==null||n.makeDirty(e),(s=this.horizonThumbRect)==null||s.makeDirty(e),(i=this.verticalBarRect)==null||i.makeDirty(e),(o=this.verticalThumbRect)==null||o.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._view.scene).makeDirty(e)}pick(e){var n,s,i,o;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(e)?this.verticalBarRect:null}setProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{e[s]!==void 0&&(this[`${s}`]=e[s])})}_resizeHorizontal(e,n,s){var i,o,a,u,l;this.enableHorizontal&&(this.horizontalMinusMiniThumb=0,this.horizontalBarWidth=e-(this.enableVertical?this.barSize:0)-this.barBorder,this.horizontalThumbWidth=this.horizontalBarWidth*(this.horizontalBarWidth-this.barBorder)/s*this.thumbLengthRatio,this.horizontalThumbWidth<He&&(this.horizontalMinusMiniThumb=He-this.horizontalThumbWidth,this.horizontalThumbWidth=He),(i=this.horizonBarRect)==null||i.transformByState({left:0,top:n-this.barSize,width:this.horizontalBarWidth,height:this.barSize-this.barBorder}),this.horizontalThumbWidth>=e-this.barSize?(o=this.horizonThumbRect)==null||o.setProps({visible:!1}):((a=this.horizonThumbRect)!=null&&a.visible||(u=this.horizonThumbRect)==null||u.setProps({visible:!0}),(l=this.horizonThumbRect)==null||l.transformByState({left:this._view.scrollX,top:n-this.barSize+this.thumbMargin,width:this.horizontalThumbWidth,height:this.barSize-this.thumbMargin*2})))}_resizeVertical(e,n,s){var i,o,a,u,l;this.enableVertical&&(this.verticalMinusMiniThumb=0,this.verticalBarHeight=n-(this.enableHorizontal?this.barSize:0)-this.barBorder,this.verticalThumbHeight=this.verticalBarHeight*this.verticalBarHeight/s*this.thumbLengthRatio,this.verticalThumbHeight<He&&(this.verticalMinusMiniThumb=He-this.verticalThumbHeight,this.verticalThumbHeight=He),(i=this.verticalBarRect)==null||i.transformByState({left:e-this.barSize,top:0,width:this.barSize-this.barBorder,height:this.verticalBarHeight}),this.verticalThumbHeight>=n-this.barSize?(o=this.verticalThumbRect)==null||o.setProps({visible:!1}):((a=this.verticalThumbRect)!=null&&a.visible||(u=this.verticalThumbRect)==null||u.setProps({visible:!0}),(l=this.verticalThumbRect)==null||l.transformByState({left:e-this.barSize+this.thumbMargin,top:this._view.scrollY,width:this.barSize-this.thumbMargin*2,height:this.verticalThumbHeight})))}_initialScrollRect(){this.enableHorizontal&&(this.horizonBarRect=new w1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new w1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new w1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new w1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new w1("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor})),this._initialVerticalEvent(),this._initialHorizontalEvent()}_initialVerticalEvent(){var n,s,i,o;if(!this.enableVertical)return;const e=this._mainScene||this._view.scene;(n=this.verticalThumbRect)==null||n.on(X1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(s=this.verticalThumbRect)==null||s.on(X1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(X1.PointerDown,(a,u)=>{const l=a;this._view.scrollTo({y:l.offsetY-this._view.top-this.verticalThumbHeight/2}),u.stopPropagation()}),(o=this.verticalThumbRect)==null||o.on(X1.PointerDown,(a,u)=>{const l=a,c=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,c==null||c.setProps({fill:this.thumbActiveBackgroundColor}),e.disableEvent(),this.makeViewDirty(!0),u.stopPropagation()}),this._verticalPointerMoveObserver=e.onPointerMoveObserver.add((a,u)=>{var c;const l=a;this._isVerticalMove&&(this._view.scrollByBar({y:l.offsetY-this._lastY}),this._lastY=l.offsetY,(c=e.getEngine())==null||c.setRemainCapture())}),this._verticalPointerUpObserver=e.onPointerUpObserver.add((a,u)=>{const l=this.verticalThumbRect;this._isVerticalMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}_hoverFunc(e,n){return(s,i)=>{if(this._isHorizonMove||this._isVerticalMove)return;n.setProps({fill:e}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){var n,s,i,o;if(!this.enableHorizontal)return;const e=this._mainScene||this._view.scene;(n=this.horizonThumbRect)==null||n.on(X1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(s=this.horizonThumbRect)==null||s.on(X1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(X1.PointerDown,(a,u)=>{const l=a;this._view.scrollTo({x:l.offsetX-this._view.left-this.horizontalThumbWidth/2}),u.stopPropagation()}),(o=this.horizonThumbRect)==null||o.on(X1.PointerDown,(a,u)=>{var c;const l=a;this._isHorizonMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,(c=this.horizonThumbRect)==null||c.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.disableEvent(),u.stopPropagation()}),this._horizonPointerMoveObserver=e.onPointerMoveObserver.add((a,u)=>{var c;const l=a;this._isHorizonMove&&(this._view.scrollByBar({x:l.offsetX-this._lastX}),this._lastX=l.offsetX,(c=e.getEngine())==null||c.setRemainCapture())}),this._horizonPointerUpObserver=e.onPointerUpObserver.add((a,u)=>{const l=this.horizonThumbRect;this._isHorizonMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}}class DC{}const er=["checked"];class l0 extends Me{constructor(e,n){super(e,n);d(this,"_checked",!1);g.Tools.isDefine(n.checked)&&(this._checked=n.checked)}get checked(){return this._checked}static drawWith(e,n){const{width:s=16,height:i=16,fill:o,checked:a,top:u=0,left:l=0}=n,c=new Path2D("M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z"),h=new Path2D("M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z");e.save(),e.translate(l,u),e.scale(s/16,i/16),o&&(e.fillStyle=o),a?e.fill(h,"evenodd"):e.fill(c,"evenodd"),e.restore()}_draw(e){l0.drawWith(e,this)}toJson(){const e={};return er.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}}function _C(r,t){if(t.startRow>=r.endRow||t.endRow<=r.startRow||t.startColumn>=r.endColumn||t.endColumn<=r.startColumn)return[r];const e=[];t.startRow>r.startRow&&e.push({startRow:r.startRow,startColumn:r.startColumn,endRow:t.startRow,endColumn:r.endColumn}),t.endRow<r.endRow&&e.push({startRow:t.endRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn});const n=Math.max(r.startRow,t.startRow),s=Math.min(r.endRow,t.endRow);return t.startColumn>r.startColumn&&e.push({startRow:n,startColumn:r.startColumn,endRow:s,endColumn:t.startColumn}),t.endColumn<r.endColumn&&e.push({startRow:n,startColumn:t.endColumn,endRow:s,endColumn:r.endColumn}),e}const vC=3;class mC{constructor(t,e,n){d(this,"scrollX",0);d(this,"scrollY",0);d(this,"actualScrollX",0);d(this,"actualScrollY",0);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onScrollAfterObserver",new g.Observable);d(this,"onScrollBeforeObserver",new g.Observable);d(this,"onScrollStopObserver",new g.Observable);d(this,"onScrollByBarObserver",new g.Observable);d(this,"_viewPortKey","");d(this,"_topOrigin",0);d(this,"_leftOrigin",0);d(this,"_bottomOrigin",0);d(this,"_rightOrigin",0);d(this,"_widthOrigin");d(this,"_heightOrigin");d(this,"_top",0);d(this,"_left",0);d(this,"_bottom",0);d(this,"_right",0);d(this,"_width");d(this,"_height");d(this,"_scene");d(this,"_scrollBar");d(this,"_isWheelPreventDefaultX",!1);d(this,"_isWheelPreventDefaultY",!1);d(this,"_scrollStopNum",0);d(this,"_preScrollX",0);d(this,"_preScrollY",0);d(this,"_renderClipState",!0);d(this,"_active",!0);d(this,"_paddingStartX",0);d(this,"_paddingEndX",0);d(this,"_paddingStartY",0);d(this,"_paddingEndY",0);d(this,"_isRelativeX",!1);d(this,"_isRelativeY",!1);d(this,"_preViewportBound");this._viewPortKey=t,this._scene=e,(n==null?void 0:n.active)!=null&&(this._active=n.active),this._scene.addViewport(this),this._setWithAndHeight(n),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this._resizeCacheCanvasAndScrollBar()}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewPortKey(){return this._viewPortKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(t){this._width=t}set height(t){this._height=t}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set top(t){var e,n;this._topOrigin=t,this._top=se(t,(n=(e=this._scene)==null?void 0:e.getParent())==null?void 0:n.height)}set left(t){var e;this._leftOrigin=t,this._left=se(t,(e=this.scene.getParent())==null?void 0:e.width)}set bottom(t){var e;this._bottomOrigin=t,this._bottom=se(t,(e=this.scene.getParent())==null?void 0:e.height)}set right(t){var e;this._rightOrigin=t,this._right=se(t,(e=this.scene.getParent())==null?void 0:e.width)}enable(){this._active=!0}disable(){this._active=!1}resetSizeAndScrollBar(){this._resizeCacheCanvasAndScrollBar()}setScrollBar(t){this._scrollBar=t,this._resizeCacheCanvasAndScrollBar()}removeScrollBar(){this._scrollBar=null}resize(t){Object.keys(t).length!==0&&(this._setWithAndHeight(t),this._resizeCacheCanvasAndScrollBar())}setPadding(t){const{startX:e=0,startY:n=0,endX:s=0,endY:i=0}=t;this._paddingStartX=e,this._paddingEndX=s,this._paddingStartY=n,this._paddingEndY=i,this._resizeCacheCanvasAndScrollBar()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollTo(t,e=!0){return this._scroll(0,t,e)}scrollBy(t,e=!0){return this._scroll(1,t,e)}scrollByBar(t,e=!0){var i,o;this._scroll(1,t,e);const{x:n,y:s}=t;this.onScrollByBarObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:n,y:s,actualScrollX:this.actualScrollX,actualScrollY:this.actualScrollY,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:e})}scrollByOffset(t=0,e=0,n=!0){if(!this._scrollBar||this.isActive===!1)return;const s=t+this._paddingStartX,i=e+this._paddingStartY,o=this.getBarScroll(s,i);return this.scrollBy(o,n)}getBarScroll(t,e){let n=t-this._paddingStartX,s=e-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,s*=this._scrollBar.ratioScrollY;const{scaleX:i,scaleY:o}=this.scene;n*=i,s*=o}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(s=this.scrollY);return{x:n,y:s}}getActualScroll(t,e){let n=t,s=e;if(this._scrollBar){const{scaleX:a,scaleY:u}=this.scene;this._scrollBar.ratioScrollX!==0?(n/=this._scrollBar.ratioScrollX,n/=a):this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this._scrollBar.ratioScrollY!==0?(s/=this._scrollBar.ratioScrollY,s/=u):this.actualScrollY!==void 0?s=this.actualScrollY:s=0}else this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this.actualScrollY!==void 0?s=this.actualScrollY:s=0;const{scaleX:i,scaleY:o}=this._scene.getPrecisionScale();return{x:q(n+this._paddingStartX,i),y:q(s+this._paddingStartY,o)}}getTransformedScroll(){const t=this.scrollX,e=this.scrollY;return this.getActualScroll(t,e)}getScrollBar(){return this._scrollBar}updateScroll(t){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX:e,scrollY:n,actualScrollX:s,actualScrollY:i}=t;return e!==void 0&&(this.scrollX=e),n!==void 0&&(this.scrollY=n),s!==void 0&&(this.actualScrollX=s),i!==void 0&&(this.actualScrollY=i),this}getScrollBarTransForm(){const t=m1.create();return t.multiply(m1.create([1,0,0,1,this._left,this._top])),t}render(t,e=[],n=!1){var c;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const s=t||((c=this._scene.getEngine())==null?void 0:c.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(m1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const o=s,a=i.getMatrix(),u=this.getScrollBarTransForm().getMatrix();if(o.save(),this._renderClipState){o.beginPath();const{scaleX:h,scaleY:f}=this._getBoundScale(a[0],a[3]);o.rect(this.left,this.top,(this.width||0)*h,(this.height||0)*f),o.clip()}o.transform(a[0],a[1],a[2],a[3],a[4],a[5]);const l=this._calViewportRelativeBounding();e.forEach(h=>{h.render(o,l)}),o.restore(),this._scrollBar&&n&&(o.save(),o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawScrollbar(o),o.restore()),this._scrollRendered(),this._preViewportBound=l}getBounding(){return this._calViewportRelativeBounding()}getRelativeVector(t){const e=this.scene.transform.clone().invert(),n=this.getTransformedScroll();return e.applyPoint(t).add(P.FromArray([n.x,n.y]))}getAbsoluteVector(t){const e=this.scene.transform.clone(),n=this.getTransformedScroll();return e.applyPoint(t.subtract(P.FromArray([n.x,n.y])))}onMouseWheel(t,e){if(!this._scrollBar||this.isActive===!1)return;let n;if(t.inputIndex===X.MouseWheelX){const s=Math.abs(t.deltaX),i=this._scene.width,a=(this.width||1)/i*s;t.deltaX>0?n=this.scrollBy({x:a}):n=this.scrollBy({x:-a}),this._scene.getParent().classType===j.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()}if(t.inputIndex===X.MouseWheelY){const s=Math.abs(t.deltaY),i=this._scene.height;let a=(this.height||1)/i*s;t.shiftKey?(a*=vC,t.deltaY>0?n=this.scrollBy({x:a}):n=this.scrollBy({x:-a}),this._scene.getParent().classType===j.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()):(t.deltaY>0?n=this.scrollBy({y:a}):n=this.scrollBy({y:-a}),this._scene.getParent().classType===j.SCENE_VIEWER?n!=null&&n.isLimitedY||e.stopPropagation():this._isWheelPreventDefaultY?t.preventDefault():n!=null&&n.isLimitedY||t.preventDefault())}t.inputIndex,X.MouseWheelZ,this._scene.makeDirty(!0)}isHit(t){if(this.isActive===!1)return;const{width:e,height:n}=this._getViewPortSize();return t.x>=this.left&&t.x<=this.left+(e||0)&&t.y>=this.top&&t.y<=this.top+(n||0)}pickScrollBar(t){if(!this._scrollBar)return;const n=this.getScrollBarTransForm().invert().applyPoint(t);return this._scrollBar.pick(n)}openClip(){this._renderClipState=!0}closeClip(){this._renderClipState=!1}dispose(){var t;this.onMouseWheelObserver.clear(),this.onScrollAfterObserver.clear(),this.onScrollBeforeObserver.clear(),this.onScrollStopObserver.clear(),(t=this._scrollBar)==null||t.dispose(),this._scene.removeViewport(this._viewPortKey)}limitedScroll(){var i,o;if(!this._scrollBar)return;const t=(i=this._scrollBar)==null?void 0:i.limitX,e=(o=this._scrollBar)==null?void 0:o.limitY;let n=!0,s=!0;return this.scrollX<0?this.scrollX=0:this.scrollX>t?this.scrollX=t:n=!1,this.scrollY<0?this.scrollY=0:this.scrollY>e?this.scrollY=e:s=!1,{isLimitedX:n,isLimitedY:s}}_resizeCacheCanvasAndScrollBar(){const t=this.actualScrollX,e=this.actualScrollY,{width:n,height:s}=this._getViewPortSize(),i=(this._scene.width-this._paddingEndX)*this._scene.scaleX,o=(this._scene.height-this._paddingEndY)*this._scene.scaleY;if(this._scrollBar){this._scrollBar.resize(n,s,i,o);const{x:a,y:u}=this.getBarScroll(t,e);this.scrollTo({x:a,y:u})}}_getViewPortSize(){const t=this._scene.getParent(),{width:e,height:n}=t,{scaleX:s=1,scaleY:i=1}=this._scene;let o,a,u=this.left*s,l=this.top*i;return this._leftOrigin!=null&&(u=this._leftOrigin*s),this._topOrigin!=null&&(l=this._topOrigin*i),this._widthOrigin!=null?o=this._widthOrigin*s:(o=e-(u+this._right),this.width=o),this._heightOrigin!=null?a=this._heightOrigin*i:(a=n-(l+this._bottom),this.height=a),this._left=u,this._top=l,{width:o,height:a}}_scrollRendered(){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY}_triggerScrollStop(t,e,n,s=!0){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var i,o;this.onScrollStopObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:e,y:n,actualScrollX:t.x,actualScrollY:t.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:s})},2)}_scroll(t,e,n=!0){var u,l,c,h;const{x:s,y:i}=e;if(this._scrollBar==null)return;s!==void 0&&(this._scrollBar.hasHorizonThumb()?t===1?this.scrollX+=s:this.scrollX=s:this.scrollX=0),i!==void 0&&(this._scrollBar.hasVerticalThumb()?t===1?this.scrollY+=i:this.scrollY=i:this.scrollY=0);const o=this.limitedScroll();this.onScrollBeforeObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,limitX:(u=this._scrollBar)==null?void 0:u.limitX,limitY:(l=this._scrollBar)==null?void 0:l.limitY,isTrigger:n}),this._scrollBar&&this._scrollBar.makeDirty(!0);const a=this.getTransformedScroll();return this.actualScrollX=a.x,this.actualScrollY=a.y,this.onScrollAfterObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,actualScrollX:a.x,actualScrollY:a.y,limitX:(c=this._scrollBar)==null?void 0:c.limitX,limitY:(h=this._scrollBar)==null?void 0:h.limitY,isTrigger:n}),this._triggerScrollStop(a,s,i,n),o}_calViewportRelativeBounding(){var C;if(this.isActive===!1)return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewPortKey:this.viewPortKey};const e=this._scene.transform.clone().getMatrix(),n=this._isRelativeX&&e[0]<1?e[0]:1,s=this._isRelativeY&&e[3]<1?e[3]:1,i=this._isRelativeX?1:e[0]<1?e[0]:1,o=this._isRelativeY?1:e[3]<1?e[3]:1;let a=this._width,u=this._height;const l=this._getViewPortSize();e[0]>1&&(a=l.width),e[3]>1&&(u=l.height);const c=this.left*n,h=((a||0)+this.left)*i,f=this.top*s,p=((u||0)+this.top)*o,_=this.getRelativeVector(P.FromArray([c,f])),m=this.getRelativeVector(P.FromArray([h,p])),v={top:_.y,left:_.x,right:m.x,bottom:m.y},y=(C=this._preViewportBound)==null?void 0:C.viewBound;return{viewBound:v,diffBounds:this._diffViewBound(v,y),diffX:((y==null?void 0:y.left)||0)-v.left,diffY:((y==null?void 0:y.top)||0)-v.top,viewPortPosition:{top:f,left:c,bottom:p,right:h},viewPortKey:this.viewPortKey}}_diffViewBound(t,e){if(e==null)return[t];const n={startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right},s={startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right};return _C(n,s).map(o=>{const{startRow:a,endRow:u,startColumn:l,endColumn:c}=o;return{left:l,top:a,right:c,bottom:u}})}_drawScrollbar(t){if(!this._scrollBar)return;const e=this._scene.getParent();e.classType===j.SCENE_VIEWER?this._scrollBar.render(t):e.classType===j.ENGINE&&this._scrollBar.render(t)}_setWithAndHeight(t){this.top=(t==null?void 0:t.top)||0,this.left=(t==null?void 0:t.left)||0,this.bottom=(t==null?void 0:t.bottom)||0,this.right=(t==null?void 0:t.right)||0,g.Tools.isDefine(t==null?void 0:t.width)?(this.width=t==null?void 0:t.width,this._widthOrigin=this.width,this._isRelativeX=!1):(this.width=null,this._widthOrigin=null,this._isRelativeX=!0),g.Tools.isDefine(t==null?void 0:t.height)?(this.height=t==null?void 0:t.height,this._heightOrigin=this.height,this._isRelativeY=!1):(this.height=null,this._heightOrigin=null,this._isRelativeY=!0)}_getBoundScale(t,e){return t=this._isRelativeX&&t<1?1:t,e=this._isRelativeY&&e<1?1:e,{scaleX:t,scaleY:e}}}var tt=(r=>(r[r.page=0]="page",r[r.section=1]="section",r[r.column=2]="column",r[r.line=3]="line",r[r.divide=4]="divide",r[r.glyph=5]="glyph",r))(tt||{});const Ge={page:0,section:1,column:2,line:3,divide:4,glyph:5};function tr(r,t){return r.page>t.page?!1:r.page<t.page?!0:r.section>t.section?!1:r.section<t.section?!0:r.column>t.column?!1:r.column<t.column?!0:r.line>t.line?!1:r.line<t.line?!0:r.divide>t.divide?!1:r.divide<t.divide?!0:r.glyph>t.glyph?!1:(r.glyph<t.glyph,!0)}function D6(r,t){return tr(r,t)?{start:r,end:t}:{start:t,end:r}}function w4(r){const t=r.length;if(t===0)return;const e=r[0],n=r[t-1],s=r.length===1&&e.collapsed;return{startOffset:e.startOffset,endOffset:n.endOffset,collapsed:s}}function bC(r,t,e,n){let s=n,i=n;for(let o=0;o<r.length;o++){const u=r[o].count;o<t&&(s+=u),o<e&&(i+=u)}return{startOffset:s,endOffset:i}}class nr{constructor(t,e){d(this,"_liquid",new F2);d(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});d(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],s=[],i=[];if(t==null||e==null)return{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i};const{start:o,end:a}=D6(t,e);return this._selectionIterator(o,a,(u,l,c,h,f,p)=>{const{lineHeight:_,marginTop:m,contentHeight:v}=p,{glyphGroup:y,st:C}=f,{x:E,y:x}=this._liquid;let T,O;const B=y[u],S=y[l],A=(B==null?void 0:B.left)||0,k=(B==null?void 0:B.width)||0,R=(S==null?void 0:S.left)||0,M=(S==null?void 0:S.width)||0,U=(B==null?void 0:B.glyphType)===A1.LIST,{startOffset:I,endOffset:L}=bC(y,u,l,C),$=o.glyph===u&&c?o.isBack:!0,z=a.glyph===l&&h?a.isBack:!1,V=o===a;if(u===0&&l===y.length-1)T={startX:E+A+(U?k:0),startY:x,endX:E+R+M,endY:x+_},O={startX:E+A+(U?k:0),startY:x+m,endX:E+R+M,endY:x+m+v};else{const H=$&&!U;T={startX:E+A+(H?0:k),startY:x,endX:E+R+(z?0:M),endY:x+_},O={startX:E+A+(H?0:k),startY:x+m,endX:E+R+(z?0:M),endY:x+m+v}}n.push(this._pushToPoints(T)),s.push(this._pushToPoints(O)),i.push({startOffset:$?I:I+B.count,endOffset:z?L:L+S.count,collapsed:V})}),{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i}}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(t=0,e,n,s){s===e?this._currentStartState[t]=1:this._currentStartState[t]=0,s===n?this._currentEndState[t]=2:this._currentEndState[t]=0}_checkPreviousNodePositionState(t,e=!0){let n=t,s;for(;n>=0;){const i=tt[n];let o;if(e?o=this._currentStartState[i]:o=this._currentEndState[i],o===void 0)return;if(s===void 0&&(s=o),o!==s)return 0;n--}return s}_getSelectionRuler(t,e,n,s,i){let o=0,a=s;const u=tt[t],l=tt[t+1];if(l===null||u===null)return{start_next:o,end_next:a};const c=e[u],h=n[u];this._setNodePositionState(u,c,h,i);const f=this._checkPreviousNodePositionState(t),p=this._checkPreviousNodePositionState(t,!1);return f===1&&(o=e[l]),p===2&&(a=n[l]),{start_next:o,end_next:a}}_pushToPoints(t){const{startX:e,startY:n,endX:s,endY:i}=t,o=[];return o.push({x:e,y:n}),o.push({x:s,y:n}),o.push({x:s,y:i}),o.push({x:e,y:i}),o.push({x:e,y:n}),o}_selectionIterator(t,e,n){const s=this._docSkeleton;if(!s)return[];this._liquid.reset();const i=s.getSkeletonData();if(i==null)return[];const o=i.pages,{page:a}=t,{page:u}=e;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:l,pageMarginLeft:c,pageMarginTop:h}=this._documentOffsetConfig;for(let f=0;f<=a-1;f++){const p=o[f];this._liquid.translatePage(p,l,c,h)}for(let f=a;f<=u;f++){const p=o[f],_=p.sections,{start_next:m,end_next:v}=this._getSelectionRuler(Ge.page,t,e,_.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(p);for(let y=m;y<=v;y++){const C=_[y],E=C.columns,{start_next:x,end_next:T}=this._getSelectionRuler(Ge.section,t,e,E.length-1,y);this._liquid.translateSection(C);for(let O=x;O<=T;O++){const B=E[O],S=B.lines,{start_next:A,end_next:k}=this._getSelectionRuler(Ge.column,t,e,S.length-1,O);this._liquid.translateColumn(B);for(let R=A;R<=k;R++){const M=S[R],{divides:U}=M,{start_next:I,end_next:L}=this._getSelectionRuler(Ge.line,t,e,U.length-1,R);this._liquid.translateSave(),this._liquid.translateLine(M);for(let $=I;$<=L;$++){const z=U[$];this._liquid.translateSave(),this._liquid.translateDivide(z);const V=z.glyphGroup,{start_next:H,end_next:Z}=this._getSelectionRuler(Ge.divide,t,e,V.length-1,$);let e1=!1,t1=!1;f===a&&y===m&&O===x&&R===A&&$===I&&(e1=!0),f===u&&y===v&&O===T&&R===k&&$===L&&(t1=!0),n&&n(H,Z,e1,t1,z,M,B,C,p),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(p,l,c,h)}}}const yC="__TestSelectionRange__",FC="__TestSelectionAnchor__",A4=6,Wt=500,CC=500,_6=1;function EC(r,t,e,n){const{startOffset:s,endOffset:i,style:o=b2}=t,a=e.findNodePositionByCharIndex(s),u=s!==i?e.findNodePositionByCharIndex(i):null,l=new _t(r,n,e,a,u,o);return l.refresh(),l}function rr(r){const t=r[0],e=t[0],n=t[2],{x:s,y:i}=e,{x:o,y:a}=n;return{left:s,top:i,width:o-s,height:a-i}}class _t{constructor(t,e,n,s,i,o=b2){d(this,"_current",!1);d(this,"_rangeShape");d(this,"_anchorShape");d(this,"_cursorList",[]);d(this,"_anchorBlinkTimer",null);this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=s,this.focusNodePosition=i,this.style=o,this._anchorBlink()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},Wt),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},Wt))},CC+Wt)}get startOffset(){var s;const{startOffset:t}=(s=w4(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(n,t)}get endOffset(){var s;const{endOffset:t}=(s=w4(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(t,n)}get collapsed(){const{startOffset:t,endOffset:e}=this;return t!=null&&t===e}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:t}=D6(this.anchorNodePosition,this.focusNodePosition);return t}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:t}=D6(this.anchorNodePosition,this.focusNodePosition);return t}get direction(){const{collapsed:t,anchorNodePosition:e,focusNodePosition:n}=this;return t||e==null||n==null?f2.NONE:tr(e,n)?f2.FORWARD:f2.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.strokeActive)||F1(g.COLORS.black,1)})}deactivateStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.stroke)||F1(g.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t,e;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null,(e=this._anchorShape)==null||e.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(t){const{startOffset:e,endOffset:n}=this,{startOffset:s,endOffset:i}=t;return e==null||n==null||s==null||i==null?!1:e<=i&&n>=s}refresh(){var h,f;const{_document:t,_docSkeleton:e}=this,n=this.anchorNodePosition,s=this.focusNodePosition;if((h=this._anchorShape)==null||h.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=t.getOffsetConfig(),{docsLeft:o,docsTop:a}=i,u=new nr(i,e);if(this._isCollapsed()){const{contentBoxPointGroup:p,cursorList:_}=u.getRangePointData(n,n);this._setCursorList(_),p.length>0&&this._createOrUpdateAnchor(p,o,a);return}const{borderBoxPointGroup:l,cursorList:c}=u.getRangePointData(n,s);this._setCursorList(c),l.length>0&&this._createOrUpdateRange(l,o,a)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(t!=null&&e==null)return!0;if(t==null||e==null)return!1;const n=Object.keys(Ge);for(const s of n){const i=t[s],o=e[s];if(i!==o)return!1}return t.isBack===e.isBack}_createOrUpdateRange(t,e,n){var o;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const s=.2,i=new Et(yC+g.Tools.generateRandomId(A4),{pointsGroup:t,fill:((o=this.style)==null?void 0:o.fill)||F1(g.COLORS.black,s),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,_6)}_createOrUpdateAnchor(t,e,n){var l,c;const s=rr(t),{left:i,top:o,height:a}=s;if(this._anchorShape){this._anchorShape.transformByState({left:i+e,top:o+n,height:a}),this._anchorShape.show();return}const u=new w1(FC+g.Tools.generateRandomId(A4),{left:i+e,top:o+n,height:a,strokeWidth:((l=this.style)==null?void 0:l.strokeWidth)||1,stroke:((c=this.style)==null?void 0:c.strokeActive)||F1(g.COLORS.black,1),evented:!1});this._anchorShape=u,this._scene.addObject(u,_6)}_setCursorList(t){t.length!==0&&(this._cursorList=t)}}function SC(r){const t=r.getBoundingClientRect(),e=document.body,n=document.documentElement,s=window.pageYOffset||n.scrollTop||e.scrollTop,i=window.pageXOffset||n.scrollLeft||e.scrollLeft,o=n.clientTop||e.clientTop,a=n.clientLeft||e.clientLeft,u=t.top+s-o,l=t.left+i-a;return{top:u,left:l}}var TC=Object.defineProperty,xC=Object.getOwnPropertyDescriptor,BC=(r,t,e,n)=>{for(var s=n>1?void 0:n?xC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&TC(t,e,s),s},OC=(r,t)=>(e,n)=>t(e,n,r);function sr(r){const t=r==null?void 0:r.getCanvasElement();if(!t)return{left:0,top:0};const{top:e,left:n}=SC(t);return{left:n,top:e}}function R4(r){var u;const t=(u=r.parent)==null?void 0:u.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;const{paragraphIndex:n}=t,s=e.lines.filter(l=>l.paragraphIndex===n);let i=-1,o="",a=!1;for(const l of s)for(const c of l.divides)for(const h of c.glyphGroup)a||(i+=h.count),h===r&&(a=!0),o+=h.count>0?h.content:"";return{st:s[0].st,ed:n,content:o,nodeIndex:i}}exports.TextSelectionRenderManager=class extends g.RxDisposable{constructor(e){super();d(this,"_onInputBefore$",new u1.BehaviorSubject(null));d(this,"onInputBefore$",this._onInputBefore$.asObservable());d(this,"_onKeydown$",new u1.BehaviorSubject(null));d(this,"onKeydown$",this._onKeydown$.asObservable());d(this,"_onInput$",new u1.BehaviorSubject(null));d(this,"onInput$",this._onInput$.asObservable());d(this,"_onCompositionstart$",new u1.BehaviorSubject(null));d(this,"onCompositionstart$",this._onCompositionstart$.asObservable());d(this,"_onCompositionupdate$",new u1.BehaviorSubject(null));d(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());d(this,"_onCompositionend$",new u1.BehaviorSubject(null));d(this,"onCompositionend$",this._onCompositionend$.asObservable());d(this,"_onSelectionStart$",new u1.BehaviorSubject(null));d(this,"onSelectionStart$",this._onSelectionStart$.asObservable());d(this,"_onPaste$",new u1.Subject);d(this,"onPaste$",this._onPaste$.asObservable());d(this,"_textSelectionInner$",new u1.BehaviorSubject(null));d(this,"textSelectionInner$",this._textSelectionInner$.asObservable());d(this,"_onFocus$",new u1.Subject);d(this,"onFocus$",this._onFocus$.asObservable());d(this,"_onBlur$",new u1.Subject);d(this,"onBlur$",this._onBlur$.asObservable());d(this,"_container");d(this,"_inputParent");d(this,"_input");d(this,"_moveObservers",[]);d(this,"_upObservers",[]);d(this,"_scrollTimers",[]);d(this,"_viewportScrollX",0);d(this,"_viewportScrollY",0);d(this,"_rangeList",[]);d(this,"_currentSegmentId","");d(this,"_selectionStyle",b2);d(this,"_isSelectionEnabled",!0);d(this,"_viewPortObserverMap",new Map);d(this,"_isIMEInputApply",!1);d(this,"_activeViewport");d(this,"_docSkeleton");d(this,"_scene");d(this,"_document");this._logService=e,this._initDOM()}__getEditorContainer(){return this._container}getViewPort(){return this._activeViewport}setSegment(e){this._currentSegmentId=e}setStyle(e=b2){this._selectionStyle=e}resetStyle(){this.setStyle()}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}addTextRanges(e,n=!0){const{_scene:s,_docSkeleton:i}=this;for(const o of e){const a=EC(s,o,i,this._document);this._add(a)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:n}),this._updateInputPosition()}sync(){this._updateInputPosition()}activate(e,n){this._container.style.left=`${e}px`,this._container.style.top=`${n}px`,this._container.style.zIndex="1000",this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}changeRuntime(e,n,s){e!==this._docSkeleton&&this.removeAllTextRanges(),this._docSkeleton=e,this._scene=n,this._activeViewport=n.getViewports()[0],this._document=s,this._attachScrollEvent(this._activeViewport)}handleDblClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const o=R4(i.node);if(o==null)return;const{content:a,st:u,nodeIndex:l}=o;if(l===-1||Intl.Segmenter==null)return;const h=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a);let f=Number.NEGATIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(const{segment:_,index:m,isWordLike:v}of h)if(m<=l&&l<m+_.length&&v){f=m+u,p=m+u+_.length;break}if(Number.isFinite(f)&&Number.isFinite(p)){this.removeAllTextRanges();const _=[{startOffset:f,endOffset:p}];this.addTextRanges(_,!1)}}handleTripleClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const o=R4(i.node);if(o==null)return;this.removeAllTextRanges();const{st:a,ed:u}=o,l=[{startOffset:a,endOffset:u,collapsed:a===u}];this.addTextRanges(l,!1)}setCursorManually(e,n){const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(i==null){this._removeAllTextRanges();return}(s==null?void 0:s.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(e){var p;if(!this._scene||!this._isSelectionEnabled)return;const n=this._scene,{offsetX:s,offsetY:i}=e,o=this._findNodeByCoord(s,i),a=this._getNodePosition(o);if(a==null){this._removeAllTextRanges();return}if((o==null?void 0:o.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(a.isBack=!0),e.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(a);else if(e.ctrlKey||this._isEmpty()){const _=new _t(n,this._document,this._docSkeleton,a);this._addTextRange(_)}else this._updateTextRangeAnchorPosition(a);this._activeSelectionRefresh(),n.disableEvent();const u=Qe.create(n);this._scrollTimers.push(u),u.startScroll(s,i);const{scrollX:l,scrollY:c}=Xe(u);this._viewportScrollX=l,this._viewportScrollY=c,this._onSelectionStart$.next((p=this._getActiveRangeInstance())==null?void 0:p.startNodePosition);let h=s,f=i;this._moveObservers.push(n.onPointerMoveObserver.add(_=>{const{offsetX:m,offsetY:v}=_;n.setCursor(f1.TEXT),!(Math.sqrt((m-h)**2+(v-f)**2)<3)&&(this._moving(m,v),h=m,f=v)})),this._upObservers.push(n.onPointerUpObserver.add(()=>{this._moveObservers.forEach(_=>{_==null||_.dispose()}),this._upObservers.forEach(_=>{_==null||_.dispose()}),this._moveObservers=[],this._upObservers=[],n.enableEvent(),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:!1}),this._scrollTimers.forEach(_=>{_==null||_.dispose()}),this._scrollTimers=[],this._updateInputPosition()}))}removeAllTextRanges(){this._removeAllTextRanges(),this.deactivate()}_getAllTextRanges(){return this._rangeList}_getActiveRange(){const e=this._rangeList.find(l=>l.isActive());if(e==null)return null;const{startOffset:n,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:u}=e;return n==null||s==null?null:{startOffset:n,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:u,segmentId:this._currentSegmentId,style:this._selectionStyle}}_add(e){e!=null&&(this._addTextRange(e),e.refresh())}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._container.remove()}_initDOM(){const e=document.createElement("div");e.style.position="fixed",e.style.left="0px",e.style.top="0px";const n=document.createElement("div"),s=document.createElement("div");n.appendChild(s),e.appendChild(n),this._container=e,this._inputParent=n,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(e)}_initInput(){this._inputParent.style.cssText=`
|
|
1
|
+
"use strict";var ir=Object.defineProperty;var or=(r,t,e)=>t in r?ir(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var p=(r,t,e)=>(or(r,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@univerjs/core"),ae=require("@wendellhu/redi"),o1=require("rxjs");var D6=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(D6||{}),j1=(r=>(r.PointerMove="PointerMove",r.PointerDown="PointerDown",r.PointerUp="PointerUp",r.PointerOut="PointerOut",r.PointerLeave="PointerLeave",r.PointerOver="PointerOver",r.PointerEnter="PointerEnter",r.wheel="MouseWheel",r.KeyDown="KeyDown",r.KeyUp="KeyUp",r))(j1||{}),A4=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(A4||{});const _6=1,wt='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',k4={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},ar={...k4,marginTop:20},ur={...k4,marginBottom:20},X2=1,I4=14;var f1=(r=>(r.DEFAULT="default",r.AUTO="auto",r.CROSSHAIR="crosshair",r.POINTER="pointer",r.MOVE="move",r.EAST_RESIZE="e-resize",r.NORTH_EAST_RESIZE="ne-resize",r.NORTH_WEST_RESIZE="nw-resize",r.NORTH_RESIZE="n-resize",r.SOUTH_EAST_RESIZE="se-resize",r.SOUTH_WEST_RESIZE="sw-resize",r.SOUTH_RESIZE="s-resize",r.WEST_RESIZE="w-resize",r.TEXT="text",r.WAIT="wait",r.HELP="help",r.CELL="cell",r.NONE="none",r.VERTICAL_TEXT="vertical-text",r.NO_DROP="no-drop",r.GRAB="grab",r.GRABBING="grabbing",r.ALL_SCROLL="all-scroll",r.COLUMN_RESIZE="col-resize",r.ROW_RESIZE="row-resize",r.PROGRESS="progress",r.NOT_ALLOWED="not-allowed",r.ZOOM_IN="zoom-in",r.ZOOM_OUT="zoom-out",r))(f1||{}),L4=(r=>(r[r.noClip=0]="noClip",r[r.DOC_SIZE=1]="DOC_SIZE",r[r.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",r[r.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",r[r.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right",r))(L4||{});const De="rgb(0,0,0)";var K=(r=>(r.TOP="t",r.BOTTOM="b",r.LEFT="l",r.RIGHT="r",r.TL_BR="tl_br",r.TL_BC="tl_bc",r.TL_MR="tl_mr",r.BL_TR="bl_tr",r.ML_TR="ml_tr",r.BC_TR="bc_tr",r))(K||{}),gt=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(gt||{}),V=(r=>(r.ENGINE="Engine",r.SCENE="Scene",r.BASE_OBJECT="BaseObject",r.SCENE_VIEWER="SceneViewer",r.CANVAS="Canvas",r.VIEWPORT="Viewport",r.LAYER="Layer",r.GROUP="Group",r))(V||{});const lr=1e3,P4=2e3,g1=.5;var c1=(r=>(r[r.translate=0]="translate",r[r.resize=1]="resize",r[r.scale=2]="scale",r[r.skew=3]="skew",r[r.flip=4]="flip",r[r.all=5]="all",r))(c1||{});class cr{isEmpty(){return this._isEmpty()}toString(t){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(t)}toRegExp(t){return new RegExp(this.toString(t),t)}}class q1 extends cr{constructor(...t){super(),this.data=[];for(const e of t)e instanceof q1?this.data.push(...e.data):this.data.push(fr(e));this._unique()}union(...t){return new q1(this,...t)}subtract(...t){const e=this.data.slice(),n=[];let s=0;const{data:i}=new q1(...t);for(;e.length!==0;){const o=e.shift(),[a,u]=o;let l;do{l=!0;const c=i[s];if(c===void 0){n.push(o);break}const[h,f]=c;f<a?(l=!1,s++):u<h?n.push(o):h<=a&&f<u?(s++,e.unshift([f+1,u])):a<h&&f<u?(s++,n.push([a,h-1]),e.unshift([f+1,u])):a<h&&u<=f&&n.push([a,h-1])}while(!l)}return new q1(...n)}intersect(...t){return this.subtract(this.subtract(...t))}_isEmpty(){return this.data.length===0}_toString(t){return pr(this.data,t)}_unique(){this.data.sort(dr);const t=[];let e=null;for(const n of this.data)e===null||e[1]+1<n[0]?(t.push(n),e=n):(t.splice(-1,1,[Math.min(n[0],e[0]),Math.max(n[1],e[1])]),e=t[t.length-1]);this.data=t}}const g2=(...r)=>new q1(...r);function hr(r){if(r.length!==1){const t=`${r.length} (${JSON.stringify(r)})`;throw new Error(`Expected length = 1, but received ${t}.`)}return r.charCodeAt(0)}function fr(r){if(typeof r=="number"&&(r<0||r>1114111))throw new Error(`Invalid unicode code point detected: ${r<0?r:`0x${r.toString(16)}`}`);const[t]=[r].map(e=>typeof e!="object"?[e,e]:e).map(e=>e.map(n=>typeof n=="string"?hr(n):n));return t}function dr(r,t){return r[0]-t[0]}function pr(r,t=""){if(t.includes("u"))return c0(r,!0);const{normal:e,surrogate:n}=Dr(r),s=[];return e.length!==0&&s.push(c0(e,!1)),s.push(...gr(n)),s.join("|")}function c0(r,t){return`[${r.map(([n,s])=>n===s?ht(n,t):`${ht(n,t)}-${ht(s,t)}`).join("")}]`}function gr(r){const t=[];if(r.entire.data.length!==0){const e=r.entire.toString(),n=`[${[56320,57343].map(s=>ht(s,!1)).join("-")}]`;t.push(`${e}${n}`)}for(const{h:e,l:n}of r.partial){const s=ht(e,!1),i=n.toString();t.push(`${s}${i}`)}return t}function Dr(r){const t=[],e=[];for(let n=0;n<r.length;n++){const s=r[n],[i,o]=s;if(i>=65536){e.push(...r.slice(n));break}if(o>=65536){t.push([i,65535]),e.push([65536,o],...r.slice(n+1));break}t.push(s)}return{normal:t,surrogate:_r(e)}}function _r(r){const t=[],e=[];for(const[i,o]of r){const a=h0(i),u=h0(o);if(a.h===u.h){s(a.h,a.l,u.l);continue}a.l===56320?n(a.h):s(a.h,a.l,57343);for(let l=a.h+1;l<u.h;l++)n(l);u.l===57343?n(u.h):s(u.h,56320,u.l)}return{entire:new q1(...t),partial:e.map(({h:i,l:o})=>({h:i,l:new q1(...o)}))};function n(i){t.push(i)}function s(i,o,a){const u=e[e.length-1];u!==void 0&&u.h===i?u.l.push([o,a]):e.push({h:i,l:[[o,a]]})}}function h0(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function ht(r,t){const e=r.toString(16);return t?`\\u{${e}}`:`\\u${"0".repeat(4-e.length)}${e}`}const vr=[[0,127]],mr=[[48,57],[65,70],[97,102]],br=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,837,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1456,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1623],[1625,1631],[1646,1747],[1749,1756],[1761,1768],[1773,1775],[1786,1788],1791,[1808,1855],[1869,1969],[1994,2026],[2036,2037],2042,[2048,2071],[2074,2092],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2260,2271],[2275,2281],[2288,2363],[2365,2380],[2382,2384],[2389,2403],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2500],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2531],[2544,2545],2556,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2626],[2631,2632],[2635,2636],2641,[2649,2652],2654,[2672,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2757],[2759,2761],[2763,2764],2768,[2784,2787],[2809,2812],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2884],[2887,2888],[2891,2892],[2902,2903],[2908,2909],[2911,2915],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3020],3024,3031,[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3133,3140],[3142,3144],[3146,3148],[3157,3158],[3160,3162],3165,[3168,3171],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3276],[3285,3286],[3293,3294],[3296,3299],[3313,3315],[3328,3340],[3342,3344],[3346,3386],[3389,3396],[3398,3400],[3402,3404],3406,[3412,3415],[3423,3427],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3540],3542,[3544,3551],[3570,3571],[3585,3642],[3648,3654],3661,[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3769],[3771,3773],[3776,3780],3782,3789,[3804,3807],3840,[3904,3911],[3913,3948],[3953,3971],[3976,3991],[3993,4028],[4096,4150],4152,[4155,4159],[4176,4239],[4250,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5907],[5919,5939],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6067],[6070,6088],6103,6108,[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6456],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6683],[6688,6750],[6753,6772],6823,[6847,6848],[6860,6862],[6912,6963],[6965,6979],[6981,6988],[7040,7081],[7084,7087],[7098,7141],[7143,7153],[7168,7222],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7655,7668],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],11823,[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42612,42619],[42623,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43013],[43015,43047],[43072,43123],[43136,43203],43205,[43250,43255],43259,[43261,43263],[43274,43306],[43312,43346],[43360,43388],[43392,43442],[43444,43455],43471,[43488,43503],[43514,43518],[43520,43574],[43584,43597],[43616,43638],[43642,43710],43712,43714,[43739,43741],[43744,43759],[43762,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[69248,69289],[69291,69292],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69632,69701],[69745,69749],[69760,69816],69826,[69840,69864],[69888,69938],[69956,69959],[69968,70002],70006,[70016,70079],[70081,70084],[70094,70095],70106,70108,[70144,70161],[70163,70196],70199,[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70376],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70468],[70471,70472],[70475,70476],70480,70487,[70493,70499],[70656,70721],[70723,70725],[70727,70730],[70751,70753],[70784,70849],[70852,70853],70855,[71040,71093],[71096,71102],[71128,71133],[71168,71230],71232,71236,[71296,71349],71352,[71424,71450],[71453,71466],[71488,71494],[71680,71736],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,71996],[71999,72002],[72096,72103],[72106,72151],[72154,72159],72161,[72163,72164],[72192,72242],[72245,72254],[72272,72343],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72766],72768,[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73025],73027,[73030,73031],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73110],73112,[73440,73462],[73472,73488],[73490,73530],[73534,73536],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113822,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125255,125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],yr=[[0,1114111]],Fr=[[0,887],[890,895],[900,906],908,[910,929],[931,1327],[1329,1366],[1369,1418],[1421,1423],[1425,1479],[1488,1514],[1519,1524],[1536,1805],[1807,1866],[1869,1969],[1984,2042],[2045,2093],[2096,2110],[2112,2139],2142,[2144,2154],[2160,2190],[2192,2193],[2200,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[3585,3642],[3647,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4058],[4096,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5909],[5919,5942],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6109],[6112,6121],[6128,6137],[6144,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6683],[6686,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829],[6832,6862],[6912,6988],[6992,7038],[7040,7155],[7164,7223],[7227,7241],[7245,7304],[7312,7354],[7357,7367],[7376,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8292],[8294,8305],[8308,8334],[8336,8348],[8352,8384],[8400,8432],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12351],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43052],[43056,43065],[43072,43127],[43136,43205],[43214,43225],[43232,43347],[43359,43388],[43392,43469],[43471,43481],[43486,43518],[43520,43574],[43584,43597],[43600,43609],[43612,43714],[43739,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65049],[65056,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65529,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66045],[66176,66204],[66208,66256],[66272,66299],[66304,66339],[66349,66378],[66384,66426],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184],[68192,68255],[68288,68326],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68903],[68912,68921],[69216,69246],[69248,69289],[69291,69293],[69296,69297],[69373,69415],[69424,69465],[69488,69513],[69552,69579],[69600,69622],[69632,69709],[69714,69749],[69759,69826],69837,[69840,69864],[69872,69881],[69888,69940],[69942,69959],[69968,70006],[70016,70111],[70113,70132],[70144,70161],[70163,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70747],[70749,70753],[70784,70855],[70864,70873],[71040,71093],[71096,71133],[71168,71236],[71248,71257],[71264,71276],[71296,71353],[71360,71369],[71424,71450],[71453,71467],[71472,71494],[71680,71739],[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025],[72096,72103],[72106,72151],[72154,72164],[72192,72263],[72272,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72758],[72760,72773],[72784,72812],[72816,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73464],[73472,73488],[73490,73530],[73534,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92912,92917],[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94031,94087],[94095,94111],[94176,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827],[118528,118573],[118576,118598],[118608,118723],[118784,119029],[119040,119078],[119081,119274],[119296,119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121483],[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],[123214,123215],[123536,123566],[123584,123641],123647,[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125142],[125184,125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],917505,[917536,917631],[917760,917999],[983040,1048573],[1048576,1114109]],Cr=[1564,[8206,8207],[8234,8238],[8294,8297]],Er=[[40,41],60,62,91,93,123,125,171,187,[3898,3901],[5787,5788],[8249,8250],[8261,8262],[8317,8318],[8333,8334],8512,[8705,8708],[8712,8717],8721,[8725,8726],[8730,8733],[8735,8738],8740,8742,[8747,8755],8761,[8763,8780],[8786,8789],[8799,8800],8802,[8804,8811],[8814,8844],[8847,8850],8856,[8866,8867],[8870,8888],[8894,8895],[8905,8909],[8912,8913],[8918,8941],[8944,8959],[8968,8971],[8992,8993],[9001,9002],[10088,10101],10176,[10179,10182],[10184,10185],[10187,10189],[10195,10198],[10204,10206],[10210,10223],[10627,10648],[10651,10656],[10658,10671],10680,[10688,10693],10697,[10702,10706],[10708,10709],[10712,10716],10721,[10723,10725],[10728,10729],[10740,10745],[10748,10749],[10762,10780],[10782,10785],10788,10790,10793,[10795,10798],[10804,10805],[10812,10814],[10839,10840],[10852,10853],[10858,10861],[10863,10864],[10867,10868],[10873,10915],[10918,10925],[10927,10966],10972,10974,[10978,10982],[10988,10990],10995,[10999,11003],11005,11262,[11778,11781],[11785,11786],[11788,11789],[11804,11805],[11808,11817],[11861,11868],[12296,12305],[12308,12315],[65113,65118],[65124,65125],[65288,65289],65308,65310,65339,65341,65371,65373,[65375,65376],[65378,65379],120539,120597,120655,120713,120771],Sr=[39,46,58,94,96,168,173,175,180,[183,184],[688,879],[884,885],890,[900,901],903,[1155,1161],1369,1375,[1425,1469],1471,[1473,1474],[1476,1477],1479,1524,[1536,1541],[1552,1562],1564,1600,[1611,1631],1648,[1750,1757],[1759,1768],[1770,1773],1807,1809,[1840,1866],[1958,1968],[2027,2037],2042,2045,[2070,2093],[2137,2139],2184,[2192,2193],[2200,2207],[2249,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2417,2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3654,3662],3761,[3764,3772],3782,[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,4348,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6103,6109,[6155,6159],6211,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,6823,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7288,7293],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7468,7530],7544,[7579,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8203,8207],[8216,8217],8228,8231,[8234,8238],[8288,8292],[8294,8303],8305,8319,[8336,8348],[8400,8432],[11388,11389],[11503,11505],11631,11647,[11744,11775],11823,12293,[12330,12333],[12337,12341],12347,[12441,12446],[12540,12542],40981,[42232,42237],42508,[42607,42610],[42612,42621],42623,[42652,42655],[42736,42737],[42752,42785],42864,[42888,42890],[42994,42996],[43e3,43001],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43471,[43493,43494],[43561,43566],[43569,43570],[43573,43574],43587,43596,43632,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,43741,[43756,43757],[43763,43764],43766,[43867,43871],[43881,43883],44005,44008,44013,64286,[64434,64450],[65024,65039],65043,[65056,65071],65106,65109,65279,65287,65294,65306,65342,65344,65392,[65438,65439],65507,[65529,65531],66045,66272,[66422,66426],[67456,67461],[67463,67504],[67506,67514],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69821,69826,69837,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,[78896,78912],[78919,78933],[92912,92916],[92976,92982],[92992,92995],94031,[94095,94111],[94176,94177],[94179,94180],[110576,110579],[110581,110587],[110589,110590],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123184,123197],123566,[123628,123631],[124139,124143],[125136,125142],[125252,125259],[127995,127999],917505,[917536,917631],[917760,917999]],Tr=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,442],[444,447],[452,659],[661,696],[704,705],[736,740],837,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4348,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8544,8575],[8579,8580],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42653],[42786,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42994,42998],[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125184,125251],[127280,127305],[127312,127337],[127344,127369]],xr=[[65,90],181,[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,837,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],962,[975,977],[981,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1009],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,[4256,4293],4295,4301,[5112,5117],[7296,7304],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8064,8111],[8114,8116],[8119,8124],[8130,8132],[8135,8140],[8152,8155],[8168,8172],[8178,8180],[8183,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],wr=[[65,90],[97,122],181,[192,214],[216,246],[248,311],[313,396],[398,410],[412,425],[428,441],[444,445],447,[452,544],[546,563],[570,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,977],[981,1013],[1015,1019],[1021,1153],[1162,1327],[1329,1366],[1377,1415],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],7545,7549,7566,[7680,7835],7838,[7840,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8486,[8490,8491],8498,8526,[8544,8575],[8579,8580],[9398,9449],[11264,11376],[11378,11379],[11381,11382],[11390,11491],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42799],[42802,42863],[42873,42887],[42891,42893],[42896,42900],[42902,42926],[42928,42954],[42960,42961],[42966,42969],[42997,42998],43859,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[125184,125251]],Br=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8072,8079],[8088,8095],[8104,8111],[8120,8124],[8136,8140],[8152,8155],[8168,8172],[8184,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],Or=[[65,90],160,168,170,173,175,[178,181],[184,186],[188,190],[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[728,733],[736,740],[832,833],[835,837],847,880,882,884,886,890,[894,895],[900,906],908,[910,911],[913,929],[931,939],962,[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,1564,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3852,3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,[4256,4293],4295,4301,4348,[4447,4448],[5112,5117],[6068,6069],[6155,6159],[7296,7304],[7312,7354],[7357,7359],[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8064,8111],[8114,8116],[8119,8132],[8135,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8178,8180],[8183,8190],[8192,8207],8209,8215,[8228,8230],[8234,8239],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,[8287,8305],[8308,8334],[8336,8348],8360,[8448,8451],[8453,8455],[8457,8467],[8469,8470],[8473,8477],[8480,8482],8484,8486,8488,[8490,8493],[8495,8505],[8507,8512],[8517,8521],[8528,8575],8579,8585,[8748,8749],[8751,8752],[9001,9002],[9312,9450],10764,[10868,10870],10972,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,[12032,12245],12288,12342,[12344,12346],[12443,12444],12447,12543,[12593,12686],[12690,12703],[12800,12830],[12832,12871],[12880,12926],[12928,13311],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,[42652,42653],42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,[42994,42997],[43e3,43001],[43868,43871],43881,[43888,43967],[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65024,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65520,65528],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[67457,67461],[67463,67504],[67506,67514],[68736,68786],[71840,71871],[93760,93791],[113824,113827],[119134,119140],[119155,119162],[119227,119232],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[122928,122989],[125184,125217],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127232,127242],[127248,127278],[127280,127311],[127338,127340],127376,[127488,127490],[127504,127547],[127552,127560],[127568,127569],[130032,130041],[194560,195101],[917504,921599]],Rr=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,452,[454,455],[457,458],460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,497],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],Ar=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,[453,454],[456,457],[459,460],462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],[498,499],501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[4304,4346],[4349,4351],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8116],[8118,8119],8124,8126,[8130,8132],[8134,8135],8140,[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8188,8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],kr=[[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3958,3960,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],Ir=[45,1418,1470,5120,6150,[8208,8213],8275,8315,8331,8722,11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],Lr=[173,847,1564,[4447,4448],[6068,6069],[6155,6159],[8203,8207],[8234,8238],[8288,8303],12644,[65024,65039],65279,65440,[65520,65528],[113824,113827],[119155,119162],[917504,921599]],Pr=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],Mr=[94,96,168,175,180,[183,184],[688,846],[848,855],[861,866],[884,885],890,[900,901],[1155,1159],1369,[1425,1441],[1443,1469],1471,[1473,1474],1476,[1611,1618],[1623,1624],[1759,1760],[1765,1766],[1770,1772],[1840,1866],[1958,1968],[2027,2037],[2072,2073],[2200,2207],[2249,2258],[2275,2302],2364,2381,[2385,2388],2417,2492,2509,2620,2637,2748,2765,[2813,2815],2876,2893,2901,3021,3132,3149,3260,3277,[3387,3388],3405,3530,[3655,3660],3662,3770,[3784,3788],[3864,3865],3893,3895,3897,[3902,3903],[3970,3972],[3974,3975],4038,4151,[4153,4154],[4195,4196],[4201,4205],[4231,4237],4239,[4250,4251],[4957,4959],[5908,5909],[6089,6099],6109,[6457,6459],[6773,6780],6783,[6832,6846],[6849,6859],6964,6980,[7019,7027],[7082,7083],[7222,7223],[7288,7293],[7376,7400],7405,7412,[7415,7417],[7468,7530],[7620,7631],[7669,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[11503,11505],11823,[12330,12335],[12441,12444],12540,42607,[42620,42621],42623,[42652,42653],[42736,42737],[42752,42785],[42888,42890],[43e3,43001],43204,[43232,43249],[43307,43310],43347,43443,43456,43493,[43643,43645],[43711,43714],43766,[43867,43871],[43881,43883],[44012,44013],64286,[65056,65071],65342,65344,65392,[65438,65439],65507,66272,[67456,67461],[67463,67504],[67506,67514],[68325,68326],[68898,68903],[69373,69375],[69446,69456],[69506,69509],69702,69744,[69817,69818],[69939,69940],70003,70080,[70090,70092],[70197,70198],[70377,70378],70460,70477,[70502,70508],[70512,70516],70722,70726,[70850,70851],[71103,71104],71231,[71350,71351],71467,[71737,71738],[71997,71998],72003,72160,72244,72263,72345,72767,73026,[73028,73029],73111,[78919,78933],[92912,92916],[92976,92982],[94095,94111],[94192,94193],[110576,110579],[110581,110587],[110589,110590],[118528,118573],[118576,118598],[119143,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[122928,122989],[123184,123190],123566,[123628,123631],[125136,125142],[125252,125254],[125256,125258]],Nr=[35,42,[48,57],169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9732],9742,9745,[9748,9749],9752,9757,9760,[9762,9763],9766,9770,[9774,9775],[9784,9786],9792,9794,[9800,9811],[9823,9824],9827,[9829,9830],9832,9851,[9854,9855],[9874,9879],9881,[9883,9884],[9888,9889],9895,[9898,9899],[9904,9905],[9917,9918],[9924,9925],9928,[9934,9935],9937,[9939,9940],[9961,9962],[9968,9973],[9975,9978],9981,9986,9989,[9992,9997],9999,10002,10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10084],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,126980,127183,[127344,127345],[127358,127359],127374,[127377,127386],[127462,127487],[127489,127490],127514,127535,[127538,127546],[127568,127569],[127744,127777],[127780,127891],[127894,127895],[127897,127899],[127902,127984],[127987,127989],[127991,128253],[128255,128317],[128329,128334],[128336,128359],[128367,128368],[128371,128378],128391,[128394,128397],128400,[128405,128406],[128420,128421],128424,[128433,128434],128444,[128450,128452],[128465,128467],[128476,128478],128481,128483,128488,128495,128499,[128506,128591],[128640,128709],[128715,128722],[128725,128727],[128732,128741],128745,[128747,128748],128752,[128755,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],Ur=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],$r=[[127995,127999]],Hr=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],Gr=[[8986,8987],[9193,9196],9200,9203,[9725,9726],[9748,9749],[9800,9811],9855,9875,9889,[9898,9899],[9917,9918],[9924,9925],9934,9940,9962,[9970,9971],9973,9978,9981,9989,[9994,9995],10024,10060,10062,[10067,10069],10071,[10133,10135],10160,10175,[11035,11036],11088,11093,126980,127183,127374,[127377,127386],[127462,127487],127489,127514,127535,[127538,127542],[127544,127546],[127568,127569],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],127988,[127992,128062],128064,[128066,128252],[128255,128317],[128331,128334],[128336,128359],128378,[128405,128406],128420,[128507,128591],[128640,128709],128716,[128720,128722],[128725,128727],[128732,128735],[128747,128748],[128756,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],zr=[836,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],Xr=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],836,[901,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7833],7835,[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],[8129,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8188],8491,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,12446,12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],12542,[44032,55203],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232]],Wr=[168,175,180,184,[188,190],[306,307],[319,320],329,[452,460],[497,499],[728,733],836,890,[900,901],1415,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,7834,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8174],[8189,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8748,8749],[8751,8752],[9321,9397],10764,[10868,10870],10972,[12443,12444],12447,12543,[12800,12830],[12832,12867],[12880,12895],[12924,12925],[12977,13007],[13055,13311],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65269,65276],65507,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],[127552,127560]],Yr=[168,175,180,184,[188,190],[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[306,311],[313,320],[323,329],[332,337],[340,357],[360,382],[416,417],[431,432],[452,476],[478,483],[486,501],[504,539],[542,543],[550,563],[728,733],836,890,[900,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],1415,[1570,1574],[1653,1656],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8125],[8127,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8491,8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,[8748,8749],[8751,8752],8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[9321,9397],10764,[10868,10870],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,[12443,12444],[12446,12447],12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],[12542,12543],[12800,12830],[12832,12867],[12880,12895],[12910,12926],[12977,13007],[13055,13311],[44032,55203],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[64420,64421],[64432,64433],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65153,65164],[65269,65276],65507,69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],127507,[127552,127560]],jr=[169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9096,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9733],[9735,9746],[9748,9861],[9872,9989],[9992,10002],10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10087],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,[126976,127231],[127245,127247],127279,[127340,127345],[127358,127359],127374,[127377,127386],[127405,127461],[127489,127503],127514,127535,[127538,127546],[127548,127551],[127561,127994],[128e3,128317],[128326,128591],[128640,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129292,129338],[129340,129349],[129351,129791],[130048,131069]],Vr=[183,[720,721],1600,2042,2901,3654,3782,6154,6211,6823,7222,7291,12293,[12337,12341],[12445,12446],[12540,12542],40981,42508,43471,43494,43632,43741,[43763,43764],65392,[67457,67458],70493,[71110,71112],72344,[92994,92995],[94176,94177],94179,[123196,123197],[125252,125254]],Kr=[[832,833],[835,836],884,894,903,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,8049,8051,8053,8055,8057,8059,8061,8123,8126,8137,8139,8147,8155,8163,8171,[8174,8175],8185,8187,8189,[8192,8193],8486,[8490,8491],[9001,9002],10972,[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232],[194560,195101]],qr=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],1470,1472,1475,1478,[1488,1514],[1519,1524],[1542,1551],1563,[1565,1610],[1632,1647],[1649,1749],1758,[1765,1766],1769,[1774,1805],1808,[1810,1839],[1869,1957],1969,[1984,2026],[2036,2042],[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2208,2249],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,[2495,2496],[2503,2504],[2507,2508],2510,[2524,2525],[2527,2529],[2534,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2801],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,2880,[2887,2888],[2891,2892],[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3007,[3009,3010],[3014,3016],[3018,3020],3024,[3046,3066],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],[3191,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3262],[3264,3265],[3267,3268],[3271,3272],[3274,3275],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],3389,[3391,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3414],[3416,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3536,3537],[3544,3550],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3647,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3898,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8231],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8384],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11502],[11506,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42606],42611,[42622,42653],[42656,42735],[42738,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],[43047,43051],[43056,43065],[43072,43127],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[69216,69246],[69248,69289],69293,[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],69632,[69634,69687],[69703,69709],[69714,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70463,[70465,70468],[70471,70472],[70475,70477],70480,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70831],[70833,70834],70841,[70843,70844],70846,70849,[70852,70855],[70864,70873],[71040,71086],[71088,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71264,71276],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],[71985,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],72766,[72768,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94179],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119140],119142,[119146,119149],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],123647,[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],Zr=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,2494,[2497,2500],2509,2519,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,[2878,2879],[2881,2884],2893,[2901,2903],[2914,2915],2946,3006,3008,3021,3031,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3266,3270,[3276,3277],[3285,3286],[3298,3299],[3328,3329],[3387,3388],3390,[3393,3396],3405,3415,[3426,3427],3457,3530,3535,[3538,3540],3542,3551,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],[6964,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70462,70464,70487,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,70832,[70835,70840],70842,70845,[70847,70848],[70850,70851],71087,[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],71984,[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],119141,[119143,119145],[119150,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917536,917631],[917760,917999]],Jr=[2381,2509,2637,2765,2893,3021,3149,3277,[3387,3388],3405,3530,3642,3770,3972,[4153,4154],[5908,5909],5940,6098,6752,6980,[7082,7083],[7154,7155],11647,43014,43052,43204,43347,43456,43766,44013,68159,69702,69744,69759,69817,[69939,69940],70080,70197,70378,70477,70722,70850,71103,71231,71350,71467,71737,[71997,71998],72160,72244,72263,72345,72767,[73028,73029],73111,[73537,73538]],Qr=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],e3=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],t3=[[12272,12273],[12276,12283]],n3=[[12274,12275]],r3=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[890,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65024,65039],[65056,65071],[65075,65076],[65101,65103],[65136,65140],[65142,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],s3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12443,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],i3=[[12294,12295],[12321,12329],[12344,12346],[13312,19903],[19968,40959],[63744,64109],[64112,64217],94180,[94208,100343],[100352,101589],[101632,101640],[110960,111355],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],o3=[[8204,8205]],a3=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],u3=[[97,122],170,181,186,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,696],[704,705],[736,740],837,881,883,887,[890,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4348,4351],[5112,5117],[7296,7304],[7424,7615],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8305,8319,[8336,8348],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11389],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,[42651,42653],42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,[42863,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,[42994,42996],42998,[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125218,125251]],l3=[43,[60,62],94,124,126,172,177,215,247,[976,978],981,[1008,1009],[1012,1014],[1542,1544],8214,[8242,8244],8256,8260,8274,[8289,8292],[8314,8318],[8330,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8472,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8521],8523,[8592,8615],[8617,8622],[8624,8625],[8630,8631],[8636,8667],8669,[8676,8677],[8692,8959],[8968,8971],[8992,8993],9084,[9115,9141],9143,9168,[9180,9186],[9632,9633],[9646,9655],[9660,9665],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9720,9727],[9733,9734],9792,9794,[9824,9827],[9837,9839],[10176,10239],[10496,11007],[11056,11076],[11079,11084],64297,[65121,65126],65128,65291,[65308,65310],65340,65342,65372,65374,65506,[65513,65516],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],c3=[[64976,65007],[65534,65535],[131070,131071],[196606,196607],[262142,262143],[327678,327679],[393214,393215],[458750,458751],[524286,524287],[589822,589823],[655358,655359],[720894,720895],[786430,786431],[851966,851967],[917502,917503],[983038,983039],[1048574,1048575],[1114110,1114111]],h3=[837,[1456,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1623],[1625,1631],1648,[1750,1756],[1761,1764],[1767,1768],1773,1809,[1840,1855],[1958,1968],[2070,2071],[2075,2083],[2085,2087],[2089,2092],[2260,2271],[2275,2281],[2288,2307],[2362,2363],[2366,2380],[2382,2383],[2389,2391],[2402,2403],[2433,2435],[2494,2500],[2503,2504],[2507,2508],2519,[2530,2531],[2561,2563],[2622,2626],[2631,2632],[2635,2636],2641,[2672,2673],2677,[2689,2691],[2750,2757],[2759,2761],[2763,2764],[2786,2787],[2810,2812],[2817,2819],[2878,2884],[2887,2888],[2891,2892],[2902,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3020],3031,[3072,3076],[3134,3140],[3142,3144],[3146,3148],[3157,3158],[3170,3171],[3201,3203],[3262,3268],[3270,3272],[3274,3276],[3285,3286],[3298,3299],3315,[3328,3331],[3390,3396],[3398,3400],[3402,3404],3415,[3426,3427],[3457,3459],[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],3661,3761,[3764,3769],[3771,3772],3789,[3953,3971],[3981,3991],[3993,4028],[4139,4150],4152,[4155,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[5906,5907],[5938,5939],[5970,5971],[6002,6003],[6070,6088],[6277,6278],6313,[6432,6443],[6448,6456],[6679,6683],[6741,6750],[6753,6772],[6847,6848],[6860,6862],[6912,6916],[6965,6979],[7040,7042],[7073,7081],[7084,7085],[7143,7153],[7204,7222],[7655,7668],[9398,9449],[11744,11775],[42612,42619],[42654,42655],43010,43019,[43043,43047],[43136,43137],[43188,43203],43205,43263,[43302,43306],[43335,43346],[43392,43395],[43444,43455],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],43710,[43755,43759],43765,[44003,44010],64286,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68900,68903],[69291,69292],[69632,69634],[69688,69701],[69747,69748],[69760,69762],[69808,69816],69826,[69888,69890],[69927,69938],[69957,69958],[70016,70018],[70067,70079],[70094,70095],[70188,70196],70199,70206,70209,[70367,70376],[70400,70403],[70462,70468],[70471,70472],[70475,70476],70487,[70498,70499],[70709,70721],[70723,70725],[70832,70849],[71087,71093],[71096,71102],[71132,71133],[71216,71230],71232,[71339,71349],[71453,71466],[71724,71736],[71984,71989],[71991,71992],[71995,71996],72e3,72002,[72145,72151],[72154,72159],72164,[72193,72202],[72245,72249],[72251,72254],[72273,72283],[72330,72343],[72751,72758],[72760,72766],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73025],73027,73031,[73098,73102],[73104,73105],[73107,73110],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73536],94031,[94033,94087],[94095,94098],[94192,94193],113822,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,125255,[127280,127305],[127312,127337],[127344,127369]],f3=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],d3=[2494,2519,2878,2903,3006,3031,3266,[3285,3286],3390,3415,3535,3551,6965,8204,[12334,12335],[65438,65439],70462,70487,70832,70845,71087,71984,119141,[119150,119154],[917536,917631]],p3=[183,903,[4969,4977],6618],g3=[[6277,6278],8472,8494,[12443,12444]],D3=[170,186,[688,696],[704,705],[736,740],837,890,4348,[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[8560,8575],[9424,9449],[11388,11389],[42652,42653],42864,[42994,42996],[43e3,43001],[43868,43871],43881,67456,[67459,67461],[67463,67504],[67506,67514],[122928,122989]],_3=[94,[976,978],981,[1008,1009],[1012,1013],8214,[8242,8244],8256,[8289,8292],[8317,8318],[8333,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8473,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8511],[8517,8521],[8597,8601],[8604,8607],[8609,8610],[8612,8613],8615,[8617,8621],[8624,8625],[8630,8631],[8636,8653],[8656,8657],8659,[8661,8667],8669,[8676,8677],[8968,8971],[9140,9141],9143,9168,9186,[9632,9633],[9646,9654],[9660,9664],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9733,9734],9792,9794,[9824,9827],[9837,9838],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],65121,65123,65128,65340,65342,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],v3=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],m3=[[33,47],[58,64],[91,94],96,[123,126],[161,167],169,[171,172],174,[176,177],182,187,191,215,247,[8208,8231],[8240,8254],[8257,8275],[8277,8286],[8592,9311],[9472,10101],[10132,11263],[11776,11903],[12289,12291],[12296,12320],12336,[64830,64831],[65093,65094]],b3=[[9,13],32,133,[8206,8207],[8232,8233]],y3=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],F3=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],C3=[[11904,11929],[11931,12019],[12032,12245]],E3=[[127462,127487]],S3=[33,46,63,1417,[1565,1567],1748,[1792,1794],2041,2103,2105,[2109,2110],[2404,2405],[4170,4171],4962,[4967,4968],5742,[5941,5942],6147,6153,[6468,6469],[6824,6827],[7002,7003],[7006,7007],[7037,7038],[7227,7228],[7294,7295],[8252,8253],[8263,8265],11822,11836,[11859,11860],12290,42239,[42510,42511],42739,42743,[43126,43127],[43214,43215],43311,[43464,43465],[43613,43615],[43760,43761],44011,65106,[65110,65111],65281,65294,65311,65377,[68182,68183],[69461,69465],[69510,69513],[69703,69704],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70201],[70203,70204],70313,[70731,70732],[71106,71107],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72769,72770],[73463,73464],[73539,73540],[92782,92783],92917,[92983,92984],92996,93848,113823,121480],T3=[[105,106],303,585,616,669,690,1011,1110,1112,7522,7574,7588,7592,7725,7883,8305,[8520,8521],11388,[119842,119843],[119894,119895],[119946,119947],[119998,119999],[120050,120051],[120102,120103],[120154,120155],[120206,120207],[120258,120259],[120310,120311],[120362,120363],[120414,120415],[120466,120467],122650,[122956,122957],122984],x3=[33,44,46,[58,59],63,894,903,1417,1475,1548,1563,[1565,1567],1748,[1792,1802],1804,[2040,2041],[2096,2110],2142,[2404,2405],[3674,3675],3848,[3853,3858],[4170,4171],[4961,4968],5742,[5867,5869],[5941,5942],[6100,6102],6106,[6146,6149],[6152,6153],[6468,6469],[6824,6827],[7002,7003],[7005,7007],[7037,7038],[7227,7231],[7294,7295],[8252,8253],[8263,8265],11822,11836,11841,11852,[11854,11855],[11859,11860],[12289,12290],[42238,42239],[42509,42511],[42739,42743],[43126,43127],[43214,43215],43311,[43463,43465],[43613,43615],43743,[43760,43761],44011,[65104,65106],[65108,65111],65281,65292,65294,[65306,65307],65311,65377,65380,66463,66512,67671,67871,[68182,68183],[68336,68341],[68410,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70204],70313,[70731,70733],[70746,70747],[71106,71109],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72353,72354],[72769,72771],72817,[73463,73464],[73539,73540],[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],w3=[[13312,19903],[19968,40959],[64014,64015],64017,[64019,64020],64031,64033,[64035,64036],[64039,64041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[196608,201546],[201552,205743]],B3=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217],[127280,127305],[127312,127337],[127344,127369]],O3=[[6155,6157],6159,[65024,65039],[917760,917999]],R3=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],A3=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[891,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12442],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],[65024,65039],[65056,65071],[65075,65076],[65101,65103],65137,65139,65143,65145,65147,65149,[65151,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],k3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],3634,[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],3762,3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],65137,65139,65143,65145,65147,65149,[65151,65276],[65313,65338],[65345,65370],[65382,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],I3=Object.freeze(Object.defineProperty({__proto__:null,ASCII:vr,ASCII_Hex_Digit:mr,Alphabetic:br,Any:yr,Assigned:Fr,Bidi_Control:Cr,Bidi_Mirrored:Er,Case_Ignorable:Sr,Cased:Tr,Changes_When_Casefolded:xr,Changes_When_Casemapped:wr,Changes_When_Lowercased:Br,Changes_When_NFKC_Casefolded:Or,Changes_When_Titlecased:Rr,Changes_When_Uppercased:Ar,Composition_Exclusion:kr,Dash:Ir,Default_Ignorable_Code_Point:Lr,Deprecated:Pr,Diacritic:Mr,Emoji:Nr,Emoji_Component:Ur,Emoji_Modifier:$r,Emoji_Modifier_Base:Hr,Emoji_Presentation:Gr,Expands_On_NFC:zr,Expands_On_NFD:Xr,Expands_On_NFKC:Wr,Expands_On_NFKD:Yr,Extended_Pictographic:jr,Extender:Vr,Full_Composition_Exclusion:Kr,Grapheme_Base:qr,Grapheme_Extend:Zr,Grapheme_Link:Jr,Hex_Digit:Qr,Hyphen:e3,IDS_Binary_Operator:t3,IDS_Trinary_Operator:n3,ID_Continue:r3,ID_Start:s3,Ideographic:i3,Join_Control:o3,Logical_Order_Exception:a3,Lowercase:u3,Math:l3,Noncharacter_Code_Point:c3,Other_Alphabetic:h3,Other_Default_Ignorable_Code_Point:f3,Other_Grapheme_Extend:d3,Other_ID_Continue:p3,Other_ID_Start:g3,Other_Lowercase:D3,Other_Math:_3,Other_Uppercase:v3,Pattern_Syntax:m3,Pattern_White_Space:b3,Prepended_Concatenation_Mark:y3,Quotation_Mark:F3,Radical:C3,Regional_Indicator:E3,Sentence_Terminal:S3,Soft_Dotted:T3,Terminal_Punctuation:x3,Unified_Ideograph:w3,Uppercase:B3,Variation_Selector:O3,White_Space:R3,XID_Continue:A3,XID_Start:k3},Symbol.toStringTag,{value:"Module"})),L3=[[65,90],[97,122],181,[192,214],[216,246],[248,442],[444,447],[452,659],[661,687],[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7467],[7531,7543],[7545,7578],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8579,8580],[11264,11387],[11390,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42863],[42865,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42997,42998],43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[125184,125251]],P3=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379],M3=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],N3=[[0,31],[127,159]],U3=[36,[162,165],1423,1547,[2046,2047],[2546,2547],2555,2801,3065,3647,6107,[8352,8384],43064,65020,65129,65284,[65504,65505],[65509,65510],[73693,73696],123647,126128],$3=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],H3=[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],G3=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],z3=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],X3=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8203,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505,[917536,917631]],W3=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],Y3=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8579,8580],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,[12293,12294],[12337,12341],[12347,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42725],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],j3=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],V3=[8232],K3=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4349,4351],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,42998,43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[125218,125251]],q3=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],Z3=[43,[60,62],124,126,172,177,215,247,1014,[1542,1544],8260,8274,[8314,8316],[8330,8332],8472,[8512,8516],8523,[8592,8596],[8602,8603],8608,8611,8614,8622,[8654,8655],8658,8660,[8692,8959],[8992,8993],9084,[9115,9139],[9180,9185],9655,9665,[9720,9727],9839,[10176,10180],[10183,10213],[10224,10239],[10496,10626],[10649,10711],[10716,10747],[10750,11007],[11056,11076],[11079,11084],64297,65122,[65124,65126],65291,[65308,65310],65372,65374,65506,[65513,65516],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[126704,126705]],J3=[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2249,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[42994,42996],[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],43881,65392,[65438,65439],[67456,67461],[67463,67504],[67506,67514],[92992,92995],[94099,94111],[94176,94177],94179,[110576,110579],[110581,110587],[110589,110590],[122928,122989],[123191,123197],124139,125259],Q3=[94,96,168,175,180,184,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],2184,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[12443,12444],[42752,42774],[42784,42785],[42889,42890],43867,[43882,43883],[64434,64450],65342,65344,65507,[127995,127999]],es=[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6847,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],ts=[[48,57],[178,179],185,[188,190],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2548,2553],[2662,2671],[2790,2799],[2918,2927],[2930,2935],[3046,3058],[3174,3183],[3192,3198],[3302,3311],[3416,3422],[3430,3448],[3558,3567],[3664,3673],[3792,3801],[3872,3891],[4160,4169],[4240,4249],[4969,4988],[5870,5872],[6112,6121],[6128,6137],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],8304,[8308,8313],[8320,8329],[8528,8578],[8581,8585],[9312,9371],[9450,9471],[10102,10131],11517,12295,[12321,12329],[12344,12346],[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[42528,42537],[42726,42735],[43056,43061],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[65799,65843],[65856,65912],[65930,65931],[66273,66299],[66336,66339],66369,66378,[66513,66517],[66720,66729],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[68912,68921],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69743],[69872,69881],[69942,69951],[70096,70105],[70113,70132],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71483],[71904,71922],[72016,72025],[72784,72812],[73040,73049],[73120,73129],[73552,73561],[73664,73684],[74752,74862],[92768,92777],[92864,92873],[93008,93017],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125127,125135],[125264,125273],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244],[130032,130041]],ns=[40,91,123,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378],rs=[[0,31],[127,159],173,[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1541],1564,1757,[1806,1807],[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2191,2199],2274,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],6158,[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,[8203,8207],[8234,8238],[8288,8303],[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,63743],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65280],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65531],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],69821,[69827,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78896,78911],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113824,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119155,119162],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917759],[918e3,1114111]],ss=[170,186,443,[448,451],660,[1488,1514],[1519,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2248],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4352,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7411],[7413,7414],7418,[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94026],94032,[94208,100343],[100352,101589],[101632,101640],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],122634,[123136,123180],123214,[123536,123565],[123584,123627],[124112,124138],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],is=[[178,179],185,[188,190],[2548,2553],[2930,2935],[3056,3058],[3192,3198],[3416,3422],[3440,3448],[3882,3891],[4969,4988],[6128,6137],6618,8304,[8308,8313],[8320,8329],[8528,8543],8585,[9312,9371],[9450,9471],[10102,10131],11517,[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[43056,43061],[65799,65843],[65909,65912],[65930,65931],[66273,66299],[66336,66339],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69733],[70113,70132],[71482,71483],[71914,71922],[72794,72812],[73664,73684],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[125127,125135],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244]],os=[[33,35],[37,39],42,44,[46,47],[58,59],[63,64],92,161,167,[182,183],191,894,903,[1370,1375],1417,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5742,[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6149],[6151,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8214,8215],[8224,8231],[8240,8248],[8251,8254],[8257,8259],[8263,8273],8275,[8277,8286],[11513,11516],[11518,11519],11632,[11776,11777],[11782,11784],11787,[11790,11798],[11800,11801],11803,[11806,11807],[11818,11822],[11824,11833],[11836,11839],11841,[11843,11855],[11858,11860],[12289,12291],12349,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[65040,65046],65049,65072,[65093,65094],[65097,65100],[65104,65106],[65108,65111],[65119,65121],65128,[65130,65131],[65281,65283],[65285,65287],65290,65292,[65294,65295],[65306,65307],[65311,65312],65340,65377,[65380,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],as=[166,169,174,176,1154,[1421,1422],[1550,1551],1758,1769,[1789,1790],2038,2554,2928,[3059,3064],3066,3199,3407,3449,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6464,[6622,6655],[7009,7018],[7028,7036],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8471],[8478,8483],8485,8487,8489,8494,[8506,8507],8522,[8524,8525],8527,[8586,8587],[8597,8601],[8604,8607],[8609,8610],[8612,8613],[8615,8621],[8623,8653],[8656,8657],8659,[8661,8691],[8960,8967],[8972,8991],[8994,9e3],[9003,9083],[9085,9114],[9140,9179],[9186,9254],[9280,9290],[9372,9449],[9472,9654],[9656,9664],[9666,9719],[9728,9838],[9840,10087],[10132,10175],[10240,10495],[11008,11055],[11077,11078],[11085,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[43048,43051],[43062,43063],43065,[43639,43641],[64832,64847],64975,[65021,65023],65508,65512,[65517,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73692],[73697,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,126124,126254,[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],us=[8233],ls=[[57344,63743],[983040,1048573],[1048576,1114109]],cs=[[33,35],[37,42],[44,47],[58,59],[63,64],[91,93],95,123,125,161,167,171,[182,183],187,191,894,903,[1370,1375],[1417,1418],1470,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,[3898,3901],3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5120,5742,[5787,5788],[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8208,8231],[8240,8259],[8261,8273],[8275,8286],[8317,8318],[8333,8334],[8968,8971],[9001,9002],[10088,10101],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],[11513,11516],[11518,11519],11632,[11776,11822],[11824,11855],[11858,11869],[12289,12291],[12296,12305],[12308,12319],12336,12349,12448,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[64830,64831],[65040,65049],[65072,65106],[65108,65121],65123,65128,[65130,65131],[65281,65283],[65285,65290],[65292,65295],[65306,65307],[65311,65312],[65339,65341],65343,65371,65373,[65375,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],69293,[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],hs=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],fs=[32,160,5760,[8192,8202],8239,8287,12288],ds=[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],3315,[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],5909,5940,6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43454,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,[69957,69958],70018,[70067,70069],[70079,70080],70094,[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[71724,71726],71736,[71984,71989],[71991,71992],71997,72e3,72002,[72145,72147],[72156,72159],72164,72249,[72279,72280],72343,72751,72766,72873,72881,72884,[73098,73102],[73107,73108],73110,[73461,73462],73475,[73524,73525],[73534,73535],73537,[94033,94087],[94192,94193],[119141,119142],[119149,119154]],ps=[[55296,57343]],gs=[36,43,[60,62],94,96,124,126,[162,166],[168,169],172,[174,177],180,184,215,247,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],1014,1154,[1421,1423],[1542,1544],1547,[1550,1551],1758,1769,[1789,1790],2038,[2046,2047],2184,[2546,2547],[2554,2555],2801,2928,[3059,3066],3199,3407,3449,3647,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6107,6464,[6622,6655],[7009,7018],[7028,7036],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],8260,8274,[8314,8316],[8330,8332],[8352,8384],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],8527,[8586,8587],[8592,8967],[8972,9e3],[9003,9254],[9280,9290],[9372,9449],[9472,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12443,12444],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[42752,42774],[42784,42785],[42889,42890],[43048,43051],[43062,43065],[43639,43641],43867,[43882,43883],64297,[64434,64450],[64832,64847],64975,[65020,65023],65122,[65124,65126],65129,65284,65291,[65308,65310],65342,65344,65372,65374,[65504,65510],[65512,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,123647,126124,126128,126254,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],Ds=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],_s=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917504],[917506,917535],[917632,917759],[918e3,983039],[1048574,1048575],[1114110,1114111]],vs=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],ms=Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:L3,Close_Punctuation:P3,Connector_Punctuation:M3,Control:N3,Currency_Symbol:U3,Dash_Punctuation:$3,Decimal_Number:H3,Enclosing_Mark:G3,Final_Punctuation:z3,Format:X3,Initial_Punctuation:W3,Letter:Y3,Letter_Number:j3,Line_Separator:V3,Lowercase_Letter:K3,Mark:q3,Math_Symbol:Z3,Modifier_Letter:J3,Modifier_Symbol:Q3,Nonspacing_Mark:es,Number:ts,Open_Punctuation:ns,Other:rs,Other_Letter:ss,Other_Number:is,Other_Punctuation:os,Other_Symbol:as,Paragraph_Separator:us,Private_Use:ls,Punctuation:cs,Separator:hs,Space_Separator:fs,Spacing_Mark:ds,Surrogate:ps,Symbol:gs,Titlecase_Letter:Ds,Unassigned:_s,Uppercase_Letter:vs},Symbol.toStringTag,{value:"Module"})),bs=[1544,1547,1549,[1563,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[2144,2154],[2160,2190],[2208,2249],[64336,64450],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[68864,68899],[69424,69445],[69457,69465],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],ys=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],Fs=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],Cs=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],Es=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],Ss=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],Ts=[[35,37],[162,165],[176,177],1423,[1545,1546],1642,[2546,2547],2555,2801,3065,3647,6107,[8240,8244],[8352,8384],8494,8723,[43064,43065],65119,[65129,65130],[65283,65285],[65504,65505],[65509,65510],[73693,73696],123647],xs=[8296],ws=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,696],[699,705],[720,721],[736,740],750,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1154],[1162,1327],[1329,1366],[1369,1417],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2496],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2529],[2534,2545],[2548,2554],[2556,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2800],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2878],2880,[2887,2888],[2891,2892],2903,[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3007],[3009,3010],[3014,3016],[3018,3020],3024,3031,[3046,3058],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],3191,[3199,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3275],[3285,3286],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],[3389,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3537],[3544,3551],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3648,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3902,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5007],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6106],6108,[6112,6121],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6965,6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8206,8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],[8526,8527],[8544,8584],[9014,9082],9109,[9372,9449],9900,[10240,10495],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12334,12335],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12688,12735],[12784,12828],[12832,12879],[12896,12923],[12927,12976],[12992,13003],[13008,13174],[13179,13277],[13280,13310],[13312,19903],[19968,42124],[42192,42508],[42512,42539],[42560,42606],[42624,42653],[42656,42735],[42738,42743],[42786,42887],[42889,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],43047,[43056,43063],[43072,43123],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],65792,65794,[65799,65843],[65847,65855],[65933,65934],[66e3,66044],[66176,66204],[66208,66256],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],69632,[69634,69687],[69703,69709],[69734,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69825],69837,[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70463],[70465,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70834],70841,[70843,70846],70849,[70852,70855],[70864,70873],[71040,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72199,72200],[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],[72766,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73684],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78911],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119154],[119171,119172],[119180,119209],[119214,119272],[119488,119507],[119520,119539],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120538],[120540,120596],[120598,120654],[120656,120712],[120714,120770],[120772,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[127248,127278],[127280,127337],[127344,127404],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[983040,1048573],[1048576,1114109]],Bs=[8234],Os=[8294],Rs=[8237],As=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],ks=[[33,34],[38,42],[59,64],[91,96],[123,126],161,[166,169],[171,172],[174,175],180,[182,184],[187,191],215,247,[697,698],[706,719],[722,735],[741,749],[751,767],[884,885],894,[900,901],903,1014,1418,[1421,1422],[1542,1543],[1550,1551],1758,1769,[2038,2041],[3059,3064],3066,[3192,3198],[3898,3901],[5008,5017],5120,[5787,5788],[6128,6137],[6144,6154],6464,[6468,6469],[6622,6655],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8208,8231],[8245,8259],[8261,8286],[8316,8318],[8332,8334],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,[8506,8507],[8512,8516],[8522,8525],[8528,8543],[8585,8587],[8592,8721],[8724,9013],[9083,9108],[9110,9254],[9280,9290],[9312,9351],[9450,9899],[9901,10239],[10496,11123],[11126,11157],[11159,11263],[11493,11498],[11513,11519],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12289,12292],[12296,12320],12336,[12342,12343],[12349,12351],[12443,12444],12448,12539,[12736,12771],[12829,12830],[12880,12895],[12924,12926],[12977,12991],[13004,13007],[13175,13178],[13278,13279],13311,[19904,19967],[42128,42182],[42509,42511],42611,[42622,42623],[42752,42785],42888,[43048,43051],[43124,43127],[43882,43883],[64830,64847],64975,[65021,65023],[65040,65049],[65072,65103],65105,65108,[65110,65118],[65120,65121],[65124,65126],65128,65131,[65281,65282],[65286,65290],[65307,65312],[65339,65344],[65371,65381],[65506,65508],[65512,65518],[65529,65533],65793,[65856,65932],[65936,65948],65952,67871,[68409,68415],[69714,69733],[71264,71276],[73685,73692],[73697,73713],94178,[119273,119274],[119296,119361],119365,[119552,119638],120539,120597,120655,120713,120771,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127243,127247],127279,[127338,127343],127405,[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],Is=[10,13,[28,30],133,8233],Ls=[8236],Ps=[8297],Ms=[1470,1472,1475,1478,[1488,1514],[1519,1524],[1984,2026],[2036,2037],2042,[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,8207,64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68863],[69248,69289],69293,[69296,69297],[69376,69415],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279]],Ns=[8235],Us=[8295],$s=[8238],Hs=[9,11,31],Gs=[12,32,5760,[8192,8202],8232,8287,12288],zs=Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:bs,Arabic_Number:ys,Boundary_Neutral:Fs,Common_Separator:Cs,European_Number:Es,European_Separator:Ss,European_Terminator:Ts,First_Strong_Isolate:xs,Left_To_Right:ws,Left_To_Right_Embedding:Bs,Left_To_Right_Isolate:Os,Left_To_Right_Override:Rs,Nonspacing_Mark:As,Other_Neutral:ks,Paragraph_Separator:Is,Pop_Directional_Format:Ls,Pop_Directional_Isolate:Ps,Right_To_Left:Ms,Right_To_Left_Embedding:Ns,Right_To_Left_Isolate:Us,Right_To_Left_Override:$s,Segment_Separator:Hs,White_Space:Gs},Symbol.toStringTag,{value:"Module"})),Xs=[[125184,125259],[125264,125273],[125278,125279]],Ws=[[71424,71450],[71453,71467],[71472,71494]],Ys=[[82944,83526]],js=[[1536,1540],[1542,1547],[1549,1562],[1564,1566],[1568,1599],[1601,1610],[1622,1647],[1649,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],Vs=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Ks=[[68352,68405],[68409,68415]],qs=[[6912,6988],[6992,7038]],Zs=[[42656,42743],[92160,92728]],Js=[[92880,92909],[92912,92917]],Qs=[[7104,7155],[7164,7167]],e8=[[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558]],t8=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],n8=[[746,747],[12549,12591],[12704,12735]],r8=[[69632,69709],[69714,69749],69759],s8=[[10240,10495]],i8=[[6656,6683],[6686,6687]],o8=[[5952,5971]],a8=[[5120,5759],[6320,6389],[72368,72383]],u8=[[66208,66256]],l8=[[66864,66915],66927],c8=[[69888,69940],[69942,69959]],h8=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],f8=[[5024,5109],[5112,5117],[43888,43967]],d8=[[69552,69579]],p8=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1548,1563,1567,1600,1757,2274,[2404,2405],3647,[4053,4056],4347,[5867,5869],[5941,5942],[6146,6147],6149,7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[8192,8203],[8206,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11869],[12272,12283],[12288,12292],12294,[12296,12320],[12336,12343],[12348,12351],[12443,12444],12448,[12539,12540],[12688,12703],[12736,12771],[12832,12895],[12927,13007],13055,[13144,13311],[19904,19967],[42752,42785],[42888,42890],[43056,43065],43310,43471,43867,[43882,43883],[64830,64831],[65040,65049],[65072,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65381],65392,[65438,65439],[65504,65510],[65512,65518],[65529,65533],[65792,65794],[65799,65843],[65847,65855],[65936,65948],[66e3,66044],[66273,66299],[113824,113827],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],g8=[[994,1007],[11392,11507],[11513,11519]],D8=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],_8=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],v8=[[77712,77810]],m8=[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],b8=[[66560,66639]],y8=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],F8=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],C8=[[71680,71739]],E8=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],S8=[[77824,78933]],T8=[[66816,66855]],x8=[[69600,69622]],w8=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],B8=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],O8=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],R8=[[66352,66378]],A8=[[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70460,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516]],k8=[[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],7615,[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],I8=[[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815]],L8=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],P8=[[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678]],M8=[[11904,11929],[11931,12019],[12032,12245],12293,12295,[12321,12329],[12344,12347],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[94178,94179],[94192,94193],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],N8=[[4352,4607],[12334,12335],[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],U8=[[68864,68903],[68912,68921]],$8=[[5920,5940]],H8=[[67808,67826],[67828,67829],[67835,67839]],G8=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],z8=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],X8=[[67648,67669],[67671,67679]],W8=[[768,879],[1157,1158],[1611,1621],1648,[2385,2388],[6832,6862],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8204,8205],[8400,8432],[12330,12333],[12441,12442],[65024,65039],[65056,65069],66045,66272,70459,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],Y8=[[68448,68466],[68472,68479]],j8=[[68416,68437],[68440,68447]],V8=[[43392,43469],[43472,43481],[43486,43487]],K8=[[69760,69826],69837],q8=[[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315]],Z8=[[12449,12538],[12541,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65391],[65393,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],J8=[[73472,73488],[73490,73530],[73534,73561]],Q8=[[43264,43309],43311],ei=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],ti=[94180,[101120,101589]],ni=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],ri=[[70144,70161],[70163,70209]],si=[[70320,70378],[70384,70393]],ii=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],oi=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8305,8319,[8336,8348],[8490,8491],8498,8526,[8544,8584],[11360,11391],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],ai=[[7168,7223],[7227,7241],[7245,7247]],ui=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],li=[[67072,67382],[67392,67413],[67424,67431]],ci=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],hi=[[42192,42239],73648],fi=[[66176,66204]],di=[[67872,67897],67903],pi=[[69968,70006]],gi=[[73440,73464]],Di=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],_i=[[2112,2139],2142],vi=[[68288,68326],[68331,68342]],mi=[[72816,72847],[72850,72871],[72873,72886]],bi=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],yi=[[93760,93850]],Fi=[[43744,43766],[43968,44013],[44016,44025]],Ci=[[124928,125124],[125127,125142]],Ei=[[68e3,68023],[68028,68047],[68050,68095]],Si=[[67968,67999]],Ti=[[93952,94026],[94031,94087],[94095,94111]],xi=[[71168,71236],[71248,71257]],wi=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],Bi=[[92736,92766],[92768,92777],[92782,92783]],Oi=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Ri=[[4096,4255],[43488,43518],[43616,43647]],Ai=[[67712,67742],[67751,67759]],ki=[[124112,124153]],Ii=[[72096,72103],[72106,72151],[72154,72164]],Li=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Pi=[[70656,70747],[70749,70753]],Mi=[[1984,2042],[2045,2047]],Ni=[94177,[110960,111355]],Ui=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],$i=[[5760,5788]],Hi=[[7248,7295]],Gi=[[68736,68786],[68800,68850],[68858,68863]],zi=[[66304,66339],[66349,66351]],Xi=[[68224,68255]],Wi=[[66384,66426]],Yi=[[66464,66499],[66504,66517]],ji=[[69376,69415]],Vi=[[68192,68223]],Ki=[[68608,68680]],qi=[[69488,69513]],Zi=[[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935]],Ji=[[66736,66771],[66776,66811]],Qi=[[66688,66717],[66720,66729]],e9=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],t9=[[67680,67711]],n9=[[72384,72440]],r9=[[43072,43127]],s9=[[67840,67867],67871],i9=[[68480,68497],[68505,68508],[68521,68527]],o9=[[43312,43347],43359],a9=[[5792,5866],[5870,5880]],u9=[[2048,2093],[2096,2110]],l9=[[43136,43205],[43214,43225]],c9=[[70016,70111]],h9=[[66640,66687]],f9=[[71040,71093],[71096,71133]],d9=[[120832,121483],[121499,121503],[121505,121519]],p9=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],g9=[[69424,69465]],D9=[[69840,69864],[69872,69881]],_9=[[72272,72354]],v9=[[7040,7103],[7360,7367]],m9=[[43008,43052]],b9=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],y9=[[5888,5909],5919],F9=[[5984,5996],[5998,6e3],[6002,6003]],C9=[[6480,6509],[6512,6516]],E9=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],S9=[[43648,43714],[43739,43743]],T9=[[71296,71353],[71360,71369]],x9=[[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[73664,73713],73727],w9=[[92784,92862],[92864,92873]],B9=[94176,[94208,100343],[100352,101119],[101632,101640]],O9=[[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199]],R9=[[1920,1969]],A9=[[3585,3642],[3648,3675]],k9=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],I9=[[11568,11623],[11631,11632],11647],L9=[[70784,70855],[70864,70873]],P9=[[123536,123566]],M9=[[66432,66461],66463],N9=[[42240,42539]],U9=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],$9=[[123584,123641],123647],H9=[[71840,71922],71935],G9=[[69248,69289],[69291,69293],[69296,69297]],z9=[[40960,42124],[42128,42182]],X9=[[72192,72263]],W9=Object.freeze(Object.defineProperty({__proto__:null,Adlam:Xs,Ahom:Ws,Anatolian_Hieroglyphs:Ys,Arabic:js,Armenian:Vs,Avestan:Ks,Balinese:qs,Bamum:Zs,Bassa_Vah:Js,Batak:Qs,Bengali:e8,Bhaiksuki:t8,Bopomofo:n8,Brahmi:r8,Braille:s8,Buginese:i8,Buhid:o8,Canadian_Aboriginal:a8,Carian:u8,Caucasian_Albanian:l8,Chakma:c8,Cham:h8,Cherokee:f8,Chorasmian:d8,Common:p8,Coptic:g8,Cuneiform:D8,Cypriot:_8,Cypro_Minoan:v8,Cyrillic:m8,Deseret:b8,Devanagari:y8,Dives_Akuru:F8,Dogra:C8,Duployan:E8,Egyptian_Hieroglyphs:S8,Elbasan:T8,Elymaic:x8,Ethiopic:w8,Georgian:B8,Glagolitic:O8,Gothic:R8,Grantha:A8,Greek:k8,Gujarati:I8,Gunjala_Gondi:L8,Gurmukhi:P8,Han:M8,Hangul:N8,Hanifi_Rohingya:U8,Hanunoo:$8,Hatran:H8,Hebrew:G8,Hiragana:z8,Imperial_Aramaic:X8,Inherited:W8,Inscriptional_Pahlavi:Y8,Inscriptional_Parthian:j8,Javanese:V8,Kaithi:K8,Kannada:q8,Katakana:Z8,Kawi:J8,Kayah_Li:Q8,Kharoshthi:ei,Khitan_Small_Script:ti,Khmer:ni,Khojki:ri,Khudawadi:si,Lao:ii,Latin:oi,Lepcha:ai,Limbu:ui,Linear_A:li,Linear_B:ci,Lisu:hi,Lycian:fi,Lydian:di,Mahajani:pi,Makasar:gi,Malayalam:Di,Mandaic:_i,Manichaean:vi,Marchen:mi,Masaram_Gondi:bi,Medefaidrin:yi,Meetei_Mayek:Fi,Mende_Kikakui:Ci,Meroitic_Cursive:Ei,Meroitic_Hieroglyphs:Si,Miao:Ti,Modi:xi,Mongolian:wi,Mro:Bi,Multani:Oi,Myanmar:Ri,Nabataean:Ai,Nag_Mundari:ki,Nandinagari:Ii,New_Tai_Lue:Li,Newa:Pi,Nko:Mi,Nushu:Ni,Nyiakeng_Puachue_Hmong:Ui,Ogham:$i,Ol_Chiki:Hi,Old_Hungarian:Gi,Old_Italic:zi,Old_North_Arabian:Xi,Old_Permic:Wi,Old_Persian:Yi,Old_Sogdian:ji,Old_South_Arabian:Vi,Old_Turkic:Ki,Old_Uyghur:qi,Oriya:Zi,Osage:Ji,Osmanya:Qi,Pahawh_Hmong:e9,Palmyrene:t9,Pau_Cin_Hau:n9,Phags_Pa:r9,Phoenician:s9,Psalter_Pahlavi:i9,Rejang:o9,Runic:a9,Samaritan:u9,Saurashtra:l9,Sharada:c9,Shavian:h9,Siddham:f9,SignWriting:d9,Sinhala:p9,Sogdian:g9,Sora_Sompeng:D9,Soyombo:_9,Sundanese:v9,Syloti_Nagri:m9,Syriac:b9,Tagalog:y9,Tagbanwa:F9,Tai_Le:C9,Tai_Tham:E9,Tai_Viet:S9,Takri:T9,Tamil:x9,Tangsa:w9,Tangut:B9,Telugu:O9,Thaana:R9,Thai:A9,Tibetan:k9,Tifinagh:I9,Tirhuta:L9,Toto:P9,Ugaritic:M9,Vai:N9,Vithkuqi:U9,Wancho:$9,Warang_Citi:H9,Yezidi:G9,Yi:z9,Zanabazar_Square:X9},Symbol.toStringTag,{value:"Module"})),Y9=[1567,1600,[125184,125259],[125264,125273],[125278,125279]],j9=[[71424,71450],[71453,71467],[71472,71494]],V9=[[82944,83526]],K9=[[1536,1540],[1542,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[66272,66299],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],q9=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Z9=[[68352,68405],[68409,68415]],J9=[[6912,6988],[6992,7038]],Q9=[[42656,42743],[92160,92728]],e5=[[92880,92909],[92912,92917]],t5=[[7104,7155],[7164,7167]],n5=[[2385,2386],[2404,2405],[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],7376,7378,[7381,7382],7384,7393,7402,7405,7410,[7413,7415],43249],r5=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],s5=[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],i5=[[69632,69709],[69714,69749],69759],o5=[[10240,10495]],a5=[[6656,6683],[6686,6687],43471],u5=[[5941,5942],[5952,5971]],l5=[[5120,5759],[6320,6389],[72368,72383]],c5=[[66208,66256]],h5=[[66864,66915],66927],f5=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],d5=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],p5=[[5024,5109],[5112,5117],[43888,43967]],g5=[[69552,69579]],D5=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1757,2274,3647,[4053,4056],[5867,5869],[8192,8203],[8206,8238],[8240,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11842],[11844,11869],[12272,12283],12288,12292,12306,12320,12342,[12872,12895],12927,[12977,12991],[13004,13007],[13169,13178],[13184,13279],13311,[19904,19967],[42760,42785],[42888,42890],43867,[43882,43883],[65040,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65376],[65504,65510],[65512,65518],[65529,65533],[65936,65948],[66e3,66044],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119666,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],_5=[[994,1007],[11392,11507],[11513,11519],[66272,66299]],v5=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],m5=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],b5=[[65792,65793],[77712,77810]],y5=[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],F5=[[66560,66639]],C5=[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],E5=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],S5=[[2404,2415],[43056,43065],[71680,71739]],T5=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],x5=[[77824,78933]],w5=[[66816,66855]],B5=[[69600,69622]],O5=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],R5=[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],A5=[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],k5=[[66352,66378]],I5=[[2385,2386],[2404,2405],[3046,3059],7376,[7378,7379],[7410,7412],[7416,7417],8432,[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[73680,73681],73683],L5=[834,837,[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],[7615,7617],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],P5=[[2385,2386],[2404,2405],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[43056,43065]],M5=[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],N5=[[2385,2386],[2404,2405],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[43056,43065]],U5=[[11904,11929],[11931,12019],[12032,12245],[12289,12291],[12293,12305],[12307,12319],[12321,12333],12336,[12343,12351],12539,[12688,12703],[12736,12771],[12832,12871],[12928,12976],[12992,13003],13055,[13144,13168],[13179,13183],[13280,13310],[13312,19903],[19968,40959],[42752,42759],[63744,64109],[64112,64217],[65093,65094],[65377,65381],[94178,94179],[94192,94193],[119648,119665],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],$5=[[4352,4607],[12289,12291],[12296,12305],[12307,12319],[12334,12336],12343,12539,[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65093,65094],[65377,65381],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],H5=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],G5=[[5920,5942]],z5=[[67808,67826],[67828,67829],[67835,67839]],X5=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],W5=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12353,12438],[12441,12448],[12539,12540],[65093,65094],[65377,65381],65392,[65438,65439],[110593,110879],110898,[110928,110930],127488],Y5=[[67648,67669],[67671,67679]],j5=[[768,833],[835,836],[838,866],[2387,2388],[6832,6862],[7618,7671],7673,[7675,7679],[8204,8205],[8400,8431],[65024,65039],[65056,65069],66045,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],V5=[[68448,68466],[68472,68479]],K5=[[68416,68437],[68440,68447]],q5=[[43392,43469],[43471,43481],[43486,43487]],Z5=[[2406,2415],[43056,43065],[69760,69826],69837],J5=[[2385,2386],[2404,2405],[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],7376,7378,7386,7410,7412,[43056,43061]],Q5=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12441,12444],[12448,12543],[12784,12799],[13008,13054],[13056,13143],[65093,65094],[65377,65439],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],eo=[[73472,73488],[73490,73530],[73534,73561]],to=[[43264,43311]],no=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],ro=[94180,[101120,101589]],so=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],io=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],oo=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],ao=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],uo=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[867,879],[1157,1158],[2385,2386],4347,[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8239,8305,8319,[8336,8348],8432,[8490,8491],8498,8526,[8544,8584],[11360,11391],[42752,42759],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],43310,[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],lo=[[7168,7223],[7227,7241],[7245,7247]],co=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],ho=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],fo=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],po=[[42192,42239],73648],go=[[66176,66204]],Do=[[67872,67897],67903],_o=[[2404,2415],[43056,43065],[69968,70006]],vo=[[73440,73464]],mo=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],bo=[1600,[2112,2139],2142],yo=[1600,[68288,68326],[68331,68342]],Fo=[[72816,72847],[72850,72871],[72873,72886]],Co=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Eo=[[93760,93850]],So=[[43744,43766],[43968,44013],[44016,44025]],To=[[124928,125124],[125127,125142]],xo=[[68e3,68023],[68028,68047],[68050,68095]],wo=[[67968,67999]],Bo=[[93952,94026],[94031,94087],[94095,94111]],Oo=[[43056,43065],[71168,71236],[71248,71257]],Ro=[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],Ao=[[92736,92766],[92768,92777],[92782,92783]],ko=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Io=[[4096,4255],43310,[43488,43518],[43616,43647]],Lo=[[67712,67742],[67751,67759]],Po=[[124112,124153]],Mo=[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],No=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Uo=[[70656,70747],[70749,70753]],$o=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],Ho=[94177,[110960,111355]],Go=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],zo=[[5760,5788]],Xo=[[7248,7295]],Wo=[[68736,68786],[68800,68850],[68858,68863]],Yo=[[66304,66339],[66349,66351]],jo=[[68224,68255]],Vo=[1155,[66384,66426]],Ko=[[66464,66499],[66504,66517]],qo=[[69376,69415]],Zo=[[68192,68223]],Jo=[[68608,68680]],Qo=[1600,68338,[69488,69513]],ea=[[2385,2386],[2404,2405],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],7386,7410],ta=[[66736,66771],[66776,66811]],na=[[66688,66717],[66720,66729]],ra=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],sa=[[67680,67711]],ia=[[72384,72440]],oa=[[6146,6147],6149,[43072,43127]],aa=[[67840,67867],67871],ua=[1600,[68480,68497],[68505,68508],[68521,68527]],la=[[43312,43347],43359],ca=[[5792,5866],[5870,5880]],ha=[[2048,2093],[2096,2110]],fa=[[43136,43205],[43214,43225]],da=[2385,7383,7385,[7388,7389],7392,[70016,70111]],pa=[[66640,66687]],ga=[[71040,71093],[71096,71133]],Da=[[120832,121483],[121499,121503],[121505,121519]],_a=[[2404,2405],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],va=[1600,[69424,69465]],ma=[[69840,69864],[69872,69881]],ba=[[72272,72354]],ya=[[7040,7103],[7360,7367]],Fa=[[2404,2405],[2534,2543],[43008,43052]],Ca=[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],Ea=[[5888,5909],5919,[5941,5942]],Sa=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],Ta=[[4160,4169],[6480,6509],[6512,6516]],xa=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],wa=[[43648,43714],[43739,43743]],Ba=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],Oa=[[2385,2386],[2404,2405],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],7386,43251,70401,70403,[70459,70460],[73664,73713],73727],Ra=[[92784,92862],[92864,92873]],Aa=[94176,[94208,100343],[100352,101119],[101632,101640]],ka=[[2385,2386],[2404,2405],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199],7386,7410],Ia=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],La=[[3585,3642],[3648,3675]],Pa=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],Ma=[[11568,11623],[11631,11632],11647],Na=[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],Ua=[[123536,123566]],$a=[[66432,66461],66463],Ha=[[42240,42539]],Ga=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],za=[[123584,123641],123647],Xa=[[71840,71922],71935],Wa=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],Ya=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],ja=[[72192,72263]],Va=Object.freeze(Object.defineProperty({__proto__:null,Adlam:Y9,Ahom:j9,Anatolian_Hieroglyphs:V9,Arabic:K9,Armenian:q9,Avestan:Z9,Balinese:J9,Bamum:Q9,Bassa_Vah:e5,Batak:t5,Bengali:n5,Bhaiksuki:r5,Bopomofo:s5,Brahmi:i5,Braille:o5,Buginese:a5,Buhid:u5,Canadian_Aboriginal:l5,Carian:c5,Caucasian_Albanian:h5,Chakma:f5,Cham:d5,Cherokee:p5,Chorasmian:g5,Common:D5,Coptic:_5,Cuneiform:v5,Cypriot:m5,Cypro_Minoan:b5,Cyrillic:y5,Deseret:F5,Devanagari:C5,Dives_Akuru:E5,Dogra:S5,Duployan:T5,Egyptian_Hieroglyphs:x5,Elbasan:w5,Elymaic:B5,Ethiopic:O5,Georgian:R5,Glagolitic:A5,Gothic:k5,Grantha:I5,Greek:L5,Gujarati:P5,Gunjala_Gondi:M5,Gurmukhi:N5,Han:U5,Hangul:$5,Hanifi_Rohingya:H5,Hanunoo:G5,Hatran:z5,Hebrew:X5,Hiragana:W5,Imperial_Aramaic:Y5,Inherited:j5,Inscriptional_Pahlavi:V5,Inscriptional_Parthian:K5,Javanese:q5,Kaithi:Z5,Kannada:J5,Katakana:Q5,Kawi:eo,Kayah_Li:to,Kharoshthi:no,Khitan_Small_Script:ro,Khmer:so,Khojki:io,Khudawadi:oo,Lao:ao,Latin:uo,Lepcha:lo,Limbu:co,Linear_A:ho,Linear_B:fo,Lisu:po,Lycian:go,Lydian:Do,Mahajani:_o,Makasar:vo,Malayalam:mo,Mandaic:bo,Manichaean:yo,Marchen:Fo,Masaram_Gondi:Co,Medefaidrin:Eo,Meetei_Mayek:So,Mende_Kikakui:To,Meroitic_Cursive:xo,Meroitic_Hieroglyphs:wo,Miao:Bo,Modi:Oo,Mongolian:Ro,Mro:Ao,Multani:ko,Myanmar:Io,Nabataean:Lo,Nag_Mundari:Po,Nandinagari:Mo,New_Tai_Lue:No,Newa:Uo,Nko:$o,Nushu:Ho,Nyiakeng_Puachue_Hmong:Go,Ogham:zo,Ol_Chiki:Xo,Old_Hungarian:Wo,Old_Italic:Yo,Old_North_Arabian:jo,Old_Permic:Vo,Old_Persian:Ko,Old_Sogdian:qo,Old_South_Arabian:Zo,Old_Turkic:Jo,Old_Uyghur:Qo,Oriya:ea,Osage:ta,Osmanya:na,Pahawh_Hmong:ra,Palmyrene:sa,Pau_Cin_Hau:ia,Phags_Pa:oa,Phoenician:aa,Psalter_Pahlavi:ua,Rejang:la,Runic:ca,Samaritan:ha,Saurashtra:fa,Sharada:da,Shavian:pa,Siddham:ga,SignWriting:Da,Sinhala:_a,Sogdian:va,Sora_Sompeng:ma,Soyombo:ba,Sundanese:ya,Syloti_Nagri:Fa,Syriac:Ca,Tagalog:Ea,Tagbanwa:Sa,Tai_Le:Ta,Tai_Tham:xa,Tai_Viet:wa,Takri:Ba,Tamil:Oa,Tangsa:Ra,Tangut:Aa,Telugu:ka,Thaana:Ia,Thai:La,Tibetan:Pa,Tifinagh:Ma,Tirhuta:Na,Toto:Ua,Ugaritic:$a,Vai:Ha,Vithkuqi:Ga,Wancho:za,Warang_Citi:Xa,Yezidi:Wa,Yi:Ya,Zanabazar_Square:ja},Symbol.toStringTag,{value:"Module"})),Ka=[],qa=[],Za=[],Ja=[],Qa=Object.freeze(Object.defineProperty({__proto__:null,C:Ka,F:qa,S:Za,T:Ja},Symbol.toStringTag,{value:"Module"})),eu=[[125184,125279]],tu=[[65792,65855]],nu=[[71424,71503]],ru=[[128768,128895]],su=[[64256,64335]],iu=[[82944,83583]],ou=[[119296,119375]],au=[[65856,65935]],uu=[[65936,65999]],lu=[[1536,1791]],cu=[[2208,2303]],hu=[[126464,126719]],fu=[[64336,65023]],du=[[65136,65279]],pu=[[1872,1919]],gu=[[1328,1423]],Du=[[8592,8703]],_u=[[68352,68415]],vu=[[6912,7039]],mu=[[42656,42751]],bu=[[92160,92735]],yu=[[0,127]],Fu=[[92880,92927]],Cu=[[7104,7167]],Eu=[[2432,2559]],Su=[[72704,72815]],Tu=[[9600,9631]],xu=[[12544,12591]],wu=[[12704,12735]],Bu=[[9472,9599]],Ou=[[69632,69759]],Ru=[[10240,10495]],Au=[[6656,6687]],ku=[[5952,5983]],Iu=[[118784,119039]],Lu=[[13056,13311]],Pu=[[65072,65103]],Mu=[[63744,64255]],Nu=[[194560,195103]],Uu=[[11904,12031]],$u=[[12736,12783]],Hu=[[12288,12351]],Gu=[[19968,40959]],zu=[[13312,19903]],Xu=[[131072,173791]],Wu=[[173824,177983]],Yu=[[177984,178207]],ju=[[178208,183983]],Vu=[[183984,191471]],Ku=[[66208,66271]],qu=[[66864,66927]],Zu=[[69888,69967]],Ju=[[43520,43615]],Qu=[[5024,5119]],el=[[43888,43967]],tl=[[129536,129647]],nl=[[768,879]],rl=[[6832,6911]],sl=[[8400,8447]],il=[[7616,7679]],ol=[[65056,65071]],al=[[43056,43071]],ul=[[9216,9279]],ll=[[11392,11519]],cl=[[66272,66303]],hl=[[119648,119679]],fl=[[73728,74751]],dl=[[74752,74879]],pl=[[8352,8399]],gl=[[67584,67647]],Dl=[[1024,1279]],_l=[[11744,11775]],vl=[[42560,42655]],ml=[[7296,7311]],bl=[[1280,1327]],yl=[[66560,66639]],Fl=[[2304,2431]],Cl=[[43232,43263]],El=[[9984,10175]],Sl=[[71680,71759]],Tl=[[127024,127135]],xl=[[113664,113823]],wl=[[74880,75087]],Bl=[[77824,78895]],Ol=[[66816,66863]],Rl=[[128512,128591]],Al=[[127232,127487]],kl=[[9312,9471]],Il=[[12800,13055]],Ll=[[127488,127743]],Pl=[[4608,4991]],Ml=[[11648,11743]],Nl=[[43776,43823]],Ul=[[4992,5023]],$l=[[8192,8303]],Hl=[[9632,9727]],Gl=[[128896,129023]],zl=[[4256,4351]],Xl=[[7312,7359]],Wl=[[11520,11567]],Yl=[[11264,11359]],jl=[[122880,122927]],Vl=[[66352,66383]],Kl=[[70400,70527]],ql=[[880,1023]],Zl=[[7936,8191]],Jl=[[2688,2815]],Ql=[[73056,73135]],ec=[[2560,2687]],tc=[[65280,65519]],nc=[[12592,12687]],rc=[[4352,4607]],sc=[[43360,43391]],ic=[[55216,55295]],oc=[[44032,55215]],ac=[[68864,68927]],uc=[[5920,5951]],lc=[[67808,67839]],cc=[[1424,1535]],hc=[[56192,56319]],fc=[[55296,56191]],dc=[[12352,12447]],pc=[[592,687]],gc=[[12272,12287]],Dc=[[94176,94207]],_c=[[67648,67679]],vc=[[126064,126143]],mc=[[68448,68479]],bc=[[68416,68447]],yc=[[43392,43487]],Fc=[[69760,69839]],Cc=[[110848,110895]],Ec=[[110592,110847]],Sc=[[12688,12703]],Tc=[[12032,12255]],xc=[[3200,3327]],wc=[[12448,12543]],Bc=[[12784,12799]],Oc=[[43264,43311]],Rc=[[68096,68191]],Ac=[[6016,6143]],kc=[[6624,6655]],Ic=[[70144,70223]],Lc=[[70320,70399]],Pc=[[3712,3839]],Mc=[[128,255]],Nc=[[256,383]],Uc=[[7680,7935]],$c=[[384,591]],Hc=[[11360,11391]],Gc=[[42784,43007]],zc=[[43824,43887]],Xc=[[7168,7247]],Wc=[[8448,8527]],Yc=[[6400,6479]],jc=[[67072,67455]],Vc=[[65664,65791]],Kc=[[65536,65663]],qc=[[42192,42239]],Zc=[[56320,57343]],Jc=[[66176,66207]],Qc=[[67872,67903]],eh=[[69968,70015]],th=[[126976,127023]],nh=[[73440,73471]],rh=[[3328,3455]],sh=[[2112,2143]],ih=[[68288,68351]],oh=[[72816,72895]],ah=[[72960,73055]],uh=[[119808,120831]],lh=[[8704,8959]],ch=[[119520,119551]],hh=[[93760,93855]],fh=[[43968,44031]],dh=[[43744,43775]],ph=[[124928,125151]],gh=[[68e3,68095]],Dh=[[67968,67999]],_h=[[93952,94111]],vh=[[10176,10223]],mh=[[10624,10751]],bh=[[9728,9983]],yh=[[11008,11263]],Fh=[[127744,128511]],Ch=[[8960,9215]],Eh=[[71168,71263]],Sh=[[42752,42783]],Th=[[6144,6319]],xh=[[71264,71295]],wh=[[92736,92783]],Bh=[[70272,70319]],Oh=[[119040,119295]],Rh=[[4096,4255]],Ah=[[43616,43647]],kh=[[43488,43519]],Ih=[[1984,2047]],Lh=[[67712,67759]],Ph=[[6528,6623]],Mh=[[70656,70783]],Nh=[[8528,8591]],Uh=[[110960,111359]],$h=[[5760,5791]],Hh=[[7248,7295]],Gh=[[68736,68863]],zh=[[66304,66351]],Xh=[[68224,68255]],Wh=[[66384,66431]],Yh=[[66464,66527]],jh=[[69376,69423]],Vh=[[68192,68223]],Kh=[[68608,68687]],qh=[[9280,9311]],Zh=[[2816,2943]],Jh=[[128592,128639]],Qh=[[66736,66815]],ef=[[66688,66735]],tf=[[92928,93071]],nf=[[67680,67711]],rf=[[72384,72447]],sf=[[43072,43135]],of=[[66e3,66047]],af=[[67840,67871]],uf=[[7424,7551]],lf=[[7552,7615]],cf=[[127136,127231]],hf=[[57344,63743]],ff=[[68480,68527]],df=[[43312,43359]],pf=[[69216,69247]],gf=[[5792,5887]],Df=[[2048,2111]],_f=[[43136,43231]],vf=[[70016,70111]],mf=[[66640,66687]],bf=[[113824,113839]],yf=[[71040,71167]],Ff=[[3456,3583]],Cf=[[70112,70143]],Ef=[[65104,65135]],Sf=[[69424,69487]],Tf=[[69840,69887]],xf=[[72272,72367]],wf=[[688,767]],Bf=[[65520,65535]],Of=[[7040,7103]],Rf=[[7360,7375]],Af=[[8304,8351]],kf=[[10224,10239]],If=[[10496,10623]],Lf=[[129024,129279]],Pf=[[10752,11007]],Mf=[[11776,11903]],Nf=[[129280,129535]],Uf=[[983040,1048575]],$f=[[1048576,1114111]],Hf=[[120832,121519]],Gf=[[43008,43055]],zf=[[1792,1871]],Xf=[[2144,2159]],Wf=[[5888,5919]],Yf=[[5984,6015]],jf=[[917504,917631]],Vf=[[6480,6527]],Kf=[[6688,6831]],qf=[[43648,43743]],Zf=[[119552,119647]],Jf=[[71296,71375]],Qf=[[2944,3071]],ed=[[94208,100351]],td=[[100352,101119]],nd=[[3072,3199]],rd=[[1920,1983]],sd=[[3584,3711]],id=[[3840,4095]],od=[[11568,11647]],ad=[[70784,70879]],ud=[[128640,128767]],ld=[[66432,66463]],cd=[[5120,5759]],hd=[[6320,6399]],fd=[[42240,42559]],dd=[[65024,65039]],pd=[[917760,917999]],gd=[[7376,7423]],Dd=[[65040,65055]],_d=[[71840,71935]],vd=[[42128,42191]],md=[[40960,42127]],bd=[[19904,19967]],yd=[[72192,72271]],Fd=[[2160,2207],[66928,67007],[67456,67519],[69248,69375],[69488,69631],[71936,72031],[72096,72191],[72368,72383],[72448,72543],[73472,73567],[73648,73727],[77712,77823],[78896,78943],[92784,92879],[101120,101759],[110576,110591],[110896,110959],[118528,118735],[119488,119519],[122624,122879],[122928,123023],[123136,123215],[123536,123647],[124112,124159],[124896,124927],[126208,126287],[129648,130047],[196608,205743]],Cd=Object.freeze(Object.defineProperty({__proto__:null,Adlam:eu,Aegean_Numbers:tu,Ahom:nu,Alchemical_Symbols:ru,Alphabetic_Presentation_Forms:su,Anatolian_Hieroglyphs:iu,Ancient_Greek_Musical_Notation:ou,Ancient_Greek_Numbers:au,Ancient_Symbols:uu,Arabic:lu,Arabic_Extended_A:cu,Arabic_Mathematical_Alphabetic_Symbols:hu,Arabic_Presentation_Forms_A:fu,Arabic_Presentation_Forms_B:du,Arabic_Supplement:pu,Armenian:gu,Arrows:Du,Avestan:_u,Balinese:vu,Bamum:mu,Bamum_Supplement:bu,Basic_Latin:yu,Bassa_Vah:Fu,Batak:Cu,Bengali:Eu,Bhaiksuki:Su,Block_Elements:Tu,Bopomofo:xu,Bopomofo_Extended:wu,Box_Drawing:Bu,Brahmi:Ou,Braille_Patterns:Ru,Buginese:Au,Buhid:ku,Byzantine_Musical_Symbols:Iu,CJK_Compatibility:Lu,CJK_Compatibility_Forms:Pu,CJK_Compatibility_Ideographs:Mu,CJK_Compatibility_Ideographs_Supplement:Nu,CJK_Radicals_Supplement:Uu,CJK_Strokes:$u,CJK_Symbols_And_Punctuation:Hu,CJK_Unified_Ideographs:Gu,CJK_Unified_Ideographs_Extension_A:zu,CJK_Unified_Ideographs_Extension_B:Xu,CJK_Unified_Ideographs_Extension_C:Wu,CJK_Unified_Ideographs_Extension_D:Yu,CJK_Unified_Ideographs_Extension_E:ju,CJK_Unified_Ideographs_Extension_F:Vu,Carian:Ku,Caucasian_Albanian:qu,Chakma:Zu,Cham:Ju,Cherokee:Qu,Cherokee_Supplement:el,Chess_Symbols:tl,Combining_Diacritical_Marks:nl,Combining_Diacritical_Marks_Extended:rl,Combining_Diacritical_Marks_For_Symbols:sl,Combining_Diacritical_Marks_Supplement:il,Combining_Half_Marks:ol,Common_Indic_Number_Forms:al,Control_Pictures:ul,Coptic:ll,Coptic_Epact_Numbers:cl,Counting_Rod_Numerals:hl,Cuneiform:fl,Cuneiform_Numbers_And_Punctuation:dl,Currency_Symbols:pl,Cypriot_Syllabary:gl,Cyrillic:Dl,Cyrillic_Extended_A:_l,Cyrillic_Extended_B:vl,Cyrillic_Extended_C:ml,Cyrillic_Supplement:bl,Deseret:yl,Devanagari:Fl,Devanagari_Extended:Cl,Dingbats:El,Dogra:Sl,Domino_Tiles:Tl,Duployan:xl,Early_Dynastic_Cuneiform:wl,Egyptian_Hieroglyphs:Bl,Elbasan:Ol,Emoticons:Rl,Enclosed_Alphanumeric_Supplement:Al,Enclosed_Alphanumerics:kl,Enclosed_CJK_Letters_And_Months:Il,Enclosed_Ideographic_Supplement:Ll,Ethiopic:Pl,Ethiopic_Extended:Ml,Ethiopic_Extended_A:Nl,Ethiopic_Supplement:Ul,General_Punctuation:$l,Geometric_Shapes:Hl,Geometric_Shapes_Extended:Gl,Georgian:zl,Georgian_Extended:Xl,Georgian_Supplement:Wl,Glagolitic:Yl,Glagolitic_Supplement:jl,Gothic:Vl,Grantha:Kl,Greek_And_Coptic:ql,Greek_Extended:Zl,Gujarati:Jl,Gunjala_Gondi:Ql,Gurmukhi:ec,Halfwidth_And_Fullwidth_Forms:tc,Hangul_Compatibility_Jamo:nc,Hangul_Jamo:rc,Hangul_Jamo_Extended_A:sc,Hangul_Jamo_Extended_B:ic,Hangul_Syllables:oc,Hanifi_Rohingya:ac,Hanunoo:uc,Hatran:lc,Hebrew:cc,High_Private_Use_Surrogates:hc,High_Surrogates:fc,Hiragana:dc,IPA_Extensions:pc,Ideographic_Description_Characters:gc,Ideographic_Symbols_And_Punctuation:Dc,Imperial_Aramaic:_c,Indic_Siyaq_Numbers:vc,Inscriptional_Pahlavi:mc,Inscriptional_Parthian:bc,Javanese:yc,Kaithi:Fc,Kana_Extended_A:Cc,Kana_Supplement:Ec,Kanbun:Sc,Kangxi_Radicals:Tc,Kannada:xc,Katakana:wc,Katakana_Phonetic_Extensions:Bc,Kayah_Li:Oc,Kharoshthi:Rc,Khmer:Ac,Khmer_Symbols:kc,Khojki:Ic,Khudawadi:Lc,Lao:Pc,Latin_1_Supplement:Mc,Latin_Extended_A:Nc,Latin_Extended_Additional:Uc,Latin_Extended_B:$c,Latin_Extended_C:Hc,Latin_Extended_D:Gc,Latin_Extended_E:zc,Lepcha:Xc,Letterlike_Symbols:Wc,Limbu:Yc,Linear_A:jc,Linear_B_Ideograms:Vc,Linear_B_Syllabary:Kc,Lisu:qc,Low_Surrogates:Zc,Lycian:Jc,Lydian:Qc,Mahajani:eh,Mahjong_Tiles:th,Makasar:nh,Malayalam:rh,Mandaic:sh,Manichaean:ih,Marchen:oh,Masaram_Gondi:ah,Mathematical_Alphanumeric_Symbols:uh,Mathematical_Operators:lh,Mayan_Numerals:ch,Medefaidrin:hh,Meetei_Mayek:fh,Meetei_Mayek_Extensions:dh,Mende_Kikakui:ph,Meroitic_Cursive:gh,Meroitic_Hieroglyphs:Dh,Miao:_h,Miscellaneous_Mathematical_Symbols_A:vh,Miscellaneous_Mathematical_Symbols_B:mh,Miscellaneous_Symbols:bh,Miscellaneous_Symbols_And_Arrows:yh,Miscellaneous_Symbols_And_Pictographs:Fh,Miscellaneous_Technical:Ch,Modi:Eh,Modifier_Tone_Letters:Sh,Mongolian:Th,Mongolian_Supplement:xh,Mro:wh,Multani:Bh,Musical_Symbols:Oh,Myanmar:Rh,Myanmar_Extended_A:Ah,Myanmar_Extended_B:kh,NKo:Ih,Nabataean:Lh,New_Tai_Lue:Ph,Newa:Mh,Number_Forms:Nh,Nushu:Uh,Ogham:$h,Ol_Chiki:Hh,Old_Hungarian:Gh,Old_Italic:zh,Old_North_Arabian:Xh,Old_Permic:Wh,Old_Persian:Yh,Old_Sogdian:jh,Old_South_Arabian:Vh,Old_Turkic:Kh,Optical_Character_Recognition:qh,Oriya:Zh,Ornamental_Dingbats:Jh,Osage:Qh,Osmanya:ef,Pahawh_Hmong:tf,Palmyrene:nf,Pau_Cin_Hau:rf,Phags_Pa:sf,Phaistos_Disc:of,Phoenician:af,Phonetic_Extensions:uf,Phonetic_Extensions_Supplement:lf,Playing_Cards:cf,Private_Use_Area:hf,Psalter_Pahlavi:ff,Rejang:df,Rumi_Numeral_Symbols:pf,Runic:gf,Samaritan:Df,Saurashtra:_f,Sharada:vf,Shavian:mf,Shorthand_Format_Controls:bf,Siddham:yf,Sinhala:Ff,Sinhala_Archaic_Numbers:Cf,Small_Form_Variants:Ef,Sogdian:Sf,Sora_Sompeng:Tf,Soyombo:xf,Spacing_Modifier_Letters:wf,Specials:Bf,Sundanese:Of,Sundanese_Supplement:Rf,Superscripts_And_Subscripts:Af,Supplemental_Arrows_A:kf,Supplemental_Arrows_B:If,Supplemental_Arrows_C:Lf,Supplemental_Mathematical_Operators:Pf,Supplemental_Punctuation:Mf,Supplemental_Symbols_And_Pictographs:Nf,Supplementary_Private_Use_Area_A:Uf,Supplementary_Private_Use_Area_B:$f,Sutton_SignWriting:Hf,Syloti_Nagri:Gf,Syriac:zf,Syriac_Supplement:Xf,Tagalog:Wf,Tagbanwa:Yf,Tags:jf,Tai_Le:Vf,Tai_Tham:Kf,Tai_Viet:qf,Tai_Xuan_Jing_Symbols:Zf,Takri:Jf,Tamil:Qf,Tangut:ed,Tangut_Components:td,Telugu:nd,Thaana:rd,Thai:sd,Tibetan:id,Tifinagh:od,Tirhuta:ad,Transport_And_Map_Symbols:ud,Ugaritic:ld,Unified_Canadian_Aboriginal_Syllabics:cd,Unified_Canadian_Aboriginal_Syllabics_Extended:hd,Vai:fd,Variation_Selectors:dd,Variation_Selectors_Supplement:pd,Vedic_Extensions:gd,Vertical_Forms:Dd,Warang_Citi:_d,Yi_Radicals:vd,Yi_Syllables:md,Yijing_Hexagram_Symbols:bd,Zanabazar_Square:yd,undefined:Fd},Symbol.toStringTag,{value:"Module"})),Ed=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Sd=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,65114,65116,65118,65289,65341,65373,65376,65379],Td=[[0,39],[42,90],92,[94,122],124,[126,3897],[3902,5786],[5789,8260],[8263,8316],[8319,8332],[8335,8967],[8972,9e3],[9003,10087],[10102,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11809],[11818,11860],[11869,12295],[12306,12307],[12316,65112],[65119,65287],[65290,65338],65340,[65342,65370],65372,65374,65377,[65380,1114111]],xd=[40,91,123,3898,3900,5787,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,65113,65115,65117,65288,65339,65371,65375,65378],wd=Object.freeze(Object.defineProperty({__proto__:null,Close:Sd,None:Td,Open:xd},Symbol.toStringTag,{value:"Module"})),Bd=[35,38,42,[60,62],[64,90],[94,122],126,166,169,172,[174,175],181,[192,214],[216,246],[248,710],[718,719],[721,727],732,734,[736,767],[880,887],[890,893],895,[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1416],[1421,1422],1472,1475,[1523,1524],[1536,1544],[1550,1551],[1568,1610],[1645,1647],[1649,1747],1749,[1757,1758],[1765,1766],1769,[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[1994,2026],[2036,2039],2042,[2048,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2192,2193],[2208,2249],2274,[2308,2361],2365,2384,[2392,2401],[2416,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],[2548,2552],2554,[2556,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],2678,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2800,2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],[2928,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3056,3064],3066,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],[3192,3200],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,[3406,3407],[3412,3414],[3416,3425],[3440,3448],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3572,3663,3840,3845,3859,[3861,3863],[3866,3871],[3882,3891],3894,3896,[3904,3911],[3913,3948],[3976,3980],[4032,4037],[4039,4044],[4046,4047],[4052,4056],[4172,4175],[4256,4293],4295,4301,[4304,4351],[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],4960,[4962,4988],[4992,5017],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],6105,[6128,6137],[6144,6145],6151,6154,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],6464,[6624,6678],[6686,6687],[6917,6963],[6981,6988],7004,[7009,7018],[7028,7036],[7043,7072],[7086,7087],[7098,7141],[7164,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7367],7379,[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8188],8190,8215,[8226,8227],8248,[8254,8259],[8266,8277],8284,[8289,8292],[8304,8305],[8309,8316],8320,[8325,8332],[8336,8348],[8448,8450],8452,[8454,8456],[8458,8466],[8468,8469],[8471,8480],[8483,8490],[8492,8531],[8534,8538],[8540,8541],8543,[8556,8559],[8570,8584],[8586,8587],[8602,8657],8659,[8661,8703],8705,[8708,8710],[8713,8714],[8716,8718],8720,8724,[8726,8729],[8731,8732],[8737,8738],8740,8742,8749,[8751,8755],[8760,8763],[8766,8775],[8777,8779],[8781,8785],[8787,8799],[8802,8803],[8808,8809],[8812,8813],[8816,8833],[8836,8837],[8840,8852],[8854,8856],[8858,8868],[8870,8894],[8896,8942],[8944,8967],[8972,8977],[8979,8985],[8988,9e3],[9003,9199],[9204,9254],[9280,9290],9471,[9548,9551],[9589,9599],[9616,9617],[9622,9631],9634,[9642,9649],[9652,9653],[9656,9659],[9662,9663],[9666,9669],[9673,9674],[9676,9677],[9682,9697],[9702,9710],[9712,9727],9732,[9735,9736],[9738,9741],[9744,9747],9753,[9760,9784],[9788,9791],9793,[9795,9823],9826,9830,9835,9838,[9840,9854],[9856,9885],[9888,9916],9934,9954,[9956,9959],[9989,9991],[9998,10070],[10072,10074],10081,[10085,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11092],[11098,11123],[11126,11157],[11159,11502],[11506,11507],11517,[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11798,[11802,11803],[11806,11807],11823,11826,[11829,11833],11839,11851,11853,[11856,11858],[19904,19967],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],42611,[42622,42653],[42656,42735],42738,[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43063],43065,[43072,43123],[43138,43187],[43250,43259],[43261,43262],[43274,43301],[43312,43334],43359,[43396,43442],[43457,43462],[43466,43469],43471,[43486,43487],[43520,43560],[43584,43586],[43588,43595],43612,[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[64256,64262],[64275,64279],64297,[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65019],[65021,65023],[65136,65140],[65142,65276],[65512,65518],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67672,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],68184,[68192,68255],[68288,68324],[68331,68335],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[69216,69246],[69248,69289],[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69635,69687],[69705,69709],[69714,69733],[69745,69746],69749,[69763,69807],[69819,69821],69837,[69840,69864],[69891,69926],69956,69959,[69968,70002],70004,70006,[70019,70066],[70081,70084],70087,70093,70106,70108,[70113,70132],[70144,70161],[70163,70187],70202,70205,[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],70735,70749,[70751,70753],[70784,70831],[70852,70855],[71040,71086],[71110,71112],[71128,71131],[71168,71215],[71235,71236],[71296,71338],[71352,71353],[71680,71723],71739,[71840,71903],[71914,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72256,72262,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72794,72812],[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],[73463,73464],73474,[73476,73488],[73490,73523],73648,[73664,73692],[73697,73713],[73728,74649],[74752,74862],[74880,75075],[77712,77810],[77824,78423],[78430,78465],[78467,78469],[78474,78712],[78716,78895],[78913,78918],[82944,83405],[83408,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92986,92995],92997,[93019,93025],[93027,93047],[93053,93071],[93760,93846],[93849,93850],[93952,94026],94032,[94099,94111],[101120,101589],[110576,110579],[110581,110587],[110589,110590],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],121483,[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123214,123215],[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[126065,126123],[126125,126127],[126129,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[127278,127279],[127338,127340],[127900,127901],[127925,127926],127932,128160,128162,128164,128175,[128177,128178],[128256,128262],[128279,128292],[128306,128329],[128468,128475],[128500,128505],[128592,128629],[128636,128639],[128768,128883],[128896,128980],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129280,129291],[129536,129619],[129792,129938],[129940,129994]],Od=[[167,168],170,[178,179],[182,186],[188,190],215,247,711,[713,715],717,720,[728,731],733,[8213,8214],[8224,8225],8251,8308,8319,[8321,8324],8453,8467,[8481,8482],8491,[8532,8533],8539,8542,[8544,8555],[8560,8569],8585,[8592,8601],8658,8660,8704,[8706,8707],[8711,8712],8715,8719,8721,8725,8730,[8733,8736],8739,8741,[8743,8748],8750,[8756,8759],[8764,8765],8776,8780,8786,[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],8853,8857,8869,8895,8978,[9312,9470],[9472,9547],[9552,9588],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],9675,[9678,9681],[9698,9701],9711,[9733,9734],9737,[9742,9743],[9750,9751],9792,9794,[9824,9825],[9827,9829],9831,[9833,9834],[9836,9837],9839,[9886,9887],[9929,9932],9938,[9941,9943],[9946,9947],[9949,9950],9955,[9960,9961],[9963,9968],9974,[9979,9980],10071,[10102,10131],[11093,11097],[12872,12879],65533,[127232,127244],[127248,127277],[127280,127337],[127344,127404]],Rd=[9,124,173,1418,1470,[2404,2405],[3674,3675],3851,3892,3967,3973,[4030,4031],4050,[4170,4171],4961,5120,5760,[5867,5869],[5941,5942],[6100,6101],6104,6106,[6148,6149],[7002,7003],[7005,7008],[7037,7038],[7227,7231],[7294,7295],[8192,8198],[8200,8202],8208,[8210,8211],8231,8278,[8280,8283],[8285,8287],[11514,11516],11519,11632,[11790,11797],11799,11801,[11818,11821],[11824,11825],[11827,11828],[11836,11838],[11840,11841],[11843,11850],11852,[11854,11855],11869,12288,[42238,42239],42509,42511,[42739,42743],[43214,43215],[43310,43311],[43463,43465],[43613,43615],[43760,43761],44011,[65792,65794],66463,66512,67671,67871,[68176,68183],[68336,68341],[68409,68415],69293,[69703,69704],[69822,69825],[69952,69955],[70085,70086],70088,[70109,70111],[70200,70201],[70203,70204],70313,[70731,70734],[70746,70747],[71106,71107],[71113,71127],[71233,71234],[71484,71486],[72004,72006],[72257,72260],[72346,72348],[72353,72354],[72769,72773],[73539,73540],73727,[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],Ad=[180,712,716,735,3191,3204,[3841,3844],[3846,3847],[3849,3850],[4048,4049],4051,6150,8189,[43124,43125],43260,70005,70107,71105,[71264,71276],72162,72255,72261,[72350,72352],[72448,72457],72816],kd=[8212,[11834,11835]],Id=[47],Ld=[13],Pd=[41,93],Md=[125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,[12289,12290],12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,[65041,65042],65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65104,65106,65114,65116,65118,65289,65292,65294,65341,65373,[65376,65377],[65379,65380],[78427,78429],78466,78471,78473,[78714,78715],78904,78909,78911,83407],Nd=[[0,8],[14,31],[127,132],[134,159],[768,846],[848,859],[867,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],1564,[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],[3864,3865],3893,3895,3897,[3902,3903],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7628],[7630,7675],[7677,7679],8204,[8206,8207],[8234,8238],[8294,8303],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],12341,[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],[43561,43574],43587,[43596,43597],[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65529,65531],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],917505,[917536,917631],[917760,917999]],Ud=[[3585,3642],[3648,3662],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3804,3807],[4096,4159],[4176,4239],[4250,4255],[6016,6099],6103,[6108,6109],[6480,6509],[6512,6516],[6528,6571],[6576,6601],6618,[6622,6623],[6688,6750],[6752,6780],[6816,6829],[43488,43503],[43514,43518],[43616,43714],[43739,43743],[71424,71450],[71453,71467],[71482,71483],[71487,71494]],$d=[12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,[12437,12438],12449,12451,12453,12455,12457,12483,12515,12517,12519,12526,[12533,12534],12540,[12784,12799],[65383,65392],110898,[110928,110930],110933,[110948,110951]],Hd=[65532],Gd=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],zd=[[127995,127999]],Xd=[33,63,1478,1563,[1565,1567],1748,2041,[3853,3857],3860,[6146,6147],[6152,6153],[6468,6469],[10082,10083],11513,11518,11822,[11859,11860],42510,[43126,43127],[65045,65046],[65110,65111],65281,65311,[71108,71109],72817],Wd=[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],Yd=[44032,44060,44088,44116,44144,44172,44200,44228,44256,44284,44312,44340,44368,44396,44424,44452,44480,44508,44536,44564,44592,44620,44648,44676,44704,44732,44760,44788,44816,44844,44872,44900,44928,44956,44984,45012,45040,45068,45096,45124,45152,45180,45208,45236,45264,45292,45320,45348,45376,45404,45432,45460,45488,45516,45544,45572,45600,45628,45656,45684,45712,45740,45768,45796,45824,45852,45880,45908,45936,45964,45992,46020,46048,46076,46104,46132,46160,46188,46216,46244,46272,46300,46328,46356,46384,46412,46440,46468,46496,46524,46552,46580,46608,46636,46664,46692,46720,46748,46776,46804,46832,46860,46888,46916,46944,46972,47e3,47028,47056,47084,47112,47140,47168,47196,47224,47252,47280,47308,47336,47364,47392,47420,47448,47476,47504,47532,47560,47588,47616,47644,47672,47700,47728,47756,47784,47812,47840,47868,47896,47924,47952,47980,48008,48036,48064,48092,48120,48148,48176,48204,48232,48260,48288,48316,48344,48372,48400,48428,48456,48484,48512,48540,48568,48596,48624,48652,48680,48708,48736,48764,48792,48820,48848,48876,48904,48932,48960,48988,49016,49044,49072,49100,49128,49156,49184,49212,49240,49268,49296,49324,49352,49380,49408,49436,49464,49492,49520,49548,49576,49604,49632,49660,49688,49716,49744,49772,49800,49828,49856,49884,49912,49940,49968,49996,50024,50052,50080,50108,50136,50164,50192,50220,50248,50276,50304,50332,50360,50388,50416,50444,50472,50500,50528,50556,50584,50612,50640,50668,50696,50724,50752,50780,50808,50836,50864,50892,50920,50948,50976,51004,51032,51060,51088,51116,51144,51172,51200,51228,51256,51284,51312,51340,51368,51396,51424,51452,51480,51508,51536,51564,51592,51620,51648,51676,51704,51732,51760,51788,51816,51844,51872,51900,51928,51956,51984,52012,52040,52068,52096,52124,52152,52180,52208,52236,52264,52292,52320,52348,52376,52404,52432,52460,52488,52516,52544,52572,52600,52628,52656,52684,52712,52740,52768,52796,52824,52852,52880,52908,52936,52964,52992,53020,53048,53076,53104,53132,53160,53188,53216,53244,53272,53300,53328,53356,53384,53412,53440,53468,53496,53524,53552,53580,53608,53636,53664,53692,53720,53748,53776,53804,53832,53860,53888,53916,53944,53972,54e3,54028,54056,54084,54112,54140,54168,54196,54224,54252,54280,54308,54336,54364,54392,54420,54448,54476,54504,54532,54560,54588,54616,54644,54672,54700,54728,54756,54784,54812,54840,54868,54896,54924,54952,54980,55008,55036,55064,55092,55120,55148,55176],jd=[[44033,44059],[44061,44087],[44089,44115],[44117,44143],[44145,44171],[44173,44199],[44201,44227],[44229,44255],[44257,44283],[44285,44311],[44313,44339],[44341,44367],[44369,44395],[44397,44423],[44425,44451],[44453,44479],[44481,44507],[44509,44535],[44537,44563],[44565,44591],[44593,44619],[44621,44647],[44649,44675],[44677,44703],[44705,44731],[44733,44759],[44761,44787],[44789,44815],[44817,44843],[44845,44871],[44873,44899],[44901,44927],[44929,44955],[44957,44983],[44985,45011],[45013,45039],[45041,45067],[45069,45095],[45097,45123],[45125,45151],[45153,45179],[45181,45207],[45209,45235],[45237,45263],[45265,45291],[45293,45319],[45321,45347],[45349,45375],[45377,45403],[45405,45431],[45433,45459],[45461,45487],[45489,45515],[45517,45543],[45545,45571],[45573,45599],[45601,45627],[45629,45655],[45657,45683],[45685,45711],[45713,45739],[45741,45767],[45769,45795],[45797,45823],[45825,45851],[45853,45879],[45881,45907],[45909,45935],[45937,45963],[45965,45991],[45993,46019],[46021,46047],[46049,46075],[46077,46103],[46105,46131],[46133,46159],[46161,46187],[46189,46215],[46217,46243],[46245,46271],[46273,46299],[46301,46327],[46329,46355],[46357,46383],[46385,46411],[46413,46439],[46441,46467],[46469,46495],[46497,46523],[46525,46551],[46553,46579],[46581,46607],[46609,46635],[46637,46663],[46665,46691],[46693,46719],[46721,46747],[46749,46775],[46777,46803],[46805,46831],[46833,46859],[46861,46887],[46889,46915],[46917,46943],[46945,46971],[46973,46999],[47001,47027],[47029,47055],[47057,47083],[47085,47111],[47113,47139],[47141,47167],[47169,47195],[47197,47223],[47225,47251],[47253,47279],[47281,47307],[47309,47335],[47337,47363],[47365,47391],[47393,47419],[47421,47447],[47449,47475],[47477,47503],[47505,47531],[47533,47559],[47561,47587],[47589,47615],[47617,47643],[47645,47671],[47673,47699],[47701,47727],[47729,47755],[47757,47783],[47785,47811],[47813,47839],[47841,47867],[47869,47895],[47897,47923],[47925,47951],[47953,47979],[47981,48007],[48009,48035],[48037,48063],[48065,48091],[48093,48119],[48121,48147],[48149,48175],[48177,48203],[48205,48231],[48233,48259],[48261,48287],[48289,48315],[48317,48343],[48345,48371],[48373,48399],[48401,48427],[48429,48455],[48457,48483],[48485,48511],[48513,48539],[48541,48567],[48569,48595],[48597,48623],[48625,48651],[48653,48679],[48681,48707],[48709,48735],[48737,48763],[48765,48791],[48793,48819],[48821,48847],[48849,48875],[48877,48903],[48905,48931],[48933,48959],[48961,48987],[48989,49015],[49017,49043],[49045,49071],[49073,49099],[49101,49127],[49129,49155],[49157,49183],[49185,49211],[49213,49239],[49241,49267],[49269,49295],[49297,49323],[49325,49351],[49353,49379],[49381,49407],[49409,49435],[49437,49463],[49465,49491],[49493,49519],[49521,49547],[49549,49575],[49577,49603],[49605,49631],[49633,49659],[49661,49687],[49689,49715],[49717,49743],[49745,49771],[49773,49799],[49801,49827],[49829,49855],[49857,49883],[49885,49911],[49913,49939],[49941,49967],[49969,49995],[49997,50023],[50025,50051],[50053,50079],[50081,50107],[50109,50135],[50137,50163],[50165,50191],[50193,50219],[50221,50247],[50249,50275],[50277,50303],[50305,50331],[50333,50359],[50361,50387],[50389,50415],[50417,50443],[50445,50471],[50473,50499],[50501,50527],[50529,50555],[50557,50583],[50585,50611],[50613,50639],[50641,50667],[50669,50695],[50697,50723],[50725,50751],[50753,50779],[50781,50807],[50809,50835],[50837,50863],[50865,50891],[50893,50919],[50921,50947],[50949,50975],[50977,51003],[51005,51031],[51033,51059],[51061,51087],[51089,51115],[51117,51143],[51145,51171],[51173,51199],[51201,51227],[51229,51255],[51257,51283],[51285,51311],[51313,51339],[51341,51367],[51369,51395],[51397,51423],[51425,51451],[51453,51479],[51481,51507],[51509,51535],[51537,51563],[51565,51591],[51593,51619],[51621,51647],[51649,51675],[51677,51703],[51705,51731],[51733,51759],[51761,51787],[51789,51815],[51817,51843],[51845,51871],[51873,51899],[51901,51927],[51929,51955],[51957,51983],[51985,52011],[52013,52039],[52041,52067],[52069,52095],[52097,52123],[52125,52151],[52153,52179],[52181,52207],[52209,52235],[52237,52263],[52265,52291],[52293,52319],[52321,52347],[52349,52375],[52377,52403],[52405,52431],[52433,52459],[52461,52487],[52489,52515],[52517,52543],[52545,52571],[52573,52599],[52601,52627],[52629,52655],[52657,52683],[52685,52711],[52713,52739],[52741,52767],[52769,52795],[52797,52823],[52825,52851],[52853,52879],[52881,52907],[52909,52935],[52937,52963],[52965,52991],[52993,53019],[53021,53047],[53049,53075],[53077,53103],[53105,53131],[53133,53159],[53161,53187],[53189,53215],[53217,53243],[53245,53271],[53273,53299],[53301,53327],[53329,53355],[53357,53383],[53385,53411],[53413,53439],[53441,53467],[53469,53495],[53497,53523],[53525,53551],[53553,53579],[53581,53607],[53609,53635],[53637,53663],[53665,53691],[53693,53719],[53721,53747],[53749,53775],[53777,53803],[53805,53831],[53833,53859],[53861,53887],[53889,53915],[53917,53943],[53945,53971],[53973,53999],[54001,54027],[54029,54055],[54057,54083],[54085,54111],[54113,54139],[54141,54167],[54169,54195],[54197,54223],[54225,54251],[54253,54279],[54281,54307],[54309,54335],[54337,54363],[54365,54391],[54393,54419],[54421,54447],[54449,54475],[54477,54503],[54505,54531],[54533,54559],[54561,54587],[54589,54615],[54617,54643],[54645,54671],[54673,54699],[54701,54727],[54729,54755],[54757,54783],[54785,54811],[54813,54839],[54841,54867],[54869,54895],[54897,54923],[54925,54951],[54953,54979],[54981,55007],[55009,55035],[55037,55063],[55065,55091],[55093,55119],[55121,55147],[55149,55175],[55177,55203]],Vd=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Kd=[45],qd=[[8986,8987],[9200,9203],[9728,9731],[9748,9749],9752,[9754,9756],[9758,9759],[9785,9787],9832,9855,[9917,9928],9933,[9935,9937],[9939,9940],[9944,9945],9948,[9951,9953],9962,[9969,9973],[9975,9976],9978,[9981,9988],[9992,9993],10084,[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12291,12292],[12294,12295],[12306,12307],[12320,12329],[12336,12340],[12342,12346],[12349,12351],12354,12356,12358,12360,[12362,12386],[12388,12418],12420,12422,[12424,12429],[12431,12436],12447,12450,12452,12454,12456,[12458,12482],[12484,12514],12516,12518,[12520,12525],[12527,12532],[12535,12538],12543,[12549,12591],[12593,12686],[12688,12771],[12800,12830],[12832,12871],[12880,19903],[19968,40980],[40982,42124],[42128,42182],[63744,64255],[65072,65076],[65093,65094],[65097,65103],65105,65112,[65119,65126],65128,65131,[65282,65283],[65286,65287],[65290,65291],65293,[65295,65305],[65308,65310],[65312,65338],65340,[65342,65370],65372,65374,65382,[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65506,65508],[73541,73551],[94208,100343],[100352,101119],[101632,101640],[110592,110882],[110960,111355],[126976,127231],[127245,127247],[127341,127343],[127405,127461],[127488,127876],[127878,127899],[127902,127924],[127927,127931],[127933,127937],[127941,127942],[127944,127945],[127949,127994],[128e3,128065],[128068,128069],[128081,128101],[128121,128123],[128125,128128],128132,[128136,128142],128144,[128146,128159],128161,128163,[128165,128169],[128171,128174],128176,[128179,128255],[128263,128278],[128293,128305],[128330,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128467],[128476,128499],[128506,128580],[128584,128586],[128640,128674],[128676,128691],[128695,128703],[128705,128715],[128717,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129293,129294],[129296,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129398],[129400,129460],129463,129466,[129468,129484],129488,[129502,129535],[129620,129730],[129734,129775],[129785,129791],[130048,131069],[131072,196605],[196608,262141]],Zd=[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],Jd=[[8228,8230],8943,65049,68342],Qd=[[4352,4447],[43360,43388]],ep=[[4520,4607],[55243,55291]],tp=[[4448,4519],[55216,55238]],np=[10],rp=[[11,12],[8232,8233]],sp=[133],ip=[6102,[8252,8253],[8263,8265],12293,12316,[12347,12348],[12443,12446],12448,12539,[12541,12542],40981,[65108,65109],[65306,65307],65381,[65438,65439],[94176,94179],[128633,128635]],op=[[48,57],[1632,1641],[1643,1644],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],ap=[40,91,123,161,191,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11800,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378,[78424,78426],78470,78472,78713,78903,78908,78910,83406,[125278,125279]],up=[37,162,176,[1545,1547],1642,[2546,2547],2553,3449,[8240,8247],8279,8359,8374,8379,8382,8384,8451,8457,43064,65020,65130,65285,65504,[73693,73696],126124,126128],lp=[36,43,92,[163,165],177,1423,[2046,2047],2555,2801,3065,3647,6107,[8352,8358],[8360,8373],[8375,8378],[8380,8381],8383,[8385,8399],8470,[8722,8723],65129,65284,65505,[65509,65510],123647],cp=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],hp=[[127462,127487]],fp=[32],dp=[[55296,57343]],pp=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[57344,63743],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[131070,131071],[196606,196607],[262142,917504],[917506,917535],[917632,917759],[918e3,1114111]],gp=[8288,65279],Dp=[8205],_p=[8203],vp=Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:Bd,Ambiguous:Od,Break_After:Rd,Break_Before:Ad,Break_Both:kd,Break_Symbols:Id,Carriage_Return:Ld,Close_Parenthesis:Pd,Close_Punctuation:Md,Combining_Mark:Nd,Complex_Context:Ud,Conditional_Japanese_Starter:$d,Contingent_Break:Hd,E_Base:Gd,E_Modifier:zd,Exclamation:Xd,Glue:Wd,H2:Yd,H3:jd,Hebrew_Letter:Vd,Hyphen:Kd,Ideographic:qd,Infix_Numeric:Zd,Inseparable:Jd,JL:Qd,JT:ep,JV:tp,Line_Feed:np,Mandatory_Break:rp,Next_Line:sp,Nonstarter:ip,Numeric:op,Open_Punctuation:ap,Postfix_Numeric:up,Prefix_Numeric:lp,Quotation:cp,Regional_Indicator:hp,Space:fp,Surrogate:dp,Unknown:pp,Word_Joiner:gp,ZWJ:Dp,ZWSpace:_p},Symbol.toStringTag,{value:"Module"})),mp=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,727],[734,767],[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1369,1372],1374,[1376,1416],1418,1523,[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3840,[3904,3911],[3913,3948],[3976,3980],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6656,6678],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,12293,[12347,12348],[12549,12591],[12593,12686],[12704,12735],[40960,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42760,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43520,43560],[43584,43586],[43588,43595],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[64256,64262],[64275,64279],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369]],bp=[13],yp=[34],Fp=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[127995,127999],[917536,917631],[917760,917999]],Cp=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],Ep=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8206,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505],Sp=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Tp=[[12337,12341],[12443,12444],[12448,12538],[12540,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],xp=[10],wp=[58,183,903,1375,1524,8231,65043,65109,65306],Bp=[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],Op=[46,[8216,8217],8228,65106,65287,65294],Rp=[[11,12],133,[8232,8233]],Ap=[[48,57],[1632,1641],1643,[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],kp=[[0,9],[14,31],33,[35,38],[40,43],45,47,[60,64],[91,94],96,[123,132],[134,159],[161,169],[171,172],[174,180],182,[184,185],[187,191],215,247,[728,733],885,[888,889],[896,901],907,909,930,1014,1154,1328,[1367,1368],1373,[1419,1424],1470,1472,1475,1478,[1480,1487],[1515,1518],[1525,1535],[1542,1547],[1550,1551],1563,[1565,1567],1642,1645,1748,1769,[1789,1790],[1792,1806],[1867,1868],[1970,1983],[2038,2039],2041,[2043,2044],[2046,2047],[2094,2111],[2140,2143],[2155,2159],2184,2191,[2194,2199],[2404,2405],2416,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2546,2555],2557,[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2678,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2800,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],2928,[2930,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3056,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3199],3204,3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3407,3411],[3416,3422],[3428,3429],[3440,3449],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3572,3632],[3634,3635],[3643,3654],3663,[3674,3760],[3762,3763],[3773,3783],3791,[3802,3839],[3841,3863],[3866,3871],[3882,3892],3894,3896,[3898,3901],3912,[3949,3952],3973,3992,[4029,4037],[4039,4095],4130,4136,4159,[4170,4175],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4254,4255],4294,[4296,4300],[4302,4303],4347,4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4960,4991],[5008,5023],[5110,5111],[5118,5120],[5741,5742],[5787,5791],[5867,5869],[5881,5887],[5910,5918],[5941,5951],[5972,5983],5997,6001,[6004,6015],[6100,6102],[6104,6107],[6110,6111],[6122,6154],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6469],[6510,6511],[6517,6527],[6570,6575],[6602,6607],[6619,6655],[6684,6740],6751,[6781,6782],[6794,6799],[6810,6831],[6863,6911],[6989,6991],[7002,7018],[7028,7039],[7156,7167],[7224,7231],[7242,7244],[7294,7295],[7305,7311],[7355,7356],[7360,7375],7379,[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8125,[8127,8129],8133,[8141,8143],[8148,8149],[8156,8159],[8173,8177],8181,[8189,8191],8199,[8208,8215],[8218,8227],[8229,8230],[8240,8254],[8257,8259],[8261,8275],[8277,8286],8293,8304,[8306,8318],[8320,8335],[8349,8399],[8433,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],[8527,8543],[8585,9397],[9450,9756],[9758,9791],9793,[9795,9876],[9879,9976],[9978,9991],9993,[9998,10083],[10085,11263],[11493,11498],[11508,11519],11558,[11560,11564],[11566,11567],[11624,11630],[11632,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11776,11822],[11824,12287],[12289,12292],[12294,12329],12336,[12342,12346],[12349,12440],[12445,12447],12539,[12544,12548],12592,[12687,12703],[12736,12783],[12800,13007],13055,[13144,40959],[42125,42191],[42238,42239],[42509,42511],[42540,42559],42611,42622,[42738,42759],[42955,42959],42962,42964,[42970,42993],[43048,43051],[43053,43071],[43124,43135],[43206,43215],[43226,43231],[43256,43258],43260,[43310,43311],[43348,43359],[43389,43391],[43457,43470],[43482,43492],[43494,43503],[43514,43519],[43575,43583],[43598,43599],[43610,43642],[43646,43695],43697,[43701,43702],[43705,43709],43712,[43714,43743],[43760,43761],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43882,43887],44011,[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,64047],[64107,64255],[64263,64274],[64280,64284],64297,64311,64317,64319,64322,64325,[64434,64466],[64830,64847],[64912,64913],[64968,65007],[65020,65023],[65041,65042],[65045,65055],[65072,65074],[65077,65100],65105,65107,[65110,65135],65141,[65277,65278],[65280,65286],[65288,65291],65293,65295,[65308,65312],[65339,65342],65344,[65371,65381],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65528],[65532,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65855],[65909,66044],[66046,66175],[66205,66207],[66257,66271],[66273,66303],[66336,66348],[66379,66383],[66427,66431],[66462,66463],[66500,66503],66512,[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66927],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],[67670,67679],[67703,67711],[67743,67807],67827,[67830,67839],[67862,67871],[67898,67967],[68024,68029],[68032,68095],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68160,68191],[68221,68223],[68253,68287],68296,[68327,68351],[68406,68415],[68438,68447],[68467,68479],[68498,68607],[68681,68735],[68787,68799],[68851,68863],[68904,68911],[68922,69247],69290,[69293,69295],[69298,69372],[69405,69414],[69416,69423],[69457,69487],[69510,69551],[69573,69599],[69623,69631],[69703,69733],[69750,69758],[69819,69820],[69822,69825],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69952,69955],[69960,69967],[70004,70005],[70007,70015],[70085,70088],70093,70107,[70109,70143],70162,[70200,70205],[70210,70271],70279,70281,70286,70302,[70313,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],[70731,70735],[70746,70749],[70754,70783],70854,[70856,70863],[70874,71039],[71094,71095],[71105,71127],[71134,71167],[71233,71235],[71237,71247],[71258,71295],[71353,71359],[71370,71452],[71468,71471],[71482,71679],[71739,71839],[71914,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72004,72015],[72026,72095],[72104,72105],[72152,72153],72162,[72165,72191],[72255,72262],[72264,72271],[72346,72348],[72350,72367],[72441,72703],72713,72759,[72769,72783],[72794,72817],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73463,73471],73489,[73531,73533],[73539,73551],[73562,73647],[73649,73727],[74650,74751],[74863,74879],[75076,77711],[77809,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92783],92863,[92874,92879],[92910,92911],[92917,92927],[92983,92991],[92996,93007],[93018,93026],[93048,93052],[93072,93759],[93824,93951],[94027,94030],[94088,94094],[94112,94175],94178,[94181,94191],[94194,110575],110580,110588,110591,[110593,110879],[110883,110932],[110934,110947],[110952,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113820],113823,[113828,118527],[118574,118575],[118599,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119361],[119365,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120780,120781],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123215,123535],[123567,123583],[123642,124111],[124154,124895],124903,124908,124911,124927,[125125,125135],[125143,125183],[125260,125263],[125274,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,127279],[127306,127311],[127338,127343],[127370,127461],[127488,127751],[127753,127805],[127807,127858],[127860,127876],[127878,127890],[127892,127907],[127909,127911],[127913,127937],[127941,127942],[127944,127945],[127949,127978],127980,[127982,127994],[128e3,128065],[128068,128069],[128081,128101],[128106,128109],128111,[128121,128123],[128125,128128],128132,[128136,128138],[128140,128169],[128171,128186],[128189,128294],[128296,128299],[128301,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128487],[128489,128580],[128584,128586],[128592,128639],[128641,128657],[128659,128674],[128676,128691],[128695,128703],[128705,128715],[128717,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129488],[129502,130031],[130042,917504],[917506,917535],[917632,917759],[918e3,1114111]],Ip=[[127462,127487]],Lp=[39],Pp=[32,5760,[8192,8198],[8200,8202],8287,12288],Mp=[8205],Np=Object.freeze(Object.defineProperty({__proto__:null,ALetter:mp,CR:bp,Double_Quote:yp,Extend:Fp,ExtendNumLet:Cp,Format:Ep,Hebrew_Letter:Sp,Katakana:Tp,LF:xp,MidLetter:wp,MidNum:Bp,MidNumLet:Op,Newline:Rp,Numeric:Ap,Other:kp,Regional_Indicator:Ip,Single_Quote:Lp,WSegSpace:Pp,ZWJ:Mp},Symbol.toStringTag,{value:"Module"})),Up=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:zs,Bidi_Mirroring_Glyph:Ed,Bidi_Paired_Bracket_Type:wd,Binary_Property:I3,Block:Cd,Case_Folding:Qa,General_Category:ms,Line_Break:vp,Script:W9,Script_Extensions:Va,Word_Break:Np},Symbol.toStringTag,{value:"Module"}));function M4(r){const t=Object.keys(r);if(t.length===0)throw new Error("Expected at least one category, but received 0.");if(t.some(n=>{const s=r[n];return s===void 0||s.length===0}))throw new Error("Expected at least one sub category, but received 0.");return t.map(n=>{const i=r[n].map(o=>$p(n,o));return new q1().union(...i)}).reduce((n,s)=>n.intersect(s))}function $p(r,t){const n=Up[r][t];return new q1().union(...n)}const v6=M4({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),N4=M4({Block:["CJK_Compatibility","CJK_Symbols_And_Punctuation","Vertical_Forms","CJK_Compatibility_Forms","Small_Form_Variants","Halfwidth_And_Fullwidth_Forms","Ideographic_Description_Characters","Kanbun","CJK_Strokes","Enclosed_CJK_Letters_And_Months"]}).subtract(v6),Hp=g2(v6,N4);function Gp(){return g2(Hp)}function zp(){return g2(v6)}function Xp(){return g2(N4)}const U4="0",f0=r=>({sbr:.6,sbo:r,spr:.6,spo:r});class re{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(t,e,n){this._globalFontMeasureCache.has(t)||this._globalFontMeasureCache.set(t,new Map);const s=this._globalFontMeasureCache.get(t);s&&s.set(e,n)}static clearFontMeasureCache(t){var n;const e=t.split("/");if(e.length===1){const s=e[0];this._globalFontMeasureCache.delete(s)}else if(e.length===2){const s=e[0],i=e[1];(n=this._globalFontMeasureCache.get(s))==null||n.delete(i)}else return!1;return!0}static getFontMeasureCache(t,e){var n;return(n=this._globalFontMeasureCache.get(t))==null?void 0:n.get(e)}static autoCleanFontMeasureCache(t=1e6){let e=0,n=!1;for(const s of this._globalFontMeasureCache){const[,i]=s;if(e+=i.size,e>t){n=!0;break}}if(n){let s=0;for(const i of this._globalFontMeasureCache){const[o,a]=i;if(s+=a.size,s>t/2){const u=s-t/2;this._clearMeasureCache(u,a);break}this._globalFontMeasureCache.delete(o)}return!0}return!1}static getBaselineOffsetInfo(t,e){if(this._fontDataMap.size===0)return f0(e);const n=t.split(",");for(let s of n){s=s.replace(/'/g,"");const i=this._fontDataMap.get(s);if(!i)continue;const{subscriptSizeRatio:o,subscriptOffset:a,superscriptSizeRatio:u,superscriptOffset:l}=i;return{sbr:o,sbo:a*e,spr:u,spo:l*e}}return f0(e)}static getTextSizeByDom(t,e){if(e in this._getTextHeightCache)return this._getTextHeightCache[e];let n=document.getElementById("universheetTextSizeTest");const s="float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;";n||(n=document.createElement("span"),n.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(n)),n.style.cssText+=`${s};${e}`,n.textContent=t;const i=n.getBoundingClientRect(),o={width:i.width,height:i.height};return this._getTextHeightCache[e]=o,o}static getTextSize(t,e){const{fontString:n,fontSize:s,fontFamily:i}=e;let o=this._getBoundingBoxByFont(i,s);if(!o){const a=this.getMeasureText(t,n);o=this._calculateBoundingBoxByMeasureText(a,e)}return o}static getBBoxFromGlyphInfo(t,e){var c;const n=t.glyph,s=t.font,{y1:i,y2:o}=t.boundingBox,a=S6(e.fontSize)/s.unitsPerEm,{ascender:u,descender:l}=s;return this._calculateBoundingBoxByMeasureText({width:((c=n.advanceWidth)!=null?c:0)*a,fontBoundingBoxAscent:u*a,fontBoundingBoxDescent:Math.abs(l*a),actualBoundingBoxAscent:o*a,actualBoundingBoxDescent:Math.abs(i*a)},e)}static getMeasureText(t,e){if(!this._context){const f=document.createElement("canvas");this._context=f.getContext("2d")}const n=this._context,s=this.getFontMeasureCache(e,t);if(s!=null)return s;n.font=e;const i=n.measureText(t),{width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c}=i,h={width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c};if(a==null||u==null||Number.isNaN(a)||Number.isNaN(u)){const f=this.getTextSizeByDom(U4,e).height;n.textBaseline==="top"?(h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f,h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0):n.textBaseline==="middle"?(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=f/2,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f/2):(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(e,t,h),h}static _clearMeasureCache(t,e){let n=0;for(const s of e){const[i]=s;if(n>t)break;e.delete(i),n++}return!0}static _getBoundingBoxByFont(t,e=28,n=""){const s=this._fontDataMap.get(t);if(!s)return;const{notDefWidth:i,ascender:o,descender:a,typoAscender:u,typoDescender:l,strikeoutPosition:c,subscriptSizeRatio:h,subscriptOffset:f,superscriptSizeRatio:d,superscriptOffset:_,hdmxData:m,glyphHorizonMap:v}=s,y=m==null?void 0:m.indexOf(Math.floor(e)),F=v.get(n.charCodeAt(0));let E=i;if(F){const{width:x,pixelsPerEm:T=[]}=F;y?E=T[y]:E=x}return{width:E*e,ba:o*e,bd:a*e,aba:u*e,abd:l*e,sp:c*e,sbr:h,sbo:f*e,spr:d,spo:_*e}}static _calculateBoundingBoxByMeasureText(t,e){const{width:n,fontBoundingBoxAscent:s,fontBoundingBoxDescent:i,actualBoundingBoxAscent:o,actualBoundingBoxDescent:a}=t,{fontSize:u,originFontSize:l}=e,c=l/u,h=s*c,f=i*c;return{width:n,ba:h,bd:f,aba:o,abd:a,sp:(s+i)/2,sbr:.6,spr:.6,sbo:(h+f)*.141,spo:(h+f)*.4}}}p(re,"_getTextHeightCache",{}),p(re,"_context"),p(re,"_fontDataMap",new Map),p(re,"_globalFontMeasureCache",new Map);const $4=180,Wp=Math.PI/$4,Yp=$4/Math.PI,d0="rgb(",jp="rgba(",y1=(r,t)=>r?t!=null?`${jp+r.join(",")},${t})`:`${d0+r.join(",")})`:`${d0}0,0,0)`,Vp=100,se=(r,t)=>{if(g.Tools.isNumber(r))return r;if(t&&r&&g.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const e=Number.parseFloat(r)/Vp;return t*e}return 0},Kp=16,Dt=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(r):t.requestAnimationFrame?t.requestAnimationFrame(r):t.msRequestAnimationFrame?t.msRequestAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(r):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(r):t.oRequestAnimationFrame?t.oRequestAnimationFrame(r):setTimeout(r,Kp)),H4=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(r):t.requestAnimationFrame?t.cancelAnimationFrame(r):t.msRequestAnimationFrame?t.msCancelAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(r):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(r):t.oRequestAnimationFrame?t.oCancelAnimationFrame(r):clearTimeout(r)),m6=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(t){console.error(t)}return r},qp=()=>document.createElement("img"),G4=r=>r*Yp,J1=r=>r*Wp,W2=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),g.Tools.isTablet()&&!g.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},z4=()=>g.Tools.getBrowserType()==="safari",Zp=4,X4=(r="obj",t=Zp)=>{const e=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let n="";for(let i=0;i<t;i++)n+=e[Math.round(Math.random()*(e.length-1))];const s=new Date().getTime();return`${r}_${n}_${s}`};function ve(r){return Object.prototype.toString.apply(r)}function b6(r){return ve(r)==="[object Function]"}function Jp(r){return ve(r)==="[object Date]"}function Qp(r){return ve(r)==="[object RegExp]"}function eg(r){return ve(r)==="[object Array]"}function Y2(r){return ve(r)==="[object String]"}function tg(r){return ve(r)==="[object Number]"}function ng(r){return ve(r)==="[object Object]"}function Qt(r,t){return t=10**t,Math.round(r*t)/t}function q(r,t){return Math.round(r*t)/t}const W4=11,Y4="Arial";function _t(r,t){const e=Y4,n=W4;if(!r){const f=`${n}pt ${e}`;return{fontCache:f,fontString:f,fontSize:n,originFontSize:n,fontFamily:e}}let s=g.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(s=g.FontStyleType.NORMAL);let i=g.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=g.FontStyleType.NORMAL);let o=n;r.fs&&(o=Math.ceil(r.fs));let a=o,u=e;if(r.ff){let f=r.ff;f=f.replace(/"/g,"").replace(/'/g,""),f.indexOf(" ")>-1&&(f=`"${f}"`),f==null&&(f=e),u=f}const{va:l}=r;if(l===g.BaselineOffset.SUBSCRIPT||l===g.BaselineOffset.SUPERSCRIPT){const f=re.getBaselineOffsetInfo(u,a),{sbr:d,spr:_}=f;a*=l===g.BaselineOffset.SUBSCRIPT?d:_}const c=`${s} ${i} ${a}pt ${u}`,h=`${c}, ${wt} `;return{fontCache:c,fontString:h,fontSize:a,originFontSize:o,fontFamily:u}}const rg=zp().toRegExp();function vt(r){return rg.test(r)}const sg=Gp().toRegExp();function Bt(r){return sg.test(r)}const ig=Xp().toRegExp();function j2(r){return ig.test(r)}function og(r){return!!/[\u0000-\u024F]/gi.exec(r)}function ag(r){return!!/[\u0000-\u007F]/gi.exec(r)}function ug(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function lg(r){return!!/[\u0100-\u017F]/gi.exec(r)}function cg(r){return!!/[\u0180-\u024F]/gi.exec(r)}const e2=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/g,hg=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/;function t2(r){return hg.test(r)}function y6(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function F6(r){return/[\u0180-\u024F]/gi.test(r)}function j4(r){return/\s+/g.test(r)}function D2(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function _2(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function C6(r){return["・","·"].indexOf(r)>-1}const p0=1e3;let Nt;function Ot(){if(Nt)return Nt;let r=56;for(;r<p0*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return Nt=r,setTimeout(()=>{Nt=null},p0),r}const V4=72,fg=25.4;function dg(r){return r/(V4/Ot())}function pg(r){return r*(V4/Ot())}function gg(r){return r*(Ot()/fg)}function Dg(r){return r*Ot()}function E6(r){const{scaleX:t=1,scaleY:e=1}=r;return Math.max(t,e)}function Be(r,t,e,n){const s=r-1,i=t-1,o=e[s]||0;let a=e[r];a==null&&(a=e[e.length-1]);const u=n[i]||0;let l=n[t];return l==null&&(l=n[n.length-1]),{startY:o,endY:a,startX:u,endX:l}}function Xe(r,t,e,n,s){let{startY:i,endY:o,startX:a,endX:u}=Be(r,t,e,n);const{isMerged:l,isMergedMainCell:c,startRow:h,startColumn:f,endRow:d,endColumn:_}=mt(r,t,s);let m={startRow:h,startColumn:f,endRow:d,endColumn:_,startY:0,endY:0,startX:0,endX:0};const v=e.length-1,y=n.length-1;if(l&&h!==-1&&f!==-1){const F=e[h-1]||0,E=e[d]||e[v],x=n[f-1]||0,T=n[_]||n[y];m={...m,startY:F,endY:E,startX:x,endX:T}}else if(!l&&d!==-1&&_!==-1){const F=e[d]||e[v],E=n[_]||n[y];m={...m,startY:i,endY:F,startX:a,endX:E}}return{isMerged:l,isMergedMainCell:c,actualRow:r,actualColumn:t,startY:i,endY:o,startX:a,endX:u,mergeInfo:m}}function mt(r,t,e){let n=!1,s=!1,i=r,o=t,a=r,u=t;if(e==null)return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:o,startRow:a,startColumn:u};for(let l=0;l<e.length;l++){const{startRow:c,endRow:h,startColumn:f,endColumn:d}=e[l];if(r===c&&t===f){i=h,o=d,a=c,u=f,s=!0;break}if(r>=c&&r<=h&&t>=f&&t<=d){i=h,o=d,a=c,u=f,n=!0;break}}return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:o,startRow:a,startColumn:u}}function K4(r,t,e,n){let s=!1;for(let i=t;i<=e;i++){const{isMerged:o,isMergedMainCell:a}=mt(r,i,n);if(!o&&!a){s=!0;break}}return s}function V2(r,t,e){const{startY:n,endY:s,startX:i,endX:o}=r;return r.startY=n+e,r.endY=s+e,r.startX=i+t,r.endX=o+t,{...r}}function q4(r,t){return!(r.left>t.right||r.top>t.bottom||t.left>r.right||t.top>r.bottom)}function _g(r){const t=document.createElement("style");document.head.appendChild(t);const e=t.sheet;for(const n of r)e==null||e.insertRule(n,e.cssRules.length)}function vg(r){for(let t=0,e=document.head.childNodes.length;t<e;t++){const n=document.head.childNodes[t];if(n.nodeName==="STYLE"&&n.textContent&&n.textContent.indexOf(r)>-1)return!0}return!1}function Te(r){return Number(r.replace(/px/gi,""))}function Z4(r){const t=getComputedStyle(r),{borderTopWidth:e,borderLeftWidth:n,borderRightWidth:s,borderBottomWidth:i,width:o,height:a}=t;return{top:Te(e),left:Te(n),right:Te(s),bottom:Te(i),width:Te(o),height:Te(a)}}const J4=.75;function S6(r){return r/J4}function mg(r){return r*J4}class M{constructor(t=0,e=0){this.x=t,this.y=e}static Zero(){return new M(0,0)}static One(){return new M(1,1)}static FromArray(t,e=0){return new M(t[e],t[e+1])}static FromArrayToRef(t,e,n){n.x=t[e],n.y=t[e+1]}static CatmullRom(t,e,n,s,i){const o=i*i,a=i*o,u=.5*(2*e.x+(-t.x+n.x)*i+(2*t.x-5*e.x+4*n.x-s.x)*o+(-t.x+3*e.x-3*n.x+s.x)*a),l=.5*(2*e.y+(-t.y+n.y)*i+(2*t.y-5*e.y+4*n.y-s.y)*o+(-t.y+3*e.y-3*n.y+s.y)*a);return new M(u,l)}static Clamp(t,e,n){let s=t.x;s=s>n.x?n.x:s,s=s<e.x?e.x:s;let i=t.y;return i=i>n.y?n.y:i,i=i<e.y?e.y:i,new M(s,i)}static Hermite(t,e,n,s,i){const o=i*i,a=i*o,u=2*a-3*o+1,l=-2*a+3*o,c=a-2*o+i,h=a-o,f=t.x*u+n.x*l+e.x*c+s.x*h,d=t.y*u+n.y*l+e.y*c+s.y*h;return new M(f,d)}static Hermite1stDerivative(t,e,n,s,i){const o=M.Zero();return this.Hermite1stDerivativeToRef(t,e,n,s,i,o),o}static Hermite1stDerivativeToRef(t,e,n,s,i,o){const a=i*i;o.x=(a-i)*6*t.x+(3*a-4*i+1)*e.x+(-a+i)*6*n.x+(3*a-2*i)*s.x,o.y=(a-i)*6*t.y+(3*a-4*i+1)*e.y+(-a+i)*6*n.y+(3*a-2*i)*s.y}static Lerp(t,e,n){const s=t.x+(e.x-t.x)*n,i=t.y+(e.y-t.y)*n;return new M(s,i)}static Dot(t,e){return t.x*e.x+t.y*e.y}static Normalize(t){const e=M.Zero();return this.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){const n=t.length();n!==0&&(e.x=t.x/n,e.y=t.y/n)}static Minimize(t,e){const n=t.x<e.x?t.x:e.x,s=t.y<e.y?t.y:e.y;return new M(n,s)}static Maximize(t,e){const n=t.x>e.x?t.x:e.x,s=t.y>e.y?t.y:e.y;return new M(n,s)}static PointInTriangle(t,e,n,s){const i=.5*(-n.y*s.x+e.y*(-n.x+s.x)+e.x*(n.y-s.y)+n.x*s.y),o=i<0?-1:1,a=(e.y*s.x-e.x*s.y+(s.y-e.y)*t.x+(e.x-s.x)*t.y)*o,u=(e.x*n.y-e.y*n.x+(e.y-n.y)*t.x+(n.x-e.x)*t.y)*o;return a>0&&u>0&&a+u<2*i*o}static Distance(t,e){return Math.sqrt(M.DistanceSquared(t,e))}static DistanceSquared(t,e){const n=t.x-e.x,s=t.y-e.y;return n*n+s*s}static Center(t,e){return M.CenterToRef(t,e,M.Zero())}static CenterToRef(t,e,n){return n.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2)}static DistanceOfPointFromSegment(t,e,n){const s=M.DistanceSquared(e,n);if(s===0)return M.Distance(t,e);const i=n.subtract(e),o=Math.max(0,Math.min(1,M.Dot(t.subtract(e),i)/s)),a=e.add(i.multiplyByFloats(o,o));return M.Distance(t,a)}static create(t,e){return new M(t,e)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let t=this.x|0;return t=t*397^(this.y|0),t}toArray(t,e=0){return t[e]=this.x,t[e+1]=this.y,this}fromArray(t,e=0){return M.FromArrayToRef(t,e,this),this}asArray(){const t=new Array;return this.toArray(t,0),t}copyFrom(t){return this.x=t.x,this.y=t.y,this}copyFromFloats(t,e){return this.x=t,this.y=e,this}set(t,e){return this.copyFromFloats(t,e)}add(t){return new M(this.x+t.x,this.y+t.y)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,this}addByPoint(t,e){return new M(this.x+t,this.y+e)}addInPlace(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return new M(this.x-t.x,this.y-t.y)}subtractByPoint(t,e){return new M(this.x-t,this.y-e)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,this}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this}multiply(t){return new M(this.x*t.x,this.y*t.y)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,this}multiplyByFloats(t,e){return new M(this.x*t,this.y*e)}divide(t){return new M(this.x/t.x,this.y/t.y)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,this}divideInPlace(t){return this.divideToRef(t,this)}negate(){return new M(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(t){return t.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(t){return this.x*=t,this.y*=t,this}scale(t){const e=new M(0,0);return this.scaleToRef(t,e),e}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,this}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,this}equals(t){return t&&this.x===t.x&&this.y===t.y}floor(){return new M(Math.floor(this.x),Math.floor(this.y))}fract(){return new M(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(t){const e=Math.cos(t),n=Math.sin(t),s=e*this.x-n*this.y,i=n*this.x+e*this.y;return this.x=s,this.y=i,this}rotateToRef(t,e){const n=Math.cos(t),s=Math.sin(t);return e.x=n*this.x-s*this.y,e.y=s*this.x+n*this.y,this}rotateByPoint(t,e=M.create(0,0)){const n=Math.cos(t),s=Math.sin(t),i=e.x+(this.x-e.x)*n-(this.y-e.y)*s,o=e.y+(this.x-e.x)*s+(this.y-e.y)*n;return this.x=i,this.y=o,this}transformCoordinateOnRotate(t){const e=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),s=-t+n;return this.x=e*Math.cos(s),this.y=e*Math.sin(s),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return M.NormalizeToRef(this,this),this}clone(){return new M(this.x,this.y)}}const Yt=[1,0,0,1,0,0];class D1{constructor(t=Yt){p(this,"dirty",!1);p(this,"_m");this._m=t&&t.slice()||Yt}static create(t=Yt){return new this(t)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new D1(this._m)}copyInto(t){t._m[0]=this._m[0],t._m[1]=this._m[1],t._m[2]=this._m[2],t._m[3]=this._m[3],t._m[4]=this._m[4],t._m[5]=this._m[5]}applyPoint(t,e=!1){const n=this._m,s=n[0]*t.x+n[2]*t.y,i=n[1]*t.x+n[3]*t.y;return e?new M(s,i):new M(s+n[4],i+n[5])}translate(t,e){return this._m[4]+=this._m[0]*t+this._m[2]*e,this._m[5]+=this._m[1]*t+this._m[3]*e,this}scale(t,e){return this._m[0]*=t,this._m[1]*=t,this._m[2]*=e,this._m[3]*=e,this}rotate(t){const e=J1(t),n=Math.cos(e),s=Math.sin(e),i=this._m[0]*n+this._m[2]*s,o=this._m[1]*n+this._m[3]*s,a=this._m[0]*-s+this._m[2]*n,u=this._m[1]*-s+this._m[3]*n;return this._m[0]=i,this._m[1]=o,this._m[2]=a,this._m[3]=u,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(t,e){const n=this._m[0]+this._m[2]*e,s=this._m[1]+this._m[3]*e,i=this._m[2]+this._m[0]*t,o=this._m[3]+this._m[1]*t;return this._m[0]=n,this._m[1]=s,this._m[2]=i,this._m[3]=o,this}multiply(t){const e=this._m[0]*t._m[0]+this._m[2]*t._m[1],n=this._m[1]*t._m[0]+this._m[3]*t._m[1],s=this._m[0]*t._m[2]+this._m[2]*t._m[3],i=this._m[1]*t._m[2]+this._m[3]*t._m[3],o=this._m[0]*t._m[4]+this._m[2]*t._m[5]+this._m[4],a=this._m[1]*t._m[4]+this._m[3]*t._m[5]+this._m[5];return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}invert(){const t=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),e=this._m[3]*t,n=-this._m[1]*t,s=-this._m[2]*t,i=this._m[0]*t,o=t*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),a=t*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}getMatrix(){return this._m}getMatrixByAccurate(t=3){return this._m.map(e=>Qt(e,t))}setAbsolutePosition(t){const e=this._m[0],n=this._m[1],s=this._m[2],i=this._m[3],o=this._m[4],a=this._m[5],u=(e*(t.y-a)-n*(t.x-o))/(e*i-n*s),l=(t.x-o-s*u)/e;return this.translate(l,u)}decompose(){const t=this._m[0],e=this._m[1],n=this._m[2],s=this._m[3],i=this._m[4],o=this._m[5],a=t*s-e*n,u={x:i,y:o,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!==0||e!==0){const l=Math.sqrt(t*t+e*e);u.angle=e>0?Math.acos(t/l):-Math.acos(t/l),u.scaleX=l,u.scaleY=a/l,u.skewX=(t*n+e*s)/a,u.skewY=0}else if(n!==0||s!==0){const l=Math.sqrt(n*n+s*s);u.angle=Math.PI/2-(s>0?Math.acos(-n/l):-Math.acos(n/l)),u.scaleX=a/l,u.scaleY=l,u.skewX=0,u.skewY=(t*n+e*s)/a}return u.angle=G4(u.angle),u}makeBoundingBoxFromPoints(t){if(this)for(let c=0;c<t.length;c++)t[c]=this.applyPoint(t[c]);const e=[t[0].x,t[1].x,t[2].x,t[3].x],n=Math.min(...e),i=Math.max(...e)-n,o=[t[0].y,t[1].y,t[2].y,t[3].y],a=Math.min(...o),l=Math.max(...o)-a;return{left:n,top:a,width:i,height:l,points:t}}composeMatrix(t){const e=new D1([1,0,0,1,t.left||0,t.top||0]);return t.angle&&e.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&e.multiply(this._calcDimensionsMatrix(t)),this._m=e.getMatrix(),this}clone(){return new D1([...this._m])}_calcDimensionsMatrix(t){var i,o;const e=(i=t.scaleX)!=null?i:1,n=(o=t.scaleY)!=null?o:1,s=new D1([t.flipX?-e:e,0,0,t.flipY?-n:n,0,0]);return t.skewX&&s.multiply(new D1([1,0,Math.tan(J1(t.skewX)),1,0,0])),t.skewY&&s.multiply(new D1([1,Math.tan(J1(t.skewY)),0,1,0,0])),s}}const n2=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class ue{constructor(t){p(this,"groupKey");p(this,"isInGroup",!1);p(this,"onTransformChangeObservable",new g.Observable);p(this,"onPointerDownObserver",new g.Observable);p(this,"onPointerMoveObserver",new g.Observable);p(this,"onPointerUpObserver",new g.Observable);p(this,"onDblclickObserver",new g.Observable);p(this,"onTripleClickObserver",new g.Observable);p(this,"onMouseWheelObserver",new g.Observable);p(this,"onPointerOutObserver",new g.Observable);p(this,"onPointerLeaveObserver",new g.Observable);p(this,"onPointerOverObserver",new g.Observable);p(this,"onPointerEnterObserver",new g.Observable);p(this,"onIsAddedToParentObserver",new g.Observable);p(this,"onDisposeObserver",new g.Observable);p(this,"_oKey");p(this,"_dirty",!0);p(this,"_top",0);p(this,"_topOrigin",0);p(this,"_left",0);p(this,"_leftOrigin",0);p(this,"_width",0);p(this,"_widthOrigin",0);p(this,"_height",0);p(this,"_heightOrigin",0);p(this,"_angle",0);p(this,"_scaleX",1);p(this,"_scaleY",1);p(this,"_skewX",0);p(this,"_skewY",0);p(this,"_flipX",!1);p(this,"_flipY",!1);p(this,"_strokeWidth",0);p(this,"_parent");p(this,"_zIndex",0);p(this,"_evented",!0);p(this,"_visible",!0);p(this,"_debounceParentDirty",!0);p(this,"_transform",new D1);p(this,"_cursor",f1.DEFAULT);p(this,"_isTransformer",!1);p(this,"_forceRender",!1);p(this,"_layer");t?this._oKey=t:this._oKey=X4()}get transform(){return this._transform}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return V.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get isTransformer(){return this._isTransformer}get cursor(){return this._cursor}get layer(){return this._layer}set transform(t){this._transform=t}set zIndex(t){this._zIndex=t}set parent(t){this._parent=t}set evented(t){this._evented=t}set debounceParentDirty(t){this._debounceParentDirty=t}set isTransformer(t){this._isTransformer=t}set cursor(t){this.setCursor(t)}set layer(t){this._layer=t}set top(t){var e;this._topOrigin=t,this._top=se(t,(e=this._parent)==null?void 0:e.height)}set left(t){var e;this._leftOrigin=t,this._left=se(t,(e=this._parent)==null?void 0:e.width)}set width(t){var e;this._widthOrigin=t,this._width=se(t,(e=this._parent)==null?void 0:e.width)}set height(t){var e;this._heightOrigin=t,this._height=se(t,(e=this._parent)==null?void 0:e.height)}set strokeWidth(t){this._strokeWidth=t}set angle(t){this._angle=t}set scaleX(t){this._scaleX=t}set scaleY(t){this._scaleY=t}set skewX(t){this._skewX=t}set flipY(t){this._flipY=t}set flipX(t){this._flipX=t}set skewY(t){this._skewY=t}makeDirty(t=!0){if(this._dirty=t,t){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(t)}return this}makeDirtyNoDebounce(t=!0){var e;return this._dirty=t,t&&((e=this._layer)==null||e.makeDirty(t)),this}isDirty(){return this._dirty}translate(t,e){const n=this.top;e!==void 0&&(this.top=e);const s=this.left;return t!==void 0&&(this.left=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:s}}),this}resize(t,e){const n=this.width;t!==void 0&&(this.width=t);const s=this.height;return e!==void 0&&(this.height=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:s}}),this}scale(t,e){const n=this.scaleX;t!==void 0&&(this.scaleX=t);const s=this.scaleY;return e!==void 0&&(this.scaleY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:s}}),this}skew(t,e){const n=t;t!==void 0&&(this.skewX=t);const s=e;return e!==void 0&&(this.skewY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:s}}),this}flip(t,e){const n=t;t!==void 0&&(this.flipX=t);const s=e;return e!==void 0&&(this.flipY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:s}}),this}transformByState(t){const e=Object.keys(t),n={};if(e.length!==0)return e.forEach(s=>{t[s]!==void 0&&(n[s]=this[s],this[s]=t[s])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.all,value:t,preValue:n}),this}isRender(t){return this._forceRender?!1:t&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(t,e){}isHit(t){const e=this._getInverseCoord(t);return e.x>=-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2&&e.y>=-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2}on(t,e){return this[`on${t}Observer`].add(e.bind(this))}off(t,e){this[`on${t}Observer`].remove(e)}clear(t){this[`on${t}Observer`].clear()}triggerPointerMove(t){var e,n;return(e=this.onPointerMoveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerMove(t),!1)}triggerPointerDown(t){var e,n;return(e=this.onPointerDownObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerDown(t),!1)}triggerPointerUp(t){var e,n;return(e=this.onPointerUpObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerUp(t),!1)}triggerDblclick(t){var e,n;return(e=this.onDblclickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerDblclick(t),!1)}triggerTripleClick(t){var e,n;return(e=this.onTripleClickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerTripleClick(t),!1)}triggerMouseWheel(t){var e,n;return(e=this.onMouseWheelObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerMouseWheel(t),!1)}triggerPointerOut(t){var e,n;return(e=this.onPointerOutObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerOut(t),!1)}triggerPointerLeave(t){var e,n;return(e=this.onPointerLeaveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerLeave(t),!1)}triggerPointerOver(t){var e;return this.onPointerOverObserver.notifyObservers(t)?!0:((e=this._parent)==null||e.triggerPointerOver(t),!1)}triggerPointerEnter(t){var e,n;return(e=this.onPointerEnterObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerEnter(t),!1)}dispose(){var t;this.onTransformChangeObservable.clear(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onMouseWheelObserver.clear(),this.onPointerOutObserver.clear(),this.onPointerLeaveObserver.clear(),this.onPointerOverObserver.clear(),this.onPointerEnterObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onIsAddedToParentObserver.clear(),(t=this.parent)==null||t.removeObject(this),this.onDisposeObserver.notifyObservers(this),this._makeDirtyMix(),this.onDisposeObserver.clear(),this._parent=null,this._layer=null,this.transform=null}toJson(){const t={};return n2.forEach(e=>{this[e]&&(t[e]=this[e])}),t}getScene(){let t=this.parent;if(t!=null){if(t.classType===V.SCENE)return t;for(;t;){if(t.classType===V.SCENE)return t;t=t.getParent()}}}resetCursor(){var t;(t=this.getScene())==null||t.resetCursor()}setCursor(t){var e;this._cursor=t,(e=this.getScene())==null||e.setCursor(t)}getEngine(){let t=this.getParent();for(;t!=null;){if(t.classType===V.ENGINE)return t;t=t.getParent()}return null}getObjects(){return[]}_getInverseCoord(t){return this._transform.clone().invert().applyPoint(t)}_setTransForm(){const t=D1.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY});this.transform=t,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}}var Q4=(r=>(r[r.GLYPH=0]="GLYPH",r[r.DIVIDE=1]="DIVIDE",r[r.LINE=2]="LINE",r[r.COLUMN=3]="COLUMN",r[r.SECTION=4]="SECTION",r[r.PAGE=5]="PAGE",r[r.DRAWING=6]="DRAWING",r[r.BULLET=7]="BULLET",r[r.HEADER=8]="HEADER",r[r.FOOTER=9]="FOOTER",r[r.ALL=10]="ALL",r))(Q4||{}),Ke=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(Ke||{}),Rt=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(Rt||{}),x1=(r=>(r[r.LETTER=0]="LETTER",r[r.WORD=1]="WORD",r[r.LIST=2]="LIST",r[r.PLACEHOLDER=3]="PLACEHOLDER",r[r.TAB=4]="TAB",r[r.IMAGE=5]="IMAGE",r[r.AT=6]="AT",r[r.MATH=7]="MATH",r[r.MULTI_LINE=8]="MULTI_LINE",r[r.CUSTOM=9]="CUSTOM",r))(x1||{}),Q1=(r=>(r[r.VERTICAL=0]="VERTICAL",r[r.HORIZONTAL=1]="HORIZONTAL",r[r.AUTO=2]="AUTO",r))(Q1||{});function bg(r){var n;const t=r==null?void 0:r.parent;return t==null?!1:((n=t.glyphGroup[0])==null?void 0:n.glyphType)===x1.LIST}function yg(r,t){const e=e7(r,t);if(e==null)return!1;const{paragraphStyle:n}=e;return n==null?!1:g.checkParagraphHasIndentByStyle(n)}function Fg(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r);if(s.indexOf(t)===s.length-1&&i===n.length-1)return!0}return!1}function Cg(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r),o=s.indexOf(t);if(o===0&&i===0||o===0&&i===1&&n[0].glyphType===x1.LIST)return!0}return!1}function e7(r,t){var s;const e=(s=r==null?void 0:r.parent)==null?void 0:s.parent;if(e==null||t==null)return;const n=t.paragraphs;if(n!=null){for(const i of n)if(i.startIndex===e.paragraphIndex)return i}}function Eg(r){return r==null?!1:[g.DataStreamTreeTokenType.PARAGRAPH,g.DataStreamTreeTokenType.TAB,g.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===g.DataStreamTreeTokenType.SPACE}function Sg(r,t){return r==null||t==null||r.parent==null||t.parent==null?!1:r.parent.parent===t.parent.parent}function T6(){let r=1;const e=m6().getContext("2d");return r=(()=>{const n=window.devicePixelRatio||1,s=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return n/s})(),r<1?1:r}function x6(r,t,e,n){let s=0,i=0,o=0,a=0;const{startX:u,startY:l,endX:c,endY:h}=n;t===K.TOP?(s=u-e,i=l,o=c+e,a=l):t===K.BOTTOM?(s=u-e,i=h,o=c-e,a=h):t===K.LEFT?(s=u,i=l-e,o=u,a=h+e):t===K.RIGHT&&(s=c,i=l-e,o=c,a=h+e),r.beginPath(),r.moveToByPrecision(s,i),r.lineToByPrecision(o,a),r.closePathByEnv(),r.stroke()}function t7(r,t,e){let n=0,s=0,i=0,o=0;const{startX:a,startY:u,endX:l,endY:c}=e;t===K.TL_BR?(n=a,s=u,i=l,o=c):t===K.TL_BC?(n=a,s=u,i=(a+l)/2,o=c):t===K.TL_MR?(n=a,s=u,i=l,o=(u+c)/2):t===K.BL_TR?(n=a,s=c,i=l,o=u):t===K.ML_TR?(n=a,s=(u+c)/2,i=l,o=u):t===K.BC_TR&&(n=(a+l)/2,s=c,i=l,o=u),r.beginPath(),r.moveToByPrecision(n,s),r.lineToByPrecision(i,o),r.closePathByEnv(),r.stroke()}function Tg(r,t,e){let n=0,s=0,i=0,o=0;const{startX:a,startY:u,endX:l,endY:c}=e;t===K.TOP?(n=a,s=u,i=l,o=u):t===K.BOTTOM?(n=a,s=c,i=l,o=c):t===K.LEFT?(n=a,s=u,i=a,o=c):t===K.RIGHT&&(n=l,s=u,i=l,o=c),r.beginPath(),r.clearRectForTexture(n,s,i-n,o-s)}function w6(r,t){t===g.BorderStyleTypes.HAIR?r.setLineDash([1,2]):t===g.BorderStyleTypes.DASH_DOT_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):t===g.BorderStyleTypes.DASH_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT||t===g.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):t===g.BorderStyleTypes.DOTTED?r.setLineDash([2]):t===g.BorderStyleTypes.DASHED||t===g.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function n7(){const r=r7(1);return r-Math.floor(r)}function r7(r){return Math.ceil(r/T6()*100)/100}function B6(r){let t=1;return r===g.BorderStyleTypes.MEDIUM||r===g.BorderStyleTypes.MEDIUM_DASH_DOT||r===g.BorderStyleTypes.MEDIUM_DASHED||r===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?t=2:r===g.BorderStyleTypes.THICK&&(t=3),t}function je(r,t,e,n,s=M.create(0,0)){const i=r.add(t).rotateByPoint(n),o=i.subtract(t),a=n-e;return o.rotateByPoint(a,i).add(s).transformCoordinateOnRotate(a)}function s7(r){return r>0?gt.DOWN:gt.UP}function O6(r,t,e){var _;const n=[];let s=0,i=0,o=0,a=0,u=0;const l=s7(e),c=r.length;e=Math.abs(e);const h=Math.tan(e),f=Math.sin(e),d=Math.cos(e);if(l===gt.UP){let m=0;for(let v=0;v<c;v++){const y=r[v],{lineHeight:F=0}=y;m+=v===0?0:F;const E=t*f+F*d;n.push(m/h),E>i&&(i=E),v===0&&(o+=F*f,u+=F*d)}o+=m/f+t*d,u-=i}else{let m=0,v=-1;const y=[];for(let x=c-1;x>=0;x--){const T=r[x],{lineHeight:B=0}=T,w=B/h,S=(t+w)*f;y.unshift(B/h),S>i&&(i=S,m=w,v=x),x===0?o+=B*f:x===c-1?o+=t*d+B/f:o+=B/f}let F=((_=r[v])==null?void 0:_.lineHeight)||0,E=0;for(let x=v+1;x<=c-1;x++){const T=r[x],{lineHeight:B=0}=T;F+=B,E+=y[x]||0,n[x]=-E}E=0;for(let x=v-1;x>=0;x--){const T=r[x],{lineHeight:B=0}=T;E+=y[x+1]||0,n[x]=E,s+=B}n[v]=0,c===1&&(o+=t*d),a=F/f-m*d}return{rotateTranslateXList:n,rotatedHeight:i,rotatedWidth:o,fixOffsetX:a,fixOffsetY:u,rotateTranslateY:s}}function xg(){const r=.5-n7();return{left:r,top:r}}var i7=(r=>(r[r.PointerMove=0]="PointerMove",r[r.PointerDown=1]="PointerDown",r[r.PointerUp=2]="PointerUp",r[r.Dblclick=3]="Dblclick",r[r.Keyboard=4]="Keyboard",r))(i7||{});class jt{}p(jt,"DOM_DELTA_PIXEL",0),p(jt,"DOM_DELTA_LINE",1),p(jt,"DOM_DELTA_PAGE",2);var B1=(r=>(r[r.Generic=0]="Generic",r[r.Keyboard=1]="Keyboard",r[r.Mouse=2]="Mouse",r[r.Touch=3]="Touch",r))(B1||{}),X=(r=>(r[r.Horizontal=0]="Horizontal",r[r.Vertical=1]="Vertical",r[r.LeftClick=2]="LeftClick",r[r.MiddleClick=3]="MiddleClick",r[r.RightClick=4]="RightClick",r[r.BrowserBack=5]="BrowserBack",r[r.BrowserForward=6]="BrowserForward",r[r.MouseWheelX=7]="MouseWheelX",r[r.MouseWheelY=8]="MouseWheelY",r[r.MouseWheelZ=9]="MouseWheelZ",r[r.DeltaHorizontal=10]="DeltaHorizontal",r[r.DeltaVertical=11]="DeltaVertical",r[r.FakeMove=12]="FakeMove",r))(X||{});const o7=[new M(0,0),new M(1,1)];class a7{constructor(t=o7){this._lines=t}intersection(t){if(this._lines.length<1||t.length<1)return;const e=[];for(let n=1;n<this._lines.length;n++){const s=this._lines[n-1],i=this._lines[n];for(let o=1;o<t.length;o++){const a=this._lines[n-1],u=this._lines[n],l=this._intersection({from:s,to:i},{from:a,to:u});l&&e.push(l)}}return e}_intersection(t,e){const n=t.from,s=t.to,i=e.from,o=e.to,a=(n.x-i.x)*(s.y-i.y)-(n.y-i.y)*(s.x-i.x),u=(n.x-o.x)*(s.y-o.y)-(n.y-o.y)*(s.x-o.x);if(a*u>=0)return!1;const l=(i.x-n.x)*(o.y-n.y)-(i.y-n.y)*(o.x-n.x),c=l+a-u;if(l*c>=0)return!1;const h=l/(u-a),f=h*(s.x-n.x),d=h*(s.y-n.y);return new M(n.x+f,n.y+d)}}class u7{constructor(t=30){p(this,"_enabled",!0);p(this,"_rollingFrameTime");p(this,"_lastFrameTimeMs");this._rollingFrameTime=new l7(t)}get averageFrameTime(){return this._rollingFrameTime.average}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return 1e3/this._rollingFrameTime.average}get instantaneousFPS(){const t=this._rollingFrameTime.history(0);return t===0?0:1e3/t}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(t=this.Now()){if(this._enabled){if(this._lastFrameTimeMs!=null){const e=t-this._lastFrameTimeMs;this._rollingFrameTime.add(e)}this._lastFrameTimeMs=t}}Now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}}class l7{constructor(t){p(this,"average",0);p(this,"variance",0);p(this,"_samples",[]);p(this,"_sampleCount",0);p(this,"_pos",0);p(this,"_m2",0);this._samples=new Array(t),this.reset()}add(t){let e;if(this.isSaturated()){const n=this._samples[this._pos];e=n-this.average,this.average-=e/(this._sampleCount-1),this._m2-=e*(n-this.average)}else this._sampleCount++;e=t-this.average,this.average+=e/this._sampleCount,this._m2+=e*(t-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=t,this._pos++,this._pos%=this._samples.length}history(t){if(t>=this._sampleCount||t>=this._samples.length)return 0;const e=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(e-t)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(t){const e=this._samples.length;return(t%e+e)%e}}const bt={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var ft=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(ft||{});function We(r){const t=r.getScene(),e=r.getViewportByCoord(t),n=0,s=0;if(!e)return{scrollX:n,scrollY:s};const i=e.getActualScroll(e.scrollX,e.scrollY);return{scrollX:i.x,scrollY:i.y}}const C1=90;function lt(r){const{a:t=0,v:e=g.BooleanNumber.FALSE}=r||{a:0,v:g.BooleanNumber.FALSE};let n=0,s=t;return e===g.BooleanNumber.TRUE&&(n=C1,s=C1),{centerAngle:n,vertexAngle:s}}class R6{constructor(t){p(this,"canvas");p(this,"_context");this._context=t,this.canvas=t.canvas}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(t){this._context.globalAlpha=t}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(t){this._context.globalCompositeOperation=t}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}get filter(){return this._context.filter}set filter(t){this._context.filter=t}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(t){this._context.imageSmoothingEnabled=t}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(t){this._context.imageSmoothingQuality=t}get lineCap(){return this._context.lineCap}set lineCap(t){this._context.lineCap=t}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(t){this._context.lineDashOffset=t}get lineJoin(){return this._context.lineJoin}set lineJoin(t){this._context.lineJoin=t}get lineWidth(){return this._context.lineWidth}set lineWidth(t){this._context.lineWidth=t}setLineWidthByPrecision(t){const{scaleX:e,scaleY:n}=this._getScale();this._context.lineWidth=t/Math.max(e,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(t){this._context.miterLimit=t}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(t){this._context.shadowBlur=t}get shadowColor(){return this._context.shadowColor}set shadowColor(t){this._context.shadowColor=t}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(t){this._context.shadowOffsetX=t}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(t){this._context.shadowOffsetY=t}get direction(){return this._context.direction}set direction(t){this._context.direction=t}get font(){return this._context.font}set font(t){this._context.font=t}get fontKerning(){return this._context.fontKerning}set fontKerning(t){this._context.fontKerning=t}get fontStretch(){return this._context.fontStretch}set fontStretch(t){this._context.fontStretch=t}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(t){this._context.fontVariantCaps=t}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(t){this._context.letterSpacing=t}get textRendering(){return this._context.textRendering}set textRendering(t){this._context.textRendering=t}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(t){this._context.wordSpacing=t}get textAlign(){return this._context.textAlign}set textAlign(t){this._context.textAlign=t}get textBaseline(){return this._context.textBaseline}set textBaseline(t){this._context.textBaseline=t}_getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...t){return this._context.isPointInStroke(...t)}createConicGradient(t,e,n){return this._context.createConicGradient(t,e,n)}roundRect(t,e,n,s,i){this._context.roundRect(t,e,n,s,i)}roundRectByPrecision(t,e,n,s,i){const{scaleX:o,scaleY:a}=this._getScale();t=q(t,o),e=q(e,a),n=q(n,o),s=q(s,a),this.roundRect(t,e,n,s,i)}getTransform(){return this._context.getTransform()}resetTransform(){this._context.resetTransform()}drawFocusIfNeeded(...t){return this._context.drawFocusIfNeeded(...t)}reset(){this._context.reset()}arc(t,e,n,s,i,o){this._context.arc(t,e,n,s,i,o)}arcByPrecision(t,e,n,s,i,o){const{scaleX:a,scaleY:u}=this._getScale();t=q(t,a),e=q(e,u),this.arc(t,e,n,s,i,o)}arcTo(t,e,n,s,i){this._context.arcTo(t,e,n,s,i)}arcToByPrecision(t,e,n,s,i){const{scaleX:o,scaleY:a}=this._getScale();t=q(t,o),e=q(e,a),n=q(n,o),s=q(s,a),this.arcTo(t,e,n,s,i)}beginPath(){this._context.beginPath()}bezierCurveTo(t,e,n,s,i,o){this._context.bezierCurveTo(t,e,n,s,i,o)}bezierCurveToByPrecision(t,e,n,s,i,o){const{scaleX:a,scaleY:u}=this._getScale();i=q(i,a),o=q(o,u),t=q(t,a),e=q(e,u),n=q(n,a),s=q(s,u),this.bezierCurveTo(t,e,n,s,i,o)}clearRect(t,e,n,s){this._context.clearRect(t,e,n,s)}clearRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.clearRect(t,e,n,s)}clip(...t){this._context.clip(...t)}closePath(){this._context.closePath()}closePathByEnv(){const e=g.Tools.getSystemType()==="Mac",s=g.Tools.getBrowserType()==="Chrome";e&&s||this._context.closePath()}createImageData(...t){if(t.length===0)throw new Error("arguments is zero");return t.length===1?this._context.createImageData(t[0]):t.length===2?this._context.createImageData(t[0],t[1]):this._context.createImageData(t[0],t[1],t[1])}createLinearGradient(t,e,n,s){return this._context.createLinearGradient(t,e,n,s)}createPattern(t,e){return this._context.createPattern(t,e)}createRadialGradient(t,e,n,s,i,o){return this._context.createRadialGradient(t,e,n,s,i,o)}drawImage(...t){const e=t,n=this._context;e.length===3?n.drawImage(t[0],t[1],t[2]):e.length===5?n.drawImage(t[0],t[1],t[2],t[3],t[4]):e.length===9&&n.drawImage(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}ellipse(t,e,n,s,i,o,a,u){this._context.ellipse(t,e,n,s,i,o,a,u)}isPointInPath(...t){return this._context.isPointInPath(...t)}fill(...t){this._context.fill(...t)}fillRect(t,e,n,s){this._context.fillRect(t,e,n,s)}fillRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.fillRect(t,e,n,s)}strokeRect(t,e,n,s){this._context.strokeRect(t,e,n,s)}strokeRectPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.strokeRect(t,e,n,s)}fillText(t,e,n,s){s?this._context.fillText(t,e,n,s):this._context.fillText(t,e,n)}fillTextPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();e=q(e,i),n=q(n,o),s?(s=q(s,i),this._context.fillText(t,e,n,s)):this._context.fillText(t,e,n)}measureText(t){return this._context.measureText(t)}getImageData(t,e,n,s){return this._context.getImageData(t,e,n,s)}lineTo(t,e){this._context.lineTo(t,e)}lineToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this.lineTo(t,e)}moveTo(t,e){this._context.moveTo(t,e)}moveToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this.moveTo(t,e)}rect(t,e,n,s){this._context.rect(t,e,n,s)}rectByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this.rect(t,e,n,s)}putImageData(t,e,n){this._context.putImageData(t,e,n)}quadraticCurveTo(t,e,n,s){this._context.quadraticCurveTo(t,e,n,s)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,e){this._context.scale(t,e)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(...t){this._context.setTransform(...t)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,e,n,s){this._context.strokeText(t,e,n,s)}strokeTextByPrecision(t,e,n,s){const{scaleX:i,scaleY:o}=this._getScale();e=q(e,i),n=q(n,o),s&&(s=q(s,i)),this.strokeText(t,e,n,s)}transform(t,e,n,s,i,o){this._context.transform(t,e,n,s,i,o)}translate(t,e){this._context.translate(t,e)}translateWithPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=q(t,n),e=q(e,s),this._context.translate(t,e)}translateWithPrecisionRatio(t,e){const{scaleX:n,scaleY:s}=this._getScale();this._context.translate(t/n,e/s)}clearRectForTexture(t,e,n,s){this.clearRectByPrecision(t,e,n,s)}setGlobalCompositeOperation(t){this._context.globalCompositeOperation=t}}class wg{}class Bg{}class c7 extends R6{}class h7 extends R6{__getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}clearRect(t,e,n,s){const{scaleX:i,scaleY:o}=this.__getScale();t=q(t,i),e=q(e,o),n=q(n,i),s=q(s,o),this._context.save(),this._context.fillStyle=y1([255,255,255]),this._context.fillRect(t,e,n,s),this._context.restore()}clearRectForTexture(t,e,n,s){}setGlobalCompositeOperation(t){}}var A6=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(A6||{});class nt{constructor(t){p(this,"isCache",!1);p(this,"_pixelRatio",1);p(this,"_canvasEle");p(this,"_context");p(this,"_width",0);p(this,"_height",0);t=t||{},this._canvasEle=m6(),this._canvasEle.style.padding="0",this._canvasEle.style.margin="0",this._canvasEle.style.border="0",this._canvasEle.style.background="transparent",this._canvasEle.style.position="absolute",this._canvasEle.style.top="0",this._canvasEle.style.left="0",this._canvasEle.style.zIndex="8",this._canvasEle.className="univer-render-canvas",this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction="none",this._canvasEle.style.outline="0";const e=this._canvasEle.getContext("2d");if(e==null)throw new Error("context is not support");t.mode===1?this._context=new h7(e):this._context=new c7(e),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setSize(t,e,n){this._pixelRatio=n||T6(),t&&(this.getCanvasEle().width=t*this._pixelRatio,this._width=this.getCanvasEle().width/this._pixelRatio,this.getCanvasEle().style.width=`${this._width}px`),e&&(this.getCanvasEle().height=e*this._pixelRatio,this._height=this.getCanvasEle().height/this._pixelRatio,this.getCanvasEle().style.height=`${this._height}px`),this.getContext().setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(t){this._width===0||this._height===0||(t<1&&(t=1),this.setSize(this._width,this._height,t))}dispose(){var t;this.clear(),(t=this._canvasEle)==null||t.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(t,e){try{return this.getCanvasEle().toDataURL(t,e)}catch{try{return this.getCanvasEle().toDataURL()}catch(s){const{message:i}=s;return console.error(`Unable to get data URL. ${i} For more info read https://universheet.net/docs/Canvas.html.`),""}}}}class Og extends nt{constructor(t={width:0,height:0}){super(t),this.setSize(t.width,t.height)}}class Rg extends nt{constructor(e={width:0,height:0}){super(e);p(this,"hitCanvas",!0);this.setSize(e.width,e.height)}}class k6 extends ue{constructor(){super(...arguments);p(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...e){const n=new g.DisposableCollection;for(const s of e)s.parent=this,this._extensions.set(s.uKey,s),n.add(g.toDisposable(()=>{this._extensions.delete(s.uKey)}));return n}getExtensionsByOrder(){const e=Array.from(this._extensions.values());return e.sort(g.sortRules),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,n){}dispose(){super.dispose();for(const e of this._extensions.values())e.dispose();this._extensions.clear()}}class I6{constructor(){p(this,"uKey","");p(this,"type");p(this,"Z_INDEX",0);p(this,"parent");p(this,"translateX",0);p(this,"translateY",0);p(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(t,e,n,s){}clearCache(){}_getScale(t){return E6(t)}dispose(){this.extensionOffset={},this.parent=null}}const Le=g.Registry.create(),L6=g.Registry.create(),P6=g.Registry.create(),rt=g.Registry.create();class M6 extends k6{constructor(t,e){super(t),this._skeleton=e}getSkeleton(){return this._skeleton}updateSkeleton(t){this._skeleton=t}render(t,e){if(!this.visible)return this.makeDirty(!1),this;t.save(),this._draw(t,e),t.restore()}getParentScale(){let{scaleX:t=1,scaleY:e=1}=this.parent;return this.parent.classType===V.SCENE_VIEWER&&(t=this.parent.ancestorScaleX||1,e=this.parent.ancestorScaleY||1),{scaleX:t,scaleY:e}}getDocuments(){}getNoMergeCellPositionByIndex(t,e){}getScrollXYByRelativeCoords(t){return{x:0,y:0}}getSelectionBounding(t,e,n,s){}_draw(t,e){}dispose(){super.dispose(),this._skeleton=null}}class N6 extends M6{_draw(t,e){this.draw(t,e)}}class Ag extends N6{constructor(e,n){super(e,n);p(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const o=s.rowColumnSegment;if(o.startColumn===-1&&o.endColumn===-1)return;const{rowHeaderWidth:a}=s;e.translateWithPrecision(a,0);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>i&&n.y>=0&&n.y<=o}_initialDefaultExtension(){P6.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var f7=(r=>(r[r.GRID=0]="GRID",r))(f7||{});class me extends I6{constructor(){super(...arguments);p(this,"type",0)}getCellIndex(e,n,s,i,o){return Xe(e,n,s,i,o)}isRenderDiffRangesByCell(e,n){if(n==null||n.length===0)return!0;for(const s of n){const{startRow:i,startColumn:o,endRow:a,endColumn:u}=s;if(g.Rectangle.intersects(s,{startRow:i,endRow:a,startColumn:o,endColumn:u}))return!0}return!1}isRenderDiffRangesByColumn(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startColumn:o,endColumn:a}=i;if(g.Rectangle.intersects({startRow:0,endRow:0,startColumn:e,endColumn:n},{startRow:0,endRow:0,startColumn:o,endColumn:a}))return!0}return!1}isRenderDiffRangesByRow(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startRow:o,endRow:a}=i;if(g.Rectangle.intersects({startRow:e,endRow:n,startColumn:0,endColumn:0},{startRow:o,endRow:a,startColumn:0,endColumn:0}))return!0}return!1}}const kg="DefaultBackgroundExtension",Ig=40,Lg=20;let d7=class extends me{constructor(){super(...arguments);p(this,"uKey",kg);p(this,"Z_INDEX",Ig);p(this,"PRINTING_Z_INDEX",Lg)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,n,s,i){const{stylesCache:o}=s,{background:a,backgroundPositions:u}=o;if(!s)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;!l||!h||c===void 0||f===void 0||(e.save(),e.setGlobalCompositeOperation("destination-over"),a&&Object.keys(a).forEach(d=>{const _=a[d];e.fillStyle=d||y1([255,255,255]),e.beginPath(),_.forValue((m,v)=>{const y=u==null?void 0:u.getValue(m,v);if(y==null)return!0;let{startY:F,endY:E,startX:x,endX:T}=y;const{isMerged:B,isMergedMainCell:w,mergeInfo:S}=y;if(B||!this.isRenderDiffRangesByCell({startRow:S.startRow,endRow:S.endRow,startColumn:S.startColumn,endColumn:S.endColumn},i))return!0;w&&(F=S.startY,E=S.endY,x=S.startX,T=S.endX),e.moveToByPrecision(x,F),e.lineToByPrecision(x,E),e.lineToByPrecision(T,E),e.lineToByPrecision(T,F)}),e.closePath(),e.fill()}),e.restore())}};Le.add(d7);const Pg="DefaultBorderExtension",Mg=50;let p7=class extends me{constructor(){super(...arguments);p(this,"uKey",Pg);p(this,"Z_INDEX",Mg)}draw(e,n,s,i){const{dataMergeCache:o,stylesCache:a,overflowCache:u}=s,{border:l}=a;if(!s)return;const{rowHeightAccumulation:c,columnTotalWidth:h,columnWidthAccumulation:f,rowTotalHeight:d}=s;if(!c||!f||h===void 0||d===void 0)return;e.save();let _,m;e.translateWithPrecisionRatio(g1,g1);const v=this._getScale(e.getScale());l==null||l.forValue((y,F,E)=>{if(!E)return!0;const x=this.getCellIndex(y,F,c,f,o),{startY:T,endY:B,startX:w,endX:S}=x,{isMerged:R,isMergedMainCell:A,mergeInfo:k}=x;if(!this.isRenderDiffRangesByRow(k.startRow,k.endRow,i))return!0;for(const I in E){const{type:P,style:L,color:U}=E[I];if(L===g.BorderStyleTypes.NONE)continue;let H=T,z=B,$=w,W=S;if(P!==K.TOP&&P!==K.BOTTOM&&P!==K.LEFT&&P!==K.RIGHT){if(R)return!0;A&&(H=k.startY,z=k.endY,$=k.startX,W=k.endX)}const Q=B6(L);L!==_&&(w6(e,L),e.setLineWidthByPrecision(Q),_=L),U!==m&&(e.strokeStyle=U||De,m=U),t7(e,P,{startX:$,startY:H,endX:W,endY:z}),!this._getOverflowExclusion(u,P,y,F)&&x6(e,P,(Q-1)/2/v,{startX:$,startY:H,endX:W,endY:z})}}),e.closePath(),e.restore()}_getOverflowExclusion(e,n,s,i){let o=!1;return n===K.TOP||n===K.BOTTOM||e==null||e.forRow((a,u)=>{if(a!==s)return!0;u.forEach(l=>{const c=e.getValue(a,l),{startColumn:h,endColumn:f}=c;if(n===K.LEFT&&i>h&&i<=f||n===K.RIGHT&&i>=h&&i<f)return o=!0,!1})}),o}};Le.add(p7);const Ng="DefaultColumnHeaderLayoutExtension";class g7 extends me{constructor(){super(...arguments);p(this,"uKey",Ng);p(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,columnHeaderHeight:o=0}=s,{startColumn:a,endColumn:u}=i;if(!s||o===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const d=this._getScale(n);e.fillStyle=y1([248,249,250]),e.fillRectByPrecision(0,0,c,o),e.textAlign="center",e.textBaseline="middle",e.fillStyle=y1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(g1,g1),e.strokeStyle=y1([217,217,217]),e.font=`13px ${wt}`;let _=0;const m=h.length;for(let y=a-1;y<=u;y++){if(y<0||y>m-1)continue;const F=h[y];if(_===F)continue;e.moveToByPrecision(F,0),e.lineToByPrecision(F,o);const E=_+(F-_)/2;e.fillText(g.numberToABC(y),E,o/2+_6),_=F}const v=o-.5/d;e.moveToByPrecision(0,v),e.lineToByPrecision(c,v),e.stroke()}}P6.add(new g7);function qe(r){return r[r.length-1]}function U6(r){var t;return(t=r.sections)==null?void 0:t[r.sections.length-1]}function Ug(r){var e;const t=(e=r2(r))==null?void 0:e.column.lines;return t==null?void 0:t[t.length-1]}function $g(r){return r.lines[r.lines.length-1]}function r2(r){const t=U6(r);for(let e=0;e<t.columns.length;e++){const n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function Hg(r){const t=Ug(r);if(t)for(let e=0;e<t.divides.length;e++){const n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function Gg(r){const t=U6(r),e=t.columns.length;for(let n=0;n<e;n++)if(!t.columns[n].isFull)return!1;return!0}function Oe(r,t){if(r instanceof Object){const{v:e,u:n}=r;return n===g.NumberUnitType.POINT?e:e*t}return r}function yt(r=0,t,e=g.GridType.LINES,n=g.BooleanNumber.TRUE){let s=1;return D7(e,n)&&(s=r),s*=t,s}function D7(r=g.GridType.LINES,t=g.BooleanNumber.FALSE){return t===g.BooleanNumber.TRUE&&(r===g.GridType.LINES_AND_CHARS||r===g.GridType.SNAP_TO_CHARS)}function _7(r,t){const{paragraphStyle:e={}}=t,{linePitch:n=15.6,gridType:s=g.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:o=1,spacingRule:a=g.SpacingRule.AUTO,snapToGrid:u=g.BooleanNumber.TRUE}=e;return{paragraphLineGapDefault:i,linePitch:n,gridType:s,lineSpacing:o,spacingRule:a,snapToGrid:u}}function zg(r,t){const{paragraphStyle:e={}}=t,{charSpace:n=0,gridType:s=g.GridType.LINES,defaultTabStop:i=36,documentTextStyle:o={}}=r,{fs:a=I4}=o,{snapToGrid:u=g.BooleanNumber.TRUE}=e;return{charSpace:n,documentFontSize:a,defaultTabStop:i,gridType:s,snapToGrid:u}}function K2(r,t=-1){let e=t;for(const n of r){const{sections:s}=n,i=e;let o=i,a=Number.NEGATIVE_INFINITY,u=0;for(const l of s){const{columns:c}=l,h=o;let f=h,d=Number.NEGATIVE_INFINITY,_=0;for(const m of c){const{lines:v}=m,y=f;let F=y,E=0,x=Number.NEGATIVE_INFINITY;for(const T of v){const{divides:B,lineHeight:w}=T,S=F;let R=S,A=0,k=0;E+=w;const I=B.length;for(let P=0;P<I;P++){const L=B[P],{glyphGroup:U}=L,H=R;let z=H;for(const $ of U){const W=$.glyphType===x1.LIST?0:$.count;z+=W;const Q=$.bBox,{ba:e1}=Q;k=Math.max(k,e1),P===I-1&&(A+=$.width)}U.length!==0&&(U[0].xOffset!==0&&P===I-1&&(A-=U[0].xOffset),P===I-1&&(A+=L.left),L.st=H+1,L.ed=z>=L.st?z:L.st,R=L.ed)}T.st=S+1,T.ed=R>=T.st?R:T.st,T.width=A,T.asc=k,x=Math.max(x,A),F=T.ed}m.st=y+1,m.ed=F>=m.st?F:m.st,m.height=E,m.width=x,_+=x,d=Math.max(d,m.height),f=m.ed}l.st=h+1,l.ed=f>=l.st?f:l.st,l.height=d,u+=d,a=Math.max(a,_),o=l.ed}n.st=i+1,n.ed=o>=n.st?o:n.st,n.height=u,n.width=a,e=n.ed}}function q2(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const o of i){const{lines:a}=o;for(const u of a)t&&b6(t)&&t(u)}}}}function Xg(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const o of i)t&&b6(t)&&t(o)}}}function Wg(r,t,e,n,s=!1){const{relativeFrom:i,align:o,posOffset:a,percent:u}=r;if(o!=null)if(o===g.AlignTypeH.INSIDE||o===g.AlignTypeH.OUTSIDE)i===g.ObjectRelativeFromH.MARGIN||g.ObjectRelativeFromH.PAGE;else{if(i===g.ObjectRelativeFromH.COLUMN){const{width:l,left:c}=t;let h=0;return o===g.AlignTypeH.LEFT?h=c:o===g.AlignTypeH.RIGHT?h=c+l-n:o===g.AlignTypeH.CENTER&&(h=c+l/2-n/2),h}if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE){const{pageWidth:l}=e;let c=0;return o===g.AlignTypeH.RIGHT?c=l-n:o===g.AlignTypeH.CENTER&&(c=l/2-n/2),c}}}}}}}else if(a){const{pageWidth:l,marginLeft:c,marginRight:h}=e,f=l-h;let d=0;return i===g.ObjectRelativeFromH.COLUMN?d=(s?0:(t==null?void 0:t.left)||0)+a:i===g.ObjectRelativeFromH.LEFT_MARGIN||(i===g.ObjectRelativeFromH.MARGIN?d=a+c:i===g.ObjectRelativeFromH.RIGHT_MARGIN||i===g.ObjectRelativeFromH.INSIDE_MARGIN||i===g.ObjectRelativeFromH.OUTSIDE_MARGIN||i===g.ObjectRelativeFromH.PAGE&&(d=a)),d+n>f&&(d=f-n),d}else if(u){const{pageWidth:l,marginLeft:c,marginRight:h}=e;if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE)return u*l}}}}}}}function Yg(r,t,e,n,s,i,o=!1){const{relativeFrom:a,align:u,posOffset:l,percent:c}=r;if(u!=null){if(a===g.ObjectRelativeFromV.LINE){let h=0;return u===g.AlignTypeV.BOTTOM?h=e+n-s:u===g.AlignTypeV.TOP?h=e:u===g.AlignTypeV.CENTER&&(h=e+n/2-s/2),h}else if(a!==g.ObjectRelativeFromV.TOP_MARGIN){if(a!==g.ObjectRelativeFromV.MARGIN){if(a!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===g.ObjectRelativeFromV.PAGE){const{pageHeight:h}=t;let f=0;return u===g.AlignTypeV.BOTTOM?f=h-s:u===g.AlignTypeV.CENTER&&(f=h/2-s/2),f}}}}}}}else if(l!=null){let h=0;const{marginTop:f}=t;return a===g.ObjectRelativeFromV.LINE?h=(e||0)+l:a===g.ObjectRelativeFromV.TOP_MARGIN||(a===g.ObjectRelativeFromV.MARGIN?h=l:a===g.ObjectRelativeFromV.BOTTOM_MARGIN||a===g.ObjectRelativeFromV.INSIDE_MARGIN||a===g.ObjectRelativeFromV.OUTSIDE_MARGIN||(a===g.ObjectRelativeFromV.PAGE?h=l-f:a===g.ObjectRelativeFromV.PARAGRAPH&&(h=(o?0:i==null?e:i)+l))),h}else if(c!=null){const{pageHeight:h,marginBottom:f,marginTop:d}=t;if(a!==g.ObjectRelativeFromV.TOP_MARGIN){if(a!==g.ObjectRelativeFromV.MARGIN){if(a!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===g.ObjectRelativeFromV.PAGE)return c*h}}}}}}}function g0(r){let t=0;for(const e of r.glyphGroup)t+=e.width;return t}const Z2=new g.ObjectMatrix;function jg(){Z2.reset()}function Ae(r,t,e,n,s){const{startIndex:i}=e,o=t.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:a,ed:u}=o;let{ts:l={}}=o;const c=Z2.getValue(a,u);if(c)return c;const{gridType:h=g.GridType.LINES,charSpace:f=0,documentTextStyle:d={},pageSize:_={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:m=0,marginLeft:v=0,localeService:y}=n,{snapToGrid:F=g.BooleanNumber.TRUE}=s;l={...d,...l};const E=_t(l),x={...d,...l},T=_.width||Number.POSITIVE_INFINITY-v-m,B={fontStyle:E,textStyle:x,charSpace:f,gridType:h,snapToGrid:F,pageWidth:T};return Z2.setValue(a,u,B),B}function Vg(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}function Kg(r,t){for(const e of r)e.parent=t}const qg={columnProperties:[],columnSeparatorType:g.ColumnSeparatorType.NONE,sectionType:g.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0},Zg={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY};function Jg(r,t){var be;const{viewModel:e,dataModel:n,docsConfig:s}=r,i=e.children[t],o=e.getSectionBreak(i.endIndex)||qg,{documentStyle:a}=n,{pageNumberStart:u=1,pageSize:l=Zg,pageOrient:c=g.PageOrientType.PORTRAIT,defaultHeaderId:h,defaultFooterId:f,evenPageHeaderId:d,evenPageFooterId:_,firstPageHeaderId:m,firstPageFooterId:v,useFirstPageHeaderFooter:y,useEvenPageHeaderFooter:F,marginTop:E=0,marginBottom:x=0,marginRight:T=0,marginLeft:B=0,marginHeader:w=0,marginFooter:S=0,renderConfig:R={horizontalAlign:g.HorizontalAlign.LEFT,verticalAlign:g.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:g.WrapStrategy.UNSPECIFIED}}=a,{pageNumberStart:A=u,pageSize:k=l,pageOrient:I=c,marginTop:P=E,marginBottom:L=x,marginRight:U=T,marginLeft:H=B,marginHeader:z=w,marginFooter:$=S,defaultHeaderId:W=h,defaultFooterId:Q=f,evenPageHeaderId:e1=d,evenPageFooterId:t1=_,firstPageHeaderId:r1=m,firstPageFooterId:v1=v,useFirstPageHeaderFooter:m1=y,useEvenPageHeaderFooter:p1=F,columnProperties:u1=[],columnSeparatorType:i1=g.ColumnSeparatorType.NONE,contentDirection:E1,sectionType:b1,textDirection:h1,renderConfig:F1=R}=o,w1=e.children[t+1],k1=(be=e.getSectionBreak(w1==null?void 0:w1.endIndex))==null?void 0:be.sectionType,P1={defaultHeaderId:W,evenPageHeaderId:e1,firstPageHeaderId:r1},te={defaultFooterId:Q,evenPageFooterId:t1,firstPageFooterId:v1};return k.width===null&&(k.width=Number.POSITIVE_INFINITY),k.height===null&&(k.height=Number.POSITIVE_INFINITY),{pageNumberStart:A,pageSize:k,pageOrient:I,marginTop:P,marginBottom:L,marginRight:U,marginLeft:H,marginHeader:z,marginFooter:$,headerIds:P1,footerIds:te,useFirstPageHeaderFooter:m1,useEvenPageHeaderFooter:p1,columnProperties:u1,columnSeparatorType:i1,contentDirection:E1,sectionType:b1,sectionTypeNext:k1,textDirection:h1,renderConfig:F1,...s}}var Qg=Object.defineProperty,eD=Object.getOwnPropertyDescriptor,tD=(r,t,e,n)=>{for(var s=n>1?void 0:n?eD(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&Qg(t,e,s),s},nD=(r,t)=>(e,n)=>t(e,n,r);exports.Skeleton=class extends g.Disposable{constructor(e){super();p(this,"_fontLocale");p(this,"_dirty",!0);this._localService=e,this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(e){this._dirty=e}dispose(){super.dispose(),this._fontLocale=null}_localeInitial(){}};exports.Skeleton=tD([nD(0,ae.Inject(g.LocaleService))],exports.Skeleton);class Ze{constructor(){p(this,"_translateX",0);p(this,"_translateY",0);p(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(t=0,e=0){this._translateX=t,this._translateY=e}translate(t=0,e=0){this._translateX+=t,this._translateY+=e}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const t=this._translateSaveList.pop();t&&(this._translateX=t.x,this._translateY=t.y)}translatePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(s,e)}restorePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(-s,-e)}translatePage(t,e=Q1.VERTICAL,n=0,s=0,i=0,o=0){const{pageWidth:a,pageHeight:u}=t;let l=0,c=0;return e===Q1.VERTICAL?l+=u+s:e===Q1.HORIZONTAL&&(c+=a+n),this.translate(c,l),{x:c,y:l}}translateSection(t){const{top:e=0}=t;return this.translate(0,e),{x:0,y:e}}translateColumn(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}translateLine(t,e=!1){const{top:n,marginBottom:s=0,marginTop:i=0,paddingTop:o=0,paddingBottom:a=0}=t,u=n+(e===!0?i:0)+o;return this.translate(0,u),{x:0,y:u}}translateDivide(t){const{left:e,paddingLeft:n}=t,s=e+n;return this.translate(s,0),{x:s,y:0}}translateSpan(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}}function v7(r=[],t=g.ColumnSeparatorType.NONE,e=0,n=0,s=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const o=[];let a=0,u=0;if(r.length===0)o.push(E2(n,s,0,g.ColumnSeparatorType.NONE));else for(let c=0;c<r.length;c++){const{width:h,paddingEnd:f}=r[c];u=f,a=h,o.push(E2(n,a,u,t)),n+=a+u,c===r.length-1&&(a=s!==Number.POSITIVE_INFINITY?s-a:h,u=0,o.push(E2(n,a,u,t)))}const l={columns:o,colCount:(r==null?void 0:r.length)||1,height:i,top:e,st:0,ed:0};return o.forEach(c=>{c.parent=l}),l}function m7(r,t){r.isFull=t}function E2(r,t,e,n){return{lines:[],left:r,width:t,height:0,spaceWidth:e,separator:n,st:0,ed:0,drawingLRIds:[],isFull:!1}}function Je(r,t,e,n=1,s=Ke.SECTION){var F1,w1,k1,P1;const i=rD(),{pageNumberStart:o=1,pageSize:a={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:u=g.PageOrientType.PORTRAIT,headerIds:l={},footerIds:c={},useFirstPageHeaderFooter:h,useEvenPageHeaderFooter:f,footerTreeMap:d,headerTreeMap:_,columnProperties:m=[],columnSeparatorType:v,marginTop:y=0,marginBottom:F=0,marginHeader:E=0,marginFooter:x=0,marginLeft:T=0,marginRight:B=0,renderConfig:w={}}=t,{skeHeaders:S,skeFooters:R}=e,{width:A=Number.POSITIVE_INFINITY,height:k=Number.POSITIVE_INFINITY}=a;i.pageNumber=n,i.pageNumberStart=o,i.renderConfig=w,i.marginLeft=T,i.marginRight=B,i.breakType=s,i.pageWidth=A,i.width=0,i.pageHeight=k,i.height=0,i.pageOrient=u;const{defaultHeaderId:I,evenPageHeaderId:P,firstPageHeaderId:L}=l,{defaultFooterId:U,evenPageFooterId:H,firstPageFooterId:z}=c;let $=I!=null?I:"",W=U!=null?U:"";n===o&&h?($=L!=null?L:"",W=z!=null?z:""):n%2===0&&f&&($=P!=null?P:"",W=H!=null?H:"");let Q,e1;$&&((F1=S.get($))!=null&&F1.has(A)?Q=(w1=S.get($))==null?void 0:w1.get(A):_&&_.has($)&&(Q=D0(r,_.get($),t,e),S.set($,new Map([[A,Q]]))),i.headerId=$),W&&((k1=R.get(W))!=null&&k1.has(A)?e1=(P1=R.get(W))==null?void 0:P1.get(A):d&&d.has(W)&&(e1=D0(r,d.get(W),t,e),R.set($,new Map([[A,e1]]))),i.footerId=W),i.marginTop=_0(y,E,Q),i.marginBottom=_0(F,x,e1);const t1=i.sections,r1=t1[t1.length-1],{marginTop:v1,marginBottom:m1,marginLeft:p1,marginRight:u1}=i,i1=A-p1-u1,E1=k-v1-m1;let b1=0;r1&&(b1=r1.top+r1.height);const h1=v7(m,v,b1,0,i1,E1-b1);return h1.parent=i,t1.push(h1),i}function rD(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:g.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:Ke.SECTION,st:0,ed:0,skeDrawings:new Map}}function D0(r,t,e,n,s=!0){const{lists:i,footerTreeMap:o,headerTreeMap:a,localeService:u,pageSize:l,marginLeft:c=0,marginRight:h=0,drawings:f,marginTop:d=0,marginBottom:_=0,marginHeader:m=0,marginFooter:v=0}=e,y=(l==null?void 0:l.width)||Number.POSITIVE_INFINITY,F={lists:i,footerTreeMap:o,headerTreeMap:a,pageSize:{width:y-c-h,height:Number.POSITIVE_INFINITY},localeService:u,drawings:f},E=Je(r,F,n),x=An(r,t,t.children[0],E,F).pages[0];K2([x]);const T=x.sections[0].columns[0],B=T.height||0,{skeDrawings:w,st:S,ed:R}=x,A={lines:T.lines,skeDrawings:w,height:B,st:S,ed:R,marginLeft:c,marginRight:h};return s?{...A,marginTop:sD(d,m,B)}:{...A,marginBottom:iD(_,v,B)}}function _0(r,t,e){return!e||e.lines.length===0?r:Math.max(r,t,(e==null?void 0:e.height)||0)}function sD(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function iD(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function oD(){return[]}class Ut{constructor(t,e=!1){this.position=t,this.required=e}}const aD=5,v0=12,uD=13,lD=16,cD=17,hD=22,m0=28,b0=31,fD=33,Vt=34,dD=35,S2=36,J2=37,b7=38,pD=39,gD=40,ct=41,DD=42,D=0,b=1,n1=2,y7=3,C=4,_D=[[C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,y7,C,C,C,C,C,C,C,C,C,C,C],[D,C,C,b,b,C,C,C,C,b,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,C,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[C,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,n1,C,b,b,b,b,b,b,b,b,b,b],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,n1,C,b,b,b,b,b,b,b,b,b,b],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,b,D,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,D,D,b,b,b,b,b,b,b,D,D,C,n1,C,b,b,b,b,b,D,b,b,b,D],[b,C,C,b,b,b,C,C,C,D,D,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,D,b,C,C,C,D,D,b,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,D,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,n1,C,b,b,b,b,b,b,b,b,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,C,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,C,D,D,D,D,D,D,D,D,D,D,D,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,n1,C,b,b,b,b,b,b,b,b,b,b],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,b,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,b,b,b,b,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,b,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,b,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,b,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,D,C,C,C,D,D,D,D,D,D,D,D,D,D,D,C,n1,C,D,D,D,D,D,D,D,D,b,D]];class vD{constructor(){p(this,"_rules",new Map)}add(t,e){this._rules.set(t,e)}shouldBreak(t,e){for(const n of this._rules.values())if(n(t,e))return!0;return!1}}const mD=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]),bD=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,y0=(r,t,e)=>{const n=r[t];r[t]=r[e],r[e]=n},yD=r=>{const t=r.length;for(let e=0;e<t;e+=4)y0(r,e,e+3),y0(r,e+1,e+2)},FD=r=>{bD&&yD(r)},$6=0,F7=-3;let Ft=class{constructor(){p(this,"table",new Uint16Array(16));p(this,"trans",new Uint16Array(288))}},CD=class{constructor(t,e){p(this,"source");p(this,"dest");p(this,"sourceIndex");p(this,"tag");p(this,"bitcount");p(this,"destLen");p(this,"ltree");p(this,"dtree");this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new Ft,this.dtree=new Ft}};const C7=new Ft,E7=new Ft,H6=new Uint8Array(30),G6=new Uint16Array(30),S7=new Uint8Array(30),T7=new Uint16Array(30),ED=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),F0=new Ft,W1=new Uint8Array(320);function x7(r,t,e,n){let s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function SD(r,t){let e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}const C0=new Uint16Array(16);function T2(r,t,e,n){let s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)C0[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[C0[t[e+s]]++]=s)}function TD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const t=r.tag&1;return r.tag>>>=1,t}function V1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;const n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function Q2(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;let e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function xD(r,t,e){let n,s,i;const o=V1(r,5,257),a=V1(r,5,1),u=V1(r,4,4);for(n=0;n<19;++n)W1[n]=0;for(n=0;n<u;++n){const l=V1(r,3,0);W1[ED[n]]=l}for(T2(F0,W1,0,19),s=0;s<o+a;){const l=Q2(r,F0);switch(l){case 16:{const c=W1[s-1];for(i=V1(r,2,3);i;--i)W1[s++]=c;break}case 17:for(i=V1(r,3,3);i;--i)W1[s++]=0;break;case 18:for(i=V1(r,7,11);i;--i)W1[s++]=0;break;default:W1[s++]=l;break}}T2(t,W1,0,o),T2(e,W1,o,a)}function E0(r,t,e){for(;;){let n=Q2(r,t);if(n===256)return $6;if(n<256)r.dest[r.destLen++]=n;else{let s;n-=257;const i=V1(r,H6[n],G6[n]),o=Q2(r,e),a=r.destLen-V1(r,S7[o],T7[o]);for(s=a;s<a+i;++s)r.dest[r.destLen++]=r.dest[s]}}}function wD(r){let t,e,n;for(;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return F7;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,$6}function S0(r,t){const e=new CD(r,t);let n,s,i;do{switch(n=TD(e),s=V1(e,2,0),s){case 0:i=wD(e);break;case 1:i=E0(e,C7,E7);break;case 2:xD(e,e.ltree,e.dtree),i=E0(e,e.ltree,e.dtree);break;default:i=F7}if(i!==$6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}SD(C7,E7);x7(H6,G6,4,3);x7(S7,T7,2,1);H6[28]=0;G6[28]=258;const z6=11,ke=5,BD=z6-ke,OD=65536>>z6,RD=1<<BD,AD=RD-1,Kt=2,kD=1<<ke,x2=kD-1,w7=65536>>ke,ID=1024>>ke,LD=w7+ID,PD=LD,MD=32,ND=PD+MD,UD=1<<Kt;class $D{constructor(t){p(this,"highStart");p(this,"errorValue");p(this,"data");const e=typeof t.readUInt32BE=="function"&&typeof t.slice=="function";if(e||t instanceof Uint8Array){let n;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),n=t.readUInt32LE(8),t=t.slice(12);else{const s=new DataView(t.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),n=s.getUint32(8,!0),t=t.subarray(12)}t=S0(t,new Uint8Array(n)),t=S0(t,new Uint8Array(n)),FD(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>ke]<<Kt)+(t&x2),this.data[e]):t<=65535?(e=(this.data[w7+(t-55296>>ke)]<<Kt)+(t&x2),this.data[e]):t<this.highStart?(e=this.data[ND-OD+(t>>z6)],e=this.data[e+(t>>ke&AD)],e=(e<<Kt)+(t&x2),this.data[e]):this.data[this.data.length-UD]}}const HD=new $D(mD);function w2(r){switch(r){case fD:return v0;case pD:case gD:case DD:return v0;case dD:return aD;default:return r}}function B2(r){switch(r){case J2:case b7:return Vt;case ct:return hD;default:return r}}class GD{constructor(t){p(this,"_pos",0);p(this,"_lastPos",0);p(this,"_curClass",null);p(this,"_codePoint",null);p(this,"_nextClass",null);p(this,"_LB8a",!1);p(this,"_LB21a",!1);p(this,"_LB30a",0);p(this,"_rule",new vD);this.string=t}use(t){return t(this),this}addRule(t,e){return this._rule.add(t,e),this}nextBreak(){if(this._curClass==null){const t=this._nextCharClass();this._curClass=B2(t),this._nextClass=t,this._LB8a=t===b0,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const t=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===Vt||this._curClass===S2&&this._nextClass!==J2)return this._curClass=B2(w2(this._nextClass)),new Ut(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=B2(w2(this._nextClass)),new Ut(this._lastPos);let e=this._getSimpleBreak();if(e===null&&(e=this._getPairTableBreak(t)),this._LB8a=this._nextClass===b0,e)return new Ut(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new Ut(this.string.length)):null}_getNextCodePoint(){const t=this.string.charCodeAt(this._pos++),e=this.string.charCodeAt(this._pos);return t>=55296&&t<=56319&&e>=56320&&e<=57343?(this._pos++,(t-55296)*1024+(e-56320)+65536):t}_nextCharClass(){const t=this._getNextCodePoint(),e=HD.get(t);return this._codePoint=t,w2(e)}_getSimpleBreak(){switch(this._nextClass){case ct:return!1;case Vt:case J2:case b7:return this._curClass=Vt,!1;case S2:return this._curClass=S2,!1}return null}_getPairTableBreak(t){let e=!1;switch(_D[this._curClass][this._nextClass]){case D:e=!0;break;case b:e=t===ct;break;case n1:if(e=t===ct,!e)return e=!1,e;break;case y7:if(t!==ct)return e;break}return this._LB8a&&(e=!1),this._LB21a&&(this._curClass===lD||this._curClass===cD)?(e=!1,this._LB21a=!1):this._LB21a=this._curClass===uD,this._curClass===m0?(this._LB30a++,this._LB30a===2&&this._nextClass===m0&&(e=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,e}}const zD=9;function XD(r){r.addRule("break_before_tab",t=>t===zD)}function B7(r){return[" "," "," "].includes(r)}function O7(r){return B7(r)||vt(r)||D2(r)||_2(r)||C6(r)}function s2(r,t){return B7(r)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:D2(r)?{stretchability:[0,0],shrinkability:[0,t/2]}:_2(r)?{stretchability:[0,0],shrinkability:[t/2,0]}:C6(r)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function WD(r,t,e){return X6(x1.WORD,r,t,e)}function Re(r,t,e,n){return X6(x1.LETTER,r,t,e,n)}function T0(r,t){return X6(x1.TAB,g.DataStreamTreeTokenType.TAB,r,t)}function x0(r,t=0,e=0,n=""){const{fontStyle:s,textStyle:i}=r,o=g.DataStreamTreeTokenType.CUSTOM_BLOCK;return{content:"",ts:i,fontStyle:s,width:t,bBox:{width:0,ba:e,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:s2(o,0),glyphType:x1.PLACEHOLDER,streamType:o,count:1,objectId:n}}function X6(r,t,e,n,s){const{fontStyle:i,textStyle:o,charSpace:a=1,gridType:u=g.GridType.LINES,snapToGrid:l=g.BooleanNumber.FALSE}=e,c=[g.DataStreamTreeTokenType.SECTION_BREAK,g.DataStreamTreeTokenType.TABLE_START,g.DataStreamTreeTokenType.TABLE_END,g.DataStreamTreeTokenType.TABLE_ROW_START,g.DataStreamTreeTokenType.TABLE_ROW_END,g.DataStreamTreeTokenType.TABLE_CELL_START,g.DataStreamTreeTokenType.TABLE_CELL_END,g.DataStreamTreeTokenType.CUSTOM_RANGE_START,g.DataStreamTreeTokenType.CUSTOM_RANGE_END,g.DataStreamTreeTokenType.COLUMN_BREAK,g.DataStreamTreeTokenType.PAGE_BREAK,g.DataStreamTreeTokenType.DOCS_END,g.DataStreamTreeTokenType.CUSTOM_BLOCK];let h=g.DataStreamTreeTokenType.LETTER;if(c.indexOf(t)>-1)return{content:"",ts:o,fontStyle:i,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:s2(t,0),glyphType:x1.PLACEHOLDER,streamType:t,count:1};t===g.DataStreamTreeTokenType.PARAGRAPH&&(h=g.DataStreamTreeTokenType.PARAGRAPH);let f=null,d=0;s&&s.boundingBox&&s.font?f=re.getBBoxFromGlyphInfo(s,i):f=re.getTextSize(t,i);const{width:_=0}=f;let m=n!=null?n:_;if(D7(u,l)&&(m=_+(Bt(t)?a:a/2),u===g.GridType.SNAP_TO_CHARS&&(d=(m-_)/2)),s&&s.kerning!==0&&s.font){const v=S6(i.fontSize)/s.font.unitsPerEm,y=s.kerning*v;m+=y,d+=y}return{content:t,ts:o,fontStyle:i,width:m,bBox:f,xOffset:d,left:0,glyphType:r,streamType:h,isJustifiable:O7(t),adjustability:s2(t,m),count:t.length}}function YD(r,t,e){const{bBox:n,symbol:s,ts:i,fontStyle:o,bulletAlign:a=g.BulletAlignment.START,bulletType:u=!1}=t,l=n.width,c=Math.ceil(l/e);let h=(c<2?2:c)*e,f=0;u&&(a===g.BulletAlignment.CENTER?(f=-l/2,h-=f):a===g.BulletAlignment.END&&(f=-l,h-=f));const d=jD(r,t);return{content:s,ts:i,fontStyle:o,width:h,xOffset:0,bBox:d,left:f,isJustifiable:O7(s),adjustability:s2(s,h),glyphType:x1.LIST,streamType:g.DataStreamTreeTokenType.LETTER,count:0}}function W6(r,t=0){const e=r.length;let n;for(let s=0;s<e;s++){const i=r[s];i.left=n?n.left+n.width:t,n=i}}function $t(r,t,e=0){W6(t,e);for(const n of t)n.parent=r;r.glyphGroup.push(...t)}function jD(r,t){const{ba:e,bd:n}=r.bBox,{ba:s,bd:i}=t.bBox;return e+n>s+i?r.bBox:t.bBox}function R7(r,t){r.width-=t,r.adjustability.shrinkability[1]-=t}function A7(r,t){r.width-=t,r.xOffset-=t,r.adjustability.shrinkability[0]-=t}/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var r=function(){try{var e={},n=Object.defineProperty,s=n(e,e,e)&&n}catch{}return s}(),t=function(e){if(this==null)throw TypeError();var n=String(this),s=n.length,i=e?Number(e):0;if(i!=i&&(i=0),!(i<0||i>=s)){var o=n.charCodeAt(i),a;return o>=55296&&o<=56319&&s>i+1&&(a=n.charCodeAt(i+1),a>=56320&&a<=57343)?(o-55296)*1024+a-56320+65536:o}};r?r(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var Y6=0,k7=-3;function Ct(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function VD(r,t){this.source=r,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new Ct,this.dtree=new Ct}var I7=new Ct,L7=new Ct,j6=new Uint8Array(30),V6=new Uint16Array(30),P7=new Uint8Array(30),M7=new Uint16Array(30),KD=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w0=new Ct,Y1=new Uint8Array(320);function N7(r,t,e,n){var s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function qD(r,t){var e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}var B0=new Uint16Array(16);function O2(r,t,e,n){var s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)B0[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[B0[t[e+s]]++]=s)}function ZD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);var t=r.tag&1;return r.tag>>>=1,t}function K1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function e6(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function JD(r,t,e){var n,s,i,o,a,u;for(n=K1(r,5,257),s=K1(r,5,1),i=K1(r,4,4),o=0;o<19;++o)Y1[o]=0;for(o=0;o<i;++o){var l=K1(r,3,0);Y1[KD[o]]=l}for(O2(w0,Y1,0,19),a=0;a<n+s;){var c=e6(r,w0);switch(c){case 16:var h=Y1[a-1];for(u=K1(r,2,3);u;--u)Y1[a++]=h;break;case 17:for(u=K1(r,3,3);u;--u)Y1[a++]=0;break;case 18:for(u=K1(r,7,11);u;--u)Y1[a++]=0;break;default:Y1[a++]=c;break}}O2(t,Y1,0,n),O2(e,Y1,n,s)}function O0(r,t,e){for(;;){var n=e6(r,t);if(n===256)return Y6;if(n<256)r.dest[r.destLen++]=n;else{var s,i,o,a;for(n-=257,s=K1(r,j6[n],V6[n]),i=e6(r,e),o=r.destLen-K1(r,P7[i],M7[i]),a=o;a<o+s;++a)r.dest[r.destLen++]=r.dest[a]}}}function QD(r){for(var t,e,n;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return k7;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,Y6}function e_(r,t){var e=new VD(r,t),n,s,i;do{switch(n=ZD(e),s=K1(e,2,0),s){case 0:i=QD(e);break;case 1:i=O0(e,I7,L7);break;case 2:JD(e,e.ltree,e.dtree),i=O0(e,e.ltree,e.dtree);break;default:i=k7}if(i!==Y6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}qD(I7,L7);N7(j6,V6,4,3);N7(P7,M7,2,1);j6[28]=0;V6[28]=258;var t_=e_;function He(r,t,e,n,s){return Math.pow(1-s,3)*r+3*Math.pow(1-s,2)*s*t+3*(1-s)*Math.pow(s,2)*e+Math.pow(s,3)*n}function le(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}le.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)};le.prototype.addPoint=function(r,t){typeof r=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=r,this.x2=r),r<this.x1&&(this.x1=r),r>this.x2&&(this.x2=r)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))};le.prototype.addX=function(r){this.addPoint(r,null)};le.prototype.addY=function(r){this.addPoint(null,r)};le.prototype.addBezier=function(r,t,e,n,s,i,o,a){var u=[r,t],l=[e,n],c=[s,i],h=[o,a];this.addPoint(r,t),this.addPoint(o,a);for(var f=0;f<=1;f++){var d=6*u[f]-12*l[f]+6*c[f],_=-3*u[f]+9*l[f]-9*c[f]+3*h[f],m=3*l[f]-3*u[f];if(_===0){if(d===0)continue;var v=-m/d;0<v&&v<1&&(f===0&&this.addX(He(u[f],l[f],c[f],h[f],v)),f===1&&this.addY(He(u[f],l[f],c[f],h[f],v)));continue}var y=Math.pow(d,2)-4*m*_;if(!(y<0)){var F=(-d+Math.sqrt(y))/(2*_);0<F&&F<1&&(f===0&&this.addX(He(u[f],l[f],c[f],h[f],F)),f===1&&this.addY(He(u[f],l[f],c[f],h[f],F)));var E=(-d-Math.sqrt(y))/(2*_);0<E&&E<1&&(f===0&&this.addX(He(u[f],l[f],c[f],h[f],E)),f===1&&this.addY(He(u[f],l[f],c[f],h[f],E)))}}};le.prototype.addQuad=function(r,t,e,n,s,i){var o=r+.6666666666666666*(e-r),a=t+2/3*(n-t),u=o+1/3*(s-r),l=a+1/3*(i-t);this.addBezier(r,t,o,a,u,l,s,i)};function d1(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}d1.prototype.moveTo=function(r,t){this.commands.push({type:"M",x:r,y:t})};d1.prototype.lineTo=function(r,t){this.commands.push({type:"L",x:r,y:t})};d1.prototype.curveTo=d1.prototype.bezierCurveTo=function(r,t,e,n,s,i){this.commands.push({type:"C",x1:r,y1:t,x2:e,y2:n,x:s,y:i})};d1.prototype.quadTo=d1.prototype.quadraticCurveTo=function(r,t,e,n){this.commands.push({type:"Q",x1:r,y1:t,x:e,y:n})};d1.prototype.close=d1.prototype.closePath=function(){this.commands.push({type:"Z"})};d1.prototype.extend=function(r){if(r.commands)r=r.commands;else if(r instanceof le){var t=r;this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),this.close();return}Array.prototype.push.apply(this.commands,r)};d1.prototype.getBoundingBox=function(){for(var r=new le,t=0,e=0,n=0,s=0,i=0;i<this.commands.length;i++){var o=this.commands[i];switch(o.type){case"M":r.addPoint(o.x,o.y),t=n=o.x,e=s=o.y;break;case"L":r.addPoint(o.x,o.y),n=o.x,s=o.y;break;case"Q":r.addQuad(n,s,o.x1,o.y1,o.x,o.y),n=o.x,s=o.y;break;case"C":r.addBezier(n,s,o.x1,o.y1,o.x2,o.y2,o.x,o.y),n=o.x,s=o.y;break;case"Z":n=t,s=e;break;default:throw new Error("Unexpected path command "+o.type)}}return r.isEmpty()&&r.addPoint(0,0),r};d1.prototype.draw=function(r){r.beginPath();for(var t=0;t<this.commands.length;t+=1){var e=this.commands[t];e.type==="M"?r.moveTo(e.x,e.y):e.type==="L"?r.lineTo(e.x,e.y):e.type==="C"?r.bezierCurveTo(e.x1,e.y1,e.x2,e.y2,e.x,e.y):e.type==="Q"?r.quadraticCurveTo(e.x1,e.y1,e.x,e.y):e.type==="Z"&&r.closePath()}this.fill&&(r.fillStyle=this.fill,r.fill()),this.stroke&&(r.strokeStyle=this.stroke,r.lineWidth=this.strokeWidth,r.stroke())};d1.prototype.toPathData=function(r){r=r!==void 0?r:2;function t(o){return Math.round(o)===o?""+Math.round(o):o.toFixed(r)}function e(){for(var o=arguments,a="",u=0;u<arguments.length;u+=1){var l=o[u];l>=0&&u>0&&(a+=" "),a+=t(l)}return a}for(var n="",s=0;s<this.commands.length;s+=1){var i=this.commands[s];i.type==="M"?n+="M"+e(i.x,i.y):i.type==="L"?n+="L"+e(i.x,i.y):i.type==="C"?n+="C"+e(i.x1,i.y1,i.x2,i.y2,i.x,i.y):i.type==="Q"?n+="Q"+e(i.x1,i.y1,i.x,i.y):i.type==="Z"&&(n+="Z")}return n};d1.prototype.toSVG=function(r){var t='<path d="';return t+=this.toPathData(r),t+='"',this.fill&&this.fill!=="black"&&(this.fill===null?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>",t};d1.prototype.toDOMElement=function(r){var t=this.toPathData(r),e=document.createElementNS("http://www.w3.org/2000/svg","path");return e.setAttribute("d",t),e};function U7(r){throw new Error(r)}function R0(r,t){r||U7(t)}var Z={fail:U7,argument:R0,assert:R0},A0=32768,k0=2147483648,Qe={},N={},J={};function G1(r){return function(){return r}}N.BYTE=function(r){return Z.argument(r>=0&&r<=255,"Byte value should be between 0 and 255."),[r]};J.BYTE=G1(1);N.CHAR=function(r){return[r.charCodeAt(0)]};J.CHAR=G1(1);N.CHARARRAY=function(r){typeof r>"u"&&(r="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],e=0;e<r.length;e+=1)t[e]=r.charCodeAt(e);return t};J.CHARARRAY=function(r){return typeof r>"u"?0:r.length};N.USHORT=function(r){return[r>>8&255,r&255]};J.USHORT=G1(2);N.SHORT=function(r){return r>=A0&&(r=-(2*A0-r)),[r>>8&255,r&255]};J.SHORT=G1(2);N.UINT24=function(r){return[r>>16&255,r>>8&255,r&255]};J.UINT24=G1(3);N.ULONG=function(r){return[r>>24&255,r>>16&255,r>>8&255,r&255]};J.ULONG=G1(4);N.LONG=function(r){return r>=k0&&(r=-(2*k0-r)),[r>>24&255,r>>16&255,r>>8&255,r&255]};J.LONG=G1(4);N.FIXED=N.ULONG;J.FIXED=J.ULONG;N.FWORD=N.SHORT;J.FWORD=J.SHORT;N.UFWORD=N.USHORT;J.UFWORD=J.USHORT;N.LONGDATETIME=function(r){return[0,0,0,0,r>>24&255,r>>16&255,r>>8&255,r&255]};J.LONGDATETIME=G1(8);N.TAG=function(r){return Z.argument(r.length===4,"Tag should be exactly 4 ASCII characters."),[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]};J.TAG=G1(4);N.Card8=N.BYTE;J.Card8=J.BYTE;N.Card16=N.USHORT;J.Card16=J.USHORT;N.OffSize=N.BYTE;J.OffSize=J.BYTE;N.SID=N.USHORT;J.SID=J.USHORT;N.NUMBER=function(r){return r>=-107&&r<=107?[r+139]:r>=108&&r<=1131?(r=r-108,[(r>>8)+247,r&255]):r>=-1131&&r<=-108?(r=-r-108,[(r>>8)+251,r&255]):r>=-32768&&r<=32767?N.NUMBER16(r):N.NUMBER32(r)};J.NUMBER=function(r){return N.NUMBER(r).length};N.NUMBER16=function(r){return[28,r>>8&255,r&255]};J.NUMBER16=G1(3);N.NUMBER32=function(r){return[29,r>>24&255,r>>16&255,r>>8&255,r&255]};J.NUMBER32=G1(5);N.REAL=function(r){var t=r.toString(),e=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(e){var n=parseFloat("1e"+((e[2]?+e[2]:0)+e[1].length));t=(Math.round(r*n)/n).toString()}for(var s="",i=0,o=t.length;i<o;i+=1){var a=t[i];a==="e"?s+=t[++i]==="-"?"c":"b":a==="."?s+="a":a==="-"?s+="e":s+=a}s+=s.length&1?"f":"ff";for(var u=[30],l=0,c=s.length;l<c;l+=2)u.push(parseInt(s.substr(l,2),16));return u};J.REAL=function(r){return N.REAL(r).length};N.NAME=N.CHARARRAY;J.NAME=J.CHARARRAY;N.STRING=N.CHARARRAY;J.STRING=J.CHARARRAY;Qe.UTF8=function(r,t,e){for(var n=[],s=e,i=0;i<s;i++,t+=1)n[i]=r.getUint8(t);return String.fromCharCode.apply(null,n)};Qe.UTF16=function(r,t,e){for(var n=[],s=e/2,i=0;i<s;i++,t+=2)n[i]=r.getUint16(t);return String.fromCharCode.apply(null,n)};N.UTF16=function(r){for(var t=[],e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t[t.length]=n>>8&255,t[t.length]=n&255}return t};J.UTF16=function(r){return r.length*2};var t6={"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":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};Qe.MACSTRING=function(r,t,e,n){var s=t6[n];if(s!==void 0){for(var i="",o=0;o<e;o++){var a=r.getUint8(t+o);a<=127?i+=String.fromCharCode(a):i+=s[a&127]}return i}};var Ht=typeof WeakMap=="function"&&new WeakMap,Gt,n_=function(r){if(!Gt){Gt={};for(var t in t6)Gt[t]=new String(t)}var e=Gt[r];if(e!==void 0){if(Ht){var n=Ht.get(e);if(n!==void 0)return n}var s=t6[r];if(s!==void 0){for(var i={},o=0;o<s.length;o++)i[s.charCodeAt(o)]=o+128;return Ht&&Ht.set(e,i),i}}};N.MACSTRING=function(r,t){var e=n_(t);if(e!==void 0){for(var n=[],s=0;s<r.length;s++){var i=r.charCodeAt(s);if(i>=128&&(i=e[i],i===void 0))return;n[s]=i}return n}};J.MACSTRING=function(r,t){var e=N.MACSTRING(r,t);return e!==void 0?e.length:0};function n6(r){return r>=-128&&r<=127}function r_(r,t,e){for(var n=0,s=r.length;t<s&&n<64&&r[t]===0;)++t,++n;return e.push(128|n-1),t}function s_(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var o=r[i];if(!n6(o)||o===0&&i+1<s&&r[i+1]===0)break;++i,++n}e.push(n-1);for(var a=t;a<i;++a)e.push(r[a]+256&255);return i}function i_(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var o=r[i];if(o===0||n6(o)&&i+1<s&&n6(r[i+1]))break;++i,++n}e.push(64|n-1);for(var a=t;a<i;++a){var u=r[a];e.push(u+65536>>8&255,u+256&255)}return i}N.VARDELTAS=function(r){for(var t=0,e=[];t<r.length;){var n=r[t];n===0?t=r_(r,t,e):n>=-128&&n<=127?t=s_(r,t,e):t=i_(r,t,e)}return e};N.INDEX=function(r){for(var t=1,e=[t],n=[],s=0;s<r.length;s+=1){var i=N.OBJECT(r[s]);Array.prototype.push.apply(n,i),t+=i.length,e.push(t)}if(n.length===0)return[0,0];for(var o=[],a=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,N.BYTE,N.USHORT,N.UINT24,N.ULONG][a],l=0;l<e.length;l+=1){var c=u(e[l]);Array.prototype.push.apply(o,c)}return Array.prototype.concat(N.Card16(r.length),N.OffSize(a),o,n)};J.INDEX=function(r){return N.INDEX(r).length};N.DICT=function(r){for(var t=[],e=Object.keys(r),n=e.length,s=0;s<n;s+=1){var i=parseInt(e[s],0),o=r[i];t=t.concat(N.OPERAND(o.value,o.type)),t=t.concat(N.OPERATOR(i))}return t};J.DICT=function(r){return N.DICT(r).length};N.OPERATOR=function(r){return r<1200?[r]:[12,r-1200]};N.OPERAND=function(r,t){var e=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)Z.argument(r.length===t.length,"Not enough arguments given for type"+t),e=e.concat(N.OPERAND(r[n],t[n]));else if(t==="SID")e=e.concat(N.NUMBER(r));else if(t==="offset")e=e.concat(N.NUMBER32(r));else if(t==="number")e=e.concat(N.NUMBER(r));else if(t==="real")e=e.concat(N.REAL(r));else throw new Error("Unknown operand type "+t);return e};N.OP=N.BYTE;J.OP=J.BYTE;var zt=typeof WeakMap=="function"&&new WeakMap;N.CHARSTRING=function(r){if(zt){var t=zt.get(r);if(t!==void 0)return t}for(var e=[],n=r.length,s=0;s<n;s+=1){var i=r[s];e=e.concat(N[i.type](i.value))}return zt&&zt.set(r,e),e};J.CHARSTRING=function(r){return N.CHARSTRING(r).length};N.OBJECT=function(r){var t=N[r.type];return Z.argument(t!==void 0,"No encoding function for type "+r.type),t(r.value)};J.OBJECT=function(r){var t=J[r.type];return Z.argument(t!==void 0,"No sizeOf function for type "+r.type),t(r.value)};N.TABLE=function(r){for(var t=[],e=r.fields.length,n=[],s=[],i=0;i<e;i+=1){var o=r.fields[i],a=N[o.type];Z.argument(a!==void 0,"No encoding function for field type "+o.type+" ("+o.name+")");var u=r[o.name];u===void 0&&(u=o.value);var l=a(u);o.type==="TABLE"?(s.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var c=0;c<n.length;c+=1){var h=s[c],f=t.length;Z.argument(f<65536,"Table "+r.tableName+" too big."),t[h]=f>>8,t[h+1]=f&255,t=t.concat(n[c])}return t};J.TABLE=function(r){for(var t=0,e=r.fields.length,n=0;n<e;n+=1){var s=r.fields[n],i=J[s.type];Z.argument(i!==void 0,"No sizeOf function for field type "+s.type+" ("+s.name+")");var o=r[s.name];o===void 0&&(o=s.value),t+=i(o),s.type==="TABLE"&&(t+=2)}return t};N.RECORD=N.TABLE;J.RECORD=J.TABLE;N.LITERAL=function(r){return r};J.LITERAL=function(r){return r.length};function _1(r,t,e){if(t.length&&(t[0].name!=="coverageFormat"||t[0].value===1))for(var n=0;n<t.length;n+=1){var s=t[n];this[s.name]=s.value}if(this.tableName=r,this.fields=t,e)for(var i=Object.keys(e),o=0;o<i.length;o+=1){var a=i[o],u=e[a];this[a]!==void 0&&(this[a]=u)}}_1.prototype.encode=function(){return N.TABLE(this)};_1.prototype.sizeOf=function(){return J.TABLE(this)};function Et(r,t,e){e===void 0&&(e=t.length);var n=new Array(t.length+1);n[0]={name:r+"Count",type:"USHORT",value:e};for(var s=0;s<t.length;s++)n[s+1]={name:r+s,type:"USHORT",value:t[s]};return n}function r6(r,t,e){var n=t.length,s=new Array(n+1);s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s[i+1]={name:r+i,type:"TABLE",value:e(t[i],i)};return s}function St(r,t,e){var n=t.length,s=[];s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s=s.concat(e(t[i],i));return s}function i2(r){r.format===1?_1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Et("glyph",r.glyphs))):r.format===2?_1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(St("rangeRecord",r.ranges,function(t){return[{name:"startGlyphID",type:"USHORT",value:t.start},{name:"endGlyphID",type:"USHORT",value:t.end},{name:"startCoverageIndex",type:"USHORT",value:t.index}]}))):Z.assert(!1,"Coverage format must be 1 or 2.")}i2.prototype=Object.create(_1.prototype);i2.prototype.constructor=i2;function o2(r){_1.call(this,"scriptListTable",St("scriptRecord",r,function(t,e){var n=t.script,s=n.defaultLangSys;return Z.assert(!!s,"Unable to write GSUB: script "+t.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:t.tag},{name:"script"+e,type:"TABLE",value:new _1("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new _1("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:s.reqFeatureIndex}].concat(Et("featureIndex",s.featureIndexes)))}].concat(St("langSys",n.langSysRecords,function(i,o){var a=i.langSys;return[{name:"langSysTag"+o,type:"TAG",value:i.tag},{name:"langSys"+o,type:"TABLE",value:new _1("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:a.reqFeatureIndex}].concat(Et("featureIndex",a.featureIndexes)))}]})))}]}))}o2.prototype=Object.create(_1.prototype);o2.prototype.constructor=o2;function a2(r){_1.call(this,"featureListTable",St("featureRecord",r,function(t,e){var n=t.feature;return[{name:"featureTag"+e,type:"TAG",value:t.tag},{name:"feature"+e,type:"TABLE",value:new _1("featureTable",[{name:"featureParams",type:"USHORT",value:n.featureParams}].concat(Et("lookupListIndex",n.lookupListIndexes)))}]}))}a2.prototype=Object.create(_1.prototype);a2.prototype.constructor=a2;function u2(r,t){_1.call(this,"lookupListTable",r6("lookup",r,function(e){var n=t[e.lookupType];return Z.assert(!!n,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new _1("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(r6("subtable",e.subtables,n)))}))}u2.prototype=Object.create(_1.prototype);u2.prototype.constructor=u2;var G={Table:_1,Record:_1,Coverage:i2,ScriptList:o2,FeatureList:a2,LookupList:u2,ushortList:Et,tableList:r6,recordList:St};function I0(r,t){return r.getUint8(t)}function l2(r,t){return r.getUint16(t,!1)}function o_(r,t){return r.getInt16(t,!1)}function K6(r,t){return r.getUint32(t,!1)}function $7(r,t){var e=r.getInt16(t,!1),n=r.getUint16(t+2,!1);return e+n/65535}function a_(r,t){for(var e="",n=t;n<t+4;n+=1)e+=String.fromCharCode(r.getInt8(n));return e}function u_(r,t,e){for(var n=0,s=0;s<e;s+=1)n<<=8,n+=r.getUint8(t+s);return n}function l_(r,t,e){for(var n=[],s=t;s<e;s+=1)n.push(r.getUint8(s));return n}function c_(r){for(var t="",e=0;e<r.length;e+=1)t+=String.fromCharCode(r[e]);return t}var h_={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function O(r,t){this.data=r,this.offset=t,this.relativeOffset=0}O.prototype.parseByte=function(){var r=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r};O.prototype.parseChar=function(){var r=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r};O.prototype.parseCard8=O.prototype.parseByte;O.prototype.parseUShort=function(){var r=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r};O.prototype.parseCard16=O.prototype.parseUShort;O.prototype.parseSID=O.prototype.parseUShort;O.prototype.parseOffset16=O.prototype.parseUShort;O.prototype.parseShort=function(){var r=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r};O.prototype.parseF2Dot14=function(){var r=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,r};O.prototype.parseULong=function(){var r=K6(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r};O.prototype.parseOffset32=O.prototype.parseULong;O.prototype.parseFixed=function(){var r=$7(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r};O.prototype.parseString=function(r){var t=this.data,e=this.offset+this.relativeOffset,n="";this.relativeOffset+=r;for(var s=0;s<r;s++)n+=String.fromCharCode(t.getUint8(e+s));return n};O.prototype.parseTag=function(){return this.parseString(4)};O.prototype.parseLongDateTime=function(){var r=K6(this.data,this.offset+this.relativeOffset+4);return r-=2082844800,this.relativeOffset+=8,r};O.prototype.parseVersion=function(r){var t=l2(this.data,this.offset+this.relativeOffset),e=l2(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,r===void 0&&(r=4096),t+e/r/10};O.prototype.skip=function(r,t){t===void 0&&(t=1),this.relativeOffset+=h_[r]*t};O.prototype.parseULongList=function(r){r===void 0&&(r=this.parseULong());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint32(n),n+=4;return this.relativeOffset+=r*4,t};O.prototype.parseOffset16List=O.prototype.parseUShortList=function(r){r===void 0&&(r=this.parseUShort());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint16(n),n+=2;return this.relativeOffset+=r*2,t};O.prototype.parseShortList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getInt16(n),n+=2;return this.relativeOffset+=r*2,t};O.prototype.parseByteList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint8(n++);return this.relativeOffset+=r,t};O.prototype.parseList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e};O.prototype.parseList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e};O.prototype.parseRecordList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},o=0;o<n.length;o++){var a=n[o],u=t[a];i[a]=u.call(this)}e[s]=i}return e};O.prototype.parseRecordList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},o=0;o<n.length;o++){var a=n[o],u=t[a];i[a]=u.call(this)}e[s]=i}return e};O.prototype.parseStruct=function(r){if(typeof r=="function")return r.call(this);for(var t=Object.keys(r),e={},n=0;n<t.length;n++){var s=t[n],i=r[s];e[s]=i.call(this)}return e};O.prototype.parseValueRecord=function(r){if(r===void 0&&(r=this.parseUShort()),r!==0){var t={};return r&1&&(t.xPlacement=this.parseShort()),r&2&&(t.yPlacement=this.parseShort()),r&4&&(t.xAdvance=this.parseShort()),r&8&&(t.yAdvance=this.parseShort()),r&16&&(t.xPlaDevice=void 0,this.parseShort()),r&32&&(t.yPlaDevice=void 0,this.parseShort()),r&64&&(t.xAdvDevice=void 0,this.parseShort()),r&128&&(t.yAdvDevice=void 0,this.parseShort()),t}};O.prototype.parseValueRecordList=function(){for(var r=this.parseUShort(),t=this.parseUShort(),e=new Array(t),n=0;n<t;n++)e[n]=this.parseValueRecord(r);return e};O.prototype.parsePointer=function(r){var t=this.parseOffset16();if(t>0)return new O(this.data,this.offset+t).parseStruct(r)};O.prototype.parsePointer32=function(r){var t=this.parseOffset32();if(t>0)return new O(this.data,this.offset+t).parseStruct(r)};O.prototype.parseListOfLists=function(r){for(var t=this.parseOffset16List(),e=t.length,n=this.relativeOffset,s=new Array(e),i=0;i<e;i++){var o=t[i];if(o===0){s[i]=void 0;continue}if(this.relativeOffset=o,r){for(var a=this.parseOffset16List(),u=new Array(a.length),l=0;l<a.length;l++)this.relativeOffset=o+a[l],u[l]=r.call(this);s[i]=u}else s[i]=this.parseUShortList()}return this.relativeOffset=n,s};O.prototype.parseCoverage=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort(),e=this.parseUShort();if(t===1)return{format:1,glyphs:this.parseUShortList(e)};if(t===2){for(var n=new Array(e),s=0;s<e;s++)n[s]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+r.toString(16)+": Coverage format must be 1 or 2.")};O.prototype.parseClassDef=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(t===2)return{format:2,ranges:this.parseRecordList({start:O.uShort,end:O.uShort,classId:O.uShort})};throw new Error("0x"+r.toString(16)+": ClassDef format must be 1 or 2.")};O.list=function(r,t){return function(){return this.parseList(r,t)}};O.list32=function(r,t){return function(){return this.parseList32(r,t)}};O.recordList=function(r,t){return function(){return this.parseRecordList(r,t)}};O.recordList32=function(r,t){return function(){return this.parseRecordList32(r,t)}};O.pointer=function(r){return function(){return this.parsePointer(r)}};O.pointer32=function(r){return function(){return this.parsePointer32(r)}};O.tag=O.prototype.parseTag;O.byte=O.prototype.parseByte;O.uShort=O.offset16=O.prototype.parseUShort;O.uShortList=O.prototype.parseUShortList;O.uLong=O.offset32=O.prototype.parseULong;O.uLongList=O.prototype.parseULongList;O.struct=O.prototype.parseStruct;O.coverage=O.prototype.parseCoverage;O.classDef=O.prototype.parseClassDef;var L0={reserved:O.uShort,reqFeatureIndex:O.uShort,featureIndexes:O.uShortList};O.prototype.parseScriptList=function(){return this.parsePointer(O.recordList({tag:O.tag,script:O.pointer({defaultLangSys:O.pointer(L0),langSysRecords:O.recordList({tag:O.tag,langSys:O.pointer(L0)})})}))||[]};O.prototype.parseFeatureList=function(){return this.parsePointer(O.recordList({tag:O.tag,feature:O.pointer({featureParams:O.offset16,lookupListIndexes:O.uShortList})}))||[]};O.prototype.parseLookupList=function(r){return this.parsePointer(O.list(O.pointer(function(){var t=this.parseUShort();Z.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var e=this.parseUShort(),n=e&16;return{lookupType:t,lookupFlag:e,subtables:this.parseList(O.pointer(r[t])),markFilteringSet:n?this.parseUShort():void 0}})))||[]};O.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var r=this.parseUShort(),t=this.parseUShort();Z.argument(r===1&&t<1,"GPOS/GSUB feature variations table unknown.");var e=this.parseRecordList32({conditionSetOffset:O.offset32,featureTableSubstitutionOffset:O.offset32});return e})||[]};var j={getByte:I0,getCard8:I0,getUShort:l2,getCard16:l2,getShort:o_,getULong:K6,getFixed:$7,getTag:a_,getOffset:u_,getBytes:l_,bytesToString:c_,Parser:O};function f_(r,t){t.parseUShort(),r.length=t.parseULong(),r.language=t.parseULong();var e;r.groupCount=e=t.parseULong(),r.glyphIndexMap={};for(var n=0;n<e;n+=1)for(var s=t.parseULong(),i=t.parseULong(),o=t.parseULong(),a=s;a<=i;a+=1)r.glyphIndexMap[a]=o,o++}function d_(r,t,e,n,s){r.length=t.parseUShort(),r.language=t.parseUShort();var i;r.segCount=i=t.parseUShort()>>1,t.skip("uShort",3),r.glyphIndexMap={};for(var o=new j.Parser(e,n+s+14),a=new j.Parser(e,n+s+16+i*2),u=new j.Parser(e,n+s+16+i*4),l=new j.Parser(e,n+s+16+i*6),c=n+s+16+i*8,h=0;h<i-1;h+=1)for(var f=void 0,d=o.parseUShort(),_=a.parseUShort(),m=u.parseShort(),v=l.parseUShort(),y=_;y<=d;y+=1)v!==0?(c=l.offset+l.relativeOffset-2,c+=v,c+=(y-_)*2,f=j.getUShort(e,c),f!==0&&(f=f+m&65535)):f=y+m&65535,r.glyphIndexMap[y]=f}function p_(r,t){var e={};e.version=j.getUShort(r,t),Z.argument(e.version===0,"cmap table version should be 0."),e.numTables=j.getUShort(r,t+2);for(var n=-1,s=e.numTables-1;s>=0;s-=1){var i=j.getUShort(r,t+4+s*8),o=j.getUShort(r,t+4+s*8+2);if(i===3&&(o===0||o===1||o===10)||i===0&&(o===0||o===1||o===2||o===3||o===4)){n=j.getULong(r,t+4+s*8+4);break}}if(n===-1)throw new Error("No valid cmap sub-tables found.");var a=new j.Parser(r,t+n);if(e.format=a.parseUShort(),e.format===12)f_(e,a);else if(e.format===4)d_(e,a,r,t,n);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+e.format+").");return e}function g_(r,t,e){r.segments.push({end:t,start:t,delta:-(t-e),offset:0,glyphIndex:e})}function D_(r){r.segments.push({end:65535,start:65535,delta:1,offset:0})}function __(r){var t=!0,e;for(e=r.length-1;e>0;e-=1){var n=r.get(e);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var s=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(s=s.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),s=s.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 i=new G.Table("cmap",s);for(i.segments=[],e=0;e<r.length;e+=1){for(var o=r.get(e),a=0;a<o.unicodes.length;a+=1)g_(i,o.unicodes[a],e);i.segments=i.segments.sort(function(F,E){return F.start-E.start})}D_(i);var u=i.segments.length,l=0,c=[],h=[],f=[],d=[],_=[],m=[];for(e=0;e<u;e+=1){var v=i.segments[e];v.end<=65535&&v.start<=65535?(c=c.concat({name:"end_"+e,type:"USHORT",value:v.end}),h=h.concat({name:"start_"+e,type:"USHORT",value:v.start}),f=f.concat({name:"idDelta_"+e,type:"SHORT",value:v.delta}),d=d.concat({name:"idRangeOffset_"+e,type:"USHORT",value:v.offset}),v.glyphId!==void 0&&(_=_.concat({name:"glyph_"+e,type:"USHORT",value:v.glyphId}))):l+=1,!t&&v.glyphIndex!==void 0&&(m=m.concat({name:"cmap12Start_"+e,type:"ULONG",value:v.start}),m=m.concat({name:"cmap12End_"+e,type:"ULONG",value:v.end}),m=m.concat({name:"cmap12Glyph_"+e,type:"ULONG",value:v.glyphIndex}))}if(i.segCountX2=(u-l)*2,i.searchRange=Math.pow(2,Math.floor(Math.log(u-l)/Math.log(2)))*2,i.entrySelector=Math.log(i.searchRange/2)/Math.log(2),i.rangeShift=i.segCountX2-i.searchRange,i.fields=i.fields.concat(c),i.fields.push({name:"reservedPad",type:"USHORT",value:0}),i.fields=i.fields.concat(h),i.fields=i.fields.concat(f),i.fields=i.fields.concat(d),i.fields=i.fields.concat(_),i.cmap4Length=14+c.length*2+2+h.length*2+f.length*2+d.length*2+_.length*2,!t){var y=16+m.length*4;i.cmap12Offset=12+2*2+4+i.cmap4Length,i.fields=i.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:m.length/3}]),i.fields=i.fields.concat(m)}return i}var H7={parse:p_,make:__},qt=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],v_=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],m_=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],xe=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function G7(r){this.font=r}G7.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.font.glyphs;if(e){for(var n=0;n<e.length;n+=1)for(var s=e.get(n),i=0;i<s.unicodes.length;i+=1)if(s.unicodes[i]===t)return n}return null};function z7(r){this.cmap=r}z7.prototype.charToGlyphIndex=function(r){return this.cmap.glyphIndexMap[r.codePointAt(0)]||0};function c2(r,t){this.encoding=r,this.charset=t}c2.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.encoding[t];return this.charset.indexOf(e)};function q6(r){switch(r.version){case 1:this.names=xe.slice();break;case 2:this.names=new Array(r.numberOfGlyphs);for(var t=0;t<r.numberOfGlyphs;t++)r.glyphNameIndex[t]<xe.length?this.names[t]=xe[r.glyphNameIndex[t]]:this.names[t]=r.names[r.glyphNameIndex[t]-xe.length];break;case 2.5:this.names=new Array(r.numberOfGlyphs);for(var e=0;e<r.numberOfGlyphs;e++)this.names[e]=xe[e+r.glyphNameIndex[e]];break;case 3:this.names=[];break;default:this.names=[];break}}q6.prototype.nameToGlyphIndex=function(r){return this.names.indexOf(r)};q6.prototype.glyphIndexToName=function(r){return this.names[r]};function b_(r){for(var t,e=r.tables.cmap.glyphIndexMap,n=Object.keys(e),s=0;s<n.length;s+=1){var i=n[s],o=e[i];t=r.glyphs.get(o),t.addUnicode(parseInt(i))}for(var a=0;a<r.glyphs.length;a+=1)t=r.glyphs.get(a),r.cffEncoding?r.isCIDFont?t.name="gid"+a:t.name=r.cffEncoding.charset[a]:r.glyphNames.names&&(t.name=r.glyphNames.glyphIndexToName(a))}function y_(r){r._IndexToUnicodeMap={};for(var t=r.tables.cmap.glyphIndexMap,e=Object.keys(t),n=0;n<e.length;n+=1){var s=e[n],i=t[s];r._IndexToUnicodeMap[i]===void 0?r._IndexToUnicodeMap[i]={unicodes:[parseInt(s)]}:r._IndexToUnicodeMap[i].unicodes.push(parseInt(s))}}function F_(r,t){t.lowMemory?y_(r):b_(r)}function C_(r,t,e,n,s){r.beginPath(),r.moveTo(t,e),r.lineTo(n,s),r.stroke()}var Se={line:C_};function E_(r,t){var e=t||new d1;return{configurable:!0,get:function(){return typeof e=="function"&&(e=e()),e},set:function(n){e=n}}}function O1(r){this.bindConstructorValues(r)}O1.prototype.bindConstructorValues=function(r){this.index=r.index||0,this.name=r.name||null,this.unicode=r.unicode||void 0,this.unicodes=r.unicodes||r.unicode!==void 0?[r.unicode]:[],"xMin"in r&&(this.xMin=r.xMin),"yMin"in r&&(this.yMin=r.yMin),"xMax"in r&&(this.xMax=r.xMax),"yMax"in r&&(this.yMax=r.yMax),"advanceWidth"in r&&(this.advanceWidth=r.advanceWidth),Object.defineProperty(this,"path",E_(this,r.path))};O1.prototype.addUnicode=function(r){this.unicodes.length===0&&(this.unicode=r),this.unicodes.push(r)};O1.prototype.getBoundingBox=function(){return this.path.getBoundingBox()};O1.prototype.getPath=function(r,t,e,n,s){r=r!==void 0?r:0,t=t!==void 0?t:0,e=e!==void 0?e:72;var i,o;n||(n={});var a=n.xScale,u=n.yScale;if(n.hinting&&s&&s.hinting&&(o=this.path&&s.hinting.exec(this,e)),o)i=s.hinting.getCommands(o),r=Math.round(r),t=Math.round(t),a=u=1;else{i=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*e;a===void 0&&(a=l),u===void 0&&(u=l)}for(var c=new d1,h=0;h<i.length;h+=1){var f=i[h];f.type==="M"?c.moveTo(r+f.x*a,t+-f.y*u):f.type==="L"?c.lineTo(r+f.x*a,t+-f.y*u):f.type==="Q"?c.quadraticCurveTo(r+f.x1*a,t+-f.y1*u,r+f.x*a,t+-f.y*u):f.type==="C"?c.curveTo(r+f.x1*a,t+-f.y1*u,r+f.x2*a,t+-f.y2*u,r+f.x*a,t+-f.y*u):f.type==="Z"&&c.closePath()}return c};O1.prototype.getContours=function(){if(this.points===void 0)return[];for(var r=[],t=[],e=0;e<this.points.length;e+=1){var n=this.points[e];t.push(n),n.lastPointOfContour&&(r.push(t),t=[])}return Z.argument(t.length===0,"There are still points left in the current contour."),r};O1.prototype.getMetrics=function(){for(var r=this.path.commands,t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];s.type!=="Z"&&(t.push(s.x),e.push(s.y)),(s.type==="Q"||s.type==="C")&&(t.push(s.x1),e.push(s.y1)),s.type==="C"&&(t.push(s.x2),e.push(s.y2))}var i={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,e),leftSideBearing:this.leftSideBearing};return isFinite(i.xMin)||(i.xMin=0),isFinite(i.xMax)||(i.xMax=this.advanceWidth),isFinite(i.yMin)||(i.yMin=0),isFinite(i.yMax)||(i.yMax=0),i.rightSideBearing=this.advanceWidth-i.leftSideBearing-(i.xMax-i.xMin),i};O1.prototype.draw=function(r,t,e,n,s){this.getPath(t,e,n,s).draw(r)};O1.prototype.drawPoints=function(r,t,e,n){function s(h,f,d,_){r.beginPath();for(var m=0;m<h.length;m+=1)r.moveTo(f+h[m].x*_,d+h[m].y*_),r.arc(f+h[m].x*_,d+h[m].y*_,2,0,Math.PI*2,!1);r.closePath(),r.fill()}t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24;for(var i=1/this.path.unitsPerEm*n,o=[],a=[],u=this.path,l=0;l<u.commands.length;l+=1){var c=u.commands[l];c.x!==void 0&&o.push({x:c.x,y:-c.y}),c.x1!==void 0&&a.push({x:c.x1,y:-c.y1}),c.x2!==void 0&&a.push({x:c.x2,y:-c.y2})}r.fillStyle="blue",s(o,t,e,i),r.fillStyle="red",s(a,t,e,i)};O1.prototype.drawMetrics=function(r,t,e,n){var s;t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24,s=1/this.path.unitsPerEm*n,r.lineWidth=1,r.strokeStyle="black",Se.line(r,t,-1e4,t,1e4),Se.line(r,-1e4,e,1e4,e);var i=this.xMin||0,o=this.yMin||0,a=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;r.strokeStyle="blue",Se.line(r,t+i*s,-1e4,t+i*s,1e4),Se.line(r,t+a*s,-1e4,t+a*s,1e4),Se.line(r,-1e4,e+-o*s,1e4,e+-o*s),Se.line(r,-1e4,e+-u*s,1e4,e+-u*s),r.strokeStyle="green",Se.line(r,t+l*s,-1e4,t+l*s,1e4)};function Xt(r,t,e){Object.defineProperty(r,t,{get:function(){return r.path,r[e]},set:function(n){r[e]=n},enumerable:!0,configurable:!0})}function Z6(r,t){if(this.font=r,this.glyphs={},Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];n.path.unitsPerEm=r.unitsPerEm,this.glyphs[e]=n}this.length=t&&t.length||0}Z6.prototype.get=function(r){if(this.glyphs[r]===void 0){this.font._push(r),typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());var t=this.glyphs[r],e=this.font._IndexToUnicodeMap[r];if(e)for(var n=0;n<e.unicodes.length;n++)t.addUnicode(e.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+r:t.name=this.font.cffEncoding.charset[r]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(r)),this.glyphs[r].advanceWidth=this.font._hmtxTableData[r].advanceWidth,this.glyphs[r].leftSideBearing=this.font._hmtxTableData[r].leftSideBearing}else typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());return this.glyphs[r]};Z6.prototype.push=function(r,t){this.glyphs[r]=t,this.length++};function S_(r,t){return new O1({index:t,font:r})}function T_(r,t,e,n,s,i){return function(){var o=new O1({index:t,font:r});return o.path=function(){e(o,n,s);var a=i(r.glyphs,o);return a.unitsPerEm=r.unitsPerEm,a},Xt(o,"xMin","_xMin"),Xt(o,"xMax","_xMax"),Xt(o,"yMin","_yMin"),Xt(o,"yMax","_yMax"),o}}function x_(r,t,e,n){return function(){var s=new O1({index:t,font:r});return s.path=function(){var i=e(r,s,n);return i.unitsPerEm=r.unitsPerEm,i},s}}var ee={GlyphSet:Z6,glyphLoader:S_,ttfGlyphLoader:T_,cffGlyphLoader:x_};function X7(r,t){if(r===t)return!0;if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(var e=0;e<r.length;e+=1)if(!X7(r[e],t[e]))return!1;return!0}else return!1}function s6(r){var t;return r.length<1240?t=107:r.length<33900?t=1131:t=32768,t}function fe(r,t,e){var n=[],s=[],i=j.getCard16(r,t),o,a;if(i!==0){var u=j.getByte(r,t+2);o=t+(i+1)*u+2;for(var l=t+3,c=0;c<i+1;c+=1)n.push(j.getOffset(r,l,u)),l+=u;a=o+n[i]}else a=t+2;for(var h=0;h<n.length-1;h+=1){var f=j.getBytes(r,o+n[h],o+n[h+1]);e&&(f=e(f)),s.push(f)}return{objects:s,startOffset:t,endOffset:a}}function w_(r,t){var e=[],n=j.getCard16(r,t),s,i;if(n!==0){var o=j.getByte(r,t+2);s=t+(n+1)*o+2;for(var a=t+3,u=0;u<n+1;u+=1)e.push(j.getOffset(r,a,o)),a+=o;i=s+e[n]}else i=t+2;return{offsets:e,startOffset:t,endOffset:i}}function B_(r,t,e,n,s){var i=j.getCard16(e,n),o=0;if(i!==0){var a=j.getByte(e,n+2);o=n+(i+1)*a+2}var u=j.getBytes(e,o+t[r],o+t[r+1]);return s&&(u=s(u)),u}function O_(r){for(var t="",e=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var s=r.parseByte(),i=s>>4,o=s&15;if(i===e||(t+=n[i],o===e))break;t+=n[o]}return parseFloat(t)}function R_(r,t){var e,n,s,i;if(t===28)return e=r.parseByte(),n=r.parseByte(),e<<8|n;if(t===29)return e=r.parseByte(),n=r.parseByte(),s=r.parseByte(),i=r.parseByte(),e<<24|n<<16|s<<8|i;if(t===30)return O_(r);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return e=r.parseByte(),(t-247)*256+e+108;if(t>=251&&t<=254)return e=r.parseByte(),-(t-251)*256-e-108;throw new Error("Invalid b0 "+t)}function A_(r){for(var t={},e=0;e<r.length;e+=1){var n=r[e][0],s=r[e][1],i=void 0;if(s.length===1?i=s[0]:i=s,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=i}return t}function W7(r,t,e){t=t!==void 0?t:0;var n=new j.Parser(r,t),s=[],i=[];for(e=e!==void 0?e:r.length;n.relativeOffset<e;){var o=n.parseByte();o<=21?(o===12&&(o=1200+n.parseByte()),s.push([o,i]),i=[]):i.push(R_(n,o))}return A_(s)}function dt(r,t){return t<=390?t=qt[t]:t=r[t-391],t}function Y7(r,t,e){for(var n={},s,i=0;i<t.length;i+=1){var o=t[i];if(Array.isArray(o.type)){var a=[];a.length=o.type.length;for(var u=0;u<o.type.length;u++)s=r[o.op]!==void 0?r[o.op][u]:void 0,s===void 0&&(s=o.value!==void 0&&o.value[u]!==void 0?o.value[u]:null),o.type[u]==="SID"&&(s=dt(e,s)),a[u]=s;n[o.name]=a}else s=r[o.op],s===void 0&&(s=o.value!==void 0?o.value:null),o.type==="SID"&&(s=dt(e,s)),n[o.name]=s}return n}function k_(r,t){var e={};return e.formatMajor=j.getCard8(r,t),e.formatMinor=j.getCard8(r,t+1),e.size=j.getCard8(r,t+2),e.offsetSize=j.getCard8(r,t+3),e.startOffset=t,e.endOffset=t+4,e}var j7=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],V7=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function I_(r,t){var e=W7(r,0,r.byteLength);return Y7(e,j7,t)}function K7(r,t,e,n){var s=W7(r,t,e);return Y7(s,V7,n)}function P0(r,t,e,n){for(var s=[],i=0;i<e.length;i+=1){var o=new DataView(new Uint8Array(e[i]).buffer),a=I_(o,n);a._subrs=[],a._subrsBias=0,a._defaultWidthX=0,a._nominalWidthX=0;var u=a.private[0],l=a.private[1];if(u!==0&&l!==0){var c=K7(r,l+t,u,n);if(a._defaultWidthX=c.defaultWidthX,a._nominalWidthX=c.nominalWidthX,c.subrs!==0){var h=l+c.subrs,f=fe(r,h+t);a._subrs=f.objects,a._subrsBias=s6(a._subrs)}a._privateDict=c}s.push(a)}return s}function L_(r,t,e,n){var s,i,o=new j.Parser(r,t);e-=1;var a=[".notdef"],u=o.parseCard8();if(u===0)for(var l=0;l<e;l+=1)s=o.parseSID(),a.push(dt(n,s));else if(u===1)for(;a.length<=e;){s=o.parseSID(),i=o.parseCard8();for(var c=0;c<=i;c+=1)a.push(dt(n,s)),s+=1}else if(u===2)for(;a.length<=e;){s=o.parseSID(),i=o.parseCard16();for(var h=0;h<=i;h+=1)a.push(dt(n,s)),s+=1}else throw new Error("Unknown charset format "+u);return a}function P_(r,t,e){var n,s={},i=new j.Parser(r,t),o=i.parseCard8();if(o===0)for(var a=i.parseCard8(),u=0;u<a;u+=1)n=i.parseCard8(),s[n]=u;else if(o===1){var l=i.parseCard8();n=1;for(var c=0;c<l;c+=1)for(var h=i.parseCard8(),f=i.parseCard8(),d=h;d<=h+f;d+=1)s[d]=n,n+=1}else throw new Error("Unknown encoding format "+o);return new c2(s,e)}function M0(r,t,e){var n,s,i,o,a=new d1,u=[],l=0,c=!1,h=!1,f=0,d=0,_,m,v,y;if(r.isCIDFont){var F=r.tables.cff.topDict._fdSelect[t.index],E=r.tables.cff.topDict._fdArray[F];_=E._subrs,m=E._subrsBias,v=E._defaultWidthX,y=E._nominalWidthX}else _=r.tables.cff.topDict._subrs,m=r.tables.cff.topDict._subrsBias,v=r.tables.cff.topDict._defaultWidthX,y=r.tables.cff.topDict._nominalWidthX;var x=v;function T(S,R){h&&a.closePath(),a.moveTo(S,R),h=!0}function B(){var S;S=u.length%2!==0,S&&!c&&(x=u.shift()+y),l+=u.length>>1,u.length=0,c=!0}function w(S){for(var R,A,k,I,P,L,U,H,z,$,W,Q,e1=0;e1<S.length;){var t1=S[e1];switch(e1+=1,t1){case 1:B();break;case 3:B();break;case 4:u.length>1&&!c&&(x=u.shift()+y,c=!0),d+=u.pop(),T(f,d);break;case 5:for(;u.length>0;)f+=u.shift(),d+=u.shift(),a.lineTo(f,d);break;case 6:for(;u.length>0&&(f+=u.shift(),a.lineTo(f,d),u.length!==0);)d+=u.shift(),a.lineTo(f,d);break;case 7:for(;u.length>0&&(d+=u.shift(),a.lineTo(f,d),u.length!==0);)f+=u.shift(),a.lineTo(f,d);break;case 8:for(;u.length>0;)n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o+u.shift(),a.curveTo(n,s,i,o,f,d);break;case 10:P=u.pop()+m,L=_[P],L&&w(L);break;case 11:return;case 12:switch(t1=S[e1],e1+=1,t1){case 35:n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),U=i+u.shift(),H=o+u.shift(),z=U+u.shift(),$=H+u.shift(),W=z+u.shift(),Q=$+u.shift(),f=W+u.shift(),d=Q+u.shift(),u.shift(),a.curveTo(n,s,i,o,U,H),a.curveTo(z,$,W,Q,f,d);break;case 34:n=f+u.shift(),s=d,i=n+u.shift(),o=s+u.shift(),U=i+u.shift(),H=o,z=U+u.shift(),$=o,W=z+u.shift(),Q=d,f=W+u.shift(),a.curveTo(n,s,i,o,U,H),a.curveTo(z,$,W,Q,f,d);break;case 36:n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),U=i+u.shift(),H=o,z=U+u.shift(),$=o,W=z+u.shift(),Q=$+u.shift(),f=W+u.shift(),a.curveTo(n,s,i,o,U,H),a.curveTo(z,$,W,Q,f,d);break;case 37:n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),U=i+u.shift(),H=o+u.shift(),z=U+u.shift(),$=H+u.shift(),W=z+u.shift(),Q=$+u.shift(),Math.abs(W-f)>Math.abs(Q-d)?f=W+u.shift():d=Q+u.shift(),a.curveTo(n,s,i,o,U,H),a.curveTo(z,$,W,Q,f,d);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+t1),u.length=0}break;case 14:u.length>0&&!c&&(x=u.shift()+y,c=!0),h&&(a.closePath(),h=!1);break;case 18:B();break;case 19:case 20:B(),e1+=l+7>>3;break;case 21:u.length>2&&!c&&(x=u.shift()+y,c=!0),d+=u.pop(),f+=u.pop(),T(f,d);break;case 22:u.length>1&&!c&&(x=u.shift()+y,c=!0),f+=u.pop(),T(f,d);break;case 23:B();break;case 24:for(;u.length>2;)n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o+u.shift(),a.curveTo(n,s,i,o,f,d);f+=u.shift(),d+=u.shift(),a.lineTo(f,d);break;case 25:for(;u.length>6;)f+=u.shift(),d+=u.shift(),a.lineTo(f,d);n=f+u.shift(),s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o+u.shift(),a.curveTo(n,s,i,o,f,d);break;case 26:for(u.length%2&&(f+=u.shift());u.length>0;)n=f,s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i,d=o+u.shift(),a.curveTo(n,s,i,o,f,d);break;case 27:for(u.length%2&&(d+=u.shift());u.length>0;)n=f+u.shift(),s=d,i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o,a.curveTo(n,s,i,o,f,d);break;case 28:R=S[e1],A=S[e1+1],u.push((R<<24|A<<16)>>16),e1+=2;break;case 29:P=u.pop()+r.gsubrsBias,L=r.gsubrs[P],L&&w(L);break;case 30:for(;u.length>0&&(n=f,s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,d),u.length!==0);)n=f+u.shift(),s=d,i=n+u.shift(),o=s+u.shift(),d=o+u.shift(),f=i+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,d);break;case 31:for(;u.length>0&&(n=f+u.shift(),s=d,i=n+u.shift(),o=s+u.shift(),d=o+u.shift(),f=i+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,d),u.length!==0);)n=f,s=d+u.shift(),i=n+u.shift(),o=s+u.shift(),f=i+u.shift(),d=o+(u.length===1?u.shift():0),a.curveTo(n,s,i,o,f,d);break;default:t1<32?console.log("Glyph "+t.index+": unknown operator "+t1):t1<247?u.push(t1-139):t1<251?(R=S[e1],e1+=1,u.push((t1-247)*256+R+108)):t1<255?(R=S[e1],e1+=1,u.push(-(t1-251)*256-R-108)):(R=S[e1],A=S[e1+1],k=S[e1+2],I=S[e1+3],e1+=4,u.push((R<<24|A<<16|k<<8|I)/65536))}}}return w(e),t.advanceWidth=x,a}function M_(r,t,e,n){var s=[],i,o=new j.Parser(r,t),a=o.parseCard8();if(a===0)for(var u=0;u<e;u++){if(i=o.parseCard8(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");s.push(i)}else if(a===3){var l=o.parseCard16(),c=o.parseCard16();if(c!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h,f=0;f<l;f++){if(i=o.parseCard8(),h=o.parseCard16(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");if(h>e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;c<h;c++)s.push(i);c=h}if(h!==e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+h)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+a);return s}function N_(r,t,e,n){e.tables.cff={};var s=k_(r,t),i=fe(r,s.endOffset,j.bytesToString),o=fe(r,i.endOffset),a=fe(r,o.endOffset,j.bytesToString),u=fe(r,a.endOffset);e.gsubrs=u.objects,e.gsubrsBias=s6(e.gsubrs);var l=P0(r,t,o.objects,a.objects);if(l.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var c=l[0];if(e.tables.cff.topDict=c,c._privateDict&&(e.defaultWidthX=c._privateDict.defaultWidthX,e.nominalWidthX=c._privateDict.nominalWidthX),c.ros[0]!==void 0&&c.ros[1]!==void 0&&(e.isCIDFont=!0),e.isCIDFont){var h=c.fdArray,f=c.fdSelect;if(h===0||f===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");h+=t;var d=fe(r,h),_=P0(r,t,d.objects,a.objects);c._fdArray=_,f+=t,c._fdSelect=M_(r,f,e.numGlyphs,_.length)}var m=t+c.private[1],v=K7(r,m,c.private[0],a.objects);if(e.defaultWidthX=v.defaultWidthX,e.nominalWidthX=v.nominalWidthX,v.subrs!==0){var y=m+v.subrs,F=fe(r,y);e.subrs=F.objects,e.subrsBias=s6(e.subrs)}else e.subrs=[],e.subrsBias=0;var E;n.lowMemory?(E=w_(r,t+c.charStrings),e.nGlyphs=E.offsets.length):(E=fe(r,t+c.charStrings),e.nGlyphs=E.objects.length);var x=L_(r,t+c.charset,e.nGlyphs,a.objects);if(c.encoding===0?e.cffEncoding=new c2(v_,x):c.encoding===1?e.cffEncoding=new c2(m_,x):e.cffEncoding=P_(r,t+c.encoding,x),e.encoding=e.encoding||e.cffEncoding,e.glyphs=new ee.GlyphSet(e),n.lowMemory)e._push=function(w){var S=B_(w,E.offsets,r,t+c.charStrings);e.glyphs.push(w,ee.cffGlyphLoader(e,w,M0,S))};else for(var T=0;T<e.nGlyphs;T+=1){var B=E.objects[T];e.glyphs.push(T,ee.cffGlyphLoader(e,T,M0,B))}}function q7(r,t){var e,n=qt.indexOf(r);return n>=0&&(e=n),n=t.indexOf(r),n>=0?e=n+qt.length:(e=qt.length+t.length,t.push(r)),e}function U_(){return new G.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 $_(r){var t=new G.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var e=0;e<r.length;e+=1)t.names.push({name:"name_"+e,type:"NAME",value:r[e]});return t}function Z7(r,t,e){for(var n={},s=0;s<r.length;s+=1){var i=r[s],o=t[i.name];o!==void 0&&!X7(o,i.value)&&(i.type==="SID"&&(o=q7(o,e)),n[i.op]={name:i.name,type:i.type,value:o})}return n}function N0(r,t){var e=new G.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=Z7(j7,r,t),e}function U0(r){var t=new G.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:r}],t}function H_(r){var t=new G.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var e=0;e<r.length;e+=1)t.strings.push({name:"string_"+e,type:"STRING",value:r[e]});return t}function G_(){return new G.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function z_(r,t){for(var e=new G.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<r.length;n+=1){var s=r[n],i=q7(s,t);e.fields.push({name:"glyph_"+n,type:"SID",value:i})}return e}function X_(r){var t=[],e=r.path;t.push({name:"width",type:"NUMBER",value:r.advanceWidth});for(var n=0,s=0,i=0;i<e.commands.length;i+=1){var o=void 0,a=void 0,u=e.commands[i];if(u.type==="Q"){var l=.3333333333333333,c=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+c*u.x1),y1:Math.round(l*s+c*u.y1),x2:Math.round(l*u.x+c*u.x1),y2:Math.round(l*u.y+c*u.y1)}}if(u.type==="M")o=Math.round(u.x-n),a=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="L")o=Math.round(u.x-n),a=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="C"){var h=Math.round(u.x1-n),f=Math.round(u.y1-s),d=Math.round(u.x2-u.x1),_=Math.round(u.y2-u.y1);o=Math.round(u.x-u.x2),a=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:h}),t.push({name:"dy1",type:"NUMBER",value:f}),t.push({name:"dx2",type:"NUMBER",value:d}),t.push({name:"dy2",type:"NUMBER",value:_}),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:a}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),s=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function W_(r){for(var t=new G.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),e=0;e<r.length;e+=1){var n=r.get(e),s=X_(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:s})}return t}function Y_(r,t){var e=new G.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=Z7(V7,r,t),e}function j_(r,t){for(var e=new G.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),n=1/t.unitsPerEm,s={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[n,0,0,n,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},i={},o=[],a,u=1;u<r.length;u+=1)a=r.get(u),o.push(a.name);var l=[];e.header=U_(),e.nameIndex=$_([t.postScriptName]);var c=N0(s,l);e.topDictIndex=U0(c),e.globalSubrIndex=G_(),e.charsets=z_(o,l),e.charStringsIndex=W_(r),e.privateDict=Y_(i,l),e.stringIndex=H_(l);var h=e.header.sizeOf()+e.nameIndex.sizeOf()+e.topDictIndex.sizeOf()+e.stringIndex.sizeOf()+e.globalSubrIndex.sizeOf();return s.charset=h,s.encoding=0,s.charStrings=s.charset+e.charsets.sizeOf(),s.private[1]=s.charStrings+e.charStringsIndex.sizeOf(),c=N0(s,l),e.topDictIndex=U0(c),e}var J7={parse:N_,make:j_};function V_(r,t){var e={},n=new j.Parser(r,t);return e.version=n.parseVersion(),e.fontRevision=Math.round(n.parseFixed()*1e3)/1e3,e.checkSumAdjustment=n.parseULong(),e.magicNumber=n.parseULong(),Z.argument(e.magicNumber===1594834165,"Font header has wrong magic number."),e.flags=n.parseUShort(),e.unitsPerEm=n.parseUShort(),e.created=n.parseLongDateTime(),e.modified=n.parseLongDateTime(),e.xMin=n.parseShort(),e.yMin=n.parseShort(),e.xMax=n.parseShort(),e.yMax=n.parseShort(),e.macStyle=n.parseUShort(),e.lowestRecPPEM=n.parseUShort(),e.fontDirectionHint=n.parseShort(),e.indexToLocFormat=n.parseShort(),e.glyphDataFormat=n.parseShort(),e}function K_(r){var t=Math.round(new Date().getTime()/1e3)+2082844800,e=t;return r.createdTimestamp&&(e=r.createdTimestamp+2082844800),new G.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:e},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],r)}var Q7={parse:V_,make:K_};function q_(r,t){var e={},n=new j.Parser(r,t);return e.version=n.parseVersion(),e.ascender=n.parseShort(),e.descender=n.parseShort(),e.lineGap=n.parseShort(),e.advanceWidthMax=n.parseUShort(),e.minLeftSideBearing=n.parseShort(),e.minRightSideBearing=n.parseShort(),e.xMaxExtent=n.parseShort(),e.caretSlopeRise=n.parseShort(),e.caretSlopeRun=n.parseShort(),e.caretOffset=n.parseShort(),n.relativeOffset+=8,e.metricDataFormat=n.parseShort(),e.numberOfHMetrics=n.parseUShort(),e}function Z_(r){return new G.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],r)}var en={parse:q_,make:Z_};function J_(r,t,e,n,s){for(var i,o,a=new j.Parser(r,t),u=0;u<n;u+=1){u<e&&(i=a.parseUShort(),o=a.parseShort());var l=s.get(u);l.advanceWidth=i,l.leftSideBearing=o}}function Q_(r,t,e,n,s){r._hmtxTableData={};for(var i,o,a=new j.Parser(t,e),u=0;u<s;u+=1)u<n&&(i=a.parseUShort(),o=a.parseShort()),r._hmtxTableData[u]={advanceWidth:i,leftSideBearing:o}}function ev(r,t,e,n,s,i,o){o.lowMemory?Q_(r,t,e,n,s):J_(t,e,n,s,i)}function tv(r){for(var t=new G.Table("hmtx",[]),e=0;e<r.length;e+=1){var n=r.get(e),s=n.advanceWidth||0,i=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+e,type:"USHORT",value:s}),t.fields.push({name:"leftSideBearing_"+e,type:"SHORT",value:i})}return t}var tn={parse:ev,make:tv};function nv(r){for(var t=new G.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:r.length}]),e="",n=12+r.length*4,s=0;s<r.length;++s){var i=e.indexOf(r[s]);i<0&&(i=e.length,e+=r[s]),t.fields.push({name:"offset "+s,type:"USHORT",value:n+i}),t.fields.push({name:"length "+s,type:"USHORT",value:r[s].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),t}function rv(r,t){var e=new j.Parser(r,t),n=e.parseULong();Z.argument(n===1,"Unsupported ltag table version."),e.skip("uLong",1);for(var s=e.parseULong(),i=[],o=0;o<s;o++){for(var a="",u=t+e.parseUShort(),l=e.parseUShort(),c=u;c<u+l;++c)a+=String.fromCharCode(r.getInt8(c));i.push(a)}return i}var nn={make:nv,parse:rv};function sv(r,t){var e={},n=new j.Parser(r,t);return e.version=n.parseVersion(),e.numGlyphs=n.parseUShort(),e.version===1&&(e.maxPoints=n.parseUShort(),e.maxContours=n.parseUShort(),e.maxCompositePoints=n.parseUShort(),e.maxCompositeContours=n.parseUShort(),e.maxZones=n.parseUShort(),e.maxTwilightPoints=n.parseUShort(),e.maxStorage=n.parseUShort(),e.maxFunctionDefs=n.parseUShort(),e.maxInstructionDefs=n.parseUShort(),e.maxStackElements=n.parseUShort(),e.maxSizeOfInstructions=n.parseUShort(),e.maxComponentElements=n.parseUShort(),e.maxComponentDepth=n.parseUShort()),e}function iv(r){return new G.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:r}])}var rn={parse:sv,make:iv},sn=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],on={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},ov={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},an={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function av(r,t,e){switch(r){case 0:if(t===65535)return"und";if(e)return e[t];break;case 1:return on[t];case 3:return an[t]}}var i6="utf-16",uv={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},lv={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function un(r,t,e){switch(r){case 0:return i6;case 1:return lv[e]||uv[t];case 3:if(t===1||t===10)return i6;break}}function cv(r,t,e){for(var n={},s=new j.Parser(r,t),i=s.parseUShort(),o=s.parseUShort(),a=s.offset+s.parseUShort(),u=0;u<o;u++){var l=s.parseUShort(),c=s.parseUShort(),h=s.parseUShort(),f=s.parseUShort(),d=sn[f]||f,_=s.parseUShort(),m=s.parseUShort(),v=av(l,h,e),y=un(l,c,h);if(y!==void 0&&v!==void 0){var F=void 0;if(y===i6?F=Qe.UTF16(r,a+m,_):F=Qe.MACSTRING(r,a+m,_,y),F){var E=n[d];E===void 0&&(E=n[d]={}),E[v]=F}}}return i===1&&s.parseUShort(),n}function R2(r){var t={};for(var e in r)t[r[e]]=parseInt(e);return t}function $0(r,t,e,n,s,i){return new G.Record("NameRecord",[{name:"platformID",type:"USHORT",value:r},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:e},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:s},{name:"offset",type:"USHORT",value:i}])}function hv(r,t){var e=r.length,n=t.length-e+1;e:for(var s=0;s<n;s++)for(;s<n;s++){for(var i=0;i<e;i++)if(t[s+i]!==r[i])continue e;return s}return-1}function H0(r,t){var e=hv(r,t);if(e<0){e=t.length;for(var n=0,s=r.length;n<s;++n)t.push(r[n])}return e}function fv(r,t){var e,n=[],s={},i=R2(sn);for(var o in r){var a=i[o];if(a===void 0&&(a=o),e=parseInt(a),isNaN(e))throw new Error('Name table entry "'+o+'" does not exist, see nameTableNames for complete list.');s[e]=r[o],n.push(e)}for(var u=R2(on),l=R2(an),c=[],h=[],f=0;f<n.length;f++){e=n[f];var d=s[e];for(var _ in d){var m=d[_],v=1,y=u[_],F=ov[y],E=un(v,F,y),x=N.MACSTRING(m,E);x===void 0&&(v=0,y=t.indexOf(_),y<0&&(y=t.length,t.push(_)),F=4,x=N.UTF16(m));var T=H0(x,h);c.push($0(v,F,y,e,x.length,T));var B=l[_];if(B!==void 0){var w=N.UTF16(m),S=H0(w,h);c.push($0(3,1,B,e,w.length,S))}}}c.sort(function(k,I){return k.platformID-I.platformID||k.encodingID-I.encodingID||k.languageID-I.languageID||k.nameID-I.nameID});for(var R=new G.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:c.length},{name:"stringOffset",type:"USHORT",value:6+c.length*12}]),A=0;A<c.length;A++)R.fields.push({name:"record_"+A,type:"RECORD",value:c[A]});return R.fields.push({name:"strings",type:"LITERAL",value:h}),R}var ln={parse:cv,make:fv},o6=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function dv(r){for(var t=0;t<o6.length;t+=1){var e=o6[t];if(r>=e.begin&&r<e.end)return t}return-1}function pv(r,t){var e={},n=new j.Parser(r,t);e.version=n.parseUShort(),e.xAvgCharWidth=n.parseShort(),e.usWeightClass=n.parseUShort(),e.usWidthClass=n.parseUShort(),e.fsType=n.parseUShort(),e.ySubscriptXSize=n.parseShort(),e.ySubscriptYSize=n.parseShort(),e.ySubscriptXOffset=n.parseShort(),e.ySubscriptYOffset=n.parseShort(),e.ySuperscriptXSize=n.parseShort(),e.ySuperscriptYSize=n.parseShort(),e.ySuperscriptXOffset=n.parseShort(),e.ySuperscriptYOffset=n.parseShort(),e.yStrikeoutSize=n.parseShort(),e.yStrikeoutPosition=n.parseShort(),e.sFamilyClass=n.parseShort(),e.panose=[];for(var s=0;s<10;s++)e.panose[s]=n.parseByte();return e.ulUnicodeRange1=n.parseULong(),e.ulUnicodeRange2=n.parseULong(),e.ulUnicodeRange3=n.parseULong(),e.ulUnicodeRange4=n.parseULong(),e.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),e.fsSelection=n.parseUShort(),e.usFirstCharIndex=n.parseUShort(),e.usLastCharIndex=n.parseUShort(),e.sTypoAscender=n.parseShort(),e.sTypoDescender=n.parseShort(),e.sTypoLineGap=n.parseShort(),e.usWinAscent=n.parseUShort(),e.usWinDescent=n.parseUShort(),e.version>=1&&(e.ulCodePageRange1=n.parseULong(),e.ulCodePageRange2=n.parseULong()),e.version>=2&&(e.sxHeight=n.parseShort(),e.sCapHeight=n.parseShort(),e.usDefaultChar=n.parseUShort(),e.usBreakChar=n.parseUShort(),e.usMaxContent=n.parseUShort()),e}function gv(r){return new G.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}],r)}var a6={parse:pv,make:gv,unicodeRanges:o6,getUnicodeRange:dv};function Dv(r,t){var e={},n=new j.Parser(r,t);switch(e.version=n.parseVersion(),e.italicAngle=n.parseFixed(),e.underlinePosition=n.parseShort(),e.underlineThickness=n.parseShort(),e.isFixedPitch=n.parseULong(),e.minMemType42=n.parseULong(),e.maxMemType42=n.parseULong(),e.minMemType1=n.parseULong(),e.maxMemType1=n.parseULong(),e.version){case 1:e.names=xe.slice();break;case 2:e.numberOfGlyphs=n.parseUShort(),e.glyphNameIndex=new Array(e.numberOfGlyphs);for(var s=0;s<e.numberOfGlyphs;s++)e.glyphNameIndex[s]=n.parseUShort();e.names=[];for(var i=0;i<e.numberOfGlyphs;i++)if(e.glyphNameIndex[i]>=xe.length){var o=n.parseChar();e.names.push(n.parseString(o))}break;case 2.5:e.numberOfGlyphs=n.parseUShort(),e.offset=new Array(e.numberOfGlyphs);for(var a=0;a<e.numberOfGlyphs;a++)e.offset[a]=n.parseChar();break}return e}function _v(){return new G.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}var cn={parse:Dv,make:_v},U1=new Array(9);U1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(O.coverage),deltaGlyphId:this.parseUShort()};if(e===2)return{substFormat:2,coverage:this.parsePointer(O.coverage),substitute:this.parseOffset16List()};Z.assert(!1,"0x"+t.toString(16)+": lookup type 1 format must be 1 or 2.")};U1[2]=function(){var t=this.parseUShort();return Z.argument(t===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(O.coverage),sequences:this.parseListOfLists()}};U1[3]=function(){var t=this.parseUShort();return Z.argument(t===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(O.coverage),alternateSets:this.parseListOfLists()}};U1[4]=function(){var t=this.parseUShort();return Z.argument(t===1,"GSUB ligature table identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(O.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Ve={sequenceIndex:O.uShort,lookupListIndex:O.uShort};U1[5]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:e,coverage:this.parsePointer(O.coverage),ruleSets:this.parseListOfLists(function(){var i=this.parseUShort(),o=this.parseUShort();return{input:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(o,Ve)}})};if(e===2)return{substFormat:e,coverage:this.parsePointer(O.coverage),classDef:this.parsePointer(O.classDef),classSets:this.parseListOfLists(function(){var i=this.parseUShort(),o=this.parseUShort();return{classes:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(o,Ve)}})};if(e===3){var n=this.parseUShort(),s=this.parseUShort();return{substFormat:e,coverages:this.parseList(n,O.pointer(O.coverage)),lookupRecords:this.parseRecordList(s,Ve)}}Z.assert(!1,"0x"+t.toString(16)+": lookup type 5 format must be 1, 2 or 3.")};U1[6]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(O.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ve)}})};if(e===2)return{substFormat:2,coverage:this.parsePointer(O.coverage),backtrackClassDef:this.parsePointer(O.classDef),inputClassDef:this.parsePointer(O.classDef),lookaheadClassDef:this.parsePointer(O.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ve)}})};if(e===3)return{substFormat:3,backtrackCoverage:this.parseList(O.pointer(O.coverage)),inputCoverage:this.parseList(O.pointer(O.coverage)),lookaheadCoverage:this.parseList(O.pointer(O.coverage)),lookupRecords:this.parseRecordList(Ve)};Z.assert(!1,"0x"+t.toString(16)+": lookup type 6 format must be 1, 2 or 3.")};U1[7]=function(){var t=this.parseUShort();Z.argument(t===1,"GSUB Extension Substitution subtable identifier-format must be 1");var e=this.parseUShort(),n=new O(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:U1[e].call(n)}};U1[8]=function(){var t=this.parseUShort();return Z.argument(t===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(O.coverage),backtrackCoverage:this.parseList(O.pointer(O.coverage)),lookaheadCoverage:this.parseList(O.pointer(O.coverage)),substitutes:this.parseUShortList()}};function vv(r,t){t=t||0;var e=new O(r,t),n=e.parseVersion(1);return Z.argument(n===1||n===1.1,"Unsupported GSUB table version."),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(U1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(U1),variations:e.parseFeatureVariationsList()}}var st=new Array(9);st[1]=function(t){return t.substFormat===1?new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)},{name:"deltaGlyphID",type:"USHORT",value:t.deltaGlyphId}]):new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.ushortList("substitute",t.substitute)))};st[2]=function(t){return Z.assert(t.substFormat===1,"Lookup type 2 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("seqSet",t.sequences,function(e){return new G.Table("sequenceSetTable",G.ushortList("sequence",e))})))};st[3]=function(t){return Z.assert(t.substFormat===1,"Lookup type 3 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("altSet",t.alternateSets,function(e){return new G.Table("alternateSetTable",G.ushortList("alternate",e))})))};st[4]=function(t){return Z.assert(t.substFormat===1,"Lookup type 4 substFormat must be 1."),new G.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("ligSet",t.ligatureSets,function(e){return new G.Table("ligatureSetTable",G.tableList("ligature",e,function(n){return new G.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:n.ligGlyph}].concat(G.ushortList("component",n.components,n.components.length+1)))}))})))};st[6]=function(t){if(t.substFormat===1){var e=new G.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:t.substFormat},{name:"coverage",type:"TABLE",value:new G.Coverage(t.coverage)}].concat(G.tableList("chainRuleSet",t.chainRuleSets,function(i){return new G.Table("chainRuleSetTable",G.tableList("chainRule",i,function(o){var a=G.ushortList("backtrackGlyph",o.backtrack,o.backtrack.length).concat(G.ushortList("inputGlyph",o.input,o.input.length+1)).concat(G.ushortList("lookaheadGlyph",o.lookahead,o.lookahead.length)).concat(G.ushortList("substitution",[],o.lookupRecords.length));return o.lookupRecords.forEach(function(u,l){a=a.concat({name:"sequenceIndex"+l,type:"USHORT",value:u.sequenceIndex}).concat({name:"lookupListIndex"+l,type:"USHORT",value:u.lookupListIndex})}),new G.Table("chainRuleTable",a)}))})));return e}else if(t.substFormat===2)Z.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(t.substFormat===3){var n=[{name:"substFormat",type:"USHORT",value:t.substFormat}];n.push({name:"backtrackGlyphCount",type:"USHORT",value:t.backtrackCoverage.length}),t.backtrackCoverage.forEach(function(i,o){n.push({name:"backtrackCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"inputGlyphCount",type:"USHORT",value:t.inputCoverage.length}),t.inputCoverage.forEach(function(i,o){n.push({name:"inputCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"lookaheadGlyphCount",type:"USHORT",value:t.lookaheadCoverage.length}),t.lookaheadCoverage.forEach(function(i,o){n.push({name:"lookaheadCoverage"+o,type:"TABLE",value:new G.Coverage(i)})}),n.push({name:"substitutionCount",type:"USHORT",value:t.lookupRecords.length}),t.lookupRecords.forEach(function(i,o){n=n.concat({name:"sequenceIndex"+o,type:"USHORT",value:i.sequenceIndex}).concat({name:"lookupListIndex"+o,type:"USHORT",value:i.lookupListIndex})});var s=new G.Table("chainContextTable",n);return s}Z.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function mv(r){return new G.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new G.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new G.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new G.LookupList(r.lookups,st)}])}var hn={parse:vv,make:mv};function bv(r,t){var e=new j.Parser(r,t),n=e.parseULong();Z.argument(n===1,"Unsupported META table version."),e.parseULong(),e.parseULong();for(var s=e.parseULong(),i={},o=0;o<s;o++){var a=e.parseTag(),u=e.parseULong(),l=e.parseULong(),c=Qe.UTF8(r,t+u,l);i[a]=c}return i}function yv(r){var t=Object.keys(r).length,e="",n=16+t*12,s=new G.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var i in r){var o=e.length;e+=r[i],s.fields.push({name:"tag "+i,type:"TAG",value:i}),s.fields.push({name:"offset "+i,type:"ULONG",value:n+o}),s.fields.push({name:"length "+i,type:"ULONG",value:r[i].length})}return s.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),s}var fn={parse:bv,make:yv};function G0(r){return Math.log(r)/Math.log(2)|0}function J6(r){for(;r.length%4!==0;)r.push(0);for(var t=0,e=0;e<r.length;e+=4)t+=(r[e]<<24)+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];return t%=Math.pow(2,32),t}function z0(r,t,e,n){return new G.Record("Table Record",[{name:"tag",type:"TAG",value:r!==void 0?r:""},{name:"checkSum",type:"ULONG",value:t!==void 0?t:0},{name:"offset",type:"ULONG",value:e!==void 0?e:0},{name:"length",type:"ULONG",value:n!==void 0?n:0}])}function dn(r){var t=new G.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=r,t.numTables=r.length;var e=Math.pow(2,G0(t.numTables));t.searchRange=16*e,t.entrySelector=G0(e),t.rangeShift=t.numTables*16-t.searchRange;for(var n=[],s=[],i=t.sizeOf()+z0().sizeOf()*t.numTables;i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0});for(var o=0;o<r.length;o+=1){var a=r[o];Z.argument(a.tableName.length===4,"Table name"+a.tableName+" is invalid.");var u=a.sizeOf(),l=z0(a.tableName,J6(a.encode()),i,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),s.push({name:a.tableName+" table",type:"RECORD",value:a}),i+=u,Z.argument(!isNaN(i),"Something went wrong calculating the offset.");i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0})}return n.sort(function(c,h){return c.value.tag>h.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(s),t}function X0(r,t,e){for(var n=0;n<t.length;n+=1){var s=r.charToGlyphIndex(t[n]);if(s>0){var i=r.glyphs.get(s);return i.getMetrics()}}return e}function Fv(r){for(var t=0,e=0;e<r.length;e+=1)t+=r[e];return t/r.length}function Cv(r){for(var t=[],e=[],n=[],s=[],i=[],o=[],a=[],u,l=0,c=0,h=0,f=0,d=0,_=0;_<r.glyphs.length;_+=1){var m=r.glyphs.get(_),v=m.unicode|0;if(isNaN(m.advanceWidth))throw new Error("Glyph "+m.name+" ("+_+"): advanceWidth is not a number.");(u>v||u===void 0)&&v>0&&(u=v),l<v&&(l=v);var y=a6.getUnicodeRange(v);if(y<32)c|=1<<y;else if(y<64)h|=1<<y-32;else if(y<96)f|=1<<y-64;else if(y<123)d|=1<<y-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(m.name!==".notdef"){var F=m.getMetrics();t.push(F.xMin),e.push(F.yMin),n.push(F.xMax),s.push(F.yMax),o.push(F.leftSideBearing),a.push(F.rightSideBearing),i.push(m.advanceWidth)}}var E={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,i),advanceWidthAvg:Fv(i),minLeftSideBearing:Math.min.apply(null,o),maxLeftSideBearing:Math.max.apply(null,o),minRightSideBearing:Math.min.apply(null,a)};E.ascender=r.ascender,E.descender=r.descender;var x=Q7.make({flags:3,unitsPerEm:r.unitsPerEm,xMin:E.xMin,yMin:E.yMin,xMax:E.xMax,yMax:E.yMax,lowestRecPPEM:3,createdTimestamp:r.createdTimestamp}),T=en.make({ascender:E.ascender,descender:E.descender,advanceWidthMax:E.advanceWidthMax,minLeftSideBearing:E.minLeftSideBearing,minRightSideBearing:E.minRightSideBearing,xMaxExtent:E.maxLeftSideBearing+(E.xMax-E.xMin),numberOfHMetrics:r.glyphs.length}),B=rn.make(r.glyphs.length),w=a6.make(Object.assign({xAvgCharWidth:Math.round(E.advanceWidthAvg),usFirstCharIndex:u,usLastCharIndex:l,ulUnicodeRange1:c,ulUnicodeRange2:h,ulUnicodeRange3:f,ulUnicodeRange4:d,sTypoAscender:E.ascender,sTypoDescender:E.descender,sTypoLineGap:0,usWinAscent:E.yMax,usWinDescent:Math.abs(E.yMin),ulCodePageRange1:1,sxHeight:X0(r,"xyvw",{yMax:Math.round(E.ascender/2)}).yMax,sCapHeight:X0(r,"HIKLEFJMNTZBDPRAGOQSUVWXY",E).yMax,usDefaultChar:r.hasChar(" ")?32:0,usBreakChar:r.hasChar(" ")?32:0},r.tables.os2)),S=tn.make(r.glyphs),R=H7.make(r.glyphs),A=r.getEnglishName("fontFamily"),k=r.getEnglishName("fontSubfamily"),I=A+" "+k,P=r.getEnglishName("postScriptName");P||(P=A.replace(/\s/g,"")+"-"+k);var L={};for(var U in r.names)L[U]=r.names[U];L.uniqueID||(L.uniqueID={en:r.getEnglishName("manufacturer")+":"+I}),L.postScriptName||(L.postScriptName={en:P}),L.preferredFamily||(L.preferredFamily=r.names.fontFamily),L.preferredSubfamily||(L.preferredSubfamily=r.names.fontSubfamily);var H=[],z=ln.make(L,H),$=H.length>0?nn.make(H):void 0,W=cn.make(),Q=J7.make(r.glyphs,{version:r.getEnglishName("version"),fullName:I,familyName:A,weightName:k,postScriptName:P,unitsPerEm:r.unitsPerEm,fontBBox:[0,E.yMin,E.ascender,E.advanceWidthMax]}),e1=r.metas&&Object.keys(r.metas).length>0?fn.make(r.metas):void 0,t1=[x,T,B,w,z,R,W,Q,S];$&&t1.push($),r.tables.gsub&&t1.push(hn.make(r.tables.gsub)),e1&&t1.push(e1);for(var r1=dn(t1),v1=r1.encode(),m1=J6(v1),p1=r1.fields,u1=!1,i1=0;i1<p1.length;i1+=1)if(p1[i1].name==="head table"){p1[i1].value.checkSumAdjustment=2981146554-m1,u1=!0;break}if(!u1)throw new Error("Could not find head table with checkSum to adjust.");return r1}var Ev={make:dn,fontToTable:Cv,computeCheckSum:J6};function A2(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s].tag;if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function W0(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s];if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function Y0(r,t){for(var e,n=0,s=r.length-1;n<=s;){var i=n+s>>>1;e=r[i];var o=e.start;if(o===t)return e;o<t?n=i+1:s=i-1}if(n>0)return e=r[n-1],t>e.end?0:e}function At(r,t){this.font=r,this.tableName=t}At.prototype={searchTag:A2,binSearch:W0,getTable:function(r){var t=this.font.tables[this.tableName];return!t&&r&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var r=this.getTable();return r?r.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var r=this.getTable();if(r){for(var t=!1,e=0;e<r.scripts.length;e++){var n=r.scripts[e].tag;if(n==="DFLT")return n;n==="latn"&&(t=!0)}if(t)return"latn"}},getScriptTable:function(r,t){var e=this.getTable(t);if(e){r=r||"DFLT";var n=e.scripts,s=A2(e.scripts,r);if(s>=0)return n[s].script;if(t){var i={tag:r,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-s,0,i),i.script}}},getLangSysTable:function(r,t,e){var n=this.getScriptTable(r,e);if(n){if(!t||t==="dflt"||t==="DFLT")return n.defaultLangSys;var s=A2(n.langSysRecords,t);if(s>=0)return n.langSysRecords[s].langSys;if(e){var i={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-s,0,i),i.langSys}}},getFeatureTable:function(r,t,e,n){var s=this.getLangSysTable(r,t,n);if(s){for(var i,o=s.featureIndexes,a=this.font.tables[this.tableName].features,u=0;u<o.length;u++)if(i=a[o[u]],i.tag===e)return i.feature;if(n){var l=a.length;return Z.assert(l===0||e>=a[l-1].tag,"Features must be added in alphabetical order."),i={tag:e,feature:{params:0,lookupListIndexes:[]}},a.push(i),o.push(l),i.feature}}},getLookupTables:function(r,t,e,n,s){var i=this.getFeatureTable(r,t,e,s),o=[];if(i){for(var a,u=i.lookupListIndexes,l=this.font.tables[this.tableName].lookups,c=0;c<u.length;c++)a=l[u[c]],a.lookupType===n&&o.push(a);if(o.length===0&&s){a={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var h=l.length;return l.push(a),u.push(h),[a]}}return o},getGlyphClass:function(r,t){switch(r.format){case 1:return r.startGlyph<=t&&t<r.startGlyph+r.classes.length?r.classes[t-r.startGlyph]:0;case 2:var e=Y0(r.ranges,t);return e?e.classId:0}},getCoverageIndex:function(r,t){switch(r.format){case 1:var e=W0(r.glyphs,t);return e>=0?e:-1;case 2:var n=Y0(r.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(r){if(r.format===1)return r.glyphs;for(var t=[],e=r.ranges,n=0;n<e.length;n++)for(var s=e[n],i=s.start,o=s.end,a=i;a<=o;a++)t.push(a);return t}};function kt(r){At.call(this,r,"gpos")}kt.prototype=At.prototype;kt.prototype.init=function(){var r=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(r)};kt.prototype.getKerningValue=function(r,t,e){for(var n=0;n<r.length;n++)for(var s=r[n].subtables,i=0;i<s.length;i++){var o=s[i],a=this.getCoverageIndex(o.coverage,t);if(!(a<0))switch(o.posFormat){case 1:for(var u=o.pairSets[a],l=0;l<u.length;l++){var c=u[l];if(c.secondGlyph===e)return c.value1&&c.value1.xAdvance||0}break;case 2:var h=this.getGlyphClass(o.classDef1,t),f=this.getGlyphClass(o.classDef2,e),d=o.classRecords[h][f];return d.value1&&d.value1.xAdvance||0}}return 0};kt.prototype.getKerningTables=function(r,t){if(this.font.tables.gpos)return this.getLookupTables(r,t,"kern",2)};function R1(r){At.call(this,r,"gsub")}function Sv(r,t){var e=r.length;if(e!==t.length)return!1;for(var n=0;n<e;n++)if(r[n]!==t[n])return!1;return!0}function Q6(r,t,e){for(var n=r.subtables,s=0;s<n.length;s++){var i=n[s];if(i.substFormat===t)return i}if(e)return n.push(e),e}R1.prototype=At.prototype;R1.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}};R1.prototype.getSingle=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,1),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++){var u=o[a],l=this.expandCoverage(u.coverage),c=void 0;if(u.substFormat===1){var h=u.deltaGlyphId;for(c=0;c<l.length;c++){var f=l[c];n.push({sub:f,by:f+h})}}else{var d=u.substitute;for(c=0;c<l.length;c++)n.push({sub:l[c],by:d[c]})}}return n};R1.prototype.getMultiple=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,2),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++){var u=o[a],l=this.expandCoverage(u.coverage),c=void 0;for(c=0;c<l.length;c++){var h=l[c],f=u.sequences[c];n.push({sub:h,by:f})}}return n};R1.prototype.getAlternates=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,3),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++)for(var u=o[a],l=this.expandCoverage(u.coverage),c=u.alternateSets,h=0;h<l.length;h++)n.push({sub:l[h],by:c[h]});return n};R1.prototype.getLigatures=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,4),i=0;i<s.length;i++)for(var o=s[i].subtables,a=0;a<o.length;a++)for(var u=o[a],l=this.expandCoverage(u.coverage),c=u.ligatureSets,h=0;h<l.length;h++)for(var f=l[h],d=c[h],_=0;_<d.length;_++){var m=d[_];n.push({sub:[f].concat(m.components),by:m.ligGlyph})}return n};R1.prototype.addSingle=function(r,t,e,n){var s=this.getLookupTables(e,n,r,1,!0)[0],i=Q6(s,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});Z.assert(i.coverage.format===1,"Single: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.substitute.splice(a,0,0)),i.substitute[a]=t.by};R1.prototype.addMultiple=function(r,t,e,n){Z.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var s=this.getLookupTables(e,n,r,2,!0)[0],i=Q6(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});Z.assert(i.coverage.format===1,"Multiple: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.sequences.splice(a,0,0)),i.sequences[a]=t.by};R1.prototype.addAlternate=function(r,t,e,n){var s=this.getLookupTables(e,n,r,3,!0)[0],i=Q6(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});Z.assert(i.coverage.format===1,"Alternate: unable to modify coverage table format "+i.coverage.format);var o=t.sub,a=this.binSearch(i.coverage.glyphs,o);a<0&&(a=-1-a,i.coverage.glyphs.splice(a,0,o),i.alternateSets.splice(a,0,0)),i.alternateSets[a]=t.by};R1.prototype.addLigature=function(r,t,e,n){var s=this.getLookupTables(e,n,r,4,!0)[0],i=s.subtables[0];i||(i={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},s.subtables[0]=i),Z.assert(i.coverage.format===1,"Ligature: unable to modify coverage table format "+i.coverage.format);var o=t.sub[0],a=t.sub.slice(1),u={ligGlyph:t.by,components:a},l=this.binSearch(i.coverage.glyphs,o);if(l>=0){for(var c=i.ligatureSets[l],h=0;h<c.length;h++)if(Sv(c[h].components,a))return;c.push(u)}else l=-1-l,i.coverage.glyphs.splice(l,0,o),i.ligatureSets.splice(l,0,[u])};R1.prototype.getFeature=function(r,t,e){if(/ss\d\d/.test(r))return this.getSingle(r,t,e);switch(r){case"aalt":case"salt":return this.getSingle(r,t,e).concat(this.getAlternates(r,t,e));case"dlig":case"liga":case"rlig":return this.getLigatures(r,t,e);case"ccmp":return this.getMultiple(r,t,e).concat(this.getLigatures(r,t,e));case"stch":return this.getMultiple(r,t,e)}};R1.prototype.add=function(r,t,e,n){if(/ss\d\d/.test(r))return this.addSingle(r,t,e,n);switch(r){case"aalt":case"salt":return typeof t.by=="number"?this.addSingle(r,t,e,n):this.addAlternate(r,t,e,n);case"dlig":case"liga":case"rlig":return this.addLigature(r,t,e,n);case"ccmp":return t.by instanceof Array?this.addMultiple(r,t,e,n):this.addLigature(r,t,e,n)}};function Tv(){return typeof window<"u"}function pn(r){for(var t=new ArrayBuffer(r.length),e=new Uint8Array(t),n=0;n<r.length;++n)e[n]=r[n];return t}function xv(r){for(var t=new Buffer(r.byteLength),e=new Uint8Array(r),n=0;n<t.length;++n)t[n]=e[n];return t}function ut(r,t){if(!r)throw t}function j0(r,t,e,n,s){var i;return(t&n)>0?(i=r.parseByte(),t&s||(i=-i),i=e+i):(t&s)>0?i=e:i=e+r.parseShort(),i}function gn(r,t,e){var n=new j.Parser(t,e);r.numberOfContours=n.parseShort(),r._xMin=n.parseShort(),r._yMin=n.parseShort(),r._xMax=n.parseShort(),r._yMax=n.parseShort();var s,i;if(r.numberOfContours>0){for(var o=r.endPointIndices=[],a=0;a<r.numberOfContours;a+=1)o.push(n.parseUShort());r.instructionLength=n.parseUShort(),r.instructions=[];for(var u=0;u<r.instructionLength;u+=1)r.instructions.push(n.parseByte());var l=o[o.length-1]+1;s=[];for(var c=0;c<l;c+=1)if(i=n.parseByte(),s.push(i),(i&8)>0)for(var h=n.parseByte(),f=0;f<h;f+=1)s.push(i),c+=1;if(Z.argument(s.length===l,"Bad flags."),o.length>0){var d=[],_;if(l>0){for(var m=0;m<l;m+=1)i=s[m],_={},_.onCurve=!!(i&1),_.lastPointOfContour=o.indexOf(m)>=0,d.push(_);for(var v=0,y=0;y<l;y+=1)i=s[y],_=d[y],_.x=j0(n,i,v,2,16),v=_.x;for(var F=0,E=0;E<l;E+=1)i=s[E],_=d[E],_.y=j0(n,i,F,4,32),F=_.y}r.points=d}else r.points=[]}else if(r.numberOfContours===0)r.points=[];else{r.isComposite=!0,r.points=[],r.components=[];for(var x=!0;x;){s=n.parseUShort();var T={glyphIndex:n.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(s&1)>0?(s&2)>0?(T.dx=n.parseShort(),T.dy=n.parseShort()):T.matchedPoints=[n.parseUShort(),n.parseUShort()]:(s&2)>0?(T.dx=n.parseChar(),T.dy=n.parseChar()):T.matchedPoints=[n.parseByte(),n.parseByte()],(s&8)>0?T.xScale=T.yScale=n.parseF2Dot14():(s&64)>0?(T.xScale=n.parseF2Dot14(),T.yScale=n.parseF2Dot14()):(s&128)>0&&(T.xScale=n.parseF2Dot14(),T.scale01=n.parseF2Dot14(),T.scale10=n.parseF2Dot14(),T.yScale=n.parseF2Dot14()),r.components.push(T),x=!!(s&32)}if(s&256){r.instructionLength=n.parseUShort(),r.instructions=[];for(var B=0;B<r.instructionLength;B+=1)r.instructions.push(n.parseByte())}}}function k2(r,t){for(var e=[],n=0;n<r.length;n+=1){var s=r[n],i={x:t.xScale*s.x+t.scale01*s.y+t.dx,y:t.scale10*s.x+t.yScale*s.y+t.dy,onCurve:s.onCurve,lastPointOfContour:s.lastPointOfContour};e.push(i)}return e}function wv(r){for(var t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];e.push(s),s.lastPointOfContour&&(t.push(e),e=[])}return Z.argument(e.length===0,"There are still points left in the current contour."),t}function Dn(r){var t=new d1;if(!r)return t;for(var e=wv(r),n=0;n<e.length;++n){var s=e[n],i=null,o=s[s.length-1],a=s[0];if(o.onCurve)t.moveTo(o.x,o.y);else if(a.onCurve)t.moveTo(a.x,a.y);else{var u={x:(o.x+a.x)*.5,y:(o.y+a.y)*.5};t.moveTo(u.x,u.y)}for(var l=0;l<s.length;++l)if(i=o,o=a,a=s[(l+1)%s.length],o.onCurve)t.lineTo(o.x,o.y);else{var c=a;i.onCurve||((o.x+i.x)*.5,(o.y+i.y)*.5),a.onCurve||(c={x:(o.x+a.x)*.5,y:(o.y+a.y)*.5}),t.quadraticCurveTo(o.x,o.y,c.x,c.y)}t.closePath()}return t}function _n(r,t){if(t.isComposite)for(var e=0;e<t.components.length;e+=1){var n=t.components[e],s=r.get(n.glyphIndex);if(s.getPath(),s.points){var i=void 0;if(n.matchedPoints===void 0)i=k2(s.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>s.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],a=s.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};a=k2([a],u)[0],u.dx=o.x-a.x,u.dy=o.y-a.y,i=k2(s.points,u)}t.points=t.points.concat(i)}}return Dn(t.points)}function Bv(r,t,e,n){for(var s=new ee.GlyphSet(n),i=0;i<e.length-1;i+=1){var o=e[i],a=e[i+1];o!==a?s.push(i,ee.ttfGlyphLoader(n,i,gn,r,t+o,_n)):s.push(i,ee.glyphLoader(n,i))}return s}function Ov(r,t,e,n){var s=new ee.GlyphSet(n);return n._push=function(i){var o=e[i],a=e[i+1];o!==a?s.push(i,ee.ttfGlyphLoader(n,i,gn,r,t+o,_n)):s.push(i,ee.glyphLoader(n,i))},s}function Rv(r,t,e,n,s){return s.lowMemory?Ov(r,t,e,n):Bv(r,t,e,n)}var vn={getPath:Dn,parse:Rv},mn,Ie,bn,u6;function yn(r){this.font=r,this.getCommands=function(t){return vn.getPath(t).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function Av(r){return r}function Fn(r){return Math.sign(r)*Math.round(Math.abs(r))}function kv(r){return Math.sign(r)*Math.round(Math.abs(r*2))/2}function Iv(r){return Math.sign(r)*(Math.round(Math.abs(r)+.5)-.5)}function Lv(r){return Math.sign(r)*Math.ceil(Math.abs(r))}function Pv(r){return Math.sign(r)*Math.floor(Math.abs(r))}var Cn=function(r){var t=this.srPeriod,e=this.srPhase,n=this.srThreshold,s=1;return r<0&&(r=-r,s=-1),r+=n-e,r=Math.trunc(r/t)*t,r+=e,r<0?e*s:r*s},Z1={x:1,y:0,axis:"x",distance:function(r,t,e,n){return(e?r.xo:r.x)-(n?t.xo:t.x)},interpolate:function(r,t,e,n){var s,i,o,a,u,l,c;if(!n||n===this){if(s=r.xo-t.xo,i=r.xo-e.xo,u=t.x-t.xo,l=e.x-e.xo,o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){r.x=r.xo+(u+l)/2;return}r.x=r.xo+(u*a+l*o)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){Z1.setRelative(r,r,(u+l)/2,n,!0);return}Z1.setRelative(r,r,(u*a+l*o)/c,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(r,t,e,n,s){if(!n||n===this){r.x=(s?t.xo:t.x)+e;return}var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y;r.x=a+(r.y-u)/n.normalSlope},slope:0,touch:function(r){r.xTouched=!0},touched:function(r){return r.xTouched},untouch:function(r){r.xTouched=!1}},ie={x:0,y:1,axis:"y",distance:function(r,t,e,n){return(e?r.yo:r.y)-(n?t.yo:t.y)},interpolate:function(r,t,e,n){var s,i,o,a,u,l,c;if(!n||n===this){if(s=r.yo-t.yo,i=r.yo-e.yo,u=t.y-t.yo,l=e.y-e.yo,o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){r.y=r.yo+(u+l)/2;return}r.y=r.yo+(u*a+l*o)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),o=Math.abs(s),a=Math.abs(i),c=o+a,c===0){ie.setRelative(r,r,(u+l)/2,n,!0);return}ie.setRelative(r,r,(u*a+l*o)/c,n,!0)},normalSlope:0,setRelative:function(r,t,e,n,s){if(!n||n===this){r.y=(s?t.yo:t.y)+e;return}var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y;r.y=u+n.normalSlope*(r.x-a)},slope:Number.POSITIVE_INFINITY,touch:function(r){r.yTouched=!0},touched:function(r){return r.yTouched},untouch:function(r){r.yTouched=!1}};Object.freeze(Z1);Object.freeze(ie);function It(r,t){this.x=r,this.y=t,this.axis=void 0,this.slope=t/r,this.normalSlope=-r/t,Object.freeze(this)}It.prototype.distance=function(r,t,e,n){return this.x*Z1.distance(r,t,e,n)+this.y*ie.distance(r,t,e,n)};It.prototype.interpolate=function(r,t,e,n){var s,i,o,a,u,l,c;if(o=n.distance(r,t,!0,!0),a=n.distance(r,e,!0,!0),s=n.distance(t,t,!1,!0),i=n.distance(e,e,!1,!0),u=Math.abs(o),l=Math.abs(a),c=u+l,c===0){this.setRelative(r,r,(s+i)/2,n,!0);return}this.setRelative(r,r,(s*l+i*u)/c,n,!0)};It.prototype.setRelative=function(r,t,e,n,s){n=n||this;var i=s?t.xo:t.x,o=s?t.yo:t.y,a=i+e*n.x,u=o+e*n.y,l=n.normalSlope,c=this.slope,h=r.x,f=r.y;r.x=(c*h-l*a+u-f)/(c-l),r.y=c*(r.x-h)+f};It.prototype.touch=function(r){r.xTouched=!0,r.yTouched=!0};function Lt(r,t){var e=Math.sqrt(r*r+t*t);return r/=e,t/=e,r===1&&t===0?Z1:r===0&&t===1?ie:new It(r,t)}function oe(r,t,e,n){this.x=this.xo=Math.round(r*64)/64,this.y=this.yo=Math.round(t*64)/64,this.lastPointOfContour=e,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}oe.prototype.nextTouched=function(r){for(var t=this.nextPointOnContour;!r.touched(t)&&t!==this;)t=t.nextPointOnContour;return t};oe.prototype.prevTouched=function(r){for(var t=this.prevPointOnContour;!r.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var Tt=Object.freeze(new oe(0,0)),Mv={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function de(r,t){switch(this.env=r,this.stack=[],this.prog=t,r){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=Z1,this.round=Fn}}yn.prototype.exec=function(r,t){if(typeof t!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var e=this.font,n=this._prepState;if(!n||n.ppem!==t){var s=this._fpgmState;if(!s){de.prototype=Mv,s=this._fpgmState=new de("fpgm",e.tables.fpgm),s.funcs=[],s.font=e,exports.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{Ie(s)}catch(l){console.log("Hinting error in FPGM:"+l),this._errorState=3;return}}de.prototype=s,n=this._prepState=new de("prep",e.tables.prep),n.ppem=t;var i=e.tables.cvt;if(i)for(var o=n.cvt=new Array(i.length),a=t/e.unitsPerEm,u=0;u<i.length;u++)o[u]=i[u]*a;else n.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),n.step=-1);try{Ie(n)}catch(l){this._errorState<2&&console.log("Hinting error in PREP:"+l),this._errorState=2}}if(!(this._errorState>1))try{return bn(r,n)}catch(l){this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};bn=function(r,t){var e=t.ppem/t.font.unitsPerEm,n=e,s=r.components,i,o,a;if(de.prototype=t,!s)a=new de("glyf",r.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),a.step=-1),u6(r,a,e,n),o=a.gZone;else{var u=t.font;o=[],i=[];for(var l=0;l<s.length;l++){var c=s[l],h=u.glyphs.get(c.glyphIndex);a=new de("glyf",h.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+l+"---"),a.step=-1),u6(h,a,e,n);for(var f=Math.round(c.dx*e),d=Math.round(c.dy*n),_=a.gZone,m=a.contours,v=0;v<_.length;v++){var y=_[v];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+f,y.yo=y.y=y.y+d}var F=o.length;o.push.apply(o,_);for(var E=0;E<m.length;E++)i.push(m[E]+F)}r.instructions&&!a.inhibitGridFit&&(a=new de("glyf",r.instructions),a.gZone=a.z0=a.z1=a.z2=o,a.contours=i,o.push(new oe(0,0),new oe(Math.round(r.advanceWidth*e),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),a.step=-1),Ie(a),o.length-=2)}return o};u6=function(r,t,e,n){for(var s=r.points||[],i=s.length,o=t.gZone=t.z0=t.z1=t.z2=[],a=t.contours=[],u,l=0;l<i;l++)u=s[l],o[l]=new oe(u.x*e,u.y*n,u.lastPointOfContour,u.onCurve);for(var c,h,f=0;f<i;f++)u=o[f],c||(c=u,a.push(f)),u.lastPointOfContour?(u.nextPointOnContour=c,c.prevPointOnContour=u,c=void 0):(h=o[f+1],u.nextPointOnContour=h,h.prevPointOnContour=u);if(!t.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var d=0;d<i;d++)console.log(d,o[d].x,o[d].y)}if(o.push(new oe(0,0),new oe(Math.round(r.advanceWidth*e),0)),Ie(t),o.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var _=0;_<i;_++)console.log(_,o[_].x,o[_].y)}}};Ie=function(r){var t=r.prog;if(t){var e=t.length,n;for(r.ip=0;r.ip<e;r.ip++){if(exports.DEBUG&&r.step++,n=mn[t[r.ip]],!n)throw new Error("unknown instruction: 0x"+Number(t[r.ip]).toString(16));n(r)}}};function v2(r){for(var t=r.tZone=new Array(r.gZone.length),e=0;e<t.length;e++)t[e]=new oe(0,0)}function En(r,t){var e=r.prog,n=r.ip,s=1,i;do if(i=e[++n],i===88)s++;else if(i===89)s--;else if(i===64)n+=e[n+1]+1;else if(i===65)n+=2*e[n+1]+1;else if(i>=176&&i<=183)n+=i-176+1;else if(i>=184&&i<=191)n+=(i-184+1)*2;else if(t&&s===1&&i===27)break;while(s>0);r.ip=n}function V0(r,t){exports.DEBUG&&console.log(t.step,"SVTCA["+r.axis+"]"),t.fv=t.pv=t.dpv=r}function K0(r,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+r.axis+"]"),t.pv=t.dpv=r}function q0(r,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+r.axis+"]"),t.fv=r}function Z0(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SPVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.pv=t.dpv=Lt(a,u)}function J0(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SFVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.fv=Lt(a,u)}function Nv(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.pv=r.dpv=Lt(n,e)}function Uv(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.fv=Lt(n,e)}function $v(r){var t=r.stack,e=r.pv;exports.DEBUG&&console.log(r.step,"GPV[]"),t.push(e.x*16384),t.push(e.y*16384)}function Hv(r){var t=r.stack,e=r.fv;exports.DEBUG&&console.log(r.step,"GFV[]"),t.push(e.x*16384),t.push(e.y*16384)}function Gv(r){r.fv=r.pv,exports.DEBUG&&console.log(r.step,"SFVTPV[]")}function zv(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop(),i=t.pop(),o=t.pop(),a=r.z0,u=r.z1,l=a[e],c=a[n],h=u[s],f=u[i],d=r.z2[o];exports.DEBUG&&console.log("ISECT[], ",e,n,s,i,o);var _=l.x,m=l.y,v=c.x,y=c.y,F=h.x,E=h.y,x=f.x,T=f.y,B=(_-v)*(E-T)-(m-y)*(F-x),w=_*y-m*v,S=F*T-E*x;d.x=(w*(F-x)-S*(_-v))/B,d.y=(w*(E-T)-S*(m-y))/B}function Xv(r){r.rp0=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP0[]",r.rp0)}function Wv(r){r.rp1=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP1[]",r.rp1)}function Yv(r){r.rp2=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SRP2[]",r.rp2)}function jv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP0[]",t),r.zp0=t,t){case 0:r.tZone||v2(r),r.z0=r.tZone;break;case 1:r.z0=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Vv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP1[]",t),r.zp1=t,t){case 0:r.tZone||v2(r),r.z1=r.tZone;break;case 1:r.z1=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Kv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZP2[]",t),r.zp2=t,t){case 0:r.tZone||v2(r),r.z2=r.tZone;break;case 1:r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function qv(r){var t=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"SZPS[]",t),r.zp0=r.zp1=r.zp2=t,t){case 0:r.tZone||v2(r),r.z0=r.z1=r.z2=r.tZone;break;case 1:r.z0=r.z1=r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function Zv(r){r.loop=r.stack.pop(),exports.DEBUG&&console.log(r.step,"SLOOP[]",r.loop)}function Jv(r){exports.DEBUG&&console.log(r.step,"RTG[]"),r.round=Fn}function Qv(r){exports.DEBUG&&console.log(r.step,"RTHG[]"),r.round=Iv}function em(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SMD[]",t),r.minDis=t/64}function tm(r){exports.DEBUG&&console.log(r.step,"ELSE[]"),En(r,!1)}function nm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"JMPR[]",t),r.ip+=t-1}function rm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCVTCI[]",t),r.cvCutIn=t/64}function sm(r){var t=r.stack;exports.DEBUG&&console.log(r.step,"DUP[]"),t.push(t[t.length-1])}function I2(r){exports.DEBUG&&console.log(r.step,"POP[]"),r.stack.pop()}function im(r){exports.DEBUG&&console.log(r.step,"CLEAR[]"),r.stack.length=0}function om(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SWAP[]"),t.push(e),t.push(n)}function am(r){var t=r.stack;exports.DEBUG&&console.log(r.step,"DEPTH[]"),t.push(t.length)}function um(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LOOPCALL[]",e,n);var s=r.ip,i=r.prog;r.prog=r.funcs[e];for(var o=0;o<n;o++)Ie(r),exports.DEBUG&&console.log(++r.step,o+1<n?"next loopcall":"done loopcall",o);r.ip=s,r.prog=i}function lm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"CALL[]",t);var e=r.ip,n=r.prog;r.prog=r.funcs[t],Ie(r),r.ip=e,r.prog=n,exports.DEBUG&&console.log(++r.step,"returning from",t)}function cm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"CINDEX[]",e),t.push(t[t.length-e])}function hm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"MINDEX[]",e),t.push(t.splice(t.length-e,1)[0])}function fm(r){if(r.env!=="fpgm")throw new Error("FDEF not allowed here");var t=r.stack,e=r.prog,n=r.ip,s=t.pop(),i=n;for(exports.DEBUG&&console.log(r.step,"FDEF[]",s);e[++n]!==45;);r.ip=n,r.funcs[s]=e.slice(i+1,n)}function Q0(r,t){var e=t.stack.pop(),n=t.z0[e],s=t.fv,i=t.pv;exports.DEBUG&&console.log(t.step,"MDAP["+r+"]",e);var o=i.distance(n,Tt);r&&(o=t.round(o)),s.setRelative(n,Tt,o,i),s.touch(n),t.rp0=t.rp1=e}function e4(r,t){var e=t.z2,n=e.length-2,s,i,o;exports.DEBUG&&console.log(t.step,"IUP["+r.axis+"]");for(var a=0;a<n;a++)s=e[a],!r.touched(s)&&(i=s.prevTouched(r),i!==s&&(o=s.nextTouched(r),i===o&&r.setRelative(s,s,r.distance(i,i,!1,!0),r,!0),r.interpolate(s,i,o,r)))}function t4(r,t){for(var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=t.loop,u=t.z2;a--;){var l=e.pop(),c=u[l],h=o.distance(s,s,!1,!0);i.setRelative(c,c,h,o),i.touch(c),exports.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-a)+": ":"")+"SHP["+(r?"rp1":"rp2")+"]",l)}t.loop=1}function n4(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=e.pop(),u=t.z2[t.contours[a]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+r+"]",a);var c=o.distance(s,s,!1,!0);do l!==s&&i.setRelative(l,l,c,o),l=l.nextPointOnContour;while(l!==u)}function r4(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,o=t.pv,a=e.pop();exports.DEBUG&&console.log(t.step,"SHZ["+r+"]",a);var u;switch(a){case 0:u=t.tZone;break;case 1:u=t.gZone;break;default:throw new Error("Invalid zone")}for(var l,c=o.distance(s,s,!1,!0),h=u.length-2,f=0;f<h;f++)l=u[f],i.setRelative(l,l,c,o)}function dm(r){for(var t=r.stack,e=r.loop,n=r.fv,s=t.pop()/64,i=r.z2;e--;){var o=t.pop(),a=i[o];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-e)+": ":"")+"SHPIX[]",o,s),n.setRelative(a,a,s),n.touch(a)}r.loop=1}function pm(r){for(var t=r.stack,e=r.rp1,n=r.rp2,s=r.loop,i=r.z0[e],o=r.z1[n],a=r.fv,u=r.dpv,l=r.z2;s--;){var c=t.pop(),h=l[c];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"IP[]",c,e,"<->",n),a.interpolate(h,i,o,u),a.touch(h)}r.loop=1}function s4(r,t){var e=t.stack,n=e.pop()/64,s=e.pop(),i=t.z1[s],o=t.z0[t.rp0],a=t.fv,u=t.pv;a.setRelative(i,o,n,u),a.touch(i),exports.DEBUG&&console.log(t.step,"MSIRP["+r+"]",n,s),t.rp1=t.rp0,t.rp2=s,r&&(t.rp0=s)}function gm(r){for(var t=r.stack,e=r.rp0,n=r.z0[e],s=r.loop,i=r.fv,o=r.pv,a=r.z1;s--;){var u=t.pop(),l=a[u];exports.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"ALIGNRP[]",u),i.setRelative(l,n,0,o),i.touch(l)}r.loop=1}function Dm(r){exports.DEBUG&&console.log(r.step,"RTDG[]"),r.round=kv}function i4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z0[s],o=t.fv,a=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+r+"]",n,"(",u,")",s);var l=a.distance(i,Tt);r&&(Math.abs(l-u)<t.cvCutIn&&(l=u),l=t.round(l)),o.setRelative(i,Tt,l,a),t.zp0===0&&(i.xo=i.x,i.yo=i.y),o.touch(i),t.rp0=t.rp1=s}function _m(r){var t=r.prog,e=r.ip,n=r.stack,s=t[++e];exports.DEBUG&&console.log(r.step,"NPUSHB[]",s);for(var i=0;i<s;i++)n.push(t[++e]);r.ip=e}function vm(r){var t=r.ip,e=r.prog,n=r.stack,s=e[++t];exports.DEBUG&&console.log(r.step,"NPUSHW[]",s);for(var i=0;i<s;i++){var o=e[++t]<<8|e[++t];o&32768&&(o=-((o^65535)+1)),n.push(o)}r.ip=t}function mm(r){var t=r.stack,e=r.store;e||(e=r.store=[]);var n=t.pop(),s=t.pop();exports.DEBUG&&console.log(r.step,"WS",n,s),e[s]=n}function bm(r){var t=r.stack,e=r.store,n=t.pop();exports.DEBUG&&console.log(r.step,"RS",n);var s=e&&e[n]||0;t.push(s)}function ym(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"WCVTP",e,n),r.cvt[n]=e/64}function Fm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"RCVT",e),t.push(r.cvt[e]*64)}function o4(r,t){var e=t.stack,n=e.pop(),s=t.z2[n];exports.DEBUG&&console.log(t.step,"GC["+r+"]",n),e.push(t.dpv.distance(s,Tt,r,!1)*64)}function a4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z1[n],o=t.z0[s],a=t.dpv.distance(o,i,r,r);exports.DEBUG&&console.log(t.step,"MD["+r+"]",n,s,"->",a),t.stack.push(Math.round(a*64))}function Cm(r){exports.DEBUG&&console.log(r.step,"MPPEM[]"),r.stack.push(r.ppem)}function Em(r){exports.DEBUG&&console.log(r.step,"FLIPON[]"),r.autoFlip=!0}function Sm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LT[]",e,n),t.push(n<e?1:0)}function Tm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"LTEQ[]",e,n),t.push(n<=e?1:0)}function xm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"GT[]",e,n),t.push(n>e?1:0)}function wm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"GTEQ[]",e,n),t.push(n>=e?1:0)}function Bm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"EQ[]",e,n),t.push(e===n?1:0)}function Om(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"NEQ[]",e,n),t.push(e!==n?1:0)}function Rm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"ODD[]",e),t.push(Math.trunc(e)%2?1:0)}function Am(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"EVEN[]",e),t.push(Math.trunc(e)%2?0:1)}function km(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"IF[]",t),t||(En(r,!0),exports.DEBUG&&console.log(r.step,"EIF[]"))}function Im(r){exports.DEBUG&&console.log(r.step,"EIF[]")}function Lm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"AND[]",e,n),t.push(e&&n?1:0)}function Pm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"OR[]",e,n),t.push(e||n?1:0)}function Mm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"NOT[]",e),t.push(e?0:1)}function L2(r,t){var e=t.stack,n=e.pop(),s=t.fv,i=t.pv,o=t.ppem,a=t.deltaBase+(r-1)*16,u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+r+"]",n,e);for(var c=0;c<n;c++){var h=e.pop(),f=e.pop(),d=a+((f&240)>>4);if(d===o){var _=(f&15)-8;_>=0&&_++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",_*u);var m=l[h];s.setRelative(m,m,_*u,i)}}}function Nm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"SDB[]",e),r.deltaBase=e}function Um(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"SDS[]",e),r.deltaShift=Math.pow(.5,e)}function $m(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"ADD[]",e,n),t.push(n+e)}function Hm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"SUB[]",e,n),t.push(n-e)}function Gm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"DIV[]",e,n),t.push(n*64/e)}function zm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MUL[]",e,n),t.push(n*e/64)}function Xm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"ABS[]",e),t.push(Math.abs(e))}function Wm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"NEG[]",e),t.push(-e)}function Ym(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"FLOOR[]",e),t.push(Math.floor(e/64)*64)}function jm(r){var t=r.stack,e=t.pop();exports.DEBUG&&console.log(r.step,"CEILING[]",e),t.push(Math.ceil(e/64)*64)}function Wt(r,t){var e=t.stack,n=e.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),e.push(t.round(n/64)*64)}function Vm(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"WCVTF[]",e,n),r.cvt[n]=e*r.ppem/r.font.unitsPerEm}function P2(r,t){var e=t.stack,n=e.pop(),s=t.ppem,i=t.deltaBase+(r-1)*16,o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+r+"]",n,e);for(var a=0;a<n;a++){var u=e.pop(),l=e.pop(),c=i+((l&240)>>4);if(c===s){var h=(l&15)-8;h>=0&&h++;var f=h*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",f),t.cvt[u]+=f}}}function Km(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SROUND[]",t),r.round=Cn;var e;switch(t&192){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function qm(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"S45ROUND[]",t),r.round=Cn;var e;switch(t&192){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function Zm(r){exports.DEBUG&&console.log(r.step,"ROFF[]"),r.round=Av}function Jm(r){exports.DEBUG&&console.log(r.step,"RUTG[]"),r.round=Lv}function Qm(r){exports.DEBUG&&console.log(r.step,"RDTG[]"),r.round=Pv}function eb(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCANCTRL[]",t)}function u4(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+r+"]",n,s);var a,u;r?(a=i.y-o.y,u=o.x-i.x):(a=o.x-i.x,u=o.y-i.y),t.dpv=Lt(a,u)}function tb(r){var t=r.stack,e=t.pop(),n=0;exports.DEBUG&&console.log(r.step,"GETINFO[]",e),e&1&&(n=35),e&32&&(n|=4096),t.push(n)}function nb(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop();exports.DEBUG&&console.log(r.step,"ROLL[]"),t.push(n),t.push(e),t.push(s)}function rb(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MAX[]",e,n),t.push(Math.max(n,e))}function sb(r){var t=r.stack,e=t.pop(),n=t.pop();exports.DEBUG&&console.log(r.step,"MIN[]",e,n),t.push(Math.min(n,e))}function ib(r){var t=r.stack.pop();exports.DEBUG&&console.log(r.step,"SCANTYPE[]",t)}function ob(r){var t=r.stack.pop(),e=r.stack.pop();switch(exports.DEBUG&&console.log(r.step,"INSTCTRL[]",t,e),t){case 1:r.inhibitGridFit=!!e;return;case 2:r.ignoreCvt=!!e;return;default:throw new Error("invalid INSTCTRL[] selector")}}function ce(r,t){var e=t.stack,n=t.prog,s=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+r+"]");for(var i=0;i<r;i++)e.push(n[++s]);t.ip=s}function he(r,t){var e=t.ip,n=t.prog,s=t.stack;exports.DEBUG&&console.log(t.ip,"PUSHW["+r+"]");for(var i=0;i<r;i++){var o=n[++e]<<8|n[++e];o&32768&&(o=-((o^65535)+1)),s.push(o)}t.ip=e}function Y(r,t,e,n,s,i){var o=i.stack,a=r&&o.pop(),u=o.pop(),l=i.rp0,c=i.z0[l],h=i.z1[u],f=i.minDis,d=i.fv,_=i.dpv,m,v,y,F;v=m=_.distance(h,c,!0,!0),y=v>=0?1:-1,v=Math.abs(v),r&&(F=i.cvt[a],n&&Math.abs(v-F)<i.cvCutIn&&(v=F)),e&&v<f&&(v=f),n&&(v=i.round(v)),d.setRelative(h,c,y*v,_),d.touch(h),exports.DEBUG&&console.log(i.step,(r?"MIRP[":"MDRP[")+(t?"M":"m")+(e?">":"_")+(n?"R":"_")+(s===0?"Gr":s===1?"Bl":s===2?"Wh":"")+"]",r?a+"("+i.cvt[a]+","+F+")":"",u,"(d =",m,"->",y*v,")"),i.rp1=i.rp0,i.rp2=u,t&&(i.rp0=u)}mn=[V0.bind(void 0,ie),V0.bind(void 0,Z1),K0.bind(void 0,ie),K0.bind(void 0,Z1),q0.bind(void 0,ie),q0.bind(void 0,Z1),Z0.bind(void 0,0),Z0.bind(void 0,1),J0.bind(void 0,0),J0.bind(void 0,1),Nv,Uv,$v,Hv,Gv,zv,Xv,Wv,Yv,jv,Vv,Kv,qv,Zv,Jv,Qv,em,tm,nm,rm,void 0,void 0,sm,I2,im,om,am,cm,hm,void 0,void 0,void 0,um,lm,fm,void 0,Q0.bind(void 0,0),Q0.bind(void 0,1),e4.bind(void 0,ie),e4.bind(void 0,Z1),t4.bind(void 0,0),t4.bind(void 0,1),n4.bind(void 0,0),n4.bind(void 0,1),r4.bind(void 0,0),r4.bind(void 0,1),dm,pm,s4.bind(void 0,0),s4.bind(void 0,1),gm,Dm,i4.bind(void 0,0),i4.bind(void 0,1),_m,vm,mm,bm,ym,Fm,o4.bind(void 0,0),o4.bind(void 0,1),void 0,a4.bind(void 0,0),a4.bind(void 0,1),Cm,void 0,Em,void 0,void 0,Sm,Tm,xm,wm,Bm,Om,Rm,Am,km,Im,Lm,Pm,Mm,L2.bind(void 0,1),Nm,Um,$m,Hm,Gm,zm,Xm,Wm,Ym,jm,Wt.bind(void 0,0),Wt.bind(void 0,1),Wt.bind(void 0,2),Wt.bind(void 0,3),void 0,void 0,void 0,void 0,Vm,L2.bind(void 0,2),L2.bind(void 0,3),P2.bind(void 0,1),P2.bind(void 0,2),P2.bind(void 0,3),Km,qm,void 0,void 0,Zm,void 0,Jm,Qm,I2,I2,void 0,void 0,void 0,void 0,void 0,eb,u4.bind(void 0,0),u4.bind(void 0,1),tb,void 0,nb,rb,sb,ib,ob,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,ce.bind(void 0,1),ce.bind(void 0,2),ce.bind(void 0,3),ce.bind(void 0,4),ce.bind(void 0,5),ce.bind(void 0,6),ce.bind(void 0,7),ce.bind(void 0,8),he.bind(void 0,1),he.bind(void 0,2),he.bind(void 0,3),he.bind(void 0,4),he.bind(void 0,5),he.bind(void 0,6),he.bind(void 0,7),he.bind(void 0,8),Y.bind(void 0,0,0,0,0,0),Y.bind(void 0,0,0,0,0,1),Y.bind(void 0,0,0,0,0,2),Y.bind(void 0,0,0,0,0,3),Y.bind(void 0,0,0,0,1,0),Y.bind(void 0,0,0,0,1,1),Y.bind(void 0,0,0,0,1,2),Y.bind(void 0,0,0,0,1,3),Y.bind(void 0,0,0,1,0,0),Y.bind(void 0,0,0,1,0,1),Y.bind(void 0,0,0,1,0,2),Y.bind(void 0,0,0,1,0,3),Y.bind(void 0,0,0,1,1,0),Y.bind(void 0,0,0,1,1,1),Y.bind(void 0,0,0,1,1,2),Y.bind(void 0,0,0,1,1,3),Y.bind(void 0,0,1,0,0,0),Y.bind(void 0,0,1,0,0,1),Y.bind(void 0,0,1,0,0,2),Y.bind(void 0,0,1,0,0,3),Y.bind(void 0,0,1,0,1,0),Y.bind(void 0,0,1,0,1,1),Y.bind(void 0,0,1,0,1,2),Y.bind(void 0,0,1,0,1,3),Y.bind(void 0,0,1,1,0,0),Y.bind(void 0,0,1,1,0,1),Y.bind(void 0,0,1,1,0,2),Y.bind(void 0,0,1,1,0,3),Y.bind(void 0,0,1,1,1,0),Y.bind(void 0,0,1,1,1,1),Y.bind(void 0,0,1,1,1,2),Y.bind(void 0,0,1,1,1,3),Y.bind(void 0,1,0,0,0,0),Y.bind(void 0,1,0,0,0,1),Y.bind(void 0,1,0,0,0,2),Y.bind(void 0,1,0,0,0,3),Y.bind(void 0,1,0,0,1,0),Y.bind(void 0,1,0,0,1,1),Y.bind(void 0,1,0,0,1,2),Y.bind(void 0,1,0,0,1,3),Y.bind(void 0,1,0,1,0,0),Y.bind(void 0,1,0,1,0,1),Y.bind(void 0,1,0,1,0,2),Y.bind(void 0,1,0,1,0,3),Y.bind(void 0,1,0,1,1,0),Y.bind(void 0,1,0,1,1,1),Y.bind(void 0,1,0,1,1,2),Y.bind(void 0,1,0,1,1,3),Y.bind(void 0,1,1,0,0,0),Y.bind(void 0,1,1,0,0,1),Y.bind(void 0,1,1,0,0,2),Y.bind(void 0,1,1,0,0,3),Y.bind(void 0,1,1,0,1,0),Y.bind(void 0,1,1,0,1,1),Y.bind(void 0,1,1,0,1,2),Y.bind(void 0,1,1,0,1,3),Y.bind(void 0,1,1,1,0,0),Y.bind(void 0,1,1,1,0,1),Y.bind(void 0,1,1,1,0,2),Y.bind(void 0,1,1,1,0,3),Y.bind(void 0,1,1,1,1,0),Y.bind(void 0,1,1,1,1,1),Y.bind(void 0,1,1,1,1,2),Y.bind(void 0,1,1,1,1,3)];function it(r){this.char=r,this.state={},this.activeState=null}function e0(r,t,e){this.contextName=e,this.startIndex=r,this.endOffset=t}function ab(r,t,e){this.contextName=r,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=e}function $1(r,t){this.context=r,this.index=t,this.length=r.length,this.current=r[t],this.backtrack=r.slice(0,t),this.lookahead=r.slice(t+1)}function m2(r){this.eventId=r,this.subscribers=[]}function ub(r){var t=this,e=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];e.forEach(function(s){Object.defineProperty(t.events,s,{value:new m2(s)})}),r&&e.forEach(function(s){var i=r[s];typeof i=="function"&&t.events[s].subscribe(i)});var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach(function(s){t.events[s].subscribe(t.updateContextsRanges)})}function a1(r){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],ub.call(this,r)}it.prototype.setState=function(r,t){return this.state[r]=t,this.activeState={key:r,value:this.state[r]},this.activeState};it.prototype.getState=function(r){return this.state[r]||null};a1.prototype.inboundIndex=function(r){return r>=0&&r<this.tokens.length};a1.prototype.composeRUD=function(r){var t=this,e=!0,n=r.map(function(i){return t[i[0]].apply(t,i.slice(1).concat(e))}),s=function(i){return typeof i=="object"&&i.hasOwnProperty("FAIL")};if(n.every(s))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:n.filter(s)};this.dispatch("composeRUD",[n.filter(function(i){return!s(i)})])};a1.prototype.replaceRange=function(r,t,e,n){t=t!==null?t:this.tokens.length;var s=e.every(function(o){return o instanceof it});if(!isNaN(r)&&this.inboundIndex(r)&&s){var i=this.tokens.splice.apply(this.tokens,[r,t].concat(e));return n||this.dispatch("replaceToken",[r,t,e]),[i,e]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}};a1.prototype.replaceToken=function(r,t,e){if(!isNaN(r)&&this.inboundIndex(r)&&t instanceof it){var n=this.tokens.splice(r,1,t);return e||this.dispatch("replaceToken",[r,t]),[n[0],t]}else return{FAIL:"replaceToken: invalid token or index."}};a1.prototype.removeRange=function(r,t,e){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(r,t);return e||this.dispatch("removeRange",[n,r,t]),n};a1.prototype.removeToken=function(r,t){if(!isNaN(r)&&this.inboundIndex(r)){var e=this.tokens.splice(r,1);return t||this.dispatch("removeToken",[e,r]),e}else return{FAIL:"removeToken: invalid token index."}};a1.prototype.insertToken=function(r,t,e){var n=r.every(function(s){return s instanceof it});return n?(this.tokens.splice.apply(this.tokens,[t,0].concat(r)),e||this.dispatch("insertToken",[r,t]),r):{FAIL:"insertToken: invalid token(s)."}};a1.prototype.registerModifier=function(r,t,e){this.events.newToken.subscribe(function(n,s){var i=[n,s],o=t===null||t.apply(this,i)===!0,a=[n,s];if(o){var u=e.apply(this,a);n.setState(r,u)}}),this.registeredModifiers.push(r)};m2.prototype.subscribe=function(r){return typeof r=="function"?this.subscribers.push(r)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}};m2.prototype.unsubscribe=function(r){this.subscribers.splice(r,1)};$1.prototype.setCurrentIndex=function(r){this.index=r,this.current=this.context[r],this.backtrack=this.context.slice(0,r),this.lookahead=this.context.slice(r+1)};$1.prototype.get=function(r){switch(!0){case r===0:return this.current;case(r<0&&Math.abs(r)<=this.backtrack.length):return this.backtrack.slice(r)[0];case(r>0&&r<=this.lookahead.length):return this.lookahead[r-1];default:return null}};a1.prototype.rangeToText=function(r){if(r instanceof e0)return this.getRangeTokens(r).map(function(t){return t.char}).join("")};a1.prototype.getText=function(){return this.tokens.map(function(r){return r.char}).join("")};a1.prototype.getContext=function(r){var t=this.registeredContexts[r];return t||null};a1.prototype.on=function(r,t){var e=this.events[r];return e?e.subscribe(t):null};a1.prototype.dispatch=function(r,t){var e=this,n=this.events[r];n instanceof m2&&n.subscribers.forEach(function(s){s.apply(e,t||[])})};a1.prototype.registerContextChecker=function(r,t,e){if(this.getContext(r))return{FAIL:"context name '"+r+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof e!="function")return{FAIL:"missing context end check."};var n=new ab(r,t,e);return this.registeredContexts[r]=n,this.contextCheckers.push(n),n};a1.prototype.getRangeTokens=function(r){var t=r.startIndex+r.endOffset;return[].concat(this.tokens.slice(r.startIndex,t))};a1.prototype.getContextRanges=function(r){var t=this.getContext(r);return t?t.ranges:{FAIL:"context checker '"+r+"' is not registered."}};a1.prototype.resetContextsRanges=function(){var r=this.registeredContexts;for(var t in r)if(r.hasOwnProperty(t)){var e=r[t];e.ranges=[]}};a1.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var r=this.tokens.map(function(n){return n.char}),t=0;t<r.length;t++){var e=new $1(r,t);this.runContextCheck(e)}this.dispatch("updateContextsRanges",[this.registeredContexts])};a1.prototype.setEndOffset=function(r,t){var e=this.getContext(t).openRange.startIndex,n=new e0(e,r,t),s=this.getContext(t).ranges;return n.rangeId=t+"."+s.length,s.push(n),this.getContext(t).openRange=null,n};a1.prototype.runContextCheck=function(r){var t=this,e=r.index;this.contextCheckers.forEach(function(n){var s=n.contextName,i=t.getContext(s).openRange;if(!i&&n.checkStart(r)&&(i=new e0(e,null,s),t.getContext(s).openRange=i,t.dispatch("contextStart",[s,e])),i&&n.checkEnd(r)){var o=e-i.startIndex+1,a=t.setEndOffset(o,s);t.dispatch("contextEnd",[s,a])}})};a1.prototype.tokenize=function(r){this.tokens=[],this.resetContextsRanges();var t=Array.from(r);this.dispatch("start");for(var e=0;e<t.length;e++){var n=t[e],s=new $1(t,e);this.dispatch("next",[s]),this.runContextCheck(s);var i=new it(n);this.tokens.push(i),this.dispatch("newToken",[i,s])}return this.dispatch("end",[this.tokens]),this.tokens};function pe(r){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(r)}function Sn(r){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(r)}function _e(r){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(r)}function Zt(r){return/[A-z]/.test(r)}function lb(r){return/\s/.test(r)}function A1(r){this.font=r,this.features={}}function we(r){this.id=r.id,this.tag=r.tag,this.substitution=r.substitution}function Pt(r,t){if(!r)return-1;switch(t.format){case 1:return t.glyphs.indexOf(r);case 2:for(var e=t.ranges,n=0;n<e.length;n++){var s=e[n];if(r>=s.start&&r<=s.end){var i=r-s.start;return s.index+i}}break;default:return-1}return-1}function cb(r,t){var e=Pt(r,t.coverage);return e===-1?null:r+t.deltaGlyphId}function hb(r,t){var e=Pt(r,t.coverage);return e===-1?null:t.substitute[e]}function M2(r,t){for(var e=[],n=0;n<r.length;n++){var s=r[n],i=t.current;i=Array.isArray(i)?i[0]:i;var o=Pt(i,s);o!==-1&&e.push(o)}return e.length!==r.length?-1:e}function fb(r,t){var e=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(r.context.length<e)return[];var n=M2(t.inputCoverage,r);if(n===-1)return[];var s=t.inputCoverage.length-1;if(r.lookahead.length<t.lookaheadCoverage.length)return[];for(var i=r.lookahead.slice(s);i.length&&_e(i[0].char);)i.shift();var o=new $1(i,0),a=M2(t.lookaheadCoverage,o),u=[].concat(r.backtrack);for(u.reverse();u.length&&_e(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new $1(u,0),c=M2(t.backtrackCoverage,l),h=n.length===t.inputCoverage.length&&a.length===t.lookaheadCoverage.length&&c.length===t.backtrackCoverage.length,f=[];if(h)for(var d=0;d<t.lookupRecords.length;d++)for(var _=t.lookupRecords[d],m=_.lookupListIndex,v=this.getLookupByIndex(m),y=0;y<v.subtables.length;y++){var F=v.subtables[y],E=this.getLookupMethod(v,F),x=this.getSubstitutionType(v,F);if(x==="12")for(var T=0;T<n.length;T++){var B=r.get(T),w=E(B);w&&f.push(w)}}return f}function db(r,t){var e=r.current,n=Pt(e,t.coverage);if(n===-1)return null;for(var s,i=t.ligatureSets[n],o=0;o<i.length;o++){s=i[o];for(var a=0;a<s.components.length;a++){var u=r.lookahead[a],l=s.components[a];if(u!==l)break;if(a===s.components.length-1)return s}}return null}function pb(r,t){var e=Pt(r,t.coverage);return e===-1?null:t.sequences[e]}A1.prototype.getDefaultScriptFeaturesIndexes=function(){for(var r=this.font.tables.gsub.scripts,t=0;t<r.length;t++){var e=r[t];if(e.tag==="DFLT")return e.script.defaultLangSys.featureIndexes}return[]};A1.prototype.getScriptFeaturesIndexes=function(r){var t=this.font.tables;if(!t.gsub)return[];if(!r)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,n=0;n<e.length;n++){var s=e[n];if(s.tag===r&&s.script.defaultLangSys)return s.script.defaultLangSys.featureIndexes;var i=s.langSysRecords;if(i)for(var o=0;o<i.length;o++){var a=i[o];if(a.tag===r){var u=a.langSys;return u.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()};A1.prototype.mapTagsToFeatures=function(r,t){for(var e={},n=0;n<r.length;n++){var s=r[n].tag,i=r[n].feature;e[s]=i}this.features[t].tags=e};A1.prototype.getScriptFeatures=function(r){var t=this.features[r];if(this.features.hasOwnProperty(r))return t;var e=this.getScriptFeaturesIndexes(r);if(!e)return null;var n=this.font.tables.gsub;return t=e.map(function(s){return n.features[s]}),this.features[r]=t,this.mapTagsToFeatures(t,r),t};A1.prototype.getSubstitutionType=function(r,t){var e=r.lookupType.toString(),n=t.substFormat.toString();return e+n};A1.prototype.getLookupMethod=function(r,t){var e=this,n=this.getSubstitutionType(r,t);switch(n){case"11":return function(s){return cb.apply(e,[s,t])};case"12":return function(s){return hb.apply(e,[s,t])};case"63":return function(s){return fb.apply(e,[s,t])};case"41":return function(s){return db.apply(e,[s,t])};case"21":return function(s){return pb.apply(e,[s,t])};default:throw new Error("lookupType: "+r.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}};A1.prototype.lookupFeature=function(r){var t=r.contextParams,e=t.index,n=this.getFeature({tag:r.tag,script:r.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+r.tag+"' for script '"+r.script+"'.");for(var s=this.getFeatureLookups(n),i=[].concat(t.context),o=0;o<s.length;o++)for(var a=s[o],u=this.getLookupSubtables(a),l=0;l<u.length;l++){var c=u[l],h=this.getSubstitutionType(a,c),f=this.getLookupMethod(a,c),d=void 0;switch(h){case"11":d=f(t.current),d&&i.splice(e,1,new we({id:11,tag:r.tag,substitution:d}));break;case"12":d=f(t.current),d&&i.splice(e,1,new we({id:12,tag:r.tag,substitution:d}));break;case"63":d=f(t),Array.isArray(d)&&d.length&&i.splice(e,1,new we({id:63,tag:r.tag,substitution:d}));break;case"41":d=f(t),d&&i.splice(e,1,new we({id:41,tag:r.tag,substitution:d}));break;case"21":d=f(t.current),d&&i.splice(e,1,new we({id:21,tag:r.tag,substitution:d}));break}t=new $1(i,e),!(Array.isArray(d)&&!d.length)&&(d=null)}return i.length?i:null};A1.prototype.supports=function(r){if(!r.script)return!1;this.getScriptFeatures(r.script);var t=this.features.hasOwnProperty(r.script);if(!r.tag)return t;var e=this.features[r.script].some(function(n){return n.tag===r.tag});return t&&e};A1.prototype.getLookupSubtables=function(r){return r.subtables||null};A1.prototype.getLookupByIndex=function(r){var t=this.font.tables.gsub.lookups;return t[r]||null};A1.prototype.getFeatureLookups=function(r){return r.lookupListIndexes.map(this.getLookupByIndex.bind(this))};A1.prototype.getFeature=function(t){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(t.script)||this.getScriptFeatures(t.script);var e=this.features[t.script];return e?e.tags[t.tag]?this.features[t.script].tags[t.tag]:null:{FAIL:"No feature for script "+t.script}};function gb(r){var t=r.current,e=r.get(-1);return e===null&&pe(t)||!pe(e)&&pe(t)}function Db(r){var t=r.get(1);return t===null||!pe(t)}var _b={startCheck:gb,endCheck:Db};function vb(r){var t=r.current,e=r.get(-1);return(pe(t)||_e(t))&&!pe(e)}function mb(r){var t=r.get(1);switch(!0){case t===null:return!0;case(!pe(t)&&!_e(t)):var e=lb(t);if(!e)return!0;if(e){var n=!1;if(n=r.lookahead.some(function(s){return pe(s)||_e(s)}),!n)return!0}break;default:return!1}}var bb={startCheck:vb,endCheck:mb};function yb(r,t,e){t[e].setState(r.tag,r.substitution)}function Fb(r,t,e){t[e].setState(r.tag,r.substitution)}function Cb(r,t,e){r.substitution.forEach(function(n,s){var i=t[e+s];i.setState(r.tag,n)})}function Eb(r,t,e){var n=t[e];n.setState(r.tag,r.substitution.ligGlyph);for(var s=r.substitution.components.length,i=0;i<s;i++)n=t[e+i+1],n.setState("deleted",!0)}var l4={11:yb,12:Fb,63:Cb,41:Eb};function t0(r,t,e){r instanceof we&&l4[r.id]&&l4[r.id](r,t,e)}function Sb(r){for(var t=[].concat(r.backtrack),e=t.length-1;e>=0;e--){var n=t[e],s=Sn(n),i=_e(n);if(!s&&!i)return!0;if(s)return!1}return!1}function Tb(r){if(Sn(r.current))return!1;for(var t=0;t<r.lookahead.length;t++){var e=r.lookahead[t],n=_e(e);if(!n)return!0}return!1}function xb(r){var t=this,e="arab",n=this.featuresTags[e],s=this.tokenizer.getRangeTokens(r);if(s.length!==1){var i=new $1(s.map(function(a){return a.getState("glyphIndex")}),0),o=new $1(s.map(function(a){return a.char}),0);s.forEach(function(a,u){if(!_e(a.char)){i.setCurrentIndex(u),o.setCurrentIndex(u);var l=0;Sb(o)&&(l|=1),Tb(o)&&(l|=2);var c;switch(l){case 1:c="fina";break;case 2:c="init";break;case 3:c="medi";break}if(n.indexOf(c)!==-1){var h=t.query.lookupFeature({tag:c,script:e,contextParams:i});if(h instanceof Error)return console.info(h.message);h.forEach(function(f,d){f instanceof we&&(t0(f,s,d),i.context[d]=f.substitution)})}}})}}function c4(r,t){var e=r.map(function(n){return n.activeState.value});return new $1(e,t||0)}function wb(r){var t=this,e="arab",n=this.tokenizer.getRangeTokens(r),s=c4(n);s.context.forEach(function(i,o){s.setCurrentIndex(o);var a=t.query.lookupFeature({tag:"rlig",script:e,contextParams:s});a.length&&(a.forEach(function(u){return t0(u,n,o)}),s=c4(n))})}function Bb(r){var t=r.current,e=r.get(-1);return e===null&&Zt(t)||!Zt(e)&&Zt(t)}function Ob(r){var t=r.get(1);return t===null||!Zt(t)}var Rb={startCheck:Bb,endCheck:Ob};function h4(r,t){var e=r.map(function(n){return n.activeState.value});return new $1(e,t||0)}function Ab(r){var t=this,e="latn",n=this.tokenizer.getRangeTokens(r),s=h4(n);s.context.forEach(function(i,o){s.setCurrentIndex(o);var a=t.query.lookupFeature({tag:"liga",script:e,contextParams:s});a.length&&(a.forEach(function(u){return t0(u,n,o)}),s=h4(n))})}function z1(r){this.baseDir=r||"ltr",this.tokenizer=new a1,this.featuresTags={}}z1.prototype.setText=function(r){this.text=r};z1.prototype.contextChecks={latinWordCheck:Rb,arabicWordCheck:_b,arabicSentenceCheck:bb};function N2(r){var t=this.contextChecks[r+"Check"];return this.tokenizer.registerContextChecker(r,t.startCheck,t.endCheck)}function kb(){return N2.call(this,"latinWord"),N2.call(this,"arabicWord"),N2.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function Ib(){var r=this,t=this.tokenizer.getContextRanges("arabicSentence");t.forEach(function(e){var n=r.tokenizer.getRangeTokens(e);r.tokenizer.replaceRange(e.startIndex,e.endOffset,n.reverse())})}z1.prototype.registerFeatures=function(r,t){var e=this,n=t.filter(function(s){return e.query.supports({script:r,tag:s})});this.featuresTags.hasOwnProperty(r)?this.featuresTags[r]=this.featuresTags[r].concat(n):this.featuresTags[r]=n};z1.prototype.applyFeatures=function(r,t){if(!r)throw new Error("No valid font was provided to apply features");this.query||(this.query=new A1(r));for(var e=0;e<t.length;e++){var n=t[e];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}};z1.prototype.registerModifier=function(r,t,e){this.tokenizer.registerModifier(r,t,e)};function n0(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function Lb(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){n0.call(this);var e=this.tokenizer.getContextRanges("arabicWord");e.forEach(function(n){xb.call(r,n)})}}function Pb(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("rlig")!==-1){n0.call(this);var n=this.tokenizer.getContextRanges("arabicWord");n.forEach(function(s){wb.call(r,s)})}}}function Mb(){var r=this,t="latn";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("liga")!==-1){n0.call(this);var n=this.tokenizer.getContextRanges("latinWord");n.forEach(function(s){Ab.call(r,s)})}}}z1.prototype.checkContextReady=function(r){return!!this.tokenizer.getContext(r)};z1.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(Lb.call(this),Pb.call(this)),this.checkContextReady("latinWord")&&Mb.call(this),this.checkContextReady("arabicSentence")&&Ib.call(this)};z1.prototype.processText=function(r){(!this.text||this.text!==r)&&(this.setText(r),kb.call(this),this.applyFeaturesToContexts())};z1.prototype.getBidiText=function(r){return this.processText(r),this.tokenizer.getText()};z1.prototype.getTextGlyphs=function(r){this.processText(r);for(var t=[],e=0;e<this.tokenizer.tokens.length;e++){var n=this.tokenizer.tokens[e];if(!n.state.deleted){var s=n.activeState.value;t.push(Array.isArray(s)?s[0]:s)}}return t};function s1(r){r=r||{},r.tables=r.tables||{},r.empty||(ut(r.familyName,"When creating a new Font object, familyName is required."),ut(r.styleName,"When creating a new Font object, styleName is required."),ut(r.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),ut(r.ascender,"When creating a new Font object, ascender is required."),ut(r.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:r.familyName||" "},fontSubfamily:{en:r.styleName||" "},fullName:{en:r.fullName||r.familyName+" "+r.styleName},postScriptName:{en:r.postScriptName||(r.familyName+r.styleName).replace(/\s/g,"")},designer:{en:r.designer||" "},designerURL:{en:r.designerURL||" "},manufacturer:{en:r.manufacturer||" "},manufacturerURL:{en:r.manufacturerURL||" "},license:{en:r.license||" "},licenseURL:{en:r.licenseURL||" "},version:{en:r.version||"Version 0.1"},description:{en:r.description||" "},copyright:{en:r.copyright||" "},trademark:{en:r.trademark||" "}},this.unitsPerEm=r.unitsPerEm||1e3,this.ascender=r.ascender,this.descender=r.descender,this.createdTimestamp=r.createdTimestamp,this.tables=Object.assign(r.tables,{os2:Object.assign({usWeightClass:r.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:r.widthClass||this.usWidthClasses.MEDIUM,fsSelection:r.fsSelection||this.fsSelectionValues.REGULAR},r.tables.os2)})),this.supported=!0,this.glyphs=new ee.GlyphSet(this,r.glyphs||[]),this.encoding=new G7(this),this.position=new kt(this),this.substitution=new R1(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new yn(this)}})}s1.prototype.hasChar=function(r){return this.encoding.charToGlyphIndex(r)!==null};s1.prototype.charToGlyphIndex=function(r){return this.encoding.charToGlyphIndex(r)};s1.prototype.charToGlyph=function(r){var t=this.charToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e};s1.prototype.updateFeatures=function(r){return this.defaultRenderOptions.features.map(function(t){return t.script==="latn"?{script:"latn",tags:t.tags.filter(function(e){return r[e]})}:t})};s1.prototype.stringToGlyphs=function(r,t){var e=this,n=new z1,s=function(h){return e.charToGlyphIndex(h.char)};n.registerModifier("glyphIndex",null,s);var i=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,i);for(var o=n.getTextGlyphs(r),a=o.length,u=new Array(a),l=this.glyphs.get(0),c=0;c<a;c+=1)u[c]=this.glyphs.get(o[c])||l;return u};s1.prototype.nameToGlyphIndex=function(r){return this.glyphNames.nameToGlyphIndex(r)};s1.prototype.nameToGlyph=function(r){var t=this.nameToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e};s1.prototype.glyphIndexToName=function(r){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(r):""};s1.prototype.getKerningValue=function(r,t){r=r.index||r,t=t.index||t;var e=this.position.defaultKerningTables;return e?this.position.getKerningValue(e,r,t):this.kerningPairs[r+","+t]||0};s1.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]};s1.prototype.forEachGlyph=function(r,t,e,n,s,i){t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:72,s=Object.assign({},this.defaultRenderOptions,s);var o=1/this.unitsPerEm*n,a=this.stringToGlyphs(r,s),u;if(s.kerning){var l=s.script||this.position.getDefaultScriptName();u=this.position.getKerningTables(l,s.language)}for(var c=0;c<a.length;c+=1){var h=a[c];if(i.call(this,h,t,e,n,s),h.advanceWidth&&(t+=h.advanceWidth*o),s.kerning&&c<a.length-1){var f=u?this.position.getKerningValue(u,h.index,a[c+1].index):this.getKerningValue(h,a[c+1]);t+=f*o}s.letterSpacing?t+=s.letterSpacing*n:s.tracking&&(t+=s.tracking/1e3*n)}return t};s1.prototype.getPath=function(r,t,e,n,s){var i=new d1;return this.forEachGlyph(r,t,e,n,s,function(o,a,u,l){var c=o.getPath(a,u,l,s,this);i.extend(c)}),i};s1.prototype.getPaths=function(r,t,e,n,s){var i=[];return this.forEachGlyph(r,t,e,n,s,function(o,a,u,l){var c=o.getPath(a,u,l,s,this);i.push(c)}),i};s1.prototype.getAdvanceWidth=function(r,t,e){return this.forEachGlyph(r,0,0,t,e,function(){})};s1.prototype.draw=function(r,t,e,n,s,i){this.getPath(t,e,n,s,i).draw(r)};s1.prototype.drawPoints=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(o,a,u,l){o.drawPoints(r,a,u,l)})};s1.prototype.drawMetrics=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(o,a,u,l){o.drawMetrics(r,a,u,l)})};s1.prototype.getEnglishName=function(r){var t=this.names[r];if(t)return t.en};s1.prototype.validate=function(){var r=this;function t(n,s){}function e(n){var s=r.getEnglishName(n);s&&s.trim().length>0}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm>0};s1.prototype.toTables=function(){return Ev.fontToTable(this)};s1.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};s1.prototype.toArrayBuffer=function(){for(var r=this.toTables(),t=r.encode(),e=new ArrayBuffer(t.length),n=new Uint8Array(e),s=0;s<t.length;s++)n[s]=t[s];return e};s1.prototype.download=function(r){var t=this.getEnglishName("fontFamily"),e=this.getEnglishName("fontSubfamily");r=r||t.replace(/\s/g,"")+"-"+e+".otf";var n=this.toArrayBuffer();if(Tv())if(window.URL=window.URL||window.webkitURL,window.URL){var s=new DataView(n),i=new Blob([s],{type:"font/opentype"}),o=document.createElement("a");o.href=window.URL.createObjectURL(i),o.download=r;var a=document.createEvent("MouseEvents");a.initEvent("click",!0,!1),o.dispatchEvent(a)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var u=require("fs"),l=xv(n);u.writeFileSync(r,l)}};s1.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512};s1.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9};s1.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};function Tn(r,t){var e=JSON.stringify(r),n=256;for(var s in t){var i=parseInt(s);if(!(!i||i<256)){if(JSON.stringify(t[s])===e)return i;n<=i&&(n=i+1)}}return t[n]=r,n}function Nb(r,t,e){var n=Tn(t.name,e);return[{name:"tag_"+r,type:"TAG",value:t.tag},{name:"minValue_"+r,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+r,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+r,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+r,type:"USHORT",value:0},{name:"nameID_"+r,type:"USHORT",value:n}]}function Ub(r,t,e){var n={},s=new j.Parser(r,t);return n.tag=s.parseTag(),n.minValue=s.parseFixed(),n.defaultValue=s.parseFixed(),n.maxValue=s.parseFixed(),s.skip("uShort",1),n.name=e[s.parseUShort()]||{},n}function $b(r,t,e,n){for(var s=Tn(t.name,n),i=[{name:"nameID_"+r,type:"USHORT",value:s},{name:"flags_"+r,type:"USHORT",value:0}],o=0;o<e.length;++o){var a=e[o].tag;i.push({name:"axis_"+r+" "+a,type:"FIXED",value:t.coordinates[a]<<16})}return i}function Hb(r,t,e,n){var s={},i=new j.Parser(r,t);s.name=n[i.parseUShort()]||{},i.skip("uShort",1),s.coordinates={};for(var o=0;o<e.length;++o)s.coordinates[e[o].tag]=i.parseFixed();return s}function Gb(r,t){var e=new G.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:r.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:r.instances.length},{name:"instanceSize",type:"USHORT",value:4+r.axes.length*4}]);e.offsetToData=e.sizeOf();for(var n=0;n<r.axes.length;n++)e.fields=e.fields.concat(Nb(n,r.axes[n],t));for(var s=0;s<r.instances.length;s++)e.fields=e.fields.concat($b(s,r.instances[s],r.axes,t));return e}function zb(r,t,e){var n=new j.Parser(r,t),s=n.parseULong();Z.argument(s===65536,"Unsupported fvar table version.");var i=n.parseOffset16();n.skip("uShort",1);for(var o=n.parseUShort(),a=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),c=[],h=0;h<o;h++)c.push(Ub(r,t+i+h*a,e));for(var f=[],d=t+i+o*a,_=0;_<u;_++)f.push(Hb(r,d+_*l,c,e));return{axes:c,instances:f}}var Xb={make:Gb,parse:zb},Wb=function(){return{coverage:this.parsePointer(O.coverage),attachPoints:this.parseList(O.pointer(O.uShortList))}},Yb=function(){var r=this.parseUShort();if(Z.argument(r===1||r===2||r===3,"Unsupported CaretValue table version."),r===1)return{coordinate:this.parseShort()};if(r===2)return{pointindex:this.parseShort()};if(r===3)return{coordinate:this.parseShort()}},jb=function(){return this.parseList(O.pointer(Yb))},Vb=function(){return{coverage:this.parsePointer(O.coverage),ligGlyphs:this.parseList(O.pointer(jb))}},Kb=function(){return this.parseUShort(),this.parseList(O.pointer(O.coverage))};function qb(r,t){t=t||0;var e=new O(r,t),n=e.parseVersion(1);Z.argument(n===1||n===1.2||n===1.3,"Unsupported GDEF table version.");var s={version:n,classDef:e.parsePointer(O.classDef),attachList:e.parsePointer(Wb),ligCaretList:e.parsePointer(Vb),markAttachClassDef:e.parsePointer(O.classDef)};return n>=1.2&&(s.markGlyphSets=e.parsePointer(Kb)),s}var Zb={parse:qb},H1=new Array(10);H1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{posFormat:1,coverage:this.parsePointer(O.coverage),value:this.parseValueRecord()};if(e===2)return{posFormat:2,coverage:this.parsePointer(O.coverage),values:this.parseValueRecordList()};Z.assert(!1,"0x"+t.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};H1[2]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();Z.assert(e===1||e===2,"0x"+t.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(O.coverage),s=this.parseUShort(),i=this.parseUShort();if(e===1)return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,pairSets:this.parseList(O.pointer(O.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}})))};if(e===2){var o=this.parsePointer(O.classDef),a=this.parsePointer(O.classDef),u=this.parseUShort(),l=this.parseUShort();return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,classDef1:o,classDef2:a,class1Count:u,class2Count:l,classRecords:this.parseList(u,O.list(l,function(){return{value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}}))}}};H1[3]=function(){return{error:"GPOS Lookup 3 not supported"}};H1[4]=function(){return{error:"GPOS Lookup 4 not supported"}};H1[5]=function(){return{error:"GPOS Lookup 5 not supported"}};H1[6]=function(){return{error:"GPOS Lookup 6 not supported"}};H1[7]=function(){return{error:"GPOS Lookup 7 not supported"}};H1[8]=function(){return{error:"GPOS Lookup 8 not supported"}};H1[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function Jb(r,t){t=t||0;var e=new O(r,t),n=e.parseVersion(1);return Z.argument(n===1||n===1.1,"Unsupported GPOS table version "+n),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(H1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(H1),variations:e.parseFeatureVariationsList()}}var Qb=new Array(10);function ey(r){return new G.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new G.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new G.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new G.LookupList(r.lookups,Qb)}])}var ty={parse:Jb,make:ey};function ny(r){var t={};r.skip("uShort");var e=r.parseUShort();Z.argument(e===0,"Unsupported kern sub-table version."),r.skip("uShort",2);var n=r.parseUShort();r.skip("uShort",3);for(var s=0;s<n;s+=1){var i=r.parseUShort(),o=r.parseUShort(),a=r.parseShort();t[i+","+o]=a}return t}function ry(r){var t={};r.skip("uShort");var e=r.parseULong();e>1&&console.warn("Only the first kern subtable is supported."),r.skip("uLong");var n=r.parseUShort(),s=n&255;if(r.skip("uShort"),s===0){var i=r.parseUShort();r.skip("uShort",3);for(var o=0;o<i;o+=1){var a=r.parseUShort(),u=r.parseUShort(),l=r.parseShort();t[a+","+u]=l}}return t}function sy(r,t){var e=new j.Parser(r,t),n=e.parseUShort();if(n===0)return ny(e);if(n===1)return ry(e);throw new Error("Unsupported kern table version ("+n+").")}var iy={parse:sy};function oy(r,t,e,n){for(var s=new j.Parser(r,t),i=n?s.parseUShort:s.parseULong,o=[],a=0;a<e+1;a+=1){var u=i.call(s);n&&(u*=2),o.push(u)}return o}var ay={parse:oy};function uy(r,t){var e=require("fs");e.readFile(r,function(n,s){if(n)return t(n.message);t(null,pn(s))})}function ly(r,t){var e=new XMLHttpRequest;e.open("get",r,!0),e.responseType="arraybuffer",e.onload=function(){return e.response?t(null,e.response):t("Font could not be loaded: "+e.statusText)},e.onerror=function(){t("Font could not be loaded")},e.send()}function f4(r,t){for(var e=[],n=12,s=0;s<t;s+=1){var i=j.getTag(r,n),o=j.getULong(r,n+4),a=j.getULong(r,n+8),u=j.getULong(r,n+12);e.push({tag:i,checksum:o,offset:a,length:u,compression:!1}),n+=16}return e}function cy(r,t){for(var e=[],n=44,s=0;s<t;s+=1){var i=j.getTag(r,n),o=j.getULong(r,n+4),a=j.getULong(r,n+8),u=j.getULong(r,n+12),l=void 0;a<u?l="WOFF":l=!1,e.push({tag:i,offset:o,compression:l,compressedLength:a,length:u}),n+=20}return e}function l1(r,t){if(t.compression==="WOFF"){var e=new Uint8Array(r.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(t_(e,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");var s=new DataView(n.buffer,0);return{data:s,offset:0}}else return{data:r,offset:t.offset}}function r0(r,t){t=t==null?{}:t;var e,n,s=new s1({empty:!0}),i=new DataView(r,0),o,a=[],u=j.getTag(i,0);if(u==="\0\0\0"||u==="true"||u==="typ1")s.outlinesFormat="truetype",o=j.getUShort(i,4),a=f4(i,o);else if(u==="OTTO")s.outlinesFormat="cff",o=j.getUShort(i,4),a=f4(i,o);else if(u==="wOFF"){var l=j.getTag(i,4);if(l==="\0\0\0")s.outlinesFormat="truetype";else if(l==="OTTO")s.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+u);o=j.getUShort(i,12),a=cy(i,o)}else throw new Error("Unsupported OpenType signature "+u);for(var c,h,f,d,_,m,v,y,F,E,x,T,B=0;B<o;B+=1){var w=a[B],S=void 0;switch(w.tag){case"cmap":S=l1(i,w),s.tables.cmap=H7.parse(S.data,S.offset),s.encoding=new z7(s.tables.cmap);break;case"cvt ":S=l1(i,w),T=new j.Parser(S.data,S.offset),s.tables.cvt=T.parseShortList(w.length/2);break;case"fvar":h=w;break;case"fpgm":S=l1(i,w),T=new j.Parser(S.data,S.offset),s.tables.fpgm=T.parseByteList(w.length);break;case"head":S=l1(i,w),s.tables.head=Q7.parse(S.data,S.offset),s.unitsPerEm=s.tables.head.unitsPerEm,e=s.tables.head.indexToLocFormat;break;case"hhea":S=l1(i,w),s.tables.hhea=en.parse(S.data,S.offset),s.ascender=s.tables.hhea.ascender,s.descender=s.tables.hhea.descender,s.numberOfHMetrics=s.tables.hhea.numberOfHMetrics;break;case"hmtx":v=w;break;case"ltag":S=l1(i,w),n=nn.parse(S.data,S.offset);break;case"maxp":S=l1(i,w),s.tables.maxp=rn.parse(S.data,S.offset),s.numGlyphs=s.tables.maxp.numGlyphs;break;case"name":E=w;break;case"OS/2":S=l1(i,w),s.tables.os2=a6.parse(S.data,S.offset);break;case"post":S=l1(i,w),s.tables.post=cn.parse(S.data,S.offset),s.glyphNames=new q6(s.tables.post);break;case"prep":S=l1(i,w),T=new j.Parser(S.data,S.offset),s.tables.prep=T.parseByteList(w.length);break;case"glyf":f=w;break;case"loca":F=w;break;case"CFF ":c=w;break;case"kern":y=w;break;case"GDEF":d=w;break;case"GPOS":_=w;break;case"GSUB":m=w;break;case"meta":x=w;break}}var R=l1(i,E);if(s.tables.name=ln.parse(R.data,R.offset,n),s.names=s.tables.name,f&&F){var A=e===0,k=l1(i,F),I=ay.parse(k.data,k.offset,s.numGlyphs,A),P=l1(i,f);s.glyphs=vn.parse(P.data,P.offset,I,s,t)}else if(c){var L=l1(i,c);J7.parse(L.data,L.offset,s,t)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var U=l1(i,v);if(tn.parse(s,U.data,U.offset,s.numberOfHMetrics,s.numGlyphs,s.glyphs,t),F_(s,t),y){var H=l1(i,y);s.kerningPairs=iy.parse(H.data,H.offset)}else s.kerningPairs={};if(d){var z=l1(i,d);s.tables.gdef=Zb.parse(z.data,z.offset)}if(_){var $=l1(i,_);s.tables.gpos=ty.parse($.data,$.offset),s.position.init()}if(m){var W=l1(i,m);s.tables.gsub=hn.parse(W.data,W.offset)}if(h){var Q=l1(i,h);s.tables.fvar=Xb.parse(Q.data,Q.offset,s.names)}if(x){var e1=l1(i,x);s.tables.meta=fn.parse(e1.data,e1.offset),s.metas=s.tables.meta}return s}function hy(r,t,e){e=e==null?{}:e;var n=typeof window>"u",s=n&&!e.isUrl?uy:ly;return new Promise(function(i,o){s(r,function(a,u){if(a){if(t)return t(a);o(a)}var l;try{l=r0(u,e)}catch(c){if(t)return t(c,null);o(c)}if(t)return t(null,l);i(l)})})}function fy(r,t){var e=require("fs"),n=e.readFileSync(r);return r0(pn(n),t)}var dy=Object.freeze({__proto__:null,Font:s1,Glyph:O1,Path:d1,BoundingBox:le,_parse:j,parse:r0,load:hy,loadSync:fy});function py(r){const{family:t,style:e}=r;let n=0,s=400;switch(/italic/i.test(e)&&(n=1),!0){case/thin|hairline/i.test(e):{s=100;break}case/(extra|ultra) *light/i.test(e):{s=200;break}case/light/i.test(e):{s=300;break}case/medium/i.test(e):{s=500;break}case/(semi|demi) *bold/i.test(e):{s=600;break}case/bold/i.test(e):{s=700;break}case/(extra|ultra) *bold/i.test(e):{s=800;break}case/black|heavy/i.test(e):{s=900;break}}return{family:t,variant:{style:n,weight:s}}}function gy(r){const{ff:t,bl:e=g.BooleanNumber.FALSE,it:n=g.BooleanNumber.FALSE}=r;return{family:t!=null?t:"Arial",variant:{style:n===g.BooleanNumber.TRUE?1:0,weight:e===g.BooleanNumber.TRUE?700:400}}}function Dy(r,t){let e=Number.POSITIVE_INFINITY;r.variant.style===t.variant.style?e=0:r.variant.style!==0&&t.variant.style!==0?e=1:e=2;const n=Math.abs(r.variant.weight-t.variant.weight);return[e,n]}function _y(r,t){return r[0]===t[0]&&r[1]===t[1]?0:r[0]===t[0]?r[1]>t[1]?1:2:r[0]>t[0]?1:2}async function vy(){var t;return typeof window>"u"?void 0:window.navigator==null||((t=window.navigator)==null?void 0:t.permissions)==null?!1:(await window.navigator.permissions.query({name:"local-fonts"})).state==="granted"}class my{constructor(){p(this,"isReady",!1);p(this,"_fontBook",new Map);this._loadFontsToBook()}async _loadFontsToBook(){if(!(this.isReady||!await vy())&&"queryLocalFonts"in window)try{const e=await window.queryLocalFonts();for(const n of e){const{family:s,style:i}=n;let o=this._fontBook.get(s);o==null&&(o=new Map,this._fontBook.set(s,o));const u=await(await n.blob()).arrayBuffer();o.set(i,{font:n,buffer:u})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(t){const e=t.ff,n=this._fontBook.get(e);if(n==null)return;let s=null,i=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(const o of n.values()){const{font:a}=o,u=py(a),l=gy(t),c=Dy(u,l);(s==null||_y(i,c)===1)&&(s=o,i=c)}return s}getValidFontFamilies(t){return t.filter(e=>this._fontBook.has(e))}}const h2=new my;function by(r,t){const{dataStream:e,paragraphs:n=[],textRuns:s=[]}=r;let i=0;for(let a=0;a<n.length;a++){const u=n[a],{startIndex:l}=u;if(l===t)break;i=l+1}const o=[];for(const a of s){const{st:u,ed:l}=a;u>=i&&u<=t?o.push({...a,st:u-i,ed:Math.min(l,t)-i}):l>=i&&l<=t&&o.push({...a,st:Math.max(u,i)-i,ed:l-i})}return{dataStream:e.substring(i,t+1),textRuns:o}}function yy(r){const{dataStream:t,textRuns:e=[]}=r;let n=0;const s=[];for(const i of e){const{st:o,ed:a,ts:u={}}=i;o!==n&&s.push({content:t.substring(n,o)}),s.push({content:t.substring(o,a),style:u}),n=a}return n!==t.length&&s.push({content:t.substring(n)}),s}const d4=new Map,U2=new Map;function l6(r,t,e,n,s){var m,v,y,F;let i=0,o=n[i];for(;e.has(o);)i++,o=n[i];if(!o)return[{char:r,start:t,end:t+r.length,glyph:null,font:null,kerning:0,boundingBox:null}];e.add(o);const{font:a,buffer:u}=h2.findBestMatchFontByStyle({ff:o,bl:(m=s.bl)!=null?m:g.BooleanNumber.FALSE,it:(v=s.it)!=null?v:g.BooleanNumber.FALSE});let l=d4.get(a.fullName);l||(l=dy.parse(u),d4.set(a.fullName,l));const c=[],h=l.stringToGlyphs(r),f=(y=r.match(/[\s\S]/gu))!=null?y:[];let d=0,_=0;for(;d<h.length;){const E=h[d];if(E.index!==0)c.push({char:f[d],start:_+t,end:_+t+f[d].length,glyph:E,font:l,kerning:0,boundingBox:E.getBoundingBox()});else{const x=_,B=r.substring(x).match(e2);if(B){let w=0;do w+=f[d].length,_+=f[d].length,d++;while(w<B[0].length);c.push(...l6(r.slice(x,x+B[0].length),t+x,e,n,s));continue}else{let w=h[d+1],S=f[d+1];for(;(w==null?void 0:w.index)===0&&!e2.test(S);)_+=f[d].length,d++,w=h[d+1],S=f[d+1];c.push(...l6(r.slice(x,_+f[d].length),t+x,e,n,s))}}_+=(F=f[d])==null?void 0:F.length,d++}return e.delete(o),c}function Fy(r){if(r.length<2)return;let t=r[0].font,e=r[0].glyph;for(let n=1;n<r.length;n++){const{font:s,glyph:i}=r[n];if(t!==s||s==null||e==null||i==null){t=s,e=i;continue}const o=s.getKerningValue(e,i);o!==0&&(r[n].kerning=o),t=s,e=i}}function Cy(r){var i;if(!h2.isReady)return[];const t=JSON.stringify(r);if(U2.has(t))return U2.get(t);const e=yy(r),n=[];let s=0;for(const o of e){const{content:a,style:u={}}=o;let l=wt.split(",").map(c=>c.trim().replace(/["']/g,""));l.unshift((i=u.ff)!=null?i:"Arial"),l=h2.getValidFontFamilies(l),n.push(...l6(a,s,new Set,l,u)),s+=a.length}return Fy(n),U2.set(t,n),n}function Ey(r,t,e,n,s,i){const o=[];let a=0;for(let u=0;u<t.length;u++){const l=t[u];if(j4(l)||t2(t.substring(u)))break;const c=Ae(r+u,e,n,s,i),h=Re(l,c);o.push(h),a++}return{step:a,glyphGroup:o}}function Sy(r,t,e,n,s,i){const o=Ae(r,e,n,s,i),a=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(y6(c))a.unshift(c),u++;else break}return{step:u,glyphGroup:[Re(a.join(""),o)]}}function Ty(r,t,e,n,s,i){const o=Ae(r,e,n,s,i),a=t.match(e2);return{step:a[0].length,glyphGroup:[Re(a[0],o)]}}function xy(r,t,e,n,s,i){const o=Ae(r,e,n,s,i),a=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(F6(c))a.push(c),u++;else break}return{step:u,glyphGroup:[WD(a.join(""),o)]}}function wy(r){const t=r.length;for(let e=0;e<t-1;e++){const n=r[e],s=r[e+1],{width:i,content:o}=n,a=i/2;if(j2(o)&&j2(s.content)&&n.adjustability.shrinkability[1]+s.adjustability.shrinkability[0]>=a){const u=Math.min(n.adjustability.shrinkability[1],a);R7(n,u),A7(s,a-u)}}}function By(r){const t=r.flatMap(i=>i.glyphs);let e=null;const n=t.length,s=/[a-z\d]/i;for(let i=0;i<n;i++){const o=t[i],a=i<n-1?t[i+1]:null,{width:u}=o;vt(o.content)&&a&&s.test(a.content)&&(o.width+=u/4,o.adjustability.shrinkability[1]+=u/8),vt(o.content)&&e&&s.test(e.content)&&(o.width+=u/4,o.xOffset+=u/4,o.adjustability.shrinkability[0]+=u/8),e=o}}function Oy(r,t,e,n,s,i=!1){var E;const{gridType:o=g.GridType.LINES,charSpace:a=0,defaultTabStop:u=10.5,drawings:l={}}=n,{snapToGrid:c=g.BooleanNumber.TRUE}=s,h=[],f=new GD(r),{endIndex:d}=e;let _=0,m,v=0;const y=by(t.getBody(),d);let F=[];for(i&&(F=Cy(y)),XD(f);m=f.nextBreak();){const x=r.slice(_,m.position),T=[];if(h2.isReady&&i){const w=[];let S=0;for(S=v;S<F.length;S++){const R=F[S],{end:A}=R;if(A>m.position)break;w.push(R)}v=S;for(const R of w){const{start:A,char:k}=R,I=Ae(A,t,e,n,s);if(k===g.DataStreamTreeTokenType.TAB){const P=yt(a,u,o,c),L=T0(I,P);T.push(L)}else if(t2(k)){const P=Re(k,I);T.push(P)}else{const P=Re(k,I,void 0,R);T.push(P)}}}else{let w=x,S=_;for(;w.length>0;){const R=(E=w.match(/^[\s\S]/gu))==null?void 0:E[0];if(R==null)break;if(R===g.DataStreamTreeTokenType.CUSTOM_BLOCK){const A=Ae(S,t,e,n,s);let k=null;const I=t.getCustomBlock(e.startIndex+S);if(I!=null){const{blockId:P}=I,L=l[P];if(L.layoutType===g.PositionedObjectLayoutType.INLINE){const{width:U,height:H}=L.objectTransform.size,{objectId:z}=L;k=x0(A,U,H,z)}else k=x0(A,0,0,L.objectId)}k==null&&(k=Re(R,A)),T.push(k),S+=R.length,w=w.substring(R.length)}else if(/\s/.test(R)||Bt(R)){const A=Ae(S,t,e,n,s);let k=null;if(R===g.DataStreamTreeTokenType.TAB){const I=yt(a,u,o,c);k=T0(A,I)}else k=Re(R,A);T.push(k),S+=R.length,w=w.substring(R.length)}else if(t2(w)){const{step:A,glyphGroup:k}=Ty(S,w,t,e,n,s);T.push(...k),S+=A,w=w.substring(A)}else if(y6(R)){const{step:A,glyphGroup:k}=Sy(S,w,t,e,n,s);T.push(...k),S+=A,w=w.substring(A)}else if(F6(R)){const{step:A,glyphGroup:k}=xy(S,w,t,e,n,s);T.push(...k),S+=A,w=w.substring(A)}else{const{step:A,glyphGroup:k}=Ey(S,w,t,e,n,s);T.push(...k),S+=A,w=w.substring(A)}}}wy(T);const B=[[]];for(let w=0;w<T.length;w++){const S=B[B.length-1],R=T[w];R.streamType===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&R.width!==0?B.push([R]):S.push(R)}for(const w of B){const S=w.map(R=>R.content).join();h.push({text:S,glyphs:w})}_=m.position}return By(h),h}function Ry(r,t,e,n,s=0,i=!1,o=new Map,a,u){const{lineHeight:l=15.6,lineTop:c=0,contentHeight:h=0,paddingLeft:f=0,paddingRight:d=0,paddingTop:_=0,paddingBottom:m=0,marginTop:v=0,spaceBelowApply:y=0}=e,F=Ny(t,r);F.lineIndex=s,F.paragraphStart=i,F.contentHeight=h,F.top=c,F.lineHeight=l,F.paddingTop=_,F.paddingBottom=m,F.marginTop=v,F.spaceBelowApply=y;const E=new Map(Array.from(o).filter(([x,T])=>T.drawingOrigin.layoutType!==g.PositionedObjectLayoutType.INLINE));F.divides=ky(l,c,n,f,d,E,a,u);for(const x of F.divides)x.parent=F;return F}function Ay(r=15.6,t=0,e,n,s){let i=t;return n==null||n.forEach(o=>{const a=$2(o,r,t);a&&(i=Math.max(i,a))}),s==null||s.forEach(o=>{const a=$2(o,r,t);a&&(i=Math.max(i,a))}),e==null||e.forEach(o=>{const a=$2(o,r,t);a&&(i=Math.max(i,a))}),i}function $2(r,t,e){const{aTop:n,height:s,aLeft:i,width:o,angle:a=0,drawingOrigin:u}=r,{layoutType:l,distT:c=0,distB:h=0}=u;if(l!==g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(a===0){const _=n-c,m=s+h;return _+m<e||_>t+e?void 0:_+s}let{top:f=0,height:d=0}=xn(a,i,o,n,s);if(f-=c,d+=h,!(f+d<e||f>t+e))return f+d}function ky(r,t,e,n,s,i,o,a){const u=[];return u.push({left:0,width:n},{left:e-s,width:s}),o==null||o.forEach((l,c)=>{const h=H2(l,r,t,e);h&&u.push(h)}),a==null||a.forEach((l,c)=>{const h=H2(l,r,t,e);h&&u.push(h)}),i==null||i.forEach((l,c)=>{const h=H2(l,r,t,e);h&&u.push(h)}),My(e,u)}function Iy(r,t){r.isFull=t}function p4(r,t,e,n){const{aTop:s,height:i,aLeft:o,width:a,angle:u=0,drawingOrigin:l}=r;return!!c6(s,i,o,a,e,t,n,l)}function H2(r,t,e,n){const{aTop:s,height:i,aLeft:o,width:a,angle:u=0,drawingOrigin:l}=r,{layoutType:c}=l;if(c===g.PositionedObjectLayoutType.WRAP_NONE||c===g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(c===g.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:d}=l;if(!d)return;const _=[];_.push(new M(f[0],f[1]));for(let m=0;m<d.length;m++){const v=d[m];_.push(new M(v[0],v[1]))}if(u!==0){const m=new D1().rotate(u);for(let v=0;v<_.length;v++){const y=_[v];_[v]=m.applyPoint(y)}}return g4(_,e,t,n)}if(u===0)return c6(s,i,o,a,e,t,n,l);const h=xn(u,o,a,s,i);if(c===g.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:d,top:_,height:m}=h;return c6(_,m,f,d,e,t,n,l)}return g4(h.points,e,t,n)}function xn(r,t,e,n,s){const i=new D1().rotate(r),o=new M(t,n),a=new M(t,n+s),u=new M(t+e,n),l=new M(t+e,n+s);return i.makeBoundingBoxFromPoints([o,a,u,l])}function g4(r,t,e,n){const s=new a7(r),i=s.intersection([new M(0,t),new M(n,t)]),o=s.intersection([new M(0,t+e),new M(n,t+e)]);if(!i&&!o)return;const a=Ly([...r,...i||[],...o||[]]);return{left:a.min,width:a.max}}function Ly(r,t=0){const e=[];for(let n=0;n<r.length;n++){const s=r[n];t===0?e.push(s.x):e.push(s.y)}return{max:Math.max(...e),min:Math.min(...e)}}function c6(r,t,e,n,s,i,o,a){const{layoutType:u,wrapText:l=g.WrapTextType.BOTH_SIDES,distL:c=0,distR:h=0,distT:f=0,distB:d=0}=a,_=r-(u===g.PositionedObjectLayoutType.WRAP_SQUARE?f:0),m=t+(u===g.PositionedObjectLayoutType.WRAP_SQUARE?d:0);if(_+m<s||_>i+s)return;let v=e-c,y=n+h;const F=Py(l,v,y,o);return F===1?y=o-v:F===2&&(v=0,y=e+n+h),{left:v,width:y}}function Py(r,t,e,n){let s=0;return r===g.WrapTextType.LEFT?s=1:r===g.WrapTextType.RIGHT?s=2:r===g.WrapTextType.LARGEST&&(t>n-t-e?s=1:s=2),s}function My(r,t){t.sort((i,o)=>i.left>o.left?1:-1);const e=[];let n=0;const s=t.length;for(let i=0;i<s;i++){const o=t[i],{left:a,width:u}=o;if(a>n){let l=a-n;l=l<r?l:r-n;const c=D4(n,l);e.push(c)}if(n=Math.max(a+u,n),i===s-1&&a+u<r){const l=D4(a+u,r-a-u);e.push(l)}}return e}function D4(r,t){return{glyphGroup:[],width:t,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function Ny(r,t){return{paragraphIndex:t,type:r,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,lineIndex:0,paragraphStart:!1}}function Uy(r,t,e,n){if(n)if(n.has(r)){const s=n.get(r);s==null||s.elements.push(t)}else n.set(r,{elements:[t],paragraphIndex:r,top:e})}function $y(r,t,e,n,s,i=!1){if(i)if(s.bulletSkeleton){const{bulletSkeleton:o,paragraphStyle:a={}}=s,{gridType:u=g.GridType.LINES,charSpace:l=0,defaultTabStop:c=1}=n,{snapToGrid:h=g.BooleanNumber.TRUE}=a,f=yt(l,c,u,h),d=YD(t[0],o,f);xt(r,[d,...t],e,n,s,i)}else xt(r,t,e,n,s,i);else Ye(r,t,e,n,s,i);return[...e]}function Hy(r){if(r.length<=1)return!1;let t=!1;for(const e of r)if(e.content===g.DataStreamTreeTokenType.SPACE&&(t=!0),t&&e.content!==g.DataStreamTreeTokenType.SPACE&&e.content!==g.DataStreamTreeTokenType.PARAGRAPH&&e.streamType!==g.DataStreamTreeTokenType.SECTION_BREAK)return!1;return t}function Gy(r,t,e){if(r.length<=1)return!1;let n=t,s=!1;for(const i of r){if(i.content===g.DataStreamTreeTokenType.SPACE||i.content===g.DataStreamTreeTokenType.PARAGRAPH||i.streamType===g.DataStreamTreeTokenType.SECTION_BREAK)break;if(n+=i.width,n>e){s=!0;break}}return s}function Ye(r,t,e,n,s,i=!1,o){var l;const a=qe(e),u=Hg(a);if(u){const c=v4(t),{divide:h}=u,f=(l=h==null?void 0:h.glyphGroup)==null?void 0:l[h.glyphGroup.length-1],d=(f==null?void 0:f.width)||0,_=(f==null?void 0:f.left)||0,m=d+_;if(m+c>h.width)if(Iy(h,!0),u.isLast&&t.length===1&&(t[0].content===g.DataStreamTreeTokenType.SPACE||t[0].content===g.DataStreamTreeTokenType.PARAGRAPH))$t(h,t,m);else if(u.isLast&&!Gy(t,m,h.width)&&Hy(t))$t(h,t,m);else if((h==null?void 0:h.glyphGroup.length)===0){const v=[];for(;t.length;)if(v.push(t.shift()),v4(v)>h.width){v.length>1&&t.unshift(v.pop());break}$t(h,v,m),t.length&&Ye(r,t,e,n,s,i,o)}else Ye(r,t,e,n,s,i,o);else{const v=h.parent,y=Jy(t);if(v&&y&&!eF(v)){const{paragraphLineGapDefault:F,linePitch:E,lineSpacing:x,spacingRule:T,snapToGrid:B,gridType:w}=_7(n,s),{boundingBoxAscent:S,boundingBoxDescent:R}=y,A=S+R,{contentHeight:k}=On(A,F,E,w,x,T,B);if(v.contentHeight<k){const I=Qy(v),P=I.length;let L=[],U=1;P>2&&I[0].glyphType===x1.LIST?(L=[I[0],I[1]],U=2):L=[I[0]];const H=v.parent,{paragraphStart:z}=H==null?void 0:H.lines.pop();xt(r,L,e,n,s,z,S+R);for(let $=U;$<I.length;$++)Ye(r,[I[$]],e,n,s,i);Ye(r,t,e,n,s,i);return}}$t(h,t,m)}}else xt(r,t,e,n,s,i,o)}function xt(r,t,e,n,s,i=!1,o){var ot,at,I1,Ne,Fe,Ce,Ue,$e;let a=qe(e),u=r2(a);if((!u||!u.column)&&(Bn(r,t,e,n,s),a=qe(e),u=r2(a)),!u)return;const l=u.column;if(l.width<=0){console.error("The column width is less than 0, need to adjust page width to make it great than 0");return}const c=$g(l),h=Math.max(...t.map(L1=>L1.bBox.ba)),f=Math.max(...t.map(L1=>L1.bBox.bd)),d=o||h+f,{paragraphStyle:_={},paragraphAffectSkeDrawings:m,paragraphInlineSkeDrawings:v,skeHeaders:y,skeFooters:F,drawingAnchor:E,paragraphIndex:x}=s,{spaceAbove:T=0,spaceBelow:B=0,indentFirstLine:w=0,hanging:S=0,indentStart:R=0,indentEnd:A=0}=_,{paragraphLineGapDefault:k,linePitch:I,lineSpacing:P,spacingRule:L,snapToGrid:U,gridType:H}=_7(n,s),{paddingTop:z,paddingBottom:$,contentHeight:W,lineSpacingApply:Q}=On(d,k,I,H,P,L,U),{marginTop:e1,spaceBelowApply:t1}=jy(Q,T,B,i,c),r1=e1+z+W+$;let v1=l.parent;v1||(v1=U6(a));const m1=(c==null?void 0:c.lineHeight)||0,p1=(c==null?void 0:c.top)||0,u1=m1+p1,{pageWidth:i1,headerId:E1,footerId:b1}=a,h1=(at=(ot=y==null?void 0:y.get(E1))==null?void 0:ot.get(i1))==null?void 0:at.skeDrawings,F1=(Ne=(I1=F==null?void 0:F.get(b1))==null?void 0:I1.get(i1))==null?void 0:Ne.skeDrawings;if(c){if(zy(c).length>0){const Ee=(Fe=r.paragraphConfigCache.get(c.paragraphIndex))==null?void 0:Fe.paragraphAffectSkeDrawings,F2=[...(Ce=Ee==null?void 0:Ee.values())!=null?Ce:[]].filter(C2=>C2.drawingOrigin.objectTransform.positionV.relativeFrom===g.ObjectRelativeFromV.LINE);_4(r,c.top,c.lineHeight,l,F2,c.paragraphIndex)}const X1=(Ue=r.paragraphConfigCache.get(c.paragraphIndex))==null?void 0:Ue.paragraphInlineSkeDrawings;X1&&X1.size>0&&Vy(c,X1)}if(m!=null&&m.size>0){const L1=[...m.values()].filter(X1=>X1.drawingOrigin.objectTransform.positionV.relativeFrom!==g.ObjectRelativeFromV.LINE);_4(r,u1,r1,l,L1,s.paragraphIndex,($e=E==null?void 0:E.get(x))==null?void 0:$e.top)}const w1=Ay(r1,u1,a.skeDrawings,h1,F1);if(r1+w1>v1.height&&l.lines.length>0&&a.sections.length>0){m7(l,!0),wn(r,t,e,n,s,i,o);return}const k1=c?c.lineIndex+1:0,{charSpace:P1,defaultTabStop:te}=zg(n,s),Me=yt(P1,te,H,U),{paddingLeft:be,paddingRight:M1}=Yy(w,S,R,A,Me,i),ye=Ry(x,Rt.PARAGRAPH,{lineHeight:r1,contentHeight:W,lineTop:w1,paddingLeft:be,paddingRight:M1,paddingTop:z,paddingBottom:$,marginTop:e1,spaceBelowApply:t1},l.width,k1,i,a.skeDrawings,h1,F1);l.lines.push(ye),ye.parent=l,Uy(x,ye,u1,E),Ye(r,t,e,n,s,i,o)}function _4(r,t,e,n,s,i,o){if(s.length===0)return;const a=Ky(t,e,n,o,s);a==null||a.size===0||(Xy(r,a,n,i),qy(n,a))}function zy(r){const t=[];for(const e of r.divides)for(const n of e.glyphGroup)n.streamType===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&t.push(n.objectId);return t}function Xy(r,t,e,n){var a,u,l,c,h,f,d;const s=(a=e.parent)==null?void 0:a.parent,i=new Map([...t]);if(t.size===0||s==null)return t;let o=!1;for(const _ of t.values()){const m=r.drawingsCache.get(_.objectId);if(m==null)continue;const v=(c=(l=(u=m.page.sections[0])==null?void 0:u.columns[0])==null?void 0:l.lines[0])==null?void 0:c.paragraphIndex,y=(d=(f=(h=s.sections[0])==null?void 0:h.columns[0])==null?void 0:f.lines[0])==null?void 0:d.paragraphIndex;m.page&&v&&y&&v!==y&&(m.page.skeDrawings.delete(_.objectId),q2([m.page],F=>{var w,S,R;const{lineHeight:E,top:x}=F,T=(S=(w=F.parent)==null?void 0:w.width)!=null?S:0;if(o)return;p4(m.drawing,E,x,T)&&(o=!0,r.isDirty=!0,r.layoutStartPointer.paragraphIndex=Math.min(F.paragraphIndex,(R=r.layoutStartPointer.paragraphIndex)!=null?R:Number.POSITIVE_INFINITY),r.paragraphsOpenNewPage.add(n))}))}return o=!1,q2([s],_=>{var F,E,x;const{lineHeight:m,top:v}=_,y=e.width;if(!o)for(const T of t.values()){let B=T;if(r.drawingsCache.has(T.objectId))if(Wy(r,T))B=(E=(F=r.drawingsCache.get(T.objectId))==null?void 0:F.drawing)!=null?E:T;else continue;if(p4(B,m,v,y)){o=!0,r.isDirty=!0,r.layoutStartPointer.paragraphIndex=Math.min(_.paragraphIndex,(x=r.layoutStartPointer.paragraphIndex)!=null?x:Number.POSITIVE_INFINITY);let S=r.drawingsCache.get(T.objectId);S==null&&(S={count:0,drawing:T,page:s},r.drawingsCache.set(T.objectId,S)),S.count++,S.drawing=T,S.page=s}}}),i}function Wy(r,t){const{relativeFrom:e}=t.drawingOrigin.objectTransform.positionV,n=r.drawingsCache.get(t.objectId);if(n==null)return!1;if(e===g.ObjectRelativeFromV.PARAGRAPH||e===g.ObjectRelativeFromV.LINE){const{count:s,drawing:i}=n;if(s<5&&Math.abs(t.aTop-i.aTop)>5)return!0}return!1}function wn(r,t,e,n,s,i=!1,o){const a=qe(e);Gg(a)===!0?Bn(r,t,e,n,s,i,o):xt(r,t,e,n,s,i,o)}function Bn(r,t,e,n,s,i=!1,o){const a=qe(e),{skeHeaders:u,skeFooters:l}=s;e.push(Je(r,n,{skeHeaders:u,skeFooters:l},a==null?void 0:a.pageNumber)),wn(r,t,e,n,s,i,o)}function Yy(r=0,t=0,e=0,n=0,s,i=!1){const o=Oe(r,s),a=Oe(t,s),u=Oe(e,s),l=Oe(n,s);let c=u;const h=l;return o>0&&i&&(c+=o),a>0&&!i&&(c+=a),{paddingLeft:c,paddingRight:h}}function jy(r=0,t=0,e=0,n,s){let i=0,o=0;if(!n)return{marginTop:i,spaceBelowApply:o};if(i=Oe(t,r),o=Oe(e,r),s){const{spaceBelowApply:a}=s;a>i&&(i=0,s.lineHeight+=a,s.marginBottom=a)}return{marginTop:i,spaceBelowApply:o}}function On(r,t,e,n,s,i,o){let a=t,u=t;if(n===g.GridType.DEFAULT||o===g.BooleanNumber.FALSE)return i===g.SpacingRule.AUTO?{paddingTop:a,paddingBottom:u,contentHeight:s*r,lineSpacingApply:r}:{paddingTop:a,paddingBottom:u,contentHeight:Math.max(s,r),lineSpacingApply:s};let l=0;return i===g.SpacingRule.AUTO?l=s*e:l=s,r+t*2<l&&(a=u=(l-r)/2),{paddingTop:a,paddingBottom:u,contentHeight:r,lineSpacingApply:l}}function Vy(r,t){var i,o;const e=(o=(i=r==null?void 0:r.parent)==null?void 0:i.parent)==null?void 0:o.parent;if(e==null)return;const n=new Map,{top:s}=r;for(const a of r.divides)for(const u of a.glyphGroup)if(u.streamType===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&u.width!==0){const{objectId:l}=u;if(l==null)continue;const c=t==null?void 0:t.get(l),h=c==null?void 0:c.drawingOrigin;if(h==null||c==null)continue;const{objectTransform:f}=h,{size:d,angle:_}=f,{width:m=0,height:v=0}=d;c.aLeft=u.left||0,c.aTop=s||0,c.width=m,c.height=v,c.angle=_,n.set(c.objectId,c)}e.skeDrawings=new Map([...e.skeDrawings,...n])}function Ky(r,t,e,n,s=[]){var u,l,c;const i=(u=e.parent)==null?void 0:u.parent;if(i==null||s.length===0)return;const o=new Map,a=Zy(e);for(const h of s){const{initialState:f,drawingOrigin:d}=h;if(!d)continue;const{objectTransform:_}=d,{positionH:m,positionV:v,size:y,angle:F}=_,{width:E=0,height:x=0}=y;h.aLeft=(l=Wg(m,e,i,E,a))!=null?l:0,h.aTop=(c=Yg(v,i,r,t,x,n,a))!=null?c:0,h.width=E,h.height=x,h.angle=F,h.initialState=!0,o.set(h.objectId,h)}return o}function qy(r,t){var n;const e=(n=r.parent)==null?void 0:n.parent;if(t!=null&&t.size!==0&&e!=null)for(const s of t.values()){const i=e.skeDrawings.get(s.objectId);if(i)if(i.drawingOrigin.layoutType===g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM){const o=i.aTop>s.aTop?i:s;e.skeDrawings.set(s.objectId,o)}else e.skeDrawings.set(s.objectId,s);else e.skeDrawings.set(s.objectId,s)}}function Zy(r){const t=r.parent;if(!t)return!1;const e=t==null?void 0:t.columns;if(!e)return!1;const n=e.length;for(let s=n-1;s>=0;s--){const o=e[s].lines,a=o.length;if(!(a<=0)){for(let u=a-1;u>=0;u--)if(o[u].paragraphStart)return!1}}return!0}function v4(r){const t=r.length;let e=0;for(let n=0;n<t;n++){const s=r[n];e+=s.width}return e}function Jy(r){const t=r.length;let e=Number.NEGATIVE_INFINITY,n;for(let s=0;s<t;s++){const i=r[s],{ba:o,bd:a}=i.bBox;e<o+a&&(n={boundingBoxAscent:o,boundingBoxDescent:a}),e=o+a}return n}function Qy(r){const t=r.divides,e=t.length,n=[];for(let s=0;s<e;s++){const i=t[s];n.push(...i.glyphGroup)}return n}function eF(r){return!r.divides[0].glyphGroup[0]}function tF(r,t,e){return nF(r,t,e)}function nF(r,t,e){return e===g.GlyphType.DECIMAL?m4(r,t):e===g.GlyphType.ZERO_DECIMAL?rF(r,t):e===g.GlyphType.UPPER_ALPHA?sF(r,t):e===g.GlyphType.ALPHA?iF(r,t):e===g.GlyphType.UPPER_ROMAN?oF(r,t):e===g.GlyphType.ROMAN?aF(r,t):m4(r,t)}function m4(r,t){return(r+t).toString()}function rF(r,t){const e=r+t;return e<10?`0${e}`:e.toString()}function sF(r,t){return g.numberToListABC(r+t-1,!0)}function iF(r,t){return g.numberToListABC(r+t-1,!1)}function oF(r,t){return Rn(r+t,!0)}function aF(r,t){return Rn(r+t,!1)}function Rn(r,t=!1){const e={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1};let s={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};t&&(s=e);let i="";for(const o in s)for(;r>=s[o];)i+=o,r-=s[o];return i}function uF(r,t,e,n){var h,f;if(!r||!t)return;const{listId:s,listType:i,nestingLevel:o=0,textStyle:a}=r,u=t[i];return!u||!u.nestingLevel?b4(s,(h=e==null?void 0:e[o])==null?void 0:h.startIndexItem):u.nestingLevel[o]?lF(s,o,u.nestingLevel,e,a):b4(s,(f=e==null?void 0:e[o])==null?void 0:f.startIndexItem)}function b4(r,t=1){return{listId:r,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:t,bBox:{width:8.4560546875,ba:7,bd:-1,aba:7,abd:-1,sp:-2,sbr:.5,sbo:0,spr:.5,spo:0},indentFirstLine:0,hanging:21,indentStart:0}}function lF(r,t,e,n,s,i){var T,B;const o=e[t],{bulletAlignment:a,glyphFormat:u,textStyle:l,startNumber:c,glyphType:h,glyphSymbol:f,indentFirstLine:d,hanging:_,indentStart:m}=o,v={...s,...l},y=_t(v);let F;f?F=f:F=cF(u,t,e,n);const E=re.getTextSize(F,y),x=(B=(T=n==null?void 0:n[t])==null?void 0:T.startIndexItem)!=null?B:1;return{listId:r,symbol:F,ts:v,fontStyle:y,startIndexItem:x+1,bBox:E,nestingLevel:o,bulletAlign:a,bulletType:f?!1:!!h,indentFirstLine:d,hanging:_,indentStart:m}}function cF(r,t,e,n){var a;const s=r.split("%"),o=[s[0]];for(let u=1;u<s.length;u++){const l=s[u],{level:c,suffix:h}=fF(l);let f=((a=n==null?void 0:n[c])==null?void 0:a.startIndexItem)||1;c!==t&&(n==null?void 0:n[c])!==null&&(f-=1);const d=hF(f,e[c]);o.push(d,h)}return o.join("")}function hF(r=1,t){const{startNumber:e,glyphType:n,glyphSymbol:s}=t;return s||(n?tF(r,e,n):"●")}function fF(r){if(r==="")return{level:0,suffix:""};const t=r.split("");let e="",n="",s=!1;const i=/[0-9]/g;return t.forEach(o=>{!s&&i.test(`${e}${o}`)?e+=o:(s=!0,n+=o)}),{level:Number.parseInt(e)-1,suffix:n}}function dF(r,t){if(!r||!t)return;const{listId:e,nestingLevel:n}=r,s=t==null?void 0:t.get(e);let i=n;i<0&&(i=0);const o=[];for(let a=i;a>=0;a--){const u=s==null?void 0:s[a];o[a]=u||null}return o}function pF(r,t,e){if(!r||!t)return;const{listId:n,nestingLevel:s}=r,i=[...(e==null?void 0:e.get(n))||[]];i[s]=t,i.splice(s+1),e==null||e.set(n,i)}function y4(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function F4(r){return r.pageNumber+1}function gF(r,t,e,n,s){const{viewModel:i,skeletonResourceReference:o}=r,{lists:a,drawings:u={},localeService:l}=s,{endIndex:c,blocks:h=[]}=n,f=i.getParagraph(c)||{startIndex:0},{paragraphStyle:d={},bullet:_}=f,{skeHeaders:m,skeFooters:v,skeListLevel:y,drawingAnchor:F}=o,E=new Map,x=new Map,T={paragraphIndex:c,paragraphStyle:d,paragraphAffectSkeDrawings:E,paragraphInlineSkeDrawings:x,skeHeaders:m,skeFooters:v,drawingAnchor:F};r.paragraphConfigCache.set(c,T);const B=dF(_,y),w=uF(_,a,B);pF(_,w,y),T.bulletSkeleton=w;for(let A=0,k=h.length;A<k;A++){const I=h[A],P=i.getCustomBlock(I);if(P==null)continue;const{blockId:L}=P,U=u[L];U.layoutType!==g.PositionedObjectLayoutType.INLINE?E.set(L,y4(U)):x.set(L,y4(U))}let S=[e],R=!0;for(const{text:A,glyphs:k}of t){const I=()=>{k.length!==0&&(S=$y(r,k,S,s,T,R),R=!1)};if(A.endsWith(g.DataStreamTreeTokenType.PAGE_BREAK)){I(),S.push(Je(r,s,o,F4(S[S.length-1]),Ke.PAGE)),E.clear(),x.clear();continue}else if(A.endsWith(g.DataStreamTreeTokenType.COLUMN_BREAK)){I();const P=S[S.length-1],L=r2(P);L&&!L.isLast?m7(L.column,!0):S.push(Je(r,s,o,F4(P),Ke.COLUMN));continue}I()}return S}function DF(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function _F(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.shrinkability;e+=s+i}return e}function vF(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.stretchability;e+=s+i}return e}function mF(r){const t=r.glyphGroup.filter(n=>n.isJustifiable).length,e=r.glyphGroup[r.glyphGroup.length-1];return Bt(e.content)?t-1:t}function bF(r,t,e){for(const n of r.glyphGroup){const s=t<0?n.adjustability.shrinkability[0]:n.adjustability.stretchability[0],i=t<0?n.adjustability.shrinkability[1]:n.adjustability.stretchability[1],o=s*t;let a=i*t;n.isJustifiable&&(a+=e),n.width+=o+a,n.xOffset+=o}W6(r.glyphGroup)}function yF(r,t){const{divides:e}=r;for(let n=0;n<e.length;n++){const s=e[n],{width:i}=s;let o=g0(s);if(i!==Number.POSITIVE_INFINITY){if(s.isFull){let a=i-o;if(s.glyphGroup.length>1){const f=s.glyphGroup[s.glyphGroup.length-1],d=DF(f.content)*f.width;a+=d}let u=0,l=0;const c=_F(s),h=vF(s);if(a<0&&c>0)u=Math.max(a/c,-1),a=Math.min(a+c,0);else if(t===g.HorizontalAlign.JUSTIFIED){h>0&&(u=Math.min(a/h,1),a=Math.max(a-h,0));const f=mF(s);f>0&&a>0&&(l=a/f,a=0)}(u!==0||l!==0)&&(bF(s,u,l),o=g0(s))}t===g.HorizontalAlign.CENTER?s.paddingLeft=(i-o)/2:t===g.HorizontalAlign.RIGHT&&(s.paddingLeft=i-o)}}}function FF(r){for(const t of r.divides){const e=t.glyphGroup[t.glyphGroup.length-1];if(t.isFull&&vt(e.content)&&e.width-e.xOffset>e.bBox.width){const n=e.width-e.xOffset-e.bBox.width;e.width-=n,e.adjustability.shrinkability[1]=0}}}function CF(r){for(const t of r.divides){const e=t.glyphGroup.length;if(e<2)continue;const n=t.glyphGroup[0],s=t.glyphGroup[e-1];if(_2(n.content)){const i=n.adjustability.shrinkability[0];A7(n,i)}if(D2(s.content)){const i=s.adjustability.shrinkability[1];R7(s,i)}W6(t.glyphGroup)}}function EF(r,t){q2(r,e=>{if(e.paragraphIndex!==t.startIndex)return;const{paragraphStyle:n={}}=t,{horizontalAlign:s=g.HorizontalAlign.UNSPECIFIED}=n;CF(e),FF(e),yF(e,s)})}function SF(r,t,e,n,s){jg();const{endIndex:i,content:o=""}=e,a=t.getParagraph(i)||{startIndex:0},{paragraphStyle:u={}}=a,l=Oy(o,t,e,s,u),c=gF(r,l,n,e,s);return EF(c,a),c}function An(r,t,e,n,s,i){const o=[],a=new Map;let u=0;if(i!=null){const{startIndex:l,endIndex:c}=e;if(i>=l&&i<=c){for(let h=0;h<e.children.length;h++)if(e.children[h].endIndex===i){u=h;break}}}for(let l=u;l<e.children.length;l++){const c=e.children[l];let h=[],f=n;if(o.length>0&&(f=o[o.length-1]),c.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?(r.paragraphsOpenNewPage.has(c.endIndex)&&(f=Je(r,s,r.skeletonResourceReference,f.pageNumber+1)),h=SF(r,t,c,f,s)):(c.nodeType,g.DataStreamTreeNodeType.TABLE),h.length===0&&(h=oD()),xF(o,h),r.isDirty)break}return r.isDirty&&r.layoutStartPointer.paragraphIndex!=null&&TF(r.layoutStartPointer.paragraphIndex,o),{pages:o,renderedBlockIdMap:a}}function TF(r,t){let e=!1;for(let n=0;n<t.length;n++){const s=t[n];for(let i=0;i<s.sections.length;i++){const o=s.sections[i];for(let a=0;a<o.columns.length;a++){const u=o.columns[a];for(let l=0;l<u.lines.length;l++)if(u.lines[l].paragraphIndex===r){e=!0,u.lines.splice(l);break}if(e){const l=u.lines.length?a+1:a,c=l-1;c>=0&&(o.columns[c].isFull=!1),o.columns.splice(l);break}}if(e){const a=o.columns.length?i+1:i;s.sections.splice(a);break}}if(e){const i=s.sections.length?n+1:n;t.splice(i);break}}}function xF(r,t){const e=r.length-1,n=r[e],s=t[0];n===s&&t.splice(0,1),r.push(...t)}function wF(r){var t;r.isDirty=!1,(t=r.skeleton.drawingAnchor)==null||t.clear()}function BF(r){const t=new Set;r.skeleton.pages=r.skeleton.pages.filter(e=>{const n=t.has(e);return t.add(e),!n})}class et extends exports.Skeleton{constructor(e,n){super(n);p(this,"_skeletonData");p(this,"_findLiquid",new Ze);p(this,"_iteratorCount",0);this._docViewModel=e}static create(e,n){return new et(e,n)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose()}getViewModel(){return this._docViewModel}calculate(e){if(!this.dirty)return;const n=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(n,e)}getSkeletonData(){return this._skeletonData}getActualSize(){const e=this.getSkeletonData();let n=Number.NEGATIVE_INFINITY,s=0;return e==null||e.pages.forEach(i=>{const{width:o,height:a}=i;n=Math.max(n,o),s+=a}),{actualWidth:n,actualHeight:s}}_getPageActualWidth(e){let n=Number.NEGATIVE_INFINITY;for(const s of e.sections)for(const i of s.columns)for(const o of i.lines){let a=0;for(const u of o.divides)for(const l of u.glyphGroup)a+=l.width;n=Math.max(n,a)}return n}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e){const n=e.parent,s=n==null?void 0:n.parent,i=s==null?void 0:s.parent,o=i==null?void 0:i.parent,a=o==null?void 0:o.parent,u=this.getSkeletonData();if(!n||!i||!o||!a||!u)return;const l=n.glyphGroup.indexOf(e),c=s.divides.indexOf(n),h=i.lines.indexOf(s),f=o.columns.indexOf(i),d=a.sections.indexOf(o),_=u.pages.indexOf(a);return{glyph:l,divide:c,line:h,column:f,section:d,page:_}}findNodePositionByCharIndex(e,n=!0){const s=this._findNodeIterator(e);if(s==null)return;const i=this.getSkeletonData();if(!i)return;const o=i.pages,{glyph:a,divide:u,line:l,column:c,section:h,page:f}=s;return{glyph:u.glyphGroup.indexOf(a),divide:l.divides.indexOf(u),line:c.lines.indexOf(l),column:h.columns.indexOf(c),section:f.sections.indexOf(h),page:o.indexOf(f),isBack:n}}findNodeByCharIndex(e){const n=this._findNodeIterator(e);return n==null?void 0:n.glyph}findGlyphByPosition(e){if(e==null)return;const n=this.getSkeletonData();if(n==null)return;const{divide:s,line:i,column:o,section:a,page:u,isBack:l}=e;let{glyph:c}=e;l===!0&&(c-=1),c=c<0?0:c;const h=n.pages[u].sections[a].columns[o].lines[i].divides[s].glyphGroup;return h[c].glyphType===x1.LIST?h[c+1]:h[c]}findNodeByCoord(e,n,s,i){const{x:o,y:a}=e;this._findLiquid.reset();const u=this.getSkeletonData();if(u==null)return;const l=u.pages;let c=[],h=[],f=Number.POSITIVE_INFINITY;for(let d=0,_=l.length;d<_;d++){const m=l[d];this._findLiquid.translatePagePadding(m);const{sections:v}=m;for(const y of v){const{columns:F,height:E}=y;this._findLiquid.translateSection(y);for(const x of F){const{lines:T,width:B}=x;this._findLiquid.translateSave(),this._findLiquid.translateColumn(x);const w=T.length;for(let S=0;S<w;S++){const R=T[S],{divides:A,type:k,lineHeight:I=0}=R;if(k!==Rt.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(R);const{y:P}=this._findLiquid,L=P,U=P+I,H=Math.abs(a-U),z=A.length;for(let $=0;$<z;$++){const W=A[$],{glyphGroup:Q,width:e1}=W;this._findLiquid.translateSave(),this._findLiquid.translateDivide(W);const{x:t1}=this._findLiquid;for(const r1 of Q){if(!r1.content||r1.content.length===0)continue;const{width:v1,left:m1}=r1,p1=t1+m1,u1=t1+m1+v1,i1=Math.abs(o-u1);if(a>=L&&a<=U){if(o>=p1&&o<=u1)return{node:r1,ratioX:o/(p1+u1),ratioY:a/(L+U)};f!==Number.NEGATIVE_INFINITY&&(c=[],h=[]),c.push({node:r1,ratioX:o/(p1+u1),ratioY:a/(L+U)}),h.push(i1),f=Number.NEGATIVE_INFINITY;continue}H<f&&(f=H,c=[],h=[]),H===f&&(c.push({node:r1,ratioX:o/(p1+u1),ratioY:a/(L+U)}),h.push(i1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}}this._findLiquid.restorePagePadding(m),this._translatePage(m,n,s,i)}return this._getNearestNode(c,h)}_getNearestNode(e,n){const s=Math.min(...n),i=n.indexOf(s);return e[i]}_getPageBoundingBox(e,n){const{pageWidth:s,pageHeight:i}=e,{x:o,y:a}=this._findLiquid;let u=-1,l=-1;return n===Q1.VERTICAL?(u=s,l=a+i):n===Q1.HORIZONTAL&&(u=o+s,l=i),{startX:o,startY:a,endX:u,endY:l}}_translatePage(e,n,s,i){this._findLiquid.translatePage(e,n,s,i)}_prepareLayoutContext(){const e=this.getViewModel(),n=e.getDataModel(),{headerTreeMap:s,footerTreeMap:i}=e,{documentStyle:o,drawings:a,lists:u={}}=n,l={...g.PRESET_LIST_TYPE,...u},{charSpace:c=0,linePitch:h=15.6,gridType:f=g.GridType.LINES,paragraphLineGapDefault:d=0,defaultTabStop:_=10.5,textStyle:m={}}=o,v={headerTreeMap:s,footerTreeMap:i,lists:l,drawings:a,charSpace:c,linePitch:h,gridType:f,localeService:this._localService,paragraphLineGapDefault:d,defaultTabStop:_,documentTextStyle:m},y=Vg(),{skeHeaders:F,skeFooters:E,skeListLevel:x,drawingAnchor:T}=y;return{viewModel:e,dataModel:n,skeleton:y,skeletonResourceReference:{skeHeaders:F,skeFooters:E,skeListLevel:x,drawingAnchor:T},docsConfig:v,layoutStartPointer:{paragraphIndex:null},isDirty:!1,drawingsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set}}_createSkeleton(e,n){const{viewModel:s,skeleton:i,skeletonResourceReference:o}=e,a=i.pages;s.resetCache();let u=0;const l=e.layoutStartPointer.paragraphIndex;if(e.layoutStartPointer.paragraphIndex=null,l!=null)for(let c=0;c<s.children.length;c++){const h=s.children[c],{endIndex:f,startIndex:d}=h;if(l>=d&&l<=f){u=c;break}}for(let c=u,h=s.children.length;c<h;c++){const f=s.children[c],d=Jg(e,c),{sectionType:_,columnProperties:m,columnSeparatorType:v,sectionTypeNext:y}=d;let F=qe(a),E=!1;e.sectionBreakConfigCache.set(f.endIndex,d),_===g.SectionType.CONTINUOUS?(K2(a),this._addNewSectionByContinuous(F,m,v),E=!0):(l==null||F==null)&&(F=Je(e,d,o,F==null?void 0:F.pageNumber));const{pages:x}=An(e,s,f,F,d,l);if(y===g.SectionType.CONTINUOUS&&m.length>0,E&&x.splice(0,1),a.push(...x),e.isDirty)break}return e.isDirty&&this._iteratorCount<10?(this._iteratorCount++,wF(e),this._createSkeleton(e,n)):(this._iteratorCount=0,BF(e),K2(i.pages),Kg(i.pages,i),i)}_addNewSectionByContinuous(e,n,s){const i=e.sections,o=i[i.length-1],{pageWidth:a,pageHeight:u,marginTop:l,marginBottom:c,marginLeft:h,marginRight:f}=e,d=a-h-f,_=u-l-c,m=((o==null?void 0:o.top)||0)+((o==null?void 0:o.height)||0),v=v7(n,s,m,0,d,_-m);v.parent=e,i.push(v)}_findNodeIterator(e){const n=this.getSkeletonData();if(!n)return;const s=n.pages;for(const i of s){const{sections:o,st:a,ed:u}=i;if(!(e<a||e>u))for(const l of o){const{columns:c,st:h,ed:f}=l;if(!(e<h||e>f))for(const d of c){const{lines:_,st:m,ed:v}=d;if(!(e<m||e>v))for(const y of _){const{divides:F,st:E,ed:x}=y,T=F.length;if(!(e<E||e>x))for(let B=0;B<T;B++){const w=F[B],{glyphGroup:S,st:R,ed:A}=w;if(e<R||e>A)continue;let k=e-R;for(const I of S)if(k-=I.count,k<0)return{page:i,section:l,column:d,line:y,divide:w,glyph:I}}}}}}}}class ne{constructor(t,e){p(this,"children",[]);p(this,"parent");p(this,"startIndex",-1);p(this,"endIndex",-1);p(this,"blocks",[]);this.nodeType=t,this.content=e}static create(t,e){return new ne(t,e)}dispose(){this.children.forEach(t=>{t.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:o}=this;return{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:o}}addBlocks(t){this.blocks=this.blocks.concat(t)}setIndexRange(t,e){this.startIndex=t,this.endIndex=e}insertText(t,e){this.content=g.insertTextToContent(this.content||"",e-this.startIndex,t)}exclude(t){const{startIndex:e,endIndex:n}=this;return t<e||t>n}plus(t){this.startIndex+=t,this.endIndex+=t,this._addIndexForBlock(t)}selfPlus(t,e){this.endIndex+=t,e==null&&(e=this.startIndex),this._addIndexForBlock(t,e)}split(t){const{children:e,parent:n,startIndex:s,nodeType:i,content:o=""}=this.getProps();if(this.exclude(t))return;const a=0,u=t-s,l=u,c=o.slice(a,u),h=ne.create(i,c);h.parent=n,h.setIndexRange(a,u-1);const f=o.slice(l),d=ne.create(i,f);d.parent=n,d.setIndexRange(l,l+f.length-1);const _=[],m=[];for(const v of e){const{startIndex:y}=v;if(v.exclude(t))t<y?_.push(v):m.push(v);else{const F=v.split(t);if(F==null){_.push(v);continue}const{firstNode:E,lastNode:x}=F;_.push(E),_.push(x)}}return h.children=_,d.children=m,h._resetBlocks(),d._resetBlocks(),{firstNode:h,lastNode:d}}getPositionInParent(){var e;const t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(t,e){const n=g.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,t,e);if(n.length===0)return;const s=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=g.deleteContent(this.content||"",t-s,e-s+1))}merge(t){const{startIndex:e,endIndex:n,children:s}=t;this.endIndex+=n-e+1,this.children.push(...s),this.content+=t.content||"",t.remove()}_addIndexForBlock(t,e=Number.NEGATIVE_INFINITY){for(let n=0,s=this.blocks.length;n<s;n++){const i=this.blocks[n];i>=e&&(this.blocks[n]=i+t)}}_resetBlocks(){if(this.nodeType===g.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let t=0,e=this.content.length;t<e;t++)this.content[t]===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+t)}}}class ge{constructor(t){p(this,"children",[]);p(this,"_sectionBreakCurrentIndex",0);p(this,"_paragraphCurrentIndex",0);p(this,"_textRunCurrentIndex",0);p(this,"_customBlockCurrentIndex",0);p(this,"_tableBlockCurrentIndex",0);p(this,"_customRangeCurrentIndex",0);p(this,"headerTreeMap",new Map);p(this,"footerTreeMap",new Map);this._documentDataModel=t,t.getBody()!=null&&(this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel())}dispose(){this.children.forEach(t=>{t.dispose()})}selfPlus(t,e){}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(t){return t==null?this:this.headerTreeMap.has(t)?this.headerTreeMap.get(t):this.footerTreeMap.has(t)?this.footerTreeMap.get(t):this}reset(t){this._documentDataModel=t,this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(t,e=0){var o;const n=t.dataStream;let s=n.length;const i=this._getParagraphByIndex(this.children,e);if(i!=null)if(n[s-1]===g.DataStreamTreeTokenType.SECTION_BREAK){const a=new g.DocumentDataModel({body:t}),u=new ge(a);s-=1;const l=u.children;for(const d of l)this._forEachDown(d,_=>{_.plus(e)});const c=i.split(e);if(c==null)return;const{firstNode:h,lastNode:f}=c;(o=i.parent)==null||o.children.splice(i.getPositionInParent(),1,h,...l,f),this._forEachTop(i.parent,d=>{d.selfPlus(s,d.getPositionInParent());const _=d.children;let m=!1;for(const v of _)v===f&&(m=!0),m&&this._forEachDown(v,y=>{y.plus(s)})})}else s===1&&n[s-1]===g.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(i,e):(i.insertText(n,e),i.selfPlus(s,e),this._forEachTop(i.parent,a=>{a.selfPlus(s,a.getPositionInParent());const u=a.children;let l=!1;for(const c of u)c.startIndex>e&&(l=!0),l&&this._forEachDown(c,h=>{h.plus(s)})}))}delete(t,e){const n=this.children;this._deleteTree(n,t,e)}getText(){const t=[];function e(n){n.content&&t.push(n.content),n.children.forEach(e)}return this.children.forEach(n=>e(n)),t.join("")}resetCache(){this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0}getSectionBreak(t){if(t==null)return;const e=this.getBody().sectionBreaks;if(e!=null)for(let n=this._sectionBreakCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._sectionBreakCurrentIndex=n,s}}getParagraph(t){const e=this.getBody().paragraphs;if(e!=null)for(let n=this._paragraphCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._paragraphCurrentIndex=n,s}}getTextRunRange(t=0,e){const n=this.getBody().textRuns;if(n==null)return[{st:t,ed:e}];const s=[];for(let a=this._textRunCurrentIndex,u=n.length;a<u;a++){const l=n[a];if(l.st>e){this._textRunCurrentIndex=a;break}else if(l.ed<t){this._textRunCurrentIndex=a;continue}else s.push({st:l.st<t?t:l.st,ed:l.ed>e?e:l.ed,sId:l.sId,ts:l.ts}),this._textRunCurrentIndex=a}const i=s[0]||{st:e+1};i.st>t&&s.push({st:t,ed:i.st-1});const o=s[s.length-1]||{ed:t-1};return o.ed<e&&s.push({st:o.ed+1,ed:e}),s}getTextRun(t){const e=this.getBody().textRuns;if(e==null)return;const n=e[this._textRunCurrentIndex];if(n!=null){if(t>=n.st&&t<n.ed)return n;if(t<n.st)return}for(let s=this._textRunCurrentIndex,i=e.length;s<i;s++){const o=e[s];if(t>=o.st&&t<o.ed)return this._textRunCurrentIndex=s,o}}getCustomBlock(t){const e=this.getBody().customBlocks;if(e!=null)for(let n=this._customBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._customBlockCurrentIndex=n,s}}getTable(t){const e=this.getBody().tables;if(e!=null)for(let n=this._tableBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._tableBlockCurrentIndex=n,s}}getCustomRange(t){const e=this.getBody().customRanges;if(e!=null)for(let n=0,s=e.length;n<s;n++){const i=e[n];if(t>=i.startIndex&&t<=i.endIndex)return i}}_transformToTree(t){const e=t.length;let n="";const s=[];let i=[],o=[];for(let a=0;a<e;a++){const u=t[a];if(u===g.DataStreamTreeTokenType.PARAGRAPH){n+=g.DataStreamTreeTokenType.PARAGRAPH;const l=ne.create(g.DataStreamTreeNodeType.PARAGRAPH,n);l.setIndexRange(a-n.length+1,a),l.addBlocks(o),i.push(l),n="",o=[]}else if(u===g.DataStreamTreeTokenType.SECTION_BREAK){const l=ne.create(g.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(l,i);const c=i[i.length-1];c&&c.content&&(c.content+=g.DataStreamTreeTokenType.SECTION_BREAK),s.push(l),i=[]}else u===g.DataStreamTreeTokenType.TABLE_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE)):u===g.DataStreamTreeTokenType.TABLE_ROW_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE_ROW)):u===g.DataStreamTreeTokenType.TABLE_CELL_START?i.push(ne.create(g.DataStreamTreeNodeType.TABLE_CELL)):u===g.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE):u===g.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_ROW):u===g.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_CELL):(u===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&o.push(a),n+=u)}return s}_processPreviousNodesUntil(t,e){const n=[];let s=t.pop();for(;s&&s.nodeType!==e;)n.push(s),s=t.pop();const i=t[t.length-1];if(this._batchParent(i,n,g.DataStreamTreeNodeType.TABLE),e===g.DataStreamTreeNodeType.TABLE_CELL){const o=n[0],a=n[n.length];o.content=g.DataStreamTreeTokenType.TABLE_CELL_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_CELL_END,a.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE_ROW){const o=n[0].children[0];let a=n[n.length];a=a.children[a.children.length-1],o.content=g.DataStreamTreeTokenType.TABLE_ROW_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_ROW_END,a.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE){const o=n[0].children[0].children[0];let a=n[n.length];a=a.children[a.children.length-1],a=a.children[a.children.length-1],o.content=g.DataStreamTreeTokenType.TABLE_START+o.content||"",o.startIndex-=1,a.content+=g.DataStreamTreeTokenType.TABLE_END,a.endIndex+=1}}_batchParent(t,e,n=g.DataStreamTreeNodeType.SECTION_BREAK){for(const i of e)i.parent=t,t.children.push(i);const s=n===g.DataStreamTreeNodeType.SECTION_BREAK?0:1;t.setIndexRange(e[0].startIndex-s,e[e.length-1].endIndex+1)}_buildHeaderFooterViewModel(){const{headerModelMap:t,footerModelMap:e}=this._documentDataModel;for(const[n,s]of t)this.headerTreeMap.set(n,new ge(s));for(const[n,s]of e)this.footerTreeMap.set(n,new ge(s))}_getParagraphByIndex(t,e){for(const n of t){const{children:s}=n;if(!n.exclude(e))return n.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?n:this._getParagraphByIndex(s,e)}return null}_forEachTop(t,e){let n=t;for(;n;)e(n),n=n.parent;e(this)}_forEachDown(t,e){e(t);const n=t.children;for(t of n)this._forEachDown(t,e)}_deleteTree(t,e,n){const s=e,i=e+n-1;let o=null,a=t.length,u=0;for(;u<a;){const l=t[u],{startIndex:c,endIndex:h,children:f}=l;if(this._deleteTree(f,e,n),s===i&&i===h){if(l.nodeType===g.DataStreamTreeNodeType.PARAGRAPH){const d=this._getNextNode(l);if(d==null){u++;continue}l.minus(s,i),l.merge(d),a--}}else if(s<=c&&i>=h){l.remove(),a--;continue}else if(c<=s&&h>=i)l.minus(s,i);else if(i>c&&i<h){if(l.minus(c,i),o!=null){o.merge(l),o=null,a--;continue}}else s>c&&s<h?(l.minus(s,h),o=l):c>i&&l.plus(-n);u++}}_getNextNode(t){var s;const e=t.getPositionInParent(),n=(s=t.parent)==null?void 0:s.children;return n==null?void 0:n[e+1]}_insertParagraph(t,e=0){var u;const n=t.startIndex,s=t.endIndex,i=t.split(e);if(i==null)return;const{firstNode:o,lastNode:a}=i;o.content+=g.DataStreamTreeTokenType.PARAGRAPH,o.selfPlus(1),o.plus(n),this._forEachDown(a,l=>{l.plus(n+1)}),(u=t.parent)==null||u.children.splice(t.getPositionInParent(),1,o,a),this._forEachTop(t.parent,l=>{l.selfPlus(1,l.getPositionInParent());const c=l.children;let h=!1;for(const f of c)f!==a&&(f.startIndex>=s+1&&(h=!0),h&&this._forEachDown(f,d=>{d.plus(1)}))})}}var OF=Object.defineProperty,RF=Object.getOwnPropertyDescriptor,AF=(r,t,e,n)=>{for(var s=n>1?void 0:n?RF(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&OF(t,e,s),s},C4=(r,t)=>(e,n)=>t(e,n,r);function pt(r,t=0){const e=r==null?void 0:r.getSkeletonData(),n=J1(t);if(!e)return;const{pages:s}=e,i=s[s.length-1],{width:o,height:a}=i;if(n===0)return{width:o,height:a};if(Math.abs(n)===Math.PI/2)return{width:a,height:o};let u=0,l=0;const c=[];Xg([i],f=>{const{lines:d,width:_,spaceWidth:m}=f,{rotatedHeight:v,rotatedWidth:y}=O6(d,_,n);l+=v,c.push({rotatedWidth:y,spaceWidth:m})});const h=c.length;for(let f=0;f<h;f++){const{rotatedWidth:d}=c[f];f===0&&(u+=d)}return{width:u,height:l}}const E4={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},S4={t:0,b:1,l:2,r:2},kn="RENDER_RAW_FORMULA";exports.SpreadsheetSkeleton=class extends exports.Skeleton{constructor(e,n,s,i,o,a){super(o);p(this,"_rowHeightAccumulation",[]);p(this,"_columnWidthAccumulation",[]);p(this,"_rowTotalHeight",0);p(this,"_columnTotalWidth",0);p(this,"_rowHeaderWidth",0);p(this,"_columnHeaderHeight",0);p(this,"_rowColumnSegment",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});p(this,"_dataMergeCache",[]);p(this,"_overflowCache",new g.ObjectMatrix);p(this,"_stylesCache",{background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix});p(this,"_renderedCellCache",new g.ObjectMatrix);p(this,"_showGridlines",g.BooleanNumber.TRUE);p(this,"_marginTop",0);p(this,"_marginLeft",0);p(this,"_renderRawFormula",!1);this._worksheet=e,this._worksheetData=n,this._cellData=s,this._styles=i,this._contextService=a,this._updateLayout(),this._initContextListener()}get rowHeightAccumulation(){return this._rowHeightAccumulation}get rowTotalHeight(){return this._rowTotalHeight}get columnWidthAccumulation(){return this._columnWidthAccumulation}get columnTotalWidth(){return this._columnTotalWidth}get rowHeaderWidth(){return this._rowHeaderWidth}get columnHeaderHeight(){return this._columnHeaderHeight}get rowColumnSegment(){return this._rowColumnSegment}get dataMergeCache(){return this._dataMergeCache}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get mergeData(){return this._worksheetData.mergeData}get rowHeaderWidthAndMarginLeft(){return this.rowHeaderWidth+this._marginLeft}get columnHeaderHeightAndMarginTop(){return this.columnHeaderHeight+this._marginTop}get worksheet(){return this._worksheet}static create(e,n,s,i,o,a){return new exports.SpreadsheetSkeleton(e,n,s,i,o,a)}dispose(){super.dispose(),this._rowHeightAccumulation=[],this._columnWidthAccumulation=[],this._rowTotalHeight=0,this._columnTotalWidth=0,this._rowHeaderWidth=0,this._columnHeaderHeight=0,this._rowColumnSegment=null,this._dataMergeCache=[],this._stylesCache=null,this._renderedCellCache=null,this._overflowCache=null,this._worksheet=null,this._worksheetData=null,this._cellData=null,this._styles=null}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(kn).pipe(o1.startWith(!1),o1.distinctUntilChanged()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)}))}setOverflowCache(e){this._overflowCache=e}setMarginLeft(e){this._marginLeft=e}setMarginTop(e){this._marginTop=e}calculateSegment(e){if(this._worksheetData&&(this._updateLayout(),!(!this._rowHeightAccumulation||!this._columnWidthAccumulation)))return e!=null&&(this._rowColumnSegment=this.getRowColumnSegment(e)),!0}calculateWithoutClearingCache(e){if(!this.calculateSegment(e))return;const{mergeData:n}=this._worksheetData;return this._dataMergeCache=n&&this._getMergeCells(n,this._rowColumnSegment),this._calculateStylesCache(),this}calculate(e){return this._resetCache(),this.calculateWithoutClearingCache(e),this}calculateAutoHeightInRange(e){var a;if(!g.Tools.isArray(e))return[];const n=[],{mergeData:s,rowData:i}=this._worksheetData,o=i;for(const u of e){const{startRow:l,endRow:c,startColumn:h,endColumn:f}=u;for(let d=l;d<=c;d++){if(n.some(({row:m})=>m===d)||((a=o[d])==null?void 0:a.ia)===g.BooleanNumber.FALSE)continue;if(K4(d,h,f,s)){const m=this._calculateRowAutoHeight(d);n.push({row:d,autoHeight:m})}}}return n}_calculateRowAutoHeight(e){var c,h,f;const{columnCount:n,columnData:s,mergeData:i,defaultRowHeight:o,defaultColumnWidth:a}=this._worksheetData;let u=o;const l=this._worksheet;if(!l)return u;for(let d=0;d<n;d++){const{isMerged:_,isMergedMainCell:m}=mt(e,d,i);if(_||m)continue;const v=l.getCell(e,d);if(v!=null&&v.interceptorAutoHeight){u=Math.max(u,v.interceptorAutoHeight);continue}const y=v&&this._getCellDocumentModel(v);if(y==null)continue;const{documentModel:F,textRotation:E,wrapStrategy:x}=y;if(F==null)continue;const T=new ge(F),{vertexAngle:B}=lt(E),w=(h=(c=s[d])==null?void 0:c.w)!=null?h:a;typeof w=="number"&&x===g.WrapStrategy.WRAP&&F.updateDocumentDataPageSize(w);const S=et.create(T,this._localService);S.calculate();let{height:R=0}=(f=pt(S,B))!=null?f:{};if(S){const A=S.getSkeletonData(),{marginTop:k,marginBottom:I,marginLeft:P,marginRight:L}=A.pages[A.pages.length-1],U=Math.abs(J1(B));R+=k*Math.cos(U)+L*Math.sin(U)+I*Math.cos(U)+P*Math.sin(U)}u=Math.max(u,R)}return Math.min(u,P4)}_updateLayout(){if(!this.dirty)return;const{rowData:e,columnData:n,defaultRowHeight:s,defaultColumnWidth:i,rowCount:o,columnCount:a,rowHeader:u,columnHeader:l,showGridlines:c}=this._worksheetData,{rowTotalHeight:h,rowHeightAccumulation:f}=this._generateRowMatrixCache(o,e,s),{columnTotalWidth:d,columnWidthAccumulation:_}=this._generateColumnMatrixCache(a,n,i);return this._rowHeaderWidth=u.hidden!==g.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(u):0,this._columnHeaderHeight=l.hidden!==g.BooleanNumber.TRUE?l.height:0,this._rowTotalHeight=h,this._rowHeightAccumulation=f,this._columnTotalWidth=d,this._columnWidthAccumulation=_,this._showGridlines=c,this.makeDirty(!1),this}_dynamicallyUpdateRowHeaderWidth(e){var i;const s=`${(i=this._worksheet)==null?void 0:i.getRowCount()}`.length*8;return Math.max(e.width,s)}getRowColumnSegment(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e==null?void 0:e.viewBound)}getWorksheetConfig(){return this._worksheetData}getRowColumnSegmentByViewBound(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e)}getMergeBounding(e,n,s,i){const o=this._worksheetData.mergeData;if(!o)return{startRow:e,startColumn:n,endRow:s,endColumn:i};let a=!0;const u=new g.ObjectMatrix;for(;a;){a=!1;for(let l=0;l<o.length;l++){const{startRow:c,startColumn:h,endRow:f,endColumn:d}=o[l];if(u.getValue(c,h))continue;q4({left:n,top:e,right:i,bottom:s},{left:h,top:c,right:d,bottom:f})&&(e=Math.min(e,c),n=Math.min(n,h),s=Math.max(s,f),i=Math.max(i,d),u.setValue(c,h,!0),a=!0)}}return{startRow:e,startColumn:n,endRow:s,endColumn:i}}appendToOverflowCache(e,n,s,i){this._overflowCache.setValue(e,n,{startRow:e,endRow:e,startColumn:s,endColumn:i})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(e,n,s,i,o){const{width:a}=e;let u=i,l=i;return n===g.HorizontalAlign.CENTER?(u=this._getOverflowBound(s,i,0,a/2,n),l=this._getOverflowBound(s,i,o-1,a/2,n)):n===g.HorizontalAlign.RIGHT?u=this._getOverflowBound(s,i,0,a):l=this._getOverflowBound(s,i,o-1,a),{startColumn:u,endColumn:l}}getNoMergeCellPositionByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this;let{startY:u,endY:l,startX:c,endX:h}=Be(e,n,s,i);return u+=a,l+=a,c+=o,h+=o,{startY:u,endY:l,startX:c,endX:h}}getNoMergeCellPositionByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,{startY:o,endY:a,startX:u,endX:l}=Be(e,n,s,i);return{startY:o,endY:a,startX:u,endX:l}}calculateCellIndexByPosition(e,n,s,i,o){const{row:a,column:u}=this.getCellPositionByOffset(e,n,s,i,o);return this.getCellByIndex(a,u)}getCellPositionByOffset(e,n,s,i,o){const a=this.getRowPositionByOffsetY(n,i,o),u=this.getColumnPositionByOffsetX(e,s,o);return{row:a,column:u}}getColumnPositionByOffsetX(e,n,s){e=this.getTransformOffsetX(e,n,s);const{columnWidthAccumulation:i}=this;let o=g.searchArray(i,e);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getRowPositionByOffsetY(e,n,s){const{rowHeightAccumulation:i}=this;e=this.getTransformOffsetY(e,n,s);let o=g.searchArray(i,e);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getTransformOffsetX(e,n,s){const{x:i}=s;return e=e/n+i-this.rowHeaderWidthAndMarginLeft,e}getTransformOffsetY(e,n,s){const{y:i}=s;return e=e/n+i-this.columnHeaderHeightAndMarginTop,e}getOffsetByPositionX(e){const{columnWidthAccumulation:n,rowHeaderWidthAndMarginLeft:s}=this,i=n.length-1,o=n[e];return o!=null?o+s:e<0?s:n[i]+s}getOffsetByPositionY(e){const{rowHeightAccumulation:n,columnHeaderHeightAndMarginTop:s}=this,i=n.length-1,o=n[e];return o!=null?o+s:e<0?s:n[i]+s}getCellByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this,u=Xe(e,n,s,i,this._worksheetData.mergeData),{isMerged:l,isMergedMainCell:c}=u;let{startY:h,endY:f,startX:d,endX:_,mergeInfo:m}=u;return h+=a,f+=a,d+=o,_+=o,m=V2(m,o,a),{actualRow:e,actualColumn:n,startY:h,endY:f,startX:d,endX:_,isMerged:l,isMergedMainCell:c,mergeInfo:m}}getCellByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,o=Xe(e,n,s,i,this._worksheetData.mergeData),{isMerged:a,isMergedMainCell:u}=o,{startY:l,endY:c,startX:h,endX:f,mergeInfo:d}=o,_=V2(d,0,0);return{actualRow:e,actualColumn:n,startY:l,endY:c,startX:h,endX:f,isMerged:a,isMergedMainCell:u,mergeInfo:_}}convertTransformToOffsetX(e,n,s){const{x:i}=s;return e=(e-i)*n,e}convertTransformToOffsetY(e,n,s){const{y:i}=s;return e=(e-i)*n,e}getSelectionBounding(e,n,s,i){return this.getMergeBounding(e,n,s,i)}getBlankCellDocumentModel(e){const n=this._getCellDocumentModel(e,{ignoreTextRotation:!0});if(n!=null)return n.documentModel==null&&(n.documentModel=this._getDocumentDataByStyle("",{},{})),n;const s="";let i="document";const o={a:0,v:g.BooleanNumber.FALSE},a=g.HorizontalAlign.UNSPECIFIED,u=g.VerticalAlign.UNSPECIFIED,l=g.WrapStrategy.UNSPECIFIED,c=S4;return i=_t({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(s,{},{}),fontString:i,textRotation:o,wrapStrategy:l,verticalAlign:u,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,n=E4){var v;const{isDeepClone:s,displayRawFormula:i,ignoreTextRotation:o}={...E4,...n},a=this._styles.getStyleByCell(e);if(!e)return;let u,l="document";const c=this._getOtherStyle(a),h=o?{a:0,v:g.BooleanNumber.FALSE}:c.textRotation||{a:0,v:g.BooleanNumber.FALSE};let f=c.horizontalAlign||g.HorizontalAlign.UNSPECIFIED;const d=c.verticalAlign||g.VerticalAlign.UNSPECIFIED,_=c.wrapStrategy||g.WrapStrategy.UNSPECIFIED,m=c.paddingData||S4;if(e.f&&i)u=this._getDocumentDataByStyle(e.f.toString(),{},{verticalAlign:d}),f=g.HorizontalAlign.UNSPECIFIED;else if(e.p){const{centerAngle:y,vertexAngle:F}=lt(h);u=this._updateConfigAndGetDocumentModel(s?g.Tools.deepClone(e.p):e.p,f,{horizontalAlign:f,verticalAlign:d,centerAngle:y,vertexAngle:F,wrapStrategy:_})}else if(e.v!=null){const y=this._getFontFormat(a);l=_t(y,this._localService).fontCache;let F=g.extractPureTextFromCell(e);e.t===g.CellValueType.FORCE_STRING&&i&&(F=`'${F}`),u=this._getDocumentDataByStyle(F,y,{...c,textRotation:h,cellValueType:e.t})}return{documentModel:u,fontString:l,textRotation:h,wrapStrategy:_,verticalAlign:d,horizontalAlign:f,paddingData:m,fill:(v=a==null?void 0:a.bg)==null?void 0:v.rgb}}getDecomposedOffset(e,n){let s=g.searchArray(this._columnWidthAccumulation,e),i=0;s===-1||s===0?(s=0,i=e):i=e-this._columnWidthAccumulation[s-1];let o=g.searchArray(this._rowHeightAccumulation,n),a=0;return o===-1||o===0?(o=0,a=n):a=n-this._rowHeightAccumulation[o-1],{row:o,column:s,columnOffset:i,rowOffset:a}}_calculateOverflowCell(e,n,s){const{documentSkeleton:i,vertexAngle:o=0,centerAngle:a=0,horizontalAlign:u,wrapStrategy:l}=s,c=this._cellData.getValue(e,n),{t:h=g.CellValueType.STRING}=c||{};let f=u;if(u===g.HorizontalAlign.UNSPECIFIED&&(a===C1&&o===C1?f=g.HorizontalAlign.CENTER:(o>0&&o!==C1||o===-C1)&&(f=g.HorizontalAlign.RIGHT)),(l===g.WrapStrategy.OVERFLOW||l===g.WrapStrategy.UNSPECIFIED)&&h!==g.CellValueType.NUMBER&&h!==g.CellValueType.BOOLEAN&&u!==g.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(e,n))return!0;let d=pt(i,o);if(!d)return!0;if(o!==0){const{startY:y,endY:F,startX:E,endX:x}=Xe(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),T=x-E,B=F-y;d.height>B&&(d={width:B/Math.tan(Math.abs(o))+T,height:B})}const _=this.getOverflowPosition(d,f,e,n,this.getColumnCount()),{startColumn:m,endColumn:v}=_;if(m===v)return!0;this.appendToOverflowCache(e,n,m,v)}else if(l===g.WrapStrategy.WRAP&&o!==0){if(this.intersectMergeRange(e,n))return!0;const{startY:d,endY:_}=Xe(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),m=_-d;i.getViewModel().getDataModel().updateDocumentDataPageSize(m),i.calculate();const v=pt(i,o);if(!v)return!0;const{startColumn:y,endColumn:F}=this.getOverflowPosition(v,f,e,n,this.getColumnCount());if(y===F)return!0;this.appendToOverflowCache(e,n,y,F)}}_getBounding(e,n,s){const i=e.length,o=n.length;if(!s)return{startRow:0,endRow:i-1,startColumn:0,endColumn:o-1};let a=-1,u=-1,l=-1,c=-1;const h=g.searchArray(e,Math.round(s.top)-this.columnHeaderHeightAndMarginTop),f=g.searchArray(e,Math.round(s.bottom)-this.columnHeaderHeightAndMarginTop);h===-1&&f===0?(a=-1,u=-1):(h===-1?a=0:a=h,f===Number.POSITIVE_INFINITY||f>=i?u=i-1:u=f);const d=g.searchArray(n,Math.round(s.left)-this.rowHeaderWidthAndMarginLeft),_=g.searchArray(n,Math.round(s.right)-this.rowHeaderWidthAndMarginLeft);return d===-1&&_===0?(l=-1,c=-1):(d===-1?l=0:l=d,_===Number.POSITIVE_INFINITY||_>=o?c=o-1:c=_),{startRow:a,endRow:u,startColumn:l,endColumn:c}}_generateRowMatrixCache(e,n,s){var u;let i=0;const o=[],a=n;for(let l=0;l<e;l++){let c=s;if((u=this._worksheet)!=null&&u.getRowFiltered(l))c=0;else if(a[l]!=null){const h=a[l];if(!h)continue;const{h:f=s,ah:d,ia:_}=h;(_==null||_===g.BooleanNumber.TRUE)&&typeof d=="number"?c=d:c=f,h.hd===g.BooleanNumber.TRUE&&(c=0)}i+=c,o.push(i)}return{rowTotalHeight:i,rowHeightAccumulation:o}}_generateColumnMatrixCache(e,n,s){let i=0;const o=[],a=n;for(let u=0;u<e;u++){let l=s;if(a[u]!=null){const c=a[u];if(!c)continue;c.w!=null&&(l=c.w),c.hd===g.BooleanNumber.TRUE&&(l=0)}i+=l,o.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:o}}_getOverflowBound(e,n,s,i,o=g.HorizontalAlign.LEFT){var u,l;let a=0;if(n>s){const c=this._columnWidthAccumulation.length-1;for(let h=n;h>=s;h--){const f=h,d=(u=this._worksheet)==null?void 0:u.getCell(e,f);if(!g.isEmptyCell(d)&&f!==n||this.intersectMergeRange(e,f))return f===n?f:f+1>c?c:f+1;const{startX:_,endX:m}=Be(e,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===g.HorizontalAlign.CENTER&&f===n?a+=(m-_)/2:a+=m-_,i<a)return f}return n}for(let c=n;c<=s;c++){const h=c,f=(l=this._worksheet)==null?void 0:l.getCell(e,h);if(!g.isEmptyCell(f)&&h!==n||this.intersectMergeRange(e,h))return h===n?h:h-1<0?0:h-1;const{startX:d,endX:_}=Be(e,h,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===g.HorizontalAlign.CENTER&&h===n?a+=(_-d)/2:a+=_-d,i<a)return h}return s}intersectMergeRange(e,n){const s=this.dataMergeCache;for(const i of s){const{startRow:o,endRow:a,startColumn:u,endColumn:l}=i;if(e>=o&&e<=a&&n>=u&&n<=l)return!0}return!1}_calculateStylesCache(){const e=this._dataMergeCache,n=this._rowColumnSegment,s=this.columnWidthAccumulation,{startRow:i,endRow:o,startColumn:a,endColumn:u}=n;if(!(u===-1||o===-1)){for(const l of e)this._setCellCache(l.startRow,l.startColumn,!1,l);for(let l=i;l<=o;l++){for(let c=a;c<=u;c++)this._setCellCache(l,c,!1);for(let c=0;c<a;c++)this._setCellCache(l,c,!0);if(u!==0)for(let c=u+1;c<s.length;c++)this._setCellCache(l,c,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix},this._renderedCellCache=new g.ObjectMatrix,this._overflowCache.reset()}_makeDocumentSkeletonDirty(e,n){if(this._stylesCache.font==null)return;const s=Object.keys(this._stylesCache.font);for(const i of s){const o=this._stylesCache.font[i];if(o!=null&&o.getValue(e,n)){o.getValue(e,n).documentSkeleton.makeDirty(!0);return}}}_setCellCache(e,n,s,i){var B;const o=this._renderedCellCache.getValue(e,n);if(e===-1||n===-1)return!0;if(o===!1)return this._makeDocumentSkeletonDirty(e,n),!0;if(!this._worksheet)return!0;const a=this._worksheet.getCell(e,n)||this._worksheet.getCellRaw(e,n);if(!a)return!0;if(this._worksheet.getColVisible(n)===!1||this._worksheet.getRowVisible(e)===!1){const{isMerged:w,isMergedMainCell:S}=mt(e,n,this._dataMergeCache);if(w&&!S)return!0;if(!S)return!0}const l=this._stylesCache,c=this._styles.getStyleByCell(a);if(!s&&c&&c.bg&&c.bg.rgb){const w=c.bg.rgb;l.background[w]||(l.background[w]=new g.ObjectMatrix),l.background[w].setValue(e,n,w);const R=this.getCellByIndexWithNoHeader(e,n);(B=l.backgroundPositions)==null||B.setValue(e,n,R)}if(!s&&c&&c.bd&&(i?(this._setMergeBorderProps(K.TOP,l,i),this._setMergeBorderProps(K.BOTTOM,l,i),this._setMergeBorderProps(K.LEFT,l,i),this._setMergeBorderProps(K.RIGHT,l,i)):this.intersectMergeRange(e,n)||(this._setBorderProps(e,n,K.TOP,c,l),this._setBorderProps(e,n,K.BOTTOM,c,l),this._setBorderProps(e,n,K.LEFT,c,l),this._setBorderProps(e,n,K.RIGHT,c,l)),this._setBorderProps(e,n,K.TL_BR,c,l),this._setBorderProps(e,n,K.TL_BC,c,l),this._setBorderProps(e,n,K.TL_MR,c,l),this._setBorderProps(e,n,K.BL_TR,c,l),this._setBorderProps(e,n,K.ML_TR,c,l),this._setBorderProps(e,n,K.BC_TR,c,l)),o===!0)return this._makeDocumentSkeletonDirty(e,n),!0;if(g.isNullCell(a))return;const h=a&&this._getCellDocumentModel(a,{displayRawFormula:this._renderRawFormula});if(h==null)return;const{documentModel:f}=h;if(f==null)return;const{fontString:d,textRotation:_,wrapStrategy:m,verticalAlign:v,horizontalAlign:y}=h,F=new ge(f);l.font[d]||(l.font[d]=new g.ObjectMatrix);const E=l.font[d],{vertexAngle:x,centerAngle:T}=lt(_);if(F){const w=et.create(F,this._localService);w.calculate();const S={documentSkeleton:w,vertexAngle:x,centerAngle:T,verticalAlign:v,horizontalAlign:y,wrapStrategy:m};E.setValue(e,n,S),this._calculateOverflowCell(e,n,S)}s?this._renderedCellCache.setValue(e,n,!0):this._renderedCellCache.setValue(e,n,!1)}_updateConfigAndGetDocumentModel(e,n,s){var o;if(!s||!((o=e.body)!=null&&o.dataStream))return;e.documentStyle||(e.documentStyle={}),e.documentStyle.pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},e.documentStyle.renderConfig=s;const i=e.body.paragraphs||[];for(const a of i)a.paragraphStyle||(a.paragraphStyle={}),a.paragraphStyle.horizontalAlign=n;return new g.DocumentDataModel(e)}_getDocumentDataByStyle(e,n,s){const i=e.length,{textRotation:o,paddingData:a={t:0,r:2,b:1,l:2},horizontalAlign:u=g.HorizontalAlign.UNSPECIFIED,verticalAlign:l=g.VerticalAlign.UNSPECIFIED,wrapStrategy:c=g.WrapStrategy.UNSPECIFIED,cellValueType:h}=s,{t:f,r:d,b:_,l:m}=a||{},{vertexAngle:v,centerAngle:y}=lt(o),F={id:"d",body:{dataStream:`${e}${g.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:n,st:0,ed:i}],paragraphs:[{startIndex:i,paragraphStyle:{horizontalAlign:u}}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:f,marginBottom:_,marginRight:d,marginLeft:m,renderConfig:{horizontalAlign:u,verticalAlign:l,centerAngle:y,vertexAngle:v,wrapStrategy:c,cellValueType:h}}};return new g.DocumentDataModel(F)}_setMergeBorderProps(e,n,s){var h;if(!this._worksheet||!n.border)return;const i=[];let o=!0,a=s.startRow,u=s.endRow,l=s.startRow,c=s.startColumn;e===K.TOP?(l=s.startRow,a=s.startColumn,u=s.endColumn):e===K.BOTTOM?(l=s.endRow,a=s.startColumn,u=s.endColumn):e===K.LEFT?(c=s.startColumn,a=s.startRow,u=s.endRow):e===K.RIGHT&&(c=s.endColumn,a=s.startRow,u=s.endRow);for(let f=a;f<=u;f++){e===K.TOP||e===K.BOTTOM?c=f:(e===K.LEFT||e===K.RIGHT)&&(l=f);const d=this._worksheet.getCell(l,c);if(!d){o=!1;break}const _=this._styles.getStyleByCell(d);if(!_){o=!1;break}const m=(h=_.bd)==null?void 0:h[e];if(m){const v=g.getColorStyle(m.cl)||De;i.push({r:l,c,style:m.s,color:v})}else o=!1}o&&i.forEach(f=>{const{r:d,c:_,style:m,color:v}=f;n.border.getValue(d,_)||n.border.setValue(d,_,{}),n.border.getValue(d,_)[e]={type:e,style:m,color:v}})}_setBorderProps(e,n,s,i,o){var c,h,f;const a=(c=i.bd)==null?void 0:c[s];if(!a||!o.border)return!0;const u=g.getColorStyle(a.cl)||De,l=o.border;if(l.getValue(e,n)||l.setValue(e,n,{[s]:{}}),s===K.TOP){if(((h=l.getValue(e-1,n))==null?void 0:h[K.BOTTOM])&&g.isWhiteColor(u))return!0}else if(s===K.LEFT&&((f=l.getValue(e,n-1))==null?void 0:f[K.RIGHT])&&g.isWhiteColor(u))return!0;l.getValue(e,n)[s]={type:s,style:a.s,color:u}}_getFontFormat(e){if(!e)return{};const{ff:n,fs:s,it:i,bl:o,ul:a,st:u,ol:l,cl:c}=e,h={};return n&&(h.ff=n),s&&(h.fs=s),i&&(h.it=i),o&&(h.bl=o),a&&(h.ul=a),u&&(h.st=u),l&&(h.ol=l),c&&(h.cl=c),h}_getOtherStyle(e){if(!e)return{};const{tr:n,td:s,ht:i,vt:o,tb:a,pd:u}=e;return{textRotation:n,textDirection:s,horizontalAlign:i,verticalAlign:o,wrapStrategy:a,paddingData:u}}_getMergeCells(e,n){const s=this.columnWidthAccumulation.length-1;n?n={startRow:n.startRow,endRow:n.endRow,endColumn:s,startColumn:0}:n={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:s};const{startRow:i,startColumn:o,endRow:a,endColumn:u}=n,l=[];for(let c=0;c<e.length;c++){const{startRow:h,endRow:f,startColumn:d,endColumn:_}=e[c];for(let m=i;m<=a;m++){let v=!1;for(let y=o;y<=u;y++)if(m>=h&&m<=f&&y>=d&&y<=_){l.push({startRow:h,endRow:f,startColumn:d,endColumn:_}),v=!0;break}if(v)break}}return l}};exports.SpreadsheetSkeleton=AF([C4(4,ae.Inject(g.LocaleService)),C4(5,g.IContextService)],exports.SpreadsheetSkeleton);const kF="DefaultFontExtension",IF=30;class In extends me{constructor(){super(...arguments);p(this,"uKey",kF);p(this,"Z_INDEX",IF)}getDocuments(){const e=this.parent;return e==null?void 0:e.getDocuments()}draw(e,n,s,i){const{stylesCache:o,dataMergeCache:a,overflowCache:u,worksheet:l}=s,{font:c}=o;if(!s||!l)return;const{rowHeightAccumulation:h,columnTotalWidth:f,columnWidthAccumulation:d,rowTotalHeight:_}=s;if(!h||!d||f===void 0||_===void 0||!l)return;e.save();const m=this._getScale(n);c&&Object.keys(c).forEach(v=>{c[v].forValue((F,E,x)=>{var v1,m1,p1,u1,i1;const T=this.getCellIndex(F,E,h,d,a);let{startY:B,endY:w,startX:S,endX:R}=T;const{isMerged:A,isMergedMainCell:k,mergeInfo:I}=T;if(A||(k&&(B=I.startY,w=I.endY,S=I.startX,R=I.endX),!this.isRenderDiffRangesByRow(I.startRow,I.endRow,i)))return!0;const P=l.getCell(F,E)||{};if((v1=P.fontRenderExtension)!=null&&v1.isSkip)return!0;const L=u.getValue(F,E),{horizontalAlign:U,vertexAngle:H=0,centerAngle:z=0}=x;let $=U;U===g.HorizontalAlign.UNSPECIFIED&&(z===C1&&H===C1?$=g.HorizontalAlign.CENTER:(H>0&&H!==C1||H===-C1)&&($=g.HorizontalAlign.RIGHT)),e.save(),e.beginPath();const W=(p1=(m1=P.fontRenderExtension)==null?void 0:m1.rightOffset)!=null?p1:0,Q=(i1=(u1=P.fontRenderExtension)==null?void 0:u1.leftOffset)!=null?i1:0;let e1=!0;H===0&&(S=S+Q,R=R-W,(W!==0||Q!==0)&&(e1=!1));const t1=R-S,r1=w-B;if(L&&e1){const{startColumn:E1,startRow:b1,endColumn:h1,endRow:F1}=L;E1===h1&&E1===E?(e.rectByPrecision(S+1/m,B+1/m,t1-2/m,r1-2/m),e.clip(),e.clearRectForTexture(S+1/m,B+1/m,t1-2/m,r1-2/m)):$===g.HorizontalAlign.CENTER?this._clipRectangle(e,b1,F1,E1,h1,m,h,d):$===g.HorizontalAlign.RIGHT?this._clipRectangle(e,b1,F,E1,E,m,h,d):this._clipRectangle(e,F,F1,E,h1,m,h,d)}else e.rectByPrecision(S+1/m,B+1/m,t1-2/m,r1-2/m),e.clip(),e.clearRectForTexture(S+1/m,B+1/m,t1-2/m,r1-2/m);e.translate(S+g1,B+g1),this._renderDocuments(e,x,S,B,R,w,F,E,u),e.restore()})}),e.restore()}_renderDocuments(e,n,s,i,o,a,u,l,c){const h=this.getDocuments();if(h==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:d=0,wrapStrategy:_}=n,m=o-s,v=a-i;_===g.WrapStrategy.WRAP&&d===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(m),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const y=c.getValue(u,l);if(!(_===g.WrapStrategy.WRAP&&!y&&d===0)){const F=pt(f),E=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(F&&E){const{width:x}=F,{marginRight:T=0,marginLeft:B=0}=E;f.getViewModel().getDataModel().updateDocumentDataPageSize(x+B+T),f.calculate()}}f.makeDirty(!1),h.resize(m,v),h.changeSkeleton(f).render(e)}_clipRectangle(e,n,s,i,o,a,u,l){const c=u[n-1]||0,h=u[s]||u[u.length-1],f=l[i-1]||0,d=l[o]||l[l.length-1];e.rectByPrecision(f,c,d-f,h-c),e.clip(),e.clearRectForTexture(f,c,d-f,h-c)}}Le.add(In);const LF="DefaultRowHeaderLayoutExtension";class Ln extends me{constructor(){super(...arguments);p(this,"uKey",LF);p(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,rowHeaderWidth:o=0}=s,{startRow:a,endRow:u}=i;if(!s||o===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const d=this._getScale(n);e.fillStyle=y1([248,249,250]),e.fillRectByPrecision(0,0,o,f),e.textAlign="center",e.textBaseline="middle",e.fillStyle=y1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(g1,g1),e.strokeStyle=y1([217,217,217]),e.font=`13px ${wt}`;let _=0;const m=l.length;for(let y=a-1;y<=u;y++){if(y<0||y>m-1)continue;const F=l[y];if(_===F)continue;e.moveToByPrecision(0,F),e.lineToByPrecision(o,F);const E=_+(F-_)/2;e.fillText(`${y+1}`,o/2,E+_6),_=F}const v=o-.5/d;e.moveToByPrecision(v,0),e.lineToByPrecision(v,f),e.stroke()}}L6.add(new Ln);const PF="DefaultMarkerExtension",MF=60,NF=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class Pn extends me{constructor(){super(...arguments);p(this,"Z_INDEX",MF);p(this,"uKey",PF)}draw(e,n,s,i){const{worksheet:o,rowColumnSegment:a}=s;if(!o)return;const u=new Set;g.Range.foreach(a,(l,c)=>{var x,T,B,w;let h=o.getCell(l,c);const f=this.getCellIndex(l,c,s.rowHeightAccumulation,s.columnWidthAccumulation,s.dataMergeCache),{isMerged:d,isMergedMainCell:_,mergeInfo:m}=f;let{startY:v,endY:y,startX:F,endX:E}=f;if((_||d)&&(v=m.startY,y=m.endY,F=m.startX,E=m.endX),d){const S={row:m.startRow,col:m.startColumn};h=o.getCell(S.row,S.col)}if(!this.isRenderDiffRangesByRow(m.startRow,m.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const S=NF(m);if(u.has(S))return;u.add(S)}if(!(!o.getColVisible(c)||!o.getRowVisible(l))&&h){if((x=h.markers)!=null&&x.tr){e.save();const S=h.markers.tr,R=E,A=v;e.fillStyle=S.color,e.moveTo(R,A),e.beginPath(),e.lineTo(R-S.size,A),e.lineTo(R,A+S.size),e.lineTo(R,A),e.closePath(),e.fill(),e.restore()}if((T=h.markers)!=null&&T.tl){e.save();const S=h.markers.tl,R=F,A=v;e.fillStyle=S.color,e.moveTo(R,A),e.beginPath(),e.lineTo(R+S.size,A),e.lineTo(R,A+S.size),e.lineTo(R,A),e.closePath(),e.fill(),e.restore()}if((B=h.markers)!=null&&B.br){e.save();const S=h.markers.br,R=E,A=y;e.fillStyle=S.color,e.moveTo(R,A),e.beginPath(),e.lineTo(R-S.size,A),e.lineTo(R,A-S.size),e.lineTo(R,A),e.closePath(),e.fill(),e.restore()}if((w=h.markers)!=null&&w.bl){e.save();const S=h.markers.bl,R=F,A=y;e.fillStyle=S.color,e.moveTo(R,A),e.beginPath(),e.lineTo(R+S.size,A),e.lineTo(R,A-S.size),e.lineTo(R,A),e.closePath(),e.fill(),e.restore()}}})}}Le.add(Pn);const UF="DefaultCustomExtension",$F=55,HF=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class Mn extends me{constructor(){super(...arguments);p(this,"Z_INDEX",$F);p(this,"uKey",UF)}draw(e,n,s,i){const{rowHeightAccumulation:o,columnWidthAccumulation:a,worksheet:u,dataMergeCache:l,rowColumnSegment:c}=s;if(!u)return;const h=new Set,f=u.getSheetId();g.Range.foreach(c,(d,_)=>{let m=u.getCell(d,_);if(!(m!=null&&m.customRender))return;let v=this.getCellIndex(d,_,o,a,l);const{mergeInfo:y}=v;if(!this.isRenderDiffRangesByRow(y.startRow,y.endRow,i))return!0;if(v.isMerged||v.isMergedMainCell){const x=HF(y);if(h.has(x))return;h.add(x)}if(v.isMerged){const x={row:y.startRow,col:y.startColumn};if(m=u.getCell(x.row,x.col),!(m!=null&&m.customRender))return;v=this.getCellIndex(x.row,x.col,o,a,l)}const F={data:m,style:s.getsStyles().getStyleByCell(m),primaryWithCoord:v,subUnitId:f,row:d,col:_};if(!u.getColVisible(_)||!u.getRowVisible(d))return;const E=m.customRender.sort(g.sortRules);e.save(),E.forEach(x=>{x.drawWith(e,F,s,this.parent)}),e.restore()})}}Le.add(Mn);var Nn=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(Nn||{});class GF extends N6{constructor(e,n){super(e,n);p(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const o=s.rowColumnSegment;if(o.startRow===-1&&o.endRow===-1)return;const{columnHeaderHeight:a}=s;e.translateWithPrecision(0,a);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>=0&&n.x<=i&&n.y>o}_initialDefaultExtension(){L6.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var h6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(h6||{});class b2 extends I6{constructor(){super(...arguments);p(this,"type",0);p(this,"translateX",0);p(this,"translateY",0)}}const zF="DefaultDocsBackgroundExtension",XF=10;class WF extends b2{constructor(){super(...arguments);p(this,"uKey",zF);p(this,"Z_INDEX",XF);p(this,"_preBackgroundColor","")}draw(e,n,s){var d;const i=(d=s.parent)==null?void 0:d.parent;if(!i)return;const{contentHeight:o=0}=i,{ts:a,width:u}=s;if(!a)return;const{bg:l}=a;if(!l)return;const c=g.getColorStyle(l),{spanStartPoint:h=M.create(0,0)}=this.extensionOffset,f=1.5;c&&(e.fillStyle=c,e.fillRectByPrecision(h.x-.5,h.y-1,u+1,o+2*f))}clearCache(){this._preBackgroundColor=""}}rt.add(new WF);const YF="DefaultDocsBorderExtension";class jF extends b2{constructor(){super(...arguments);p(this,"uKey",YF);p(this,"Z_INDEX",50);p(this,"_preBorderStyle");p(this,"_preBorderColor","")}draw(e,n,s){var m;const i=(m=s.parent)==null?void 0:m.parent;if(!i)return;const{asc:o=0,lineHeight:a=0}=i,{ts:u,left:l,width:c}=s;if(!u)return;const{bd:h}=u;if(!h)return;const f=this._getScale(e.getScale()),d=this._createBorderCache(h);e.save(),e.translateWithPrecisionRatio(g1,g1);const{spanStartPoint:_=M.create(0,0)}=this.extensionOffset;for(const v of d.keys()){const y=d.get(v);if(!y)continue;const{s:F,cl:E}=y,x=g.getColorStyle(E)||De,T=B6(F);F!==this._preBorderStyle&&(w6(e,F),e.setLineWidthByPrecision(T),this._preBorderStyle=F),x!==this._preBorderColor&&(e.strokeStyle=x||De,this._preBorderColor=x),x6(e,v,(T-1)/2/f,{startX:_.x,startY:_.y,endX:_.x+c,endY:_.y+a})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(e){const{t:n,b:s,l:i,r:o}=e,a=new Map;return n&&a.set(K.TOP,n),s&&a.set(K.BOTTOM,s),i&&a.set(K.LEFT,i),o&&a.set(K.RIGHT,o),a}}rt.add(new jF);const VF="DefaultDocsFontAndBaseLineExtension",KF=20;class qF extends b2{constructor(){super(...arguments);p(this,"uKey",VF);p(this,"Z_INDEX",KF);p(this,"_preFontString","");p(this,"_preFontColor","")}draw(e,n,s){var _;if(!((_=s.parent)==null?void 0:_.parent))return;const{ts:o,content:a,fontStyle:u,bBox:l}=s,{spanPointWithFont:c=M.create(0,0)}=this.extensionOffset;if(a==null)return;if(!o){this._fillText(e,s,c);return}this._preFontString!==(u==null?void 0:u.fontString)&&(e.font=this._preFontString=(u==null?void 0:u.fontString)||"");const{cl:h,va:f}=o,d=g.getColorStyle(h)||De;d&&this._preFontColor!==d&&(e.fillStyle=d),f===g.BaselineOffset.SUPERSCRIPT?c.y+=-l.spo:f===g.BaselineOffset.SUBSCRIPT&&(c.y+=l.sbo),this._fillText(e,s,c)}_fillText(e,n,s){const{renderConfig:i,spanStartPoint:o,centerPoint:a}=this.extensionOffset,{content:u,width:l,bBox:c}=n,{aba:h,abd:f}=c;if(u==null||o==null||a==null)return;const{vertexAngle:d,centerAngle:_}=i!=null?i:{},m=90;d===m&&_===m&&!Bt(u)?(e.save(),e.translate(o.x+a.x,o.y+a.y),e.rotate(Math.PI/2),e.translate(-l/2,(h+f)/2-f),e.fillText(u,0,0),e.restore()):e.fillText(u,s.x,s.y)}clearCache(){this._preFontString="",this._preFontColor=""}}rt.add(new qF);const ZF="DefaultDocsLineExtension",JF=40;class QF extends b2{constructor(){super(...arguments);p(this,"uKey",ZF);p(this,"Z_INDEX",JF);p(this,"_preBackgroundColor","")}draw(e,n,s){var x;const i=(x=s.parent)==null?void 0:x.parent;if(!i)return;const{contentHeight:o=0,asc:a}=i,{ts:u,bBox:l}=s;if(!u)return;const{sp:c,spo:h,sbo:f,bd:d}=l,_=E6(n),m=.5,{ul:v,st:y,ol:F,va:E}=u;if(v){const T=o+X2-3;this._drawLine(e,s,v,T,_)}if(y){let T=a+d-c-m;E===g.BaselineOffset.SUPERSCRIPT?T-=h:E===g.BaselineOffset.SUBSCRIPT&&(T+=f),this._drawLine(e,s,y,T,_)}if(F){const T=-X2-m;this._drawLine(e,s,F,T,_)}}clearCache(){this._preBackgroundColor=""}_drawLine(e,n,s,i,o){var h;const{s:a,cl:u,t:l,c=g.BooleanNumber.TRUE}=s;if(a===g.BooleanNumber.TRUE){const{originTranslate:f=M.create(0,0),alignOffset:d=M.create(0,0),renderConfig:_={}}=this.extensionOffset,{left:m,width:v}=n,{centerAngle:y=0,vertexAngle:F=0}=_,E=J1(y),x=J1(F);e.save(),e.translateWithPrecisionRatio(g1,g1),e.beginPath();const T=(c===g.BooleanNumber.TRUE?g.getColorStyle((h=n.ts)==null?void 0:h.cl):g.getColorStyle(u))||De;e.strokeStyle=T,this._setLineType(e,l||g.TextDecoration.SINGLE);const B=je(f.addByPoint(m,i),M.create(0,0),E,x,d),w=je(f.addByPoint(m+v,i),M.create(0,0),E,x,d);e.moveToByPrecision(B.x,B.y),e.lineToByPrecision(w.x,w.y),e.stroke(),e.restore()}}_setLineType(e,n){n===g.TextDecoration.DASH_DOT_DOT_HEAVY||n===g.TextDecoration.DOT_DOT_DASH?e.setLineDash([2,2,5,2,2]):n===g.TextDecoration.DASH_DOT_HEAVY||n===g.TextDecoration.DOT_DASH?e.setLineDash([2,5,2]):n===g.TextDecoration.DOTTED||n===g.TextDecoration.DOTTED_HEAVY?e.setLineDash([2]):n===g.TextDecoration.DASH||n===g.TextDecoration.DASHED_HEAVY?e.setLineDash([3]):n===g.TextDecoration.DASH_LONG||n===g.TextDecoration.DASH_LONG_HEAVY?e.setLineDash([6]):e.setLineDash([0])}}rt.add(new QF);class Un extends k6{constructor(e,n,s){super(e);p(this,"pageMarginLeft",0);p(this,"pageMarginTop",0);p(this,"pageLayoutType",Q1.VERTICAL);this._skeleton=n,this._setConfig(s)}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}_setConfig(e){(e==null?void 0:e.pageMarginLeft)!=null?this.pageMarginLeft=e==null?void 0:e.pageMarginLeft:this.pageMarginLeft=17,(e==null?void 0:e.pageMarginTop)!=null?this.pageMarginTop=e==null?void 0:e.pageMarginTop:this.pageMarginTop=14,(e==null?void 0:e.pageLayoutType)!=null?this.pageLayoutType=e==null?void 0:e.pageLayoutType:this.pageLayoutType=Q1.VERTICAL}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;const s=this.transform.getMatrix();e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e,n),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:n=1}=this.parent;return this.parent.classType===V.SCENE&&(e=this.parent.ancestorScaleX||1,n=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:n}}isSkipByDiffBounds(e,n,s,i){if(i==null)return!1;const{pageWidth:o,pageHeight:a,marginBottom:u,marginTop:l,marginLeft:c,marginRight:h}=e,f=s+o+c+h,d=n+a+u+l,{left:_,top:m,right:v,bottom:y}=i.viewBound;return f<_||d<m||s>v&&o!==Number.POSITIVE_INFINITY||n>y&&a!==Number.POSITIVE_INFINITY}scrollBySelection(){}syncSelection(){}remainActiveSelection(){}findNodeByCoord(e,n){}findCoordByNode(e){}_getBounding(e){}_draw(e,n){}}class Mt extends Un{constructor(e,n,s){super(e,n,s);p(this,"onPageRenderObservable",new g.Observable);p(this,"docsLeft",0);p(this,"docsTop",0);p(this,"_drawLiquid");p(this,"_findLiquid");p(this,"_skeletonObserver");this._drawLiquid=new Ze,this._findLiquid=new Ze,this._initialDefaultExtension(),this.makeDirty(!0)}static create(e,n,s){return new Mt(e,n,s)}dispose(){var e;super.dispose(),(e=this._skeletonObserver)==null||e.dispose(),this._skeletonObserver=null,this.onPageRenderObservable.clear(),this._drawLiquid=null,this._findLiquid=null}getOffsetConfig(){const{transform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,left:o,top:a}=this;return{documentTransform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,docsLeft:o,docsTop:a}}getEngine(){return this.getScene().getEngine()}draw(e,n){var f;const s=(f=this.getSkeleton())==null?void 0:f.getSkeletonData();if(s==null)return;this._drawLiquid.reset();const{pages:i}=s,o=this.getParentScale(),a=this.getExtensionsByOrder();for(const d of a)d.clearCache();const u=a.find(d=>d.uKey==="DefaultDocsBackgroundExtension"),l=a.filter(d=>d.type===h6.SPAN&&d.uKey!=="DefaultDocsBackgroundExtension");let c=0,h=0;for(let d=0,_=i.length;d<_;d++){const m=i[d],{sections:v,marginTop:y=0,marginBottom:F=0,marginLeft:E=0,marginRight:x=0,width:T,height:B,renderConfig:w={}}=m,{verticalAlign:S=g.VerticalAlign.TOP,horizontalAlign:R=g.HorizontalAlign.LEFT,centerAngle:A=0,vertexAngle:k=0,wrapStrategy:I=g.WrapStrategy.UNSPECIFIED,cellValueType:P}=w,L=this._horizontalHandler(T,E,x,R,k,A,P),U=this._verticalHandler(B,y,F,S),H=M.create(L,U),z=J1(A),$=J1(k),W=$-z;if(this.isSkipByDiffBounds(m,c,h,n)){const{x:t1,y:r1}=this._drawLiquid.translatePage(m,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);h+=t1,c+=r1;continue}this.onPageRenderObservable.notifyObservers({page:m,pageLeft:h,pageTop:c,ctx:e}),this._startRotation(e,W);for(const t1 of v){const{columns:r1}=t1;this._drawLiquid.translateSection(t1);for(const v1 of r1){const{lines:m1,width:p1}=v1;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(v1);const u1=m1.length;let i1=H,E1=null;if($!==0){const{rotateTranslateXList:b1,rotatedHeight:h1,rotatedWidth:F1,fixOffsetX:w1,fixOffsetY:k1,rotateTranslateY:P1}=O6(m1,p1,$);let te=F1;h1>this.height&&I!==g.WrapStrategy.WRAP&&(I===g.WrapStrategy.OVERFLOW||$>0)&&(te=this.height/Math.tan(Math.abs($)));const Me=this._horizontalHandler(te,E,x,R,k,A);let M1=this._verticalHandler(h1,y,F,S)-k1;h1>this.height&&($<0?M1=this.height-(h1+k1):M1=-k1),i1=M.create(Me+w1,M1),this._drawLiquid.translate(0,-P1),E1=b1}else I===g.WrapStrategy.WRAP&&(i1.x=E);for(let b1=0;b1<u1;b1++){const h1=m1[b1],{divides:F1,asc:w1=0,type:k1,lineHeight:P1=0}=h1,te=w1,Me=te*Math.sin(z),be=te*Math.cos(z);if(k1===Rt.BLOCK)for(const M1 of a)M1.type===h6.LINE&&(M1.extensionOffset={alignOffset:i1,renderConfig:w},M1.draw(e,o,h1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(h1,!0),E1&&this._drawLiquid.translate(E1[b1]);const M1=F1.length;for(let ye=0;ye<M1;ye++){const ot=F1[ye],{glyphGroup:at}=ot;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(ot);for(const I1 of at){if(!I1.content||I1.content.length===0)continue;const{width:Ne,left:Fe}=I1,{x:Ce,y:Ue}=this._drawLiquid,$e=M.create(Ce,Ue),L1=M.create(Ne/2,P1/2),Ee={spanStartPoint:je($e.addByPoint(Fe,0),L1,z,$,i1)};u&&(u.extensionOffset=Ee,u.draw(e,o,I1))}for(const I1 of at){if(!I1.content||I1.content.length===0)continue;const{width:Ne,left:Fe,xOffset:Ce}=I1,{x:Ue,y:$e}=this._drawLiquid,L1=M.create(Ue,$e),X1=M.create(Ne/2,P1/2),Ee=je(L1.addByPoint(Fe+Ce,0),X1,z,$,i1),F2=je(L1.addByPoint(Fe+Me+Ce,be),X1,z,$,i1),C2={originTranslate:L1,spanStartPoint:Ee,spanPointWithFont:F2,centerPoint:X1,alignOffset:i1,renderConfig:w};for(const l0 of l)l0.extensionOffset=C2,l0.draw(e,o,I1)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,W);const{x:Q,y:e1}=this._drawLiquid.translatePage(m,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);h+=Q,c+=e1}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,n){this.draw(e,n)}_horizontalHandler(e,n,s,i,o=0,a=0,u){i===g.HorizontalAlign.UNSPECIFIED&&(a===C1&&o===C1?i=g.HorizontalAlign.CENTER:o>0&&o!==C1||o===-C1||u===g.CellValueType.NUMBER?i=g.HorizontalAlign.RIGHT:u===g.CellValueType.BOOLEAN?i=g.HorizontalAlign.CENTER:i=g.HorizontalAlign.LEFT);let l=0;return i===g.HorizontalAlign.CENTER?l=(this.width-e)/2:i===g.HorizontalAlign.RIGHT?l=this.width-e-s:l=n,l}_verticalHandler(e,n,s,i){let o=0;return i===g.VerticalAlign.MIDDLE?o=(this.height-e)/2:i===g.VerticalAlign.TOP?o=n:o=this.height-e-s,o}_startRotation(e,n){e.rotate(n||0)}_resetRotation(e,n){e.rotate(-n||0)}_initialDefaultExtension(){rt.getData().forEach(e=>{this.register(e)})}}const eC="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class tC extends M6{constructor(e,n,s=!0){super(e,n);p(this,"_backgroundExtension");p(this,"_borderExtension");p(this,"_fontExtension");p(this,"_cacheCanvas");p(this,"_refreshIncrementalState",!1);p(this,"_forceDirty",!1);p(this,"_forceDisableGridlines",!1);p(this,"_documents",new Mt(eC,void 0,{pageMarginLeft:0,pageMarginTop:0}));p(this,"isPrinting",!1);this._allowCache=s,this._allowCache&&(this._cacheCanvas=new nt,this.onIsAddedToParentObserver.add(i=>{var o;(o=i==null?void 0:i.getEngine())==null||o.onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()}),this._resizeCacheCanvas(),this._addMakeDirtyToScroll()})),this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var e;super.dispose(),this._documents.dispose(),this._documents=null,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale(),o=this._refreshIncrementalState?n==null?void 0:n.diffBounds.map(u=>s.getRowColumnSegmentByViewBound(u)):void 0,a=this.getExtensionsByOrder();for(const u of a)u.draw(e,i,s,o)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return n.x>i&&n.y>o}getNoMergeCellPositionByIndex(e,n){const s=this.getSkeleton();if(!s)return;const{rowHeightAccumulation:i,columnWidthAccumulation:o,rowHeaderWidth:a,columnHeaderHeight:u}=s;let{startY:l,endY:c,startX:h,endX:f}=Be(e,n,i,o);return l+=u,c+=u,h+=a,f+=a,{startY:l,endY:c,startX:h,endX:f}}getScrollXYByRelativeCoords(e){const n=this.getParent();let s=0,i=0;const o=n.getActiveViewportByRelativeCoord(e);if(o){const a=o.actualScrollX||0,u=o.actualScrollY||0;s+=a,i+=u}return{x:s,y:i}}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,n,s,i){var o;return(o=this.getSkeleton())==null?void 0:o.getMergeBounding(e,n,s,i)}render(e,n){if(!this.visible)return this.makeDirty(!1),this;const s=this.getSkeleton();if(!s)return;s.calculateWithoutClearingCache(n);const i=s.rowColumnSegment;if(i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();const{a:o=1,d:a=1}=e.getTransform(),{rowHeaderWidth:u,columnHeaderHeight:l}=s;if(e.translateWithPrecision(u,l),this._drawAuxiliary(e,n),n&&this._allowCache===!0){const{viewBound:c,diffBounds:h,diffX:f,diffY:d,viewPortPosition:_,viewPortKey:m}=n;if(m==="viewMain"){const v=this._cacheCanvas.getContext();v.save();const{left:y,top:F,right:E,bottom:x}=_,T=E-y+u,B=x-F+l;if(h.length===0||f===0&&d===0||this._forceDirty)(this.isDirty()||this._forceDirty)&&(this._cacheCanvas.clear(),v.setTransform(e.getTransform()),this._draw(v,n),this._forceDirty=!1),this._applyCache(e,y,F,T,B,y,F,T,B);else{if(this.isDirty()){v.save(),v.globalCompositeOperation="copy",v.setTransform(1,0,0,1,0,0),v.drawImage(this._cacheCanvas.getCanvasEle(),f*o,d*a),v.restore(),this._refreshIncrementalState=!0,v.setTransform(e.getTransform());for(const w of h){const{left:S,right:R,bottom:A,top:k}=w;v.save(),v.beginPath(),v.rectByPrecision(S-u-g1,k-l-g1,R-S+u+g1*2,A-k+l+g1*2),v.clip(),this._draw(v,{viewBound:n.viewBound,diffBounds:[w],diffX:n.diffX,diffY:n.diffY,viewPortPosition:n.viewPortPosition,viewPortKey:n.viewPortKey}),v.restore()}this._refreshIncrementalState=!1}this._applyCache(e,y,F,T,B,y,F,T,B)}v.restore()}else this._draw(e,n)}else this._draw(e,n);return e.restore(),this.makeDirty(!1),this}_resizeCacheCanvas(){const e=this._getAncestorSize();if(!e||this._cacheCanvas==null)return;const{width:n,height:s}=e;this._cacheCanvas.setSize(n,s),this.makeForceDirty(!0)}_applyCache(e,n=0,s=0,i=0,o=0,a=0,u=0,l=0,c=0){if(!e)return;const h=this._cacheCanvas.getPixelRatio(),f=this._cacheCanvas.getContext();f.save(),e.save(),e.setTransform(1,0,0,1,0,0),f.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),n*h,s*h,i*h,o*h,a*h,u*h,l*h,c*h),e.restore(),f.restore()}_draw(e,n){this.draw(e,n)}_getAncestorSize(){const e=this._getAncestorParent();if(e){if(e.classType===V.ENGINE){const n=e.getCanvas();return{width:n.getWidth(),height:n.getHeight()}}if(e.classType===V.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===V.ENGINE||e.classType===V.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){Le.getData().sort(g.sortRules).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_addMakeDirtyToScroll(){this._hasScrollViewportOperator(this,e=>{e.onScrollBeforeObserver.add(()=>{this.makeDirty(!0)})})}_hasScrollViewportOperator(e,n){let s=e.getParent();for(;s;){if(s.classType===V.SCENE){const i=s.getViewports(),o=this._getHasScrollViewports(i);for(const a of o)a&&n(a)}s=(s==null?void 0:s.getParent)&&(s==null?void 0:s.getParent())}}_getHasScrollViewports(e){const n=[];for(const s of e)s.getScrollBar()&&n.push(s);return n}_drawAuxiliary(e,n){const s=this.getSkeleton();if(s==null)return;const{rowColumnSegment:i,dataMergeCache:o,overflowCache:a,stylesCache:u,showGridlines:l}=s,{border:c,backgroundPositions:h}=u,{startRow:f,endRow:d,startColumn:_,endColumn:m}=i;if(!s||l===g.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:v,columnTotalWidth:y,columnWidthAccumulation:F,rowTotalHeight:E}=s;if(!v||!F||y===void 0||E===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=y1([212,212,212]);const x=F.length,T=v.length,B=.4,w=d-f+1,S=m-_+1,R=Math.ceil(w*B),A=Math.ceil(S*B),k=Math.max(Math.floor(f-R),0),I=Math.min(Math.ceil(d+R),T-1),P=Math.min(Math.ceil(m+A),x-1),L=Math.max(Math.floor(_-A),0),U=F[L-1]||0,H=v[k-1]||0,z=F[P],$=v[I];e.translateWithPrecisionRatio(g1,g1),e.beginPath(),e.moveToByPrecision(U,H),e.lineToByPrecision(z,H),e.moveToByPrecision(U,H),e.lineToByPrecision(U,$),e.closePathByEnv(),e.stroke();for(let W=k;W<=I;W++){if(W<0||W>T-1)continue;const Q=v[W];e.beginPath(),e.moveToByPrecision(U,Q),e.lineToByPrecision(z,Q),e.closePathByEnv(),e.stroke()}for(let W=L;W<=P;W++){if(W<0||W>x-1)continue;const Q=F[W];e.beginPath(),e.moveToByPrecision(Q,H),e.lineToByPrecision(Q,$),e.closePathByEnv(),e.stroke()}this._clearRectangle(e,v,F,o),this._clearRectangle(e,v,F,a.toNativeArray()),this._clearBackground(e,h),e.restore()}_clearRectangle(e,n,s,i){if(i!=null)for(const o of i){const{startRow:a,endRow:u,startColumn:l,endColumn:c}=o,h=n[a-1]||0,f=n[u]||n[n.length-1],d=s[l-1]||0,_=s[c]||s[s.length-1];e.clearRectByPrecision(d,h,_-d,f-h),e.beginPath(),e.moveToByPrecision(d,h),e.lineToByPrecision(_,h),e.lineToByPrecision(_,f),e.lineToByPrecision(d,f),e.lineToByPrecision(d,h),e.stroke(),e.closePath()}}_clearBackground(e,n){n==null||n.forValue((s,i,o)=>{let{startY:a,endY:u,startX:l,endX:c}=o;const{isMerged:h,isMergedMainCell:f,mergeInfo:d}=o;if(h)return!0;f&&(a=d.startY,u=d.endY,l=d.startX,c=d.endX),e.clearRectForTexture(l,a,c-l+.5,u-a+.5)})}}function T4(r,t,e){r.onPointerEnterObserver.add(n=>{t(r,n)}),r.onPointerLeaveObserver.add(n=>{e(r,n)})}class s0 extends ue{constructor(e,n){super(e);p(this,"_subScenes",new Map);p(this,"_activeSubScene");p(this,"_allowSelectedClipElement",!1);this._initialProps(n)}get classType(){return V.SCENE_VIEWER}render(e,n){var i;if(!this.visible)return this.makeDirty(!1),this;if(n){const{left:o,top:a,right:u,bottom:l}=n.viewBound;if(this.width+this.strokeWidth+this.left<o||u<this.left||this.height+this.strokeWidth+this.top<a||l<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),(i=this._activeSubScene)==null||i.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(const[n,s]of this._subScenes)if(n===e)return s}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){const n=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===n&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;const n=this._subScenes.get(e);this._activeSubScene!==n&&(this._activeSubScene=n,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var i;if(this._activeSubScene===void 0)return;const s=this.transform.clone().invert().applyPoint(e);return(i=this._activeSubScene)==null?void 0:i.pick(s)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(o=>{if(e[o]===void 0)return!0;s[o]=e[o],i=!0}),i&&this.transformByState(s),this.makeDirty(!0)}}const $n=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class Pe extends ue{constructor(e,n){super(e);p(this,"_hoverCursor");p(this,"_moveCursor",null);p(this,"_fillRule","nonzero");p(this,"_globalCompositeOperation","source-over");p(this,"_paintFirst","fill");p(this,"_stroke");p(this,"_strokeScaleEnabled",!1);p(this,"_fill");p(this,"_fillAfterStrokeEnabled",!1);p(this,"_hitStrokeWidth",0);p(this,"_strokeLineJoin","round");p(this,"_strokeLineCap","round");p(this,"_shadowColor");p(this,"_shadowBlur",0);p(this,"_shadowOffset");p(this,"_shadowOffsetX",0);p(this,"_shadowOffsetY",0);p(this,"_shadowOpacity",0);p(this,"_shadowEnabled",!1);p(this,"_shadowForStrokeEnabled",!1);p(this,"_strokeDashArray");p(this,"_strokeDashOffset",0);p(this,"_strokeMiterLimit",0);p(this,"_type",D6.RECT);this._initialProps(n)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(e,n){}static _renderPaintInOrder(e,n){n.paintFirst==="stroke"?(this._renderStroke(e,n),this._renderFill(e,n)):(this._renderFill(e,n),this._renderStroke(e,n))}static _renderFill(e,n){n.fill&&(e.save(),this._setFillStyles(e,n),n.fillRule==="evenodd"?e.fill("evenodd"):e.fill(),e.restore())}static _renderStroke(e,n){const{stroke:s,strokeWidth:i,shadowEnabled:o,shadowForStrokeEnabled:a,strokeScaleEnabled:u,parent:l}=n;let{scaleX:c,scaleY:h}=e.getScale();!s||i===0||(o&&!a&&this._removeShadow(e),e.save(),u===!1&&(c=c!=null?c:1,h=h!=null?h:1,e.scale(1/c,1/h)),this._setLineDash(e),this._setStrokeStyles(e,n),e.stroke(),e.restore())}static _getObjectScaling(){return{scaleX:1,scaleY:1}}static _removeShadow(e){}static _setFillStyles(e,n){e.fillStyle=n.fill}static _setStrokeStyles(e,n){const{strokeWidth:s,strokeLineCap:i,strokeDashOffset:o,strokeLineJoin:a,strokeMiterLimit:u,stroke:l}=n;e.lineWidth=s,e.lineCap=i,e.lineDashOffset=o,e.lineJoin=a,e.miterLimit=u,e.strokeStyle=l}static _setLineDash(e){}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:o,bottom:a,right:u}=n.viewBound;if(this.width+this.strokeWidth+this.left<o||u<this.left||this.height+this.strokeWidth+this.top<i||a<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;n2.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}toJson(){const e={};return $n.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(o=>{if(e[o]===void 0)return!0;n2.indexOf(o)>-1?(s[o]=e[o],i=!0):this[`_${o}`]=e[o]}),i&&this.transformByState(s),this.makeDirty(!0)}}const Hn=["dataArray"];class S1 extends Pe{constructor(e,n){super(e,n);p(this,"_dataArray",[]);p(this,"_pathLength",0);p(this,"_selfRectCache",{left:0,top:0,width:0,height:0});p(this,"_reCalculateCache",!0);n!=null&&n.data?this._dataArray=S1.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let s=0;s<this.dataArray.length;++s)this._pathLength+=this.dataArray[s].pathLength;this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,preValue:o}=s;if(i===c1.resize||i===c1.all){this._reCalculateCache=!0;const{left:a,top:u,width:l,height:c}=this._getSelfRect(),{width:h,height:f}=o;let d,_;h?d=this.width-h:d=0,f?_=this.height-f:_=0;const m=d/l,v=_/c;this.scaleX+=m,this.scaleY+=v,this.left=this.left-a*m,this.top=this.top-u*v,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,n){const s=n.dataArray;if(s){e.beginPath();for(let i=0;i<s.length;i++){const o=s[i].command,a=s[i].points;switch(o){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":{const u=a[0],l=a[1],c=a[2],h=a[3],f=a[4],d=a[5],_=a[6],m=a[7],v=c>h?c:h,y=c>h?1:c/h,F=c>h?h/c:1;e.translate(u,l),e.rotate(_),e.scale(y,F),e.arc(0,0,v,f,f+d,!!(1-m)),e.scale(1/y,1/F),e.rotate(-_),e.translate(-u,-l);break}case"z":e.closePath();break}}this._renderPaintInOrder(e,n)}}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPointOnLine(e,n,s,i,o,a,u){a===void 0&&(a=n),u===void 0&&(u=s);const l=(o-s)/(i-n+1e-8);let c=Math.sqrt(e*e/(1+l*l));i<n&&(c*=-1);let h=l*c,f;if(i===n)f={x:a,y:u+h};else if((u-s)/(a-n+1e-8)===l)f={x:a+c,y:u+h};else{const d=this.getLineLength(n,s,i,o);let _=(a-n)*(i-n)+(u-s)*(o-s);_/=d*d;const m=n+_*(i-n),v=s+_*(o-s),y=this.getLineLength(a,u,m,v),F=Math.sqrt(e*e-y*y);c=Math.sqrt(F*F/(1+l*l)),i<n&&(c*=-1),h=l*c,f={x:m+c,y:v+h}}return f}static getPointOnCubicBezier(e,n,s,i,o,a,u,l,c){function h(y){return y*y*y}function f(y){return 3*y*y*(1-y)}function d(y){return 3*y*(1-y)*(1-y)}function _(y){return(1-y)*(1-y)*(1-y)}const m=l*h(e)+a*f(e)+i*d(e)+n*_(e),v=c*h(e)+u*f(e)+o*d(e)+s*_(e);return{x:m,y:v}}static getPointOnQuadraticBezier(e,n,s,i,o,a,u){function l(_){return _*_}function c(_){return 2*_*(1-_)}function h(_){return(1-_)*(1-_)}const f=a*l(e)+i*c(e)+n*h(e),d=u*l(e)+o*c(e)+s*h(e);return{x:f,y:d}}static getPointOnEllipticalArc(e,n,s,i,o,a){const u=Math.cos(a),l=Math.sin(a),c={x:s*Math.cos(o),y:i*Math.sin(o)};return{x:e+(c.x*u-c.y*l),y:n+(c.x*l+c.y*u)}}static parsePathData(e){if(!e)return[];let n=e;const s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let f=0,d=s.length;f<d;f++)n=n.replace(new RegExp(s[f],"g"),`|${s[f]}`);const i=n.split("|"),o=[],a=[];let u=0,l=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let h;for(let f=1,d=i.length;f<d;f++){let _=i[f],m=_.charAt(0);for(_=_.slice(1),a.length=0;h=c.exec(_);)a.push(h[0]);const v=[];for(let y=0,F=a.length;y<F;y++){if(a[y]==="00"){v.push(0,0);continue}const E=Number.parseFloat(a[y]);isNaN(E)?v.push(0):v.push(E)}for(;v.length>0&&!isNaN(v[0]);){let y,F=[];const E=u,x=l;let T,B,w,S,R,A,k,I,P,L;switch(m){case"l":u+=v.shift()||0,l+=v.shift()||0,y="L",F.push(u,l);break;case"L":u=v.shift()||0,l=v.shift()||0,F.push(u,l);break;case"m":{const U=v.shift()||0,H=v.shift()||0;if(u+=U,l+=H,y="M",o.length>2&&o[o.length-1].command==="z"){for(let z=o.length-2;z>=0;z--)if(o[z].command==="M"){u=o[z].points[0]+U,l=o[z].points[1]+H;break}}F.push(u,l),m="l";break}case"M":u=v.shift()||0,l=v.shift()||0,y="M",F.push(u,l),m="L";break;case"h":u+=v.shift()||0,y="L",F.push(u,l);break;case"H":u=v.shift()||0,y="L",F.push(u,l);break;case"v":l+=v.shift()||0,y="L",F.push(u,l);break;case"V":l=v.shift()||0,y="L",F.push(u,l);break;case"C":F.push(v.shift()||0,v.shift()||0,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,F.push(u,l);break;case"c":F.push(u+(v.shift()||0),l+(v.shift()||0),u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="C",F.push(u,l);break;case"S":B=u,w=l,T=o[o.length-1],T.command==="C"&&(B=u+(u-T.points[2]),w=l+(l-T.points[3])),F.push(B,w,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,y="C",F.push(u,l);break;case"s":B=u,w=l,T=o[o.length-1],T.command==="C"&&(B=u+(u-T.points[2]),w=l+(l-T.points[3])),F.push(B,w,u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="C",F.push(u,l);break;case"Q":F.push(v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,F.push(u,l);break;case"q":F.push(u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,y="Q",F.push(u,l);break;case"T":B=u,w=l,T=o[o.length-1],T.command==="Q"&&(B=u+(u-T.points[0]),w=l+(l-T.points[1])),u=v.shift()||0,l=v.shift()||0,y="Q",F.push(B,w,u,l);break;case"t":B=u,w=l,T=o[o.length-1],T.command==="Q"&&(B=u+(u-T.points[0]),w=l+(l-T.points[1])),u+=v.shift()||0,l+=v.shift()||0,y="Q",F.push(B,w,u,l);break;case"A":S=v.shift()||0,R=v.shift()||0,A=v.shift()||0,k=v.shift()||0,I=v.shift()||0,P=u,L=l,u=v.shift()||0,l=v.shift()||0,y="A",F=this.convertEndpointToCenterParameterization(P,L,u,l,k,I,S,R,A);break;case"a":S=v.shift()||0,R=v.shift()||0,A=v.shift()||0,k=v.shift()||0,I=v.shift()||0,P=u,L=l,u+=v.shift()||0,l+=v.shift()||0,y="A",F=this.convertEndpointToCenterParameterization(P,L,u,l,k,I,S,R,A);break}o.push({command:y||m,points:F,start:{x:E,y:x},pathLength:this.calcLength(E,x,y||m,F)})}(m==="z"||m==="Z")&&o.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return o}static calcLength(e,n,s,i){let o,a,u,l;const c=S1;switch(s){case"L":return c.getLineLength(e,n,i[0],i[1]);case"C":for(o=0,a=c.getPointOnCubicBezier(0,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)u=c.getPointOnCubicBezier(l,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return o;case"Q":for(o=0,a=c.getPointOnQuadraticBezier(0,e,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)u=c.getPointOnQuadraticBezier(l,e,n,i[0],i[1],i[2],i[3]),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return o;case"A":{o=0;const h=i[4],f=i[5],d=i[4]+f;let _=Math.PI/180;if(Math.abs(h-d)<_&&(_=Math.abs(h-d)),a=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],h,0),f<0)for(l=h-_;l>d;l-=_)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;else for(l=h+_;l<d;l+=_)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),a=u;return u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],d,0),o+=c.getLineLength(a.x,a.y,u.x,u.y),o}}return 0}static convertEndpointToCenterParameterization(e,n,s,i,o,a,u,l,c){const h=c*(Math.PI/180),f=Math.cos(h)*(e-s)/2+Math.sin(h)*(n-i)/2,d=-1*Math.sin(h)*(e-s)/2+Math.cos(h)*(n-i)/2,_=f*f/(u*u)+d*d/(l*l);_>1&&(u*=Math.sqrt(_),l*=Math.sqrt(_));let m=Math.sqrt((u*u*(l*l)-u*u*(d*d)-l*l*(f*f))/(u*u*(d*d)+l*l*(f*f)));o===a&&(m*=-1),isNaN(m)&&(m=0);const v=m*u*d/l,y=m*-l*f/u,F=(e+s)/2+Math.cos(h)*v-Math.sin(h)*y,E=(n+i)/2+Math.sin(h)*v+Math.cos(h)*y,x=k=>Math.sqrt(k[0]*k[0]+k[1]*k[1]),T=(k,I)=>(k[0]*I[0]+k[1]*I[1])/(x(k)*x(I)),B=(k,I)=>(k[0]*I[1]<k[1]*I[0]?-1:1)*Math.acos(T(k,I)),w=B([1,0],[(f-v)/u,(d-y)/l]),S=[(f-v)/u,(d-y)/l],R=[(-1*f-v)/u,(-1*d-y)/l];let A=B(S,R);return T(S,R)<=-1&&(A=Math.PI),T(S,R)>=1&&(A=0),a===0&&A>0&&(A-=2*Math.PI),a===1&&A<0&&(A+=2*Math.PI),[F,E,u,l,w,A,h,a]}toJson(){const e={};return Hn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(e){let n,s=0;const i=this.dataArray.length;if(!i)return null;for(;s<i&&e>this.dataArray[s].pathLength;)e-=this.dataArray[s].pathLength,++s;if(s===i)return n=this.dataArray[s-1].points.slice(-2),{x:n[0],y:n[1]};if(e<.01)return n=this.dataArray[s].points.slice(0,2),{x:n[0],y:n[1]};const o=this.dataArray[s],a=o.points;switch(o.command){case"L":return S1.getPointOnLine(e,o.start.x,o.start.y,a[0],a[1]);case"C":return S1.getPointOnCubicBezier(e/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return S1.getPointOnQuadraticBezier(e/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":{const u=a[0],l=a[1],c=a[2],h=a[3];let f=a[4];const d=a[5],_=a[6];return f+=d*e/o.pathLength,S1.getPointOnEllipticalArc(u,l,c,h,f,_)}}return null}_draw(e){S1.drawWith(e,this)}_setFixBoundingBox(){const{left:e,top:n,width:s,height:i}=this._getSelfRect(),o=this.width/s,a=this.height/i;this.left=this.left-e*o,this.top=this.top-n*a,this.scaleX=o,this.scaleY=a,this.width=s,this.height=i,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let e=[];this.dataArray.forEach(c=>{if(c.command==="A"){const h=c.points[4],f=c.points[5],d=c.points[4]+f;let _=Math.PI/180;if(Math.abs(h-d)<_&&(_=Math.abs(h-d)),f<0)for(let m=h-_;m>d;m-=_){const v=S1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}else for(let m=h+_;m<d;m+=_){const v=S1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}}else if(c.command==="C")for(let h=0;h<=1;h+=.01){const f=S1.getPointOnCubicBezier(h,c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]);e.push(f.x,f.y)}else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],o=e[1],a,u;for(let c=0;c<e.length/2;c++)a=e[c*2],u=e[c*2+1],isNaN(a)||(n=Math.min(n,a),s=Math.max(s,a)),isNaN(u)||(i=Math.min(i,u),o=Math.max(o,u));const l={left:n,top:i,width:s-n,height:o-i};return this._selfRectCache=l,l}}var Gn=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(Gn||{});const x4="M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z";class nC extends s0{constructor(){super(...arguments);p(this,"onSlideChangePageByNavigationObservable",new g.Observable);p(this,"_navigationEnabled",!1)}activeFirstPage(){const n=this.getSubScenes().keys().next().value;n!=null&&this.changePage(n)}addPage(e){const n=e.sceneKey;this.getSubScene(n)==null&&(this.addSubScene(e),this.addNavigation())}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){const e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;const n=new S1("__slideNavigationLeft__",{data:x4,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),s=new S1("__slideNavigationRight__",{data:x4,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(a,u)=>{a.setCursor(f1.POINTER),a.setProps({fill:this._getArrowColor(!0)})},o=(a,u)=>{a.setCursor(f1.DEFAULT),a.setProps({fill:this._getArrowColor()})};T4(n,i,o),T4(s,i,o),this._addNavTrigger(n,s),e.addObjects([n,s],7)}removeNavigation(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.dispose(),(s=e.getObject("__slideNavigationRight__"))==null||s.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.hide(),(s=e.getObject("__slideNavigationRight__"))==null||s.hide())}showNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.show(),(s=e.getObject("__slideNavigationRight__"))==null||s.show())}renderToThumb(e,n,s=1,i=1){const o=this.getSubScene(n);o!=null&&(e.save(),e.scale(s,i),o.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;const n=Array.from(this.getSubScenes()),s=n.length;let i=0;for(let u=0;u<s;u++){const[l]=n[u];if(e===l){i=u;break}}let o=i+1,a=i-1;return o=o>=s?0:o,a=a<0?s-1:a,{nextScene:n[o][1],previousScene:n[a][1]}}_addNavTrigger(e,n){e.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.previousScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)}),n.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.nextScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)})}_getArrowColor(e=!1){return e?y1(g.COLORS.white,.8):y1(g.COLORS.white,.5)}}class rC extends ue{constructor(t,e=s=>{},n){super(t),this._render=e,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(e&&!this.isInGroup){const{top:s,left:i,bottom:o,right:a}=e.viewBound;if(this.width+this.strokeWidth<i||a<0||this.height+this.strokeWidth<s||o<0)return this}const n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(t),t.restore(),this.makeDirty(!1),this}isHit(t){return this._isHitCustom?this._isHitCustom(t):super.isHit(t)}}class zn extends g.Disposable{constructor(){super(...arguments);p(this,"onInputChangedObservable",new g.Observable);p(this,"onTransformChangeObservable",new g.Observable);p(this,"_scenes",{});p(this,"_activeScene",null)}get classType(){return V.ENGINE}get activeScene(){return this._activeScene}get width(){return 0}get height(){return 0}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){const n=e.sceneKey;return this.hasScene(n)&&console.warn("Scenes has similar key, it will be covered"),this._scenes[n]=e,e}setActiveScene(e){const n=this.getScene(e);return n&&(this._activeScene=n),n}setRemainCapture(){}hasActiveScene(){return this._activeScene!=null}dispose(){super.dispose();const e={...this.getScenes()};Object.keys(e).forEach(s=>{e[s].dispose()}),this._scenes={}}remainScene(e){const n=this.getScenes();if(n[e]){const s=n[e];return delete n[e],s}}}class f2 extends zn{constructor(e=1,n=1,s,i){super();p(this,"renderEvenInBackground",!0);p(this,"onBeginFrameObservable",new g.Observable);p(this,"onEndFrameObservable",new g.Observable);p(this,"_container");p(this,"_canvas");p(this,"_renderingQueueLaunched",!1);p(this,"_activeRenderLoops",new Array);p(this,"_renderFunction",()=>{});p(this,"_requestNewFrameHandler",-1);p(this,"_frameId",-1);p(this,"_usingSafari",z4());p(this,"_resizeObserver");p(this,"_fps",60);p(this,"_deltaTime",0);p(this,"_performanceMonitor",new u7);p(this,"_pointerMoveEvent");p(this,"_pointerDownEvent");p(this,"_pointerUpEvent");p(this,"_pointerBlurEvent");p(this,"_pointerWheelEvent");p(this,"_pointerEnterEvent");p(this,"_pointerLeaveEvent");p(this,"_remainCapture",-1);p(this,"pointer",{});p(this,"_mouseId",-1);p(this,"_isUsingFirefox",navigator.userAgent.indexOf("Firefox")!==-1);p(this,"_previousWidth",-1e3);p(this,"_previousHeight",-1e3);this._canvas=new nt({mode:i,width:e,height:n,pixelRatio:s}),this._handleKeyboardAction(),this._handlePointerAction(),i!==A6.Printing&&this._matchMediaHandler()}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){const n=this.getCanvas().getCanvasEle();n.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setRemainCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this.getCanvas().getPixelRatio()}setContainer(e,n=!0){var s;if(this._container=e,this._container.appendChild(this.getCanvasElement()),n){this.resize(),(s=this._resizeObserver)==null||s.unobserve(this._container);let i;this._resizeObserver=new ResizeObserver(()=>{i||(i=window.requestIdleCallback(()=>{this.resize(),i=void 0}))}),this._resizeObserver.observe(this._container),this.disposeWithMe(g.toDisposable(()=>{var o;(o=this._resizeObserver)==null||o.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:e,height:n}=Z4(this._container);e===this._previousWidth&&n===this._previousHeight||(this._previousWidth=e,this._previousHeight=n,this.resizeBySize(e,n))}resizeBySize(e,n){const s=this.width,i=this.height;this.getCanvas().setSize(e,n),this.onTransformChangeObservable.notifyObservers({type:c1.resize,value:{width:e,height:n},preValue:{width:s,height:i}})}dispose(){super.dispose();const e=W2(),n=this.getCanvasElement();n.removeEventListener(`${e}leave`,this._pointerLeaveEvent),n.removeEventListener(`${e}enter`,this._pointerEnterEvent),n.removeEventListener(`${e}move`,this._pointerMoveEvent),n.removeEventListener(`${e}down`,this._pointerDownEvent),n.removeEventListener(`${e}up`,this._pointerUpEvent),n.removeEventListener("blur",this._pointerBlurEvent),n.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._activeRenderLoops=[],this.getCanvas().dispose(),this._canvas=null,this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear(),this.onTransformChangeObservable.clear()}runRenderLoop(e){this._activeRenderLoops.indexOf(e)===-1&&(this._activeRenderLoops.push(e),this._renderingQueueLaunched||(this._renderingQueueLaunched=!0,this._renderFunction=this._renderLoop.bind(this),this._requestNewFrameHandler=Dt(this._renderFunction)))}stopRenderLoop(e){if(!e){this._activeRenderLoops.length=0,this._cancelFrame();return}const n=this._activeRenderLoops.indexOf(e);n>=0&&(this._activeRenderLoops.splice(n,1),this._activeRenderLoops.length===0&&this._cancelFrame())}beginFrame(){this._measureFps(),this.onBeginFrameObservable.notifyObservers(this)}endFrame(){this._frameId++,this.onEndFrameObservable.notifyObservers(this)}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(){for(let e=0;e<this._activeRenderLoops.length;e++){const n=this._activeRenderLoops[e];n()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>"u"){if(typeof cancelAnimationFrame=="function")return cancelAnimationFrame(this._requestNewFrameHandler)}else{const{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e=="function")return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e;return typeof window>"u"?null:(e=this.getCanvasElement().ownerDocument)!=null&&e.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_renderLoop(){let e=!0;this.renderEvenInBackground||(e=!1),e&&(this.beginFrame(),this._renderFrame(),this.endFrame()),this._activeRenderLoops.length>0?this._requestNewFrameHandler=Dt(this._renderFunction):this._renderingQueueLaunched=!1}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}_handleKeyboardAction(){const e=i=>{const o=i;o.deviceType=B1.Keyboard,o.inputIndex=i.keyCode,o.previousState=0,o.currentState=1,this.onInputChangedObservable.notifyObservers(o)},n=i=>{const o=i;o.deviceType=B1.Keyboard,o.inputIndex=i.keyCode,o.previousState=1,o.currentState=0,this.onInputChangedObservable.notifyObservers(o)},s=this.getCanvasElement();s.addEventListener("keydown",e),s.addEventListener("keyup",n)}_handlePointerAction(){const e=W2();this._pointerMoveEvent=s=>{const i=this._getPointerType(s),o=this.pointer[X.Horizontal],a=this.pointer[X.Vertical],u=this.pointer[X.DeltaHorizontal],l=this.pointer[X.DeltaVertical];this.pointer[X.Horizontal]=s.clientX,this.pointer[X.Vertical]=s.clientY,this.pointer[X.DeltaHorizontal]=s.movementX,this.pointer[X.DeltaVertical]=s.movementY;const c=s;c.deviceType=i,o!==s.clientX&&(c.inputIndex=X.Horizontal,c.previousState=o,c.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(c)),a!==s.clientY&&(c.inputIndex=X.Vertical,c.previousState=a,c.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(c)),this.pointer[X.DeltaHorizontal]!==0&&(c.inputIndex=X.DeltaHorizontal,c.previousState=u,c.currentState=this.pointer[X.DeltaHorizontal],this.onInputChangedObservable.notifyObservers(c)),this.pointer[X.DeltaVertical]!==0&&(c.inputIndex=X.DeltaVertical,c.previousState=l,c.currentState=this.pointer[X.DeltaVertical],this.onInputChangedObservable.notifyObservers(c)),!this._usingSafari&&s.button!==-1&&(c.inputIndex=s.button+2,c.previousState=this.pointer[s.button+2],this.pointer[s.button+2]=this.pointer[s.button+2]?0:1,c.currentState=this.pointer[s.button+2],this.onInputChangedObservable.notifyObservers(c))},this._pointerDownEvent=s=>{const i=s,o=this._getPointerType(i),a=this.pointer[X.Horizontal],u=this.pointer[X.Vertical],l=this.pointer[i.button+2];o===B1.Mouse?(this._mouseId===-1&&(i.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=i.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this.getCanvasElement().setPointerCapture(this._mouseId))):i.pointerId&&!document.pointerLockElement&&(this._remainCapture=i.pointerId,this.getCanvasElement().setPointerCapture(i.pointerId)),this.pointer[X.Horizontal]=i.clientX,this.pointer[X.Vertical]=i.clientY,this.pointer[i.button+2]=1;const c=i;c.deviceType=o,a!==i.clientX&&(c.inputIndex=X.Horizontal,c.previousState=a,c.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(c)),u!==i.clientY&&(c.inputIndex=X.Vertical,c.previousState=u,c.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(c)),c.inputIndex=i.button+2,c.previousState=l,c.currentState=this.pointer[i.button+2],this.onInputChangedObservable.notifyObservers(c)},this._pointerUpEvent=s=>{const i=s,o=this._getPointerType(i),a=this.pointer[X.Horizontal],u=this.pointer[X.Vertical],l=this.pointer[i.button+2];this.pointer[X.Horizontal]=i.clientX,this.pointer[X.Vertical]=i.clientY,this.pointer[i.button+2]=0;const c=i;c.deviceType=o,a!==i.clientX&&(c.inputIndex=X.Horizontal,c.previousState=a,c.currentState=this.pointer[X.Horizontal],this.onInputChangedObservable.notifyObservers(c)),u!==i.clientY&&(c.inputIndex=X.Vertical,c.previousState=u,c.currentState=this.pointer[X.Vertical],this.onInputChangedObservable.notifyObservers(c)),c.inputIndex=i.button+2,c.previousState=l,c.currentState=this.pointer[i.button+2];const h=this.getCanvasElement();o===B1.Mouse&&this._mouseId>=0&&h.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,h.releasePointerCapture(this._mouseId)):c.pointerId&&h.hasPointerCapture(c.pointerId)&&(this._remainCapture=c.pointerId,h.releasePointerCapture(c.pointerId)),this.onInputChangedObservable.notifyObservers(c),o!==B1.Mouse&&(this.pointer={})},this._pointerEnterEvent=s=>{const i=this._getPointerType(s),o=s;o.deviceType=i,o.currentState=2,this.onInputChangedObservable.notifyObservers(o)},this._pointerLeaveEvent=s=>{const i=this._getPointerType(s),o=s;o.deviceType=i,o.currentState=3,this.onInputChangedObservable.notifyObservers(o)},this._pointerBlurEvent=s=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId)&&(this.getCanvasElement().releasePointerCapture(this._mouseId),this._remainCapture=this._mouseId,this._mouseId=-1),this.pointer={}},this._pointerWheelEvent=s=>{const i=B1.Mouse,o=this.pointer[X.MouseWheelX],a=this.pointer[X.MouseWheelY],u=this.pointer[X.MouseWheelZ];this.pointer[X.MouseWheelX]=s.deltaX||0,this.pointer[X.MouseWheelY]=s.deltaY||s.wheelDelta||0,this.pointer[X.MouseWheelZ]=s.deltaZ||0;const l=s;l.deviceType=i,this.pointer[X.MouseWheelX]!==0&&(l.inputIndex=X.MouseWheelX,l.previousState=o,l.currentState=this.pointer[X.MouseWheelX],this.onInputChangedObservable.notifyObservers(l)),this.pointer[X.MouseWheelY]!==0&&(l.inputIndex=X.MouseWheelY,l.previousState=a,l.currentState=this.pointer[X.MouseWheelY],this.onInputChangedObservable.notifyObservers(l)),this.pointer[X.MouseWheelZ]!==0&&(l.inputIndex=X.MouseWheelZ,l.previousState=u,l.currentState=this.pointer[X.MouseWheelZ],this.onInputChangedObservable.notifyObservers(l))};const n=this.getCanvasElement();n.addEventListener(`${e}enter`,this._pointerEnterEvent),n.addEventListener(`${e}leave`,this._pointerLeaveEvent),n.addEventListener(`${e}move`,this._pointerMoveEvent),n.addEventListener(`${e}down`,this._pointerDownEvent),n.addEventListener(`${e}up`,this._pointerUpEvent),n.addEventListener("blur",this._pointerBlurEvent),n.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll"}_getPassive(){let e=!1;const n=()=>{};try{const s={passive:{get(){e=!0}}},i=this.getCanvasElement();i.addEventListener("test",n,s),i.removeEventListener("test",n,s)}catch{}return e}_getPointerType(e){let n=B1.Mouse;return(e.pointerType==="touch"||e.pointerType==="pen"||e.touches)&&(n=B1.Touch),n}_matchMediaHandler(){if(!(window!=null&&window.matchMedia))return;const e=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.resize()};e.addEventListener("change",n),this.disposeWithMe(g.toDisposable(()=>{e.removeEventListener("change",n)}))}}class Xn extends ue{constructor(e,...n){super(e);p(this,"_objects",[]);this.addObjects(...n)}get classType(){return V.GROUP}set cursor(e){this.setCursor(e)}addObjects(...e){for(const n of e)this.addObject(n)}addObject(e){let n=e;if(Y2(e)){const s=this.getScene();if(n=s==null?void 0:s.getObject(e),!n)return;n.parent=this,n.isInGroup=!0,n.groupKey=this.oKey,this._objects.push(n)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){const n=this.getObjects(),s=n.length;if(Y2(e))for(let i=0;i<s;i++){const o=n[i];if(o.oKey===e){n.splice(i,1),this.parent.removeObject(o);return}}else for(let i=0;i<s;i++){const o=n[i];if(o===e){n.splice(i,1),this.parent.removeObject(o);return}}}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjects(){return this._objects}render(e,n){e.save();const s=this.transform.getMatrix();e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._objects.sort(g.sortRules);for(const i of this._objects)i.render(e,this._transformBounds(n));e.restore()}resize(e,n){return this}scale(e,n){return this}skew(e,n){return this}flip(e,n){return this}isHit(e){return!0}pick(e){}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(n=>{n.dispose()}),this._clear(),super.dispose()}_transformBounds(e){return e}}class Wn extends g.Disposable{constructor(e,n=[],s=1,i=!1){super();p(this,"_objects",[]);p(this,"_cacheCanvas");p(this,"_dirty",!0);p(this,"_debounceDirtyFunc");this._scene=e,this._zIndex=s,this._allowCache=i,this.addObjects(n),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjectsByOrderForPick(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)n.classType!==V.GROUP&&n.visible&&e.push(n);return e}getObjects(){return this._objects}addObject(e){if(e.classType===V.GROUP){const n=e.getObjects();for(const s of n)this.scene.getObject(s.oKey)||(this._objects.push(s),this.scene.setObjectBehavior(s),this._layerBehavior(s))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.scene.applyTransformer(e),this}removeObject(e){const n=this.getObjects(),s=n.length;if(e instanceof ue){for(let i=0;i<s;i++)if(n[i]===e){n.splice(i,1);return}}else for(let i=0;i<s;i++)if(n[i].oKey===e){n.splice(i,1);return}}addObjects(e){return e.forEach(n=>{this.addObject(n)}),this}removeObjects(e){const n=this.getObjects(),s=n.length;for(let i=s-1;i>=0;i--){let o=n[i];const a=e.length;if(a===0)break;for(let u=0;u<a;u++){const l=e[u];if(o=l instanceof ue?o:o.oKey,o===l){n.splice(i,1);break}}}}makeDirty(e=!0){this._dirty=e;const n=this.scene.getParent();return n.classType===V.SCENE_VIEWER&&n.makeDirty(!0),this}makeDirtyWithDebounce(e=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=g.requestImmediateMacroTask(()=>{this.makeDirty(e),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(e,n=!1){var i;const s=e||((i=this._scene.getEngine())==null?void 0:i.getCanvas().getContext());if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){const o=this._cacheCanvas.getContext();this._cacheCanvas.clear(),o.save(),o.setTransform(s.getTransform()),this._draw(o,n),o.restore()}this._applyCache(s)}else s.save(),this._draw(s,n),s.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(g.toDisposable(e.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){this._cacheCanvas=new nt,this.disposeWithMe(g.toDisposable(this._scene.getEngine().onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()})))}_draw(e,n){var s;(s=this._scene.getViewports())==null||s.forEach(i=>i.render(e,this.getObjectsByOrder(),n))}_applyCache(e){if(!e||this._cacheCanvas==null)return;const n=this._cacheCanvas.getWidth(),s=this._cacheCanvas.getHeight();e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,n,s)}_resizeCacheCanvas(){var n;const e=this._scene.getEngine();(n=this._cacheCanvas)==null||n.setSize(e.width,e.height),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var n;super.dispose(),[...this.getObjects()].forEach(s=>{s.dispose()}),this.clear(),this._debounceDirtyFunc=null,(n=this._cacheCanvas)==null||n.dispose(),this._cacheCanvas=null}}var Yn=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(Yn||{});class tt{constructor(t,e=3,n,s=.4,i=.1){p(this,"_requestNewFrameNumber",-1);p(this,"_viewport");p(this,"_offsetX",0);p(this,"_offsetY",0);p(this,"_moveX",0);p(this,"_moveY",0);p(this,"_scrollX",0);p(this,"_scrollY",0);p(this,"_scrollFunction");this._scene=t,this._scrollTimerType=e,this._padding=n,this._smoothRatioX=s,this._smoothRatioY=i,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(t,e=3,n){return new tt(t,e,n)}set scrollTimerType(t){this._scrollTimerType=t}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(t){this._viewport=t}getActiveViewport(){return this._viewport}startScroll(t,e,n){this._offsetX=t,this._offsetY=e,this._moveX=t,this._moveY=e,n!=null?this._viewport=n:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_scroll(t){const e=(t==null?void 0:t.top)||0,n=e+((t==null?void 0:t.height)||0),s=(t==null?void 0:t.left)||0,i=s+((t==null?void 0:t.width)||0),{t:o=0,b:a=0,r:u=0,l=0}=this._padding;let c=0,h=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<s+l&&(c=(this._moveX-s-l)*this._smoothRatioX,f=!0),this._moveX>i-u&&(c=(this._moveX-i+u)*this._smoothRatioX,f=!0)),this._scrollTimerType&2&&(this._moveY<e+o&&(h=(this._moveY-e-o)*this._smoothRatioY,f=!0),this._moveY>n-a&&(h=(this._moveY-n+a)*this._smoothRatioY,f=!0)),!f)return;const d=t==null?void 0:t.scrollBy({x:c,y:h}),_=t==null?void 0:t.getActualScroll(c,h);if(this._scrollX=(_==null?void 0:_.x)||0,this._scrollY=(_==null?void 0:_.y)||0,d){const m=this._findAncestorScene(t==null?void 0:t.scene),v=this.getViewportByCoord(m);v&&this._scroll(v)}}scrolling(t,e,n){this._moveX=t,this._moveY=e,this._scrollFunction=n}stopScroll(){H4(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(t){return t==null?void 0:t.getActiveViewportByRelativeCoord(M.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=Dt(this._runRenderLoop.bind(this))}_findAncestorScene(t){let e=t==null?void 0:t.getParent();for(;e;){if(e.classType===V.SCENE)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}}const jn=["radius"];class T1 extends Pe{constructor(e,n){super(e,n);p(this,"_radius",0);n!=null&&n.radius&&(this._radius=n.radius)}get radius(){return this._radius}static drawWith(e,n){let{radius:s,width:i,height:o}=n;if(s=s!=null?s:0,i=i!=null?i:30,o=o!=null?o:30,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),!s)e.rect(0,0,i,o);else{let a=0,u=0,l=0,c=0;a=u=l=c=Math.min(s,i/2,o/2),e.moveTo(a,0),e.lineTo(i-u,0),e.arc(i-u,u,u,Math.PI*3/2,0,!1),e.lineTo(i,o-c),e.arc(i-c,o-c,c,0,Math.PI/2,!1),e.lineTo(l,o),e.arc(l,o-l,l,Math.PI/2,Math.PI,!1),e.lineTo(0,a),e.arc(a,a,a,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return jn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){T1.drawWith(e,this)}}const sC=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class iC extends g.Disposable{constructor(e,n){super();p(this,"hoverEnabled",!1);p(this,"hoverEnterFunc");p(this,"hoverLeaveFunc");p(this,"resizeEnabled",!0);p(this,"rotateEnabled",!0);p(this,"rotationSnaps",[]);p(this,"rotationSnapTolerance",5);p(this,"rotateAnchorOffset",50);p(this,"rotateSize",10);p(this,"rotateCornerRadius",10);p(this,"borderEnabled",!0);p(this,"borderStroke","rgb(97, 97, 97)");p(this,"borderStrokeWidth",1);p(this,"borderDash",[]);p(this,"borderSpacing",10);p(this,"anchorFill","rgb(255,255,255)");p(this,"anchorStroke","rgb(185,185,185)");p(this,"anchorStrokeWidth",1);p(this,"anchorSize",10);p(this,"anchorCornerRadius",10);p(this,"keepRatio",!0);p(this,"centeredScaling",!1);p(this,"enabledAnchors",[1,1,1,1,1,1,1,1]);p(this,"flipEnabled",!1);p(this,"ignoreStroke",!1);p(this,"boundBoxFunc");p(this,"useSingleNodeRotation",!1);p(this,"shouldOverdrawWholeArea",!1);p(this,"onChangeStartObservable",new g.Observable);p(this,"onChangingObservable",new g.Observable);p(this,"onChangeEndObservable",new g.Observable);p(this,"onClearControlObservable",new g.Observable);p(this,"onCreateControlObservable",new g.Observable);p(this,"_startOffsetX",-1);p(this,"_startOffsetY",-1);p(this,"_viewportScrollX",-1);p(this,"_viewportScrollY",-1);p(this,"_moveObserver");p(this,"_upObserver");p(this,"_cancelFocusObserver");p(this,"_transformerControlMap",new Map);p(this,"_selectedObjectMap",new Map);this._scene=e,this._initialProps(n)}getScene(){return this._scene}hideControl(){this._hideControl()}attachTo(e){if(e.isTransformer)return this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnterObserver.add(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeaveObserver.add(this.hoverLeaveFunc)),this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:o}=n;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();if(!a)return;this._addCancelObserver(a),a.disableEvent();const u=tt.create(a);u.startScroll(i,o);const{scrollX:l,scrollY:c}=We(u);this._viewportScrollX=l,this._viewportScrollY=c,this._updateActiveObjectList(e,n),this._moveObserver=a.onPointerMoveObserver.add(h=>{const{offsetX:f,offsetY:d}=h;this._moving(f,d,u),this._hideControl(),u.scrolling(f,d,()=>{this._moving(f,d,u)})}),this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent(),this._updateControl(),u.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),s.stopPropagation()}))),e}dispose(){var e,n,s;(e=this._moveObserver)==null||e.dispose(),(n=this._upObserver)==null||n.dispose(),(s=this._cancelFocusObserver)==null||s.dispose(),this._moveObserver=null,this._upObserver=null,this._cancelFocusObserver=null,this._transformerControlMap.forEach(i=>{i.dispose()}),this._selectedObjectMap.forEach(i=>{i.dispose()}),this.onChangeStartObservable.clear(),this.onChangingObservable.clear(),this.onChangeEndObservable.clear()}_initialProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{if(e[s]===void 0)return!0;this[s]=e[s]})}_updateControlChildren(){this._updateControlIterator((e,n)=>{const{left:s,top:i,width:o,height:a,scaleX:u,scaleY:l}=n.getState();e.getObjects().forEach(h=>{const f=h.oKey,d=this._checkTransformerType(f);if(!d)return!0;if(d==="__SpreadsheetTransformerOutline__")h.transformByState(this._getOutlinePosition(o,a,u,l));else{const{left:_,top:m}=this._getRotateAnchorPosition(d,a,o);h.transformByState({left:_,top:m})}}),e.transformByState({left:s,top:i})})}_anchorMoving(e,n,s,i){const{scrollX:o,scrollY:a}=We(i),u=n-this._viewportScrollX+o,l=s-this._viewportScrollY+a,c=u-this._startOffsetX,h=l-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:d,top:_,width:m,height:v}=f,y={};switch(e){case"__SpreadsheetTransformerResizeLT__":y.left=d+c,y.top=_+h,y.width=m-c,y.height=v-h;break;case"__SpreadsheetTransformerResizeCT__":y.top=_+h,y.height=v-h;break;case"__SpreadsheetTransformerResizeRT__":y.top=_+h,y.width=m+c,y.height=v-h;break;case"__SpreadsheetTransformerResizeLM__":y.left=d+c,y.width=m-c;break;case"__SpreadsheetTransformerResizeRM__":y.width=c+m;break;case"__SpreadsheetTransformerResizeLB__":y.left=d+c,y.width=m-c,y.height=v+h;break;case"__SpreadsheetTransformerResizeCB__":y.height=h+v;break;case"__SpreadsheetTransformerResizeRB__":y.width=c+m,y.height=h+v;break}f.transformByState(y)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:c,moveY:h,type:1}),this._startOffsetX=u,this._startOffsetY=l}_attachEventToAnchor(e,n="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((s,i)=>{const{offsetX:o,offsetY:a}=s;this._startOffsetX=o,this._startOffsetY=a;const u=this._getTopScene();if(u==null)return;u.disableEvent();const l=tt.create(u);l.startScroll(o,a);const{scrollX:c,scrollY:h}=We(l);this._viewportScrollX=c,this._viewportScrollY=h;const f=this._getRotateAnchorCursor(n);this._moveObserver=u.onPointerMoveObserver.add(d=>{const{offsetX:_,offsetY:m}=d;this._anchorMoving(n,_,m,l),l.scrolling(_,m,()=>{this._anchorMoving(n,_,m,l)}),u.setCursor(f)}),this._upObserver=u.onPointerUpObserver.add(()=>{u.onPointerMoveObserver.remove(this._moveObserver),u.onPointerUpObserver.remove(this._upObserver),u.enableEvent(),u.resetCursor(),l.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),i.stopPropagation()})))}_attachEventToRotate(e){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:o}=n;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();a!=null&&(a.disableEvent(),this._viewportScrollX=scrollX,this._viewportScrollY=scrollY,this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent()}),s.stopPropagation())})))}_getOutlinePosition(e,n,s,i){return{left:-this.borderSpacing-this.borderStrokeWidth,top:-this.borderSpacing-this.borderStrokeWidth,width:e+this.borderSpacing*2,height:n+this.borderSpacing*2}}_getRotateAnchorCursor(e){let n=f1.NORTH_WEST_RESIZE;switch(e){case"__SpreadsheetTransformerRotate__":n=f1.MOVE;break;case"__SpreadsheetTransformerRotateLine__":n=f1.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":n=f1.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":n=f1.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":n=f1.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":n=f1.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":n=f1.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":n=f1.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":n=f1.SOUTH_EAST_RESIZE;break}return n}_getRotateAnchorPosition(e,n,s){let i=-this.anchorSize/2,o=-this.anchorSize/2;switch(e){case"__SpreadsheetTransformerRotate__":i=s/2-this.rotateSize/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth*2-this.rotateSize;break;case"__SpreadsheetTransformerRotateLine__":i=s/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLT__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":i+=s/2,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=n/2;break;case"__SpreadsheetTransformerResizeRM__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=n/2;break;case"__SpreadsheetTransformerResizeLB__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCB__":i+=s/2,o+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=n+this.borderSpacing-this.borderStrokeWidth;break}return{left:i,top:o}}_createResizeAnchor(e,n,s){const{height:i,width:o,scaleX:a,scaleY:u}=n.getState(),{left:l,top:c}=this._getRotateAnchorPosition(e,i,o),h=this._getRotateAnchorCursor(e),f=new T1(`${e}_${s}`,{zIndex:s-1,fill:this.anchorFill,stroke:this.anchorStroke,strokeWidth:this.anchorStrokeWidth,width:this.anchorSize,height:this.anchorSize,radius:this.anchorCornerRadius,left:l,top:c});return this._attachHover(f,h,f1.DEFAULT),f}_checkTransformerType(e){if(e.indexOf("__SpreadsheetTransformerOutline__")>-1)return"__SpreadsheetTransformerOutline__";if(e.indexOf("__SpreadsheetTransformerRotate__")>-1)return"__SpreadsheetTransformerRotate__";if(e.indexOf("__SpreadsheetTransformerRotateLine__")>-1)return"__SpreadsheetTransformerRotateLine__";if(e.indexOf("__SpreadsheetTransformerResizeLT__")>-1)return"__SpreadsheetTransformerResizeLT__";if(e.indexOf("__SpreadsheetTransformerResizeCT__")>-1)return"__SpreadsheetTransformerResizeCT__";if(e.indexOf("__SpreadsheetTransformerResizeRT__")>-1)return"__SpreadsheetTransformerResizeRT__";if(e.indexOf("__SpreadsheetTransformerResizeLM__")>-1)return"__SpreadsheetTransformerResizeLM__";if(e.indexOf("__SpreadsheetTransformerResizeRM__")>-1)return"__SpreadsheetTransformerResizeRM__";if(e.indexOf("__SpreadsheetTransformerResizeLB__")>-1)return"__SpreadsheetTransformerResizeLB__";if(e.indexOf("__SpreadsheetTransformerResizeCB__")>-1)return"__SpreadsheetTransformerResizeCB__";if(e.indexOf("__SpreadsheetTransformerResizeRB__")>-1)return"__SpreadsheetTransformerResizeRB__"}_updateControlIterator(e){this._transformerControlMap.forEach((n,s)=>{const i=this._selectedObjectMap.get(s);if(!i)return!0;e(n,i)})}_updateControl(){this._updateControlIterator((e,n)=>{const{left:s,top:i}=n.getState();e.transformByState({left:s,top:i}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,n,s){this.disposeWithMe(g.toDisposable(e.onPointerEnterObserver.add(()=>{e.cursor=n}))),this.disposeWithMe(g.toDisposable(e.onPointerLeaveObserver.add(()=>{e.cursor=s})))}_clearControl(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear(),this.onClearControlObservable.notifyObservers(null)}_createControl(e){const{left:n,top:s,height:i,width:o,angle:a,scaleX:u,scaleY:l,skewX:c,skewY:h,flipX:f,flipY:d}=e.getState(),_=e.oKey,m=this._selectedObjectMap.size,v=[];if(this.borderEnabled){const E=new T1(`__SpreadsheetTransformerOutline___${m}`,{zIndex:m-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(o,i,u,l)});v.push(E)}if(this.resizeEnabled){const{left:E,top:x}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,o),T=new T1(`__SpreadsheetTransformerRotateLine___${m}`,{zIndex:m-1,evented:!1,left:E,top:x,height:this.rotateAnchorOffset,width:1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke}),{left:B,top:w}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",i,o),S=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),R=new T1(`__SpreadsheetTransformerRotate___${m}`,{zIndex:m-1,left:B,top:w,height:this.rotateSize,width:this.rotateSize,radius:this.rotateCornerRadius,strokeWidth:this.borderStrokeWidth*2,stroke:this.borderStroke});this._attachEventToRotate(R),this._attachHover(R,S,f1.DEFAULT),v.push(T,R)}if(this.resizeEnabled)for(let E=0,x=this.enabledAnchors.length;E<x;E++){if(this.enabledAnchors[E]!==1)continue;const B=sC[E],w=this._createResizeAnchor(B,e,m);this._attachEventToAnchor(w,B),v.push(w)}const y=new Xn(`__SpreadsheetTransformer___${m}`,...v);return y.zIndex=m,y.evented=!1,y.transformByState({left:n,top:s}),this.getScene().addObject(y,2),this._transformerControlMap.set(_,y),this.onCreateControlObservable.notifyObservers(y),y}_getTopScene(){var n;return(n=this.getScene().getEngine())==null?void 0:n.activeScene}_moving(e,n,s){const{scrollX:i,scrollY:o}=We(s),a=e-this._viewportScrollX+i,u=n-this._viewportScrollY+o,l=a-this._startOffsetX,c=u-this._startOffsetY;this._selectedObjectMap.forEach(h=>{h.translate(l+h.left,c+h.top)}),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:l,moveY:c,type:1}),this._startOffsetX=a,this._startOffsetY=u}_updateActiveObjectList(e,n){this._selectedObjectMap.has(e.oKey)||(n.ctrlKey||(this._selectedObjectMap.clear(),this._clearControl()),this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_addCancelObserver(e){e.onPointerDownObserver.remove(this._cancelFocusObserver),this._cancelFocusObserver=e.onPointerDownObserver.add(()=>{this._selectedObjectMap.clear(),this._clearControl(),e.onPointerDownObserver.remove(this._cancelFocusObserver)})}}const N1=class N1 extends g.Disposable{constructor(e){super();p(this,"_alreadyAttached",!1);p(this,"_onInputObserver");p(this,"_onPointerMove");p(this,"_onPointerDown");p(this,"_onPointerUp");p(this,"_onPointerEnter");p(this,"_onPointerLeave");p(this,"_onMouseWheel");p(this,"_onKeyDown");p(this,"_onKeyUp");p(this,"_scene");p(this,"_currentMouseEnterPicked");p(this,"_startingPosition",new M(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY));p(this,"_delayedTimeout",-1);p(this,"_delayedTripeTimeout",-1);p(this,"_doubleClickOccurred",0);p(this,"_tripleClickState",!1);p(this,"_currentObject");this._scene=e}dispose(){var e,n;super.dispose(),this.detachControl(),this._scene=null,(e=this._currentMouseEnterPicked)==null||e.dispose(),this._currentMouseEnterPicked=null,(n=this._currentObject)==null||n.dispose(),this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null}mouseLeaveEnterHandler(e){var s;const n=this._currentObject;if(n==null)(s=this._currentMouseEnterPicked)==null||s.triggerPointerLeave(e),this._currentMouseEnterPicked=null;else if(n!==this._currentMouseEnterPicked){const i=this._currentMouseEnterPicked;this._currentMouseEnterPicked=n,i==null||i.triggerPointerLeave(e),n==null||n.triggerPointerEnter(e)}}attachControl(e=!0,n=!0,s=!0,i=!0,o=!0,a=!0){const u=this._scene.getEngine();u&&(this._onPointerEnter=l=>{var c;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY),(c=this._currentObject)==null||c.triggerPointerMove(l),this.mouseLeaveEnterHandler(l)},this._onPointerLeave=l=>{l.pointerId===void 0&&(l.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(l)},this._onPointerMove=l=>{var h,f;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY);const c=(h=this._currentObject)==null?void 0:h.triggerPointerMove(l);this.mouseLeaveEnterHandler(l),this._checkDirectSceneEventTrigger(!c,this._currentObject)&&this._scene.onPointerMoveObserver.hasObservers()&&(this._scene.onPointerMoveObserver.notifyObservers(l),(f=this._scene.getEngine())==null||f.setRemainCapture())},this._onPointerDown=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerDown(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerDownObserver.hasObservers()&&this._scene.onPointerDownObserver.notifyObservers(l)},this._onPointerUp=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerUp(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(l),this._prePointerDoubleOrTripleClick(l)},this._onMouseWheel=l=>{const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerMouseWheel(l);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(l)}),this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onMouseWheelObserver.hasObservers()&&this._scene.onMouseWheelObserver.notifyObservers(l)},this._onKeyDown=l=>{this._scene.onKeyDownObservable.hasObservers()&&this._scene.onKeyDownObservable.notifyObservers(l)},this._onKeyUp=l=>{this._scene.onKeyUpObservable.hasObservers()&&this._scene.onKeyUpObservable.notifyObservers(l)},this._onInputObserver=u.onInputChangedObservable.add(l=>{const c=l;l.deviceType===B1.Keyboard&&(l.currentState===1&&this._onKeyDown(c),l.currentState===0&&this._onKeyUp(c)),(l.deviceType===B1.Mouse||l.deviceType===B1.Touch)&&(e&&l.inputIndex>=X.LeftClick&&l.inputIndex<=X.RightClick&&l.currentState===1&&this._onPointerDown(c),n&&l.inputIndex>=X.LeftClick&&l.inputIndex<=X.RightClick&&l.currentState===0&&this._onPointerUp(c),s&&(l.inputIndex===X.Horizontal||l.inputIndex===X.Vertical||l.inputIndex===X.DeltaHorizontal||l.inputIndex===X.DeltaVertical)?this._onPointerMove(c):i&&(l.inputIndex===X.MouseWheelX||l.inputIndex===X.MouseWheelY||l.inputIndex===X.MouseWheelZ)?this._onMouseWheel(c):o&&l.currentState===2?this._onPointerEnter(c):a&&l.currentState===3&&this._onPointerLeave(c))}),this.disposeWithMe(g.toDisposable(this._onInputObserver)),this._alreadyAttached=!0)}detachControl(){if(!this._alreadyAttached)return;const e=this._scene.getEngine();e&&(e.onInputChangedObservable.remove(this._onInputObserver),this._alreadyAttached=!1)}_getCurrentObject(e,n){var s;return(s=this._scene)==null?void 0:s.pick(M.FromArray([e,n]))}_checkDirectSceneEventTrigger(e,n){let s=!1;n==null&&(s=!0);let i=!0;if(n&&n.classType===V.BASE_OBJECT){const o=n.getScene();o&&(i=o.getParent().classType!==V.SCENE_VIEWER)}return!this._scene.evented&&e&&i||s}_isPointerSwiping(e,n){return Math.abs(this._startingPosition.x-e)>N1.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>N1.DragMovementThreshold}_prePointerDoubleOrTripleClick(e){var o,a,u,l;const{clientX:n,clientY:s}=e;this._isPointerSwiping(n,s)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},N1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((a=(o=this._scene)==null?void 0:o.pick(M.FromArray([e.offsetX,e.offsetY])))==null||a.triggerTripleClick(e),this._scene.onTripleClickObserver.hasObservers()&&this._scene.onTripleClickObserver.notifyObservers(e)),this._doubleClickOccurred===2&&((l=(u=this._scene)==null?void 0:u.pick(M.FromArray([e.offsetX,e.offsetY])))==null||l.triggerDblclick(e),this._scene.onDblclickObserver.hasObservers()&&this._scene.onDblclickObserver.notifyObservers(e),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},N1.TripleClickDelay)),this._startingPosition.x=n,this._startingPosition.y=s}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};p(N1,"DragMovementThreshold",2),p(N1,"LongPressDelay",500),p(N1,"DoubleClickDelay",500),p(N1,"TripleClickDelay",300),p(N1,"ExclusiveDoubleClickMode",!1);let f6=N1;class oC extends g.Disposable{constructor(e){super();p(this,"onTransformChangeObservable",new g.Observable);p(this,"onFileLoadedObservable",new g.Observable);p(this,"onPointerDownObserver",new g.Observable);p(this,"onPointerMoveObserver",new g.Observable);p(this,"onPointerUpObserver",new g.Observable);p(this,"onPointerEnterObserver",new g.Observable);p(this,"onPointerLeaveObserver",new g.Observable);p(this,"onDblclickObserver",new g.Observable);p(this,"onTripleClickObserver",new g.Observable);p(this,"onMouseWheelObserver",new g.Observable);p(this,"onKeyDownObservable",new g.Observable);p(this,"onKeyUpObservable",new g.Observable);p(this,"debounceParentTimeout",-1);p(this,"_sceneKey","");p(this,"_width",100);p(this,"_height",100);p(this,"_scaleX",1);p(this,"_scaleY",1);p(this,"_transform",new D1);p(this,"_evented",!0);this._sceneKey=e}get classType(){return V.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get evented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}enableEvent(){this._evented=!0}disableEvent(){this._evented=!1}on(e,n){return this[`on${e}Observer`].add(n.bind(this))}off(e,n){this[`on${e}Observer`].remove(n)}remove(e){this[`on${e}Observer`].clear()}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){}triggerMouseWheel(e){}triggerPointerMove(e){}triggerDblclick(e){}triggerTripleClick(e){}triggerPointerDown(e){}triggerPointerOut(e){}triggerPointerLeave(e){}triggerPointerOver(e){}triggerPointerEnter(e){}renderObjects(e,n){}render(e){}getParent(){}dispose(){this.onTransformChangeObservable.clear(),this.onFileLoadedObservable.clear(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onPointerEnterObserver.clear(),this.onPointerLeaveObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onMouseWheelObserver.clear(),this.onKeyDownObservable.clear(),this.onKeyUpObservable.clear(),super.dispose()}getObject(e){}addObject(e,n=1){}addObjects(e,n=1){}getEngine(){}setObjectBehavior(e){}applyTransformer(e){}makeDirtyNoParent(e=!0){return this}makeDirty(e=!0){return this}pick(e){}getViewports(){return[]}addViewport(...e){}removeViewport(e){}getAncestorScale(){return{scaleX:1,scaleY:1}}getPrecisionScale(){return{scaleX:1,scaleY:1}}setCursor(e){}resetCursor(){}}class Vn extends oC{constructor(e,n,s){var i;super(e);p(this,"_layers",[]);p(this,"_viewports",[]);p(this,"_cursor",f1.DEFAULT);p(this,"_defaultCursor",f1.DEFAULT);p(this,"_addObject$",new o1.BehaviorSubject(this));p(this,"addObject$",this._addObject$.asObservable());p(this,"_transformer");p(this,"_transformerOpenState",!1);p(this,"_inputManager");if(this._parent=n,s&&this.transformByState(s),this._parent.classType===V.ENGINE){const o=this._parent;o.addScene(this),o.hasActiveScene()||o.setActiveScene(e),this._inputManager=new f6(this)}else this._parent.classType===V.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(g.toDisposable((i=this._parent)==null?void 0:i.onTransformChangeObservable.add(o=>{this._setTransForm()})))}get ancestorScaleX(){const e=this.getParent();let n=1;return e.classType===V.SCENE_VIEWER&&(n=e.ancestorScaleX),this.scaleX*n}get ancestorScaleY(){const e=this.getParent();let n=1;return e.classType===V.SCENE_VIEWER&&(n=e.ancestorScaleY),this.scaleY*n}set cursor(e){this.setCursor(e)}attachControl(e=!0,n=!0,s=!0,i=!0){var o;if(this._parent.classType===V.ENGINE)return(o=this._inputManager)==null||o.attachControl(e,n,s,i),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){var n;return this._layers.forEach(s=>{s.makeDirty(e)}),this._parent.classType===V.SCENE_VIEWER&&((n=this._parent)==null||n.makeDirty(e)),this}makeDirtyNoParent(e=!0){return this._layers.forEach(n=>{n.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(n=>{this.getLayer(n).enableCache()})}disableLayerCache(...e){e.forEach(n=>{this.getLayer(n).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;const n=this.getEngine();n&&n.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,n){const s=this.width;e!==void 0&&(this.width=e);const i=this.height;return n!==void 0&&(this.height=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.resize,value:{width:this.width,height:this.height},preValue:{width:s,height:i}}),this}scale(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX=e);const i=this.scaleY;return n!==void 0&&(this.scaleY=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}scaleBy(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX+=e);const i=this.scaleY;return n!==void 0&&(this.scaleY+=n),this.scaleX=Qt(this.scaleX,1),this.scaleY=Qt(this.scaleY,1),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}transformByState(e){const n=Object.keys(e),s={};n.length!==0&&(n.forEach(i=>{e[i]!==void 0&&(s[i]=this[i],this[i]=e[i])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:c1.all,value:e,preValue:s}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===V.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===V.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(const n of this._layers)if(n.zIndex===e)return n;return this._createDefaultLayer(e)}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let n=0;n<this._layers.length;n++){const s=this._layers[n];s.zIndex>=e&&(e=s.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObject(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParentObserver.notifyObservers(this)}addObjects(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObjects(e),this._addObject$.next(this),this}removeObject(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObject(e);return this}removeObjects(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObjects(e);return this}getAllObjects(){const e=[];this._layers.sort(g.sortRules);for(const n of this._layers)e.push(...n.getObjectsByOrder());return e}getAllObjectsByOrder(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrder().sort(s));return n}getAllObjectsByOrderForPick(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrderForPick().sort(s));return n}getObject(e){for(const n of this._layers){const s=n.getObjectsByOrder();for(const i of s)if(i.oKey===e)return i}}fuzzyMathObjects(e){const n=[];for(const s of this._layers){const i=s.getObjectsByOrder();for(const o of i)o.oKey.indexOf(e)>-1&&i.push(o)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let n=0,s=this._viewports.length;n<s;n++){const i=this._viewports[n];if(i.viewPortKey===e)return this._viewports.splice(n,1),i}}getViewports(){return this._viewports}getViewport(e){for(const n of this._viewports)if(n.viewPortKey===e)return n}changeObjectOrder(){}render(e){var s;if(!this.isDirty())return;!e&&((s=this.getEngine())==null||s.clearCanvas());const n=this._layers.sort(g.sortRules);for(let i=0,o=n.length;i<o;i++)n[i].render(e,i===o-1)}async requestRender(e){return new Promise((n,s)=>{this.render(e),Dt(n)})}openTransformer(e){this._transformer||(this._transformer=new iC(this,e)),this._transformerOpenState=!0}closeTransformer(e=!1){e&&(this._transformer=null),this._transformerOpenState=!1}applyTransformer(e){var n;this._transformerOpenState&&((n=this._transformer)==null||n.attachTo(e))}getTransformer(){return this._transformer}getActiveViewportByRelativeCoord(e){return this._viewports.find(n=>n.isHit(e))}getActiveViewportByCoord(e){return e=this.getRelativeCoord(e),this.getActiveViewportByRelativeCoord(e)}getScrollXYByRelativeCoords(e,n){return n||(n=this.getActiveViewportByRelativeCoord(e)),n?this.getScrollXY(n):{x:0,y:0}}getScrollXY(e){let n=0,s=0;if(e){const i=e.actualScrollX||0,o=e.actualScrollY||0;n+=i,s+=o}return{x:n,y:s}}getRelativeCoord(e){let n=this.getParent();const s=[];for(;n;)(n.classType===V.SCENE||n.classType===V.SCENE_VIEWER)&&s.push(n),n=(n==null?void 0:n.getParent)&&(n==null?void 0:n.getParent());s.reverse();for(const i of s)if(i.classType===V.SCENE){const a=i.getActiveViewportByCoord(e);if(a){const u=a.actualScrollX||0,l=a.actualScrollY||0;e=e.addByPoint(u,l)}}else i.classType===V.SCENE_VIEWER&&(e=i.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getAncestorScale(){let{scaleX:e=1,scaleY:n=1}=this;return this.classType===V.SCENE_VIEWER&&(e=this.ancestorScaleX||1,n=this.ancestorScaleY||1),{scaleX:e,scaleY:n}}getPrecisionScale(){var i;const e=((i=this.getEngine())==null?void 0:i.getPixelRatio())||1,{scaleX:n,scaleY:s}=this.getAncestorScale();return{scaleX:n*e,scaleY:s*e}}dispose(){var s,i,o;let e=[...this.getLayers()];e.forEach(a=>{a.dispose()}),e=[];let n=[...this.getViewports()];n.forEach(a=>{a.dispose()}),n=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(s=this.onTransformChangeObservable)==null||s.clear(),(i=this._inputManager)==null||i.dispose(),this._inputManager=null,(o=this._transformer)==null||o.dispose(),this._transformer=null,this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onPointerEnterObserver.clear(),this.onPointerLeaveObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onMouseWheelObserver.clear(),this.onKeyDownObservable.clear(),this.onKeyUpObservable.clear(),this._addObject$.complete(),super.dispose()}pick(e){let n=this.getActiveViewportByCoord(e);if(n||(n=this._viewports[0]),!this.evented||!n)return;const s=n.pickScrollBar(e);if(s)return s;const i=n.getRelativeVector(e);let o=null;const a=this.getAllObjectsByOrderForPick().reverse(),u=a.length;for(let l=0;l<u;l++){const c=a[l];if(!c.visible||!c.evented||c.classType===V.GROUP)continue;let h=i;if(c.isInGroup&&c.parent.classType===V.GROUP){const{cumLeft:f,cumTop:d}=this._getGroupCumLeftRight(c);h=h.clone().add(M.FromArray([-f,-d]))}if(c.isHit(h)){if(c.classType===V.SCENE_VIEWER){const f=c.pick(h);f?o=f:o=c.getActiveSubScene()}else o=c;break}else if(c.classType===V.SCENE_VIEWER&&c.allowSelectedClipElement()){const f=c.pick(h);if(f){o=f;break}}}return!o&&this._parent.classType===V.ENGINE?this:o}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){var n,s;return!((n=this.onPointerUpObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerUp(e),!1):!0}triggerMouseWheel(e){var n,s;return!((n=this.onMouseWheelObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerMouseWheel(e),!1):!0}triggerPointerMove(e){var n,s;return!((n=this.onPointerMoveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerMove(e),!1):!0}triggerDblclick(e){var n,s;return!((n=this.onDblclickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerDblclick(e),!1):!0}triggerTripleClick(e){var n,s;return!((n=this.onTripleClickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerTripleClick(e),!1):!0}triggerPointerDown(e){var n,s;return!((n=this.onPointerDownObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerDown(e),!1):!0}triggerPointerOut(e){var n;return this._parent.classType===V.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOut(e),!1):!0}triggerPointerLeave(e){var n,s;return!((n=this.onPointerLeaveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerLeave(e),!1):!0}triggerPointerOver(e){var n;return this._parent.classType===V.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOver(e),!1):!0}triggerPointerEnter(e){var n,s;return!((n=this.onPointerEnterObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===V.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerEnter(e),!1):!0}_createDefaultLayer(e=1){const n=new Wn(this,[],e);return this.addLayer(n),n}_setTransForm(){const e=D1.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY});this.transform=e,this.getViewports().forEach(n=>{n.resetSizeAndScrollBar()}),this.makeDirty(!0)}_getGroupCumLeftRight(e){let n=e.parent,s=0,i=0;for(;n.classType===V.GROUP;){const{left:o,top:a}=n;s+=o,i+=a,n=n.parent}return{cumLeft:s,cumTop:i}}}class Kn extends g.Disposable{constructor(e,n){super();p(this,"isRenderUnit");p(this,"_injector");p(this,"_renderControllers",[]);p(this,"_renderContext");this._injector=e.createChild(),this._renderContext={unit:n.unit,unitId:n.unit.getUnitId(),type:n.unit.type,components:new Map,mainComponent:null,isMainScene:n.isMainScene,engine:n.engine,scene:n.scene}}get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}dispose(){this._renderControllers.forEach(e=>e.dispose()),this._renderControllers.length=0}addRenderControllers(e){this._initControllers(e)}_initControllers(e){e.map(n=>this._injector.createInstance(n,this._renderContext)).forEach(n=>this._renderControllers.push(n))}}var aC=Object.defineProperty,uC=Object.getOwnPropertyDescriptor,lC=(r,t,e,n)=>{for(var s=n>1?void 0:n?uC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&aC(t,e,s),s},w4=(r,t)=>(e,n)=>t(e,n,r);const cC={width:1500,height:1e3},hC="_UNIVER_SCENE_";exports.RenderManagerService=class extends g.Disposable{constructor(e,n){super();p(this,"_defaultEngine");p(this,"_currentUnitId","");p(this,"_renderMap",new Map);p(this,"_currentRender$",new o1.BehaviorSubject(this._currentUnitId));p(this,"currentRender$",this._currentRender$.asObservable());p(this,"_createRender$",new o1.BehaviorSubject(this._currentUnitId));p(this,"createRender$",this._createRender$.asObservable());p(this,"_renderControllers",new Map);this._injector=e,this._univerInstanceService=n}get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new f2),this._defaultEngine}dispose(){super.dispose(),this._renderMap.forEach(e=>{this._disposeItem(e)}),this._renderControllers.clear(),this._renderMap.clear(),this._currentRender$.complete()}registerRenderControllers(e,n){this._renderControllers.has(e)||this._renderControllers.set(e,new Set);const s=this._renderControllers.get(e);s.add(n);for(const[i,o]of this._renderMap)this._univerInstanceService.getUnitType(i)===e&&o.addRenderControllers([n]);return g.toDisposable(()=>s.delete(n))}_getRenderControllersForType(e){var n;return Array.from((n=this._renderControllers.get(e))!=null?n:[])}createRenderWithParent(e,n){const s=this.getRenderById(n);if(s==null)throw new Error("parent render is null");const{scene:i,engine:o}=s,a=this._createRender(e,o,!1),u=a.scene,l=new s0(e);return l.addSubScene(u),i.addObject(l),a}createRenderWithEngine(e,n){return this._createRender(e,n,!1)}create(e){this._createRender$.next(e)}createRender(e){const n=new f2;return this._createRender(e,n)}_createRender(e,n,s=!0){const i=this.getRenderById(e);let o=!0;i!=null&&i.engine===n&&(o=!1),this._disposeItem(i,o);const{width:a,height:u}=cC,l=new Vn(hC+e,n,{width:a,height:u}),c=this._univerInstanceService.getUnit(e);let h;if(c){const f=this._univerInstanceService.getUnitType(e),d=this._getRenderControllersForType(f);h=new Kn(this._injector,{unit:c,engine:n,scene:l,isMainScene:s}),h.addRenderControllers(d)}else h={unitId:e,engine:n,scene:l,mainComponent:null,components:new Map,isMainScene:s};return this.addRenderItem(e,h),h}addRenderItem(e,n){this._renderMap.set(e,n)}removeRender(e){var s;const n=this._renderMap.get(e);n!=null&&(this._disposeItem(n),(s=n.dispose)==null||s.call(n)),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}setCurrent(e){this._currentUnitId=e,this._currentRender$.next(e)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,n=!0){if(e==null)return;const{engine:s,scene:i,components:o,mainComponent:a}=e;o==null||o.forEach(u=>{u.dispose()}),a==null||a.dispose(),i.dispose(),n&&s.dispose()}};exports.RenderManagerService=lC([w4(0,ae.Inject(ae.Injector)),w4(1,g.IUniverInstanceService)],exports.RenderManagerService);const qn=ae.createIdentifier("engine-render.render-manager.service");var fC=Object.defineProperty,dC=Object.getOwnPropertyDescriptor,pC=(r,t,e,n)=>{for(var s=n>1?void 0:n?dC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&fC(t,e,s),s},gC=(r,t)=>(e,n)=>t(e,n,r);const Zn=ae.createIdentifier("univer.render-engine"),DC="render-engine";var z2;exports.UniverRenderEnginePlugin=(z2=class extends g.Plugin{constructor(t,e){super(),this._injector=e,this._injector.add([Zn,{useFactory:()=>new f2}]),this._injector.add([qn,{useClass:exports.RenderManagerService}])}},p(z2,"pluginName",DC),z2);exports.UniverRenderEnginePlugin=pC([gC(1,ae.Inject(ae.Injector))],exports.UniverRenderEnginePlugin);const Jn=["radius"];class i0 extends Pe{constructor(e,n){super(e,n);p(this,"_radius");this._radius=(n==null?void 0:n.radius)||10,this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;if(i===c1.resize||i===c1.all){const u=Math.min(this.width,this.height);this._radius=u/2,this.width=u,this.height=u,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,n){let{radius:s}=n;s=s!=null?s:10,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath(),e.arc(s,s,s||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return Jn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){i0.drawWith(e,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class _C{}class vC{}class d2 extends Pe{constructor(e,n){super(e,n);p(this,"_props");p(this,"_native");this._props={autoWidth:!1,autoHeight:!1,...n},n.image?(this._native=n.image,this._init()):n.url&&(this._native=document.createElement("img"),this._native.src=n.url,this._native.onload=()=>{var s,i,o;(s=n.success)==null||s.call(n),this._init(),this.makeDirty(!0),(o=(i=this.getEngine())==null?void 0:i.activeScene)==null||o.onFileLoadedObservable.notifyObservers(e)},this._native.onerror=()=>{n.fail?n.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this._init(),this.makeDirty(!0))})}static drawWith(e,n){var s;if((s=n._native)!=null&&s.complete){const{width:i,height:o}=n;try{e.drawImage(n._native,0,0,i,o)}catch(a){console.error(a)}}}static create(e,n,s){return new d2(e,{url:n,success:s})}getPictureProps(){return this._props}_draw(e){d2.drawWith(e,this)}_init(){var e,n;this._props.autoWidth&&this.resize(((e=this._native)==null?void 0:e.width)||0),this._props.autoHeight&&this.resize(void 0,((n=this._native)==null?void 0:n.height)||0)}}const Qn=["pointsGroup"];class y2 extends Pe{constructor(e,n){super(e,n);p(this,"_pointsGroup");this._pointsGroup=(n==null?void 0:n.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;(i===c1.resize||i===c1.all)&&this.resizePolygon(a)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,n){let{pointsGroup:s}=n;s=s!=null?s:[[]],n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath();for(const i of s){e.moveTo(i[0].x,i[0].y);for(let o=1;o<i.length;o++){const a=i[o];e.lineTo(a.x,a.y)}}e.closePath(),this._renderPaintInOrder(e,n)}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){const{left:n,top:s,width:i,height:o}=this._getSelfRect(),{width:a,height:u}=e;let l,c;a?l=this.width-a:l=0,u?c=this.height-u:c=0;const h=l/i,f=c/o;this.scaleX+=h,this.scaleY+=f,this.left=this.left-n*h,this.top=this.top-s*f,this._setTransForm()}toJson(){const e={};return Qn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}_draw(e){y2.drawWith(e,this)}_setFixBoundingBox(){const{width:e,height:n,left:s,top:i}=this._getSelfRect();this.left=this.left+s,this.top=this.top+i,this.width=e,this.height=n;const o=this.pointsGroup;for(const a of o)for(const u of a)u.x-=s,u.y-=i;this._setTransForm()}_getSelfRect(){const e=this.pointsGroup;let n=e[0][0].x,s=e[0][0].x,i=e[0][0].y,o=e[0][0].y;for(const a of e)for(const u of a)n=Math.min(n,u.x),s=Math.max(s,u.x),i=Math.min(i,u.y),o=Math.max(o,u.y);return{left:n,top:i,width:s-n,height:o-i}}}const d6=["text","richText"];class mC extends ue{constructor(e,n,s){super(n);p(this,"_documentData");p(this,"_documentSkeleton");p(this,"_documents");p(this,"_ff");p(this,"_fs",12);p(this,"_it",g.BooleanNumber.FALSE);p(this,"_bl",g.BooleanNumber.FALSE);p(this,"_ul",{s:g.BooleanNumber.FALSE});p(this,"_st",{s:g.BooleanNumber.FALSE});p(this,"_ol",{s:g.BooleanNumber.FALSE});p(this,"_bg");p(this,"_bd");p(this,"_cl");this._localeService=e,s!=null&&s.richText?this._documentData=s.richText:s&&(this._fs=s.fs,this._ff=s.ff,this._it=s.it,this._bl=s.bl,this._ul=s.ul,this._st=s.st,this._ol=s.ol,this._bg=s.bg,this._bd=s.bd,this._cl=s.cl,this._documentData=this._convertToDocumentData(s.text||""));const i=new g.DocumentDataModel(this._documentData),o=new ge(i);this._documentSkeleton=et.create(o,this._localeService),this._documents=new Mt(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(s),this.onTransformChangeObservable.add(a=>{const{type:u}=a;if(u===c1.resize||u===c1.all){i.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();const l=this.getDocsSkeletonPageSize();this.height=(l==null?void 0:l.height)||this.height,this._setTransForm()}})}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var a;const e=(a=this._documentSkeleton)==null?void 0:a.getSkeletonData();if(!e)return;const{pages:n}=e,s=n[n.length-1],{width:i,height:o}=s;return{width:i,height:o}}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;d6.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:o,bottom:a,right:u}=n.viewBound;if(this.width+this.strokeWidth<o||u<0||this.height+this.strokeWidth<i||a<0)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){const e={};return d6.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){const n=e.length;return{id:"d",body:{dataStream:`${e}${g.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:n}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();const n=this.getDocsSkeletonPageSize();this.transformByState({width:(n==null?void 0:n.width)||0,height:(n==null?void 0:n.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}}class bC extends g.Disposable{constructor(){super(...arguments);p(this,"enableHorizontal",!0);p(this,"enableVertical",!0);p(this,"horizontalThumbWidth",0);p(this,"horizontalMinusMiniThumb",0);p(this,"horizontalBarWidth",0);p(this,"verticalThumbHeight",0);p(this,"verticalBarHeight",0);p(this,"verticalMinusMiniThumb",0);p(this,"horizonBarRect");p(this,"horizonThumbRect");p(this,"verticalBarRect");p(this,"verticalThumbRect");p(this,"placeholderBarRect")}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalBarWidth-this.horizontalThumbWidth:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalBarHeight-this.verticalThumbHeight:0}get ratioScrollX(){if(this.enableHorizontal===!1||this.horizontalThumbWidth===void 0||this.horizontalBarWidth===void 0)return 1;const e=(this.horizontalThumbWidth-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalBarWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this.enableVertical===!1||this.verticalThumbHeight===void 0||this.verticalBarHeight===void 0)return 1;const e=(this.verticalThumbHeight-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalBarHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){const e=this.horizontalBarWidth-this.horizontalThumbWidth;if(e===0)return 0;const n=this.horizontalBarWidth-(this.horizontalThumbWidth-this.horizontalMinusMiniThumb);return n===0?0:e/n}get miniThumbRatioY(){const e=this.verticalBarHeight-this.verticalThumbHeight;if(e===0)return 0;const n=this.verticalBarHeight-(this.verticalThumbHeight-this.verticalMinusMiniThumb);return n===0?0:e/n}pick(e){var n,s,i,o;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(e)?this.verticalBarRect:null}dispose(){var e,n,s,i,o;(e=this.horizonBarRect)==null||e.dispose(),(n=this.horizonThumbRect)==null||n.dispose(),(s=this.verticalBarRect)==null||s.dispose(),(i=this.verticalThumbRect)==null||i.dispose(),(o=this.placeholderBarRect)==null||o.dispose(),this.horizonBarRect=null,this.horizonThumbRect=null,this.verticalBarRect=null,this.verticalThumbRect=null,this.placeholderBarRect=null}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}resize(e=0,n=0,s=0,i=0){}makeDirty(e){}render(e,n=0,s=0){}}const Ge=17;class o0 extends bC{constructor(e,n){super();p(this,"_view");p(this,"_mainScene");p(this,"_lastX",-1);p(this,"_lastY",-1);p(this,"_isHorizonMove",!1);p(this,"_isVerticalMove",!1);p(this,"_horizonPointerMoveObserver");p(this,"_horizonPointerUpObserver");p(this,"_verticalPointerMoveObserver");p(this,"_verticalPointerUpObserver");p(this,"barSize",14);p(this,"barBorder",1);p(this,"thumbMargin",2);p(this,"thumbLengthRatio",1);p(this,"thumbBackgroundColor","#cccccc");p(this,"thumbHoverBackgroundColor","#b2b2b2");p(this,"thumbActiveBackgroundColor","#999999");p(this,"barBackgroundColor","rgba(255,255,255,0.5)");p(this,"barBorderColor","rgba(255,255,255,0.7)");e||console.warn("Missing viewport"),this.setProps(n),this._view=e,this._initialScrollRect(),this._view.setScrollBar(this)}static attachTo(e,n){return new o0(e,n)}dispose(){var e,n,s,i;super.dispose(),(e=this._horizonPointerMoveObserver)==null||e.dispose(),(n=this._horizonPointerUpObserver)==null||n.dispose(),(s=this._verticalPointerMoveObserver)==null||s.dispose(),(i=this._verticalPointerUpObserver)==null||i.dispose(),this._mainScene=null,this._view.removeScrollBar()}render(e,n=0,s=0){const{scrollX:i,scrollY:o}=this._view;e.save();const u=new D1([1,0,0,1,n,s]).getMatrix();e.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this.enableHorizontal&&(this.horizonBarRect.render(e),this.horizonThumbRect.translate(i).render(e)),this.enableVertical&&(this.verticalBarRect.render(e),this.verticalThumbRect.translate(void 0,o).render(e)),this.enableHorizontal&&this.enableVertical&&this.placeholderBarRect.render(e),e.restore()}resize(e=0,n=0,s=0,i=0){var o;e===0&&e===0||(this._resizeHorizontal(e,n,s),this._resizeVertical(e,n,i),this.enableHorizontal&&this.enableVertical&&((o=this.placeholderBarRect)==null||o.transformByState({left:e-this.barSize,top:n-this.barSize,width:this.barSize-this.barBorder,height:this.barSize-this.barBorder})))}makeDirty(e){var n,s,i,o,a;(n=this.horizonBarRect)==null||n.makeDirty(e),(s=this.horizonThumbRect)==null||s.makeDirty(e),(i=this.verticalBarRect)==null||i.makeDirty(e),(o=this.verticalThumbRect)==null||o.makeDirty(e),(a=this.placeholderBarRect)==null||a.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._view.scene).makeDirty(e)}pick(e){var n,s,i,o;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(e)?this.verticalBarRect:null}setProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{e[s]!==void 0&&(this[`${s}`]=e[s])})}_resizeHorizontal(e,n,s){var i,o,a,u,l;this.enableHorizontal&&(this.horizontalMinusMiniThumb=0,this.horizontalBarWidth=e-(this.enableVertical?this.barSize:0)-this.barBorder,this.horizontalThumbWidth=this.horizontalBarWidth*(this.horizontalBarWidth-this.barBorder)/s*this.thumbLengthRatio,this.horizontalThumbWidth<Ge&&(this.horizontalMinusMiniThumb=Ge-this.horizontalThumbWidth,this.horizontalThumbWidth=Ge),(i=this.horizonBarRect)==null||i.transformByState({left:0,top:n-this.barSize,width:this.horizontalBarWidth,height:this.barSize-this.barBorder}),this.horizontalThumbWidth>=e-this.barSize?(o=this.horizonThumbRect)==null||o.setProps({visible:!1}):((a=this.horizonThumbRect)!=null&&a.visible||(u=this.horizonThumbRect)==null||u.setProps({visible:!0}),(l=this.horizonThumbRect)==null||l.transformByState({left:this._view.scrollX,top:n-this.barSize+this.thumbMargin,width:this.horizontalThumbWidth,height:this.barSize-this.thumbMargin*2})))}_resizeVertical(e,n,s){var i,o,a,u,l;this.enableVertical&&(this.verticalMinusMiniThumb=0,this.verticalBarHeight=n-(this.enableHorizontal?this.barSize:0)-this.barBorder,this.verticalThumbHeight=this.verticalBarHeight*this.verticalBarHeight/s*this.thumbLengthRatio,this.verticalThumbHeight<Ge&&(this.verticalMinusMiniThumb=Ge-this.verticalThumbHeight,this.verticalThumbHeight=Ge),(i=this.verticalBarRect)==null||i.transformByState({left:e-this.barSize,top:0,width:this.barSize-this.barBorder,height:this.verticalBarHeight}),this.verticalThumbHeight>=n-this.barSize?(o=this.verticalThumbRect)==null||o.setProps({visible:!1}):((a=this.verticalThumbRect)!=null&&a.visible||(u=this.verticalThumbRect)==null||u.setProps({visible:!0}),(l=this.verticalThumbRect)==null||l.transformByState({left:e-this.barSize+this.thumbMargin,top:this._view.scrollY,width:this.barSize-this.thumbMargin*2,height:this.verticalThumbHeight})))}_initialScrollRect(){this.enableHorizontal&&(this.horizonBarRect=new T1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new T1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new T1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new T1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new T1("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor})),this._initialVerticalEvent(),this._initialHorizontalEvent()}_initialVerticalEvent(){var n,s,i,o;if(!this.enableVertical)return;const e=this._mainScene||this._view.scene;(n=this.verticalThumbRect)==null||n.on(j1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(s=this.verticalThumbRect)==null||s.on(j1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(j1.PointerDown,(a,u)=>{const l=a;this._view.scrollTo({y:l.offsetY-this._view.top-this.verticalThumbHeight/2}),u.stopPropagation()}),(o=this.verticalThumbRect)==null||o.on(j1.PointerDown,(a,u)=>{const l=a,c=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,c==null||c.setProps({fill:this.thumbActiveBackgroundColor}),e.disableEvent(),this.makeViewDirty(!0),u.stopPropagation()}),this._verticalPointerMoveObserver=e.onPointerMoveObserver.add((a,u)=>{var c;const l=a;this._isVerticalMove&&(this._view.scrollByBar({y:l.offsetY-this._lastY}),this._lastY=l.offsetY,(c=e.getEngine())==null||c.setRemainCapture())}),this._verticalPointerUpObserver=e.onPointerUpObserver.add((a,u)=>{const l=this.verticalThumbRect;this._isVerticalMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}_hoverFunc(e,n){return(s,i)=>{if(this._isHorizonMove||this._isVerticalMove)return;n.setProps({fill:e}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){var n,s,i,o;if(!this.enableHorizontal)return;const e=this._mainScene||this._view.scene;(n=this.horizonThumbRect)==null||n.on(j1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(s=this.horizonThumbRect)==null||s.on(j1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(j1.PointerDown,(a,u)=>{const l=a;this._view.scrollTo({x:l.offsetX-this._view.left-this.horizontalThumbWidth/2}),u.stopPropagation()}),(o=this.horizonThumbRect)==null||o.on(j1.PointerDown,(a,u)=>{var c;const l=a;this._isHorizonMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,(c=this.horizonThumbRect)==null||c.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.disableEvent(),u.stopPropagation()}),this._horizonPointerMoveObserver=e.onPointerMoveObserver.add((a,u)=>{var c;const l=a;this._isHorizonMove&&(this._view.scrollByBar({x:l.offsetX-this._lastX}),this._lastX=l.offsetX,(c=e.getEngine())==null||c.setRemainCapture())}),this._horizonPointerUpObserver=e.onPointerUpObserver.add((a,u)=>{const l=this.horizonThumbRect;this._isHorizonMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}}const er=["checked"];class a0 extends Pe{constructor(e,n){super(e,n);p(this,"_checked",!1);g.Tools.isDefine(n.checked)&&(this._checked=n.checked)}get checked(){return this._checked}static drawWith(e,n){const{width:s=16,height:i=16,fill:o,checked:a,top:u=0,left:l=0}=n,c=new Path2D("M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z"),h=new Path2D("M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z");e.save(),e.translate(l,u),e.scale(s/16,i/16),o&&(e.fillStyle=o),a?e.fill(h,"evenodd"):e.fill(c,"evenodd"),e.restore()}_draw(e){a0.drawWith(e,this)}toJson(){const e={};return er.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}}function yC(r,t){if(t.startRow>=r.endRow||t.endRow<=r.startRow||t.startColumn>=r.endColumn||t.endColumn<=r.startColumn)return[r];const e=[];t.startRow>r.startRow&&e.push({startRow:r.startRow,startColumn:r.startColumn,endRow:t.startRow,endColumn:r.endColumn}),t.endRow<r.endRow&&e.push({startRow:t.endRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn});const n=Math.max(r.startRow,t.startRow),s=Math.min(r.endRow,t.endRow);return t.startColumn>r.startColumn&&e.push({startRow:n,startColumn:r.startColumn,endRow:s,endColumn:t.startColumn}),t.endColumn<r.endColumn&&e.push({startRow:n,startColumn:t.endColumn,endRow:s,endColumn:r.endColumn}),e}const FC=3;class CC{constructor(t,e,n){p(this,"scrollX",0);p(this,"scrollY",0);p(this,"actualScrollX",0);p(this,"actualScrollY",0);p(this,"onMouseWheelObserver",new g.Observable);p(this,"onScrollAfterObserver",new g.Observable);p(this,"onScrollBeforeObserver",new g.Observable);p(this,"onScrollStopObserver",new g.Observable);p(this,"onScrollByBarObserver",new g.Observable);p(this,"_viewPortKey","");p(this,"_topOrigin",0);p(this,"_leftOrigin",0);p(this,"_bottomOrigin",0);p(this,"_rightOrigin",0);p(this,"_widthOrigin");p(this,"_heightOrigin");p(this,"_top",0);p(this,"_left",0);p(this,"_bottom",0);p(this,"_right",0);p(this,"_width");p(this,"_height");p(this,"_scene");p(this,"_scrollBar");p(this,"_isWheelPreventDefaultX",!1);p(this,"_isWheelPreventDefaultY",!1);p(this,"_scrollStopNum",0);p(this,"_preScrollX",0);p(this,"_preScrollY",0);p(this,"_renderClipState",!0);p(this,"_active",!0);p(this,"_paddingStartX",0);p(this,"_paddingEndX",0);p(this,"_paddingStartY",0);p(this,"_paddingEndY",0);p(this,"_isRelativeX",!1);p(this,"_isRelativeY",!1);p(this,"_preViewportBound");this._viewPortKey=t,this._scene=e,(n==null?void 0:n.active)!=null&&(this._active=n.active),this._scene.addViewport(this),this._setWithAndHeight(n),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this._resizeCacheCanvasAndScrollBar()}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewPortKey(){return this._viewPortKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(t){this._width=t}set height(t){this._height=t}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set top(t){var e,n;this._topOrigin=t,this._top=se(t,(n=(e=this._scene)==null?void 0:e.getParent())==null?void 0:n.height)}set left(t){var e;this._leftOrigin=t,this._left=se(t,(e=this.scene.getParent())==null?void 0:e.width)}set bottom(t){var e;this._bottomOrigin=t,this._bottom=se(t,(e=this.scene.getParent())==null?void 0:e.height)}set right(t){var e;this._rightOrigin=t,this._right=se(t,(e=this.scene.getParent())==null?void 0:e.width)}enable(){this._active=!0}disable(){this._active=!1}resetSizeAndScrollBar(){this._resizeCacheCanvasAndScrollBar()}setScrollBar(t){this._scrollBar=t,this._resizeCacheCanvasAndScrollBar()}removeScrollBar(){this._scrollBar=null}resize(t){Object.keys(t).length!==0&&(this._setWithAndHeight(t),this._resizeCacheCanvasAndScrollBar())}setPadding(t){const{startX:e=0,startY:n=0,endX:s=0,endY:i=0}=t;this._paddingStartX=e,this._paddingEndX=s,this._paddingStartY=n,this._paddingEndY=i,this._resizeCacheCanvasAndScrollBar()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollTo(t,e=!0){return this._scroll(0,t,e)}scrollBy(t,e=!0){return this._scroll(1,t,e)}scrollByBar(t,e=!0){var i,o;this._scroll(1,t,e);const{x:n,y:s}=t;this.onScrollByBarObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:n,y:s,actualScrollX:this.actualScrollX,actualScrollY:this.actualScrollY,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:e})}scrollByOffset(t=0,e=0,n=!0){if(!this._scrollBar||this.isActive===!1)return;const s=t+this._paddingStartX,i=e+this._paddingStartY,o=this.getBarScroll(s,i);return this.scrollBy(o,n)}getBarScroll(t,e){let n=t-this._paddingStartX,s=e-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,s*=this._scrollBar.ratioScrollY;const{scaleX:i,scaleY:o}=this.scene;n*=i,s*=o}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(s=this.scrollY);return{x:n,y:s}}getActualScroll(t,e){let n=t,s=e;if(this._scrollBar){const{scaleX:a,scaleY:u}=this.scene;this._scrollBar.ratioScrollX!==0?(n/=this._scrollBar.ratioScrollX,n/=a):this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this._scrollBar.ratioScrollY!==0?(s/=this._scrollBar.ratioScrollY,s/=u):this.actualScrollY!==void 0?s=this.actualScrollY:s=0}else this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this.actualScrollY!==void 0?s=this.actualScrollY:s=0;const{scaleX:i,scaleY:o}=this._scene.getPrecisionScale();return{x:q(n+this._paddingStartX,i),y:q(s+this._paddingStartY,o)}}getTransformedScroll(){const t=this.scrollX,e=this.scrollY;return this.getActualScroll(t,e)}getScrollBar(){return this._scrollBar}updateScroll(t){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX:e,scrollY:n,actualScrollX:s,actualScrollY:i}=t;return e!==void 0&&(this.scrollX=e),n!==void 0&&(this.scrollY=n),s!==void 0&&(this.actualScrollX=s),i!==void 0&&(this.actualScrollY=i),this}getScrollBarTransForm(){const t=D1.create();return t.multiply(D1.create([1,0,0,1,this._left,this._top])),t}render(t,e=[],n=!1){var c;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const s=t||((c=this._scene.getEngine())==null?void 0:c.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(D1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const o=s,a=i.getMatrix(),u=this.getScrollBarTransForm().getMatrix();if(o.save(),this._renderClipState){o.beginPath();const{scaleX:h,scaleY:f}=this._getBoundScale(a[0],a[3]);o.rect(this.left,this.top,(this.width||0)*h,(this.height||0)*f),o.clip()}o.transform(a[0],a[1],a[2],a[3],a[4],a[5]);const l=this._calViewportRelativeBounding();e.forEach(h=>{h.render(o,l)}),o.restore(),this._scrollBar&&n&&(o.save(),o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawScrollbar(o),o.restore()),this._scrollRendered(),this._preViewportBound=l}getBounding(){return this._calViewportRelativeBounding()}getRelativeVector(t){const e=this.scene.transform.clone().invert(),n=this.getTransformedScroll();return e.applyPoint(t).add(M.FromArray([n.x,n.y]))}getAbsoluteVector(t){const e=this.scene.transform.clone(),n=this.getTransformedScroll();return e.applyPoint(t.subtract(M.FromArray([n.x,n.y])))}onMouseWheel(t,e){if(!this._scrollBar||this.isActive===!1)return;let n;if(t.inputIndex===X.MouseWheelX){const s=Math.abs(t.deltaX),i=this._scene.width,a=(this.width||1)/i*s;t.deltaX>0?n=this.scrollBy({x:a}):n=this.scrollBy({x:-a}),this._scene.getParent().classType===V.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()}if(t.inputIndex===X.MouseWheelY){const s=Math.abs(t.deltaY),i=this._scene.height;let a=(this.height||1)/i*s;t.shiftKey?(a*=FC,t.deltaY>0?n=this.scrollBy({x:a}):n=this.scrollBy({x:-a}),this._scene.getParent().classType===V.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()):(t.deltaY>0?n=this.scrollBy({y:a}):n=this.scrollBy({y:-a}),this._scene.getParent().classType===V.SCENE_VIEWER?n!=null&&n.isLimitedY||e.stopPropagation():this._isWheelPreventDefaultY?t.preventDefault():n!=null&&n.isLimitedY||t.preventDefault())}t.inputIndex,X.MouseWheelZ,this._scene.makeDirty(!0)}isHit(t){if(this.isActive===!1)return;const{width:e,height:n}=this._getViewPortSize();return t.x>=this.left&&t.x<=this.left+(e||0)&&t.y>=this.top&&t.y<=this.top+(n||0)}pickScrollBar(t){if(!this._scrollBar)return;const n=this.getScrollBarTransForm().invert().applyPoint(t);return this._scrollBar.pick(n)}openClip(){this._renderClipState=!0}closeClip(){this._renderClipState=!1}dispose(){var t;this.onMouseWheelObserver.clear(),this.onScrollAfterObserver.clear(),this.onScrollBeforeObserver.clear(),this.onScrollStopObserver.clear(),(t=this._scrollBar)==null||t.dispose(),this._scene.removeViewport(this._viewPortKey)}limitedScroll(){var i,o;if(!this._scrollBar)return;const t=(i=this._scrollBar)==null?void 0:i.limitX,e=(o=this._scrollBar)==null?void 0:o.limitY;let n=!0,s=!0;return this.scrollX<0?this.scrollX=0:this.scrollX>t?this.scrollX=t:n=!1,this.scrollY<0?this.scrollY=0:this.scrollY>e?this.scrollY=e:s=!1,{isLimitedX:n,isLimitedY:s}}_resizeCacheCanvasAndScrollBar(){const t=this.actualScrollX,e=this.actualScrollY,{width:n,height:s}=this._getViewPortSize(),i=(this._scene.width-this._paddingEndX)*this._scene.scaleX,o=(this._scene.height-this._paddingEndY)*this._scene.scaleY;if(this._scrollBar){this._scrollBar.resize(n,s,i,o);const{x:a,y:u}=this.getBarScroll(t,e);this.scrollTo({x:a,y:u})}}_getViewPortSize(){const t=this._scene.getParent(),{width:e,height:n}=t,{scaleX:s=1,scaleY:i=1}=this._scene;let o,a,u=this.left*s,l=this.top*i;return this._leftOrigin!=null&&(u=this._leftOrigin*s),this._topOrigin!=null&&(l=this._topOrigin*i),this._widthOrigin!=null?o=this._widthOrigin*s:(o=e-(u+this._right),this.width=o),this._heightOrigin!=null?a=this._heightOrigin*i:(a=n-(l+this._bottom),this.height=a),this._left=u,this._top=l,{width:o,height:a}}_scrollRendered(){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY}_triggerScrollStop(t,e,n,s=!0){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var i,o;this.onScrollStopObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:e,y:n,actualScrollX:t.x,actualScrollY:t.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:s})},2)}_scroll(t,e,n=!0){var u,l,c,h;const{x:s,y:i}=e;if(this._scrollBar==null)return;s!==void 0&&(this._scrollBar.hasHorizonThumb()?t===1?this.scrollX+=s:this.scrollX=s:this.scrollX=0),i!==void 0&&(this._scrollBar.hasVerticalThumb()?t===1?this.scrollY+=i:this.scrollY=i:this.scrollY=0);const o=this.limitedScroll();this.onScrollBeforeObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,limitX:(u=this._scrollBar)==null?void 0:u.limitX,limitY:(l=this._scrollBar)==null?void 0:l.limitY,isTrigger:n}),this._scrollBar&&this._scrollBar.makeDirty(!0);const a=this.getTransformedScroll();return this.actualScrollX=a.x,this.actualScrollY=a.y,this.onScrollAfterObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,actualScrollX:a.x,actualScrollY:a.y,limitX:(c=this._scrollBar)==null?void 0:c.limitX,limitY:(h=this._scrollBar)==null?void 0:h.limitY,isTrigger:n}),this._triggerScrollStop(a,s,i,n),o}_calViewportRelativeBounding(){var F;if(this.isActive===!1)return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewPortKey:this.viewPortKey};const e=this._scene.transform.clone().getMatrix(),n=this._isRelativeX&&e[0]<1?e[0]:1,s=this._isRelativeY&&e[3]<1?e[3]:1,i=this._isRelativeX?1:e[0]<1?e[0]:1,o=this._isRelativeY?1:e[3]<1?e[3]:1;let a=this._width,u=this._height;const l=this._getViewPortSize();e[0]>1&&(a=l.width),e[3]>1&&(u=l.height);const c=this.left*n,h=((a||0)+this.left)*i,f=this.top*s,d=((u||0)+this.top)*o,_=this.getRelativeVector(M.FromArray([c,f])),m=this.getRelativeVector(M.FromArray([h,d])),v={top:_.y,left:_.x,right:m.x,bottom:m.y},y=(F=this._preViewportBound)==null?void 0:F.viewBound;return{viewBound:v,diffBounds:this._diffViewBound(v,y),diffX:((y==null?void 0:y.left)||0)-v.left,diffY:((y==null?void 0:y.top)||0)-v.top,viewPortPosition:{top:f,left:c,bottom:d,right:h},viewPortKey:this.viewPortKey}}_diffViewBound(t,e){if(e==null)return[t];const n={startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right},s={startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right};return yC(n,s).map(o=>{const{startRow:a,endRow:u,startColumn:l,endColumn:c}=o;return{left:l,top:a,right:c,bottom:u}})}_drawScrollbar(t){if(!this._scrollBar)return;const e=this._scene.getParent();e.classType===V.SCENE_VIEWER?this._scrollBar.render(t):e.classType===V.ENGINE&&this._scrollBar.render(t)}_setWithAndHeight(t){this.top=(t==null?void 0:t.top)||0,this.left=(t==null?void 0:t.left)||0,this.bottom=(t==null?void 0:t.bottom)||0,this.right=(t==null?void 0:t.right)||0,g.Tools.isDefine(t==null?void 0:t.width)?(this.width=t==null?void 0:t.width,this._widthOrigin=this.width,this._isRelativeX=!1):(this.width=null,this._widthOrigin=null,this._isRelativeX=!0),g.Tools.isDefine(t==null?void 0:t.height)?(this.height=t==null?void 0:t.height,this._heightOrigin=this.height,this._isRelativeY=!1):(this.height=null,this._heightOrigin=null,this._isRelativeY=!0)}_getBoundScale(t,e){return t=this._isRelativeX&&t<1?1:t,e=this._isRelativeY&&e<1?1:e,{scaleX:t,scaleY:e}}}var Jt=(r=>(r[r.page=0]="page",r[r.section=1]="section",r[r.column=2]="column",r[r.line=3]="line",r[r.divide=4]="divide",r[r.glyph=5]="glyph",r))(Jt||{});const ze={page:0,section:1,column:2,line:3,divide:4,glyph:5};function tr(r,t){return r.page>t.page?!1:r.page<t.page?!0:r.section>t.section?!1:r.section<t.section?!0:r.column>t.column?!1:r.column<t.column?!0:r.line>t.line?!1:r.line<t.line?!0:r.divide>t.divide?!1:r.divide<t.divide?!0:r.glyph>t.glyph?!1:(r.glyph<t.glyph,!0)}function p6(r,t){return tr(r,t)?{start:r,end:t}:{start:t,end:r}}function B4(r){const t=r.length;if(t===0)return;const e=r[0],n=r[t-1],s=r.length===1&&e.collapsed;return{startOffset:e.startOffset,endOffset:n.endOffset,collapsed:s}}function EC(r,t,e,n){let s=n,i=n;for(let o=0;o<r.length;o++){const u=r[o].count;o<t&&(s+=u),o<e&&(i+=u)}return{startOffset:s,endOffset:i}}class nr{constructor(t,e){p(this,"_liquid",new Ze);p(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});p(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],s=[],i=[];if(t==null||e==null)return{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i};const{start:o,end:a}=p6(t,e);return this._selectionIterator(o,a,(u,l,c,h,f,d)=>{const{lineHeight:_,marginTop:m,contentHeight:v}=d,{glyphGroup:y,st:F}=f,{x:E,y:x}=this._liquid;let T,B;const w=y[u],S=y[l],R=(w==null?void 0:w.left)||0,A=(w==null?void 0:w.width)||0,k=(S==null?void 0:S.left)||0,I=(S==null?void 0:S.width)||0,P=(w==null?void 0:w.glyphType)===x1.LIST,{startOffset:L,endOffset:U}=EC(y,u,l,F),H=o.glyph===u&&c?o.isBack:!0,z=a.glyph===l&&h?a.isBack:!1,$=o===a;if(u===0&&l===y.length-1)T={startX:E+R+(P?A:0),startY:x,endX:E+k+I,endY:x+_},B={startX:E+R+(P?A:0),startY:x+m,endX:E+k+I,endY:x+m+v};else{const W=H&&!P;T={startX:E+R+(W?0:A),startY:x,endX:E+k+(z?0:I),endY:x+_},B={startX:E+R+(W?0:A),startY:x+m,endX:E+k+(z?0:I),endY:x+m+v}}n.push(this._pushToPoints(T)),s.push(this._pushToPoints(B)),i.push({startOffset:H?L:L+w.count,endOffset:z?U:U+S.count,collapsed:$})}),{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i}}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(t=0,e,n,s){s===e?this._currentStartState[t]=1:this._currentStartState[t]=0,s===n?this._currentEndState[t]=2:this._currentEndState[t]=0}_checkPreviousNodePositionState(t,e=!0){let n=t,s;for(;n>=0;){const i=Jt[n];let o;if(e?o=this._currentStartState[i]:o=this._currentEndState[i],o===void 0)return;if(s===void 0&&(s=o),o!==s)return 0;n--}return s}_getSelectionRuler(t,e,n,s,i){let o=0,a=s;const u=Jt[t],l=Jt[t+1];if(l===null||u===null)return{start_next:o,end_next:a};const c=e[u],h=n[u];this._setNodePositionState(u,c,h,i);const f=this._checkPreviousNodePositionState(t),d=this._checkPreviousNodePositionState(t,!1);return f===1&&(o=e[l]),d===2&&(a=n[l]),{start_next:o,end_next:a}}_pushToPoints(t){const{startX:e,startY:n,endX:s,endY:i}=t,o=[];return o.push({x:e,y:n}),o.push({x:s,y:n}),o.push({x:s,y:i}),o.push({x:e,y:i}),o.push({x:e,y:n}),o}_selectionIterator(t,e,n){const s=this._docSkeleton;if(!s)return[];this._liquid.reset();const i=s.getSkeletonData();if(i==null)return[];const o=i.pages,{page:a}=t,{page:u}=e;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:l,pageMarginLeft:c,pageMarginTop:h}=this._documentOffsetConfig;for(let f=0;f<=a-1;f++){const d=o[f];this._liquid.translatePage(d,l,c,h)}for(let f=a;f<=u;f++){const d=o[f],_=d.sections,{start_next:m,end_next:v}=this._getSelectionRuler(ze.page,t,e,_.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(d);for(let y=m;y<=v;y++){const F=_[y],E=F.columns,{start_next:x,end_next:T}=this._getSelectionRuler(ze.section,t,e,E.length-1,y);this._liquid.translateSection(F);for(let B=x;B<=T;B++){const w=E[B],S=w.lines,{start_next:R,end_next:A}=this._getSelectionRuler(ze.column,t,e,S.length-1,B);this._liquid.translateColumn(w);for(let k=R;k<=A;k++){const I=S[k],{divides:P}=I,{start_next:L,end_next:U}=this._getSelectionRuler(ze.line,t,e,P.length-1,k);this._liquid.translateSave(),this._liquid.translateLine(I);for(let H=L;H<=U;H++){const z=P[H];this._liquid.translateSave(),this._liquid.translateDivide(z);const $=z.glyphGroup,{start_next:W,end_next:Q}=this._getSelectionRuler(ze.divide,t,e,$.length-1,H);let e1=!1,t1=!1;f===a&&y===m&&B===x&&k===R&&H===L&&(e1=!0),f===u&&y===v&&B===T&&k===A&&H===U&&(t1=!0),n&&n(W,Q,e1,t1,z,I,w,F,d),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(d,l,c,h)}}}const SC="__TestSelectionRange__",TC="__TestSelectionAnchor__",O4=6,G2=500,xC=500,g6=1;function wC(r,t,e,n){const{startOffset:s,endOffset:i,style:o=bt}=t,a=e.findNodePositionByCharIndex(s),u=s!==i?e.findNodePositionByCharIndex(i):null,l=new p2(r,n,e,a,u,o);return l.refresh(),l}function rr(r){const t=r[0],e=t[0],n=t[2],{x:s,y:i}=e,{x:o,y:a}=n;return{left:s,top:i,width:o-s,height:a-i}}class p2{constructor(t,e,n,s,i,o=bt){p(this,"_current",!1);p(this,"_rangeShape");p(this,"_anchorShape");p(this,"_cursorList",[]);p(this,"_anchorBlinkTimer",null);this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=s,this.focusNodePosition=i,this.style=o,this._anchorBlink()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},G2),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},G2))},xC+G2)}get startOffset(){var s;const{startOffset:t}=(s=B4(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(n,t)}get endOffset(){var s;const{endOffset:t}=(s=B4(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(t,n)}get collapsed(){const{startOffset:t,endOffset:e}=this;return t!=null&&t===e}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:t}=p6(this.anchorNodePosition,this.focusNodePosition);return t}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:t}=p6(this.anchorNodePosition,this.focusNodePosition);return t}get direction(){const{collapsed:t,anchorNodePosition:e,focusNodePosition:n}=this;return t||e==null||n==null?ft.NONE:tr(e,n)?ft.FORWARD:ft.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.strokeActive)||y1(g.COLORS.black,1)})}deactivateStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.stroke)||y1(g.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t,e;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null,(e=this._anchorShape)==null||e.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(t){const{startOffset:e,endOffset:n}=this,{startOffset:s,endOffset:i}=t;return e==null||n==null||s==null||i==null?!1:e<=i&&n>=s}refresh(){var h,f;const{_document:t,_docSkeleton:e}=this,n=this.anchorNodePosition,s=this.focusNodePosition;if((h=this._anchorShape)==null||h.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=t.getOffsetConfig(),{docsLeft:o,docsTop:a}=i,u=new nr(i,e);if(this._isCollapsed()){const{contentBoxPointGroup:d,cursorList:_}=u.getRangePointData(n,n);this._setCursorList(_),d.length>0&&this._createOrUpdateAnchor(d,o,a);return}const{borderBoxPointGroup:l,cursorList:c}=u.getRangePointData(n,s);this._setCursorList(c),l.length>0&&this._createOrUpdateRange(l,o,a)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(t!=null&&e==null)return!0;if(t==null||e==null)return!1;const n=Object.keys(ze);for(const s of n){const i=t[s],o=e[s];if(i!==o)return!1}return t.isBack===e.isBack}_createOrUpdateRange(t,e,n){var o;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const s=.2,i=new y2(SC+g.Tools.generateRandomId(O4),{pointsGroup:t,fill:((o=this.style)==null?void 0:o.fill)||y1(g.COLORS.black,s),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,g6)}_createOrUpdateAnchor(t,e,n){var l,c;const s=rr(t),{left:i,top:o,height:a}=s;if(this._anchorShape){this._anchorShape.transformByState({left:i+e,top:o+n,height:a}),this._anchorShape.show();return}const u=new T1(TC+g.Tools.generateRandomId(O4),{left:i+e,top:o+n,height:a,strokeWidth:((l=this.style)==null?void 0:l.strokeWidth)||1,stroke:((c=this.style)==null?void 0:c.strokeActive)||y1(g.COLORS.black,1),evented:!1});this._anchorShape=u,this._scene.addObject(u,g6)}_setCursorList(t){t.length!==0&&(this._cursorList=t)}}function BC(r){const t=r.getBoundingClientRect(),e=document.body,n=document.documentElement,s=window.pageYOffset||n.scrollTop||e.scrollTop,i=window.pageXOffset||n.scrollLeft||e.scrollLeft,o=n.clientTop||e.clientTop,a=n.clientLeft||e.clientLeft,u=t.top+s-o,l=t.left+i-a;return{top:u,left:l}}var OC=Object.defineProperty,RC=Object.getOwnPropertyDescriptor,AC=(r,t,e,n)=>{for(var s=n>1?void 0:n?RC(t,e):t,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(n?o(t,e,s):o(s))||s);return n&&s&&OC(t,e,s),s},kC=(r,t)=>(e,n)=>t(e,n,r);function sr(r){const t=r==null?void 0:r.getCanvasElement();if(!t)return{left:0,top:0};const{top:e,left:n}=BC(t);return{left:n,top:e}}function R4(r){var u;const t=(u=r.parent)==null?void 0:u.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;const{paragraphIndex:n}=t,s=e.lines.filter(l=>l.paragraphIndex===n);let i=-1,o="",a=!1;for(const l of s)for(const c of l.divides)for(const h of c.glyphGroup)a||(i+=h.count),h===r&&(a=!0),o+=h.count>0?h.content:"";return{st:s[0].st,ed:n,content:o,nodeIndex:i}}exports.TextSelectionRenderManager=class extends g.RxDisposable{constructor(e){super();p(this,"_onInputBefore$",new o1.BehaviorSubject(null));p(this,"onInputBefore$",this._onInputBefore$.asObservable());p(this,"_onKeydown$",new o1.BehaviorSubject(null));p(this,"onKeydown$",this._onKeydown$.asObservable());p(this,"_onInput$",new o1.BehaviorSubject(null));p(this,"onInput$",this._onInput$.asObservable());p(this,"_onCompositionstart$",new o1.BehaviorSubject(null));p(this,"onCompositionstart$",this._onCompositionstart$.asObservable());p(this,"_onCompositionupdate$",new o1.BehaviorSubject(null));p(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());p(this,"_onCompositionend$",new o1.BehaviorSubject(null));p(this,"onCompositionend$",this._onCompositionend$.asObservable());p(this,"_onSelectionStart$",new o1.BehaviorSubject(null));p(this,"onSelectionStart$",this._onSelectionStart$.asObservable());p(this,"_onPaste$",new o1.Subject);p(this,"onPaste$",this._onPaste$.asObservable());p(this,"_textSelectionInner$",new o1.BehaviorSubject(null));p(this,"textSelectionInner$",this._textSelectionInner$.asObservable());p(this,"_onFocus$",new o1.Subject);p(this,"onFocus$",this._onFocus$.asObservable());p(this,"_onBlur$",new o1.Subject);p(this,"onBlur$",this._onBlur$.asObservable());p(this,"_container");p(this,"_inputParent");p(this,"_input");p(this,"_moveObservers",[]);p(this,"_upObservers",[]);p(this,"_scrollTimers",[]);p(this,"_viewportScrollX",0);p(this,"_viewportScrollY",0);p(this,"_rangeList",[]);p(this,"_currentSegmentId","");p(this,"_selectionStyle",bt);p(this,"_isSelectionEnabled",!0);p(this,"_viewPortObserverMap",new Map);p(this,"_isIMEInputApply",!1);p(this,"_activeViewport");p(this,"_docSkeleton");p(this,"_scene");p(this,"_document");this._logService=e,this._initDOM()}__getEditorContainer(){return this._container}getViewPort(){return this._activeViewport}setSegment(e){this._currentSegmentId=e}setStyle(e=bt){this._selectionStyle=e}resetStyle(){this.setStyle()}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}addTextRanges(e,n=!0){const{_scene:s,_docSkeleton:i}=this;for(const o of e){const a=wC(s,o,i,this._document);this._add(a)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:n}),this._updateInputPosition()}sync(){this._updateInputPosition()}activate(e,n){this._container.style.left=`${e}px`,this._container.style.top=`${n}px`,this._container.style.zIndex="1000",this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}changeRuntime(e,n,s){e!==this._docSkeleton&&this.removeAllTextRanges(),this._docSkeleton=e,this._scene=n,this._activeViewport=n.getViewports()[0],this._document=s,this._attachScrollEvent(this._activeViewport)}handleDblClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const o=R4(i.node);if(o==null)return;const{content:a,st:u,nodeIndex:l}=o;if(l===-1||Intl.Segmenter==null)return;const h=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a);let f=Number.NEGATIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(const{segment:_,index:m,isWordLike:v}of h)if(m<=l&&l<m+_.length&&v){f=m+u,d=m+u+_.length;break}if(Number.isFinite(f)&&Number.isFinite(d)){this.removeAllTextRanges();const _=[{startOffset:f,endOffset:d}];this.addTextRanges(_,!1)}}handleTripleClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const o=R4(i.node);if(o==null)return;this.removeAllTextRanges();const{st:a,ed:u}=o,l=[{startOffset:a,endOffset:u,collapsed:a===u}];this.addTextRanges(l,!1)}setCursorManually(e,n){const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(i==null){this._removeAllTextRanges();return}(s==null?void 0:s.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(e){var d;if(!this._scene||!this._isSelectionEnabled)return;const n=this._scene,{offsetX:s,offsetY:i}=e,o=this._findNodeByCoord(s,i),a=this._getNodePosition(o);if(a==null){this._removeAllTextRanges();return}if((o==null?void 0:o.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(a.isBack=!0),e.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(a);else if(e.ctrlKey||this._isEmpty()){const _=new p2(n,this._document,this._docSkeleton,a);this._addTextRange(_)}else this._updateTextRangeAnchorPosition(a);this._activeSelectionRefresh(),n.disableEvent();const u=tt.create(n);this._scrollTimers.push(u),u.startScroll(s,i);const{scrollX:l,scrollY:c}=We(u);this._viewportScrollX=l,this._viewportScrollY=c,this._onSelectionStart$.next((d=this._getActiveRangeInstance())==null?void 0:d.startNodePosition);let h=s,f=i;this._moveObservers.push(n.onPointerMoveObserver.add(_=>{const{offsetX:m,offsetY:v}=_;n.setCursor(f1.TEXT),!(Math.sqrt((m-h)**2+(v-f)**2)<3)&&(this._moving(m,v),h=m,f=v)})),this._upObservers.push(n.onPointerUpObserver.add(()=>{this._moveObservers.forEach(_=>{_==null||_.dispose()}),this._upObservers.forEach(_=>{_==null||_.dispose()}),this._moveObservers=[],this._upObservers=[],n.enableEvent(),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:!1}),this._scrollTimers.forEach(_=>{_==null||_.dispose()}),this._scrollTimers=[],this._updateInputPosition()}))}removeAllTextRanges(){this._removeAllTextRanges(),this.deactivate()}_getAllTextRanges(){return this._rangeList}_getActiveRange(){const e=this._rangeList.find(l=>l.isActive());if(e==null)return null;const{startOffset:n,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:u}=e;return n==null||s==null?null:{startOffset:n,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:u,segmentId:this._currentSegmentId,style:this._selectionStyle}}_add(e){e!=null&&(this._addTextRange(e),e.refresh())}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._container.remove()}_initDOM(){const e=document.createElement("div");e.style.position="fixed",e.style.left="0px",e.style.top="0px";const n=document.createElement("div"),s=document.createElement("div");n.appendChild(s),e.appendChild(n),this._container=e,this._inputParent=n,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(e)}_initInput(){this._inputParent.style.cssText=`
|
|
2
2
|
position:absolute;
|
|
3
3
|
height:1px;
|
|
4
4
|
width:1px;
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
caret-color: transparent;
|
|
15
15
|
white-space: pre-wrap;
|
|
16
16
|
user-select: text;
|
|
17
|
-
`}_getNodePosition(e){var u;if(e==null)return;const{node:n,ratioX:s}=e,i=(u=this._docSkeleton)==null?void 0:u.findPositionByGlyph(n);if(i==null)return;const a=s<.5;return{...i,isBack:a}}_interactTextRange(e){const n=[];let s=!1;this._rangeList.forEach(i=>{if(i===e)return!0;e.isIntersection(i)?(s=!0,i.dispose()):n.push(i)}),s&&(n.push(e),this._rangeList=n)}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_updateTextRangeAnchorPosition(e){if(!this._scene)return;let n=this._rangeList.pop();n||(n=new _t(this._scene,this._document,this._docSkeleton,e)),this._removeAllTextRanges(),n.activate(),n.anchorNodePosition=e,n.focusNodePosition=null,this._rangeList=[n]}_updateActiveRangeFocusPosition(e){if(!this._scene){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: scene is null");return}const n=this._getActiveRangeInstance();if(n==null||n.anchorNodePosition==null){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllTextRanges(),n.activate(),n.focusNodePosition=e,this.deactivate(),this._rangeList=[n]}_isEmpty(){return this._rangeList.length===0}_getCanvasOffset(){var n;const e=(n=this._scene)==null?void 0:n.getEngine();return sr(e)}_updateInputPosition(){const e=this._getActiveRangeInstance(),n=e==null?void 0:e.getAnchor();if(!n||n&&!n.visible||this._activeViewport==null){this.focus();return}const{left:s,top:i}=n,o=this._activeViewport.getAbsoluteVector(P.FromArray([s,i])),{x:a,y:u}=o;let{left:l,top:c}=this._getCanvasOffset();l+=a,c+=u,this.activate(l,c)}_moving(e,n){var a,u;if(this._docSkeleton==null)return;const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(!i)return;const o=this._getActiveRangeInstance();o&&(o.focusNodePosition=i,o.refresh(),this.deactivate(),this._interactTextRange(o),(u=(a=this._scene)==null?void 0:a.getEngine())==null||u.setRemainCapture())}_attachScrollEvent(e){if(e==null||this._docSkeleton==null)return;const s=`${this._docSkeleton.getViewModel().getDataModel().getUnitId()}_${e.viewPortKey}`;if(this._viewPortObserverMap.has(s))return;const i=e.onScrollBeforeObserver.add(a=>{if(!a.viewport)return;const l=this._getActiveRangeInstance();l==null||l.activeStatic()}),o=e.onScrollStopObserver.add(a=>{const u=a.viewport;if(!u)return;const l=u.getBounding(),c=this._getActiveRangeInstance(),h=c==null?void 0:c.getAnchor();if(!(!h||h&&!h.visible)){if(l){const{left:f,top:p,right:_,bottom:m}=l.viewBound;if(h.left<f||h.left>_||h.top<p||h.top>m){c==null||c.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(s,{scrollBefore:i,scrollStop:o})}_initInputEvents(){this.disposeWithMe(u1.fromEvent(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onKeydown$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"input").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onInput$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionstart").subscribe(e=>{this._isIMEInputApply=!0,this._eventHandle(e,n=>{this._onCompositionstart$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,n=>{this._onCompositionend$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onCompositionupdate$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"paste").subscribe(e=>{this._eventHandle(e,n=>{this._onPaste$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"focus").subscribe(e=>{this._eventHandle(e,n=>{this._onFocus$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"blur").subscribe(e=>{this._eventHandle(e,n=>{this._onBlur$.next(n)})}))}_eventHandle(e,n){const s=this._input.textContent||"";this._input.innerHTML="";const i=this._getActiveRange(),o=this._getAllTextRanges();n({event:e,content:s,activeRange:i,rangeList:o})}_getTransformCoordForDocumentOffset(e,n){const{documentTransform:s}=this._document.getOffsetConfig();if(this._activeViewport==null||s==null)return;const i=this._activeViewport.getRelativeVector(P.FromArray([e,n]));if(i)return s.clone().invert().applyPoint(i)}_findNodeByCoord(e,n){var u;const s=this._getTransformCoordForDocumentOffset(e,n);if(s==null)return;const{pageLayoutType:i=q1.VERTICAL,pageMarginLeft:o,pageMarginTop:a}=this._document.getOffsetConfig();return(u=this._docSkeleton)==null?void 0:u.findNodeByCoord(s,i,o,a)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete()}_activeSelectionRefresh(){if(this._docSkeleton==null)return;const e=this._getActiveRangeInstance();e==null||e.refresh()}};exports.TextSelectionRenderManager=BC([OC(0,g.ILogService)],exports.TextSelectionRenderManager);const wC=ae.createIdentifier("univer.doc.text-selection-render-manager");exports.BASE_OBJECT_ARRAY=it;exports.BORDER_TYPE=K;exports.Background=p7;exports.BaseObject=ue;exports.Border=g7;exports.BreakType=je;exports.CHECK_OBJECT_ARRAY=er;exports.CIRCLE_OBJECT_ARRAY=Jn;exports.COLOR_BLACK_RGB=ve;exports.CURSOR_TYPE=f1;exports.Canvas=e2;exports.CanvasRenderMode=I6;exports.Checkbox=l0;exports.Circle=a0;exports.ColumnHeaderLayout=D7;exports.ComponentExtension=M6;exports.Control=fC;exports.Custom=Nn;exports.CustomObject=JF;exports.DEFAULT_DOCUMENT_FONTSIZE=L4;exports.DEFAULT_FONTFACE_PLANE=O2;exports.DEFAULT_MEASURE_TEXT=$4;exports.DEFAULT_OFFSET_SPACING=Vt;exports.DEFAULT_SELECTION_LAYER_INDEX=fr;exports.DEFAULT_SKELETON_FOOTER=hr;exports.DEFAULT_SKELETON_HEADER=cr;exports.DOCUMENT_CONTEXT_CLIP_TYPE=M4;exports.DeviceInputEventType=o7;exports.DeviceType=O1;exports.DocumentSkeleton=Je;exports.DocumentViewModel=_e;exports.Documents=N2;exports.DocumentsSpanAndLineExtensionRegistry=t2;exports.Drawing=dC;exports.EMOJI_REG=rt;exports.EVENT_TYPE=X1;exports.Engine=gt;exports.EventConstants=q2;exports.FIX_ONE_PIXEL_BLUR_OFFSET=_1;exports.Font=Ln;exports.FontCache=re;exports.GlyphType=A1;exports.Group=Xn;exports.HitCanvas=Ig;exports.INITIAL_MATRIX=K2;exports.INITIAL_Path2=a7;exports.IRenderManagerService=qn;exports.IRenderingEngine=Zn;exports.ITextSelectionRenderManager=wC;exports.IsSafari=X4;exports.LINK_VIEW_PORT_TYPE=k4;exports.Layer=Wn;exports.LineType=R2;exports.Liquid=F2;exports.MAXIMUM_ROW_HEIGHT=P4;exports.MIDDLE_CELL_POS_MAGIC_NUMBER=m6;exports.Marker=Pn;exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=b2;exports.NodePositionConvertToCursor=nr;exports.ORIENTATION_TYPE=g2;exports.PATH_OBJECT_ARRAY=Hn;exports.PageLayoutType=q1;exports.Path=B1;exports.Path2=u7;exports.PerformanceMonitor=l7;exports.Picture=Dt;exports.PointerInput=X;exports.RANGE_DIRECTION=f2;exports.RECT_OBJECT_ARRAY=Vn;exports.REGULAR_POLYGON_OBJECT_ARRAY=Qn;exports.RENDER_CLASS_TYPE=j;exports.RENDER_RAW_FORMULA_KEY=In;exports.RICHTEXT_OBJECT_ARRAY=g6;exports.Rect=w1;exports.RegularPolygon=Et;exports.RenderComponent=L6;exports.RenderUnit=Kn;exports.RichText=pC;exports.RollingAverage=c7;exports.RowHeaderLayout=Mn;exports.SHAPE_OBJECT_ARRAY=$n;exports.SHAPE_TYPE=v6;exports.SHEET_EXTENSION_TYPE=d7;exports.SLIDE_NAVIGATION_KEY=Gn;exports.Scene=jn;exports.SceneCanvas=kg;exports.SceneViewer=o0;exports.ScrollBar=u0;exports.ScrollTimer=Qe;exports.ScrollTimerType=Yn;exports.Selection=DC;exports.Shape=Me;exports.SheetColumnHeaderExtensionRegistry=N6;exports.SheetComponent=U6;exports.SheetExtension=ye;exports.SheetRowHeaderExtensionRegistry=P6;exports.ShowGridlinesState=Un;exports.SkeletonType=e7;exports.Slide=ZF;exports.Spreadsheet=qF;exports.SpreadsheetColumnHeader=Lg;exports.SpreadsheetExtensionRegistry=Le;exports.SpreadsheetHeader=$6;exports.SpreadsheetRowHeader=MF;exports.TEXT_RANGE_LAYER_INDEX=_6;exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=h1;exports.TextRange=_t;exports.ThinEngine=zn;exports.Transform=m1;exports.UNIVER_GLOBAL_DEFAULT_FONT_FAMILY=V4;exports.UNIVER_GLOBAL_DEFAULT_FONT_SIZE=Y4;exports.UniverPrintingContext=f7;exports.UniverRenderingContext=h7;exports.UniverRenderingContext2D=k6;exports.UniverRenderingContextWebGL=Ag;exports.UniverRenderingContextWebGPU=Rg;exports.VERTICAL_ROTATE_ANGLE=E1;exports.Vector2=P;exports.Viewport=mC;exports.calculateRectRotate=We;exports.cancelRequestFrame=G4;exports.checkStyle=yg;exports.clearLineByBorderType=Og;exports.convertTextRotation=l2;exports.createCanvasElement=y6;exports.createImageElement=Qp;exports.degToRad=K1;exports.drawDiagonalLineByBorderType=n7;exports.drawLineByBorderType=O6;exports.fixLineWidthByScale=q;exports.generateRandomKey=W4;exports.getAnchorBounding=rr;exports.getCanvasOffsetByEngine=sr;exports.getCellByIndex=ze;exports.getCellInfoInMergeData=m2;exports.getCellPositionByIndex=we;exports.getCharSpaceApply=y2;exports.getColor=F1;exports.getCurrentScrollXY=Xe;exports.getDPI=A2;exports.getDevicePixelRatio=B6;exports.getDocsSkeletonPageSize=p2;exports.getFontStyleString=_2;exports.getLineOffset=r7;exports.getLineWidth=A6;exports.getLineWith=s7;exports.getNumberUnitValue=Ae;exports.getParagraphByGlyph=t7;exports.getPointerPrefix=jt;exports.getRotateOffsetAndFarthestHypotenuse=R6;exports.getRotateOrientation=i7;exports.getScale=T6;exports.getSizeForDom=J4;exports.getTranslateInSpreadContextWithPixelRatio=wg;exports.getValueType=be;exports.hasAllLatin=lg;exports.hasArabic=C6;exports.hasBasicLatin=cg;exports.hasCJK=w2;exports.hasCJKPunctuation=qt;exports.hasCJKText=v2;exports.hasLatinExtendedA=fg;exports.hasLatinExtendedB=dg;exports.hasLatinOneSupplement=hg;exports.hasListGlyph=Cg;exports.hasSpace=j4;exports.hasTibetan=E6;exports.hasUnMergedCellInRow=q4;exports.injectStyle=bg;exports.isArray=rg;exports.isCjkCenterAlignedPunctuation=S6;exports.isCjkLeftAlignedPunctuation=mt;exports.isCjkRightAlignedPunctuation=bt;exports.isDate=tg;exports.isFirstGlyph=Tg;exports.isFunction=F6;exports.isIndentByGlyph=Eg;exports.isLastGlyph=Sg;exports.isNumber=sg;exports.isObject=ig;exports.isPlaceholderOrSpace=xg;exports.isRectIntersect=Z4;exports.isRegExp=ng;exports.isSameLine=Bg;exports.isString=Kt;exports.mergeInfoOffset=Zt;exports.pixelToPt=Fg;exports.precisionTo=nt;exports.ptToMM=vg;exports.ptToPixel=x6;exports.ptToPx=Dg;exports.pxToInch=mg;exports.pxToNum=xe;exports.pxToPt=_g;exports.radToDeg=z4;exports.requestNewFrame=D2;exports.setLineType=w6;exports.startWithEmoji=st;exports.toPx=se;
|
|
17
|
+
`}_getNodePosition(e){var u;if(e==null)return;const{node:n,ratioX:s}=e,i=(u=this._docSkeleton)==null?void 0:u.findPositionByGlyph(n);if(i==null)return;const a=s<.5;return{...i,isBack:a}}_interactTextRange(e){const n=[];let s=!1;this._rangeList.forEach(i=>{if(i===e)return!0;e.isIntersection(i)?(s=!0,i.dispose()):n.push(i)}),s&&(n.push(e),this._rangeList=n)}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_updateTextRangeAnchorPosition(e){if(!this._scene)return;let n=this._rangeList.pop();n||(n=new p2(this._scene,this._document,this._docSkeleton,e)),this._removeAllTextRanges(),n.activate(),n.anchorNodePosition=e,n.focusNodePosition=null,this._rangeList=[n]}_updateActiveRangeFocusPosition(e){if(!this._scene){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: scene is null");return}const n=this._getActiveRangeInstance();if(n==null||n.anchorNodePosition==null){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllTextRanges(),n.activate(),n.focusNodePosition=e,this.deactivate(),this._rangeList=[n]}_isEmpty(){return this._rangeList.length===0}_getCanvasOffset(){var n;const e=(n=this._scene)==null?void 0:n.getEngine();return sr(e)}_updateInputPosition(){const e=this._getActiveRangeInstance(),n=e==null?void 0:e.getAnchor();if(!n||n&&!n.visible||this._activeViewport==null){this.focus();return}const{left:s,top:i}=n,o=this._activeViewport.getAbsoluteVector(M.FromArray([s,i])),{x:a,y:u}=o;let{left:l,top:c}=this._getCanvasOffset();l+=a,c+=u,this.activate(l,c)}_moving(e,n){var a,u;if(this._docSkeleton==null)return;const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(!i)return;const o=this._getActiveRangeInstance();o&&(o.focusNodePosition=i,o.refresh(),this.deactivate(),this._interactTextRange(o),(u=(a=this._scene)==null?void 0:a.getEngine())==null||u.setRemainCapture())}_attachScrollEvent(e){if(e==null||this._docSkeleton==null)return;const s=`${this._docSkeleton.getViewModel().getDataModel().getUnitId()}_${e.viewPortKey}`;if(this._viewPortObserverMap.has(s))return;const i=e.onScrollBeforeObserver.add(a=>{if(!a.viewport)return;const l=this._getActiveRangeInstance();l==null||l.activeStatic()}),o=e.onScrollStopObserver.add(a=>{const u=a.viewport;if(!u)return;const l=u.getBounding(),c=this._getActiveRangeInstance(),h=c==null?void 0:c.getAnchor();if(!(!h||h&&!h.visible)){if(l){const{left:f,top:d,right:_,bottom:m}=l.viewBound;if(h.left<f||h.left>_||h.top<d||h.top>m){c==null||c.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(s,{scrollBefore:i,scrollStop:o})}_initInputEvents(){this.disposeWithMe(o1.fromEvent(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onKeydown$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"input").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onInput$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"compositionstart").subscribe(e=>{this._isIMEInputApply=!0,this._eventHandle(e,n=>{this._onCompositionstart$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,n=>{this._onCompositionend$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onCompositionupdate$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"paste").subscribe(e=>{this._eventHandle(e,n=>{this._onPaste$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"focus").subscribe(e=>{this._eventHandle(e,n=>{this._onFocus$.next(n)})})),this.disposeWithMe(o1.fromEvent(this._input,"blur").subscribe(e=>{this._eventHandle(e,n=>{this._onBlur$.next(n)})}))}_eventHandle(e,n){const s=this._input.textContent||"";this._input.innerHTML="";const i=this._getActiveRange(),o=this._getAllTextRanges();n({event:e,content:s,activeRange:i,rangeList:o})}_getTransformCoordForDocumentOffset(e,n){const{documentTransform:s}=this._document.getOffsetConfig();if(this._activeViewport==null||s==null)return;const i=this._activeViewport.getRelativeVector(M.FromArray([e,n]));if(i)return s.clone().invert().applyPoint(i)}_findNodeByCoord(e,n){var u;const s=this._getTransformCoordForDocumentOffset(e,n);if(s==null)return;const{pageLayoutType:i=Q1.VERTICAL,pageMarginLeft:o,pageMarginTop:a}=this._document.getOffsetConfig();return(u=this._docSkeleton)==null?void 0:u.findNodeByCoord(s,i,o,a)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete()}_activeSelectionRefresh(){if(this._docSkeleton==null)return;const e=this._getActiveRangeInstance();e==null||e.refresh()}};exports.TextSelectionRenderManager=AC([kC(0,g.ILogService)],exports.TextSelectionRenderManager);const IC=ae.createIdentifier("univer.doc.text-selection-render-manager"),LC="rgba(198, 198, 198, 1)",PC="rgba(255, 255, 255, 1)";class u0 extends Un{constructor(e,n,s){super(e,n,s);p(this,"_drawLiquid");this._drawLiquid=new Ze,this.makeDirty(!0)}static create(e,n,s){return new u0(e,n,s)}draw(e,n){var u;const s=(u=this.getSkeleton())==null?void 0:u.getSkeletonData();if(s==null)return;this._drawLiquid.reset();const{pages:i}=s;let o=0,a=0;for(let l=0,c=i.length;l<c;l++){const h=i[l];if(this.isSkipByDiffBounds(h,o,a,n)){const{x:E,y:x}=this._drawLiquid.translatePage(h,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);a+=E,o+=x;continue}const{width:f,pageWidth:d,height:_,pageHeight:m}=h;e.save(),e.translate(a-.5,o-.5);const v={width:d!=null?d:f,height:m!=null?m:_,strokeWidth:1,stroke:LC,fill:PC,zIndex:3};T1.drawWith(e,v),e.restore();const{x:y,y:F}=this._drawLiquid.translatePage(h,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);a+=y,o+=F}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,n){this.draw(e,n)}}exports.BASE_OBJECT_ARRAY=n2;exports.BORDER_TYPE=K;exports.Background=d7;exports.BaseObject=ue;exports.Border=p7;exports.BreakType=Ke;exports.CHECK_OBJECT_ARRAY=er;exports.CIRCLE_OBJECT_ARRAY=Jn;exports.COLOR_BLACK_RGB=De;exports.CURSOR_TYPE=f1;exports.Canvas=nt;exports.CanvasRenderMode=A6;exports.Checkbox=a0;exports.Circle=i0;exports.ColumnHeaderLayout=g7;exports.ComponentExtension=I6;exports.Control=_C;exports.Custom=Mn;exports.CustomObject=rC;exports.DEFAULT_DOCUMENT_FONTSIZE=I4;exports.DEFAULT_FONTFACE_PLANE=wt;exports.DEFAULT_MEASURE_TEXT=U4;exports.DEFAULT_OFFSET_SPACING=X2;exports.DEFAULT_SELECTION_LAYER_INDEX=lr;exports.DEFAULT_SKELETON_FOOTER=ur;exports.DEFAULT_SKELETON_HEADER=ar;exports.DOCUMENT_CONTEXT_CLIP_TYPE=L4;exports.DeviceInputEventType=i7;exports.DeviceType=B1;exports.DocBackground=u0;exports.DocumentSkeleton=et;exports.DocumentViewModel=ge;exports.Documents=Mt;exports.DocumentsSpanAndLineExtensionRegistry=rt;exports.Drawing=vC;exports.EMOJI_REG=e2;exports.EVENT_TYPE=j1;exports.Engine=f2;exports.EventConstants=jt;exports.FIX_ONE_PIXEL_BLUR_OFFSET=g1;exports.Font=In;exports.FontCache=re;exports.GlyphType=x1;exports.Group=Xn;exports.HitCanvas=Rg;exports.INITIAL_MATRIX=Yt;exports.INITIAL_Path2=o7;exports.IRenderManagerService=qn;exports.IRenderingEngine=Zn;exports.ITextSelectionRenderManager=IC;exports.IsSafari=z4;exports.LINK_VIEW_PORT_TYPE=A4;exports.Layer=Wn;exports.LineType=Rt;exports.Liquid=Ze;exports.MAXIMUM_ROW_HEIGHT=P4;exports.MIDDLE_CELL_POS_MAGIC_NUMBER=_6;exports.Marker=Pn;exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=bt;exports.NodePositionConvertToCursor=nr;exports.ORIENTATION_TYPE=gt;exports.PATH_OBJECT_ARRAY=Hn;exports.PageLayoutType=Q1;exports.Path=S1;exports.Path2=a7;exports.PerformanceMonitor=u7;exports.Picture=d2;exports.PointerInput=X;exports.RANGE_DIRECTION=ft;exports.RECT_OBJECT_ARRAY=jn;exports.REGULAR_POLYGON_OBJECT_ARRAY=Qn;exports.RENDER_CLASS_TYPE=V;exports.RENDER_RAW_FORMULA_KEY=kn;exports.RICHTEXT_OBJECT_ARRAY=d6;exports.Rect=T1;exports.RegularPolygon=y2;exports.RenderComponent=k6;exports.RenderUnit=Kn;exports.RichText=mC;exports.RollingAverage=l7;exports.RowHeaderLayout=Ln;exports.SHAPE_OBJECT_ARRAY=$n;exports.SHAPE_TYPE=D6;exports.SHEET_EXTENSION_TYPE=f7;exports.SLIDE_NAVIGATION_KEY=Gn;exports.Scene=Vn;exports.SceneCanvas=Og;exports.SceneViewer=s0;exports.ScrollBar=o0;exports.ScrollTimer=tt;exports.ScrollTimerType=Yn;exports.Shape=Pe;exports.SheetColumnHeaderExtensionRegistry=P6;exports.SheetComponent=M6;exports.SheetExtension=me;exports.SheetRowHeaderExtensionRegistry=L6;exports.ShowGridlinesState=Nn;exports.SkeletonType=Q4;exports.Slide=nC;exports.Spreadsheet=tC;exports.SpreadsheetColumnHeader=Ag;exports.SpreadsheetExtensionRegistry=Le;exports.SpreadsheetHeader=N6;exports.SpreadsheetRowHeader=GF;exports.TEXT_RANGE_LAYER_INDEX=g6;exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=c1;exports.TextRange=p2;exports.ThinEngine=zn;exports.Transform=D1;exports.UNIVER_GLOBAL_DEFAULT_FONT_FAMILY=Y4;exports.UNIVER_GLOBAL_DEFAULT_FONT_SIZE=W4;exports.UniverPrintingContext=h7;exports.UniverRenderingContext=c7;exports.UniverRenderingContext2D=R6;exports.UniverRenderingContextWebGL=wg;exports.UniverRenderingContextWebGPU=Bg;exports.VERTICAL_ROTATE_ANGLE=C1;exports.Vector2=M;exports.Viewport=CC;exports.calculateRectRotate=je;exports.cancelRequestFrame=H4;exports.checkStyle=vg;exports.clearLineByBorderType=Tg;exports.convertTextRotation=lt;exports.createCanvasElement=m6;exports.createImageElement=qp;exports.degToRad=J1;exports.drawDiagonalLineByBorderType=t7;exports.drawLineByBorderType=x6;exports.fixLineWidthByScale=q;exports.generateRandomKey=X4;exports.getAnchorBounding=rr;exports.getCanvasOffsetByEngine=sr;exports.getCellByIndex=Xe;exports.getCellInfoInMergeData=mt;exports.getCellPositionByIndex=Be;exports.getCharSpaceApply=yt;exports.getColor=y1;exports.getCurrentScrollXY=We;exports.getDPI=Ot;exports.getDevicePixelRatio=T6;exports.getDocsSkeletonPageSize=pt;exports.getFontStyleString=_t;exports.getLineOffset=n7;exports.getLineWidth=B6;exports.getLineWith=r7;exports.getNumberUnitValue=Oe;exports.getParagraphByGlyph=e7;exports.getPointerPrefix=W2;exports.getRotateOffsetAndFarthestHypotenuse=O6;exports.getRotateOrientation=s7;exports.getScale=E6;exports.getSizeForDom=Z4;exports.getTranslateInSpreadContextWithPixelRatio=xg;exports.getValueType=ve;exports.hasAllLatin=og;exports.hasArabic=y6;exports.hasBasicLatin=ag;exports.hasCJK=Bt;exports.hasCJKPunctuation=j2;exports.hasCJKText=vt;exports.hasLatinExtendedA=lg;exports.hasLatinExtendedB=cg;exports.hasLatinOneSupplement=ug;exports.hasListGlyph=bg;exports.hasSpace=j4;exports.hasTibetan=F6;exports.hasUnMergedCellInRow=K4;exports.injectStyle=_g;exports.isArray=eg;exports.isCjkCenterAlignedPunctuation=C6;exports.isCjkLeftAlignedPunctuation=D2;exports.isCjkRightAlignedPunctuation=_2;exports.isDate=Jp;exports.isFirstGlyph=Cg;exports.isFunction=b6;exports.isIndentByGlyph=yg;exports.isLastGlyph=Fg;exports.isNumber=tg;exports.isObject=ng;exports.isPlaceholderOrSpace=Eg;exports.isRectIntersect=q4;exports.isRegExp=Qp;exports.isSameLine=Sg;exports.isString=Y2;exports.mergeInfoOffset=V2;exports.pixelToPt=mg;exports.precisionTo=Qt;exports.ptToMM=gg;exports.ptToPixel=S6;exports.ptToPx=dg;exports.pxToInch=Dg;exports.pxToNum=Te;exports.pxToPt=pg;exports.radToDeg=G4;exports.requestNewFrame=Dt;exports.setLineType=w6;exports.startWithEmoji=t2;exports.toPx=se;
|