jit-viewer 1.0.0
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/LICENSE +201 -0
- package/README.md +188 -0
- package/dist/iife/jit-viewer.min.css +1 -0
- package/dist/iife/jit-viewer.min.js +125 -0
- package/dist/index-5PNP71rb.js +20 -0
- package/dist/index-C4cussrg.cjs +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.d.ts +1244 -0
- package/dist/index.js +28164 -0
- package/dist/style.css +1 -0
- package/package.json +85 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var e=Object.defineProperty,t=e=>{throw TypeError(e)},i=(t,i,r)=>((t,i,r)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[i]=r)(t,"symbol"!=typeof i?i+"":i,r),r=(e,i,r)=>i.has(e)||t("Cannot "+r),n=(e,t,i)=>(r(e,t,"read from private field"),i?i.call(e):t.get(e)),a=(e,i,r)=>i.has(e)?t("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(e):i.set(e,r),s=(e,t,i,n)=>(r(e,t,"write to private field"),n?n.call(e,i):t.set(e,i),i),o=(e,t,i)=>(r(e,t,"access private method"),i);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("vue");require("@vue-office/docx/lib/index.css"),require("@vue-office/excel/lib/index.css");const l=require("@vue-office/docx"),u=require("@vue-office/excel"),h=require("@vue-office/pdf"),d=require("@vue-office/pptx"),p={docx:"docx",xlsx:"xlsx",xls:"xls",pdf:"pdf",pptx:"pptx",ppt:"ppt",txt:"txt",md:"md",markdown:"markdown",ofd:"ofd"},f={"application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-excel":"xls","application/pdf":"pdf","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","application/vnd.ms-powerpoint":"ppt","text/plain":"txt","text/markdown":"md","text/x-markdown":"md","application/ofd":"ofd"};function g(e){const t=e.toLowerCase().match(/\.([a-z0-9]+)$/);return t?t[1]:""}function m(e){try{const t=new URL(e),i=t.pathname.split("/");return decodeURIComponent(i[i.length-1]||"unknown")}catch{const t=e.split("/");return decodeURIComponent(t[t.length-1]||"unknown")}}function b(e,t){if(e instanceof File){const t=e.type;return t&&f[t]?f[t]:p[g(e.name)]||"unknown"}if("object"==typeof e&&"url"in e){const i=t||m(e.url);return p[g(i)]||"unknown"}if("string"==typeof e){const i=t||m(e);return p[g(i)]||"unknown"}if(e instanceof Blob){const t=e.type;if(t&&f[t])return f[t]}return e instanceof ArrayBuffer&&t&&p[g(t)]||"unknown"}function y(e,t){return e instanceof File?e.name:"object"==typeof e&&"url"in e?m(e.url):"string"==typeof e?m(e):t||"unknown"}async function v(e){if(e instanceof ArrayBuffer)return e;if(e instanceof File)return new Promise((t,i)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=i,r.readAsArrayBuffer(e)});if(e instanceof Blob)return e.arrayBuffer();if("string"==typeof e){const t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch file: ${t.status} ${t.statusText}`);return t.arrayBuffer()}if("object"==typeof e&&"url"in e){const{url:t,headers:i={},method:r="GET",body:n}=e,a=await fetch(t,{method:r,headers:i,body:n});if(!a.ok)throw new Error(`Failed to fetch file: ${a.status} ${a.statusText}`);return a.arrayBuffer()}throw new Error("Unsupported file source type")}async function S(e){if(e instanceof Blob)return e;if(e instanceof ArrayBuffer)return new Blob([e]);const t=await v(e);return new Blob([t])}async function C(e){if("string"==typeof e)return e;if("object"==typeof e&&"url"in e)return e.url;const t=await S(e);return URL.createObjectURL(t)}async function x(e,t){const i=await C(e),r=t||y(e),n=document.createElement("a");n.href=i,n.download=r,n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),i.startsWith("blob:")&&URL.revokeObjectURL(i)}function w(){const e=new Map,t=new Map;return{on(t,i){e.has(t)||e.set(t,new Set),e.get(t).add(i)},off(i,r){const n=e.get(i);n&&(n.delete(r),0===n.size&&e.delete(i));const a=t.get(i);a&&a.delete(r)},emit(i,...r){const n=e.get(i);n&&n.forEach(e=>{try{e(...r)}catch(t){console.error(`Error in event handler for "${i}":`,t)}});const a=t.get(i);a&&(a.forEach(e=>{try{e(...r)}catch(t){console.error(`Error in once event handler for "${i}":`,t)}}),t.delete(i))},once(e,i){t.has(e)||t.set(e,new Set),t.get(e).add(i)}}}function A(e){return"string"==typeof e?document.querySelector(e):e}const E={async enter(e){const t=e;t.requestFullscreen?await t.requestFullscreen():t.webkitRequestFullscreen?await t.webkitRequestFullscreen():t.mozRequestFullScreen?await t.mozRequestFullScreen():t.msRequestFullscreen&&await t.msRequestFullscreen()},async exit(){const e=document;e.exitFullscreen?await e.exitFullscreen():e.webkitExitFullscreen?await e.webkitExitFullscreen():e.mozCancelFullScreen?await e.mozCancelFullScreen():e.msExitFullscreen&&await e.msExitFullscreen()},async toggle(e){this.isActive()?await this.exit():await this.enter(e)},isActive(){const e=document;return!!(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)},onChange(e){const t=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],i=()=>e(this.isActive());return t.forEach(e=>{document.addEventListener(e,i)}),()=>{t.forEach(e=>{document.removeEventListener(e,i)})}}};function k(e,t){const i=e.querySelector(".jv-viewer__render")||e,r=i.querySelectorAll("canvas"),n=window.open("","_blank");if(!n)return void console.error("Failed to open print window");const a=Array.from(document.styleSheets).map(e=>{try{return Array.from(e.cssRules).map(e=>e.cssText).join("\n")}catch{return""}}).join("\n"),s=i.cloneNode(!0),o=s.querySelector(".jv-viewer__loading-overlay");o&&o.remove();const c=s.querySelectorAll("canvas");r.forEach((e,t)=>{const i=c[t];if(i){const t=i.getContext("2d");t&&(i.width=e.width,i.height=e.height,t.drawImage(e,0,0))}}),n.document.write(`\n <!DOCTYPE html>\n <html>\n <head>\n <meta charset="UTF-8">\n <title>${t||"Print"}</title>\n <style>\n ${a}\n * {\n box-sizing: border-box;\n }\n body { \n margin: 0; \n padding: 20px;\n background: white;\n min-height: 100vh;\n }\n .jv-viewer__content {\n height: auto !important;\n overflow: visible !important;\n }\n .jv-viewer__render {\n height: auto !important;\n overflow: visible !important;\n background: white !important;\n }\n .jv-file-render {\n height: auto !important;\n overflow: visible !important;\n }\n /* 隐藏加载状态 */\n .jv-viewer__loading-overlay {\n display: none !important;\n }\n /* Canvas 样式 */\n canvas {\n display: block;\n margin: 10px auto;\n max-width: 100%;\n }\n @media print {\n body { padding: 0; }\n .jv-viewer__content,\n .jv-viewer__render,\n .jv-file-render {\n height: auto !important;\n overflow: visible !important;\n }\n canvas {\n page-break-inside: avoid;\n }\n }\n </style>\n </head>\n <body>\n ${s.outerHTML}\n <script>\n window.onload = function() {\n setTimeout(function() {\n window.print();\n window.close();\n }, 500);\n };\n <\/script>\n </body>\n </html>\n `),n.document.close()}const I={"toolbar.zoomIn":"放大","toolbar.zoomOut":"缩小","toolbar.zoomReset":"重置缩放","toolbar.rotateLeft":"向左旋转","toolbar.rotateRight":"向右旋转","toolbar.prevPage":"上一页","toolbar.nextPage":"下一页","toolbar.pageInfo":"第 {current} / {total} 页","toolbar.fullscreen":"全屏","toolbar.exitFullscreen":"退出全屏","toolbar.print":"打印","toolbar.download":"下载","toolbar.more":"更多",loading:"加载中...","error.loadFailed":"文件加载失败","error.unsupportedType":"不支持的文件类型","error.fileNotFound":"文件不存在",empty:"暂无内容"},T={"zh-CN":I,en:{"toolbar.zoomIn":"Zoom In","toolbar.zoomOut":"Zoom Out","toolbar.zoomReset":"Reset Zoom","toolbar.rotateLeft":"Rotate Left","toolbar.rotateRight":"Rotate Right","toolbar.prevPage":"Previous Page","toolbar.nextPage":"Next Page","toolbar.pageInfo":"Page {current} / {total}","toolbar.fullscreen":"Fullscreen","toolbar.exitFullscreen":"Exit Fullscreen","toolbar.print":"Print","toolbar.download":"Download","toolbar.more":"More",loading:"Loading...","error.loadFailed":"Failed to load file","error.unsupportedType":"Unsupported file type","error.fileNotFound":"File not found",empty:"No content"}},D=Symbol("locale");function F(e="zh-CN"){const t=c.ref(e),i=c.ref({...I}),r=e=>{t.value=e,i.value="string"==typeof e?{...T[e]}:{...e.messages}};r(e);const n={locale:t,messages:i,t:(e,t)=>{let r=i.value[e]||e;return t&&Object.entries(t).forEach(([e,t])=>{r=r.replace(`{${e}}`,t)}),r},setLocale:r};return c.provide(D,n),n}function P(){const e=c.inject(D);return e||{locale:c.ref("zh-CN"),messages:c.ref(I),t:(e,t)=>{let i=I[e]||e;return t&&Object.entries(t).forEach(([e,t])=>{i=i.replace(`{${e}}`,t)}),i},setLocale:()=>{}}}const B={name:"light",variables:{"--jv-bg-primary":"#ffffff","--jv-bg-secondary":"#f5f5f5","--jv-bg-tertiary":"#e8e8e8","--jv-text-primary":"#1a1a1a","--jv-text-secondary":"#666666","--jv-text-tertiary":"#999999","--jv-border-color":"#e0e0e0","--jv-border-color-light":"#f0f0f0","--jv-primary-color":"#1677ff","--jv-primary-hover":"#4096ff","--jv-shadow":"0 2px 8px rgba(0, 0, 0, 0.08)","--jv-shadow-lg":"0 4px 16px rgba(0, 0, 0, 0.12)","--jv-radius":"6px","--jv-radius-lg":"8px","--jv-toolbar-bg":"#ffffff","--jv-toolbar-height":"48px","--jv-toolbar-border":"#e0e0e0"}},O={light:B,dark:{name:"dark",variables:{"--jv-bg-primary":"#1a1a1a","--jv-bg-secondary":"#2a2a2a","--jv-bg-tertiary":"#3a3a3a","--jv-text-primary":"#ffffff","--jv-text-secondary":"#b0b0b0","--jv-text-tertiary":"#808080","--jv-border-color":"#404040","--jv-border-color-light":"#333333","--jv-primary-color":"#4a9eff","--jv-primary-hover":"#6ab3ff","--jv-shadow":"0 2px 8px rgba(0, 0, 0, 0.3)","--jv-shadow-lg":"0 4px 16px rgba(0, 0, 0, 0.4)","--jv-radius":"6px","--jv-radius-lg":"8px","--jv-toolbar-bg":"#2a2a2a","--jv-toolbar-height":"48px","--jv-toolbar-border":"#404040"}}},N=Symbol("theme");function M(e,t){const i=t||document.documentElement;Object.entries(e).forEach(([e,t])=>{i.style.setProperty(e,t)})}function R(e="light",t){const i=c.ref(e),r=c.ref({...B.variables}),n=e=>"string"==typeof e?O[e]||B:e,a=e=>{i.value=e;const a=n(e);r.value={...a.variables},(null==t?void 0:t.value)?M(a.variables,t.value):M(a.variables)};a(e),t&&c.watch(t,e=>{if(e){M(n(i.value).variables,e)}});const s={theme:i,setTheme:a,getVariables:()=>r.value};return c.provide(N,s),s}const _=Symbol("viewerState");function U(e={}){const{initialZoom:t=1,initialRotate:i=0}=e,r=c.ref(!1),n=c.ref(!1),a=c.ref(null),s=c.ref("unknown"),o=c.ref(""),l=c.ref(null),u=c.ref(t),h=c.ref(i),d=c.ref(1),p=c.ref(1),f=c.ref(!1),g=c.ref(null),m=c.computed(()=>({mounted:r.value,loading:n.value,error:a.value,fileType:s.value,filename:o.value,zoom:u.value,rotate:h.value,page:{current:d.value,total:p.value},fullscreen:f.value})),v=(e,t)=>{d.value=Math.max(1,Math.min(t||p.value,e)),void 0!==t&&(p.value=t)},S=e=>{var t,i;const r=null==(i=null==(t=g.value)?void 0:t.getPageInfo)?void 0:i.call(t);r?v(r.current,r.total):void 0!==e&&v(e)},C=c.ref(null),x={mounted:r,loading:n,error:a,fileType:s,filename:o,fileSource:l,zoom:u,rotate:h,currentPage:d,totalPages:p,fullscreen:f,state:m,setMounted:e=>{r.value=e},setLoading:e=>{n.value=e},setError:e=>{a.value=e},setFile:(e,r)=>{l.value=e,s.value=b(e,r),o.value=r||y(e),u.value="ofd"===s.value?.7:t,h.value=i,d.value=1,p.value=1,a.value=null},clearFile:()=>{l.value=null,s.value="unknown",o.value="",a.value=null},setZoom:e=>{u.value=Math.max(.1,Math.min(5,e))},setRotate:e=>{h.value=e%360},resetTransform:()=>{u.value=t,h.value=i},setPage:v,gotoPage:e=>{var t;if(null==(t=g.value)?void 0:t.gotoPage){const t=g.value.gotoPage(e);return void("number"==typeof t?v(t):t&&"object"==typeof t?v(t.current,t.total):S(e))}v(e)},prevPage:()=>{var e;if(null==(e=g.value)?void 0:e.prevPage){const e=g.value.prevPage();return void("number"==typeof e?v(e):e&&"object"==typeof e?v(e.current,e.total):S(d.value-1))}d.value>1&&d.value--},nextPage:()=>{var e;if(null==(e=g.value)?void 0:e.nextPage){const e=g.value.nextPage();return void("number"==typeof e?v(e):e&&"object"==typeof e?v(e.current,e.total):S(d.value+1))}d.value<p.value&&d.value++},setPageController:e=>{g.value=e},setFullscreen:e=>{f.value=e},print:()=>{C.value?C.value():window.print()},setPrintFn:e=>{C.value=e}};return c.provide(_,x),x}function L(){const e=c.inject(_);if(!e)throw new Error("useViewerState must be used within a Viewer component");return e}const H=["disabled","title"],j={class:"jv-toolbar-btn__icon"},q={key:0,class:"jv-toolbar-btn__label"},K=(e,t)=>{const i=e.__vccOpts||e;for(const[r,n]of t)i[r]=n;return i},G=K(c.defineComponent({__name:"ActionButton",props:{type:{},title:{},label:{},disabled:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const i=e,r=t;function n(e){i.disabled||r("click",e)}return(t,i)=>(c.openBlock(),c.createElementBlock("button",{class:c.normalizeClass(["jv-toolbar-btn",[`jv-toolbar-btn--${e.type}`,{"jv-toolbar-btn--disabled":e.disabled}]]),disabled:e.disabled,title:e.title,onClick:n},[c.createElementVNode("span",j,[c.renderSlot(t.$slots,"default",{},void 0,!0)]),e.label?(c.openBlock(),c.createElementBlock("span",q,c.toDisplayString(e.label),1)):c.createCommentVNode("",!0)],10,H))}}),[["__scopeId","data-v-9abd52f0"]]),V={class:"jv-zoom-control"},z={class:"jv-zoom-control__value"},X=c.defineComponent({__name:"ZoomControl",setup(e){const{t:t}=P(),{zoom:i,setZoom:r,resetTransform:n}=L();function a(){r(i.value+.1)}function s(){r(i.value-.1)}function o(){n()}return(e,r)=>(c.openBlock(),c.createElementBlock("div",V,[c.createVNode(G,{type:"zoom-out",title:c.unref(t)("toolbar.zoomOut"),onClick:s},{default:c.withCtx(()=>[...r[0]||(r[0]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),c.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),c.createElementVNode("line",{x1:"8",y1:"11",x2:"14",y2:"11"})],-1)])]),_:1},8,["title"]),c.createElementVNode("span",z,c.toDisplayString(Math.round(100*c.unref(i)))+"%",1),c.createVNode(G,{type:"zoom-in",title:c.unref(t)("toolbar.zoomIn"),onClick:a},{default:c.withCtx(()=>[...r[1]||(r[1]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),c.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),c.createElementVNode("line",{x1:"11",y1:"8",x2:"11",y2:"14"}),c.createElementVNode("line",{x1:"8",y1:"11",x2:"14",y2:"11"})],-1)])]),_:1},8,["title"]),c.createVNode(G,{type:"zoom-reset",title:c.unref(t)("toolbar.zoomReset"),onClick:o},{default:c.withCtx(()=>[...r[2]||(r[2]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("rect",{x:"3",y:"3",width:"8",height:"8",rx:"1"}),c.createElementVNode("rect",{x:"13",y:"13",width:"8",height:"8",rx:"1"})],-1)])]),_:1},8,["title"])]))}}),W=K(X,[["__scopeId","data-v-874ddbac"]]),$={class:"jv-rotate-control"},Z=c.defineComponent({__name:"RotateControl",setup(e){const{t:t}=P(),{setRotate:i}=L();function r(){i(-90)}function n(){i(90)}return(e,i)=>(c.openBlock(),c.createElementBlock("div",$,[c.createVNode(G,{type:"rotate-left",title:c.unref(t)("toolbar.rotateLeft"),onClick:r},{default:c.withCtx(()=>[...i[0]||(i[0]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("path",{d:"M2.5 2v6h6M2.66 15.57a10 10 0 1 0 .57-8.38"})],-1)])]),_:1},8,["title"]),c.createVNode(G,{type:"rotate-right",title:c.unref(t)("toolbar.rotateRight"),onClick:n},{default:c.withCtx(()=>[...i[1]||(i[1]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("path",{d:"M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38"})],-1)])]),_:1},8,["title"])]))}}),Y=K(Z,[["__scopeId","data-v-ad291658"]]),Q={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},J={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ee=c.defineComponent({__name:"FullscreenButton",setup(e){const{t:t}=P(),{setFullscreen:i}=L(),r=c.ref(!1);let n=null;function a(){const e=document.querySelector(".jv-viewer");e&&E.toggle(e)}return c.onMounted(()=>{n=E.onChange(e=>{r.value=e,i(e)})}),c.onUnmounted(()=>{null==n||n()}),(e,i)=>(c.openBlock(),c.createBlock(G,{type:r.value?"exit-fullscreen":"fullscreen",title:r.value?c.unref(t)("toolbar.exitFullscreen"):c.unref(t)("toolbar.fullscreen"),onClick:a},{default:c.withCtx(()=>[r.value?(c.openBlock(),c.createElementBlock("svg",J,[...i[1]||(i[1]=[c.createElementVNode("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):(c.openBlock(),c.createElementBlock("svg",Q,[...i[0]||(i[0]=[c.createElementVNode("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])]))]),_:1},8,["type","title"]))}}),te={key:0,class:"jv-pagination"},ie={class:"jv-pagination__info"},re=c.defineComponent({__name:"Pagination",setup(e){const{t:t}=P(),{currentPage:i,totalPages:r,prevPage:n,nextPage:a}=L();return(e,s)=>c.unref(r)>1?(c.openBlock(),c.createElementBlock("div",te,[c.createVNode(G,{type:"prev",title:c.unref(t)("toolbar.prevPage"),disabled:c.unref(i)<=1,onClick:c.unref(n)},{default:c.withCtx(()=>[...s[0]||(s[0]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("polyline",{points:"15 18 9 12 15 6"})],-1)])]),_:1},8,["title","disabled","onClick"]),c.createElementVNode("span",ie,c.toDisplayString(c.unref(t)("toolbar.pageInfo",{current:c.unref(i).toString(),total:c.unref(r).toString()})),1),c.createVNode(G,{type:"next",title:c.unref(t)("toolbar.nextPage"),disabled:c.unref(i)>=c.unref(r),onClick:c.unref(a)},{default:c.withCtx(()=>[...s[1]||(s[1]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("polyline",{points:"9 18 15 12 9 6"})],-1)])]),_:1},8,["title","disabled","onClick"])])):c.createCommentVNode("",!0)}}),ne=K(re,[["__scopeId","data-v-97c0759f"]]),ae={key:0,class:"jv-toolbar__top"},se={class:"jv-toolbar__left"},oe={key:0,class:"jv-toolbar__filename"},ce={class:"jv-toolbar__center"},le={class:"jv-toolbar__right"},ue={key:1,class:"jv-toolbar__bottom"},he={class:"jv-toolbar__left"},de={class:"jv-toolbar__center"},pe={class:"jv-toolbar__right"},fe=c.defineComponent({__name:"Toolbar",props:{config:{},visible:{type:Boolean,default:!0}},setup(e){const t=e,{t:i}=P(),{filename:r,fileSource:n}=L(),a=c.ref();let s=null,o=null;function l(){const e=a.value;if(!e)return!1;if(!document.body.contains(e))return u(),!1;const t=e.querySelector(".jv-branding-link");if(!t)return u(),!1;if("https://github.com/jitOffice/jit-viewer-sdk"!==t.getAttribute("href"))return u(),!1;const i=e.textContent||"";return!(!i.includes("JitViewer")||!i.includes("提供文档预览支持"))||(u(),!1)}function u(){var e;if(document.querySelector(".jv-copyright-warning"))return;const t=document.createElement("div");t.className="jv-copyright-warning",t.innerHTML='\n <div class="jv-copyright-warning__content">\n <div class="jv-copyright-warning__icon">⚠️</div>\n <div class="jv-copyright-warning__title">版权信息被移除</div>\n <div class="jv-copyright-warning__text">\n 请保留 "JitViewer提供文档预览支持" 版权信息<br>\n <a href="https://github.com/jitOffice/jit-viewer-sdk" target="_blank">https://github.com/jitOffice/jit-viewer-sdk</a>\n </div>\n <button class="jv-copyright-warning__btn">我知道了</button>\n </div>\n ';const i=document.createElement("style");i.textContent="\n .jv-copyright-warning {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.7);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 99999;\n }\n .jv-copyright-warning__content {\n background: white;\n padding: 32px;\n border-radius: 12px;\n text-align: center;\n max-width: 400px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\n }\n .jv-copyright-warning__icon {\n font-size: 48px;\n margin-bottom: 16px;\n }\n .jv-copyright-warning__title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 12px;\n color: #333;\n }\n .jv-copyright-warning__text {\n font-size: 14px;\n color: #666;\n margin-bottom: 20px;\n line-height: 1.6;\n }\n .jv-copyright-warning__text a {\n color: #1890ff;\n }\n .jv-copyright-warning__btn {\n background: #1890ff;\n color: white;\n border: none;\n padding: 10px 32px;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n .jv-copyright-warning__btn:hover {\n background: #40a9ff;\n }\n ",document.head.appendChild(i),document.body.appendChild(t),null==(e=t.querySelector(".jv-copyright-warning__btn"))||e.addEventListener("click",()=>{location.reload()})}const h=["zoom","rotate","fullscreen","pagination","download"],d=c.computed(()=>{const e=t.config;return"boolean"==typeof e?!1===e?{items:[],position:"both"}:{items:h.map(e=>({type:e})),position:"both"}:e?{items:e.items||h.map(e=>({type:e})),position:e.position||"both"}:{items:h.map(e=>({type:e})),position:"both"}}),p=c.computed(()=>`jv-toolbar--${d.value.position}`),f=c.computed(()=>{const e=d.value.position;return"top"===e||"both"===e}),g=c.computed(()=>{const e=d.value.position;return"bottom"===e||"both"===e});function m(e){var t;return(null==(t=d.value.items)?void 0:t.some(t=>t.type===e))??!1}async function b(){n.value&&await x(n.value,r.value)}return c.onMounted(()=>{setTimeout(()=>{s=new MutationObserver(()=>{l()}),a.value&&s.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","style","class"]}),o=setInterval(l,1e3)},100)}),c.onUnmounted(()=>{s&&(s.disconnect(),s=null),o&&(clearInterval(o),o=null)}),(t,n)=>(c.openBlock(),c.createElementBlock("div",{class:c.normalizeClass(["jv-toolbar",[p.value,{"jv-toolbar--hidden":!e.visible}]])},[f.value?(c.openBlock(),c.createElementBlock("div",ae,[c.createElementVNode("div",se,[c.renderSlot(t.$slots,"top-left",{},()=>[c.unref(r)?(c.openBlock(),c.createElementBlock("span",oe,c.toDisplayString(c.unref(r)),1)):c.createCommentVNode("",!0)],!0)]),c.createElementVNode("div",ce,[c.renderSlot(t.$slots,"top-center",{},void 0,!0)]),c.createElementVNode("div",le,[c.renderSlot(t.$slots,"top-right",{},()=>[m("zoom")?(c.openBlock(),c.createBlock(W,{key:0})):c.createCommentVNode("",!0),m("rotate")?(c.openBlock(),c.createBlock(Y,{key:1})):c.createCommentVNode("",!0),m("fullscreen")?(c.openBlock(),c.createBlock(ee,{key:2})):c.createCommentVNode("",!0)],!0)])])):c.createCommentVNode("",!0),g.value?(c.openBlock(),c.createElementBlock("div",ue,[c.createElementVNode("div",he,[c.renderSlot(t.$slots,"bottom-left",{},()=>[m("pagination")?(c.openBlock(),c.createBlock(ne,{key:0})):c.createCommentVNode("",!0)],!0)]),c.createElementVNode("div",de,[c.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),c.createElementVNode("div",pe,[c.renderSlot(t.$slots,"bottom-right",{},()=>[c.createElementVNode("span",{class:"jv-toolbar__branding",ref_key:"brandingRef",ref:a,"data-jv-copyright":"true"},[...n[0]||(n[0]=[c.createElementVNode("a",{href:"https://github.com/jitOffice/jit-viewer-sdk",target:"_blank",rel:"noopener noreferrer",class:"jv-branding-link"},"JitViewer",-1),c.createTextVNode("提供文档预览支持 ",-1)])],512),m("download")?(c.openBlock(),c.createBlock(G,{key:0,type:"download",title:c.unref(i)("toolbar.download"),onClick:b},{default:c.withCtx(()=>[...n[1]||(n[1]=[c.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),c.createElementVNode("polyline",{points:"7 10 12 15 17 10"}),c.createElementVNode("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])]),_:1},8,["title"])):c.createCommentVNode("",!0)],!0)])])):c.createCommentVNode("",!0)],2))}}),ge=K(fe,[["__scopeId","data-v-715b4e5f"]]),me=K(c.defineComponent({__name:"DocxRender",props:{source:{},zoom:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(),s=c.ref(!0),o=c.computed(()=>({transform:`scale(${i.zoom})`,transformOrigin:"top center"}));function u(){s.value=!1,r("load")}function h(e){s.value=!1,r("error",e)}return c.watch(()=>i.source,async function(){try{s.value=!0,a.value=await v(i.source)}catch(e){h(e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--docx"},[c.createVNode(c.unref(l),{src:a.value,style:c.normalizeStyle(o.value),onRendered:u,onError:h},null,8,["src","style"])],512))}}),[["__scopeId","data-v-64a29f11"]]),be=K(c.defineComponent({__name:"ExcelRender",props:{source:{},zoom:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(),s=c.ref(!0),o=c.computed(()=>({transform:`scale(${i.zoom})`,transformOrigin:"top center"}));function l(){s.value=!1,r("load")}function h(e){s.value=!1,r("error",e)}return c.watch(()=>i.source,async function(){try{s.value=!0,a.value=await v(i.source)}catch(e){h(e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--excel"},[c.createVNode(c.unref(u),{src:a.value,style:c.normalizeStyle(o.value),onRendered:l,onError:h},null,8,["src","style"])],512))}}),[["__scopeId","data-v-ebc546c0"]]),ye=K(c.defineComponent({__name:"PdfRender",props:{source:{},zoom:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(),s=c.ref(!0),o=c.computed(()=>({transform:`scale(${i.zoom})`,transformOrigin:"top center"}));function l(){s.value=!1,r("load")}function u(e){s.value=!1,r("error",e)}return c.watch(()=>i.source,async function(){try{s.value=!0,a.value=await v(i.source)}catch(e){u(e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--pdf"},[c.createVNode(c.unref(h),{src:a.value,style:c.normalizeStyle(o.value),onRendered:l,onError:u},null,8,["src","style"])],512))}}),[["__scopeId","data-v-cf0a921e"]]),ve=K(c.defineComponent({__name:"PptxRender",props:{source:{},zoom:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(),s=c.ref(!0),o=c.computed(()=>({transform:`scale(${i.zoom})`,transformOrigin:"top center"}));function l(){s.value=!1,r("load")}function u(e){s.value=!1,r("error",e)}return c.watch(()=>i.source,async function(){try{s.value=!0,a.value=await v(i.source)}catch(e){u(e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--pptx"},[c.createVNode(c.unref(d),{src:a.value,style:c.normalizeStyle(o.value),onRendered:l,onError:u},null,8,["src","style"])],512))}}),[["__scopeId","data-v-a181a5b5"]]),Se={class:"jv-text-content"},Ce=K(c.defineComponent({__name:"TextRender",props:{source:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(""),s=c.ref(!0);return c.watch(()=>i.source,async function(){try{s.value=!0;const e=await S(i.source),t=await e.text();a.value=t,s.value=!1,r("load")}catch(e){s.value=!1,r("error",e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--text"},[c.createElementVNode("pre",Se,c.toDisplayString(a.value),1)],512))}}),[["__scopeId","data-v-f5957104"]]),xe=["innerHTML"],we=K(c.defineComponent({__name:"MarkdownRender",props:{source:{}},emits:["load","error"],setup(e,{emit:t}){const i=e,r=t,n=c.ref(),a=c.ref(""),s=c.ref(!0),o=c.computed(()=>{return(e=a.value)?e.replace(/```(\w+)?\n([\s\S]*?)```/g,"<pre><code>$2</code></pre>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*\*(.*?)\*\*\*/g,"<strong><em>$1</em></strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank">$1</a>').replace(/!\[([^\]]*)\]\(([^)]+)\)/g,'<img alt="$1" src="$2" />').replace(/^\s*[-*+]\s+(.*$)/gim,"<li>$1</li>").replace(/^\s*\d+\.\s+(.*$)/gim,"<li>$1</li>").replace(/^>\s+(.*$)/gim,"<blockquote>$1</blockquote>").replace(/^---$/gim,"<hr />").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br />").replace(/^(.+)$/gim,"<p>$1</p>").replace(/<p><\/p>/g,"").replace(/(<li>.*<\/li>)/s,"<ul>$1</ul>"):"";var e});return c.watch(()=>i.source,async function(){try{s.value=!0;const e=await S(i.source),t=await e.text();a.value=t,s.value=!1,r("load")}catch(e){s.value=!1,r("error",e)}},{immediate:!0}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:n,class:"jv-file-render jv-file-render--markdown"},[c.createElementVNode("div",{class:"jv-markdown-content",innerHTML:o.value},null,8,xe)],512))}}),[["__scopeId","data-v-9b60bb2a"]]);"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var Ae,Ee={exports:{}};
|
|
2
|
+
/*! For license information please see index.js.LICENSE.txt */
|
|
3
|
+
Ae=Ee.exports;var ke=Ee.exports=(()=>(()=>{var e={454:(e,t,i)=>{const r=i(918),n=i(923),a=i(904);e.exports={XMLParser:n,XMLValidator:r,XMLBuilder:a}},334:(e,t)=>{const i=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+i+"]["+i+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+r+"$");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,i){if(t){const r=Object.keys(t),n=r.length;for(let a=0;a<n;a++)e[r[a]]="strict"===i?[t[r[a]]]:t[r[a]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(e){return!(null==n.exec(e))},t.getAllMatches=function(e,t){const i=[];let r=t.exec(e);for(;r;){const n=[];n.startIndex=t.lastIndex-r[0].length;const a=r.length;for(let e=0;e<a;e++)n.push(r[e]);i.push(n),r=t.exec(e)}return i},t.nameRegexp=r},918:(e,t,i)=>{const r=i(334),n={allowBooleanAttributes:!1,unpairedTags:[]};function a(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function s(e,t){const i=t;for(;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{const r=e.substr(i,t-i);if(t>5&&"xml"===r)return f("InvalidXml","XML declaration allowed only at the start of the document.",m(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function o(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let i=1;for(t+=8;t<e.length;t++)if("<"===e[t])i++;else if(">"===e[t]&&(i--,0===i))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=Object.assign({},n,t);const i=[];let c=!1,l=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let n=0;n<e.length;n++)if("<"===e[n]&&"?"===e[n+1]){if(n+=2,n=s(e,n),n.err)return n}else{if("<"!==e[n]){if(a(e[n]))continue;return f("InvalidChar","char '"+e[n]+"' is not expected.",m(e,n))}{let g=n;if(n++,"!"===e[n]){n=o(e,n);continue}{let b=!1;"/"===e[n]&&(b=!0,n++);let y="";for(;n<e.length&&">"!==e[n]&&" "!==e[n]&&"\t"!==e[n]&&"\n"!==e[n]&&"\r"!==e[n];n++)y+=e[n];if(y=y.trim(),"/"===y[y.length-1]&&(y=y.substring(0,y.length-1),n--),h=y,!r.isName(h)){let t;return t=0===y.trim().length?"Invalid space after '<'.":"Tag '"+y+"' is an invalid name.",f("InvalidTag",t,m(e,n))}const v=u(e,n);if(!1===v)return f("InvalidAttr","Attributes for '"+y+"' have open quote.",m(e,n));let S=v.value;if(n=v.index,"/"===S[S.length-1]){const i=n-S.length;S=S.substring(0,S.length-1);const r=d(S,t);if(!0!==r)return f(r.err.code,r.err.msg,m(e,i+r.err.line));c=!0}else if(b){if(!v.tagClosed)return f("InvalidTag","Closing tag '"+y+"' doesn't have proper closing.",m(e,n));if(S.trim().length>0)return f("InvalidTag","Closing tag '"+y+"' can't have attributes or invalid starting.",m(e,g));if(0===i.length)return f("InvalidTag","Closing tag '"+y+"' has not been opened.",m(e,g));{const t=i.pop();if(y!==t.tagName){let i=m(e,t.tagStartPos);return f("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+y+"'.",m(e,g))}0==i.length&&(l=!0)}}else{const r=d(S,t);if(!0!==r)return f(r.err.code,r.err.msg,m(e,n-S.length+r.err.line));if(!0===l)return f("InvalidXml","Multiple possible root nodes found.",m(e,n));-1!==t.unpairedTags.indexOf(y)||i.push({tagName:y,tagStartPos:g}),c=!0}for(n++;n<e.length;n++)if("<"===e[n]){if("!"===e[n+1]){n++,n=o(e,n);continue}if("?"!==e[n+1])break;if(n=s(e,++n),n.err)return n}else if("&"===e[n]){const t=p(e,n);if(-1==t)return f("InvalidChar","char '&' is not expected.",m(e,n));n=t}else if(!0===l&&!a(e[n]))return f("InvalidXml","Extra text at the end",m(e,n));"<"===e[n]&&n--}}}var h;return c?1==i.length?f("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",m(e,i[0].tagStartPos)):!(i.length>0)||f("InvalidXml","Invalid '"+JSON.stringify(i.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):f("InvalidXml","Start tag expected.",1)};const c='"',l="'";function u(e,t){let i="",r="",n=!1;for(;t<e.length;t++){if(e[t]===c||e[t]===l)""===r?r=e[t]:r!==e[t]||(r="");else if(">"===e[t]&&""===r){n=!0;break}i+=e[t]}return""===r&&{value:i,index:t,tagClosed:n}}const h=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function d(e,t){const i=r.getAllMatches(e,h),n={};for(let r=0;r<i.length;r++){if(0===i[r][1].length)return f("InvalidAttr","Attribute '"+i[r][2]+"' has no space in starting.",b(i[r]));if(void 0!==i[r][3]&&void 0===i[r][4])return f("InvalidAttr","Attribute '"+i[r][2]+"' is without value.",b(i[r]));if(void 0===i[r][3]&&!t.allowBooleanAttributes)return f("InvalidAttr","boolean attribute '"+i[r][2]+"' is not allowed.",b(i[r]));const e=i[r][2];if(!g(e))return f("InvalidAttr","Attribute '"+e+"' is an invalid name.",b(i[r]));if(n.hasOwnProperty(e))return f("InvalidAttr","Attribute '"+e+"' is repeated.",b(i[r]));n[e]=1}return!0}function p(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let i=/\d/;for("x"===e[t]&&(t++,i=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(i))break}return-1}(e,++t);let i=0;for(;t<e.length;t++,i++)if(!(e[t].match(/\w/)&&i<20)){if(";"===e[t])break;return-1}return t}function f(e,t,i){return{err:{code:e,msg:t,line:i.line||i,col:i.col}}}function g(e){return r.isName(e)}function m(e,t){const i=e.substring(0,t).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function b(e){return e.startIndex+e[1].length}},904:(e,t,i)=>{const r=i(788),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function a(e){this.options=Object.assign({},n,e),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=s,this.options.format?(this.indentate=o,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function s(e,t,i){const r=this.j2x(e,i+1);return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,i):this.buildObjectNode(r.val,t,r.attrStr,i)}function o(e){return this.options.indentBy.repeat(e)}function c(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}a.prototype.build=function(e){return this.options.preserveOrder?r(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0).val)},a.prototype.j2x=function(e,t){let i="",r="";for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))if(void 0===e[n])this.isAttribute(n)&&(r+="");else if(null===e[n])this.isAttribute(n)?r+="":"?"===n[0]?r+=this.indentate(t)+"<"+n+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+n+"/"+this.tagEndChar;else if(e[n]instanceof Date)r+=this.buildTextValNode(e[n],n,"",t);else if("object"!=typeof e[n]){const a=this.isAttribute(n);if(a)i+=this.buildAttrPairStr(a,""+e[n]);else if(n===this.options.textNodeName){let t=this.options.tagValueProcessor(n,""+e[n]);r+=this.replaceEntitiesValue(t)}else r+=this.buildTextValNode(e[n],n,"",t)}else if(Array.isArray(e[n])){const i=e[n].length;let a="",s="";for(let o=0;o<i;o++){const i=e[n][o];if(void 0===i);else if(null===i)"?"===n[0]?r+=this.indentate(t)+"<"+n+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+n+"/"+this.tagEndChar;else if("object"==typeof i)if(this.options.oneListGroup){const e=this.j2x(i,t+1);a+=e.val,this.options.attributesGroupName&&i.hasOwnProperty(this.options.attributesGroupName)&&(s+=e.attrStr)}else a+=this.processTextOrObjNode(i,n,t);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(n,i);e=this.replaceEntitiesValue(e),a+=e}else a+=this.buildTextValNode(i,n,"",t)}this.options.oneListGroup&&(a=this.buildObjectNode(a,n,s,t)),r+=a}else if(this.options.attributesGroupName&&n===this.options.attributesGroupName){const t=Object.keys(e[n]),r=t.length;for(let a=0;a<r;a++)i+=this.buildAttrPairStr(t[a],""+e[n][t[a]])}else r+=this.processTextOrObjNode(e[n],n,t);return{attrStr:i,val:r}},a.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},a.prototype.buildObjectNode=function(e,t,i,r){if(""===e)return"?"===t[0]?this.indentate(r)+"<"+t+i+"?"+this.tagEndChar:this.indentate(r)+"<"+t+i+this.closeTag(t)+this.tagEndChar;{let n="</"+t+this.tagEndChar,a="";return"?"===t[0]&&(a="?",n=""),!i&&""!==i||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===a.length?this.indentate(r)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(r)+"<"+t+i+a+this.tagEndChar+e+this.indentate(r)+n:this.indentate(r)+"<"+t+i+a+">"+e+n}},a.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},a.prototype.buildTextValNode=function(e,t,i,r){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(r)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(r)+"<"+t+i+"?"+this.tagEndChar;{let n=this.options.tagValueProcessor(t,e);return n=this.replaceEntitiesValue(n),""===n?this.indentate(r)+"<"+t+i+this.closeTag(t)+this.tagEndChar:this.indentate(r)+"<"+t+i+">"+n+"</"+t+this.tagEndChar}},a.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const i=this.options.entities[t];e=e.replace(i.regex,i.val)}return e},e.exports=a},788:e=>{function t(e,s,o,c){let l="",u=!1;for(let h=0;h<e.length;h++){const d=e[h],p=i(d);if(void 0===p)continue;let f="";if(f=0===o.length?p:`${o}.${p}`,p===s.textNodeName){let e=d[p];n(f,s)||(e=s.tagValueProcessor(p,e),e=a(e,s)),u&&(l+=c),l+=e,u=!1;continue}if(p===s.cdataPropName){u&&(l+=c),l+=`<![CDATA[${d[p][0][s.textNodeName]}]]>`,u=!1;continue}if(p===s.commentPropName){l+=c+`\x3c!--${d[p][0][s.textNodeName]}--\x3e`,u=!0;continue}if("?"===p[0]){const e=r(d[":@"],s),t="?xml"===p?"":c;let i=d[p][0][s.textNodeName];i=0!==i.length?" "+i:"",l+=t+`<${p}${i}${e}?>`,u=!0;continue}let g=c;""!==g&&(g+=s.indentBy);const m=c+`<${p}${r(d[":@"],s)}`,b=t(d[p],s,f,g);-1!==s.unpairedTags.indexOf(p)?s.suppressUnpairedNode?l+=m+">":l+=m+"/>":b&&0!==b.length||!s.suppressEmptyNode?b&&b.endsWith(">")?l+=m+`>${b}${c}</${p}>`:(l+=m+">",b&&""!==c&&(b.includes("/>")||b.includes("</"))?l+=c+s.indentBy+b+c:l+=b,l+=`</${p}>`):l+=m+"/>",u=!0}return l}function i(e){const t=Object.keys(e);for(let i=0;i<t.length;i++){const r=t[i];if(e.hasOwnProperty(r)&&":@"!==r)return r}}function r(e,t){let i="";if(e&&!t.ignoreAttributes)for(let r in e){if(!e.hasOwnProperty(r))continue;let n=t.attributeValueProcessor(r,e[r]);n=a(n,t),!0===n&&t.suppressBooleanAttributes?i+=` ${r.substr(t.attributeNamePrefix.length)}`:i+=` ${r.substr(t.attributeNamePrefix.length)}="${n}"`}return i}function n(e,t){let i=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let r in t.stopNodes)if(t.stopNodes[r]===e||t.stopNodes[r]==="*."+i)return!0;return!1}function a(e,t){if(e&&e.length>0&&t.processEntities)for(let i=0;i<t.entities.length;i++){const r=t.entities[i];e=e.replace(r.regex,r.val)}return e}e.exports=function(e,i){let r="";return i.format&&i.indentBy.length>0&&(r="\n"),t(e,i,"",r)}},400:(e,t,i)=>{const r=i(334);function n(e,t){let i="";for(;t<e.length&&"'"!==e[t]&&'"'!==e[t];t++)i+=e[t];if(i=i.trim(),-1!==i.indexOf(" "))throw new Error("External entites are not supported");const r=e[t++];let n="";for(;t<e.length&&e[t]!==r;t++)n+=e[t];return[i,n,t]}function a(e,t){return"!"===e[t+1]&&"-"===e[t+2]&&"-"===e[t+3]}function s(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"N"===e[t+3]&&"T"===e[t+4]&&"I"===e[t+5]&&"T"===e[t+6]&&"Y"===e[t+7]}function o(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"L"===e[t+3]&&"E"===e[t+4]&&"M"===e[t+5]&&"E"===e[t+6]&&"N"===e[t+7]&&"T"===e[t+8]}function c(e,t){return"!"===e[t+1]&&"A"===e[t+2]&&"T"===e[t+3]&&"T"===e[t+4]&&"L"===e[t+5]&&"I"===e[t+6]&&"S"===e[t+7]&&"T"===e[t+8]}function l(e,t){return"!"===e[t+1]&&"N"===e[t+2]&&"O"===e[t+3]&&"T"===e[t+4]&&"A"===e[t+5]&&"T"===e[t+6]&&"I"===e[t+7]&&"O"===e[t+8]&&"N"===e[t+9]}function u(e){if(r.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}e.exports=function(e,t){const i={};if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let r=1,h=!1,d=!1,p="";for(;t<e.length;t++)if("<"!==e[t]||d)if(">"===e[t]){if(d?"-"===e[t-1]&&"-"===e[t-2]&&(d=!1,r--):r--,0===r)break}else"["===e[t]?h=!0:p+=e[t];else{if(h&&s(e,t))t+=7,[entityName,val,t]=n(e,t+1),-1===val.indexOf("&")&&(i[u(entityName)]={regx:RegExp(`&${entityName};`,"g"),val:val});else if(h&&o(e,t))t+=8;else if(h&&c(e,t))t+=8;else if(h&&l(e,t))t+=9;else{if(!a)throw new Error("Invalid DOCTYPE");d=!0}r++,p=""}if(0!==r)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:t}}},460:(e,t)=>{const i={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,i){return e}};t.buildOptions=function(e){return Object.assign({},i,e)},t.defaultOptions=i},680:(e,t,i)=>{const r=i(334),n=i(832),a=i(400),s=i(983);function o(e){const t=Object.keys(e);for(let i=0;i<t.length;i++){const r=t[i];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:e[r]}}}function c(e,t,i,r,n,a,s){if(void 0!==e&&(this.options.trimValues&&!r&&(e=e.trim()),e.length>0)){s||(e=this.replaceEntitiesValue(e));const r=this.options.tagValueProcessor(t,e,i,n,a);return null==r?e:typeof r!=typeof e||r!==e?r:this.options.trimValues||e.trim()===e?S(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function l(e){if(this.options.removeNSPrefix){const t=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=i+t[1])}return e}const u=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function h(e,t,i){if(!this.options.ignoreAttributes&&"string"==typeof e){const i=r.getAllMatches(e,u),n=i.length,a={};for(let e=0;e<n;e++){const r=this.resolveNameSpace(i[e][1]);let n=i[e][4],s=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(s=this.options.transformAttributeName(s)),"__proto__"===s&&(s="#__proto__"),void 0!==n){this.options.trimValues&&(n=n.trim()),n=this.replaceEntitiesValue(n);const e=this.options.attributeValueProcessor(r,n,t);a[s]=null==e?n:typeof e!=typeof n||e!==n?e:S(n,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[s]=!0)}if(!Object.keys(a).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=a,e}return a}}const d=function(e){e=e.replace(/\r\n?/g,"\n");const t=new n("!xml");let i=t,r="",s="";for(let o=0;o<e.length;o++)if("<"===e[o])if("/"===e[o+1]){const t=b(e,">",o,"Closing Tag is not closed.");let n=e.substring(o+2,t).trim();if(this.options.removeNSPrefix){const e=n.indexOf(":");-1!==e&&(n=n.substr(e+1))}this.options.transformTagName&&(n=this.options.transformTagName(n)),i&&(r=this.saveTextToParentTag(r,i,s));const a=s.substring(s.lastIndexOf(".")+1);if(n&&-1!==this.options.unpairedTags.indexOf(n))throw new Error(`Unpaired tag can not be used as closing tag: </${n}>`);let c=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(c=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=s.lastIndexOf("."),s=s.substring(0,c),i=this.tagsNodeStack.pop(),r="",o=t}else if("?"===e[o+1]){let t=y(e,o,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,i,s),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new n(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,s,t.tagName)),this.addChild(i,e,s)}o=t.closeIndex+1}else if("!--"===e.substr(o+1,3)){const t=b(e,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){const n=e.substring(o+4,t-2);r=this.saveTextToParentTag(r,i,s),i.add(this.options.commentPropName,[{[this.options.textNodeName]:n}])}o=t}else if("!D"===e.substr(o+1,2)){const t=a(e,o);this.docTypeEntities=t.entities,o=t.i}else if("!["===e.substr(o+1,2)){const t=b(e,"]]>",o,"CDATA is not closed.")-2,n=e.substring(o+9,t);r=this.saveTextToParentTag(r,i,s);let a=this.parseTextData(n,i.tagname,s,!0,!1,!0,!0);null==a&&(a=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:n}]):i.add(this.options.textNodeName,a),o=t+2}else{let a=y(e,o,this.options.removeNSPrefix),c=a.tagName;const l=a.rawTagName;let u=a.tagExp,h=a.attrExpPresent,d=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),i&&r&&"!xml"!==i.tagname&&(r=this.saveTextToParentTag(r,i,s,!1));const p=i;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),c!==t.tagname&&(s+=s?"."+c:c),this.isItStopNode(this.options.stopNodes,s,c)){let t="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)"/"===c[c.length-1]?(c=c.substr(0,c.length-1),s=s.substr(0,s.length-1),u=c):u=u.substr(0,u.length-1),o=a.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(c))o=a.closeIndex;else{const i=this.readStopNodeData(e,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);o=i.i,t=i.tagContent}const r=new n(c);c!==u&&h&&(r[":@"]=this.buildAttributesMap(u,s,c)),t&&(t=this.parseTextData(t,c,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),r.add(this.options.textNodeName,t),this.addChild(i,r,s)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){"/"===c[c.length-1]?(c=c.substr(0,c.length-1),s=s.substr(0,s.length-1),u=c):u=u.substr(0,u.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));const e=new n(c);c!==u&&h&&(e[":@"]=this.buildAttributesMap(u,s,c)),this.addChild(i,e,s),s=s.substr(0,s.lastIndexOf("."))}else{const e=new n(c);this.tagsNodeStack.push(i),c!==u&&h&&(e[":@"]=this.buildAttributesMap(u,s,c)),this.addChild(i,e,s),i=e}r="",o=d}}else r+=e[o];return t.child};function p(e,t,i){const r=this.options.updateTag(t.tagname,i,t[":@"]);!1===r||("string"==typeof r?(t.tagname=r,e.addChild(t)):e.addChild(t))}const f=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const i=this.docTypeEntities[t];e=e.replace(i.regx,i.val)}for(let t in this.lastEntities){const i=this.lastEntities[t];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const i=this.htmlEntities[t];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function g(e,t,i,r){return e&&(void 0===r&&(r=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,i,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,r))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function m(e,t,i){const r="*."+i;for(const n in e){const i=e[n];if(r===i||t===i)return!0}return!1}function b(e,t,i,r){const n=e.indexOf(t,i);if(-1===n)throw new Error(r);return n+t.length-1}function y(e,t,i,r=">"){const n=function(e,t,i=">"){let r,n="";for(let a=t;a<e.length;a++){let t=e[a];if(r)t===r&&(r="");else if('"'===t||"'"===t)r=t;else if(t===i[0]){if(!i[1])return{data:n,index:a};if(e[a+1]===i[1])return{data:n,index:a}}else"\t"===t&&(t=" ");n+=t}}(e,t+1,r);if(!n)return;let a=n.data;const s=n.index,o=a.search(/\s/);let c=a,l=!0;-1!==o&&(c=a.substring(0,o),a=a.substring(o+1).trimStart());const u=c;if(i){const e=c.indexOf(":");-1!==e&&(c=c.substr(e+1),l=c!==n.data.substr(e+1))}return{tagName:c,tagExp:a,closeIndex:s,attrExpPresent:l,rawTagName:u}}function v(e,t,i){const r=i;let n=1;for(;i<e.length;i++)if("<"===e[i])if("/"===e[i+1]){const a=b(e,">",i,`${t} is not closed`);if(e.substring(i+2,a).trim()===t&&(n--,0===n))return{tagContent:e.substring(r,i),i:a};i=a}else if("?"===e[i+1])i=b(e,"?>",i+1,"StopNode is not closed.");else if("!--"===e.substr(i+1,3))i=b(e,"--\x3e",i+3,"StopNode is not closed.");else if("!["===e.substr(i+1,2))i=b(e,"]]>",i,"StopNode is not closed.")-2;else{const r=y(e,i,">");r&&((r&&r.tagName)===t&&"/"!==r.tagExp[r.tagExp.length-1]&&n++,i=r.closeIndex)}}function S(e,t,i){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&s(e,i)}return r.isExist(e)?e:""}e.exports=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=o,this.parseXml=d,this.parseTextData=c,this.resolveNameSpace=l,this.buildAttributesMap=h,this.isItStopNode=m,this.replaceEntitiesValue=f,this.readStopNodeData=v,this.saveTextToParentTag=g,this.addChild=p}}},923:(e,t,i)=>{const{buildOptions:r}=i(460),n=i(680),{prettify:a}=i(629),s=i(918);e.exports=class{constructor(e){this.externalEntities={},this.options=r(e)}parse(e,t){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(t){!0===t&&(t={});const i=s.validate(e,t);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const i=new n(this.options);i.addExternalEntities(this.externalEntities);const r=i.parseXml(e);return this.options.preserveOrder||void 0===r?r:a(r,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}}},629:(e,t)=>{function i(e,t,s){let o;const c={};for(let l=0;l<e.length;l++){const u=e[l],h=r(u);let d="";if(d=void 0===s?h:s+"."+h,h===t.textNodeName)void 0===o?o=u[h]:o+=""+u[h];else{if(void 0===h)continue;if(u[h]){let e=i(u[h],t,d);const r=a(e,t);u[":@"]?n(e,u[":@"],d,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==c[h]&&c.hasOwnProperty(h)?(Array.isArray(c[h])||(c[h]=[c[h]]),c[h].push(e)):t.isArray(h,d,r)?c[h]=[e]:c[h]=e}}}return"string"==typeof o?o.length>0&&(c[t.textNodeName]=o):void 0!==o&&(c[t.textNodeName]=o),c}function r(e){const t=Object.keys(e);for(let i=0;i<t.length;i++){const e=t[i];if(":@"!==e)return e}}function n(e,t,i,r){if(t){const n=Object.keys(t),a=n.length;for(let s=0;s<a;s++){const a=n[s];r.isArray(a,i+"."+a,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function a(e,t){const{textNodeName:i}=t,r=Object.keys(e).length;return 0===r||!(1!==r||!e[i]&&"boolean"!=typeof e[i]&&0!==e[i])}t.prettify=function(e,t){return i(e,t)}},832:e=>{e.exports=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}},534:function(e,t){(function(){var t;function i(e,t,i){null!=e&&("number"==typeof e?this.fromNumber(e,t,i):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function r(){return new i(null)}var n="undefined"!=typeof navigator;n&&"Microsoft Internet Explorer"==navigator.appName?(i.prototype.am=function(e,t,i,r,n,a){for(var s=32767&t,o=t>>15;--a>=0;){var c=32767&this[e],l=this[e++]>>15,u=o*c+l*s;n=((c=s*c+((32767&u)<<15)+i[r]+(1073741823&n))>>>30)+(u>>>15)+o*l+(n>>>30),i[r++]=1073741823&c}return n},t=30):n&&"Netscape"!=navigator.appName?(i.prototype.am=function(e,t,i,r,n,a){for(;--a>=0;){var s=t*this[e++]+i[r]+n;n=Math.floor(s/67108864),i[r++]=67108863&s}return n},t=26):(i.prototype.am=function(e,t,i,r,n,a){for(var s=16383&t,o=t>>14;--a>=0;){var c=16383&this[e],l=this[e++]>>14,u=o*c+l*s;n=((c=s*c+((16383&u)<<14)+i[r]+n)>>28)+(u>>14)+o*l,i[r++]=268435455&c}return n},t=28),i.prototype.DB=t,i.prototype.DM=(1<<t)-1,i.prototype.DV=1<<t,i.prototype.FV=Math.pow(2,52),i.prototype.F1=52-t,i.prototype.F2=2*t-52;var a,s,o=new Array;for(a="0".charCodeAt(0),s=0;s<=9;++s)o[a++]=s;for(a="a".charCodeAt(0),s=10;s<36;++s)o[a++]=s;for(a="A".charCodeAt(0),s=10;s<36;++s)o[a++]=s;function c(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function l(e,t){var i=o[e.charCodeAt(t)];return null==i?-1:i}function u(e){var t=r();return t.fromInt(e),t}function h(e){var t,i=1;return 0!=(t=e>>>16)&&(e=t,i+=16),0!=(t=e>>8)&&(e=t,i+=8),0!=(t=e>>4)&&(e=t,i+=4),0!=(t=e>>2)&&(e=t,i+=2),0!=(t=e>>1)&&(e=t,i+=1),i}function d(e){this.m=e}function p(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function f(e,t){return e&t}function g(e,t){return e|t}function m(e,t){return e^t}function b(e,t){return e&~t}function y(e){if(0==e)return-1;var t=0;return 65535&e||(e>>=16,t+=16),255&e||(e>>=8,t+=8),15&e||(e>>=4,t+=4),3&e||(e>>=2,t+=2),1&e||++t,t}function v(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function S(){}function C(e){return e}function x(e){this.r2=r(),this.q3=r(),i.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}d.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},d.prototype.revert=function(e){return e},d.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},d.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},d.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},p.prototype.convert=function(e){var t=r();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(i.ZERO)>0&&this.m.subTo(t,t),t},p.prototype.revert=function(e){var t=r();return e.copyTo(t),this.reduce(t),t},p.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var i=32767&e[t],r=i*this.mpl+((i*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[i=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[i]>=e.DV;)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},p.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},p.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},i.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},i.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},i.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,a=!1,s=0;--n>=0;){var o=8==r?255&e[n]:l(e,n);o<0?"-"==e.charAt(n)&&(a=!0):(a=!1,0==s?this[this.t++]=o:s+r>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=r)>=this.DB&&(s-=this.DB))}8==r&&128&e[0]&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),a&&i.ZERO.subTo(this,this)},i.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},i.prototype.dlShiftTo=function(e,t){var i;for(i=this.t-1;i>=0;--i)t[i+e]=this[i];for(i=e-1;i>=0;--i)t[i]=0;t.t=this.t+e,t.s=this.s},i.prototype.drShiftTo=function(e,t){for(var i=e;i<this.t;++i)t[i-e]=this[i];t.t=Math.max(this.t-e,0),t.s=this.s},i.prototype.lShiftTo=function(e,t){var i,r=e%this.DB,n=this.DB-r,a=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM;for(i=this.t-1;i>=0;--i)t[i+s+1]=this[i]>>n|o,o=(this[i]&a)<<r;for(i=s-1;i>=0;--i)t[i]=0;t[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()},i.prototype.rShiftTo=function(e,t){t.s=this.s;var i=Math.floor(e/this.DB);if(i>=this.t)t.t=0;else{var r=e%this.DB,n=this.DB-r,a=(1<<r)-1;t[0]=this[i]>>r;for(var s=i+1;s<this.t;++s)t[s-i-1]|=(this[s]&a)<<n,t[s-i]=this[s]>>r;r>0&&(t[this.t-i-1]|=(this.s&a)<<n),t.t=this.t-i,t.clamp()}},i.prototype.subTo=function(e,t){for(var i=0,r=0,n=Math.min(e.t,this.t);i<n;)r+=this[i]-e[i],t[i++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;i<this.t;)r+=this[i],t[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<e.t;)r-=e[i],t[i++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[i++]=this.DV+r:r>0&&(t[i++]=r),t.t=i,t.clamp()},i.prototype.multiplyTo=function(e,t){var r=this.abs(),n=e.abs(),a=r.t;for(t.t=a+n.t;--a>=0;)t[a]=0;for(a=0;a<n.t;++a)t[a+r.t]=r.am(0,n[a],t,a,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&i.ZERO.subTo(t,t)},i.prototype.squareTo=function(e){for(var t=this.abs(),i=e.t=2*t.t;--i>=0;)e[i]=0;for(i=0;i<t.t-1;++i){var r=t.am(i,t[i],e,2*i,0,1);(e[i+t.t]+=t.am(i+1,2*t[i],e,2*i+1,r,t.t-i-1))>=t.DV&&(e[i+t.t]-=t.DV,e[i+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(i,t[i],e,2*i,0,1)),e.s=0,e.clamp()},i.prototype.divRemTo=function(e,t,n){var a=e.abs();if(!(a.t<=0)){var s=this.abs();if(s.t<a.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=r());var o=r(),c=this.s,l=e.s,u=this.DB-h(a[a.t-1]);u>0?(a.lShiftTo(u,o),s.lShiftTo(u,n)):(a.copyTo(o),s.copyTo(n));var d=o.t,p=o[d-1];if(0!=p){var f=p*(1<<this.F1)+(d>1?o[d-2]>>this.F2:0),g=this.FV/f,m=(1<<this.F1)/f,b=1<<this.F2,y=n.t,v=y-d,S=null==t?r():t;for(o.dlShiftTo(v,S),n.compareTo(S)>=0&&(n[n.t++]=1,n.subTo(S,n)),i.ONE.dlShiftTo(d,S),S.subTo(o,o);o.t<d;)o[o.t++]=0;for(;--v>=0;){var C=n[--y]==p?this.DM:Math.floor(n[y]*g+(n[y-1]+b)*m);if((n[y]+=o.am(0,C,n,v,0,d))<C)for(o.dlShiftTo(v,S),n.subTo(S,n);n[y]<--C;)n.subTo(S,n)}null!=t&&(n.drShiftTo(d,t),c!=l&&i.ZERO.subTo(t,t)),n.t=d,n.clamp(),u>0&&n.rShiftTo(u,n),c<0&&i.ZERO.subTo(n,n)}}},i.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},i.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},i.prototype.exp=function(e,t){if(e>4294967295||e<1)return i.ONE;var n=r(),a=r(),s=t.convert(this),o=h(e)-1;for(s.copyTo(n);--o>=0;)if(t.sqrTo(n,a),(e&1<<o)>0)t.mulTo(a,s,n);else{var c=n;n=a,a=c}return t.revert(n)},i.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var i,r=(1<<t)-1,n=!1,a="",s=this.t,o=this.DB-s*this.DB%t;if(s-- >0)for(o<this.DB&&(i=this[s]>>o)>0&&(n=!0,a=c(i));s>=0;)o<t?(i=(this[s]&(1<<o)-1)<<t-o,i|=this[--s]>>(o+=this.DB-t)):(i=this[s]>>(o-=t)&r,o<=0&&(o+=this.DB,--s)),i>0&&(n=!0),n&&(a+=c(i));return n?a:"0"},i.prototype.negate=function(){var e=r();return i.ZERO.subTo(this,e),e},i.prototype.abs=function(){return this.s<0?this.negate():this},i.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var i=this.t;if(0!=(t=i-e.t))return this.s<0?-t:t;for(;--i>=0;)if(0!=(t=this[i]-e[i]))return t;return 0},i.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+h(this[this.t-1]^this.s&this.DM)},i.prototype.mod=function(e){var t=r();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(i.ZERO)>0&&e.subTo(t,t),t},i.prototype.modPowInt=function(e,t){var i;return i=e<256||t.isEven()?new d(t):new p(t),this.exp(e,i)},i.ZERO=u(0),i.ONE=u(1),S.prototype.convert=C,S.prototype.revert=C,S.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i)},S.prototype.sqrTo=function(e,t){e.squareTo(t)},x.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=r();return e.copyTo(t),this.reduce(t),t},x.prototype.revert=function(e){return e},x.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},x.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},x.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var w,A,E,k=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],I=(1<<26)/k[k.length-1];function T(){var e;e=(new Date).getTime(),A[E++]^=255&e,A[E++]^=e>>8&255,A[E++]^=e>>16&255,A[E++]^=e>>24&255,E>=M&&(E-=M)}if(i.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},i.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),i=Math.pow(e,t),n=u(i),a=r(),s=r(),o="";for(this.divRemTo(n,a,s);a.signum()>0;)o=(i+s.intValue()).toString(e).substr(1)+o,a.divRemTo(n,a,s);return s.intValue().toString(e)+o},i.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),a=!1,s=0,o=0,c=0;c<e.length;++c){var u=l(e,c);u<0?"-"==e.charAt(c)&&0==this.signum()&&(a=!0):(o=t*o+u,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),a&&i.ZERO.subTo(this,this)},i.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(i.ONE.shiftLeft(e-1),g,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(i.ONE.shiftLeft(e-1),this);else{var n=new Array,a=7&e;n.length=1+(e>>3),t.nextBytes(n),a>0?n[0]&=(1<<a)-1:n[0]=0,this.fromString(n,256)}},i.prototype.bitwiseTo=function(e,t,i){var r,n,a=Math.min(e.t,this.t);for(r=0;r<a;++r)i[r]=t(this[r],e[r]);if(e.t<this.t){for(n=e.s&this.DM,r=a;r<this.t;++r)i[r]=t(this[r],n);i.t=this.t}else{for(n=this.s&this.DM,r=a;r<e.t;++r)i[r]=t(n,e[r]);i.t=e.t}i.s=t(this.s,e.s),i.clamp()},i.prototype.changeBit=function(e,t){var r=i.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r},i.prototype.addTo=function(e,t){for(var i=0,r=0,n=Math.min(e.t,this.t);i<n;)r+=this[i]+e[i],t[i++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;i<this.t;)r+=this[i],t[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<e.t;)r+=e[i],t[i++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[i++]=r:r<-1&&(t[i++]=this.DV+r),t.t=i,t.clamp()},i.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},i.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},i.prototype.multiplyLowerTo=function(e,t,i){var r,n=Math.min(this.t+e.t,t);for(i.s=0,i.t=n;n>0;)i[--n]=0;for(r=i.t-this.t;n<r;++n)i[n+this.t]=this.am(0,e[n],i,n,0,this.t);for(r=Math.min(e.t,t);n<r;++n)this.am(0,e[n],i,n,0,t-n);i.clamp()},i.prototype.multiplyUpperTo=function(e,t,i){--t;var r=i.t=this.t+e.t-t;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(t-this.t,0);r<e.t;++r)i[this.t+r-t]=this.am(t-r,e[r],i,0,0,this.t+r-t);i.clamp(),i.drShiftTo(1,i)},i.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,i=this.s<0?e-1:0;if(this.t>0)if(0==t)i=this[0]%e;else for(var r=this.t-1;r>=0;--r)i=(t*i+this[r])%e;return i},i.prototype.millerRabin=function(e){var t=this.subtract(i.ONE),n=t.getLowestSetBit();if(n<=0)return!1;var a=t.shiftRight(n);(e=e+1>>1)>k.length&&(e=k.length);for(var s=r(),o=0;o<e;++o){s.fromInt(k[Math.floor(Math.random()*k.length)]);var c=s.modPow(a,this);if(0!=c.compareTo(i.ONE)&&0!=c.compareTo(t)){for(var l=1;l++<n&&0!=c.compareTo(t);)if(0==(c=c.modPowInt(2,this)).compareTo(i.ONE))return!1;if(0!=c.compareTo(t))return!1}}return!0},i.prototype.clone=function(){var e=r();return this.copyTo(e),e},i.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},i.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},i.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},i.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},i.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var i,r=this.DB-e*this.DB%8,n=0;if(e-- >0)for(r<this.DB&&(i=this[e]>>r)!=(this.s&this.DM)>>r&&(t[n++]=i|this.s<<this.DB-r);e>=0;)r<8?(i=(this[e]&(1<<r)-1)<<8-r,i|=this[--e]>>(r+=this.DB-8)):(i=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),128&i&&(i|=-256),0==n&&(128&this.s)!=(128&i)&&++n,(n>0||i!=this.s)&&(t[n++]=i);return t},i.prototype.equals=function(e){return 0==this.compareTo(e)},i.prototype.min=function(e){return this.compareTo(e)<0?this:e},i.prototype.max=function(e){return this.compareTo(e)>0?this:e},i.prototype.and=function(e){var t=r();return this.bitwiseTo(e,f,t),t},i.prototype.or=function(e){var t=r();return this.bitwiseTo(e,g,t),t},i.prototype.xor=function(e){var t=r();return this.bitwiseTo(e,m,t),t},i.prototype.andNot=function(e){var t=r();return this.bitwiseTo(e,b,t),t},i.prototype.not=function(){for(var e=r(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},i.prototype.shiftLeft=function(e){var t=r();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},i.prototype.shiftRight=function(e){var t=r();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},i.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+y(this[e]);return this.s<0?this.t*this.DB:-1},i.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,i=0;i<this.t;++i)e+=v(this[i]^t);return e},i.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<e%this.DB)},i.prototype.setBit=function(e){return this.changeBit(e,g)},i.prototype.clearBit=function(e){return this.changeBit(e,b)},i.prototype.flipBit=function(e){return this.changeBit(e,m)},i.prototype.add=function(e){var t=r();return this.addTo(e,t),t},i.prototype.subtract=function(e){var t=r();return this.subTo(e,t),t},i.prototype.multiply=function(e){var t=r();return this.multiplyTo(e,t),t},i.prototype.divide=function(e){var t=r();return this.divRemTo(e,t,null),t},i.prototype.remainder=function(e){var t=r();return this.divRemTo(e,null,t),t},i.prototype.divideAndRemainder=function(e){var t=r(),i=r();return this.divRemTo(e,t,i),new Array(t,i)},i.prototype.modPow=function(e,t){var i,n,a=e.bitLength(),s=u(1);if(a<=0)return s;i=a<18?1:a<48?3:a<144?4:a<768?5:6,n=a<8?new d(t):t.isEven()?new x(t):new p(t);var o=new Array,c=3,l=i-1,f=(1<<i)-1;if(o[1]=n.convert(this),i>1){var g=r();for(n.sqrTo(o[1],g);c<=f;)o[c]=r(),n.mulTo(g,o[c-2],o[c]),c+=2}var m,b,y=e.t-1,v=!0,S=r();for(a=h(e[y])-1;y>=0;){for(a>=l?m=e[y]>>a-l&f:(m=(e[y]&(1<<a+1)-1)<<l-a,y>0&&(m|=e[y-1]>>this.DB+a-l)),c=i;!(1&m);)m>>=1,--c;if((a-=c)<0&&(a+=this.DB,--y),v)o[m].copyTo(s),v=!1;else{for(;c>1;)n.sqrTo(s,S),n.sqrTo(S,s),c-=2;c>0?n.sqrTo(s,S):(b=s,s=S,S=b),n.mulTo(S,o[m],s)}for(;y>=0&&!(e[y]&1<<a);)n.sqrTo(s,S),b=s,s=S,S=b,--a<0&&(a=this.DB-1,--y)}return n.revert(s)},i.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return i.ZERO;for(var r=e.clone(),n=this.clone(),a=u(1),s=u(0),o=u(0),c=u(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(a.isEven()&&s.isEven()||(a.addTo(this,a),s.subTo(e,s)),a.rShiftTo(1,a)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?(o.isEven()&&c.isEven()||(o.addTo(this,o),c.subTo(e,c)),o.rShiftTo(1,o)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&a.subTo(o,a),s.subTo(c,s)):(n.subTo(r,n),t&&o.subTo(a,o),c.subTo(s,c))}return 0!=n.compareTo(i.ONE)?i.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c},i.prototype.pow=function(e){return this.exp(e,new S)},i.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),i=e.s<0?e.negate():e.clone();if(t.compareTo(i)<0){var r=t;t=i,i=r}var n=t.getLowestSetBit(),a=i.getLowestSetBit();if(a<0)return t;for(n<a&&(a=n),a>0&&(t.rShiftTo(a,t),i.rShiftTo(a,i));t.signum()>0;)(n=t.getLowestSetBit())>0&&t.rShiftTo(n,t),(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),t.compareTo(i)>=0?(t.subTo(i,t),t.rShiftTo(1,t)):(i.subTo(t,i),i.rShiftTo(1,i));return a>0&&i.lShiftTo(a,i),i},i.prototype.isProbablePrime=function(e){var t,i=this.abs();if(1==i.t&&i[0]<=k[k.length-1]){for(t=0;t<k.length;++t)if(i[0]==k[t])return!0;return!1}if(i.isEven())return!1;for(t=1;t<k.length;){for(var r=k[t],n=t+1;n<k.length&&r<I;)r*=k[n++];for(r=i.modInt(r);t<n;)if(r%k[t++]==0)return!1}return i.millerRabin(e)},i.prototype.square=function(){var e=r();return this.squareTo(e),e},i.prototype.Barrett=x,null==A){var D;if(A=new Array,E=0,"undefined"!=typeof window&&window.crypto)if(window.crypto.getRandomValues){var F=new Uint8Array(32);for(window.crypto.getRandomValues(F),D=0;D<32;++D)A[E++]=F[D]}else if("Netscape"==navigator.appName&&navigator.appVersion<"5"){var P=window.crypto.random(32);for(D=0;D<P.length;++D)A[E++]=255&P.charCodeAt(D)}for(;E<M;)D=Math.floor(65536*Math.random()),A[E++]=D>>>8,A[E++]=255&D;E=0,T()}function B(){if(null==w){for(T(),(w=new N).init(A),E=0;E<A.length;++E)A[E]=0;E=0}return w.next()}function O(){}function N(){this.i=0,this.j=0,this.S=new Array}O.prototype.nextBytes=function(e){var t;for(t=0;t<e.length;++t)e[t]=B()},N.prototype.init=function(e){var t,i,r;for(t=0;t<256;++t)this.S[t]=t;for(i=0,t=0;t<256;++t)i=i+this.S[t]+e[t%e.length]&255,r=this.S[t],this.S[t]=this.S[i],this.S[i]=r;this.i=0,this.j=0},N.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]};var M=256;e.exports={default:i,BigInteger:i,SecureRandom:O}}).call(this)},355:(e,t)=>{var i={userAgent:!1},r={};if(void 0===n)var n={};n.lang={extend:function(e,t,r){if(!t||!e)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var n=function(){};if(n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t),r){var a;for(a in r)e.prototype[a]=r[a];var s=function(){},o=["toString","valueOf"];try{/MSIE/.test(i.userAgent)&&(s=function(e,t){for(a=0;a<o.length;a+=1){var i=o[a],r=t[i];"function"==typeof r&&r!=Object.prototype[i]&&(e[i]=r)}})}catch(c){}s(e.prototype,r)}}};var a,s,o,c,l,u,h,d,p,f,g,m,b,y,v,S=S||(a=Math,o=(s={}).lib={},c=o.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var i=new e;return t&&i.mixIn(t),i.hasOwnProperty("init")||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),l=o.WordArray=c.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||h).stringify(this)},concat:function(e){var t=this.words,i=e.words,r=this.sigBytes,n=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a<n;a++){var s=i[a>>>2]>>>24-a%4*8&255;t[r+a>>>2]|=s<<24-(r+a)%4*8}else for(a=0;a<n;a+=4)t[r+a>>>2]=i[a>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=a.ceil(t/4)},clone:function(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i<e;i+=4)t.push(4294967296*a.random()|0);return new l.init(t,e)}}),u=s.enc={},h=u.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],n=0;n<i;n++){var a=t[n>>>2]>>>24-n%4*8&255;r.push((a>>>4).toString(16)),r.push((15&a).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r<t;r+=2)i[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new l.init(i,t/2)}},d=u.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],n=0;n<i;n++){var a=t[n>>>2]>>>24-n%4*8&255;r.push(String.fromCharCode(a))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r<t;r++)i[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new l.init(i,t)}},p=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},f=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,i=t.words,r=t.sigBytes,n=this.blockSize,s=r/(4*n),o=(s=e?a.ceil(s):a.max((0|s)-this._minBufferSize,0))*n,c=a.min(4*o,r);if(o){for(var u=0;u<o;u+=n)this._doProcessBlock(i,u);var h=i.splice(0,o);t.sigBytes-=c}return new l.init(h,c)},clone:function(){var e=c.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),o.Hasher=f.extend({cfg:c.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,i){return new e.init(i).finalize(t)}},_createHmacHelper:function(e){return function(t,i){return new g.HMAC.init(e,i).finalize(t)}}}),g=s.algo={},s);b=(m=S).lib,y=b.Base,v=b.WordArray,(m=m.x64={}).Word=y.extend({init:function(e,t){this.high=e,this.low=t}}),m.WordArray=y.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,i=[],r=0;r<t;r++){var n=e[r];i.push(n.high),i.push(n.low)}return v.create(i,this.sigBytes)},clone:function(){for(var e=y.clone.call(this),t=e.words=this.words.slice(0),i=t.length,r=0;r<i;r++)t[r]=t[r].clone();return e}}),S.lib.Cipher||function(){var e=(d=S).lib,t=e.Base,i=e.WordArray,r=e.BufferedBlockAlgorithm,n=d.enc.Base64,a=d.algo.EvpKDF,s=e.Cipher=r.extend({cfg:t.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,i){this.cfg=this.cfg.extend(i),this._xformMode=e,this._key=t,this.reset()},reset:function(){r.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,i,r){return("string"==typeof i?p:h).encrypt(e,t,i,r)},decrypt:function(t,i,r){return("string"==typeof i?p:h).decrypt(e,t,i,r)}}}});e.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var o=d.mode={},c=function(e,t,i){var r=this._iv;r?this._iv=void 0:r=this._prevBlock;for(var n=0;n<i;n++)e[t+n]^=r[n]},l=(e.BlockCipherMode=t.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();l.Encryptor=l.extend({processBlock:function(e,t){var i=this._cipher,r=i.blockSize;c.call(this,e,t,r),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),l.Decryptor=l.extend({processBlock:function(e,t){var i=this._cipher,r=i.blockSize,n=e.slice(t,t+r);i.decryptBlock(e,t),c.call(this,e,t,r),this._prevBlock=n}}),o=o.CBC=l,l=(d.pad={}).Pkcs7={pad:function(e,t){for(var r,n=(r=(r=4*t)-e.sigBytes%r)<<24|r<<16|r<<8|r,a=[],s=0;s<r;s+=4)a.push(n);r=i.create(a,r),e.concat(r)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:o,padding:l}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var i=t.createEncryptor;else i=t.createDecryptor,this._minBufferSize=1;this._mode=i.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var u=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),h=(o=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?i.create([1398893684,1701076831]).concat(e).concat(t):t).toString(n)},parse:function(e){var t=(e=n.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var r=i.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return u.create({ciphertext:e,salt:r})}},e.SerializableCipher=t.extend({cfg:t.extend({format:o}),encrypt:function(e,t,i,r){r=this.cfg.extend(r);var n=e.createEncryptor(i,r);return t=n.finalize(t),n=n.cfg,u.create({ciphertext:t,key:i,iv:n.iv,algorithm:e,mode:n.mode,padding:n.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,i,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(i,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,r,n){return n||(n=i.random(8)),e=a.create({keySize:t+r}).compute(e,n),r=i.create(e.words.slice(t),4*r),e.sigBytes=4*t,u.create({key:e,iv:r,salt:n})}},p=e.PasswordBasedCipher=h.extend({cfg:h.cfg.extend({kdf:d}),encrypt:function(e,t,i,r){return i=(r=this.cfg.extend(r)).kdf.execute(i,e.keySize,e.ivSize),r.iv=i.iv,(e=h.encrypt.call(this,e,t,i.key,r)).mixIn(i),e},decrypt:function(e,t,i,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),i=r.kdf.execute(i,e.keySize,e.ivSize,t.salt),r.iv=i.iv,h.decrypt.call(this,e,t,i.key,r)}})}(),function(){for(var e=S,t=e.lib.BlockCipher,i=e.algo,r=[],n=[],a=[],s=[],o=[],c=[],l=[],u=[],h=[],d=[],p=[],f=0;256>f;f++)p[f]=128>f?f<<1:f<<1^283;var g=0,m=0;for(f=0;256>f;f++){var b=(b=m^m<<1^m<<2^m<<3^m<<4)>>>8^255&b^99;r[g]=b,n[b]=g;var y=p[g],v=p[y],C=p[v],x=257*p[b]^16843008*b;a[g]=x<<24|x>>>8,s[g]=x<<16|x>>>16,o[g]=x<<8|x>>>24,c[g]=x,x=16843009*C^65537*v^257*y^16843008*g,l[b]=x<<24|x>>>8,u[b]=x<<16|x>>>16,h[b]=x<<8|x>>>24,d[b]=x,g?(g=y^p[p[p[C^y]]],m^=p[p[m]]):g=m=1}var w=[0,1,2,4,8,16,32,64,128,27,54];i=i.AES=t.extend({_doReset:function(){for(var e=(i=this._key).words,t=i.sigBytes/4,i=4*((this._nRounds=t+6)+1),n=this._keySchedule=[],a=0;a<i;a++)if(a<t)n[a]=e[a];else{var s=n[a-1];a%t?6<t&&4==a%t&&(s=r[s>>>24]<<24|r[s>>>16&255]<<16|r[s>>>8&255]<<8|r[255&s]):(s=r[(s=s<<8|s>>>24)>>>24]<<24|r[s>>>16&255]<<16|r[s>>>8&255]<<8|r[255&s],s^=w[a/t|0]<<24),n[a]=n[a-t]^s}for(e=this._invKeySchedule=[],t=0;t<i;t++)a=i-t,s=t%4?n[a]:n[a-4],e[t]=4>t||4>=a?s:l[r[s>>>24]]^u[r[s>>>16&255]]^h[r[s>>>8&255]]^d[r[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,o,c,r)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,l,u,h,d,n),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,r,n,a,s,o){for(var c=this._nRounds,l=e[t]^i[0],u=e[t+1]^i[1],h=e[t+2]^i[2],d=e[t+3]^i[3],p=4,f=1;f<c;f++){var g=r[l>>>24]^n[u>>>16&255]^a[h>>>8&255]^s[255&d]^i[p++],m=r[u>>>24]^n[h>>>16&255]^a[d>>>8&255]^s[255&l]^i[p++],b=r[h>>>24]^n[d>>>16&255]^a[l>>>8&255]^s[255&u]^i[p++];d=r[d>>>24]^n[l>>>16&255]^a[u>>>8&255]^s[255&h]^i[p++],l=g,u=m,h=b}g=(o[l>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&d])^i[p++],m=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[d>>>8&255]<<8|o[255&l])^i[p++],b=(o[h>>>24]<<24|o[d>>>16&255]<<16|o[l>>>8&255]<<8|o[255&u])^i[p++],d=(o[d>>>24]<<24|o[l>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^i[p++],e[t]=g,e[t+1]=m,e[t+2]=b,e[t+3]=d},keySize:8}),e.AES=t._createHelper(i)}(),function(){function e(e,t){var i=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=i,this._lBlock^=i<<e}function t(e,t){var i=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=i,this._rBlock^=i<<e}var i=S,r=(n=i.lib).WordArray,n=n.BlockCipher,a=i.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=a.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;56>i;i++){var r=s[i]-1;t[i]=e[r>>>5]>>>31-r%32&1}for(e=this._subKeys=[],r=0;16>r;r++){var n=e[r]=[],a=c[r];for(i=0;24>i;i++)n[i/6|0]|=t[(o[i]-1+a)%28]<<31-i%6,n[4+(i/6|0)]|=t[28+(o[i+24]-1+a)%28]<<31-i%6;for(n[0]=n[0]<<1|n[0]>>>31,i=1;7>i;i++)n[i]>>>=4*(i-1)+3;n[7]=n[7]<<5|n[7]>>>27}for(t=this._invSubKeys=[],i=0;16>i;i++)t[i]=e[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(i,r,n){this._lBlock=i[r],this._rBlock=i[r+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var a=0;16>a;a++){for(var s=n[a],o=this._lBlock,c=this._rBlock,h=0,d=0;8>d;d++)h|=l[d][((c^s[d])&u[d])>>>0];this._lBlock=c,this._rBlock=o^h}n=this._lBlock,this._lBlock=this._rBlock,this._rBlock=n,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),i[r]=this._lBlock,i[r+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=n._createHelper(h),a=a.TripleDES=n.extend({_doReset:function(){var e=this._key.words;this._des1=h.createEncryptor(r.create(e.slice(0,2))),this._des2=h.createEncryptor(r.create(e.slice(2,4))),this._des3=h.createEncryptor(r.create(e.slice(4,6)))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2}),i.TripleDES=n._createHelper(a)}(),function(){var e=S,t=e.lib.WordArray;e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,r=this._map;e.clamp(),e=[];for(var n=0;n<i;n+=3)for(var a=(t[n>>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,s=0;4>s&&n+.75*s<i;s++)e.push(r.charAt(a>>>6*(3-s)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var i=e.length,r=this._map;(n=r.charAt(64))&&-1!=(n=e.indexOf(n))&&(i=n);for(var n=[],a=0,s=0;s<i;s++)if(s%4){var o=r.indexOf(e.charAt(s-1))<<s%4*2,c=r.indexOf(e.charAt(s))>>>6-s%4*2;n[a>>>2]|=(o|c)<<24-a%4*8,a++}return t.create(n,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){function t(e,t,i,r,n,a,s){return((e=e+(t&i|~t&r)+n+s)<<a|e>>>32-a)+t}function i(e,t,i,r,n,a,s){return((e=e+(t&r|i&~r)+n+s)<<a|e>>>32-a)+t}function r(e,t,i,r,n,a,s){return((e=e+(t^i^r)+n+s)<<a|e>>>32-a)+t}function n(e,t,i,r,n,a,s){return((e=e+(i^(t|~r))+n+s)<<a|e>>>32-a)+t}for(var a=S,s=(c=a.lib).WordArray,o=c.Hasher,c=a.algo,l=[],u=0;64>u;u++)l[u]=4294967296*e.abs(e.sin(u+1))|0;c=c.MD5=o.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var s=0;16>s;s++){var o=e[c=a+s];e[c]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}s=this._hash.words;var c=e[a+0],u=(o=e[a+1],e[a+2]),h=e[a+3],d=e[a+4],p=e[a+5],f=e[a+6],g=e[a+7],m=e[a+8],b=e[a+9],y=e[a+10],v=e[a+11],S=e[a+12],C=e[a+13],x=e[a+14],w=e[a+15],A=t(A=s[0],I=s[1],k=s[2],E=s[3],c,7,l[0]),E=t(E,A,I,k,o,12,l[1]),k=t(k,E,A,I,u,17,l[2]),I=t(I,k,E,A,h,22,l[3]);A=t(A,I,k,E,d,7,l[4]),E=t(E,A,I,k,p,12,l[5]),k=t(k,E,A,I,f,17,l[6]),I=t(I,k,E,A,g,22,l[7]),A=t(A,I,k,E,m,7,l[8]),E=t(E,A,I,k,b,12,l[9]),k=t(k,E,A,I,y,17,l[10]),I=t(I,k,E,A,v,22,l[11]),A=t(A,I,k,E,S,7,l[12]),E=t(E,A,I,k,C,12,l[13]),k=t(k,E,A,I,x,17,l[14]),A=i(A,I=t(I,k,E,A,w,22,l[15]),k,E,o,5,l[16]),E=i(E,A,I,k,f,9,l[17]),k=i(k,E,A,I,v,14,l[18]),I=i(I,k,E,A,c,20,l[19]),A=i(A,I,k,E,p,5,l[20]),E=i(E,A,I,k,y,9,l[21]),k=i(k,E,A,I,w,14,l[22]),I=i(I,k,E,A,d,20,l[23]),A=i(A,I,k,E,b,5,l[24]),E=i(E,A,I,k,x,9,l[25]),k=i(k,E,A,I,h,14,l[26]),I=i(I,k,E,A,m,20,l[27]),A=i(A,I,k,E,C,5,l[28]),E=i(E,A,I,k,u,9,l[29]),k=i(k,E,A,I,g,14,l[30]),A=r(A,I=i(I,k,E,A,S,20,l[31]),k,E,p,4,l[32]),E=r(E,A,I,k,m,11,l[33]),k=r(k,E,A,I,v,16,l[34]),I=r(I,k,E,A,x,23,l[35]),A=r(A,I,k,E,o,4,l[36]),E=r(E,A,I,k,d,11,l[37]),k=r(k,E,A,I,g,16,l[38]),I=r(I,k,E,A,y,23,l[39]),A=r(A,I,k,E,C,4,l[40]),E=r(E,A,I,k,c,11,l[41]),k=r(k,E,A,I,h,16,l[42]),I=r(I,k,E,A,f,23,l[43]),A=r(A,I,k,E,b,4,l[44]),E=r(E,A,I,k,S,11,l[45]),k=r(k,E,A,I,w,16,l[46]),A=n(A,I=r(I,k,E,A,u,23,l[47]),k,E,c,6,l[48]),E=n(E,A,I,k,g,10,l[49]),k=n(k,E,A,I,x,15,l[50]),I=n(I,k,E,A,p,21,l[51]),A=n(A,I,k,E,S,6,l[52]),E=n(E,A,I,k,h,10,l[53]),k=n(k,E,A,I,y,15,l[54]),I=n(I,k,E,A,o,21,l[55]),A=n(A,I,k,E,m,6,l[56]),E=n(E,A,I,k,w,10,l[57]),k=n(k,E,A,I,f,15,l[58]),I=n(I,k,E,A,C,21,l[59]),A=n(A,I,k,E,d,6,l[60]),E=n(E,A,I,k,v,10,l[61]),k=n(k,E,A,I,u,15,l[62]),I=n(I,k,E,A,b,21,l[63]),s[0]=s[0]+A|0,s[1]=s[1]+I|0,s[2]=s[2]+k|0,s[3]=s[3]+E|0},_doFinalize:function(){var t=this._data,i=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;i[n>>>5]|=128<<24-n%32;var a=e.floor(r/4294967296);for(i[15+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(i.length+1),this._process(),i=(t=this._hash).words,r=0;4>r;r++)n=i[r],i[r]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);return t},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=o._createHelper(c),a.HmacMD5=o._createHmacHelper(c)}(Math),function(){var e=S,t=(n=e.lib).WordArray,i=n.Hasher,r=[],n=e.algo.SHA1=i.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,n=i[0],a=i[1],s=i[2],o=i[3],c=i[4],l=0;80>l;l++){if(16>l)r[l]=0|e[t+l];else{var u=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=u<<1|u>>>31}u=(n<<5|n>>>27)+c+r[l],u=20>l?u+(1518500249+(a&s|~a&o)):40>l?u+(1859775393+(a^s^o)):60>l?u+((a&s|a&o|s&o)-1894007588):u+((a^s^o)-899497514),c=o,o=s,s=a<<30|a>>>2,a=n,n=u}i[0]=i[0]+n|0,i[1]=i[1]+a|0,i[2]=i[2]+s|0,i[3]=i[3]+o|0,i[4]=i[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(i/4294967296),t[15+(r+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=i._createHelper(n),e.HmacSHA1=i._createHmacHelper(n)}(),function(e){for(var t=S,i=(n=t.lib).WordArray,r=n.Hasher,n=t.algo,a=[],s=[],o=function(e){return 4294967296*(e-(0|e))|0},c=2,l=0;64>l;){var u;e:{u=c;for(var h=e.sqrt(u),d=2;d<=h;d++)if(!(u%d)){u=!1;break e}u=!0}u&&(8>l&&(a[l]=o(e.pow(c,.5))),s[l]=o(e.pow(c,1/3)),l++),c++}var p=[];n=n.SHA256=r.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],n=i[1],a=i[2],o=i[3],c=i[4],l=i[5],u=i[6],h=i[7],d=0;64>d;d++){if(16>d)p[d]=0|e[t+d];else{var f=p[d-15],g=p[d-2];p[d]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+p[d-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+p[d-16]}f=h+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&l^~c&u)+s[d]+p[d],g=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&n^r&a^n&a),h=u,u=l,l=c,c=o+f|0,o=a,a=n,n=r,r=f+g|0}i[0]=i[0]+r|0,i[1]=i[1]+n|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+c|0,i[5]=i[5]+l|0,i[6]=i[6]+u|0,i[7]=i[7]+h|0},_doFinalize:function(){var t=this._data,i=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=e.floor(r/4294967296),i[15+(n+64>>>9<<4)]=r,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=r._createHelper(n),t.HmacSHA256=r._createHmacHelper(n)}(Math),function(){var e=S,t=e.lib.WordArray,i=(r=e.algo).SHA256,r=r.SHA224=i.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=i._doFinalize.call(this);return e.sigBytes-=4,e}});e.SHA224=i._createHelper(r),e.HmacSHA224=i._createHmacHelper(r)}(),function(){function e(){return r.create.apply(r,arguments)}for(var t=S,i=t.lib.Hasher,r=(a=t.x64).Word,n=a.WordArray,a=t.algo,s=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],o=[],c=0;80>c;c++)o[c]=e();a=a.SHA512=i.extend({_doReset:function(){this._hash=new n.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=(h=this._hash.words)[0],r=h[1],n=h[2],a=h[3],c=h[4],l=h[5],u=h[6],h=h[7],d=i.high,p=i.low,f=r.high,g=r.low,m=n.high,b=n.low,y=a.high,v=a.low,S=c.high,C=c.low,x=l.high,w=l.low,A=u.high,E=u.low,k=h.high,I=h.low,T=d,D=p,F=f,P=g,B=m,O=b,N=y,M=v,R=S,_=C,U=x,L=w,H=A,j=E,q=k,K=I,G=0;80>G;G++){var V=o[G];if(16>G)var z=V.high=0|e[t+2*G],X=V.low=0|e[t+2*G+1];else{z=((X=(z=o[G-15]).high)>>>1|(W=z.low)<<31)^(X>>>8|W<<24)^X>>>7;var W=(W>>>1|X<<31)^(W>>>8|X<<24)^(W>>>7|X<<25),$=((X=($=o[G-2]).high)>>>19|(Z=$.low)<<13)^(X<<3|Z>>>29)^X>>>6,Z=(Z>>>19|X<<13)^(Z<<3|X>>>29)^(Z>>>6|X<<26),Y=(X=o[G-7]).high,Q=(J=o[G-16]).high,J=J.low;z=(z=(z=z+Y+((X=W+X.low)>>>0<W>>>0?1:0))+$+((X+=Z)>>>0<Z>>>0?1:0))+Q+((X+=J)>>>0<J>>>0?1:0),V.high=z,V.low=X}Y=R&U^~R&H,J=_&L^~_&j,V=T&F^T&B^F&B;var ee=D&P^D&O^P&O,te=(W=(T>>>28|D<<4)^(T<<30|D>>>2)^(T<<25|D>>>7),$=(D>>>28|T<<4)^(D<<30|T>>>2)^(D<<25|T>>>7),(Z=s[G]).high),ie=Z.low;Q=q+((R>>>14|_<<18)^(R>>>18|_<<14)^(R<<23|_>>>9))+((Z=K+((_>>>14|R<<18)^(_>>>18|R<<14)^(_<<23|R>>>9)))>>>0<K>>>0?1:0),q=H,K=j,H=U,j=L,U=R,L=_,R=N+(Q=(Q=(Q=Q+Y+((Z+=J)>>>0<J>>>0?1:0))+te+((Z+=ie)>>>0<ie>>>0?1:0))+z+((Z+=X)>>>0<X>>>0?1:0))+((_=M+Z|0)>>>0<M>>>0?1:0)|0,N=B,M=O,B=F,O=P,F=T,P=D,T=Q+(V=W+V+((X=$+ee)>>>0<$>>>0?1:0))+((D=Z+X|0)>>>0<Z>>>0?1:0)|0}p=i.low=p+D,i.high=d+T+(p>>>0<D>>>0?1:0),g=r.low=g+P,r.high=f+F+(g>>>0<P>>>0?1:0),b=n.low=b+O,n.high=m+B+(b>>>0<O>>>0?1:0),v=a.low=v+M,a.high=y+N+(v>>>0<M>>>0?1:0),C=c.low=C+_,c.high=S+R+(C>>>0<_>>>0?1:0),w=l.low=w+L,l.high=x+U+(w>>>0<L>>>0?1:0),E=u.low=E+j,u.high=A+H+(E>>>0<j>>>0?1:0),I=h.low=I+K,h.high=k+q+(I>>>0<K>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(r+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=i._createHelper(a),t.HmacSHA512=i._createHmacHelper(a)}(),function(){var e=S,t=(n=e.x64).Word,i=n.WordArray,r=(n=e.algo).SHA512,n=n.SHA384=r.extend({_doReset:function(){this._hash=new i.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var e=r._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=r._createHelper(n),e.HmacSHA384=r._createHmacHelper(n)}(),function(){var e=S,t=(r=e.lib).WordArray,i=r.Hasher,r=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),a=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),s=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),o=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]);r=r.RIPEMD160=i.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;16>i;i++){var r=e[C=t+i];e[C]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var u,h,d,p,f,g,m,b,y,v,S,C=this._hash.words,x=(r=c.words,l.words),w=n.words,A=a.words,E=s.words,k=o.words;for(g=u=C[0],m=h=C[1],b=d=C[2],y=p=C[3],v=f=C[4],i=0;80>i;i+=1)S=u+e[t+w[i]]|0,S=16>i?S+((h^d^p)+r[0]):32>i?S+((h&d|~h&p)+r[1]):48>i?S+(((h|~d)^p)+r[2]):64>i?S+((h&p|d&~p)+r[3]):S+((h^(d|~p))+r[4]),S=(S=(S|=0)<<E[i]|S>>>32-E[i])+f|0,u=f,f=p,p=d<<10|d>>>22,d=h,h=S,S=g+e[t+A[i]]|0,S=16>i?S+((m^(b|~y))+x[0]):32>i?S+((m&y|b&~y)+x[1]):48>i?S+(((m|~b)^y)+x[2]):64>i?S+((m&b|~m&y)+x[3]):S+((m^b^y)+x[4]),S=(S=(S|=0)<<k[i]|S>>>32-k[i])+v|0,g=v,v=y,y=b<<10|b>>>22,b=m,m=S;S=C[1]+d+y|0,C[1]=C[2]+p+v|0,C[2]=C[3]+f+g|0,C[3]=C[4]+u+m|0,C[4]=C[0]+h+b|0,C[0]=S},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;for(t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,i=0;5>i;i++)r=t[i],t[i]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}}),e.RIPEMD160=i._createHelper(r),e.HmacRIPEMD160=i._createHmacHelper(r)}(),function(){var e=S,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,i){e=this._hasher=new e.init,"string"==typeof i&&(i=t.parse(i));var r=e.blockSize,n=4*r;i.sigBytes>n&&(i=e.finalize(i)),i.clamp();for(var a=this._oKey=i.clone(),s=this._iKey=i.clone(),o=a.words,c=s.words,l=0;l<r;l++)o[l]^=1549556828,c[l]^=909522486;a.sigBytes=s.sigBytes=n,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}})}(),function(){var e,t=S,i=(e=t.lib).Base,r=e.WordArray,n=(e=t.algo).HMAC,a=e.PBKDF2=i.extend({cfg:i.extend({keySize:4,hasher:e.SHA1,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var i=this.cfg,a=n.create(i.hasher,e),s=r.create(),o=r.create([1]),c=s.words,l=o.words,u=i.keySize;for(i=i.iterations;c.length<u;){var h=a.update(t).finalize(o);a.reset();for(var d=h.words,p=d.length,f=h,g=1;g<i;g++){f=a.finalize(f),a.reset();for(var m=f.words,b=0;b<p;b++)d[b]^=m[b]}s.concat(h),l[0]++}return s.sigBytes=4*u,s}});t.PBKDF2=function(e,t,i){return a.create(i).compute(e,t)}}();var C,x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function w(e){var t,i,r="";for(t=0;t+3<=e.length;t+=3)i=parseInt(e.substring(t,t+3),16),r+=x.charAt(i>>6)+x.charAt(63&i);for(t+1==e.length?(i=parseInt(e.substring(t,t+1),16),r+=x.charAt(i<<2)):t+2==e.length&&(i=parseInt(e.substring(t,t+2),16),r+=x.charAt(i>>2)+x.charAt((3&i)<<4));(3&r.length)>0;)r+="=";return r}function A(e){var t,i,r,n="",a=0;for(t=0;t<e.length&&"="!=e.charAt(t);++t)(r=x.indexOf(e.charAt(t)))<0||(0==a?(n+=P(r>>2),i=3&r,a=1):1==a?(n+=P(i<<2|r>>4),i=15&r,a=2):2==a?(n+=P(i),n+=P(r>>2),i=3&r,a=3):(n+=P(i<<2|r>>4),n+=P(15&r),a=0));return 1==a&&(n+=P(i<<2)),n}function E(e,t,i){null!=e&&("number"==typeof e?this.fromNumber(e,t,i):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function k(){return new E(null)}"Microsoft Internet Explorer"==i.appName?(E.prototype.am=function(e,t,i,r,n,a){for(var s=32767&t,o=t>>15;--a>=0;){var c=32767&this[e],l=this[e++]>>15,u=o*c+l*s;n=((c=s*c+((32767&u)<<15)+i[r]+(1073741823&n))>>>30)+(u>>>15)+o*l+(n>>>30),i[r++]=1073741823&c}return n},C=30):"Netscape"!=i.appName?(E.prototype.am=function(e,t,i,r,n,a){for(;--a>=0;){var s=t*this[e++]+i[r]+n;n=Math.floor(s/67108864),i[r++]=67108863&s}return n},C=26):(E.prototype.am=function(e,t,i,r,n,a){for(var s=16383&t,o=t>>14;--a>=0;){var c=16383&this[e],l=this[e++]>>14,u=o*c+l*s;n=((c=s*c+((16383&u)<<14)+i[r]+n)>>28)+(u>>14)+o*l,i[r++]=268435455&c}return n},C=28),E.prototype.DB=C,E.prototype.DM=(1<<C)-1,E.prototype.DV=1<<C,E.prototype.FV=Math.pow(2,52),E.prototype.F1=52-C,E.prototype.F2=2*C-52;var I,T,D="0123456789abcdefghijklmnopqrstuvwxyz",F=new Array;for(I="0".charCodeAt(0),T=0;T<=9;++T)F[I++]=T;for(I="a".charCodeAt(0),T=10;T<36;++T)F[I++]=T;for(I="A".charCodeAt(0),T=10;T<36;++T)F[I++]=T;function P(e){return D.charAt(e)}function B(e,t){var i=F[e.charCodeAt(t)];return null==i?-1:i}function O(e){var t=k();return t.fromInt(e),t}function N(e){var t,i=1;return 0!=(t=e>>>16)&&(e=t,i+=16),0!=(t=e>>8)&&(e=t,i+=8),0!=(t=e>>4)&&(e=t,i+=4),0!=(t=e>>2)&&(e=t,i+=2),0!=(t=e>>1)&&(e=t,i+=1),i}function M(e){this.m=e}function R(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function _(e,t){return e&t}function U(e,t){return e|t}function L(e,t){return e^t}function H(e,t){return e&~t}function j(e){if(0==e)return-1;var t=0;return 65535&e||(e>>=16,t+=16),255&e||(e>>=8,t+=8),15&e||(e>>=4,t+=4),3&e||(e>>=2,t+=2),1&e||++t,t}function q(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function K(){}function G(e){return e}function V(e){this.r2=k(),this.q3=k(),E.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}M.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},M.prototype.revert=function(e){return e},M.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},M.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},M.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},R.prototype.convert=function(e){var t=k();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(E.ZERO)>0&&this.m.subTo(t,t),t},R.prototype.revert=function(e){var t=k();return e.copyTo(t),this.reduce(t),t},R.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var i=32767&e[t],r=i*this.mpl+((i*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[i=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[i]>=e.DV;)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},R.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},R.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},E.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},E.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},E.prototype.fromString=function(e,t){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var r=e.length,n=!1,a=0;--r>=0;){var s=8==i?255&e[r]:B(e,r);s<0?"-"==e.charAt(r)&&(n=!0):(n=!1,0==a?this[this.t++]=s:a+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-a)-1)<<a,this[this.t++]=s>>this.DB-a):this[this.t-1]|=s<<a,(a+=i)>=this.DB&&(a-=this.DB))}8==i&&128&e[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),n&&E.ZERO.subTo(this,this)},E.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},E.prototype.dlShiftTo=function(e,t){var i;for(i=this.t-1;i>=0;--i)t[i+e]=this[i];for(i=e-1;i>=0;--i)t[i]=0;t.t=this.t+e,t.s=this.s},E.prototype.drShiftTo=function(e,t){for(var i=e;i<this.t;++i)t[i-e]=this[i];t.t=Math.max(this.t-e,0),t.s=this.s},E.prototype.lShiftTo=function(e,t){var i,r=e%this.DB,n=this.DB-r,a=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM;for(i=this.t-1;i>=0;--i)t[i+s+1]=this[i]>>n|o,o=(this[i]&a)<<r;for(i=s-1;i>=0;--i)t[i]=0;t[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()},E.prototype.rShiftTo=function(e,t){t.s=this.s;var i=Math.floor(e/this.DB);if(i>=this.t)t.t=0;else{var r=e%this.DB,n=this.DB-r,a=(1<<r)-1;t[0]=this[i]>>r;for(var s=i+1;s<this.t;++s)t[s-i-1]|=(this[s]&a)<<n,t[s-i]=this[s]>>r;r>0&&(t[this.t-i-1]|=(this.s&a)<<n),t.t=this.t-i,t.clamp()}},E.prototype.subTo=function(e,t){for(var i=0,r=0,n=Math.min(e.t,this.t);i<n;)r+=this[i]-e[i],t[i++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;i<this.t;)r+=this[i],t[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<e.t;)r-=e[i],t[i++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[i++]=this.DV+r:r>0&&(t[i++]=r),t.t=i,t.clamp()},E.prototype.multiplyTo=function(e,t){var i=this.abs(),r=e.abs(),n=i.t;for(t.t=n+r.t;--n>=0;)t[n]=0;for(n=0;n<r.t;++n)t[n+i.t]=i.am(0,r[n],t,n,0,i.t);t.s=0,t.clamp(),this.s!=e.s&&E.ZERO.subTo(t,t)},E.prototype.squareTo=function(e){for(var t=this.abs(),i=e.t=2*t.t;--i>=0;)e[i]=0;for(i=0;i<t.t-1;++i){var r=t.am(i,t[i],e,2*i,0,1);(e[i+t.t]+=t.am(i+1,2*t[i],e,2*i+1,r,t.t-i-1))>=t.DV&&(e[i+t.t]-=t.DV,e[i+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(i,t[i],e,2*i,0,1)),e.s=0,e.clamp()},E.prototype.divRemTo=function(e,t,i){var r=e.abs();if(!(r.t<=0)){var n=this.abs();if(n.t<r.t)return null!=t&&t.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=k());var a=k(),s=this.s,o=e.s,c=this.DB-N(r[r.t-1]);c>0?(r.lShiftTo(c,a),n.lShiftTo(c,i)):(r.copyTo(a),n.copyTo(i));var l=a.t,u=a[l-1];if(0!=u){var h=u*(1<<this.F1)+(l>1?a[l-2]>>this.F2:0),d=this.FV/h,p=(1<<this.F1)/h,f=1<<this.F2,g=i.t,m=g-l,b=null==t?k():t;for(a.dlShiftTo(m,b),i.compareTo(b)>=0&&(i[i.t++]=1,i.subTo(b,i)),E.ONE.dlShiftTo(l,b),b.subTo(a,a);a.t<l;)a[a.t++]=0;for(;--m>=0;){var y=i[--g]==u?this.DM:Math.floor(i[g]*d+(i[g-1]+f)*p);if((i[g]+=a.am(0,y,i,m,0,l))<y)for(a.dlShiftTo(m,b),i.subTo(b,i);i[g]<--y;)i.subTo(b,i)}null!=t&&(i.drShiftTo(l,t),s!=o&&E.ZERO.subTo(t,t)),i.t=l,i.clamp(),c>0&&i.rShiftTo(c,i),s<0&&E.ZERO.subTo(i,i)}}},E.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},E.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},E.prototype.exp=function(e,t){if(e>4294967295||e<1)return E.ONE;var i=k(),r=k(),n=t.convert(this),a=N(e)-1;for(n.copyTo(i);--a>=0;)if(t.sqrTo(i,r),(e&1<<a)>0)t.mulTo(r,n,i);else{var s=i;i=r,r=s}return t.revert(i)},E.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var i,r=(1<<t)-1,n=!1,a="",s=this.t,o=this.DB-s*this.DB%t;if(s-- >0)for(o<this.DB&&(i=this[s]>>o)>0&&(n=!0,a=P(i));s>=0;)o<t?(i=(this[s]&(1<<o)-1)<<t-o,i|=this[--s]>>(o+=this.DB-t)):(i=this[s]>>(o-=t)&r,o<=0&&(o+=this.DB,--s)),i>0&&(n=!0),n&&(a+=P(i));return n?a:"0"},E.prototype.negate=function(){var e=k();return E.ZERO.subTo(this,e),e},E.prototype.abs=function(){return this.s<0?this.negate():this},E.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var i=this.t;if(0!=(t=i-e.t))return this.s<0?-t:t;for(;--i>=0;)if(0!=(t=this[i]-e[i]))return t;return 0},E.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+N(this[this.t-1]^this.s&this.DM)},E.prototype.mod=function(e){var t=k();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(E.ZERO)>0&&e.subTo(t,t),t},E.prototype.modPowInt=function(e,t){var i;return i=e<256||t.isEven()?new M(t):new R(t),this.exp(e,i)},E.ZERO=O(0),E.ONE=O(1),K.prototype.convert=G,K.prototype.revert=G,K.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i)},K.prototype.sqrTo=function(e,t){e.squareTo(t)},V.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=k();return e.copyTo(t),this.reduce(t),t},V.prototype.revert=function(e){return e},V.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},V.prototype.mulTo=function(e,t,i){e.multiplyTo(t,i),this.reduce(i)},V.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var z,X,W,$=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Z=(1<<26)/$[$.length-1];function Y(){this.i=0,this.j=0,this.S=new Array}function Q(){!function(e){X[W++]^=255&e,X[W++]^=e>>8&255,X[W++]^=e>>16&255,X[W++]^=e>>24&255,W>=256&&(W-=256)}((new Date).getTime())}if(E.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},E.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),i=Math.pow(e,t),r=O(i),n=k(),a=k(),s="";for(this.divRemTo(r,n,a);n.signum()>0;)s=(i+a.intValue()).toString(e).substr(1)+s,n.divRemTo(r,n,a);return a.intValue().toString(e)+s},E.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var i=this.chunkSize(t),r=Math.pow(t,i),n=!1,a=0,s=0,o=0;o<e.length;++o){var c=B(e,o);c<0?"-"==e.charAt(o)&&0==this.signum()&&(n=!0):(s=t*s+c,++a>=i&&(this.dMultiply(r),this.dAddOffset(s,0),a=0,s=0))}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(s,0)),n&&E.ZERO.subTo(this,this)},E.prototype.fromNumber=function(e,t,i){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,i),this.testBit(e-1)||this.bitwiseTo(E.ONE.shiftLeft(e-1),U,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(E.ONE.shiftLeft(e-1),this);else{var r=new Array,n=7&e;r.length=1+(e>>3),t.nextBytes(r),n>0?r[0]&=(1<<n)-1:r[0]=0,this.fromString(r,256)}},E.prototype.bitwiseTo=function(e,t,i){var r,n,a=Math.min(e.t,this.t);for(r=0;r<a;++r)i[r]=t(this[r],e[r]);if(e.t<this.t){for(n=e.s&this.DM,r=a;r<this.t;++r)i[r]=t(this[r],n);i.t=this.t}else{for(n=this.s&this.DM,r=a;r<e.t;++r)i[r]=t(n,e[r]);i.t=e.t}i.s=t(this.s,e.s),i.clamp()},E.prototype.changeBit=function(e,t){var i=E.ONE.shiftLeft(e);return this.bitwiseTo(i,t,i),i},E.prototype.addTo=function(e,t){for(var i=0,r=0,n=Math.min(e.t,this.t);i<n;)r+=this[i]+e[i],t[i++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;i<this.t;)r+=this[i],t[i++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;i<e.t;)r+=e[i],t[i++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[i++]=r:r<-1&&(t[i++]=this.DV+r),t.t=i,t.clamp()},E.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},E.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},E.prototype.multiplyLowerTo=function(e,t,i){var r,n=Math.min(this.t+e.t,t);for(i.s=0,i.t=n;n>0;)i[--n]=0;for(r=i.t-this.t;n<r;++n)i[n+this.t]=this.am(0,e[n],i,n,0,this.t);for(r=Math.min(e.t,t);n<r;++n)this.am(0,e[n],i,n,0,t-n);i.clamp()},E.prototype.multiplyUpperTo=function(e,t,i){--t;var r=i.t=this.t+e.t-t;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(t-this.t,0);r<e.t;++r)i[this.t+r-t]=this.am(t-r,e[r],i,0,0,this.t+r-t);i.clamp(),i.drShiftTo(1,i)},E.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,i=this.s<0?e-1:0;if(this.t>0)if(0==t)i=this[0]%e;else for(var r=this.t-1;r>=0;--r)i=(t*i+this[r])%e;return i},E.prototype.millerRabin=function(e){var t=this.subtract(E.ONE),i=t.getLowestSetBit();if(i<=0)return!1;var r=t.shiftRight(i);(e=e+1>>1)>$.length&&(e=$.length);for(var n=k(),a=0;a<e;++a){n.fromInt($[Math.floor(Math.random()*$.length)]);var s=n.modPow(r,this);if(0!=s.compareTo(E.ONE)&&0!=s.compareTo(t)){for(var o=1;o++<i&&0!=s.compareTo(t);)if(0==(s=s.modPowInt(2,this)).compareTo(E.ONE))return!1;if(0!=s.compareTo(t))return!1}}return!0},E.prototype.clone=function(){var e=k();return this.copyTo(e),e},E.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},E.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},E.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},E.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},E.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var i,r=this.DB-e*this.DB%8,n=0;if(e-- >0)for(r<this.DB&&(i=this[e]>>r)!=(this.s&this.DM)>>r&&(t[n++]=i|this.s<<this.DB-r);e>=0;)r<8?(i=(this[e]&(1<<r)-1)<<8-r,i|=this[--e]>>(r+=this.DB-8)):(i=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),128&i&&(i|=-256),0==n&&(128&this.s)!=(128&i)&&++n,(n>0||i!=this.s)&&(t[n++]=i);return t},E.prototype.equals=function(e){return 0==this.compareTo(e)},E.prototype.min=function(e){return this.compareTo(e)<0?this:e},E.prototype.max=function(e){return this.compareTo(e)>0?this:e},E.prototype.and=function(e){var t=k();return this.bitwiseTo(e,_,t),t},E.prototype.or=function(e){var t=k();return this.bitwiseTo(e,U,t),t},E.prototype.xor=function(e){var t=k();return this.bitwiseTo(e,L,t),t},E.prototype.andNot=function(e){var t=k();return this.bitwiseTo(e,H,t),t},E.prototype.not=function(){for(var e=k(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},E.prototype.shiftLeft=function(e){var t=k();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},E.prototype.shiftRight=function(e){var t=k();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},E.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+j(this[e]);return this.s<0?this.t*this.DB:-1},E.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,i=0;i<this.t;++i)e+=q(this[i]^t);return e},E.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<e%this.DB)},E.prototype.setBit=function(e){return this.changeBit(e,U)},E.prototype.clearBit=function(e){return this.changeBit(e,H)},E.prototype.flipBit=function(e){return this.changeBit(e,L)},E.prototype.add=function(e){var t=k();return this.addTo(e,t),t},E.prototype.subtract=function(e){var t=k();return this.subTo(e,t),t},E.prototype.multiply=function(e){var t=k();return this.multiplyTo(e,t),t},E.prototype.divide=function(e){var t=k();return this.divRemTo(e,t,null),t},E.prototype.remainder=function(e){var t=k();return this.divRemTo(e,null,t),t},E.prototype.divideAndRemainder=function(e){var t=k(),i=k();return this.divRemTo(e,t,i),new Array(t,i)},E.prototype.modPow=function(e,t){var i,r,n=e.bitLength(),a=O(1);if(n<=0)return a;i=n<18?1:n<48?3:n<144?4:n<768?5:6,r=n<8?new M(t):t.isEven()?new V(t):new R(t);var s=new Array,o=3,c=i-1,l=(1<<i)-1;if(s[1]=r.convert(this),i>1){var u=k();for(r.sqrTo(s[1],u);o<=l;)s[o]=k(),r.mulTo(u,s[o-2],s[o]),o+=2}var h,d,p=e.t-1,f=!0,g=k();for(n=N(e[p])-1;p>=0;){for(n>=c?h=e[p]>>n-c&l:(h=(e[p]&(1<<n+1)-1)<<c-n,p>0&&(h|=e[p-1]>>this.DB+n-c)),o=i;!(1&h);)h>>=1,--o;if((n-=o)<0&&(n+=this.DB,--p),f)s[h].copyTo(a),f=!1;else{for(;o>1;)r.sqrTo(a,g),r.sqrTo(g,a),o-=2;o>0?r.sqrTo(a,g):(d=a,a=g,g=d),r.mulTo(g,s[h],a)}for(;p>=0&&!(e[p]&1<<n);)r.sqrTo(a,g),d=a,a=g,g=d,--n<0&&(n=this.DB-1,--p)}return r.revert(a)},E.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return E.ZERO;for(var i=e.clone(),r=this.clone(),n=O(1),a=O(0),s=O(0),o=O(1);0!=i.signum();){for(;i.isEven();)i.rShiftTo(1,i),t?(n.isEven()&&a.isEven()||(n.addTo(this,n),a.subTo(e,a)),n.rShiftTo(1,n)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;r.isEven();)r.rShiftTo(1,r),t?(s.isEven()&&o.isEven()||(s.addTo(this,s),o.subTo(e,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);i.compareTo(r)>=0?(i.subTo(r,i),t&&n.subTo(s,n),a.subTo(o,a)):(r.subTo(i,r),t&&s.subTo(n,s),o.subTo(a,o))}return 0!=r.compareTo(E.ONE)?E.ZERO:o.compareTo(e)>=0?o.subtract(e):o.signum()<0?(o.addTo(e,o),o.signum()<0?o.add(e):o):o},E.prototype.pow=function(e){return this.exp(e,new K)},E.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),i=e.s<0?e.negate():e.clone();if(t.compareTo(i)<0){var r=t;t=i,i=r}var n=t.getLowestSetBit(),a=i.getLowestSetBit();if(a<0)return t;for(n<a&&(a=n),a>0&&(t.rShiftTo(a,t),i.rShiftTo(a,i));t.signum()>0;)(n=t.getLowestSetBit())>0&&t.rShiftTo(n,t),(n=i.getLowestSetBit())>0&&i.rShiftTo(n,i),t.compareTo(i)>=0?(t.subTo(i,t),t.rShiftTo(1,t)):(i.subTo(t,i),i.rShiftTo(1,i));return a>0&&i.lShiftTo(a,i),i},E.prototype.isProbablePrime=function(e){var t,i=this.abs();if(1==i.t&&i[0]<=$[$.length-1]){for(t=0;t<$.length;++t)if(i[0]==$[t])return!0;return!1}if(i.isEven())return!1;for(t=1;t<$.length;){for(var r=$[t],n=t+1;n<$.length&&r<Z;)r*=$[n++];for(r=i.modInt(r);t<n;)if(r%$[t++]==0)return!1}return i.millerRabin(e)},E.prototype.square=function(){var e=k();return this.squareTo(e),e},Y.prototype.init=function(e){var t,i,r;for(t=0;t<256;++t)this.S[t]=t;for(i=0,t=0;t<256;++t)i=i+this.S[t]+e[t%e.length]&255,r=this.S[t],this.S[t]=this.S[i],this.S[i]=r;this.i=0,this.j=0},Y.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]},null==X){var J;if(X=new Array,W=0,void 0!==r&&(void 0!==r.crypto||void 0!==r.msCrypto)){var ee=r.crypto||r.msCrypto;if(ee.getRandomValues){var te=new Uint8Array(32);for(ee.getRandomValues(te),J=0;J<32;++J)X[W++]=te[J]}else if("Netscape"==i.appName&&i.appVersion<"5"){var ie=r.crypto.random(32);for(J=0;J<ie.length;++J)X[W++]=255&ie.charCodeAt(J)}}for(;W<256;)J=Math.floor(65536*Math.random()),X[W++]=J>>>8,X[W++]=255&J;W=0,Q()}function re(){if(null==z){for(Q(),(z=new Y).init(X),W=0;W<X.length;++W)X[W]=0;W=0}return z.next()}function ne(){}function ae(e,t){return new E(e,t)}function se(e,t,i){for(var r="",n=0;r.length<t;)r+=i(String.fromCharCode.apply(String,e.concat([(4278190080&n)>>24,(16711680&n)>>16,(65280&n)>>8,255&n]))),n+=1;return r}function oe(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ce(e,t,i){for(var r="",n=0;r.length<t;)r+=i(e+String.fromCharCode.apply(String,[(4278190080&n)>>24,(16711680&n)>>16,(65280&n)>>8,255&n])),n+=1;return r}function le(e,t){this.x=t,this.q=e}function ue(e,t,i,r){this.curve=e,this.x=t,this.y=i,this.z=null==r?E.ONE:r,this.zinv=null}function he(e,t,i){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(i),this.infinity=new ue(this,null,null)}ne.prototype.nextBytes=function(e){var t;for(t=0;t<e.length;++t)e[t]=re()},oe.prototype.doPublic=function(e){return e.modPowInt(this.e,this.n)},oe.prototype.setPublic=function(e,t){if(this.isPublic=!0,this.isPrivate=!1,"string"!=typeof e)this.n=e,this.e=t;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA public key";this.n=ae(e,16),this.e=parseInt(t,16)}},oe.prototype.encrypt=function(e){var t=function(e,t){if(t<e.length+11)throw"Message too long for RSA";for(var i=new Array,r=e.length-1;r>=0&&t>0;){var n=e.charCodeAt(r--);n<128?i[--t]=n:n>127&&n<2048?(i[--t]=63&n|128,i[--t]=n>>6|192):(i[--t]=63&n|128,i[--t]=n>>6&63|128,i[--t]=n>>12|224)}i[--t]=0;for(var a=new ne,s=new Array;t>2;){for(s[0]=0;0==s[0];)a.nextBytes(s);i[--t]=s[0]}return i[--t]=2,i[--t]=0,new E(i)}(e,this.n.bitLength()+7>>3);if(null==t)return null;var i=this.doPublic(t);if(null==i)return null;var r=i.toString(16);return 1&r.length?"0"+r:r},oe.prototype.encryptOAEP=function(e,t,i){var r=function(e,t,i,r){var n=pe.crypto.MessageDigest,a=pe.crypto.Util,s=null;if(i||(i="sha1"),"string"==typeof i&&(s=n.getCanonicalAlgName(i),r=n.getHashLength(s),i=function(e){return Ee(a.hashHex(ke(e),s))}),e.length+2*r+2>t)throw"Message too long for RSA";var o,c="";for(o=0;o<t-e.length-2*r-2;o+=1)c+="\0";var l=i("")+c+""+e,u=new Array(r);(new ne).nextBytes(u);var h=se(u,l.length,i),d=[];for(o=0;o<l.length;o+=1)d[o]=l.charCodeAt(o)^h.charCodeAt(o);var p=se(d,u.length,i),f=[0];for(o=0;o<u.length;o+=1)f[o+1]=u[o]^p.charCodeAt(o);return new E(f.concat(d))}(e,this.n.bitLength()+7>>3,t,i);if(null==r)return null;var n=this.doPublic(r);if(null==n)return null;var a=n.toString(16);return 1&a.length?"0"+a:a},oe.prototype.type="RSA",oe.prototype.doPrivate=function(e){if(null==this.p||null==this.q)return e.modPow(this.d,this.n);for(var t=e.mod(this.p).modPow(this.dmp1,this.p),i=e.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(i)<0;)t=t.add(this.p);return t.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)},oe.prototype.setPrivate=function(e,t,i){if(this.isPrivate=!0,"string"!=typeof e)this.n=e,this.e=t,this.d=i;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key";this.n=ae(e,16),this.e=parseInt(t,16),this.d=ae(i,16)}},oe.prototype.setPrivateEx=function(e,t,i,r,n,a,s,o){if(this.isPrivate=!0,this.isPublic=!1,null==e)throw"RSASetPrivateEx N == null";if(null==t)throw"RSASetPrivateEx E == null";if(0==e.length)throw"RSASetPrivateEx N.length == 0";if(0==t.length)throw"RSASetPrivateEx E.length == 0";if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key in RSASetPrivateEx";this.n=ae(e,16),this.e=parseInt(t,16),this.d=ae(i,16),this.p=ae(r,16),this.q=ae(n,16),this.dmp1=ae(a,16),this.dmq1=ae(s,16),this.coeff=ae(o,16)},oe.prototype.generate=function(e,t){var i=new ne,r=e>>1;this.e=parseInt(t,16);for(var n=new E(t,16);;){for(;this.p=new E(e-r,1,i),0!=this.p.subtract(E.ONE).gcd(n).compareTo(E.ONE)||!this.p.isProbablePrime(10););for(;this.q=new E(r,1,i),0!=this.q.subtract(E.ONE).gcd(n).compareTo(E.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var a=this.p;this.p=this.q,this.q=a}var s=this.p.subtract(E.ONE),o=this.q.subtract(E.ONE),c=s.multiply(o);if(0==c.gcd(n).compareTo(E.ONE)&&(this.n=this.p.multiply(this.q),this.n.bitLength()==e)){this.d=n.modInverse(c),this.dmp1=this.d.mod(s),this.dmq1=this.d.mod(o),this.coeff=this.q.modInverse(this.p);break}}this.isPrivate=!0},oe.prototype.decrypt=function(e){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=ae(e,16),i=this.doPrivate(t);return null==i?null:function(e,t){for(var i=e.toByteArray(),r=0;r<i.length&&0==i[r];)++r;if(i.length-r!=t-1||2!=i[r])return null;for(++r;0!=i[r];)if(++r>=i.length)return null;for(var n="";++r<i.length;){var a=255&i[r];a<128?n+=String.fromCharCode(a):a>191&&a<224?(n+=String.fromCharCode((31&a)<<6|63&i[r+1]),++r):(n+=String.fromCharCode((15&a)<<12|(63&i[r+1])<<6|63&i[r+2]),r+=2)}return n}(i,this.n.bitLength()+7>>3)},oe.prototype.decryptOAEP=function(e,t,i){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var r=ae(e,16),n=this.doPrivate(r);return null==n?null:function(e,t,i,r){var n=pe.crypto.MessageDigest,a=pe.crypto.Util,s=null;for(i||(i="sha1"),"string"==typeof i&&(s=n.getCanonicalAlgName(i),r=n.getHashLength(s),i=function(e){return Ee(a.hashHex(ke(e),s))}),e=e.toByteArray(),o=0;o<e.length;o+=1)e[o]&=255;for(;e.length<t;)e.unshift(0);if((e=String.fromCharCode.apply(String,e)).length<2*r+2)throw"Cipher too short";var o,c=e.substr(1,r),l=e.substr(r+1),u=ce(l,r,i),h=[];for(o=0;o<c.length;o+=1)h[o]=c.charCodeAt(o)^u.charCodeAt(o);var d=ce(String.fromCharCode.apply(String,h),e.length-r,i),p=[];for(o=0;o<l.length;o+=1)p[o]=l.charCodeAt(o)^d.charCodeAt(o);if((p=String.fromCharCode.apply(String,p)).substr(0,r)!==i(""))throw"Hash mismatch";var f=(p=p.substr(r)).indexOf("");if((-1!=f?p.substr(0,f).lastIndexOf("\0"):-1)+1!=f)throw"Malformed data";return p.substr(f+1)}(n,this.n.bitLength()+7>>3,t,i)},le.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)},le.prototype.toBigInteger=function(){return this.x},le.prototype.negate=function(){return new le(this.q,this.x.negate().mod(this.q))},le.prototype.add=function(e){return new le(this.q,this.x.add(e.toBigInteger()).mod(this.q))},le.prototype.subtract=function(e){return new le(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))},le.prototype.multiply=function(e){return new le(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))},le.prototype.square=function(){return new le(this.q,this.x.square().mod(this.q))},le.prototype.divide=function(e){return new le(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))},ue.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},ue.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},ue.prototype.equals=function(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(E.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(E.ZERO))},ue.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(E.ZERO)&&!this.y.toBigInteger().equals(E.ZERO)},ue.prototype.negate=function(){return new ue(this.curve,this.x,this.y.negate(),this.z)},ue.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),i=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(E.ZERO.equals(i))return E.ZERO.equals(t)?this.twice():this.curve.getInfinity();var r=new E("3"),n=this.x.toBigInteger(),a=this.y.toBigInteger(),s=(e.x.toBigInteger(),e.y.toBigInteger(),i.square()),o=s.multiply(i),c=n.multiply(s),l=t.square().multiply(this.z),u=l.subtract(c.shiftLeft(1)).multiply(e.z).subtract(o).multiply(i).mod(this.curve.q),h=c.multiply(r).multiply(t).subtract(a.multiply(o)).subtract(l.multiply(t)).multiply(e.z).add(t.multiply(o)).mod(this.curve.q),d=o.multiply(this.z).multiply(e.z).mod(this.curve.q);return new ue(this.curve,this.curve.fromBigInteger(u),this.curve.fromBigInteger(h),d)},ue.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new E("3"),t=this.x.toBigInteger(),i=this.y.toBigInteger(),r=i.multiply(this.z),n=r.multiply(i).mod(this.curve.q),a=this.curve.a.toBigInteger(),s=t.square().multiply(e);E.ZERO.equals(a)||(s=s.add(this.z.square().multiply(a)));var o=(s=s.mod(this.curve.q)).square().subtract(t.shiftLeft(3).multiply(n)).shiftLeft(1).multiply(r).mod(this.curve.q),c=s.multiply(e).multiply(t).subtract(n.shiftLeft(1)).shiftLeft(2).multiply(n).subtract(s.square().multiply(s)).mod(this.curve.q),l=r.square().multiply(r).shiftLeft(3).mod(this.curve.q);return new ue(this.curve,this.curve.fromBigInteger(o),this.curve.fromBigInteger(c),l)},ue.prototype.multiply=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,r=i.multiply(new E("3")),n=this.negate(),a=this,s=this.curve.q.subtract(e),o=s.multiply(new E("3")),c=new ue(this.curve,this.x,this.y),l=c.negate();for(t=r.bitLength()-2;t>0;--t){a=a.twice();var u=r.testBit(t);u!=i.testBit(t)&&(a=a.add(u?this:n))}for(t=o.bitLength()-2;t>0;--t){c=c.twice();var h=o.testBit(t);h!=s.testBit(t)&&(c=c.add(h?c:l))}return a},ue.prototype.multiplyTwo=function(e,t,i){var r;r=e.bitLength()>i.bitLength()?e.bitLength()-1:i.bitLength()-1;for(var n=this.curve.getInfinity(),a=this.add(t);r>=0;)n=n.twice(),e.testBit(r)?n=i.testBit(r)?n.add(a):n.add(this):i.testBit(r)&&(n=n.add(t)),--r;return n},he.prototype.getQ=function(){return this.q},he.prototype.getA=function(){return this.a},he.prototype.getB=function(){return this.b},he.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},he.prototype.getInfinity=function(){return this.infinity},he.prototype.fromBigInteger=function(e){return new le(this.q,e)},he.prototype.decodePointHex=function(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var t=(e.length-2)/2,i=e.substr(2,t),r=e.substr(t+2,t);return new ue(this,this.fromBigInteger(new E(i,16)),this.fromBigInteger(new E(r,16)))}},le.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},ue.prototype.getEncoded=function(e){var t=function(e,t){var i=e.toByteArrayUnsigned();if(t<i.length)i=i.slice(i.length-t);else for(;t>i.length;)i.unshift(0);return i},i=this.getX().toBigInteger(),r=this.getY().toBigInteger(),n=t(i,32);return e?r.isEven()?n.unshift(2):n.unshift(3):(n.unshift(4),n=n.concat(t(r,32))),n},ue.decodeFrom=function(e,t){t[0];var i=t.length-1,r=t.slice(1,1+i/2),n=t.slice(1+i/2,1+i);r.unshift(0),n.unshift(0);var a=new E(r),s=new E(n);return new ue(e,e.fromBigInteger(a),e.fromBigInteger(s))},ue.decodeFromHex=function(e,t){t.substr(0,2);var i=t.length-2,r=t.substr(2,i/2),n=t.substr(2+i/2,i/2),a=new E(r,16),s=new E(n,16);return new ue(e,e.fromBigInteger(a),e.fromBigInteger(s))},ue.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),i=e.y.subtract(this.y).divide(t),r=i.square().subtract(this.x).subtract(e.x),n=i.multiply(this.x.subtract(r)).subtract(this.y);return new ue(this.curve,r,n)},ue.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=this.curve.fromBigInteger(E.valueOf(2)),t=this.curve.fromBigInteger(E.valueOf(3)),i=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),r=i.square().subtract(this.x.multiply(e)),n=i.multiply(this.x.subtract(r)).subtract(this.y);return new ue(this.curve,r,n)},ue.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,r=i.multiply(new E("3")),n=this.negate(),a=this;for(t=r.bitLength()-2;t>0;--t){a=a.twice();var s=r.testBit(t);s!=i.testBit(t)&&(a=a.add2D(s?this:n))}return a},ue.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),i=this.curve.getA().toBigInteger(),r=this.curve.getB().toBigInteger(),n=this.curve.getQ(),a=t.multiply(t).mod(n),s=e.multiply(e).multiply(e).add(i.multiply(e)).add(r).mod(n);return a.equals(s)},ue.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},ue.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),i=this.getY().toBigInteger();if(t.compareTo(E.ONE)<0||t.compareTo(e.subtract(E.ONE))>0)throw new Error("x coordinate out of bounds");if(i.compareTo(E.ONE)<0||i.compareTo(e.subtract(E.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var de=function(){var e=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),i={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function r(e,t,r){return t?i[t]:String.fromCharCode(parseInt(r,16))}var n=new String(""),a=Object.hasOwnProperty;return function(i,s){var o,c,l=i.match(e),u=l[0],h=!1;"{"===u?o={}:"["===u?o=[]:(o=[],h=!0);for(var d=[o],p=1-h,f=l.length;p<f;++p){var g;switch((u=l[p]).charCodeAt(0)){default:(g=d[0])[c||g.length]=+u,c=void 0;break;case 34:if(-1!==(u=u.substring(1,u.length-1)).indexOf("\\")&&(u=u.replace(t,r)),g=d[0],!c){if(!(g instanceof Array)){c=u||n;break}c=g.length}g[c]=u,c=void 0;break;case 91:g=d[0],d.unshift(g[c||g.length]=[]),c=void 0;break;case 93:case 125:d.shift();break;case 102:(g=d[0])[c||g.length]=!1,c=void 0;break;case 110:(g=d[0])[c||g.length]=null,c=void 0;break;case 116:(g=d[0])[c||g.length]=!0,c=void 0;break;case 123:g=d[0],d.unshift(g[c||g.length]={}),c=void 0}}if(h){if(1!==d.length)throw new Error;o=o[0]}else if(d.length)throw new Error;if(s){var m=function(e,t){var i=e[t];if(i&&"object"==typeof i){var r=null;for(var n in i)if(a.call(i,n)&&i!==e){var o=m(i,n);void 0!==o?i[n]=o:(r||(r=[]),r.push(n))}if(r)for(var c=r.length;--c>=0;)delete i[r[c]]}return s.call(e,t,i)};o=m({"":o},"")}return o}}();void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),pe.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var i=t.substr(1).length;i%2==1?i+=1:t.match(/^[0-7]/)||(i+=2);for(var r="",n=0;n<i;n++)r+="f";t=new E(r,16).xor(e).add(E.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(e,t){return Ie(e,t)},this.newObject=function(e){var t=pe.asn1,i=t.DERBoolean,r=t.DERInteger,n=t.DERBitString,a=t.DEROctetString,s=t.DERNull,o=t.DERObjectIdentifier,c=t.DEREnumerated,l=t.DERUTF8String,u=t.DERNumericString,h=t.DERPrintableString,d=t.DERTeletexString,p=t.DERIA5String,f=t.DERUTCTime,g=t.DERGeneralizedTime,m=t.DERVisibleString,b=t.DERBMPString,y=t.DERSequence,v=t.DERSet,S=t.DERTaggedObject,C=t.ASN1Util.newObject;if(e instanceof t.ASN1Object)return e;var x=Object.keys(e);if(1!=x.length)throw new Error("key of param shall be only one.");var w=x[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+w+":"))throw new Error("undefined key: "+w);if("bool"==w)return new i(e[w]);if("int"==w)return new r(e[w]);if("bitstr"==w)return new n(e[w]);if("octstr"==w)return new a(e[w]);if("null"==w)return new s(e[w]);if("oid"==w)return new o(e[w]);if("enum"==w)return new c(e[w]);if("utf8str"==w)return new l(e[w]);if("numstr"==w)return new u(e[w]);if("prnstr"==w)return new h(e[w]);if("telstr"==w)return new d(e[w]);if("ia5str"==w)return new p(e[w]);if("utctime"==w)return new f(e[w]);if("gentime"==w)return new g(e[w]);if("visstr"==w)return new m(e[w]);if("bmpstr"==w)return new b(e[w]);if("seq"==w){for(var A=e[w],E=[],k=0;k<A.length;k++){var I=C(A[k]);E.push(I)}return new y({array:E})}if("set"==w){for(A=e[w],E=[],k=0;k<A.length;k++)I=C(A[k]),E.push(I);return new v({array:E})}if("tag"==w){var T=e[w];if("[object Array]"===Object.prototype.toString.call(T)&&3==T.length){var D=C(T[2]);return new S({tag:T[0],explicit:T[1],obj:D})}var F={};if(void 0!==T.explicit&&(F.explicit=T.explicit),void 0!==T.tag&&(F.tag=T.tag),void 0===T.obj)throw"obj shall be specified for 'tag'.";return F.obj=C(T.obj),new S(F)}},this.jsonToASN1HEX=function(e){return this.newObject(e).getEncodedHex()}},pe.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",i=parseInt(e.substr(0,2),16),r=(t=Math.floor(i/40)+"."+i%40,""),n=2;n<e.length;n+=2){var a=("00000000"+parseInt(e.substr(n,2),16).toString(2)).slice(-8);r+=a.substr(1,7),"0"==a.substr(0,1)&&(t=t+"."+new E(r,2).toString(10),r="")}return t},pe.asn1.ASN1Util.oidIntToHex=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",r=new E(e,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var a="",s=0;s<n;s++)a+="0";for(r=a+r,s=0;s<r.length-1;s+=7){var o=r.substr(s,7);s!=r.length-7&&(o="1"+o),i+=t(parseInt(o,2))}return i};if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var r="",n=e.split("."),a=40*parseInt(n[0])+parseInt(n[1]);r+=t(a),n.splice(0,2);for(var s=0;s<n.length;s++)r+=i(n[s]);return r},pe.asn1.ASN1Object=function(e){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n=0,v="+this.hV);var e=this.hV.length/2,t=e.toString(16);if(t.length%2==1&&(t="0"+t),e<128)return t;var i=t.length/2;if(i>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+i).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},null!=e&&null!=e.tlv&&(this.hTLV=e.tlv,this.isModified=!1)},pe.asn1.DERAbstractString=function(e){pe.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=we(this.s).toLowerCase()},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},n.lang.extend(pe.asn1.DERAbstractString,pe.asn1.ASN1Object),pe.asn1.DERAbstractTime=function(e){pe.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){var t=e.getTime()+6e4*e.getTimezoneOffset();return new Date(t)},this.formatDate=function(e,t,i){var r=this.zeroPadding,n=this.localDateToUTC(e),a=String(n.getFullYear());"utc"==t&&(a=a.substr(2,2));var s=a+r(String(n.getMonth()+1),2)+r(String(n.getDate()),2)+r(String(n.getHours()),2)+r(String(n.getMinutes()),2)+r(String(n.getSeconds()),2);if(!0===i){var o=n.getMilliseconds();if(0!=o){var c=r(String(o),3);s=s+"."+(c=c.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=ye(e)},this.setByDateValue=function(e,t,i,r,n,a){var s=new Date(Date.UTC(e,t-1,i,r,n,a,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},n.lang.extend(pe.asn1.DERAbstractTime,pe.asn1.ASN1Object),pe.asn1.DERAbstractStructured=function(e){pe.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},n.lang.extend(pe.asn1.DERAbstractStructured,pe.asn1.ASN1Object),pe.asn1.DERBoolean=function(){pe.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},n.lang.extend(pe.asn1.DERBoolean,pe.asn1.ASN1Object),pe.asn1.DERInteger=function(e){pe.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=pe.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new E(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},n.lang.extend(pe.asn1.DERInteger,pe.asn1.ASN1Object),pe.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=pe.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}pe.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7<e)throw"unused bits shall be from 0 to 7: u = "+e;var i="0"+e;this.hTLV=null,this.isModified=!0,this.hV=i+t},this.setByBinaryString=function(e){var t=8-(e=e.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var i=0;i<=t;i++)e+="0";var r="";for(i=0;i<e.length-1;i+=8){var n=e.substr(i,8),a=parseInt(n,2).toString(16);1==a.length&&(a="0"+a),r+=a}this.hTLV=null,this.isModified=!0,this.hV="0"+t+r},this.setByBooleanArray=function(e){for(var t="",i=0;i<e.length;i++)1==e[i]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(e){for(var t=new Array(e),i=0;i<e;i++)t[i]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e&&e.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(e):void 0!==e.hex?this.setHexValueIncludingUnusedBits(e.hex):void 0!==e.bin?this.setByBinaryString(e.bin):void 0!==e.array&&this.setByBooleanArray(e.array))},n.lang.extend(pe.asn1.DERBitString,pe.asn1.ASN1Object),pe.asn1.DEROctetString=function(e){if(void 0!==e&&void 0!==e.obj){var t=pe.asn1.ASN1Util.newObject(e.obj);e.hex=t.getEncodedHex()}pe.asn1.DEROctetString.superclass.constructor.call(this,e),this.hT="04"},n.lang.extend(pe.asn1.DEROctetString,pe.asn1.DERAbstractString),pe.asn1.DERNull=function(){pe.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},n.lang.extend(pe.asn1.DERNull,pe.asn1.ASN1Object),pe.asn1.DERObjectIdentifier=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",r=new E(e,10).toString(2),n=7-r.length%7;7==n&&(n=0);for(var a="",s=0;s<n;s++)a+="0";for(r=a+r,s=0;s<r.length-1;s+=7){var o=r.substr(s,7);s!=r.length-7&&(o="1"+o),i+=t(parseInt(o,2))}return i};pe.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueOidString=function(e){if(!e.match(/^[0-9.]+$/))throw new Error("malformed oid string: "+e);var r="",n=e.split("."),a=40*parseInt(n[0])+parseInt(n[1]);r+=t(a),n.splice(0,2);for(var s=0;s<n.length;s++)r+=i(n[s]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=r},this.setValueName=function(e){var t=pe.asn1.x509.OID.name2oid(e);if(""===t)throw new Error("DERObjectIdentifier oidName undefined: "+e);this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?e.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(e):this.setValueName(e):void 0!==e.oid?this.setValueOidString(e.oid):void 0!==e.hex?this.setValueHex(e.hex):void 0!==e.name&&this.setValueName(e.name))},n.lang.extend(pe.asn1.DERObjectIdentifier,pe.asn1.ASN1Object),pe.asn1.DEREnumerated=function(e){pe.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=pe.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new E(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},n.lang.extend(pe.asn1.DEREnumerated,pe.asn1.ASN1Object),pe.asn1.DERUTF8String=function(e){pe.asn1.DERUTF8String.superclass.constructor.call(this,e),this.hT="0c"},n.lang.extend(pe.asn1.DERUTF8String,pe.asn1.DERAbstractString),pe.asn1.DERNumericString=function(e){pe.asn1.DERNumericString.superclass.constructor.call(this,e),this.hT="12"},n.lang.extend(pe.asn1.DERNumericString,pe.asn1.DERAbstractString),pe.asn1.DERPrintableString=function(e){pe.asn1.DERPrintableString.superclass.constructor.call(this,e),this.hT="13"},n.lang.extend(pe.asn1.DERPrintableString,pe.asn1.DERAbstractString),pe.asn1.DERTeletexString=function(e){pe.asn1.DERTeletexString.superclass.constructor.call(this,e),this.hT="14"},n.lang.extend(pe.asn1.DERTeletexString,pe.asn1.DERAbstractString),pe.asn1.DERIA5String=function(e){pe.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="16"},n.lang.extend(pe.asn1.DERIA5String,pe.asn1.DERAbstractString),pe.asn1.DERVisibleString=function(e){pe.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="1a"},n.lang.extend(pe.asn1.DERVisibleString,pe.asn1.DERAbstractString),pe.asn1.DERBMPString=function(e){pe.asn1.DERBMPString.superclass.constructor.call(this,e),this.hT="1e"},n.lang.extend(pe.asn1.DERBMPString,pe.asn1.DERAbstractString),pe.asn1.DERUTCTime=function(e){pe.asn1.DERUTCTime.superclass.constructor.call(this,e),this.hT="17",this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"utc"),this.hV=ye(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=ye(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{12}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date))},n.lang.extend(pe.asn1.DERUTCTime,pe.asn1.DERAbstractTime),pe.asn1.DERGeneralizedTime=function(e){pe.asn1.DERGeneralizedTime.superclass.constructor.call(this,e),this.hT="18",this.withMillis=!1,this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=ye(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=ye(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{14}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date),!0===e.millis&&(this.withMillis=!0))},n.lang.extend(pe.asn1.DERGeneralizedTime,pe.asn1.DERAbstractTime),pe.asn1.DERSequence=function(e){pe.asn1.DERSequence.superclass.constructor.call(this,e),this.hT="30",this.getFreshValueHex=function(){for(var e="",t=0;t<this.asn1Array.length;t++)e+=this.asn1Array[t].getEncodedHex();return this.hV=e,this.hV}},n.lang.extend(pe.asn1.DERSequence,pe.asn1.DERAbstractStructured),pe.asn1.DERSet=function(e){pe.asn1.DERSet.superclass.constructor.call(this,e),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var e=new Array,t=0;t<this.asn1Array.length;t++){var i=this.asn1Array[t];e.push(i.getEncodedHex())}return 1==this.sortFlag&&e.sort(),this.hV=e.join(""),this.hV},void 0!==e&&void 0!==e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},n.lang.extend(pe.asn1.DERSet,pe.asn1.DERAbstractStructured),pe.asn1.DERTaggedObject=function(e){pe.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(e,t,i){this.hT=t,this.isExplicit=e,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.tag&&(this.hT=e.tag),void 0!==e.explicit&&(this.isExplicit=e.explicit),void 0!==e.obj&&(this.asn1Object=e.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},n.lang.extend(pe.asn1.DERTaggedObject,pe.asn1.ASN1Object);var pe,fe,ge,me=new function(){};function be(e){for(var t="",i=0;i<e.length;i++){var r=e[i].toString(16);1==r.length&&(r="0"+r),t+=r}return t}function ye(e){return be(function(e){for(var t=new Array,i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}(e))}function ve(e){return(e=(e=e.replace(/\=/g,"")).replace(/\+/g,"-")).replace(/\//g,"_")}function Se(e){return e.length%4==2?e+="==":e.length%4==3&&(e+="="),(e=e.replace(/-/g,"+")).replace(/_/g,"/")}function Ce(e){return e.length%2==1&&(e="0"+e),ve(w(e))}function xe(e){return A(Se(e))}function we(e){return De(Be(e))}function Ae(e){return decodeURIComponent(Fe(e))}function Ee(e){for(var t="",i=0;i<e.length-1;i+=2)t+=String.fromCharCode(parseInt(e.substr(i,2),16));return t}function ke(e){for(var t="",i=0;i<e.length;i++)t+=("0"+e.charCodeAt(i).toString(16)).slice(-2);return t}function Ie(e,t){return"-----BEGIN "+t+"-----\r\n"+function(e){var t;return(t=e,w(t)).replace(/(.{64})/g,"$1\r\n").replace(/\r\n$/,"")}(e)+"\r\n-----END "+t+"-----\r\n"}function Te(e,t){if(-1==e.indexOf("-----BEGIN "))throw"can't find PEM header: "+t;return A((e=void 0!==t?(e=e.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),"")).replace(new RegExp("-----END "+t+"-----[^]*$"),""):(e=e.replace(/^[^]*-----BEGIN [^-]+-----/,"")).replace(/-----END [^-]+-----[^]*$/,"")).replace(/[^0-9A-Za-z\/+=]*/g,""))}function De(e){return e.replace(/%/g,"")}function Fe(e){return e.replace(/(..)/g,"%$1")}function Pe(e){var t="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(8!=e.length)return 32==e.length?function(e){if(!e.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";for(var t=(e=e.toLowerCase()).match(/.{1,4}/g),i=0;i<8;i++)t[i]=t[i].replace(/^0+/,""),""==t[i]&&(t[i]="0");var r=(e=":"+t.join(":")+":").match(/:(0:){2,}/g);if(null===r)return e.slice(1,-1);var n="";for(i=0;i<r.length;i++)r[i].length>n.length&&(n=r[i]);return(e=e.replace(n,"::")).slice(1,-1)}(e):e;try{return parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16)}catch(i){throw t}}function Be(e){for(var t=encodeURIComponent(e),i="",r=0;r<t.length;r++)"%"==t[r]?(i+=t.substr(r,3),r+=2):i=i+"%"+ye(t[r]);return i}function Oe(e){return e.length%2==1?"0"+e:e.substr(0,1)>"7"?"00"+e:e}me.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var i=parseInt(e.substr(t+3,1));return 0==i?-1:0<i&&i<10?i+1:-2},me.getL=function(e,t){var i=me.getLblen(e,t);return i<1?"":e.substr(t+2,2*i)},me.getVblen=function(e,t){var i;return""==(i=me.getL(e,t))?-1:("8"===i.substr(0,1)?new E(i.substr(2),16):new E(i,16)).intValue()},me.getVidx=function(e,t){var i=me.getLblen(e,t);return i<0?i:t+2*(i+1)},me.getV=function(e,t){var i=me.getVidx(e,t),r=me.getVblen(e,t);return e.substr(i,2*r)},me.getTLV=function(e,t){return e.substr(t,2)+me.getL(e,t)+me.getV(e,t)},me.getTLVblen=function(e,t){return 2+2*me.getLblen(e,t)+2*me.getVblen(e,t)},me.getNextSiblingIdx=function(e,t){return me.getVidx(e,t)+2*me.getVblen(e,t)},me.getChildIdx=function(e,t){var i,r,n,a=me,s=[];i=a.getVidx(e,t),r=2*a.getVblen(e,t),"03"==e.substr(t,2)&&(i+=2,r-=2),n=0;for(var o=i;n<=r;){var c=a.getTLVblen(e,o);if((n+=c)<=r&&s.push(o),o+=c,n>=r)break}return s},me.getNthChildIdx=function(e,t,i){return me.getChildIdx(e,t)[i]},me.getIdxbyList=function(e,t,i,r){var n,a,s=me;return 0==i.length?void 0!==r&&e.substr(t,2)!==r?-1:t:(n=i.shift())>=(a=s.getChildIdx(e,t)).length?-1:s.getIdxbyList(e,a[n],i,r)},me.getIdxbyListEx=function(e,t,i,r){var n,a,s=me;if(0==i.length)return void 0!==r&&e.substr(t,2)!==r?-1:t;n=i.shift(),a=s.getChildIdx(e,t);for(var o=0,c=0;c<a.length;c++){var l=e.substr(a[c],2);if("number"==typeof n&&!s.isContextTag(l)&&o==n||"string"==typeof n&&s.isContextTag(l,n))return s.getIdxbyListEx(e,a[c],i,r);s.isContextTag(l)||o++}return-1},me.getTLVbyList=function(e,t,i,r){var n=me,a=n.getIdxbyList(e,t,i,r);return-1==a||a>=e.length?null:n.getTLV(e,a)},me.getTLVbyListEx=function(e,t,i,r){var n=me,a=n.getIdxbyListEx(e,t,i,r);return-1==a?null:n.getTLV(e,a)},me.getVbyList=function(e,t,i,r,n){var a,s,o=me;return-1==(a=o.getIdxbyList(e,t,i,r))||a>=e.length?null:(s=o.getV(e,a),!0===n&&(s=s.substr(2)),s)},me.getVbyListEx=function(e,t,i,r,n){var a,s,o=me;return-1==(a=o.getIdxbyListEx(e,t,i,r))?null:(s=o.getV(e,a),"03"==e.substr(a,2)&&!1!==n&&(s=s.substr(2)),s)},me.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},i=[],r=e.substr(0,2),n=parseInt(r,16);i[0]=new String(Math.floor(n/40)),i[1]=new String(n%40);for(var a=e.substr(2),s=[],o=0;o<a.length/2;o++)s.push(parseInt(a.substr(2*o,2),16));var c=[],l="";for(o=0;o<s.length;o++)128&s[o]?l+=t((127&s[o]).toString(2),7):(l+=t((127&s[o]).toString(2),7),c.push(new String(parseInt(l,2))),l="");var u=i.join(".");return c.length>0&&(u=u+"."+c.join(".")),u},me.dump=function(e,t,i,r){var n=me,a=n.getV,s=n.dump,o=n.getChildIdx,c=e;e instanceof pe.asn1.ASN1Object&&(c=e.getEncodedHex());var l=function(e,t){return e.length<=2*t?e:e.substr(0,t)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-t,t)};void 0===t&&(t={ommit_long_octet:32}),void 0===i&&(i=0),void 0===r&&(r="");var u,h=t.ommit_long_octet;if("01"==(u=c.substr(i,2)))return"00"==(d=a(c,i))?r+"BOOLEAN FALSE\n":r+"BOOLEAN TRUE\n";if("02"==u)return r+"INTEGER "+l(d=a(c,i),h)+"\n";if("03"==u){var d=a(c,i);return n.isASN1HEX(d.substr(2))?(C=r+"BITSTRING, encapsulates\n")+s(d.substr(2),t,0,r+" "):r+"BITSTRING "+l(d,h)+"\n"}if("04"==u)return d=a(c,i),n.isASN1HEX(d)?(C=r+"OCTETSTRING, encapsulates\n")+s(d,t,0,r+" "):r+"OCTETSTRING "+l(d,h)+"\n";if("05"==u)return r+"NULL\n";if("06"==u){var p=a(c,i),f=pe.asn1.ASN1Util.oidHexToInt(p),g=pe.asn1.x509.OID.oid2name(f),m=f.replace(/\./g," ");return""!=g?r+"ObjectIdentifier "+g+" ("+m+")\n":r+"ObjectIdentifier ("+m+")\n"}if("0a"==u)return r+"ENUMERATED "+parseInt(a(c,i))+"\n";if("0c"==u)return r+"UTF8String '"+Ae(a(c,i))+"'\n";if("13"==u)return r+"PrintableString '"+Ae(a(c,i))+"'\n";if("14"==u)return r+"TeletexString '"+Ae(a(c,i))+"'\n";if("16"==u)return r+"IA5String '"+Ae(a(c,i))+"'\n";if("17"==u)return r+"UTCTime "+Ae(a(c,i))+"\n";if("18"==u)return r+"GeneralizedTime "+Ae(a(c,i))+"\n";if("1a"==u)return r+"VisualString '"+Ae(a(c,i))+"'\n";if("1e"==u)return r+"BMPString '"+Ae(a(c,i))+"'\n";if("30"==u){if("3000"==c.substr(i,4))return r+"SEQUENCE {}\n";C=r+"SEQUENCE\n";var b=t;if((2==(S=o(c,i)).length||3==S.length)&&"06"==c.substr(S[0],2)&&"04"==c.substr(S[S.length-1],2)){g=n.oidname(a(c,S[0]));var y=JSON.parse(JSON.stringify(t));y.x509ExtName=g,b=y}for(var v=0;v<S.length;v++)C+=s(c,b,S[v],r+" ");return C}if("31"==u){C=r+"SET\n";var S=o(c,i);for(v=0;v<S.length;v++)C+=s(c,t,S[v],r+" ");return C}if(128&(u=parseInt(u,16))){var C,x=31&u;if(32&u){for(C=r+"["+x+"]\n",S=o(c,i),v=0;v<S.length;v++)C+=s(c,t,S[v],r+" ");return C}return d=a(c,i),me.isASN1HEX(d)?(C=r+"["+x+"]\n")+s(d,t,0,r+" "):(("68747470"==d.substr(0,8)||"subjectAltName"===t.x509ExtName&&2==x)&&(d=Ae(d)),r+"["+x+"] "+d+"\n")}return r+"UNKNOWN("+u+") "+a(c,i)+"\n"},me.isContextTag=function(e,t){var i,r;e=e.toLowerCase();try{i=parseInt(e,16)}catch(n){return-1}if(void 0===t)return 128==(192&i);try{return null!=t.match(/^\[[0-9]+\]$/)&&!((r=parseInt(t.substr(1,t.length-1),10))>31)&&128==(192&i)&&(31&i)==r}catch(n){return!1}},me.isASN1HEX=function(e){var t=me;if(e.length%2==1)return!1;var i=t.getVblen(e,0),r=e.substr(0,2),n=t.getL(e,0);return e.length-r.length-n.length==2*i},me.checkStrictDER=function(e,t,i,r,n){var a=me;if(void 0===i){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!pe.lang.String.isHex(e))throw new Error("not hex string");i=e.length,n=(r=e.length/2)<128?1:Math.ceil(r.toString(16))+1}if(a.getL(e,t).length>2*n)throw new Error("L of TLV too long: idx="+t);var s=a.getVblen(e,t);if(s>r)throw new Error("value of L too long than hex: idx="+t);var o=a.getTLV(e,t),c=o.length-2-a.getL(e,t).length;if(c!==2*s)throw new Error("V string length and L's value not the same:"+c+"/"+2*s);if(0===t&&e.length!=o.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+o.length);var l=e.substr(t,2);if("02"===l){var u=a.getVidx(e,t);if("00"==e.substr(u,2)&&e.charCodeAt(u+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(l,16)){for(var h=a.getVblen(e,t),d=0,p=a.getChildIdx(e,t),f=0;f<p.length;f++)d+=a.getTLV(e,p[f]).length,a.checkStrictDER(e,p[f],i,r,n);if(2*h!=d)throw new Error("sum of children's TLV length and L unmatch: "+2*h+"!="+d)}},me.oidname=function(e){var t=pe.asn1;pe.lang.String.isHex(e)&&(e=t.ASN1Util.oidHexToInt(e));var i=t.x509.OID.oid2name(e);return""===i&&(i=e),i},void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),void 0!==pe.asn1.x509&&pe.asn1.x509||(pe.asn1.x509={}),pe.asn1.x509.Certificate=function(e){pe.asn1.x509.Certificate.superclass.constructor.call(this);var t=pe.asn1,i=t.DERBitString,r=t.DERSequence,n=t.x509,a=n.TBSCertificate,s=n.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(e){this.params=e},this.sign=function(){var e=this.params,t=e.tbsobj.getEncodedHex(),i=new pe.crypto.Signature({alg:e.sigalg});i.init(e.cakey),i.updateHex(t),e.sighex=i.sign()},this.getPEM=function(){return Ie(this.getEncodedHex(),"CERTIFICATE")},this.getEncodedHex=function(){var e=this.params;if(null!=e.tbsobj&&null!=e.tbsobj||(e.tbsobj=new a(e)),null==e.sighex&&null!=e.cakey&&this.sign(),null==e.sighex)throw new Error("sighex or cakey parameter not defined");var t=[];return t.push(e.tbsobj),t.push(new s({name:e.sigalg})),t.push(new i({hex:"00"+e.sighex})),new r({array:t}).getEncodedHex()},null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.Certificate,pe.asn1.ASN1Object),pe.asn1.x509.TBSCertificate=function(e){pe.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=pe.asn1,i=t.x509,r=t.DERTaggedObject,n=t.DERInteger,a=t.DERSequence,s=i.AlgorithmIdentifier,o=i.Time,c=i.X500Name,l=i.Extensions,u=i.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=[],t=this.params;if(null!=t.version||1!=t.version){var i=2;null!=t.version&&(i=t.version-1);var h=new r({obj:new n({int:i})});e.push(h)}return e.push(new n(t.serial)),e.push(new s({name:t.sigalg})),e.push(new c(t.issuer)),e.push(new a({array:[new o({str:t.notbefore}),new o({str:t.notafter})]})),e.push(new c(t.subject)),e.push(new u(Ne.getKey(t.sbjpubkey))),void 0!==t.ext&&t.ext.length>0&&e.push(new r({tag:"a3",obj:new l(t.ext)})),new pe.asn1.DERSequence({array:e}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.TBSCertificate,pe.asn1.ASN1Object),pe.asn1.x509.Extensions=function(e){pe.asn1.x509.Extensions.superclass.constructor.call(this);var t=pe.asn1,i=t.DERSequence,r=t.x509;this.aParam=[],this.setByParam=function(e){this.aParam=e},this.getEncodedHex=function(){for(var e=[],t=0;t<this.aParam.length;t++){var n=this.aParam[t],a=n.extname,s=null;if(null!=n.extn)s=new r.PrivateExtension(n);else if("subjectKeyIdentifier"==a)s=new r.SubjectKeyIdentifier(n);else if("keyUsage"==a)s=new r.KeyUsage(n);else if("subjectAltName"==a)s=new r.SubjectAltName(n);else if("issuerAltName"==a)s=new r.IssuerAltName(n);else if("basicConstraints"==a)s=new r.BasicConstraints(n);else if("cRLDistributionPoints"==a)s=new r.CRLDistributionPoints(n);else if("certificatePolicies"==a)s=new r.CertificatePolicies(n);else if("authorityKeyIdentifier"==a)s=new r.AuthorityKeyIdentifier(n);else if("extKeyUsage"==a)s=new r.ExtKeyUsage(n);else if("authorityInfoAccess"==a)s=new r.AuthorityInfoAccess(n);else if("cRLNumber"==a)s=new r.CRLNumber(n);else if("cRLReason"==a)s=new r.CRLReason(n);else if("ocspNonce"==a)s=new r.OCSPNonce(n);else{if("ocspNoCheck"!=a)throw new Error("extension not supported:"+JSON.stringify(n));s=new r.OCSPNoCheck(n)}null!=s&&e.push(s)}return new i({array:e}).getEncodedHex()},null!=e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.Extensions,pe.asn1.ASN1Object),pe.asn1.x509.Extension=function(e){pe.asn1.x509.Extension.superclass.constructor.call(this);var t=pe.asn1,i=t.DERObjectIdentifier,r=t.DEROctetString,n=(t.DERBitString,t.DERBoolean),a=t.DERSequence;this.getEncodedHex=function(){var e=new i({oid:this.oid}),t=new r({hex:this.getExtnValueHex()}),s=new Array;return s.push(e),this.critical&&s.push(new n),s.push(t),new a({array:s}).getEncodedHex()},this.critical=!1,void 0!==e&&void 0!==e.critical&&(this.critical=e.critical)},n.lang.extend(pe.asn1.x509.Extension,pe.asn1.ASN1Object),pe.asn1.x509.KeyUsage=function(e){pe.asn1.x509.KeyUsage.superclass.constructor.call(this,e);var t=Le.KEYUSAGE_NAME;if(this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15",void 0!==e&&(void 0!==e.bin&&(this.asn1ExtnValue=new pe.asn1.DERBitString(e)),void 0!==e.names&&void 0!==e.names.length)){for(var i=e.names,r="000000000",n=0;n<i.length;n++)for(var a=0;a<t.length;a++)i[n]===t[a]&&(r=r.substring(0,a)+"1"+r.substring(a+1,r.length));this.asn1ExtnValue=new pe.asn1.DERBitString({bin:r})}},n.lang.extend(pe.asn1.x509.KeyUsage,pe.asn1.x509.Extension),pe.asn1.x509.BasicConstraints=function(e){pe.asn1.x509.BasicConstraints.superclass.constructor.call(this,e);var t=pe.asn1,i=t.DERBoolean,r=t.DERInteger,n=t.DERSequence;this.getExtnValueHex=function(){var e=new Array;this.cA&&e.push(new i),this.pathLen>-1&&e.push(new r({int:this.pathLen}));var t=new n({array:e});return this.asn1ExtnValue=t,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,void 0!==e&&(void 0!==e.cA&&(this.cA=e.cA),void 0!==e.pathLen&&(this.pathLen=e.pathLen))},n.lang.extend(pe.asn1.x509.BasicConstraints,pe.asn1.x509.Extension),pe.asn1.x509.CRLDistributionPoints=function(e){pe.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=pe.asn1,i=t.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(e){for(var r=[],n=0;n<e.length;n++)if(e[n]instanceof pe.asn1.ASN1Object)r.push(e[n]);else{var a=new i.DistributionPoint(e[n]);r.push(a)}this.asn1ExtnValue=new t.DERSequence({array:r})},this.setByOneURI=function(e){var t=new i.DistributionPoint({fulluri:e});this.setByDPArray([t])},this.oid="2.5.29.31",void 0!==e&&(void 0!==e.array?this.setByDPArray(e.array):void 0!==e.uri&&this.setByOneURI(e.uri))},n.lang.extend(pe.asn1.x509.CRLDistributionPoints,pe.asn1.x509.Extension),pe.asn1.x509.DistributionPoint=function(e){pe.asn1.x509.DistributionPoint.superclass.constructor.call(this);var t=pe.asn1,i=t.x509.DistributionPointName;this.getEncodedHex=function(){var e=new t.DERSequence;if(null!=this.asn1DP){var i=new t.DERTaggedObject({explicit:!0,tag:"a0",obj:this.asn1DP});e.appendASN1Object(i)}return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&(void 0!==e.dpobj?this.asn1DP=e.dpobj:void 0!==e.dpname?this.asn1DP=new i(e.dpname):void 0!==e.fulluri&&(this.asn1DP=new i({full:[{uri:e.fulluri}]})))},n.lang.extend(pe.asn1.x509.DistributionPoint,pe.asn1.ASN1Object),pe.asn1.x509.DistributionPointName=function(e){pe.asn1.x509.DistributionPointName.superclass.constructor.call(this);var t=pe.asn1,i=t.DERTaggedObject;if(this.getEncodedHex=function(){if("full"!=this.type)throw new Error("currently type shall be 'full': "+this.type);return this.asn1Obj=new i({explicit:!1,tag:this.tag,obj:this.asn1V}),this.hTLV=this.asn1Obj.getEncodedHex(),this.hTLV},void 0!==e)if(t.x509.GeneralNames.prototype.isPrototypeOf(e))this.type="full",this.tag="a0",this.asn1V=e;else{if(void 0===e.full)throw new Error("This class supports GeneralNames only as argument");this.type="full",this.tag="a0",this.asn1V=new t.x509.GeneralNames(e.full)}},n.lang.extend(pe.asn1.x509.DistributionPointName,pe.asn1.ASN1Object),pe.asn1.x509.CertificatePolicies=function(e){pe.asn1.x509.CertificatePolicies.superclass.constructor.call(this,e);var t=pe.asn1,i=t.x509,r=t.DERSequence,n=i.PolicyInformation;this.params=null,this.getExtnValueHex=function(){for(var e=[],t=0;t<this.params.array.length;t++)e.push(new n(this.params.array[t]));var i=new r({array:e});return this.asn1ExtnValue=i,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.32",void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.x509.CertificatePolicies,pe.asn1.x509.Extension),pe.asn1.x509.PolicyInformation=function(e){pe.asn1.x509.PolicyInformation.superclass.constructor.call(this,e);var t=pe.asn1,i=t.DERSequence,r=t.DERObjectIdentifier,n=t.x509.PolicyQualifierInfo;this.params=null,this.getEncodedHex=function(){if(void 0===this.params.policyoid&&void 0===this.params.array)throw new Error("parameter oid and array missing");var e=[new r(this.params.policyoid)];if(void 0!==this.params.array){for(var t=[],a=0;a<this.params.array.length;a++)t.push(new n(this.params.array[a]));t.length>0&&e.push(new i({array:t}))}return new i({array:e}).getEncodedHex()},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.x509.PolicyInformation,pe.asn1.ASN1Object),pe.asn1.x509.PolicyQualifierInfo=function(e){pe.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=pe.asn1,i=t.DERSequence,r=t.DERIA5String,n=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.getEncodedHex=function(){return void 0!==this.params.cps?new i({array:[new n({oid:"1.3.6.1.5.5.7.2.1"}),new r({str:this.params.cps})]}).getEncodedHex():null!=this.params.unotice?new i({array:[new n({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]}).getEncodedHex():void 0},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.x509.PolicyQualifierInfo,pe.asn1.ASN1Object),pe.asn1.x509.UserNotice=function(e){pe.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=pe.asn1.DERSequence,i=(pe.asn1.DERInteger,pe.asn1.x509.DisplayText),r=pe.asn1.x509.NoticeReference;this.params=null,this.getEncodedHex=function(){var e=[];return void 0!==this.params.noticeref&&e.push(new r(this.params.noticeref)),void 0!==this.params.exptext&&e.push(new i(this.params.exptext)),new t({array:e}).getEncodedHex()},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.x509.UserNotice,pe.asn1.ASN1Object),pe.asn1.x509.NoticeReference=function(e){pe.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=pe.asn1.DERSequence,i=pe.asn1.DERInteger,r=pe.asn1.x509.DisplayText;this.params=null,this.getEncodedHex=function(){var e=[];if(void 0!==this.params.org&&e.push(new r(this.params.org)),void 0!==this.params.noticenum){for(var n=[],a=this.params.noticenum,s=0;s<a.length;s++)n.push(new i(a[s]));e.push(new t({array:n}))}if(0==e.length)throw new Error("parameter is empty");return new t({array:e}).getEncodedHex()},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.x509.NoticeReference,pe.asn1.ASN1Object),pe.asn1.x509.DisplayText=function(e){pe.asn1.x509.DisplayText.superclass.constructor.call(this,e),this.hT="0c",void 0!==e&&("ia5"===e.type?this.hT="16":"vis"===e.type?this.hT="1a":"bmp"===e.type&&(this.hT="1e"))},n.lang.extend(pe.asn1.x509.DisplayText,pe.asn1.DERAbstractString),pe.asn1.x509.ExtKeyUsage=function(e){pe.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,e);var t=pe.asn1;this.setPurposeArray=function(e){this.asn1ExtnValue=new t.DERSequence;for(var i=0;i<e.length;i++){var r=new t.DERObjectIdentifier(e[i]);this.asn1ExtnValue.appendASN1Object(r)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37",void 0!==e&&void 0!==e.array&&this.setPurposeArray(e.array)},n.lang.extend(pe.asn1.x509.ExtKeyUsage,pe.asn1.x509.Extension),pe.asn1.x509.AuthorityKeyIdentifier=function(e){pe.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,e);var t=pe,i=t.asn1,r=i.DERTaggedObject,n=i.x509.GeneralNames;t.crypto.Util.isKey,this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var e=new Array;this.asn1KID&&e.push(new r({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&e.push(new r({explicit:!1,tag:"a1",obj:new n([{dn:this.asn1CertIssuer}])})),this.asn1CertSN&&e.push(new r({explicit:!1,tag:"82",obj:this.asn1CertSN}));var t=new i.DERSequence({array:e});return this.asn1ExtnValue=t,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(e){if(void 0!==e.str||void 0!==e.hex)this.asn1KID=new pe.asn1.DEROctetString(e);else if("object"==typeof e&&pe.crypto.Util.isKey(e)||"string"==typeof e&&-1!=e.indexOf("BEGIN ")){var t=e;"string"==typeof e&&(t=Ne.getKey(e));var i=Ne.getKeyID(t);this.asn1KID=new pe.asn1.DEROctetString({hex:i})}},this.setCertIssuerByParam=function(e){void 0!==e.str||void 0!==e.ldapstr||void 0!==e.hex||void 0!==e.certsubject||void 0!==e.certissuer?this.asn1CertIssuer=new pe.asn1.x509.X500Name(e):"string"==typeof e&&-1!=e.indexOf("BEGIN ")&&-1!=e.indexOf("CERTIFICATE")&&(this.asn1CertIssuer=new pe.asn1.x509.X500Name({certissuer:e}))},this.setCertSNByParam=function(e){if(void 0!==e.str||void 0!==e.bigint||void 0!==e.hex)this.asn1CertSN=new pe.asn1.DERInteger(e);else if("string"==typeof e&&-1!=e.indexOf("BEGIN ")&&e.indexOf("CERTIFICATE")){var t=new Le;t.readCertPEM(e);var i=t.getSerialNumberHex();this.asn1CertSN=new pe.asn1.DERInteger({hex:i})}},this.oid="2.5.29.35",void 0!==e&&(void 0!==e.kid&&this.setKIDByParam(e.kid),void 0!==e.issuer&&this.setCertIssuerByParam(e.issuer),void 0!==e.sn&&this.setCertSNByParam(e.sn),void 0!==e.issuersn&&"string"==typeof e.issuersn&&-1!=e.issuersn.indexOf("BEGIN ")&&e.issuersn.indexOf("CERTIFICATE")&&(this.setCertSNByParam(e.issuersn),this.setCertIssuerByParam(e.issuersn)))},n.lang.extend(pe.asn1.x509.AuthorityKeyIdentifier,pe.asn1.x509.Extension),pe.asn1.x509.SubjectKeyIdentifier=function(e){pe.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,e);var t=pe.asn1.DEROctetString;this.asn1KID=null,this.getExtnValueHex=function(){return this.asn1ExtnValue=this.asn1KID,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(e){if(void 0!==e.str||void 0!==e.hex)this.asn1KID=new t(e);else if("object"==typeof e&&pe.crypto.Util.isKey(e)||"string"==typeof e&&-1!=e.indexOf("BEGIN")){var i=e;"string"==typeof e&&(i=Ne.getKey(e));var r=Ne.getKeyID(i);this.asn1KID=new pe.asn1.DEROctetString({hex:r})}},this.oid="2.5.29.14",void 0!==e&&void 0!==e.kid&&this.setKIDByParam(e.kid)},n.lang.extend(pe.asn1.x509.SubjectKeyIdentifier,pe.asn1.x509.Extension),pe.asn1.x509.AuthorityInfoAccess=function(e){pe.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,e),this.setAccessDescriptionArray=function(e){for(var t=new Array,i=pe.asn1,r=i.DERSequence,n=i.DERObjectIdentifier,a=i.x509.GeneralName,s=0;s<e.length;s++){var o,c=e[s];if(void 0!==c.ocsp)o=new r({array:[new n({oid:"1.3.6.1.5.5.7.48.1"}),new a({uri:c.ocsp})]});else{if(void 0===c.caissuer)throw new Error("unknown AccessMethod parameter: "+JSON.stringify(c));o=new r({array:[new n({oid:"1.3.6.1.5.5.7.48.2"}),new a({uri:c.caissuer})]})}t.push(o)}this.asn1ExtnValue=new r({array:t})},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.1.1",void 0!==e&&void 0!==e.array&&this.setAccessDescriptionArray(e.array)},n.lang.extend(pe.asn1.x509.AuthorityInfoAccess,pe.asn1.x509.Extension),pe.asn1.x509.SubjectAltName=function(e){pe.asn1.x509.SubjectAltName.superclass.constructor.call(this,e),this.setNameArray=function(e){this.asn1ExtnValue=new pe.asn1.x509.GeneralNames(e)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.17",void 0!==e&&void 0!==e.array&&this.setNameArray(e.array)},n.lang.extend(pe.asn1.x509.SubjectAltName,pe.asn1.x509.Extension),pe.asn1.x509.IssuerAltName=function(e){pe.asn1.x509.IssuerAltName.superclass.constructor.call(this,e),this.setNameArray=function(e){this.asn1ExtnValue=new pe.asn1.x509.GeneralNames(e)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.18",void 0!==e&&void 0!==e.array&&this.setNameArray(e.array)},n.lang.extend(pe.asn1.x509.IssuerAltName,pe.asn1.x509.Extension),pe.asn1.x509.PrivateExtension=function(e){pe.asn1.x509.PrivateExtension.superclass.constructor.call(this,e);var t=pe,i=t.lang.String.isHex,r=t.asn1,n=r.x509.OID.name2oid,a=r.ASN1Util.newObject;this.params=null,this.setByParam=function(e){this.oid=n(e.extname),this.params=e},this.getExtnValueHex=function(){if(null==this.params.extname||null==this.params.extn)throw new Error("extname or extnhex not specified");var e=this.params.extn;if("string"==typeof e&&i(e))return e;if("object"==typeof e)try{return a(e).getEncodedHex()}catch(t){}throw new Error("unsupported extn value")},null!=e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.PrivateExtension,pe.asn1.x509.Extension),pe.asn1.x509.CRL=function(e){pe.asn1.x509.CRL.superclass.constructor.call(this);var t=pe.asn1,i=t.DERSequence,r=t.DERBitString,n=t.x509,a=n.AlgorithmIdentifier,s=n.TBSCertList;this.params=void 0,this.setByParam=function(e){this.params=e},this.sign=function(){var e=new s(this.params).getEncodedHex(),t=new pe.crypto.Signature({alg:this.params.sigalg});t.init(this.params.cakey),t.updateHex(e);var i=t.sign();this.params.sighex=i},this.getPEM=function(){return Ie(this.getEncodedHex(),"X509 CRL")},this.getEncodedHex=function(){var e=this.params;if(null==e.tbsobj&&(e.tbsobj=new s(e)),null==e.sighex&&null!=e.cakey&&this.sign(),null==e.sighex)throw new Error("sighex or cakey parameter not defined");var t=[];return t.push(e.tbsobj),t.push(new a({name:e.sigalg})),t.push(new r({hex:"00"+e.sighex})),new i({array:t}).getEncodedHex()},null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.CRL,pe.asn1.ASN1Object),pe.asn1.x509.TBSCertList=function(e){pe.asn1.x509.TBSCertList.superclass.constructor.call(this);var t=pe.asn1,i=t.DERInteger,r=t.DERSequence,n=t.DERTaggedObject,a=(t.DERObjectIdentifier,t.x509),s=a.AlgorithmIdentifier,o=a.Time,c=a.Extensions,l=a.X500Name;this.params=null,this.setByParam=function(e){this.params=e},this.getRevCertSequence=function(){for(var e=[],t=this.params.revcert,n=0;n<t.length;n++){var a=[new i(t[n].sn),new o(t[n].date)];null!=t[n].ext&&a.push(new c(t[n].ext)),e.push(new r({array:a}))}return new r({array:e})},this.getEncodedHex=function(){var e=[],t=this.params;if(null!=t.version){var a=t.version-1,u=new i({int:a});e.push(u)}if(e.push(new s({name:t.sigalg})),e.push(new l(t.issuer)),e.push(new o(t.thisupdate)),null!=t.nextupdate&&e.push(new o(t.nextupdate)),null!=t.revcert&&e.push(this.getRevCertSequence()),null!=t.ext){var h=new c(t.ext);e.push(new n({tag:"a0",explicit:!0,obj:h}))}return new r({array:e}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.TBSCertList,pe.asn1.ASN1Object),pe.asn1.x509.CRLEntry=function(e){pe.asn1.x509.CRLEntry.superclass.constructor.call(this);var t=pe.asn1;this.setCertSerial=function(e){this.sn=new t.DERInteger(e)},this.setRevocationDate=function(e){this.time=new t.x509.Time(e)},this.getEncodedHex=function(){var e=new t.DERSequence({array:[this.sn,this.time]});return this.TLV=e.getEncodedHex(),this.TLV},void 0!==e&&(void 0!==e.time&&this.setRevocationDate(e.time),void 0!==e.sn&&this.setCertSerial(e.sn))},n.lang.extend(pe.asn1.x509.CRLEntry,pe.asn1.ASN1Object),pe.asn1.x509.CRLNumber=function(e){pe.asn1.x509.CRLNumber.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new pe.asn1.DERInteger(this.params.num),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.20",null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.CRLNumber,pe.asn1.x509.Extension),pe.asn1.x509.CRLReason=function(e){pe.asn1.x509.CRLReason.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new pe.asn1.DEREnumerated(this.params.code),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.21",null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.CRLReason,pe.asn1.x509.Extension),pe.asn1.x509.OCSPNonce=function(e){pe.asn1.x509.OCSPNonce.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new pe.asn1.DEROctetString(this.params),this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.2",null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.OCSPNonce,pe.asn1.x509.Extension),pe.asn1.x509.OCSPNoCheck=function(e){pe.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new pe.asn1.DERNull,this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.5",null!=e&&(this.params=e)},n.lang.extend(pe.asn1.x509.OCSPNoCheck,pe.asn1.x509.Extension),pe.asn1.x509.X500Name=function(e){pe.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=pe.asn1,i=t.x509,r=i.RDN;this.setByString=function(e,t){void 0!==t&&(this.sRule=t);var i=e.split("/");i.shift();for(var n=[],a=0;a<i.length;a++)if(i[a].match(/^[^=]+=.+$/))n.push(i[a]);else{var s=n.length-1;n[s]=n[s]+"/"+i[a]}for(a=0;a<n.length;a++)this.asn1Array.push(new r({str:n[a],rule:this.sRule}))},this.setByLdapString=function(e,t){void 0!==t&&(this.sRule=t);var r=i.X500Name.ldapToCompat(e);this.setByString(r,t)},this.setByObject=function(e,t){for(var i in void 0!==t&&(this.sRule=t),e)if(e.hasOwnProperty(i)){var n=new r({str:i+"="+e[i],rule:this.sRule});this.asn1Array?this.asn1Array.push(n):this.asn1Array=[n]}},this.setByParam=function(e){var t;void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.array?this.paramArray=e.array:void 0!==e.str?this.setByString(e.str):void 0!==e.ldapstr?this.setByLdapString(e.ldapstr):void 0!==e.hex?this.hTLV=e.hex:void 0!==e.certissuer?((t=new Le).readCertPEM(e.certissuer),this.hTLV=t.getIssuerHex()):void 0!==e.certsubject?((t=new Le).readCertPEM(e.certsubject),this.hTLV=t.getSubjectHex()):"object"==typeof e&&void 0===e.certsubject&&void 0===e.certissuer&&this.setByObject(e)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(0==this.asn1Array.length&&this.paramArray.length>0)for(var e=0;e<this.paramArray.length;e++){var i={array:this.paramArray[e]};"utf8"!=this.sRule&&(i.rule=this.sRule);var n=new r(i);this.asn1Array.push(n)}var a=new t.DERSequence({array:this.asn1Array});return this.hTLV=a.getEncodedHex(),this.hTLV},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.X500Name,pe.asn1.ASN1Object),pe.asn1.x509.X500Name.compatToLDAP=function(e){if("/"!==e.substr(0,1))throw"malformed input";var t=(e=e.substr(1)).split("/");return t.reverse(),(t=t.map(function(e){return e.replace(/,/,"\\,")})).join(",")},pe.asn1.x509.X500Name.onelineToLDAP=function(e){return pe.asn1.x509.X500Name.compatToLDAP(e)},pe.asn1.x509.X500Name.ldapToCompat=function(e){for(var t=e.split(","),i=!1,r=[],n=0;t.length>0;n++){var a=t.shift();if(!0===i){var s=(r.pop()+","+a).replace(/\\,/g,",");r.push(s),i=!1}else r.push(a);"\\"===a.substr(-1,1)&&(i=!0)}return(r=r.map(function(e){return e.replace("/","\\/")})).reverse(),"/"+r.join("/")},pe.asn1.x509.X500Name.ldapToOneline=function(e){return pe.asn1.x509.X500Name.ldapToCompat(e)},pe.asn1.x509.RDN=function(e){pe.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=pe.asn1.x509.AttributeTypeAndValue;this.setByParam=function(e){void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.str&&this.addByMultiValuedString(e.str),void 0!==e.array&&(this.paramArray=e.array)},this.addByString=function(e){this.asn1Array.push(new pe.asn1.x509.AttributeTypeAndValue({str:e,rule:this.sRule}))},this.addByMultiValuedString=function(e){for(var t=pe.asn1.x509.RDN.parseString(e),i=0;i<t.length;i++)this.addByString(t[i])},this.getEncodedHex=function(){if(0==this.asn1Array.length&&this.paramArray.length>0)for(var e=0;e<this.paramArray.length;e++){var i=this.paramArray[e];void 0!==i.rule&&"utf8"!=this.sRule&&(i.rule=this.sRule);var r=new t(i);this.asn1Array.push(r)}var n=new pe.asn1.DERSet({array:this.asn1Array});return this.TLV=n.getEncodedHex(),this.TLV},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.RDN,pe.asn1.ASN1Object),pe.asn1.x509.RDN.parseString=function(e){for(var t=e.split(/\+/),i=!1,r=[],n=0;t.length>0;n++){var a=t.shift();if(!0===i){var s=(r.pop()+"+"+a).replace(/\\\+/g,"+");r.push(s),i=!1}else r.push(a);"\\"===a.substr(-1,1)&&(i=!0)}var o=!1,c=[];for(n=0;r.length>0;n++){if(a=r.shift(),!0===o){var l=c.pop();a.match(/"$/)?(s=(l+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2"),c.push(s),o=!1):c.push(l+"+"+a)}else c.push(a);a.match(/^[^=]+="/)&&(o=!0)}return c},pe.asn1.x509.AttributeTypeAndValue=function(e){pe.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=pe,i=t.asn1,r=i.DERSequence,n=i.DERUTF8String,a=i.DERPrintableString,s=i.DERTeletexString,o=i.DERIA5String,c=i.DERVisibleString,l=i.DERBMPString,u=t.lang.String.isMail,h=t.lang.String.isPrintable;this.setByParam=function(e){if(void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.ds&&(this.dsType=e.ds),void 0===e.value&&void 0!==e.str){var t=e.str.match(/^([^=]+)=(.+)$/);if(!t)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.sType=t[1],this.sValue=t[2]}else this.sType=e.type,this.sValue=e.value},this.setByString=function(e,t){void 0!==t&&(this.sRule=t);var i=e.match(/^([^=]+)=(.+)$/);if(!i)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.setByAttrTypeAndValueStr(i[1],i[2])},this._getDsType=function(){var e=this.sType,t=this.sValue,i=this.sRule;return"prn"===i?"CN"==e&&u(t)?"ia5":h(t)?"prn":"utf8":"utf8"===i?"CN"==e&&u(t)?"ia5":"C"==e?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(e,t,i){void 0!==i&&(this.sRule=i),this.sType=e,this.sValue=t},this.getValueObj=function(e,t){if("utf8"==e)return new n({str:t});if("prn"==e)return new a({str:t});if("tel"==e)return new s({str:t});if("ia5"==e)return new o({str:t});if("vis"==e)return new c({str:t});if("bmp"==e)return new l({str:t});throw new Error("unsupported directory string type: type="+e+" value="+t)},this.getEncodedHex=function(){null==this.dsType&&(this.dsType=this._getDsType());var e=pe.asn1.x509.OID.atype2obj(this.sType),t=this.getValueObj(this.dsType,this.sValue),i=new r({array:[e,t]});return this.TLV=i.getEncodedHex(),this.TLV},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.AttributeTypeAndValue,pe.asn1.ASN1Object),pe.asn1.x509.SubjectPublicKeyInfo=function(e){pe.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=pe,i=t.asn1,r=i.DERInteger,n=i.DERBitString,a=i.DERObjectIdentifier,s=i.DERSequence,o=i.ASN1Util.newObject,c=i.x509.AlgorithmIdentifier,l=t.crypto;l.ECDSA,l.DSA,this.getASN1Object=function(){if(null==this.asn1AlgId||null==this.asn1SubjPKey)throw"algId and/or subjPubKey not set";return new s({array:[this.asn1AlgId,this.asn1SubjPKey]})},this.getEncodedHex=function(){var e=this.getASN1Object();return this.hTLV=e.getEncodedHex(),this.hTLV},this.setPubKey=function(e){try{if(e instanceof oe){var t=o({seq:[{int:{bigint:e.n}},{int:{int:e.e}}]}).getEncodedHex();this.asn1AlgId=new c({name:"rsaEncryption"}),this.asn1SubjPKey=new n({hex:"00"+t})}}catch(l){}try{if(e instanceof pe.crypto.ECDSA){var i=new a({name:e.curveName});this.asn1AlgId=new c({name:"ecPublicKey",asn1params:i}),this.asn1SubjPKey=new n({hex:"00"+e.pubKeyHex})}}catch(l){}try{if(e instanceof pe.crypto.DSA){i=new o({seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}),this.asn1AlgId=new c({name:"dsa",asn1params:i});var s=new r({bigint:e.y});this.asn1SubjPKey=new n({hex:"00"+s.getEncodedHex()})}}catch(l){}},void 0!==e&&this.setPubKey(e)},n.lang.extend(pe.asn1.x509.SubjectPublicKeyInfo,pe.asn1.ASN1Object),pe.asn1.x509.Time=function(e){pe.asn1.x509.Time.superclass.constructor.call(this);var t=pe.asn1,i=t.DERUTCTime,r=t.DERGeneralizedTime;this.setTimeParams=function(e){this.timeParams=e},this.getEncodedHex=function(){var e=null;return e=null!=this.timeParams?"utc"==this.type?new i(this.timeParams):new r(this.timeParams):"utc"==this.type?new i:new r,this.TLV=e.getEncodedHex(),this.TLV},this.type="utc",void 0!==e&&(void 0!==e.type?this.type=e.type:void 0!==e.str&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)},n.lang.extend(pe.asn1.x509.Time,pe.asn1.ASN1Object),pe.asn1.x509.AlgorithmIdentifier=function(e){pe.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=pe.asn1,i=t.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.getEncodedHex=function(){if(null===this.nameAlg&&null===this.asn1Alg)throw new Error("algorithm not specified");if(null!==this.nameAlg){var e=null;for(var r in i)r===this.nameAlg&&(e=i[r]);if(null!==e)return this.hTLV=e,this.hTLV}null!==this.nameAlg&&null===this.asn1Alg&&(this.asn1Alg=t.x509.OID.name2obj(this.nameAlg));var n=[this.asn1Alg];null!==this.asn1Params&&n.push(this.asn1Params);var a=new t.DERSequence({array:n});return this.hTLV=a.getEncodedHex(),this.hTLV},void 0!==e&&(void 0!==e.name&&(this.nameAlg=e.name),void 0!==e.asn1params&&(this.asn1Params=e.asn1params),void 0!==e.paramempty&&(this.paramEmpty=e.paramempty)),null===this.asn1Params&&!1===this.paramEmpty&&null!==this.nameAlg){void 0!==this.nameAlg.name&&(this.nameAlg=this.nameAlg.name);var r=this.nameAlg.toLowerCase();"withdsa"!==r.substr(-7,7)&&"withecdsa"!==r.substr(-9,9)&&(this.asn1Params=new t.DERNull)}},n.lang.extend(pe.asn1.x509.AlgorithmIdentifier,pe.asn1.ASN1Object),pe.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},pe.asn1.x509.GeneralName=function(e){pe.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87"},i=pe.asn1,r=(i.DERSequence,i.DEROctetString),n=i.DERIA5String,a=i.DERTaggedObject,s=i.ASN1Object,o=i.x509.X500Name,c=Te;this.explicit=!1,this.setByParam=function(e){var i=null;if(void 0!==e){if(void 0!==e.rfc822&&(this.type="rfc822",i=new n({str:e[this.type]})),void 0!==e.dns&&(this.type="dns",i=new n({str:e[this.type]})),void 0!==e.uri&&(this.type="uri",i=new n({str:e[this.type]})),void 0!==e.dn&&(this.type="dn",this.explicit=!0,i="string"==typeof e.dn?new o({str:e.dn}):e.dn instanceof pe.asn1.x509.X500Name?e.dn:new o(e.dn)),void 0!==e.ldapdn&&(this.type="dn",this.explicit=!0,i=new o({ldapstr:e.ldapdn})),void 0!==e.certissuer){this.type="dn",this.explicit=!0;var l=null;if((h=e.certissuer).match(/^[0-9A-Fa-f]+$/),-1!=h.indexOf("-----BEGIN ")&&(l=c(h)),null==l)throw"certissuer param not cert";(d=new Le).hex=l;var u=d.getIssuerHex();(i=new s).hTLV=u}if(void 0!==e.certsubj){var h,d;if(this.type="dn",this.explicit=!0,l=null,(h=e.certsubj).match(/^[0-9A-Fa-f]+$/),-1!=h.indexOf("-----BEGIN ")&&(l=c(h)),null==l)throw"certsubj param not cert";(d=new Le).hex=l,u=d.getSubjectHex(),(i=new s).hTLV=u}if(void 0!==e.ip){this.type="ip",this.explicit=!1;var p,f=e.ip,g="malformed IP address";if(f.match(/^[0-9.]+[.][0-9.]+$/)){if(8!==(p=function(e){e=(e=(e=e.replace(/^\s*\[\s*/,"")).replace(/\s*\]\s*$/,"")).replace(/\s*/g,"");try{return e.split(/,/).map(function(e,t,i){var r=parseInt(e);if(r<0||255<r)throw"integer not in range 0-255";return("00"+r.toString(16)).slice(-2)}).join("")}catch(t){throw"malformed integer array string: "+t}}("["+f.split(".").join(",")+"]")).length)throw g}else if(f.match(/^[0-9A-Fa-f:]+:[0-9A-Fa-f:]+$/))p=function(e){var t="malformed IPv6 address";if(!e.match(/^[0-9A-Fa-f:]+$/))throw t;var i=(e=e.toLowerCase()).split(":").length-1;if(i<2)throw t;var r=":".repeat(7-i+2),n=(e=e.replace("::",r)).split(":");if(8!=n.length)throw t;for(var a=0;a<8;a++)n[a]=("0000"+n[a]).slice(-4);return n.join("")}(f);else{if(!f.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw g;p=f}i=new r({hex:p})}if(null==this.type)throw"unsupported type in params="+e;this.asn1Obj=new a({explicit:this.explicit,tag:t[this.type],obj:i})}},this.getEncodedHex=function(){return this.asn1Obj.getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.x509.GeneralName,pe.asn1.ASN1Object),pe.asn1.x509.GeneralNames=function(e){pe.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=pe.asn1;this.setByParamArray=function(e){for(var i=0;i<e.length;i++){var r=new t.x509.GeneralName(e[i]);this.asn1Array.push(r)}},this.getEncodedHex=function(){return new t.DERSequence({array:this.asn1Array}).getEncodedHex()},this.asn1Array=new Array,void 0!==e&&this.setByParamArray(e)},n.lang.extend(pe.asn1.x509.GeneralNames,pe.asn1.ASN1Object),pe.asn1.x509.OID=new function(){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",ecPublicKey:"1.2.840.10045.2.1",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8"},this.objCache={},this.name2obj=function(e){if(void 0!==this.objCache[e])return this.objCache[e];if(void 0===this.name2oidList[e])throw"Name of ObjectIdentifier not defined: "+e;var t=this.name2oidList[e],i=new pe.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=i,i},this.atype2obj=function(e){if(void 0!==this.objCache[e])return this.objCache[e];if(void 0===this.atype2oidList[e])throw"AttributeType name undefined: "+e;var t=this.atype2oidList[e],i=new pe.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=i,i}},pe.asn1.x509.OID.oid2name=function(e){var t=pe.asn1.x509.OID.name2oidList;for(var i in t)if(t[i]==e)return i;return""},pe.asn1.x509.OID.oid2atype=function(e){var t=pe.asn1.x509.OID.atype2oidList;for(var i in t)if(t[i]==e)return i;return e},pe.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=pe.asn1.x509.OID.name2oidList;return void 0===t[e]?"":t[e]},pe.asn1.x509.X509Util={},pe.asn1.x509.X509Util.newCertPEM=function(e){var t=pe.asn1.x509;return t.TBSCertificate,new t.Certificate(e).getPEM()},void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),void 0!==pe.asn1.cms&&pe.asn1.cms||(pe.asn1.cms={}),pe.asn1.cms.Attribute=function(e){var t=pe.asn1;t.cms.Attribute.superclass.constructor.call(this),this.getEncodedHex=function(){var e,i,r;e=new t.DERObjectIdentifier({oid:this.attrTypeOid}),i=new t.DERSet({array:this.valueList});try{i.getEncodedHex()}catch(n){throw"fail valueSet.getEncodedHex in Attribute(1)/"+n}r=new t.DERSequence({array:[e,i]});try{this.hTLV=r.getEncodedHex()}catch(n){throw"failed seq.getEncodedHex in Attribute(2)/"+n}return this.hTLV}},n.lang.extend(pe.asn1.cms.Attribute,pe.asn1.ASN1Object),pe.asn1.cms.ContentType=function(e){var t=pe.asn1;t.cms.ContentType.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.3";var i=null;void 0!==e&&(i=new t.DERObjectIdentifier(e),this.valueList=[i])},n.lang.extend(pe.asn1.cms.ContentType,pe.asn1.cms.Attribute),pe.asn1.cms.MessageDigest=function(e){var t=pe,i=t.asn1,r=i.DEROctetString,n=i.cms;if(n.MessageDigest.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.4",void 0!==e)if(e.eciObj instanceof n.EncapsulatedContentInfo&&"string"==typeof e.hashAlg){var a=e.eciObj.eContentValueHex,s=e.hashAlg;(o=new r({hex:t.crypto.Util.hashHex(a,s)})).getEncodedHex(),this.valueList=[o]}else{var o;(o=new r(e)).getEncodedHex(),this.valueList=[o]}},n.lang.extend(pe.asn1.cms.MessageDigest,pe.asn1.cms.Attribute),pe.asn1.cms.SigningTime=function(e){var t=pe.asn1;if(t.cms.SigningTime.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.5",void 0!==e){var i=new t.x509.Time(e);try{i.getEncodedHex()}catch(r){throw"SigningTime.getEncodedHex() failed/"+r}this.valueList=[i]}},n.lang.extend(pe.asn1.cms.SigningTime,pe.asn1.cms.Attribute),pe.asn1.cms.SigningCertificate=function(e){var t=pe,i=t.asn1,r=i.DERSequence,n=i.cms;t.crypto,n.SigningCertificate.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.12",this.setCerts=function(e){for(var a=[],s=0;s<e.length;s++){var o=Te(e[s]),c=t.crypto.Util.hashHex(o,"sha1"),l=new i.DEROctetString({hex:c});l.getEncodedHex();var u=new n.IssuerSerial({cert:e[s]});u.getEncodedHex();var h=new r({array:[l,u]});h.getEncodedHex(),a.push(h)}var d=new r({array:[new r({array:a})]});d.getEncodedHex(),this.valueList=[d]},void 0!==e&&"object"==typeof e.array&&this.setCerts(e.array)},n.lang.extend(pe.asn1.cms.SigningCertificate,pe.asn1.cms.Attribute),pe.asn1.cms.SigningCertificateV2=function(e){var t=pe,i=t.asn1,r=i.DERSequence,n=i.x509,a=i.cms,s=t.crypto;if(a.SigningCertificateV2.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.47",this.setCerts=function(e,t){for(var o=[],c=0;c<e.length;c++){var l=Te(e[c]),u=[];"sha256"!==t&&u.push(new n.AlgorithmIdentifier({name:t}));var h=s.Util.hashHex(l,t),d=new i.DEROctetString({hex:h});d.getEncodedHex(),u.push(d);var p=new a.IssuerSerial({cert:e[c]});p.getEncodedHex(),u.push(p);var f=new r({array:u});f.getEncodedHex(),o.push(f)}var g=new r({array:[new r({array:o})]});g.getEncodedHex(),this.valueList=[g]},void 0!==e&&"object"==typeof e.array){var o="sha256";"string"==typeof e.hashAlg&&(o=e.hashAlg),this.setCerts(e.array,o)}},n.lang.extend(pe.asn1.cms.SigningCertificateV2,pe.asn1.cms.Attribute),pe.asn1.cms.IssuerSerial=function(e){var t=pe.asn1,i=t.DERInteger,r=t.cms,n=t.x509,a=n.X500Name,s=n.GeneralNames,o=Le;r.IssuerSerial.superclass.constructor.call(this),this.setByCertPEM=function(e){var t=Te(e),r=new o;r.hex=t;var n=r.getIssuerHex();this.dIssuer=new a,this.dIssuer.hTLV=n;var s=r.getSerialNumberHex();this.dSerial=new i({hex:s})},this.getEncodedHex=function(){var e=new s([{dn:this.dIssuer}]),i=new t.DERSequence({array:[e,this.dSerial]});return this.hTLV=i.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),e.issuer&&e.serial&&(e.issuer instanceof a?this.dIssuer=e.issuer:this.dIssuer=new a(e.issuer),e.serial instanceof i?this.dSerial=e.serial:this.dSerial=new i(e.serial)),"string"==typeof e.cert&&this.setByCertPEM(e.cert))},n.lang.extend(pe.asn1.cms.IssuerSerial,pe.asn1.ASN1Object),pe.asn1.cms.IssuerAndSerialNumber=function(e){var t=pe.asn1,i=t.DERInteger,r=t.cms,n=t.x509.X500Name,a=Le;r.IssuerAndSerialNumber.superclass.constructor.call(this),this.setByCertPEM=function(e){var t=Te(e),r=new a;r.hex=t;var s=r.getIssuerHex();this.dIssuer=new n,this.dIssuer.hTLV=s;var o=r.getSerialNumberHex();this.dSerial=new i({hex:o})},this.getEncodedHex=function(){var e=new t.DERSequence({array:[this.dIssuer,this.dSerial]});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),e.issuer&&e.serial&&(e.issuer instanceof n?this.dIssuer=e.issuer:this.dIssuer=new n(e.issuer),e.serial instanceof i?this.dSerial=e.serial:this.dSerial=new i(e.serial)),"string"==typeof e.cert&&this.setByCertPEM(e.cert))},n.lang.extend(pe.asn1.cms.IssuerAndSerialNumber,pe.asn1.ASN1Object),pe.asn1.cms.AttributeList=function(e){var t=pe.asn1,i=t.cms;i.AttributeList.superclass.constructor.call(this),this.list=new Array,this.sortFlag=!0,this.add=function(e){e instanceof i.Attribute&&this.list.push(e)},this.length=function(){return this.list.length},this.clear=function(){this.list=new Array,this.hTLV=null,this.hV=null},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;var e=new t.DERSet({array:this.list,sortflag:this.sortFlag});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&void 0!==e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},n.lang.extend(pe.asn1.cms.AttributeList,pe.asn1.ASN1Object),pe.asn1.cms.SignerInfo=function(e){var t=pe,i=t.asn1,r=i.DERTaggedObject,n=i.cms,a=n.AttributeList,s=n.ContentType,o=n.EncapsulatedContentInfo,c=n.MessageDigest,l=n.SignedData,u=i.x509.AlgorithmIdentifier,h=t.crypto,d=Ne;n.SignerInfo.superclass.constructor.call(this),this.dCMSVersion=new i.DERInteger({int:1}),this.dSignerIdentifier=null,this.dDigestAlgorithm=null,this.dSignedAttrs=new a,this.dSigAlg=null,this.dSig=null,this.dUnsignedAttrs=new a,this.setSignerIdentifier=function(e){"string"==typeof e&&-1!=e.indexOf("CERTIFICATE")&&-1!=e.indexOf("BEGIN")&&-1!=e.indexOf("END")&&(this.dSignerIdentifier=new n.IssuerAndSerialNumber({cert:e}))},this.setForContentAndHash=function(e){var t="data";void 0!==e.contentType&&(t=e.contentType),void 0!==e&&(e.eciObj instanceof o&&(this.dSignedAttrs.add(new s(t)),this.dSignedAttrs.add(new c({eciObj:e.eciObj,hashAlg:e.hashAlg}))),void 0!==e.sdObj&&e.sdObj instanceof l&&-1==e.sdObj.digestAlgNameList.join(":").indexOf(e.hashAlg)&&e.sdObj.digestAlgNameList.push(e.hashAlg),"string"==typeof e.hashAlg&&(this.dDigestAlgorithm=new u({name:e.hashAlg})))},this.sign=function(e,t){this.dSigAlg=new u({name:t});var r=this.dSignedAttrs.getEncodedHex(),n=d.getKey(e),a=new h.Signature({alg:t});a.init(n),a.updateHex(r);var s=a.sign();this.dSig=new i.DEROctetString({hex:s})},this.addUnsigned=function(e){this.hTLV=null,this.dUnsignedAttrs.hTLV=null,this.dUnsignedAttrs.add(e)},this.getEncodedHex=function(){if(this.dSignedAttrs instanceof a&&0==this.dSignedAttrs.length())throw"SignedAttrs length = 0 (empty)";var e=new r({obj:this.dSignedAttrs,tag:"a0",explicit:!1}),t=null;this.dUnsignedAttrs.length()>0&&(t=new r({obj:this.dUnsignedAttrs,tag:"a1",explicit:!1}));var n=[this.dCMSVersion,this.dSignerIdentifier,this.dDigestAlgorithm,e,this.dSigAlg,this.dSig];null!=t&&n.push(t);var s=new i.DERSequence({array:n});return this.hTLV=s.getEncodedHex(),this.hTLV}},n.lang.extend(pe.asn1.cms.SignerInfo,pe.asn1.ASN1Object),pe.asn1.cms.EncapsulatedContentInfo=function(e){var t=pe.asn1,i=t.DERTaggedObject,r=t.DERSequence,n=t.DERObjectIdentifier,a=t.DEROctetString;t.cms.EncapsulatedContentInfo.superclass.constructor.call(this),this.dEContentType=new n({name:"data"}),this.dEContent=null,this.isDetached=!1,this.eContentValueHex=null,this.setContentType=function(e){e.match(/^[0-2][.][0-9.]+$/)?this.dEContentType=new n({oid:e}):this.dEContentType=new n({name:e})},this.setContentValue=function(e){void 0!==e&&("string"==typeof e.hex?this.eContentValueHex=e.hex:"string"==typeof e.str&&(this.eContentValueHex=we(e.str)))},this.setContentValueHex=function(e){this.eContentValueHex=e},this.setContentValueStr=function(e){this.eContentValueHex=we(e)},this.getEncodedHex=function(){if("string"!=typeof this.eContentValueHex)throw"eContentValue not yet set";var e=new a({hex:this.eContentValueHex});this.dEContent=new i({obj:e,tag:"a0",explicit:!0});var t=[this.dEContentType];this.isDetached||t.push(this.dEContent);var n=new r({array:t});return this.hTLV=n.getEncodedHex(),this.hTLV}},n.lang.extend(pe.asn1.cms.EncapsulatedContentInfo,pe.asn1.ASN1Object),pe.asn1.cms.ContentInfo=function(e){var t=pe.asn1,i=t.DERTaggedObject,r=t.DERSequence,n=t.x509;pe.asn1.cms.ContentInfo.superclass.constructor.call(this),this.dContentType=null,this.dContent=null,this.setContentType=function(e){"string"==typeof e&&(this.dContentType=n.OID.name2obj(e))},this.getEncodedHex=function(){var e=new i({obj:this.dContent,tag:"a0",explicit:!0}),t=new r({array:[this.dContentType,e]});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&(e.type&&this.setContentType(e.type),e.obj&&e.obj instanceof t.ASN1Object&&(this.dContent=e.obj))},n.lang.extend(pe.asn1.cms.ContentInfo,pe.asn1.ASN1Object),pe.asn1.cms.SignedData=function(e){var t=pe.asn1,i=t.ASN1Object,r=t.DERInteger,n=t.DERSet,a=t.DERSequence,s=t.DERTaggedObject,o=t.cms,c=o.EncapsulatedContentInfo,l=o.SignerInfo,u=o.ContentInfo,h=t.x509.AlgorithmIdentifier;pe.asn1.cms.SignedData.superclass.constructor.call(this),this.dCMSVersion=new r({int:1}),this.dDigestAlgs=null,this.digestAlgNameList=[],this.dEncapContentInfo=new c,this.dCerts=null,this.certificateList=[],this.crlList=[],this.signerInfoList=[new l],this.addCertificatesByPEM=function(e){var t=Te(e),r=new i;r.hTLV=t,this.certificateList.push(r)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(null==this.dDigestAlgs){for(var e=[],t=0;t<this.digestAlgNameList.length;t++){var i=this.digestAlgNameList[t],r=new h({name:i});e.push(r)}this.dDigestAlgs=new n({array:e})}var o=[this.dCMSVersion,this.dDigestAlgs,this.dEncapContentInfo];if(null==this.dCerts&&this.certificateList.length>0){var c=new n({array:this.certificateList});this.dCerts=new s({obj:c,tag:"a0",explicit:!1})}null!=this.dCerts&&o.push(this.dCerts);var l=new n({array:this.signerInfoList});o.push(l);var u=new a({array:o});return this.hTLV=u.getEncodedHex(),this.hTLV},this.getContentInfo=function(){return this.getEncodedHex(),new u({type:"signed-data",obj:this})},this.getContentInfoEncodedHex=function(){return this.getContentInfo().getEncodedHex()},this.getPEM=function(){return Ie(this.getContentInfoEncodedHex(),"CMS")}},n.lang.extend(pe.asn1.cms.SignedData,pe.asn1.ASN1Object),pe.asn1.cms.CMSUtil=new function(){},pe.asn1.cms.CMSUtil.newSignedData=function(e){var t=pe.asn1,i=t.cms,r=i.SignerInfo,n=i.SignedData,a=i.SigningTime,s=i.SigningCertificate,o=i.SigningCertificateV2,c=t.cades.SignaturePolicyIdentifier,l=new n;if(l.dEncapContentInfo.setContentValue(e.content),"boolean"==typeof e.detached&&(l.dEncapContentInfo.isDetached=e.detached),"object"==typeof e.certs)for(var u=0;u<e.certs.length;u++)l.addCertificatesByPEM(e.certs[u]);for(l.signerInfoList=[],u=0;u<e.signerInfos.length;u++){var h=e.signerInfos[u],d=new r;for(attrName in d.setSignerIdentifier(h.signerCert),d.setForContentAndHash({sdObj:l,eciObj:l.dEncapContentInfo,hashAlg:h.hashAlg}),h.sAttr){var p=h.sAttr[attrName];if("SigningTime"==attrName){var f=new a(p);d.dSignedAttrs.add(f)}"SigningCertificate"==attrName&&(f=new s(p),d.dSignedAttrs.add(f)),"SigningCertificateV2"==attrName&&(f=new o(p),d.dSignedAttrs.add(f)),"SignaturePolicyIdentifier"==attrName&&(f=new c(p),d.dSignedAttrs.add(f))}d.sign(h.signerPrvKey,h.sigAlg),l.signerInfoList.push(d)}return l},pe.asn1.cms.CMSUtil.verifySignedData=function(e){var t=pe,i=t.asn1,r=i.cms,n=(r.SignerInfo,r.SignedData,r.SigningTime,r.SigningCertificate,r.SigningCertificateV2,i.cades.SignaturePolicyIdentifier,t.lang.String.isHex),a=me,s=a.getVbyList,o=a.getTLVbyList,c=a.getIdxbyList,l=a.getChildIdx,u=a.getTLV,h=a.oidname,d=t.crypto.Util.hashHex;void 0===e.cms&&n(e.cms);var p=e.cms,f=function(e,t){var i=t.idx;t.signerid_issuer1=o(e,i,[1,0],"30"),t.signerid_serial1=s(e,i,[1,1],"02"),t.hashalg=h(s(e,i,[2,0],"06"));var r=c(e,i,[3],"a0");t.idxSignedAttrs=r,g(e,t,r);var n=l(e,i).length;if(n<6)throw"malformed SignerInfo";t.sigalg=h(s(e,i,[n-2,0],"06")),t.sigval=s(e,i,[n-1],"04")},g=function(e,t,i){var r=l(e,i);t.signedAttrIdxList=r;for(var n=0;n<r.length;n++){var a,o=r[n],c=s(e,o,[0],"06");"2a864886f70d010905"===c?(a=Ae(s(e,o,[1,0])),t.saSigningTime=a):"2a864886f70d010904"===c&&(a=s(e,o,[1,0],"04"),t.saMessageDigest=a)}},m=function(e,t,i,r){i.verifyDetail={};var n=i.verifyDetail,a=t.parse.econtent,s=i.hashalg,o=i.saMessageDigest;n.validMessageDigest=!1,d(a,s)===o&&(n.validMessageDigest=!0),function(e,t,i){var r,n=t.parse.certsIdx;if(void 0===t.certs){r=[],t.certkeys=[];for(var a=l(e,n),s=0;s<a.length;s++){var o=u(e,a[s]),c=new Le;c.readCertHex(o),r[s]=c,t.certkeys[s]=c.getPublicKey()}t.certs=r}else r=t.certs;for(t.cccc=r.length,t.cccci=a.length,s=0;s<r.length;s++){var h=c.getIssuerHex(),d=c.getSerialNumberHex();i.signerid_issuer1===h&&i.signerid_serial1===d&&(i.certkey_idx=s)}}(e,t,i),n.validSignatureValue=!1;var c=i.sigalg,h="31"+u(e,i.idxSignedAttrs).substr(2);i.signedattrshex=h;var p=t.certs[i.certkey_idx].getPublicKey(),f=new pe.crypto.Signature({alg:c});f.init(p),f.updateHex(h);var g=f.verify(i.sigval);n.validSignatureValue_isValid=g,!0===g&&(n.validSignatureValue=!0),i.isValid=!1,n.validMessageDigest&&n.validSignatureValue&&(i.isValid=!0)},b={isValid:!1,parse:{}};return function(e,t){if("2a864886f70d010702"!==s(e,0,[0],"06"))return t;t.cmsType="signedData",t.econtent=s(e,0,[1,0,2,1,0]),function(e,t){for(var i,r=3;r<6;r++)if(void 0!==(i=c(e,0,[1,0,r]))){var n=e.substr(i,2);"a0"===n&&(t.certsIdx=i),"a1"===n&&(t.revinfosIdx=i),"31"===n&&(t.signerinfosIdx=i)}}(e,t),t.signerInfos=[],function(e,t){var i=t.signerinfosIdx;if(void 0!==i){var r=l(e,i);t.signerInfoIdxList=r;for(var n=0;n<r.length;n++){var a={idx:r[n]};f(e,a),t.signerInfos.push(a)}}}(e,t)}(p,b.parse),function(e,t){for(var i=t.parse.signerInfos,r=i.length,n=!0,a=0;a<r;a++){var s=i[a];m(e,t,s),s.isValid||(n=!1)}t.isValid=n}(p,b),b},void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),void 0!==pe.asn1.tsp&&pe.asn1.tsp||(pe.asn1.tsp={}),pe.asn1.tsp.Accuracy=function(e){var t=pe.asn1,i=t.DERInteger,r=t.DERSequence,n=t.DERTaggedObject;t.tsp.Accuracy.superclass.constructor.call(this),this.seconds=null,this.millis=null,this.micros=null,this.getEncodedHex=function(){var e=null,t=null,a=null,s=[];if(null!=this.seconds&&(e=new i({int:this.seconds}),s.push(e)),null!=this.millis){var o=new i({int:this.millis});t=new n({obj:o,tag:"80",explicit:!1}),s.push(t)}if(null!=this.micros){var c=new i({int:this.micros});a=new n({obj:c,tag:"81",explicit:!1}),s.push(a)}var l=new r({array:s});return this.hTLV=l.getEncodedHex(),this.hTLV},void 0!==e&&("number"==typeof e.seconds&&(this.seconds=e.seconds),"number"==typeof e.millis&&(this.millis=e.millis),"number"==typeof e.micros&&(this.micros=e.micros))},n.lang.extend(pe.asn1.tsp.Accuracy,pe.asn1.ASN1Object),pe.asn1.tsp.MessageImprint=function(e){var t=pe.asn1,i=t.DERSequence,r=t.DEROctetString,n=t.x509.AlgorithmIdentifier;t.tsp.MessageImprint.superclass.constructor.call(this),this.dHashAlg=null,this.dHashValue=null,this.getEncodedHex=function(){return"string"==typeof this.hTLV?this.hTLV:new i({array:[this.dHashAlg,this.dHashValue]}).getEncodedHex()},void 0!==e&&("string"==typeof e.hashAlg&&(this.dHashAlg=new n({name:e.hashAlg})),"string"==typeof e.hashValue&&(this.dHashValue=new r({hex:e.hashValue})))},n.lang.extend(pe.asn1.tsp.MessageImprint,pe.asn1.ASN1Object),pe.asn1.tsp.TimeStampReq=function(e){var t=pe.asn1,i=t.DERSequence,r=t.DERInteger,n=t.DERBoolean,a=t.DERObjectIdentifier,s=t.tsp,o=s.MessageImprint;s.TimeStampReq.superclass.constructor.call(this),this.dVersion=new r({int:1}),this.dMessageImprint=null,this.dPolicy=null,this.dNonce=null,this.certReq=!0,this.setMessageImprint=function(e){e instanceof o?this.dMessageImprint=e:"object"==typeof e&&(this.dMessageImprint=new o(e))},this.getEncodedHex=function(){if(null==this.dMessageImprint)throw"messageImprint shall be specified";var e=[this.dVersion,this.dMessageImprint];null!=this.dPolicy&&e.push(this.dPolicy),null!=this.dNonce&&e.push(this.dNonce),this.certReq&&e.push(new n);var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.mi&&this.setMessageImprint(e.mi),"object"==typeof e.policy&&(this.dPolicy=new a(e.policy)),"object"==typeof e.nonce&&(this.dNonce=new r(e.nonce)),"boolean"==typeof e.certreq&&(this.certReq=e.certreq))},n.lang.extend(pe.asn1.tsp.TimeStampReq,pe.asn1.ASN1Object),pe.asn1.tsp.TSTInfo=function(e){var t=pe.asn1,i=t.DERSequence,r=t.DERInteger,n=t.DERBoolean,a=t.DERGeneralizedTime,s=t.DERObjectIdentifier,o=t.DERTaggedObject,c=t.tsp,l=c.MessageImprint,u=c.Accuracy,h=(t.x509.X500Name,t.x509.GeneralName);if(c.TSTInfo.superclass.constructor.call(this),this.dVersion=new r({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerialNumber=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.getEncodedHex=function(){var e=[this.dVersion];if(null==this.dPolicy)throw"policy shall be specified.";if(e.push(this.dPolicy),null==this.dMessageImprint)throw"messageImprint shall be specified.";if(e.push(this.dMessageImprint),null==this.dSerialNumber)throw"serialNumber shall be specified.";if(e.push(this.dSerialNumber),null==this.dGenTime)throw"genTime shall be specified.";e.push(this.dGenTime),null!=this.dAccuracy&&e.push(this.dAccuracy),null!=this.dOrdering&&e.push(this.dOrdering),null!=this.dNonce&&e.push(this.dNonce),null!=this.dTsa&&e.push(this.dTsa);var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e){if("string"==typeof e.policy){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new s({oid:e.policy})}void 0!==e.messageImprint&&(this.dMessageImprint=new l(e.messageImprint)),void 0!==e.serialNumber&&(this.dSerialNumber=new r(e.serialNumber)),void 0!==e.genTime&&(this.dGenTime=new a(e.genTime)),void 0!==e.accuracy&&(this.dAccuracy=new u(e.accuracy)),void 0!==e.ordering&&1==e.ordering&&(this.dOrdering=new n),void 0!==e.nonce&&(this.dNonce=new r(e.nonce)),void 0!==e.tsa&&(this.dTsa=new o({tag:"a0",explicit:!0,obj:new h({dn:e.tsa})}))}},n.lang.extend(pe.asn1.tsp.TSTInfo,pe.asn1.ASN1Object),pe.asn1.tsp.TimeStampResp=function(e){var t=pe.asn1,i=t.DERSequence,r=t.ASN1Object,n=t.tsp,a=n.PKIStatusInfo;n.TimeStampResp.superclass.constructor.call(this),this.dStatus=null,this.dTST=null,this.getEncodedHex=function(){if(null==this.dStatus)throw"status shall be specified";var e=[this.dStatus];null!=this.dTST&&e.push(this.dTST);var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.status&&(this.dStatus=new a(e.status)),void 0!==e.tst&&e.tst instanceof r&&(this.dTST=e.tst.getContentInfo()))},n.lang.extend(pe.asn1.tsp.TimeStampResp,pe.asn1.ASN1Object),pe.asn1.tsp.PKIStatusInfo=function(e){var t=pe.asn1,i=t.DERSequence,r=t.tsp,n=r.PKIStatus,a=r.PKIFreeText,s=r.PKIFailureInfo;r.PKIStatusInfo.superclass.constructor.call(this),this.dStatus=null,this.dStatusString=null,this.dFailureInfo=null,this.getEncodedHex=function(){if(null==this.dStatus)throw"status shall be specified";var e=[this.dStatus];null!=this.dStatusString&&e.push(this.dStatusString),null!=this.dFailureInfo&&e.push(this.dFailureInfo);var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.status&&(this.dStatus=new n(e.status)),"object"==typeof e.statstr&&(this.dStatusString=new a({array:e.statstr})),"object"==typeof e.failinfo&&(this.dFailureInfo=new s(e.failinfo)))},n.lang.extend(pe.asn1.tsp.PKIStatusInfo,pe.asn1.ASN1Object),pe.asn1.tsp.PKIStatus=function(e){var t=pe.asn1,i=t.DERInteger,r=t.tsp,n=r.PKIStatus;if(r.PKIStatus.superclass.constructor.call(this),this.getEncodedHex=function(){return this.hTLV=this.dStatus.getEncodedHex(),this.hTLV},void 0!==e)if(void 0!==e.name){var a=n.valueList;if(void 0===a[e.name])throw"name undefined: "+e.name;this.dStatus=new i({int:a[e.name]})}else this.dStatus=new i(e)},n.lang.extend(pe.asn1.tsp.PKIStatus,pe.asn1.ASN1Object),pe.asn1.tsp.PKIStatus.valueList={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5},pe.asn1.tsp.PKIFreeText=function(e){var t=pe.asn1,i=t.DERSequence,r=t.DERUTF8String;t.tsp.PKIFreeText.superclass.constructor.call(this),this.textList=[],this.getEncodedHex=function(){for(var e=[],t=0;t<this.textList.length;t++)e.push(new r({str:this.textList[t]}));var n=new i({array:e});return this.hTLV=n.getEncodedHex(),this.hTLV},void 0!==e&&"object"==typeof e.array&&(this.textList=e.array)},n.lang.extend(pe.asn1.tsp.PKIFreeText,pe.asn1.ASN1Object),pe.asn1.tsp.PKIFailureInfo=function(e){var t=pe.asn1,i=t.DERBitString,r=t.tsp.PKIFailureInfo;if(r.superclass.constructor.call(this),this.value=null,this.getEncodedHex=function(){if(null==this.value)throw"value shall be specified";var e=new Number(this.value).toString(2),t=new i;return t.setByBinaryString(e),this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e)if("string"==typeof e.name){var n=r.valueList;if(void 0===n[e.name])throw"name undefined: "+e.name;this.value=n[e.name]}else"number"==typeof e.int&&(this.value=e.int)},n.lang.extend(pe.asn1.tsp.PKIFailureInfo,pe.asn1.ASN1Object),pe.asn1.tsp.PKIFailureInfo.valueList={badAlg:0,badRequest:2,badDataFormat:5,timeNotAvailable:14,unacceptedPolicy:15,unacceptedExtension:16,addInfoNotAvailable:17,systemFailure:25},pe.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(e,t){throw"not implemented yet"}},pe.asn1.tsp.SimpleTSAAdapter=function(e){var t=pe,i=t.asn1.tsp,r=t.crypto.Util.hashHex;i.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(e,t){var n=r(e,t);this.params.tstInfo.messageImprint={hashAlg:t,hashValue:n},this.params.tstInfo.serialNumber={int:this.serial++};var a=Math.floor(1e9*Math.random());return this.params.tstInfo.nonce={int:a},i.TSPUtil.newTimeStampToken(this.params).getContentInfoEncodedHex()},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.tsp.SimpleTSAAdapter,pe.asn1.tsp.AbstractTSAAdapter),pe.asn1.tsp.FixedTSAAdapter=function(e){var t=pe,i=t.asn1.tsp,r=t.crypto.Util.hashHex;i.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(e,t){var n=r(e,t);return this.params.tstInfo.messageImprint={hashAlg:t,hashValue:n},i.TSPUtil.newTimeStampToken(this.params).getContentInfoEncodedHex()},void 0!==e&&(this.params=e)},n.lang.extend(pe.asn1.tsp.FixedTSAAdapter,pe.asn1.tsp.AbstractTSAAdapter),pe.asn1.tsp.TSPUtil=new function(){},pe.asn1.tsp.TSPUtil.newTimeStampToken=function(e){var t=pe,i=t.asn1,r=t.asn1.DERInteger,n=i.cms,a=(i.tsp,i.tsp.TSTInfo),s=new n.SignedData,o=new a(e.tstInfo).getEncodedHex();if(s.dCMSVersion=new r({int:3}),s.dEncapContentInfo.setContentValue({hex:o}),s.dEncapContentInfo.setContentType("tstinfo"),"object"==typeof e.certs)for(var c=0;c<e.certs.length;c++)s.addCertificatesByPEM(e.certs[c]);var l=s.signerInfoList[0];l.setSignerIdentifier(e.signerCert),l.setForContentAndHash({sdObj:s,eciObj:s.dEncapContentInfo,contentType:"tstinfo",hashAlg:e.hashAlg});var u=new n.SigningCertificate({array:[e.signerCert]});return l.dSignedAttrs.add(u),l.sign(e.signerPrvKey,e.sigAlg),s},pe.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=me,i=t.getChildIdx,r=t.getV,n=t.getTLV,a={certreq:!1},s=i(e,0);if(s.length<2)throw"TimeStampReq must have at least 2 items";var o=n(e,s[1]);a.mi=pe.asn1.tsp.TSPUtil.parseMessageImprint(o);for(var c=2;c<s.length;c++){var l=s[c],u=e.substr(l,2);if("06"==u){var h=r(e,l);a.policy=t.hextooidstr(h)}"02"==u&&(a.nonce=r(e,l)),"01"==u&&(a.certreq=!0)}return a},pe.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=me,i=t.getChildIdx,r=t.getV,n=t.getIdxbyList,a={};if("30"!=e.substr(0,2))throw"head of messageImprint hex shall be '30'";i(e,0);var s=r(e,n(e,0,[0,0])),o=t.hextooidstr(s),c=pe.asn1.x509.OID.oid2name(o);if(""==c)throw"hashAlg name undefined: "+o;var l=c,u=n(e,0,[1]);return a.hashAlg=l,a.hashValue=r(e,u),a},void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),void 0!==pe.asn1.cades&&pe.asn1.cades||(pe.asn1.cades={}),pe.asn1.cades.SignaturePolicyIdentifier=function(e){var t=pe.asn1,i=t.DERObjectIdentifier,r=t.DERSequence,n=t.cades,a=n.OtherHashAlgAndValue;if(n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.15",void 0!==e&&"string"==typeof e.oid&&"object"==typeof e.hash){var s=new r({array:[new i({oid:e.oid}),new a(e.hash)]});this.valueList=[s]}},n.lang.extend(pe.asn1.cades.SignaturePolicyIdentifier,pe.asn1.cms.Attribute),pe.asn1.cades.OtherHashAlgAndValue=function(e){var t=pe.asn1,i=t.DERSequence,r=t.DEROctetString,n=t.x509.AlgorithmIdentifier;t.cades.OtherHashAlgAndValue.superclass.constructor.call(this),this.dAlg=null,this.dHash=null,this.getEncodedHex=function(){var e=new i({array:[this.dAlg,this.dHash]});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&"string"==typeof e.alg&&"string"==typeof e.hash&&(this.dAlg=new n({name:e.alg}),this.dHash=new r({hex:e.hash}))},n.lang.extend(pe.asn1.cades.OtherHashAlgAndValue,pe.asn1.ASN1Object),pe.asn1.cades.SignatureTimeStamp=function(e){var t=pe.asn1,i=t.ASN1Object;if(t.x509,t.cades.SignatureTimeStamp.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.14",this.tstHex=null,void 0!==e){if(void 0!==e.res)if("string"==typeof e.res&&e.res.match(/^[0-9A-Fa-f]+$/));else if(!(e.res instanceof i))throw"res param shall be ASN1Object or hex string";if(void 0!==e.tst)if("string"==typeof e.tst&&e.tst.match(/^[0-9A-Fa-f]+$/)){var r=new i;this.tstHex=e.tst,r.hTLV=this.tstHex,r.getEncodedHex(),this.valueList=[r]}else if(!(e.tst instanceof i))throw"tst param shall be ASN1Object or hex string"}},n.lang.extend(pe.asn1.cades.SignatureTimeStamp,pe.asn1.cms.Attribute),pe.asn1.cades.CompleteCertificateRefs=function(e){var t=pe.asn1.cades;t.CompleteCertificateRefs.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.21",this.setByArray=function(e){this.valueList=[];for(var i=0;i<e.length;i++){var r=new t.OtherCertID(e[i]);this.valueList.push(r)}},void 0!==e&&"object"==typeof e&&"number"==typeof e.length&&this.setByArray(e)},n.lang.extend(pe.asn1.cades.CompleteCertificateRefs,pe.asn1.cms.Attribute),pe.asn1.cades.OtherCertID=function(e){var t=pe.asn1,i=t.cms,r=t.cades;r.OtherCertID.superclass.constructor.call(this),this.hasIssuerSerial=!0,this.dOtherCertHash=null,this.dIssuerSerial=null,this.setByCertPEM=function(e){this.dOtherCertHash=new r.OtherHash(e),this.hasIssuerSerial&&(this.dIssuerSerial=new i.IssuerAndSerialNumber(e))},this.getEncodedHex=function(){if(null!=this.hTLV)return this.hTLV;if(null==this.dOtherCertHash)throw"otherCertHash not set";var e=[this.dOtherCertHash];null!=this.dIssuerSerial&&e.push(this.dIssuerSerial);var i=new t.DERSequence({array:e});return this.hTLV=i.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),"object"==typeof e&&(!1===e.hasis&&(this.hasIssuerSerial=!1),"string"==typeof e.cert&&this.setByCertPEM(e.cert)))},n.lang.extend(pe.asn1.cades.OtherCertID,pe.asn1.ASN1Object),pe.asn1.cades.OtherHash=function(e){var t=pe,i=t.asn1,r=(i.cms,i.cades),n=r.OtherHashAlgAndValue,a=t.crypto.Util.hashHex;if(r.OtherHash.superclass.constructor.call(this),this.alg="sha256",this.dOtherHash=null,this.setByCertPEM=function(e){if(-1==e.indexOf("-----BEGIN "))throw"certPEM not to seem PEM format";var t=Te(e),i=a(t,this.alg);this.dOtherHash=new n({alg:this.alg,hash:i})},this.getEncodedHex=function(){if(null==this.dOtherHash)throw"OtherHash not set";return this.dOtherHash.getEncodedHex()},void 0!==e)if("string"==typeof e)if(-1!=e.indexOf("-----BEGIN "))this.setByCertPEM(e);else{if(!e.match(/^[0-9A-Fa-f]+$/))throw"unsupported string value for params";this.dOtherHash=new i.DEROctetString({hex:e})}else"object"==typeof e&&("string"==typeof e.cert?("string"==typeof e.alg&&(this.alg=e.alg),this.setByCertPEM(e.cert)):this.dOtherHash=new n(e))},n.lang.extend(pe.asn1.cades.OtherHash,pe.asn1.ASN1Object),pe.asn1.cades.CAdESUtil=new function(){},pe.asn1.cades.CAdESUtil.addSigTS=function(e,t,i){},pe.asn1.cades.CAdESUtil.parseSignedDataForAddingUnsigned=function(e){var t=me,i=t.getChildIdx,r=t.getTLV,n=t.getTLVbyList,a=(t.getTLVbyListEx,t.getIdxbyList),s=(t.getIdxbyListEx,pe.asn1),o=s.ASN1Object,c=s.cms.SignedData,l=s.cades.CAdESUtil,u={};if("06092a864886f70d010702"!=n(e,0,[0]))throw"hex is not CMS SignedData";var h=i(e,a(e,0,[1,0]));if(h.length<4)throw"num of SignedData elem shall be 4 at least";var d=h.shift();u.version=r(e,d);var p=h.shift();u.algs=r(e,p);var f=h.shift();u.encapcontent=r(e,f),u.certs=null,u.revs=null,u.si=[];var g=h.shift();"a0"==e.substr(g,2)&&(u.certs=r(e,g),g=h.shift()),"a1"==e.substr(g,2)&&(u.revs=r(e,g),g=h.shift());var m=g;if("31"!=e.substr(m,2))throw"Can't find signerInfos";for(var b=i(e,m),y=0;y<b.length;y++){var v=b[y],S=l.parseSignerInfoForAddingUnsigned(e,v,y);u.si[y]=S}var C=null;for(u.obj=new c,(C=new o).hTLV=u.version,u.obj.dCMSVersion=C,(C=new o).hTLV=u.algs,u.obj.dDigestAlgs=C,(C=new o).hTLV=u.encapcontent,u.obj.dEncapContentInfo=C,(C=new o).hTLV=u.certs,u.obj.dCerts=C,u.obj.signerInfoList=[],y=0;y<u.si.length;y++)u.obj.signerInfoList.push(u.si[y].obj);return u},pe.asn1.cades.CAdESUtil.parseSignerInfoForAddingUnsigned=function(e,t,i){var r=me,n=r.getChildIdx,a=r.getTLV,s=r.getV,o=pe.asn1,c=o.ASN1Object,l=o.cms,u=l.AttributeList,h=l.SignerInfo,d={},p=n(e,t);if(6!=p.length)throw"not supported items for SignerInfo (!=6)";var f=p.shift();d.version=a(e,f);var g=p.shift();d.si=a(e,g);var m=p.shift();d.digalg=a(e,m);var b=p.shift();d.sattrs=a(e,b);var y=p.shift();d.sigalg=a(e,y);var v=p.shift();d.sig=a(e,v),d.sigval=s(e,v);var S=null;return d.obj=new h,(S=new c).hTLV=d.version,d.obj.dCMSVersion=S,(S=new c).hTLV=d.si,d.obj.dSignerIdentifier=S,(S=new c).hTLV=d.digalg,d.obj.dDigestAlgorithm=S,(S=new c).hTLV=d.sattrs,d.obj.dSignedAttrs=S,(S=new c).hTLV=d.sigalg,d.obj.dSigAlg=S,(S=new c).hTLV=d.sig,d.obj.dSig=S,d.obj.dUnsignedAttrs=new u,d},void 0!==pe.asn1.csr&&pe.asn1.csr||(pe.asn1.csr={}),pe.asn1.csr.CertificationRequest=function(e){var t=pe.asn1,i=t.DERBitString,r=t.DERSequence,n=t.csr,a=(t.x509,n.CertificationRequestInfo);n.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(e){this.params=e},this.sign=function(){var e=new a(this.params).getEncodedHex(),t=new pe.crypto.Signature({alg:this.params.sigalg});t.init(this.params.sbjprvkey),t.updateHex(e);var i=t.sign();this.params.sighex=i},this.getPEM=function(){return Ie(this.getEncodedHex(),"CERTIFICATE REQUEST")},this.getEncodedHex=function(){var e=this.params,t=new pe.asn1.csr.CertificationRequestInfo(this.params),n=new pe.asn1.x509.AlgorithmIdentifier({name:e.sigalg});if(null==e.sighex&&null!=e.sbjprvkey&&this.sign(),null==e.sighex)throw new Error("sighex or sbjprvkey parameter not defined");var a=new i({hex:"00"+e.sighex});return new r({array:[t,n,a]}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.csr.CertificationRequest,pe.asn1.ASN1Object),pe.asn1.csr.CertificationRequestInfo=function(e){var t=pe.asn1,i=(t.DERBitString,t.DERSequence),r=t.DERInteger,n=t.DERUTF8String,a=t.DERTaggedObject,s=t.ASN1Util.newObject,o=t.csr,c=t.x509,l=c.X500Name,u=c.Extensions,h=c.SubjectPublicKeyInfo;o.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(e){null!=e&&(this.params=e)},this.getEncodedHex=function(){var e=this.params,t=[];if(t.push(new r({int:0})),t.push(new l(e.subject)),t.push(new h(Ne.getKey(e.sbjpubkey))),null!=e.extreq){var o=new u(e.extreq),c=s({tag:{tag:"a0",explict:!0,obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[o]}]}}});t.push(c)}else t.push(new a({tag:"a0",explicit:!1,obj:new n({str:""})}));return new i({array:t}).getEncodedHex()},null!=e&&this.setByParam(e)},n.lang.extend(pe.asn1.csr.CertificationRequestInfo,pe.asn1.ASN1Object),pe.asn1.csr.CSRUtil=new function(){},pe.asn1.csr.CSRUtil.newCSRPEM=function(e){return new pe.asn1.csr.CertificationRequest(e).getPEM()},pe.asn1.csr.CSRUtil.getParam=function(e){var t=me,i=t.getV;_getIdxbyList=t.getIdxbyList,_getTLVbyList=t.getTLVbyList,_getTLVbyListEx=t.getTLVbyListEx,_getVbyListEx=t.getVbyListEx;var r={};if(-1==e.indexOf("-----BEGIN CERTIFICATE REQUEST"))throw new Error("argument is not PEM file");var n=Te(e,"CERTIFICATE REQUEST");try{var a=_getTLVbyListEx(n,0,[0,1]),s=new Le;r.subject={},r.subject.array=s.getX500Name(a),r.subject.str=Le.hex2dn(a)}catch(p){}var o=_getTLVbyListEx(n,0,[0,2]),c=Ne.getKey(o,null,"pkcs8pub");r.sbjpubkey=Ne.getPEM(c,"PKCS8PUB");var l,u="2a864886f70d01090e"!=i(l=n,_getIdxbyList(l,0,[0,3,0,0],"06"))?null:_getTLVbyList(l,0,[0,3,0,1,0],"30");s=new Le,null!=u&&(r.extreq=s.getExtParamArray(u));try{var h=_getTLVbyListEx(n,0,[1],"30");s=new Le,r.sigalg=s.getAlgorithmIdentifierName(h)}catch(p){}try{var d=_getVbyListEx(n,0,[2]);r.sighex=d}catch(p){}return r},void 0!==pe&&pe||(pe={}),void 0!==pe.asn1&&pe.asn1||(pe.asn1={}),void 0!==pe.asn1.ocsp&&pe.asn1.ocsp||(pe.asn1.ocsp={}),pe.asn1.ocsp.DEFAULT_HASH="sha1",pe.asn1.ocsp.OCSPResponse=function(e){pe.asn1.ocsp.OCSPResponse.superclass.constructor.call(this),pe.asn1.DEREnumerated;var t=pe.asn1.ASN1Util.newObject,i=pe.asn1.ocsp.ResponseBytes,r=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var e=this.params.resstatus;return"number"==typeof e?e:"string"!=typeof e?-1:r.indexOf(e)},this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=this.params,r=this._getStatusCode();if(-1==r)throw new Error("responseStatus not supported: "+e.resstatus);if(0!=r)return t({seq:[{enum:{int:r}}]}).getEncodedHex();var n=new i(e);return t({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:n}}]}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.OCSPResponse,pe.asn1.ASN1Object),pe.asn1.ocsp.ResponseBytes=function(e){pe.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=pe.asn1,i=t.DERSequence,r=t.DERObjectIdentifier,n=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=this.params;if("ocspBasic"!=e.restype)throw new Error("not supported responseType: "+e.restype);var t=new a(e),s=[];return s.push(new r({name:"ocspBasic"})),s.push(new n({hex:t.getEncodedHex()})),new i({array:s}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.ResponseBytes,pe.asn1.ASN1Object),pe.asn1.ocsp.BasicOCSPResponse=function(e){pe.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,i=pe.asn1,r=i.ASN1Object,n=i.DERSequence,a=(i.DERGeneralizedTime,i.DERTaggedObject),s=i.DERBitString,o=(i.x509.Extensions,i.x509.AlgorithmIdentifier),c=i.ocsp;c.ResponderID,_SingleResponseList=c.SingleResponseList,_ResponseData=c.ResponseData,this.params=null,this.setByParam=function(e){this.params=e},this.sign=function(){var e=this.params,t=e.tbsresp.getEncodedHex(),i=new pe.crypto.Signature({alg:e.sigalg});i.init(e.reskey),i.updateHex(t),e.sighex=i.sign()},this.getEncodedHex=function(){var e=this.params;null==e.tbsresp&&(e.tbsresp=new _ResponseData(e)),null==e.sighex&&null!=e.reskey&&this.sign();var i=[];if(i.push(e.tbsresp),i.push(new o({name:e.sigalg})),i.push(new s({hex:"00"+e.sighex})),null!=e.certs&&null!=e.certs.length){for(var c=[],l=0;l<e.certs.length;l++){var u=e.certs[l],h=null;if(me.isASN1HEX(u))h=u;else{if(!u.match(/-----BEGIN/))throw new t("certs["+l+"] not hex or PEM");h=Te(u)}c.push(new r({tlv:h}))}var d=new n({array:c});i.push(new a({tag:"a0",explicit:!0,obj:d}))}return new n({array:i}).getEncodedHex()},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.BasicOCSPResponse,pe.asn1.ASN1Object),pe.asn1.ocsp.ResponseData=function(e){pe.asn1.ocsp.ResponseData.superclass.constructor.call(this);var t=Error,i=pe.asn1,r=i.DERSequence,n=i.DERGeneralizedTime,a=i.DERTaggedObject,s=i.x509.Extensions,o=i.ocsp,c=o.ResponderID;_SingleResponseList=o.SingleResponseList,this.params=null,this.getEncodedHex=function(){var e=this.params;null!=e.respid&&new t("respid not specified"),null!=e.prodat&&new t("prodat not specified"),null!=e.array&&new t("array not specified");var i=[];if(i.push(new c(e.respid)),i.push(new n(e.prodat)),i.push(new _SingleResponseList(e.array)),null!=e.ext){var o=new s(e.ext);i.push(new a({tag:"a1",explicit:!0,obj:o}))}return new r({array:i}).getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.ResponseData,pe.asn1.ASN1Object),pe.asn1.ocsp.ResponderID=function(e){pe.asn1.ocsp.ResponderID.superclass.constructor.call(this);var t=pe.asn1,i=t.ASN1Util.newObject,r=t.x509.X500Name;this.params=null,this.getEncodedHex=function(){var e=this.params;if(null!=e.key)return i({tag:{tag:"a2",explicit:!0,obj:{octstr:{hex:e.key}}}}).getEncodedHex();if(null!=e.name)return i({tag:{tag:"a1",explicit:!0,obj:new r(e.name)}}).getEncodedHex();throw new Error("key or name not specified")},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.ResponderID,pe.asn1.ASN1Object),pe.asn1.ocsp.SingleResponseList=function(e){pe.asn1.ocsp.SingleResponseList.superclass.constructor.call(this);var t=pe.asn1,i=t.DERSequence,r=t.ocsp.SingleResponse;this.params=null,this.getEncodedHex=function(){var e=this.params;if("object"!=typeof e||null==e.length)throw new Error("params not specified properly");for(var t=[],n=0;n<e.length;n++)t.push(new r(e[n]));return new i({array:t}).getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.SingleResponseList,pe.asn1.ASN1Object),pe.asn1.ocsp.SingleResponse=function(e){var t=Error,i=pe.asn1,r=i.DERSequence,n=i.DERGeneralizedTime,a=i.DERTaggedObject,s=i.ocsp,o=s.CertID,c=s.CertStatus,l=i.x509.Extensions;s.SingleResponse.superclass.constructor.call(this),this.params=null,this.getEncodedHex=function(){var e=this.params,i=[];if(null==e.certid)throw new t("certid unspecified");if(null==e.status)throw new t("status unspecified");if(null==e.thisupdate)throw new t("thisupdate unspecified");if(i.push(new o(e.certid)),i.push(new c(e.status)),i.push(new n(e.thisupdate)),null!=e.nextupdate){var s=new n(e.nextupdate);i.push(new a({tag:"a0",explicit:!0,obj:s}))}if(null!=e.ext){var u=new l(e.ext);i.push(new a({tag:"a1",explicit:!0,obj:u}))}return new r({array:i}).getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.SingleResponse,pe.asn1.ASN1Object),pe.asn1.ocsp.CertID=function(e){var t=pe,i=t.asn1,r=i.DEROctetString,n=i.DERInteger,a=i.DERSequence,s=i.x509.AlgorithmIdentifier,o=i.ocsp,c=o.DEFAULT_HASH,l=t.crypto.Util.hashHex,u=Le,h=me;if(o.CertID.superclass.constructor.call(this),this.dHashAlg=null,this.dIssuerNameHash=null,this.dIssuerKeyHash=null,this.dSerialNumber=null,this.setByValue=function(e,t,i,a){void 0===a&&(a=c),this.dHashAlg=new s({name:a}),this.dIssuerNameHash=new r({hex:e}),this.dIssuerKeyHash=new r({hex:t}),this.dSerialNumber=new n({hex:i})},this.setByCert=function(e,t,i){void 0===i&&(i=c);var r=new u;r.readCertPEM(t);var n=new u;n.readCertPEM(e);var a=n.getPublicKeyHex(),s=h.getTLVbyList(a,0,[1,0],"30"),o=r.getSerialNumberHex(),d=l(n.getSubjectHex(),i),p=l(s,i);this.setByValue(d,p,o,i),this.hoge=r.getSerialNumberHex()},this.getEncodedHex=function(){if(null===this.dHashAlg&&null===this.dIssuerNameHash&&null===this.dIssuerKeyHash&&null===this.dSerialNumber)throw"not yet set values";var e=[this.dHashAlg,this.dIssuerNameHash,this.dIssuerKeyHash,this.dSerialNumber],t=new a({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e){var d=e;if(void 0!==d.issuerCert&&void 0!==d.subjectCert){var p=c;void 0===d.alg&&(p=void 0),this.setByCert(d.issuerCert,d.subjectCert,p)}else{if(void 0===d.issname||void 0===d.isskey||void 0===d.sbjsn)throw new Error("invalid constructor arguments");p=c,void 0===d.alg&&(p=void 0),this.setByValue(d.issname,d.isskey,d.sbjsn,p)}}},n.lang.extend(pe.asn1.ocsp.CertID,pe.asn1.ASN1Object),pe.asn1.ocsp.CertStatus=function(e){pe.asn1.ocsp.CertStatus.superclass.constructor.call(this),this.params=null,this.getEncodedHex=function(){var e=this.params;if("good"==e.status)return"8000";if("unknown"==e.status)return"8200";if("revoked"==e.status){var t=[{gentime:{str:e.time}}];null!=e.reason&&t.push({tag:{tag:"a0",explicit:!0,obj:{enum:{int:e.reason}}}});var i={tag:"a1",explicit:!1,obj:{seq:t}};return pe.asn1.ASN1Util.newObject({tag:i}).getEncodedHex()}throw new Error("bad status")},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},n.lang.extend(pe.asn1.ocsp.CertStatus,pe.asn1.ASN1Object),pe.asn1.ocsp.Request=function(e){var t=pe.asn1,i=t.DERSequence,r=t.ocsp;if(r.Request.superclass.constructor.call(this),this.dReqCert=null,this.dExt=null,this.getEncodedHex=function(){var e=[];if(null===this.dReqCert)throw"reqCert not set";e.push(this.dReqCert);var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e){var n=new r.CertID(e);this.dReqCert=n}},n.lang.extend(pe.asn1.ocsp.Request,pe.asn1.ASN1Object),pe.asn1.ocsp.TBSRequest=function(e){var t=pe.asn1,i=t.DERSequence,r=t.ocsp;r.TBSRequest.superclass.constructor.call(this),this.version=0,this.dRequestorName=null,this.dRequestList=[],this.dRequestExt=null,this.setRequestListByParam=function(e){for(var t=[],i=0;i<e.length;i++){var n=new r.Request(e[0]);t.push(n)}this.dRequestList=t},this.getEncodedHex=function(){var e=[];if(0!==this.version)throw"not supported version: "+this.version;if(null!==this.dRequestorName)throw"requestorName not supported";var t=new i({array:this.dRequestList});if(e.push(t),null!==this.dRequestExt)throw"requestExtensions not supported";var r=new i({array:e});return this.hTLV=r.getEncodedHex(),this.hTLV},void 0!==e&&void 0!==e.reqList&&this.setRequestListByParam(e.reqList)},n.lang.extend(pe.asn1.ocsp.TBSRequest,pe.asn1.ASN1Object),pe.asn1.ocsp.OCSPRequest=function(e){var t=pe.asn1,i=t.DERSequence,r=t.ocsp;if(r.OCSPRequest.superclass.constructor.call(this),this.dTbsRequest=null,this.dOptionalSignature=null,this.getEncodedHex=function(){var e=[];if(null===this.dTbsRequest)throw"tbsRequest not set";if(e.push(this.dTbsRequest),null!==this.dOptionalSignature)throw"optionalSignature not supported";var t=new i({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&void 0!==e.reqList){var n=new r.TBSRequest(e);this.dTbsRequest=n}},n.lang.extend(pe.asn1.ocsp.OCSPRequest,pe.asn1.ASN1Object),pe.asn1.ocsp.OCSPUtil={},pe.asn1.ocsp.OCSPUtil.getRequestHex=function(e,t,i){var r=pe.asn1.ocsp;void 0===i&&(i=r.DEFAULT_HASH);var n={alg:i,issuerCert:e,subjectCert:t};return new r.OCSPRequest({reqList:[n]}).getEncodedHex()},pe.asn1.ocsp.OCSPUtil.getOCSPResponseInfo=function(e){var t=me,i=t.getVbyList,r=t.getVbyListEx,n=t.getIdxbyList,a=(t.getIdxbyListEx,t.getV),s={};try{var o=r(e,0,[0],"0a");s.responseStatus=parseInt(o,16)}catch(h){}if(0!==s.responseStatus)return s;try{var c=n(e,0,[1,0,1,0,0,2,0,1]);"80"===e.substr(c,2)?s.certStatus="good":"a1"===e.substr(c,2)?(s.certStatus="revoked",s.revocationTime=Ae(i(e,c,[0]))):"82"===e.substr(c,2)&&(s.certStatus="unknown")}catch(h){}try{var l=n(e,0,[1,0,1,0,0,2,0,2]);s.thisUpdate=Ae(a(e,l))}catch(h){}try{var u=n(e,0,[1,0,1,0,0,2,0,3]);"a0"===e.substr(u,2)&&(s.nextUpdate=Ae(i(e,u,[0])))}catch(h){}return s},pe.asn1.ocsp.OCSPParser=function(){var e=Error,t=Le,i=new t,r=me,n=r.getV,a=r.getTLV,s=r.getIdxbyList,o=r.getTLVbyListEx,c=r.getChildIdx;this.getOCSPRequest=function(t){var i=c(t,0);if(1!=i.length&&2!=i.length)throw new e("wrong number elements: "+i.length);return this.getTBSRequest(a(t,i[0]))},this.getTBSRequest=function(e){var t={},r=o(e,0,[0],"30");t.array=this.getRequestList(r);var n=o(e,0,["[2]",0],"30");return null!=n&&(t.ext=i.getExtParamArray(n)),t},this.getRequestList=function(e){for(var t=[],i=c(e,0),r=0;r<i.length;r++)e=a(e,i[r]),t.push(this.getRequest(e));return t},this.getRequest=function(t){var r=c(t,0);if(1!=r.length&&2!=r.length)throw new e("wrong number elements: "+r.length);var n=this.getCertID(a(t,r[0]));if(2==r.length){var o=s(t,0,[1,0]);n.ext=i.getExtParamArray(a(t,o))}return n},this.getCertID=function(i){var r=c(i,0);if(4!=r.length)throw new e("wrong number elements: "+r.length);var s=new t,o={};return o.alg=s.getAlgorithmIdentifierName(a(i,r[0])),o.issname=n(i,r[1]),o.isskey=n(i,r[2]),o.sbjsn=n(i,r[3]),o}},void 0!==pe&&pe||(pe={}),void 0!==pe.lang&&pe.lang||(pe.lang={}),pe.lang.String=function(){},"function"==typeof Buffer?(fe=function(e){return ve(new Buffer(e,"utf8").toString("base64"))},ge=function(e){return new Buffer(Se(e),"base64").toString("utf8")}):(fe=function(e){return Ce(De(Be(e)))},ge=function(e){return decodeURIComponent(Fe(xe(e)))}),pe.lang.String.isInteger=function(e){return!!e.match(/^[0-9]+$/)||!!e.match(/^-[0-9]+$/)},pe.lang.String.isHex=function(e){return!(e.length%2!=0||!e.match(/^[0-9a-f]+$/)&&!e.match(/^[0-9A-F]+$/))},pe.lang.String.isBase64=function(e){return!(!(e=e.replace(/\s+/g,"")).match(/^[0-9A-Za-z+\/]+={0,3}$/)||e.length%4!=0)},pe.lang.String.isBase64URL=function(e){return!e.match(/[+/=]/)&&(e=Se(e),pe.lang.String.isBase64(e))},pe.lang.String.isIntegerArray=function(e){return!!(e=e.replace(/\s+/g,"")).match(/^\[[0-9,]+\]$/)},pe.lang.String.isPrintable=function(e){return null!==e.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},pe.lang.String.isIA5=function(e){return null!==e.match(/^[\x20-\x21\x23-\x7f]*$/)},pe.lang.String.isMail=function(e){return null!==e.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)},void 0!==pe&&pe||(pe={}),void 0!==pe.crypto&&pe.crypto||(pe.crypto={}),pe.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:S.algo.MD5,sha1:S.algo.SHA1,sha224:S.algo.SHA224,sha256:S.algo.SHA256,sha384:S.algo.SHA384,sha512:S.algo.SHA512,ripemd160:S.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(void 0===this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,i){var r=this.getDigestInfoHex(e,t),n=i/4;if(r.length+22>n)throw"key is too short for SigAlg: keylen="+i+","+t;for(var a="00"+r,s="",o=n-4-a.length,c=0;c<o;c+=2)s+="ff";return"0001"+s+a},this.hashString=function(e,t){return new pe.crypto.MessageDigest({alg:t}).digestString(e)},this.hashHex=function(e,t){return new pe.crypto.MessageDigest({alg:t}).digestHex(e)},this.sha1=function(e){return this.hashString(e,"sha1")},this.sha256=function(e){return this.hashString(e,"sha256")},this.sha256Hex=function(e){return this.hashHex(e,"sha256")},this.sha512=function(e){return this.hashString(e,"sha512")},this.sha512Hex=function(e){return this.hashHex(e,"sha512")},this.isKey=function(e){return e instanceof oe||e instanceof pe.crypto.DSA||e instanceof pe.crypto.ECDSA}},pe.crypto.Util.md5=function(e){return new pe.crypto.MessageDigest({alg:"md5",prov:"cryptojs"}).digestString(e)},pe.crypto.Util.ripemd160=function(e){return new pe.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"}).digestString(e)},pe.crypto.Util.SECURERANDOMGEN=new ne,pe.crypto.Util.getRandomHexOfNbytes=function(e){var t=new Array(e);return pe.crypto.Util.SECURERANDOMGEN.nextBytes(t),be(t)},pe.crypto.Util.getRandomBigIntegerOfNbytes=function(e){return new E(pe.crypto.Util.getRandomHexOfNbytes(e),16)},pe.crypto.Util.getRandomHexOfNbits=function(e){var t=e%8,i=new Array((e-t)/8+1);return pe.crypto.Util.SECURERANDOMGEN.nextBytes(i),i[0]=(255<<t&255^255)&i[0],be(i)},pe.crypto.Util.getRandomBigIntegerOfNbits=function(e){return new E(pe.crypto.Util.getRandomHexOfNbits(e),16)},pe.crypto.Util.getRandomBigIntegerZeroToMax=function(e){for(var t=e.bitLength();;){var i=pe.crypto.Util.getRandomBigIntegerOfNbits(t);if(-1!=e.compareTo(i))return i}},pe.crypto.Util.getRandomBigIntegerMinToMax=function(e,t){var i=e.compareTo(t);if(1==i)throw"biMin is greater than biMax";if(0==i)return e;var r=t.subtract(e);return pe.crypto.Util.getRandomBigIntegerZeroToMax(r).add(e)},pe.crypto.MessageDigest=function(e){this.setAlgAndProvider=function(e,t){if(null!==(e=pe.crypto.MessageDigest.getCanonicalAlgName(e))&&void 0===t&&(t=pe.crypto.Util.DEFAULTPROVIDER[e]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(e)&&"cryptojs"==t){try{this.md=pe.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[e].create()}catch(i){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+i}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=S.enc.Hex.parse(e);this.md.update(t)},this.digest=function(){return this.md.finalize().toString(S.enc.Hex)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}if(-1!=":sha256:".indexOf(e)&&"sjcl"==t){try{this.md=new sjcl.hash.sha256}catch(i){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+i}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=sjcl.codec.hex.toBits(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return sjcl.codec.hex.fromBits(e)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==e&&void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=pe.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},pe.crypto.MessageDigest.getCanonicalAlgName=function(e){return"string"==typeof e&&(e=(e=e.toLowerCase()).replace(/-/,"")),e},pe.crypto.MessageDigest.getHashLength=function(e){var t=pe.crypto.MessageDigest,i=t.getCanonicalAlgName(e);if(void 0===t.HASHLENGTH[i])throw"not supported algorithm: "+e;return t.HASHLENGTH[i]},pe.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},pe.crypto.Mac=function(e){this.setAlgAndProvider=function(e,t){if(null==(e=e.toLowerCase())&&(e="hmacsha1"),"hmac"!=(e=e.toLowerCase()).substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+e;void 0===t&&(t=pe.crypto.Util.DEFAULTPROVIDER[e]),this.algProv=e+"/"+t;var i=e.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(i)&&"cryptojs"==t){try{var r=pe.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[i];this.mac=S.algo.HMAC.create(r,this.pass)}catch(n){throw"setAlgAndProvider hash alg set fail hashAlg="+i+"/"+n}this.updateString=function(e){this.mac.update(e)},this.updateHex=function(e){var t=S.enc.Hex.parse(e);this.mac.update(t)},this.doFinal=function(){return this.mac.finalize().toString(S.enc.Hex)},this.doFinalString=function(e){return this.updateString(e),this.doFinal()},this.doFinalHex=function(e){return this.updateHex(e),this.doFinal()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(e){if("string"==typeof e){var t=e;return e.length%2!=1&&e.match(/^[0-9A-Fa-f]+$/)||(t=ke(e)),void(this.pass=S.enc.Hex.parse(t))}if("object"!=typeof e)throw"KJUR.crypto.Mac unsupported password type: "+e;if(t=null,void 0!==e.hex){if(e.hex.length%2!=0||!e.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+e.hex;t=e.hex}if(void 0!==e.utf8&&(t=we(e.utf8)),void 0!==e.rstr&&(t=ke(e.rstr)),void 0!==e.b64&&(t=A(e.b64)),void 0!==e.b64u&&(t=xe(e.b64u)),null==t)throw"KJUR.crypto.Mac unsupported password type: "+e;this.pass=S.enc.Hex.parse(t)},void 0!==e&&(void 0!==e.pass&&this.setPassword(e.pass),void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=pe.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},pe.crypto.Signature=function(e){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,t){for(var i="",r=t/4-e.length,n=0;n<r;n++)i+="0";return i+e},this.setAlgAndProvider=function(e,t){if(this._setAlgNames(),"cryptojs/jsrsa"!=t)throw new Error("provider not supported: "+t);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new pe.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(e,t){var i=null;try{i=void 0===t?Ne.getKey(e):Ne.getKey(e,t)}catch(r){throw"init failed:"+r}if(!0===i.isPrivate)this.prvKey=i,this.state="SIGN";else{if(!0!==i.isPublic)throw"init failed.:"+i;this.pubKey=i,this.state="VERIFY"}},this.updateString=function(e){this.md.updateString(e)},this.updateHex=function(e){this.md.updateHex(e)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==pe.crypto.ECDSA&&(this.prvKey=new pe.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof oe&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof oe&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof pe.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof pe.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(e){return this.updateString(e),this.sign()},this.signHex=function(e){return this.updateHex(e),this.sign()},this.verify=function(e){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==pe.crypto.ECDSA&&(this.pubKey=new pe.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof oe&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,e,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof oe&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==pe.crypto.ECDSA&&this.pubKey instanceof pe.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==pe.crypto.DSA&&this.pubKey instanceof pe.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,t){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(e){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(e){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(e){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(e){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=e,void 0!==e&&(void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov?this.provName=pe.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=e.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==e.psssaltlen&&(this.pssSaltLen=e.psssaltlen),void 0!==e.prvkeypem)){if(void 0!==e.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{t=Ne.getKey(e.prvkeypem),this.init(t)}catch(i){throw"fatal error to load pem private key: "+i}}},pe.crypto.Cipher=function(e){},pe.crypto.Cipher.encrypt=function(e,t,i){if(t instanceof oe&&t.isPublic){var r=pe.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===r)return t.encrypt(e);if("RSAOAEP"===r)return t.encryptOAEP(e,"sha1");var n=r.match(/^RSAOAEP(\d+)$/);if(null!==n)return t.encryptOAEP(e,"sha"+n[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.encrypt: unsupported key or algorithm"},pe.crypto.Cipher.decrypt=function(e,t,i){if(t instanceof oe&&t.isPrivate){var r=pe.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===r)return t.decrypt(e);if("RSAOAEP"===r)return t.decryptOAEP(e,"sha1");var n=r.match(/^RSAOAEP(\d+)$/);if(null!==n)return t.decryptOAEP(e,"sha"+n[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.decrypt: unsupported key or algorithm"},pe.crypto.Cipher.getAlgByKeyAndName=function(e,t){if(e instanceof oe){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(t))return t;if(null==t)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+t}throw"getAlgByKeyAndName: not supported algorithm name: "+t},pe.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},void 0!==pe&&pe||(pe={}),void 0!==pe.crypto&&pe.crypto||(pe.crypto={}),pe.crypto.ECDSA=function(e){var t=Error,i=E,r=ue,n=pe.crypto.ECDSA,a=pe.crypto.ECParameterDB,s=n.getName,o=me,c=o.getVbyListEx,l=o.isASN1HEX,u=new ne;this.type="EC",this.isPrivate=!1,this.isPublic=!1,this.getBigRandom=function(e){return new i(e.bitLength(),u).mod(e.subtract(i.ONE)).add(i.ONE)},this.setNamedCurve=function(e){this.ecparams=a.getByName(e),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=e},this.setPrivateKeyHex=function(e){this.isPrivate=!0,this.prvKeyHex=e},this.setPublicKeyHex=function(e){this.isPublic=!0,this.pubKeyHex=e},this.getPublicKeyXYHex=function(){var e=this.pubKeyHex;if("04"!==e.substr(0,2))throw"this method supports uncompressed format(04) only";var t=this.ecparams.keylen/4;if(e.length!==2+2*t)throw"malformed public key hex length";var i={};return i.x=e.substr(2,t),i.y=e.substr(2+t),i},this.getShortNISTPCurveName=function(){var e=this.curveName;return"secp256r1"===e||"NIST P-256"===e||"P-256"===e||"prime256v1"===e?"P-256":"secp384r1"===e||"NIST P-384"===e||"P-384"===e?"P-384":null},this.generateKeyPairHex=function(){var e=this.ecparams.n,t=this.getBigRandom(e),i=this.ecparams.G.multiply(t),r=i.getX().toBigInteger(),n=i.getY().toBigInteger(),a=this.ecparams.keylen/4,s=("0000000000"+t.toString(16)).slice(-a),o="04"+("0000000000"+r.toString(16)).slice(-a)+("0000000000"+n.toString(16)).slice(-a);return this.setPrivateKeyHex(s),this.setPublicKeyHex(o),{ecprvhex:s,ecpubhex:o}},this.signWithMessageHash=function(e){return this.signHex(e,this.prvKeyHex)},this.signHex=function(e,t){var r=new i(t,16),a=this.ecparams.n,s=new i(e.substring(0,this.ecparams.keylen/4),16);do{var o=this.getBigRandom(a),c=this.ecparams.G.multiply(o).getX().toBigInteger().mod(a)}while(c.compareTo(i.ZERO)<=0);var l=o.modInverse(a).multiply(s.add(r.multiply(c))).mod(a);return n.biRSSigToASN1Sig(c,l)},this.sign=function(e,t){var r=t,n=this.ecparams.n,a=i.fromByteArrayUnsigned(e);do{var s=this.getBigRandom(n),o=this.ecparams.G.multiply(s).getX().toBigInteger().mod(n)}while(o.compareTo(E.ZERO)<=0);var c=s.modInverse(n).multiply(a.add(r.multiply(o))).mod(n);return this.serializeSig(o,c)},this.verifyWithMessageHash=function(e,t){return this.verifyHex(e,t,this.pubKeyHex)},this.verifyHex=function(e,t,a){try{var s,o,c=n.parseSigHex(t);s=c.r,o=c.s;var l=r.decodeFromHex(this.ecparams.curve,a),u=new i(e.substring(0,this.ecparams.keylen/4),16);return this.verifyRaw(u,s,o,l)}catch(h){return!1}},this.verify=function(e,t,n){var a,s,o;if(Bitcoin.Util.isArray(t)){var c=this.parseSig(t);a=c.r,s=c.s}else{if("object"!=typeof t||!t.r||!t.s)throw"Invalid value for signature";a=t.r,s=t.s}if(n instanceof ue)o=n;else{if(!Bitcoin.Util.isArray(n))throw"Invalid format for pubkey value, must be byte array or ECPointFp";o=r.decodeFrom(this.ecparams.curve,n)}var l=i.fromByteArrayUnsigned(e);return this.verifyRaw(l,a,s,o)},this.verifyRaw=function(e,t,r,n){var a=this.ecparams.n,s=this.ecparams.G;if(t.compareTo(i.ONE)<0||t.compareTo(a)>=0)return!1;if(r.compareTo(i.ONE)<0||r.compareTo(a)>=0)return!1;var o=r.modInverse(a),c=e.multiply(o).mod(a),l=t.multiply(o).mod(a);return s.multiply(c).add(n.multiply(l)).getX().toBigInteger().mod(a).equals(t)},this.serializeSig=function(e,t){var i=e.toByteArraySigned(),r=t.toByteArraySigned(),n=[];return n.push(2),n.push(i.length),(n=n.concat(i)).push(2),n.push(r.length),(n=n.concat(r)).unshift(n.length),n.unshift(48),n},this.parseSig=function(e){var t;if(48!=e[0])throw new Error("Signature not a valid DERSequence");if(2!=e[t=2])throw new Error("First element in signature must be a DERInteger");var r=e.slice(t+2,t+2+e[t+1]);if(2!=e[t+=2+e[t+1]])throw new Error("Second element in signature must be a DERInteger");var n=e.slice(t+2,t+2+e[t+1]);return t+=2+e[t+1],{r:i.fromByteArrayUnsigned(r),s:i.fromByteArrayUnsigned(n)}},this.parseSigCompact=function(e){if(65!==e.length)throw"Signature has the wrong length";var t=e[0]-27;if(t<0||t>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:i.fromByteArrayUnsigned(e.slice(1,33)).mod(r),s:i.fromByteArrayUnsigned(e.slice(33,65)).mod(r),i:t}},this.readPKCS5PrvKeyHex=function(e){if(!1===l(e))throw new Error("not ASN.1 hex string");var t,i,r;try{t=c(e,0,["[0]",0],"06"),i=c(e,0,[1],"04");try{r=c(e,0,["[1]",0],"03")}catch(n){}}catch(n){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=s(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(r),this.setPrivateKeyHex(i),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(e){if(!1===l(e))throw new t("not ASN.1 hex string");var i,r,n;try{c(e,0,[1,0],"06"),i=c(e,0,[1,1],"06"),r=c(e,0,[2,0,1],"04");try{n=c(e,0,[2,0,"[1]",0],"03")}catch(a){}}catch(a){throw new t("malformed PKCS#8 plain ECC private key")}if(this.curveName=s(i),void 0===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PubKeyHex=function(e){if(!1===l(e))throw new t("not ASN.1 hex string");var i,r;try{c(e,0,[0,0],"06"),i=c(e,0,[0,1],"06"),r=c(e,0,[1],"03")}catch(n){throw new t("malformed PKCS#8 ECC public key")}if(this.curveName=s(i),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(r)},this.readCertPubKeyHex=function(e,i){if(!1===l(e))throw new t("not ASN.1 hex string");var r,n;try{r=c(e,0,[0,5,0,1],"06"),n=c(e,0,[0,5,1],"03")}catch(a){throw new t("malformed X.509 certificate ECC public key")}if(this.curveName=s(r),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},void 0!==e&&void 0!==e.curve&&(this.curveName=e.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==e&&(void 0!==e.prv&&this.setPrivateKeyHex(e.prv),void 0!==e.pub&&this.setPublicKeyHex(e.pub))},pe.crypto.ECDSA.parseSigHex=function(e){var t=pe.crypto.ECDSA.parseSigHexInHexRS(e);return{r:new E(t.r,16),s:new E(t.s,16)}},pe.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=me,i=t.getChildIdx,r=t.getV;if(t.checkStrictDER(e,0),"30"!=e.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var n=i(e,0);if(2!=n.length)throw new Error("signature shall have two elements");var a=n[0],s=n[1];if("02"!=e.substr(a,2))throw new Error("1st item not ASN.1 integer");if("02"!=e.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:r(e,a),s:r(e,s)}},pe.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=pe.crypto.ECDSA.parseSigHexInHexRS(e),i=t.r,r=t.s;if("00"==i.substr(0,2)&&i.length%32==2&&(i=i.substr(2)),"00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),i.length%32==30&&(i="00"+i),r.length%32==30&&(r="00"+r),i.length%32!=0)throw"unknown ECDSA sig r length error";if(r.length%32!=0)throw"unknown ECDSA sig s length error";return i+r},pe.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var t=e.substr(0,e.length/2),i=e.substr(e.length/2);return pe.crypto.ECDSA.hexRSSigToASN1Sig(t,i)},pe.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var i=new E(e,16),r=new E(t,16);return pe.crypto.ECDSA.biRSSigToASN1Sig(i,r)},pe.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var i=pe.asn1,r=new i.DERInteger({bigint:e}),n=new i.DERInteger({bigint:t});return new i.DERSequence({array:[r,n]}).getEncodedHex()},pe.crypto.ECDSA.getName=function(e){return"2b8104001f"===e?"secp192k1":"2a8648ce3d030107"===e?"secp256r1":"2b8104000a"===e?"secp256k1":"2b81040021"===e?"secp224r1":"2b81040022"===e?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)?"secp256r1":-1!=="|secp256k1|".indexOf(e)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(e)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(e)?"secp384r1":null},void 0!==pe&&pe||(pe={}),void 0!==pe.crypto&&pe.crypto||(pe.crypto={}),pe.crypto.ECParameterDB=new function(){var e={},t={};function i(e){return new E(e,16)}this.getByName=function(i){var r=i;if(void 0!==t[r]&&(r=t[i]),void 0!==e[r])return e[r];throw"unregistered EC curve name: "+r},this.regist=function(r,n,a,s,o,c,l,u,h,d,p,f){e[r]={};var g=i(a),m=i(s),b=i(o),y=i(c),v=i(l),S=new he(g,m,b),C=S.decodePointHex("04"+u+h);e[r].name=r,e[r].keylen=n,e[r].curve=S,e[r].G=C,e[r].n=y,e[r].h=v,e[r].oid=p,e[r].info=f;for(var x=0;x<d.length;x++)t[d[x]]=r}},pe.crypto.ECParameterDB.regist("secp128r1",128,"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC","E87579C11079F43DD824993C2CEE5ED3","FFFFFFFE0000000075A30D1B9038A115","1","161FF7528B899B2D0C28607CA52C5B86","CF5AC8395BAFEB13C02DA292DDED7A83",[],"","secp128r1 : SECG curve over a 128 bit prime field"),pe.crypto.ECParameterDB.regist("secp160k1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73","0","7","0100000000000000000001B8FA16DFAB9ACA16B6B3","1","3B4C382CE37AA192A4019E763036F4F5DD4D7EBB","938CF935318FDCED6BC28286531733C3F03C4FEE",[],"","secp160k1 : SECG curve over a 160 bit prime field"),pe.crypto.ECParameterDB.regist("secp160r1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC","1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45","0100000000000000000001F4C8F927AED3CA752257","1","4A96B5688EF573284664698968C38BB913CBFC82","23A628553168947D59DCC912042351377AC5FB32",[],"","secp160r1 : SECG curve over a 160 bit prime field"),pe.crypto.ECParameterDB.regist("secp192k1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37","0","3","FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D","1","DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D","9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D",[]),pe.crypto.ECParameterDB.regist("secp192r1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC","64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1","FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831","1","188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012","07192B95FFC8DA78631011ED6B24CDD573F977A11E794811",[]),pe.crypto.ECParameterDB.regist("secp224r1",224,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE","B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4","FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D","1","B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21","BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34",[]),pe.crypto.ECParameterDB.regist("secp256k1",256,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F","0","7","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141","1","79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798","483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8",[]),pe.crypto.ECParameterDB.regist("secp256r1",256,"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC","5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B","FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551","1","6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296","4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5",["NIST P-256","P-256","prime256v1"]),pe.crypto.ECParameterDB.regist("secp384r1",384,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC","B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973","1","AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7","3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",["NIST P-384","P-384"]),pe.crypto.ECParameterDB.regist("secp521r1",521,"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC","051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409","1","C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",["NIST P-521","P-521"]),void 0!==pe&&pe||(pe={}),void 0!==pe.crypto&&pe.crypto||(pe.crypto={}),pe.crypto.DSA=function(){var e=me,t=(e.getVbyList,e.getVbyListEx),i=e.isASN1HEX,r=E;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(e,t,i,r,n){this.isPrivate=!0,this.p=e,this.q=t,this.g=i,this.y=r,this.x=n},this.setPrivateHex=function(e,t,i,r,n){var a,s,o,c,l;a=new E(e,16),s=new E(t,16),o=new E(i,16),c="string"==typeof r&&r.length>1?new E(r,16):null,l=new E(n,16),this.setPrivate(a,s,o,c,l)},this.setPublic=function(e,t,i,r){this.isPublic=!0,this.p=e,this.q=t,this.g=i,this.y=r,this.x=null},this.setPublicHex=function(e,t,i,r){var n,a,s,o;n=new E(e,16),a=new E(t,16),s=new E(i,16),o=new E(r,16),this.setPublic(n,a,s,o)},this.signWithMessageHash=function(e){var t=this.p,i=this.q,r=this.g,n=(this.y,this.x),a=pe.crypto.Util.getRandomBigIntegerMinToMax(E.ONE.add(E.ONE),i.subtract(E.ONE)),s=new E(e.substr(0,i.bitLength()/4),16),o=r.modPow(a,t).mod(i),c=a.modInverse(i).multiply(s.add(n.multiply(o))).mod(i);return pe.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:o}},{int:{bigint:c}}]})},this.verifyWithMessageHash=function(e,t){var i=this.p,r=this.q,n=this.g,a=this.y,s=this.parseASN1Signature(t),o=s[0],c=s[1],l=new E(e.substr(0,r.bitLength()/4),16);if(E.ZERO.compareTo(o)>0||o.compareTo(r)>0)throw"invalid DSA signature";if(E.ZERO.compareTo(c)>=0||c.compareTo(r)>0)throw"invalid DSA signature";var u=c.modInverse(r),h=l.multiply(u).mod(r),d=o.multiply(u).mod(r);return 0==n.modPow(h,i).multiply(a.modPow(d,i)).mod(i).mod(r).compareTo(o)},this.parseASN1Signature=function(e){try{return[new r(t(e,0,[0],"02"),16),new r(t(e,0,[1],"02"),16)]}catch(i){throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(e){var r,n,a,s,o;if(!1===i(e))throw new Error("not ASN.1 hex string");try{r=t(e,0,[1],"02"),n=t(e,0,[2],"02"),a=t(e,0,[3],"02"),s=t(e,0,[4],"02"),o=t(e,0,[5],"02")}catch(c){throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(r,n,a,s,o)},this.readPKCS8PrvKeyHex=function(e){var r,n,a,s;if(!1===i(e))throw new Error("not ASN.1 hex string");try{r=t(e,0,[1,1,0],"02"),n=t(e,0,[1,1,1],"02"),a=t(e,0,[1,1,2],"02"),s=t(e,0,[2,0],"02")}catch(o){throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(r,n,a,null,s)},this.readPKCS8PubKeyHex=function(e){var r,n,a,s;if(!1===i(e))throw new Error("not ASN.1 hex string");try{r=t(e,0,[0,1,0],"02"),n=t(e,0,[0,1,1],"02"),a=t(e,0,[0,1,2],"02"),s=t(e,0,[1,0],"02")}catch(o){throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(r,n,a,s)},this.readCertPubKeyHex=function(e,r){var n,a,s,o;if(!1===i(e))throw new Error("not ASN.1 hex string");try{n=t(e,0,[0,5,0,1,0],"02"),a=t(e,0,[0,5,0,1,1],"02"),s=t(e,0,[0,5,0,1,2],"02"),o=t(e,0,[0,5,1,0],"02")}catch(c){throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(n,a,s,o)}};var Ne=function(){var e=function(e,i,r){return t(S.AES,e,i,r)},t=function(e,t,i,r){var n=S.enc.Hex.parse(t),a=S.enc.Hex.parse(i),s=S.enc.Hex.parse(r),o={};o.key=a,o.iv=s,o.ciphertext=n;var c=e.decrypt(o,a,{iv:s});return S.enc.Hex.stringify(c)},i=function(e,t,i){return r(S.AES,e,t,i)},r=function(e,t,i,r){var n=S.enc.Hex.parse(t),a=S.enc.Hex.parse(i),s=S.enc.Hex.parse(r),o=e.encrypt(n,a,{iv:s}),c=S.enc.Hex.parse(o.toString());return S.enc.Base64.stringify(c)},n={"AES-256-CBC":{proc:e,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(e,i,r){return t(S.TripleDES,e,i,r)},eproc:function(e,t,i){return r(S.TripleDES,e,t,i)},keylen:24,ivlen:8},"DES-CBC":{proc:function(e,i,r){return t(S.DES,e,i,r)},eproc:function(e,t,i){return r(S.DES,e,t,i)},keylen:8,ivlen:8}},a=function(e){var t={},i=e.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));i&&(t.cipher=i[1],t.ivsalt=i[2]);var r=e.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));r&&(t.type=r[1]);var n=-1,a=0;-1!=e.indexOf("\r\n\r\n")&&(n=e.indexOf("\r\n\r\n"),a=2),-1!=e.indexOf("\n\n")&&(n=e.indexOf("\n\n"),a=1);var s=e.indexOf("-----END");if(-1!=n&&-1!=s){var o=e.substring(n+2*a,s-a);o=o.replace(/\s+/g,""),t.data=o}return t},s=function(e,t,i){for(var r=i.substring(0,16),a=S.enc.Hex.parse(r),s=S.enc.Utf8.parse(t),o=n[e].keylen+n[e].ivlen,c="",l=null;;){var u=S.algo.MD5.create();if(null!=l&&u.update(l),u.update(s),u.update(a),l=u.finalize(),(c+=S.enc.Hex.stringify(l)).length>=2*o)break}var h={};return h.keyhex=c.substr(0,2*n[e].keylen),h.ivhex=c.substr(2*n[e].keylen,2*n[e].ivlen),h},o=function(e,t,i,r){var a=S.enc.Base64.parse(e),s=S.enc.Hex.stringify(a);return(0,n[t].proc)(s,i,r)};return{version:"1.0.0",parsePKCS5PEM:function(e){return a(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,i){return s(e,t,i)},decryptKeyB64:function(e,t,i,r){return o(e,t,i,r)},getDecryptedKeyHex:function(e,t){var i=a(e),r=i.cipher,n=i.ivsalt,c=i.data,l=s(r,t,n).keyhex;return o(c,r,l,n)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,i,r,a){var o,c,l="";if(void 0!==r&&null!=r||(r="AES-256-CBC"),void 0===n[r])throw"KEYUTIL unsupported algorithm: "+r;void 0!==a&&null!=a||(a=(o=n[r].ivlen,c=S.lib.WordArray.random(o),S.enc.Hex.stringify(c)).toUpperCase());var u=function(e,t,i,r){return(0,n[t].eproc)(e,i,r)}(t,r,s(r,i,a).keyhex,a);return l="-----BEGIN "+e+" PRIVATE KEY-----\r\n",l+="Proc-Type: 4,ENCRYPTED\r\n",l+="DEK-Info: "+r+","+a+"\r\n",l+="\r\n",(l+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=me,i=t.getChildIdx,r=t.getV,n={},a=i(e,0);if(2!=a.length)throw"malformed format: SEQUENCE(0).items != 2: "+a.length;n.ciphertext=r(e,a[1]);var s=i(e,a[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=r(e,s[0]))throw"this only supports pkcs5PBES2";var o=i(e,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+o.length;var c=i(e,o[1]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length;if("2a864886f70d0307"!=r(e,c[0]))throw"this only supports TripleDES";n.encryptionSchemeAlg="TripleDES",n.encryptionSchemeIV=r(e,c[1]);var l=i(e,o[0]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+l.length;if("2a864886f70d01050c"!=r(e,l[0]))throw"this only supports pkcs5PBKDF2";var u=i(e,l[1]);if(u.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+u.length;n.pbkdf2Salt=r(e,u[0]);var h=r(e,u[1]);try{n.pbkdf2Iter=parseInt(h,16)}catch(d){throw"malformed format pbkdf2Iter: "+h}return n},getPBKDF2KeyHexFromParam:function(e,t){var i=S.enc.Hex.parse(e.pbkdf2Salt),r=e.pbkdf2Iter,n=S.PBKDF2(t,i,{keySize:6,iterations:r});return S.enc.Hex.stringify(n)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var i=Te(e,"ENCRYPTED PRIVATE KEY"),r=this.parseHexOfEncryptedPKCS8(i),n=Ne.getPBKDF2KeyHexFromParam(r,t),a={};a.ciphertext=S.enc.Hex.parse(r.ciphertext);var s=S.enc.Hex.parse(n),o=S.enc.Hex.parse(r.encryptionSchemeIV),c=S.TripleDES.decrypt(a,s,{iv:o});return S.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function(e,t){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(i)},parsePlainPrivatePKCS8Hex:function(e){var t=me,i=t.getChildIdx,r=t.getV,n={algparam:null};if("30"!=e.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var a=i(e,0);if(3!=a.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=e.substr(a[1],2))throw"malformed PKCS8 private key(code:003)";var s=i(e,a[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=e.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(n.algoid=r(e,s[0]),"06"==e.substr(s[1],2)&&(n.algparam=r(e,s[1])),"04"!=e.substr(a[2],2))throw"malformed PKCS8 private key(code:006)";return n.keyidx=t.getVidx(e,a[2]),n},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=Te(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,i=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==i.algoid)t=new oe;else if("2a8648ce380401"==i.algoid)t=new pe.crypto.DSA;else{if("2a8648ce3d0201"!=i.algoid)throw"unsupported private key algorithm";t=new pe.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,i=me.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===i)t=new oe;else if("2a8648ce380401"===i)t=new pe.crypto.DSA;else{if("2a8648ce3d0201"!==i)throw"unsupported PKCS#8 public key hex";t=new pe.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=me,i=t.getChildIdx,r=t.getV,n={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var a=i(e,0);if(2!=a.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(a[0],2))throw"malformed RSA key(code:003)";if(n.n=r(e,a[0]),"02"!=e.substr(a[1],2))throw"malformed RSA key(code:004)";return n.e=r(e,a[1]),n},parsePublicPKCS8Hex:function(e){var t=me,i=t.getChildIdx,r=t.getV,n={algparam:null},a=i(e,0);if(2!=a.length)throw"outer DERSequence shall have 2 elements: "+a.length;var s=a[0];if("30"!=e.substr(s,2))throw"malformed PKCS8 public key(code:001)";var o=i(e,s);if(2!=o.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(o[0],2))throw"malformed PKCS8 public key(code:003)";if(n.algoid=r(e,o[0]),"06"==e.substr(o[1],2)?n.algparam=r(e,o[1]):"30"==e.substr(o[1],2)&&(n.algparam={},n.algparam.p=t.getVbyList(e,o[1],[0],"02"),n.algparam.q=t.getVbyList(e,o[1],[1],"02"),n.algparam.g=t.getVbyList(e,o[1],[2],"02")),"03"!=e.substr(a[1],2))throw"malformed PKCS8 public key(code:004)";return n.key=r(e,a[1]).substr(2),n}}}();Ne.getKey=function(e,t,i){var r,n=(b=me).getChildIdx,a=(b.getV,b.getVbyList),s=pe.crypto,o=s.ECDSA,c=s.DSA,l=oe,u=Te,h=Ne;if(void 0!==l&&e instanceof l)return e;if(void 0!==o&&e instanceof o)return e;if(void 0!==c&&e instanceof c)return e;if(void 0!==e.curve&&void 0!==e.xy&&void 0===e.d)return new o({pub:e.xy,curve:e.curve});if(void 0!==e.curve&&void 0!==e.d)return new o({prv:e.d,curve:e.curve});if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(D=new l).setPublic(e.n,e.e),D;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.co&&void 0===e.qi)return(D=new l).setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),D;if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0===e.p)return(D=new l).setPrivate(e.n,e.e,e.d),D;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0===e.x)return(D=new c).setPublic(e.p,e.q,e.g,e.y),D;if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0!==e.x)return(D=new c).setPrivate(e.p,e.q,e.g,e.y,e.x),D;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d)return(D=new l).setPublic(xe(e.n),xe(e.e)),D;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.qi)return(D=new l).setPrivateEx(xe(e.n),xe(e.e),xe(e.d),xe(e.p),xe(e.q),xe(e.dp),xe(e.dq),xe(e.qi)),D;if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d)return(D=new l).setPrivate(xe(e.n),xe(e.e),xe(e.d)),D;if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0===e.d){var d=(T=new o({curve:e.crv})).ecparams.keylen/4,p="04"+("0000000000"+xe(e.x)).slice(-d)+("0000000000"+xe(e.y)).slice(-d);return T.setPublicKeyHex(p),T}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0!==e.d){d=(T=new o({curve:e.crv})).ecparams.keylen/4,p="04"+("0000000000"+xe(e.x)).slice(-d)+("0000000000"+xe(e.y)).slice(-d);var f=("0000000000"+xe(e.d)).slice(-d);return T.setPublicKeyHex(p),T.setPrivateKeyHex(f),T}if("pkcs5prv"===i){var g,m=e,b=me;if(9===(g=n(m,0)).length)(D=new l).readPKCS5PrvKeyHex(m);else if(6===g.length)(D=new c).readPKCS5PrvKeyHex(m);else{if(!(g.length>2&&"04"===m.substr(g[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(D=new o).readPKCS5PrvKeyHex(m)}return D}if("pkcs8prv"===i)return h.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===i)return h._getKeyFromPublicPKCS8Hex(e);if("x509pub"===i)return Le.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return Le.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var y=Te(e,"PUBLIC KEY");return h._getKeyFromPublicPKCS8Hex(y)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var v=u(e,"RSA PRIVATE KEY");return h.getKey(v,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var S=a(r=u(e,"DSA PRIVATE KEY"),0,[1],"02"),C=a(r,0,[2],"02"),x=a(r,0,[3],"02"),w=a(r,0,[4],"02"),A=a(r,0,[5],"02");return(D=new c).setPrivate(new E(S,16),new E(C,16),new E(x,16),new E(w,16),new E(A,16)),D}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED"))return v=u(e,"EC PRIVATE KEY"),h.getKey(v,null,"pkcs5prv");if(-1!=e.indexOf("-END PRIVATE KEY-"))return h.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var k=h.getDecryptedKeyHex(e,t),I=new oe;return I.readPKCS5PrvKeyHex(k),I}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var T,D=a(r=h.getDecryptedKeyHex(e,t),0,[1],"04"),F=a(r,0,[2,0],"06"),P=a(r,0,[3,0],"03").substr(2);if(void 0===pe.crypto.OID.oidhex2name[F])throw"undefined OID(hex) in KJUR.crypto.OID: "+F;return(T=new o({curve:pe.crypto.OID.oidhex2name[F]})).setPublicKeyHex(P),T.setPrivateKeyHex(D),T.isPublic=!1,T}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED"))return S=a(r=h.getDecryptedKeyHex(e,t),0,[1],"02"),C=a(r,0,[2],"02"),x=a(r,0,[3],"02"),w=a(r,0,[4],"02"),A=a(r,0,[5],"02"),(D=new c).setPrivate(new E(S,16),new E(C,16),new E(x,16),new E(w,16),new E(A,16)),D;if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return h.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},Ne.generateKeypair=function(e,t){if("RSA"==e){var i=t;(s=new oe).generate(i,"10001"),s.isPrivate=!0,s.isPublic=!0;var r=new oe,n=s.n.toString(16),a=s.e.toString(16);return r.setPublic(n,a),r.isPrivate=!1,r.isPublic=!0,(o={}).prvKeyObj=s,o.pubKeyObj=r,o}if("EC"==e){var s,o,c=t,l=new pe.crypto.ECDSA({curve:c}).generateKeyPairHex();return(s=new pe.crypto.ECDSA({curve:c})).setPublicKeyHex(l.ecpubhex),s.setPrivateKeyHex(l.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(r=new pe.crypto.ECDSA({curve:c})).setPublicKeyHex(l.ecpubhex),r.isPrivate=!1,r.isPublic=!0,(o={}).prvKeyObj=s,o.pubKeyObj=r,o}throw"unknown algorithm: "+e},Ne.getPEM=function(e,t,i,r,n,a){var s=pe,o=s.asn1,c=o.DERObjectIdentifier,l=o.DERInteger,u=o.ASN1Util.newObject,h=o.x509.SubjectPublicKeyInfo,d=s.crypto,p=d.DSA,f=d.ECDSA,g=oe;function m(e){return u({seq:[{int:0},{int:{bigint:e.n}},{int:e.e},{int:{bigint:e.d}},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.dmp1}},{int:{bigint:e.dmq1}},{int:{bigint:e.coeff}}]})}function b(e){return u({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a0",!0,{oid:{name:e.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]})}function y(e){return u({seq:[{int:0},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}},{int:{bigint:e.y}},{int:{bigint:e.x}}]})}if((void 0!==g&&e instanceof g||void 0!==p&&e instanceof p||void 0!==f&&e instanceof f)&&1==e.isPublic&&(void 0===t||"PKCS8PUB"==t))return Ie(w=new h(e).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==t&&void 0!==g&&e instanceof g&&(void 0===i||null==i)&&1==e.isPrivate)return Ie(w=m(e).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==t&&void 0!==f&&e instanceof f&&(void 0===i||null==i)&&1==e.isPrivate){var v=new c({name:e.curveName}).getEncodedHex(),C=b(e).getEncodedHex(),x="";return(x+=Ie(v,"EC PARAMETERS"))+Ie(C,"EC PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==p&&e instanceof p&&(void 0===i||null==i)&&1==e.isPrivate)return Ie(w=y(e).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==t&&void 0!==g&&e instanceof g&&void 0!==i&&null!=i&&1==e.isPrivate){var w=m(e).getEncodedHex();return void 0===r&&(r="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",w,i,r,a)}if("PKCS5PRV"==t&&void 0!==f&&e instanceof f&&void 0!==i&&null!=i&&1==e.isPrivate)return w=b(e).getEncodedHex(),void 0===r&&(r="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",w,i,r,a);if("PKCS5PRV"==t&&void 0!==p&&e instanceof p&&void 0!==i&&null!=i&&1==e.isPrivate)return w=y(e).getEncodedHex(),void 0===r&&(r="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",w,i,r,a);var A=function(e,t){var i=E(e,t);return new u({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]}).getEncodedHex()},E=function(e,t){var i=S.lib.WordArray.random(8),r=S.lib.WordArray.random(8),n=S.PBKDF2(t,i,{keySize:6,iterations:100}),a=S.enc.Hex.parse(e),s=S.TripleDES.encrypt(a,n,{iv:r})+"",o={};return o.ciphertext=s,o.pbkdf2Salt=S.enc.Hex.stringify(i),o.pbkdf2Iter=100,o.encryptionSchemeAlg="DES-EDE3-CBC",o.encryptionSchemeIV=S.enc.Hex.stringify(r),o};if("PKCS8PRV"==t&&null!=g&&e instanceof g&&1==e.isPrivate){var k=m(e).getEncodedHex();return w=u({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:k}}]}).getEncodedHex(),void 0===i||null==i?Ie(w,"PRIVATE KEY"):Ie(C=A(w,i),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==f&&e instanceof f&&1==e.isPrivate)return k=new u({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]}).getEncodedHex(),w=u({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:k}}]}).getEncodedHex(),void 0===i||null==i?Ie(w,"PRIVATE KEY"):Ie(C=A(w,i),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==t&&void 0!==p&&e instanceof p&&1==e.isPrivate)return k=new l({bigint:e.x}).getEncodedHex(),w=u({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:k}}]}).getEncodedHex(),void 0===i||null==i?Ie(w,"PRIVATE KEY"):Ie(C=A(w,i),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ne.getKeyFromCSRPEM=function(e){var t=Te(e,"CERTIFICATE REQUEST");return Ne.getKeyFromCSRHex(t)},Ne.getKeyFromCSRHex=function(e){var t=Ne.parseCSRHex(e);return Ne.getKey(t.p8pubkeyhex,null,"pkcs8pub")},Ne.parseCSRHex=function(e){var t=me,i=t.getChildIdx,r=t.getTLV,n={},a=e;if("30"!=a.substr(0,2))throw"malformed CSR(code:001)";var s=i(a,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=a.substr(s[0],2))throw"malformed CSR(code:003)";var o=i(a,s[0]);if(o.length<3)throw"malformed CSR(code:004)";return n.p8pubkeyhex=r(a,o[2]),n},Ne.getKeyID=function(e){var t=Ne,i=me;"string"==typeof e&&-1!=e.indexOf("BEGIN ")&&(e=t.getKey(e));var r=Te(t.getPEM(e)),n=i.getIdxbyList(r,0,[1]),a=i.getV(r,n).substring(2);return pe.crypto.Util.hashHex(a,"sha1")},Ne.getJWKFromKey=function(e){var t={};if(e instanceof oe&&e.isPrivate)return t.kty="RSA",t.n=Ce(e.n.toString(16)),t.e=Ce(e.e.toString(16)),t.d=Ce(e.d.toString(16)),t.p=Ce(e.p.toString(16)),t.q=Ce(e.q.toString(16)),t.dp=Ce(e.dmp1.toString(16)),t.dq=Ce(e.dmq1.toString(16)),t.qi=Ce(e.coeff.toString(16)),t;if(e instanceof oe&&e.isPublic)return t.kty="RSA",t.n=Ce(e.n.toString(16)),t.e=Ce(e.e.toString(16)),t;if(e instanceof pe.crypto.ECDSA&&e.isPrivate){if("P-256"!==(r=e.getShortNISTPCurveName())&&"P-384"!==r)throw"unsupported curve name for JWT: "+r;var i=e.getPublicKeyXYHex();return t.kty="EC",t.crv=r,t.x=Ce(i.x),t.y=Ce(i.y),t.d=Ce(e.prvKeyHex),t}if(e instanceof pe.crypto.ECDSA&&e.isPublic){var r;if("P-256"!==(r=e.getShortNISTPCurveName())&&"P-384"!==r)throw"unsupported curve name for JWT: "+r;return i=e.getPublicKeyXYHex(),t.kty="EC",t.crv=r,t.x=Ce(i.x),t.y=Ce(i.y),t}throw"not supported key object"},oe.getPosArrayOfChildrenFromHex=function(e){return me.getChildIdx(e,0)},oe.getHexValueArrayOfChildrenFromHex=function(e){var t,i=me.getV,r=i(e,(t=oe.getPosArrayOfChildrenFromHex(e))[0]),n=i(e,t[1]),a=i(e,t[2]),s=i(e,t[3]),o=i(e,t[4]),c=i(e,t[5]),l=i(e,t[6]),u=i(e,t[7]),h=i(e,t[8]);return(t=new Array).push(r,n,a,s,o,c,l,u,h),t},oe.prototype.readPrivateKeyFromPEMString=function(e){var t=Te(e),i=oe.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},oe.prototype.readPKCS5PrvKeyHex=function(e){var t=oe.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},oe.prototype.readPKCS8PrvKeyHex=function(e){var t,i,r,n,a,s,o,c,l=me,u=l.getVbyListEx;if(!1===l.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=u(e,0,[2,0,1],"02"),i=u(e,0,[2,0,2],"02"),r=u(e,0,[2,0,3],"02"),n=u(e,0,[2,0,4],"02"),a=u(e,0,[2,0,5],"02"),s=u(e,0,[2,0,6],"02"),o=u(e,0,[2,0,7],"02"),c=u(e,0,[2,0,8],"02")}catch(h){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,i,r,n,a,s,o,c)},oe.prototype.readPKCS5PubKeyHex=function(e){var t=me,i=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var r=t.getChildIdx(e,0);if(2!==r.length||"02"!==e.substr(r[0],2)||"02"!==e.substr(r[1],2))throw new Error("wrong hex for PKCS#5 public key");var n=i(e,r[0]),a=i(e,r[1]);this.setPublic(n,a)},oe.prototype.readPKCS8PubKeyHex=function(e){var t=me;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var i=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(i)},oe.prototype.readCertPubKeyHex=function(e,t){var i,r;(i=new Le).readCertHex(e),r=i.getPublicKeyHex(),this.readPKCS8PubKeyHex(r)};var Me=new RegExp("[^0-9a-f]","gi");function Re(e,t){for(var i="",r=t/4-e.length,n=0;n<r;n++)i+="0";return i+e}function _e(e,t,i){for(var r="",n=0;r.length<t;)r+=Ee(i(ke(e+String.fromCharCode.apply(String,[(4278190080&n)>>24,(16711680&n)>>16,(65280&n)>>8,255&n])))),n+=1;return r}function Ue(e){for(var t in pe.crypto.Util.DIGESTINFOHEAD){var i=pe.crypto.Util.DIGESTINFOHEAD[t],r=i.length;if(e.substring(0,r)==i)return[t,e.substring(r)]}return[]}function Le(){var e,t=me,i=t.getChildIdx,r=t.getV,n=t.getTLV,a=t.getVbyList,s=t.getVbyListEx,o=t.getTLVbyList,c=t.getTLVbyListEx,l=t.getIdxbyList,u=t.getIdxbyListEx,h=t.getVidx,d=t.oidname,p=t.hextooidstr,f=Le,g=Te;try{e=pe.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(m){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==o(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return s(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var e=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(e)},this.getAlgorithmIdentifierName=function(t){for(var i in e)if(t===e[i])return i;return d(s(t,0,[0],"06"))},this.getIssuer=function(){var e={};return e.array=this.getX500Name(this.getIssuerHex()),e.str=this.getIssuerString(),e},this.getIssuerHex=function(){return o(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return f.hex2dn(this.getIssuerHex())},this.getSubject=function(){var e={};return e.array=this.getX500Name(this.getSubjectHex()),e.str=this.getSubjectString(),e},this.getSubjectHex=function(){return o(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return f.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var e=a(this.hex,0,[0,4+this.foffset,0]);return e=e.replace(/(..)/g,"%$1"),decodeURIComponent(e)},this.getNotAfter=function(){var e=a(this.hex,0,[0,4+this.foffset,1]);return e=e.replace(/(..)/g,"%$1"),decodeURIComponent(e)},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return l(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var e=this.getPublicKeyIdx();return l(this.hex,e,[1,0],"30")},this.getPublicKey=function(){return Ne.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var e=o(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(e)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),r=o(this.hex,0,[0],"30"),n=new pe.crypto.Signature({alg:t});return n.init(e),n.updateHex(r),n.verify(i)},this.parseExt=function(e){var n,s,o;if(void 0===e){if(o=this.hex,3!==this.version)return-1;n=l(o,0,[0,7,0],"30"),s=i(o,n)}else{o=Te(e);var c=l(o,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=r(o,c))return void(this.aExtInfo=new Array);n=l(o,0,[0,3,0,1,0],"30"),s=i(o,n),this.hex=o}this.aExtInfo=new Array;for(var u=0;u<s.length;u++){var d={critical:!1},p=0;3===i(o,s[u]).length&&(d.critical=!0,p=1),d.oid=t.hextooidstr(a(o,s[u],[0],"06"));var f=l(o,s[u],[1+p]);d.vidx=h(o,f),this.aExtInfo.push(d)}},this.getExtInfo=function(e){var t=this.aExtInfo,i=e;if(e.match(/^[0-9.]+$/)||(i=pe.asn1.x509.OID.name2oid(e)),""!==i)for(var r=0;r<t.length;r++)if(t[r].oid===i)return t[r]},this.getExtBasicConstraints=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("basicConstraints");if(void 0===i)return;e=n(this.hex,i.vidx),t=i.critical}var a={extname:"basicConstraints"};if(t&&(a.critical=!0),"3000"===e)return a;if("30030101ff"===e)return a.cA=!0,a;if("30060101ff02"===e.substr(0,12)){var s=r(e,10),o=parseInt(s,16);return a.cA=!0,a.pathLen=o,a}throw new Error("hExtV parse error: "+e)},this.getExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("keyUsage");if(void 0===i)return;e=n(this.hex,i.vidx),t=i.critical}var r={extname:"keyUsage"};return t&&(r.critical=!0),r.names=this.getExtKeyUsageString(e).split(","),r},this.getExtKeyUsageBin=function(e){if(void 0===e){var t=this.getExtInfo("keyUsage");if(void 0===t)return"";e=n(this.hex,t.vidx)}if(8!=e.length&&10!=e.length)throw new Error("malformed key usage value: "+e);var i="000000000000000"+parseInt(e.substr(6),16).toString(2);return 8==e.length&&(i=i.slice(-8)),10==e.length&&(i=i.slice(-16)),""==(i=i.replace(/0+$/,""))&&(i="0"),i},this.getExtKeyUsageString=function(e){for(var t=this.getExtKeyUsageBin(e),i=new Array,r=0;r<t.length;r++)"1"==t.substr(r,1)&&i.push(Le.KEYUSAGE_NAME[r]);return i.join(",")},this.getExtSubjectKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectKeyIdentifier");if(void 0===i)return;e=n(this.hex,i.vidx),t=i.critical}var a={extname:"subjectKeyIdentifier"};t&&(a.critical=!0);var s=r(e,0);return a.kid={hex:s},a},this.getExtAuthorityKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var a=this.getExtInfo("authorityKeyIdentifier");if(void 0===a)return;e=n(this.hex,a.vidx),t=a.critical}var s={extname:"authorityKeyIdentifier"};t&&(s.critical=!0);for(var o=i(e,0),c=0;c<o.length;c++){var l=e.substr(o[c],2);if("80"===l&&(s.kid={hex:r(e,o[c])}),"a1"===l){var u=n(e,o[c]),h=this.getGeneralNames(u);s.issuer=h[0].dn}"82"===l&&(s.sn={hex:r(e,o[c])})}return s},this.getExtExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var a=this.getExtInfo("extKeyUsage");if(void 0===a)return;e=n(this.hex,a.vidx),t=a.critical}var s={extname:"extKeyUsage",array:[]};t&&(s.critical=!0);for(var o=i(e,0),c=0;c<o.length;c++)s.array.push(d(r(e,o[c])));return s},this.getExtExtKeyUsageName=function(){var e=this.getExtInfo("extKeyUsage");if(void 0===e)return e;var t=new Array,a=n(this.hex,e.vidx);if(""===a)return t;for(var s=i(a,0),o=0;o<s.length;o++)t.push(d(r(a,s[o])));return t},this.getExtSubjectAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectAltName");if(void 0===i)return;e=n(this.hex,i.vidx),t=i.critical}var r={extname:"subjectAltName",array:[]};return t&&(r.critical=!0),r.array=this.getGeneralNames(e),r},this.getExtIssuerAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("issuerAltName");if(void 0===i)return;e=n(this.hex,i.vidx),t=i.critical}var r={extname:"issuerAltName",array:[]};return t&&(r.critical=!0),r.array=this.getGeneralNames(e),r},this.getGeneralNames=function(e){for(var t=i(e,0),r=[],a=0;a<t.length;a++){var s=this.getGeneralName(n(e,t[a]));void 0!==s&&r.push(s)}return r},this.getGeneralName=function(e){var t=e.substr(0,2),i=r(e,0),n=Ee(i);return"81"==t?{rfc822:n}:"82"==t?{dns:n}:"a4"==t?{dn:{hex:i}}:"86"==t?{uri:n}:"87"==t?{ip:Pe(i)}:void 0},this.getExtSubjectAltName2=function(){var e,t,a,s=this.getExtInfo("subjectAltName");if(void 0===s)return s;for(var o=new Array,c=n(this.hex,s.vidx),l=i(c,0),u=0;u<l.length;u++)a=c.substr(l[u],2),e=r(c,l[u]),"81"===a&&(t=Ae(e),o.push(["MAIL",t])),"82"===a&&(t=Ae(e),o.push(["DNS",t])),"84"===a&&(t=Le.hex2dn(e,0),o.push(["DN",t])),"86"===a&&(t=Ae(e),o.push(["URI",t])),"87"===a&&(t=Pe(e),o.push(["IP",t]));return o},this.getExtCRLDistributionPoints=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("cRLDistributionPoints");if(void 0===r)return;e=n(this.hex,r.vidx),t=r.critical}var a={extname:"cRLDistributionPoints",array:[]};t&&(a.critical=!0);for(var s=i(e,0),o=0;o<s.length;o++){var c=n(e,s[o]);a.array.push(this.getDistributionPoint(c))}return a},this.getDistributionPoint=function(e){for(var t={},r=i(e,0),a=0;a<r.length;a++){var s=e.substr(r[a],2),o=n(e,r[a]);"a0"==s&&(t.dpname=this.getDistributionPointName(o))}return t},this.getDistributionPointName=function(e){for(var t={},r=i(e,0),a=0;a<r.length;a++){var s=e.substr(r[a],2),o=n(e,r[a]);"a0"==s&&(t.full=this.getGeneralNames(o))}return t},this.getExtCRLDistributionPointsURI=function(){var e=this.getExtInfo("cRLDistributionPoints");if(void 0===e)return e;for(var t=new Array,r=i(this.hex,e.vidx),n=0;n<r.length;n++)try{var s=Ae(a(this.hex,r[n],[0,0,0],"86"));t.push(s)}catch(o){}return t},this.getExtAIAInfo=function(){var e=this.getExtInfo("authorityInfoAccess");if(void 0===e)return e;for(var t={ocsp:[],caissuer:[]},r=i(this.hex,e.vidx),n=0;n<r.length;n++){var s=a(this.hex,r[n],[0],"06"),o=a(this.hex,r[n],[1],"86");"2b06010505073001"===s&&t.ocsp.push(Ae(o)),"2b06010505073002"===s&&t.caissuer.push(Ae(o))}return t},this.getExtAuthorityInfoAccess=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("authorityInfoAccess");if(void 0===r)return;e=n(this.hex,r.vidx),t=r.critical}var o={extname:"authorityInfoAccess",array:[]};t&&(o.critical=!0);for(var c=i(e,0),l=0;l<c.length;l++){var u=s(e,c[l],[0],"06"),h=Ae(a(e,c[l],[1],"86"));if("2b06010505073001"==u)o.array.push({ocsp:h});else{if("2b06010505073002"!=u)throw new Error("unknown method: "+u);o.array.push({caissuer:h})}}return o},this.getExtCertificatePolicies=function(e,t){if(void 0===e&&void 0===t){var r=this.getExtInfo("certificatePolicies");if(void 0===r)return;e=n(this.hex,r.vidx),t=r.critical}var a={extname:"certificatePolicies",array:[]};t&&(a.critical=!0);for(var s=i(e,0),o=0;o<s.length;o++){var c=n(e,s[o]),l=this.getPolicyInformation(c);a.array.push(l)}return a},this.getPolicyInformation=function(e){var t={},r=a(e,0,[0],"06");t.policyoid=d(r);var s=u(e,0,[1],"30");if(-1!=s){t.array=[];for(var o=i(e,s),c=0;c<o.length;c++){var l=n(e,o[c]),h=this.getPolicyQualifierInfo(l);t.array.push(h)}}return t},this.getPolicyQualifierInfo=function(e){var t={},i=a(e,0,[0],"06");if("2b06010505070201"===i){var r=s(e,0,[1],"16");t.cps=Ee(r)}else if("2b06010505070202"===i){var n=o(e,0,[1],"30");t.unotice=this.getUserNotice(n)}return t},this.getUserNotice=function(e){for(var t={},r=i(e,0),a=0;a<r.length;a++){var s=n(e,r[a]);"30"!=s.substr(0,2)&&(t.exptext=this.getDisplayText(s))}return t},this.getDisplayText=function(e){var t={};return t.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[e.substr(0,2)],t.str=Ee(r(e,0)),t},this.getExtCRLNumber=function(e,t){var i={extname:"cRLNumber"};if(t&&(i.critical=!0),"02"==e.substr(0,2))return i.num={hex:r(e,0)},i;throw new Error("hExtV parse error: "+e)},this.getExtCRLReason=function(e,t){var i={extname:"cRLReason"};if(t&&(i.critical=!0),"0a"==e.substr(0,2))return i.code=parseInt(r(e,0),16),i;throw new Error("hExtV parse error: "+e)},this.getExtOcspNonce=function(e,t){var i={extname:"ocspNonce"};t&&(i.critical=!0);var n=r(e,0);return i.hex=n,i},this.getExtOcspNoCheck=function(e,t){var i={extname:"ocspNoCheck"};return t&&(i.critical=!0),i},this.getX500NameRule=function(e){for(var t=null,i=[],r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)i.push(n[a]);for(r=0;r<i.length;r++){var s=i[r],o=s.ds,c=s.value,l=s.type;if("prn"!=o&&"utf8"!=o&&"ia5"!=o)return"mixed";if("ia5"==o){if("CN"!=l)return"mixed";if(pe.lang.String.isMail(c))continue;return"mixed"}if("C"==l){if("prn"==o)continue;return"mixed"}if(null==t)t=o;else if(t!==o)return"mixed"}return null==t?"prn":t},this.getX500Name=function(e){for(var t=[],r=i(e,0),a=0;a<r.length;a++)t.push(this.getRDN(n(e,r[a])));return t},this.getRDN=function(e){for(var t=[],r=i(e,0),a=0;a<r.length;a++)t.push(this.getAttrTypeAndValue(n(e,r[a])));return t},this.getAttrTypeAndValue=function(e){var t={type:null,value:null,ds:null},r=i(e,0),n=a(e,r[0],[],"06"),s=a(e,r[1],[]),o=pe.asn1.ASN1Util.oidHexToInt(n);return t.type=pe.asn1.x509.OID.oid2atype(o),t.value=Ee(s),t.ds=this.HEX2STAG[e.substr(r[1],2)],t},this.readCertPEM=function(e){this.readCertHex(g(e))},this.readCertHex=function(e){this.hex=e,this.getVersion();try{l(this.hex,0,[0,7],"a3"),this.parseExt()}catch(t){}},this.getParam=function(){var e={};return e.version=this.getVersion(),e.serial={hex:this.getSerialNumberHex()},e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.notbefore=this.getNotBefore(),e.notafter=this.getNotAfter(),e.subject=this.getSubject(),e.sbjpubkey=Ie(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&-1!=u(this.hex,0,[0,"[3]"])&&(e=c(this.hex,0,[0,"[3]",0],"30"));for(var t=[],r=i(e,0),a=0;a<r.length;a++){var s=n(e,r[a]),o=this.getExtParam(s);null!=o&&t.push(o)}return t},this.getExtParam=function(e){var t=i(e,0).length;if(2!=t&&3!=t)throw new Error("wrong number elements in Extension: "+t+" "+e);var r=p(a(e,0,[0],"06")),n=!1;3==t&&"0101ff"==o(e,0,[1])&&(n=!0);var s=o(e,0,[t-1,0]),c=void 0;if("2.5.29.14"==r?c=this.getExtSubjectKeyIdentifier(s,n):"2.5.29.15"==r?c=this.getExtKeyUsage(s,n):"2.5.29.17"==r?c=this.getExtSubjectAltName(s,n):"2.5.29.18"==r?c=this.getExtIssuerAltName(s,n):"2.5.29.19"==r?c=this.getExtBasicConstraints(s,n):"2.5.29.31"==r?c=this.getExtCRLDistributionPoints(s,n):"2.5.29.32"==r?c=this.getExtCertificatePolicies(s,n):"2.5.29.35"==r?c=this.getExtAuthorityKeyIdentifier(s,n):"2.5.29.37"==r?c=this.getExtExtKeyUsage(s,n):"1.3.6.1.5.5.7.1.1"==r?c=this.getExtAuthorityInfoAccess(s,n):"2.5.29.20"==r?c=this.getExtCRLNumber(s,n):"2.5.29.21"==r?c=this.getExtCRLReason(s,n):"1.3.6.1.5.5.7.48.1.2"==r?c=this.getExtOcspNonce(s,n):"1.3.6.1.5.5.7.48.1.5"==r&&(c=this.getExtOcspNoCheck(s,n)),null!=c)return c;var l={extname:r,extn:s};return n&&(l.critical=!0),l},this.getInfo=function(){var e,t,i,r,n=function(e){for(var t="",i=e.array,r=0;r<i.length;r++){var n=i[r];if(t+=" policy oid: "+n.policyoid+"\n",void 0!==n.array)for(var a=0;a<n.array.length;a++){var s=n.array[a];void 0!==s.cps&&(t+=" cps: "+s.cps+"\n")}}return t},a=function(e){for(var t="",i=e.array,r=0;r<i.length;r++){var n=i[r];try{void 0!==n.dpname.full[0].uri&&(t+=" "+n.dpname.full[0].uri+"\n")}catch(a){}try{void 0!==n.dname.full[0].dn.hex&&(t+=" "+Le.hex2dn(n.dpname.full[0].dn.hex)+"\n")}catch(a){}}return t},s=function(e){for(var t="",i=e.array,r=0;r<i.length;r++){var n=i[r];void 0!==n.caissuer&&(t+=" caissuer: "+n.caissuer+"\n"),void 0!==n.ocsp&&(t+=" ocsp: "+n.ocsp+"\n")}return t};if(e="Basic Fields\n",e+=" serial number: "+this.getSerialNumberHex()+"\n",e+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",e+=" issuer: "+this.getIssuerString()+"\n",e+=" notBefore: "+this.getNotBefore()+"\n",e+=" notAfter: "+this.getNotAfter()+"\n",e+=" subject: "+this.getSubjectString()+"\n",e+=" subject public key info: \n",e+=" key algorithm: "+(t=this.getPublicKey()).type+"\n","RSA"===t.type&&(e+=" n="+Oe(t.n.toString(16)).substr(0,16)+"...\n",e+=" e="+Oe(t.e.toString(16))+"\n"),null!=(i=this.aExtInfo)){e+="X509v3 Extensions:\n";for(var o=0;o<i.length;o++){var c=i[o],l=pe.asn1.x509.OID.oid2name(c.oid);""===l&&(l=c.oid);var u="";if(!0===c.critical&&(u="CRITICAL"),e+=" "+l+" "+u+":\n","basicConstraints"===l){var h=this.getExtBasicConstraints();void 0===h.cA?e+=" {}\n":(e+=" cA=true",void 0!==h.pathLen&&(e+=", pathLen="+h.pathLen),e+="\n")}else if("keyUsage"===l)e+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===l)e+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===l){var d=this.getExtAuthorityKeyIdentifier();void 0!==d.kid&&(e+=" kid="+d.kid.hex+"\n")}else"extKeyUsage"===l?e+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n":"subjectAltName"===l?e+=" "+(r=this.getExtSubjectAltName(),JSON.stringify(r.array).replace(/[\[\]\{\}\"]/g,"")+"\n"):"cRLDistributionPoints"===l?e+=a(this.getExtCRLDistributionPoints()):"authorityInfoAccess"===l?e+=s(this.getExtAuthorityInfoAccess()):"certificatePolicies"===l&&(e+=n(this.getExtCertificatePolicies()))}}return(e+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n")+"signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"}}oe.prototype.sign=function(e,t){var i,r=(i=e,pe.crypto.Util.hashString(i,t));return this.signWithMessageHash(r,t)},oe.prototype.signWithMessageHash=function(e,t){var i=ae(pe.crypto.Util.getPaddedDigestInfoHex(e,t,this.n.bitLength()),16);return Re(this.doPrivate(i).toString(16),this.n.bitLength())},oe.prototype.signPSS=function(e,t,i){var r,n=(r=ke(e),pe.crypto.Util.hashHex(r,t));return void 0===i&&(i=-1),this.signWithMessageHashPSS(n,t,i)},oe.prototype.signWithMessageHashPSS=function(e,t,i){var r,n=Ee(e),a=n.length,s=this.n.bitLength()-1,o=Math.ceil(s/8),c=function(e){return pe.crypto.Util.hashHex(e,t)};if(-1===i||void 0===i)i=a;else if(-2===i)i=o-a-2;else if(i<-2)throw new Error("invalid salt length");if(o<a+i+2)throw new Error("data too long");var l="";i>0&&(l=new Array(i),(new ne).nextBytes(l),l=String.fromCharCode.apply(String,l));var u=Ee(c(ke("\0\0\0\0\0\0\0\0"+n+l))),h=[];for(r=0;r<o-i-a-2;r+=1)h[r]=0;var d=String.fromCharCode.apply(String,h)+""+l,p=_e(u,d.length,c),f=[];for(r=0;r<d.length;r+=1)f[r]=d.charCodeAt(r)^p.charCodeAt(r);var g=65280>>8*o-s&255;for(f[0]&=~g,r=0;r<a;r++)f.push(u.charCodeAt(r));return f.push(188),Re(this.doPrivate(new E(f)).toString(16),this.n.bitLength())},oe.prototype.verify=function(e,t){var i=ae(t=(t=t.replace(Me,"")).replace(/[ \n]+/g,""),16);if(i.bitLength()>this.n.bitLength())return 0;var r=Ue(this.doPublic(i).toString(16).replace(/^1f+00/,""));if(0==r.length)return!1;var n,a=r[0];return r[1]==(n=e,pe.crypto.Util.hashString(n,a))},oe.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=ae(t,16);if(i.bitLength()>this.n.bitLength())return 0;var r=Ue(this.doPublic(i).toString(16).replace(/^1f+00/,""));return 0!=r.length&&(r[0],r[1]==e)},oe.prototype.verifyPSS=function(e,t,i,r){var n,a=(n=ke(e),pe.crypto.Util.hashHex(n,i));return void 0===r&&(r=-1),this.verifyWithMessageHashPSS(a,t,i,r)},oe.prototype.verifyWithMessageHashPSS=function(e,t,i,r){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var n,a=new E(t,16),s=function(e){return pe.crypto.Util.hashHex(e,i)},o=Ee(e),c=o.length,l=this.n.bitLength()-1,u=Math.ceil(l/8);if(-1===r||void 0===r)r=c;else if(-2===r)r=u-c-2;else if(r<-2)throw new Error("invalid salt length");if(u<c+r+2)throw new Error("data too long");var h=this.doPublic(a).toByteArray();for(n=0;n<h.length;n+=1)h[n]&=255;for(;h.length<u;)h.unshift(0);if(188!==h[u-1])throw new Error("encoded message does not end in 0xbc");var d=(h=String.fromCharCode.apply(String,h)).substr(0,u-c-1),p=h.substr(d.length,c),f=65280>>8*u-l&255;if(d.charCodeAt(0)&f)throw new Error("bits beyond keysize not zero");var g=_e(p,d.length,s),m=[];for(n=0;n<d.length;n+=1)m[n]=d.charCodeAt(n)^g.charCodeAt(n);m[0]&=~f;var b=u-c-r-2;for(n=0;n<b;n+=1)if(0!==m[n])throw new Error("leftmost octets not zero");if(1!==m[b])throw new Error("0x01 marker not found");return p===Ee(s(ke("\0\0\0\0\0\0\0\0"+o+String.fromCharCode.apply(String,m.slice(-r)))))},oe.SALT_LEN_HLEN=-1,oe.SALT_LEN_MAX=-2,oe.SALT_LEN_RECOVER=-2,Le.hex2dn=function(e,t){if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed DN");for(var i=new Array,r=me.getChildIdx(e,t),n=0;n<r.length;n++)i.push(Le.hex2rdn(e,r[n]));return"/"+(i=i.map(function(e){return e.replace("/","\\/")})).join("/")},Le.hex2rdn=function(e,t){if(void 0===t&&(t=0),"31"!==e.substr(t,2))throw new Error("malformed RDN");for(var i=new Array,r=me.getChildIdx(e,t),n=0;n<r.length;n++)i.push(Le.hex2attrTypeValue(e,r[n]));return(i=i.map(function(e){return e.replace("+","\\+")})).join("+")},Le.hex2attrTypeValue=function(e,t){var i=me,r=i.getV;if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed attribute type and value");var n=i.getChildIdx(e,t);2!==n.length||e.substr(n[0],2);var a=r(e,n[0]),s=pe.asn1.ASN1Util.oidHexToInt(a);return pe.asn1.x509.OID.oid2atype(s)+"="+Ee(r(e,n[1]))},Le.getPublicKeyFromCertHex=function(e){var t=new Le;return t.readCertHex(e),t.getPublicKey()},Le.getPublicKeyFromCertPEM=function(e){var t=new Le;return t.readCertPEM(e),t.getPublicKey()},Le.getPublicKeyInfoPropOfCertPEM=function(e){var t,i,r=me.getVbyList,n={algparam:null};return(t=new Le).readCertPEM(e),i=t.getPublicKeyHex(),n.keyhex=r(i,0,[1],"03").substr(2),n.algoid=r(i,0,[0,0],"06"),"2a8648ce3d0201"===n.algoid&&(n.algparam=r(i,0,[0,1],"06")),n},Le.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"],void 0!==pe&&pe||(pe={}),void 0!==pe.jws&&pe.jws||(pe.jws={}),pe.jws.JWS=function(){var e=pe.jws.JWS.isSafeJSONString;this.parseJWS=function(t,i){if(void 0===this.parsedJWS||!i&&void 0===this.parsedJWS.sigvalH){var r=t.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(null==r)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var n=r[1],a=r[2],s=r[3],o=n+"."+a;if(this.parsedJWS={},this.parsedJWS.headB64U=n,this.parsedJWS.payloadB64U=a,this.parsedJWS.sigvalB64U=s,this.parsedJWS.si=o,!i){var c=xe(s),l=ae(c,16);this.parsedJWS.sigvalH=c,this.parsedJWS.sigvalBI=l}var u=ge(n),h=ge(a);if(this.parsedJWS.headS=u,this.parsedJWS.payloadS=h,!e(u,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+u}}},pe.jws.JWS.sign=function(e,t,i,r,n){var a,s,o,c=pe,l=c.jws.JWS,u=l.readSafeJSONString,h=l.isSafeJSONString,d=c.crypto,p=(d.ECDSA,d.Mac),f=d.Signature,g=JSON;if("string"!=typeof t&&"object"!=typeof t)throw"spHeader must be JSON string or object: "+t;if("object"==typeof t&&(s=t,a=g.stringify(s)),"string"==typeof t){if(!h(a=t))throw"JWS Head is not safe JSON string: "+a;s=u(a)}if(o=i,"object"==typeof i&&(o=g.stringify(i)),""!=e&&null!=e||void 0===s.alg||(e=s.alg),""!=e&&null!=e&&void 0===s.alg&&(s.alg=e,a=g.stringify(s)),e!==s.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+s.alg;var m=null;if(void 0===l.jwsalg2sigalg[e])throw"unsupported alg name: "+e;m=l.jwsalg2sigalg[e];var b=fe(a)+"."+fe(o),y="";if("Hmac"==m.substr(0,4)){if(void 0===r)throw"mac key shall be specified for HS* alg";var v=new p({alg:m,prov:"cryptojs",pass:r});v.updateString(b),y=v.doFinal()}else if(-1!=m.indexOf("withECDSA")){(C=new f({alg:m})).init(r,n),C.updateString(b);var S=C.sign();y=pe.crypto.ECDSA.asn1SigToConcatSig(S)}else{var C;"none"!=m&&((C=new f({alg:m})).init(r,n),C.updateString(b),y=C.sign())}return b+"."+Ce(y)},pe.jws.JWS.verify=function(e,t,i){var r,n=pe,a=n.jws.JWS,s=a.readSafeJSONString,o=n.crypto,c=o.ECDSA,l=o.Mac,u=o.Signature;r=oe;var h=e.split(".");if(3!==h.length)return!1;var d,p=h[0]+"."+h[1],f=xe(h[2]),g=s(ge(h[0])),m=null;if(void 0===g.alg)throw"algorithm not specified in header";if(d=(m=g.alg).substr(0,2),null!=i&&"[object Array]"===Object.prototype.toString.call(i)&&i.length>0&&-1==(":"+i.join(":")+":").indexOf(":"+m+":"))throw"algorithm '"+m+"' not accepted in the list";if("none"!=m&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=Ne.getKey(t)),!("RS"!=d&&"PS"!=d||t instanceof r))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==d&&!(t instanceof c))throw"key shall be a ECDSA obj for ES* algs";var b=null;if(void 0===a.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+m;if("none"==(b=a.jwsalg2sigalg[m]))throw"not supported";if("Hmac"==b.substr(0,4)){if(void 0===t)throw"hexadecimal key shall be specified for HMAC";var y=new l({alg:b,pass:t});return y.updateString(p),f==y.doFinal()}if(-1!=b.indexOf("withECDSA")){var v,S=null;try{S=c.concatSigToASN1Sig(f)}catch(C){return!1}return(v=new u({alg:b})).init(t),v.updateString(p),v.verify(S)}return(v=new u({alg:b})).init(t),v.updateString(p),v.verify(f)},pe.jws.JWS.parse=function(e){var t,i,r,n=e.split("."),a={};if(2!=n.length&&3!=n.length)throw"malformed sJWS: wrong number of '.' splitted elements";return t=n[0],i=n[1],3==n.length&&(r=n[2]),a.headerObj=pe.jws.JWS.readSafeJSONString(ge(t)),a.payloadObj=pe.jws.JWS.readSafeJSONString(ge(i)),a.headerPP=JSON.stringify(a.headerObj,null," "),null==a.payloadObj?a.payloadPP=ge(i):a.payloadPP=JSON.stringify(a.payloadObj,null," "),void 0!==r&&(a.sigHex=xe(r)),a},pe.jws.JWS.verifyJWT=function(e,t,i){var r=pe.jws,n=r.JWS,a=n.readSafeJSONString,s=n.inArray,o=n.includedArray,c=e.split("."),l=c[0],u=c[1],h=(xe(c[2]),a(ge(l))),d=a(ge(u));if(void 0===h.alg)return!1;if(void 0===i.alg)throw"acceptField.alg shall be specified";if(!s(h.alg,i.alg))return!1;if(void 0!==d.iss&&"object"==typeof i.iss&&!s(d.iss,i.iss))return!1;if(void 0!==d.sub&&"object"==typeof i.sub&&!s(d.sub,i.sub))return!1;if(void 0!==d.aud&&"object"==typeof i.aud)if("string"==typeof d.aud){if(!s(d.aud,i.aud))return!1}else if("object"==typeof d.aud&&!o(d.aud,i.aud))return!1;var p=r.IntDate.getNow();return void 0!==i.verifyAt&&"number"==typeof i.verifyAt&&(p=i.verifyAt),void 0!==i.gracePeriod&&"number"==typeof i.gracePeriod||(i.gracePeriod=0),!(void 0!==d.exp&&"number"==typeof d.exp&&d.exp+i.gracePeriod<p||void 0!==d.nbf&&"number"==typeof d.nbf&&p<d.nbf-i.gracePeriod||void 0!==d.iat&&"number"==typeof d.iat&&p<d.iat-i.gracePeriod||void 0!==d.jti&&void 0!==i.jti&&d.jti!==i.jti||!n.verify(e,t,i.alg))},pe.jws.JWS.includedArray=function(e,t){var i=pe.jws.JWS.inArray;if(null===e)return!1;if("object"!=typeof e)return!1;if("number"!=typeof e.length)return!1;for(var r=0;r<e.length;r++)if(!i(e[r],t))return!1;return!0},pe.jws.JWS.inArray=function(e,t){if(null===t)return!1;if("object"!=typeof t)return!1;if("number"!=typeof t.length)return!1;for(var i=0;i<t.length;i++)if(t[i]==e)return!0;return!1},pe.jws.JWS.jwsalg2sigalg={HS256:"HmacSHA256",HS384:"HmacSHA384",HS512:"HmacSHA512",RS256:"SHA256withRSA",RS384:"SHA384withRSA",RS512:"SHA512withRSA",ES256:"SHA256withECDSA",ES384:"SHA384withECDSA",PS256:"SHA256withRSAandMGF1",PS384:"SHA384withRSAandMGF1",PS512:"SHA512withRSAandMGF1",none:"none"},pe.jws.JWS.isSafeJSONString=function(e,t,i){var r=null;try{return"object"!=typeof(r=de(e))||r.constructor===Array?0:(t&&(t[i]=r),1)}catch(n){return 0}},pe.jws.JWS.readSafeJSONString=function(e){var t=null;try{return"object"!=typeof(t=de(e))||t.constructor===Array?null:t}catch(i){return null}},pe.jws.JWS.getEncodedSignatureValueFromJWS=function(e){var t=e.match(/^[^.]+\.[^.]+\.([^.]+)$/);if(null==t)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";return t[1]},pe.jws.JWS.getJWKthumbprint=function(e){if("RSA"!==e.kty&&"EC"!==e.kty&&"oct"!==e.kty)throw"unsupported algorithm for JWK Thumprint";var t="{";if("RSA"===e.kty){if("string"!=typeof e.n||"string"!=typeof e.e)throw"wrong n and e value for RSA key";t+='"e":"'+e.e+'",',t+='"kty":"'+e.kty+'",',t+='"n":"'+e.n+'"}'}else if("EC"===e.kty){if("string"!=typeof e.crv||"string"!=typeof e.x||"string"!=typeof e.y)throw"wrong crv, x and y value for EC key";t+='"crv":"'+e.crv+'",',t+='"kty":"'+e.kty+'",',t+='"x":"'+e.x+'",',t+='"y":"'+e.y+'"}'}else if("oct"===e.kty){if("string"!=typeof e.k)throw"wrong k value for oct(symmetric) key";t+='"kty":"'+e.kty+'",',t+='"k":"'+e.k+'"}'}var i=ke(t);return Ce(pe.crypto.Util.hashHex(i,"sha256"))},pe.jws.IntDate={},pe.jws.IntDate.get=function(e){var t=pe.jws.IntDate,i=t.getNow,r=t.getZulu;if("now"==e)return i();if("now + 1hour"==e)return i()+3600;if("now + 1day"==e)return i()+86400;if("now + 1month"==e)return i()+2592e3;if("now + 1year"==e)return i()+31536e3;if(e.match(/Z$/))return r(e);if(e.match(/^[0-9]+$/))return parseInt(e);throw"unsupported format: "+e},pe.jws.IntDate.getZulu=function(e){return function(e){return~~(function(e){var t,i,r,n,a,s,o,c,l,u,h;if(h=e.match(/^(\d{2}|\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(|\.\d+)Z$/))return c=h[1],t=parseInt(c),2===c.length&&(50<=t&&t<100?t=1900+t:0<=t&&t<50&&(t=2e3+t)),i=parseInt(h[2])-1,r=parseInt(h[3]),n=parseInt(h[4]),a=parseInt(h[5]),s=parseInt(h[6]),o=0,""!==(l=h[7])&&(u=(l.substr(1)+"00").substr(0,3),o=parseInt(u)),Date.UTC(t,i,r,n,a,s,o);throw"unsupported zulu format: "+e}(e)/1e3)}(e)},pe.jws.IntDate.getNow=function(){return~~(new Date/1e3)},pe.jws.IntDate.intDate2UTCString=function(e){return new Date(1e3*e).toUTCString()},pe.jws.IntDate.intDate2Zulu=function(e){var t=new Date(1e3*e);return("0000"+t.getUTCFullYear()).slice(-4)+("00"+(t.getUTCMonth()+1)).slice(-2)+("00"+t.getUTCDate()).slice(-2)+("00"+t.getUTCHours()).slice(-2)+("00"+t.getUTCMinutes()).slice(-2)+("00"+t.getUTCSeconds()).slice(-2)+"Z"},void 0!==pe&&pe||(pe={}),void 0!==pe.jws&&pe.jws||(pe.jws={}),pe.jws.JWSJS=function(){var e=pe.jws.JWS,t=e.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(e){this.init();var t=e.split(".");if(3!=t.length)throw"malformed input JWS";this.aHeader.push(t[0]),this.sPayload=t[1],this.aSignature.push(t[2])},this.addSignature=function(e,t,i,r){if(void 0===this.sPayload||null===this.sPayload)throw"there's no JSON-JS signature to add.";var n=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var a=pe.jws.JWS.sign(e,t,this.sPayload,i,r).split(".");a[0],a[2],this.aHeader.push(a[0]),this.aSignature.push(a[2])}catch(s){throw this.aHeader.length>n&&this.aHeader.pop(),this.aSignature.length>n&&this.aSignature.pop(),"addSignature failed: "+s}},this.verifyAll=function(e){if(this.aHeader.length!==e.length||this.aSignature.length!==e.length)return!1;for(var t=0;t<e.length;t++){var i=e[t];if(2!==i.length)return!1;if(!1===this.verifyNth(t,i[0],i[1]))return!1}return!0},this.verifyNth=function(t,i,r){if(this.aHeader.length<=t||this.aSignature.length<=t)return!1;var n=this.aHeader[t],a=this.aSignature[t],s=n+"."+this.sPayload+"."+a,o=!1;try{o=e.verify(s,i,r)}catch(c){return!1}return o},this.readJWSJS=function(e){if("string"==typeof e){var i=t(e);if(null==i)throw"argument is not safe JSON object string";this.aHeader=i.headers,this.sPayload=i.payload,this.aSignature=i.signatures}else try{if(!(e.headers.length>0))throw"malformed header";if(this.aHeader=e.headers,"string"!=typeof e.payload)throw"malformed signatures";if(this.sPayload=e.payload,!(e.signatures.length>0))throw"malformed signatures";this.aSignature=e.signatures}catch(r){throw"malformed JWS-JS JSON object: "+r}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return 0==this.aHeader.length?1:0}},pe.crypto.ECDSA,pe.crypto.DSA,pe.crypto.Signature,pe.crypto.MessageDigest,pe.crypto.Mac,pe.crypto.Cipher,t.pj=pe,pe.crypto,pe.asn1,pe.jws,pe.lang},9:e=>{var t={};function i(){try{return new window.XMLHttpRequest}catch(e){}}t._getBinaryFromXHR=function(e){return e.response||e.responseText};var r="undefined"!=typeof window&&window.ActiveXObject?function(){return i()||function(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}()}:i;t.getBinaryContent=function(e,i){var n,a,s,o;i||(i={}),"function"==typeof i?(o=i,i={}):"function"==typeof i.callback&&(o=i.callback),o||"undefined"==typeof Promise?(a=function(e){o(null,e)},s=function(e){o(e,null)}):n=new Promise(function(e,t){a=e,s=t});try{var c=r();c.open("GET",e,!0),"responseType"in c&&(c.responseType="arraybuffer"),c.overrideMimeType&&c.overrideMimeType("text/plain; charset=x-user-defined"),c.onreadystatechange=function(i){if(4===c.readyState)if(200===c.status||0===c.status)try{a(t._getBinaryFromXHR(c))}catch(r){s(new Error(r))}else s(new Error("Ajax error for "+e+" : "+this.status+" "+this.statusText))},i.progress&&(c.onprogress=function(t){i.progress({path:e,originalEvent:t,percent:t.loaded/t.total*100,loaded:t.loaded,total:t.total})}),c.send()}catch(l){s(new Error(l),null)}return n},e.exports=t},710:(e,t,i)=>{e.exports=function e(t,i,r){function n(s,o){if(!i[s]){if(!t[s]){if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=i[s]={exports:{}};t[s][0].call(l.exports,function(e){return n(t[s][1][e]||e)},l,l.exports,e,t,i,r)}return i[s].exports}for(var a=void 0,s=0;s<r.length;s++)n(r[s]);return n}({1:[function(e,t,i){var r=e("./utils"),n=e("./support"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(e){for(var t,i,n,s,o,c,l,u=[],h=0,d=e.length,p=d,f="string"!==r.getTypeOf(e);h<e.length;)p=d-h,n=f?(t=e[h++],i=h<d?e[h++]:0,h<d?e[h++]:0):(t=e.charCodeAt(h++),i=h<d?e.charCodeAt(h++):0,h<d?e.charCodeAt(h++):0),s=t>>2,o=(3&t)<<4|i>>4,c=1<p?(15&i)<<2|n>>6:64,l=2<p?63&n:64,u.push(a.charAt(s)+a.charAt(o)+a.charAt(c)+a.charAt(l));return u.join("")},i.decode=function(e){var t,i,r,s,o,c,l=0,u=0;if("data:"===e.substr(0,5))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===a.charAt(64)&&d--,e.charAt(e.length-2)===a.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=n.uint8array?new Uint8Array(0|d):new Array(0|d);l<e.length;)t=a.indexOf(e.charAt(l++))<<2|(s=a.indexOf(e.charAt(l++)))>>4,i=(15&s)<<4|(o=a.indexOf(e.charAt(l++)))>>2,r=(3&o)<<6|(c=a.indexOf(e.charAt(l++))),h[u++]=t,64!==o&&(h[u++]=i),64!==c&&(h[u++]=r);return h}},{"./support":30,"./utils":32}],2:[function(e,t,i){var r=e("./external"),n=e("./stream/DataWorker"),a=e("./stream/Crc32Probe"),s=e("./stream/DataLengthProbe");function o(e,t,i,r,n){this.compressedSize=e,this.uncompressedSize=t,this.crc32=i,this.compression=r,this.compressedContent=n}o.prototype={getContentWorker:function(){var e=new n(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new n(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,i){return e.pipe(new a).pipe(new s("uncompressedSize")).pipe(t.compressWorker(i)).pipe(new s("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,i){var r=e("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},i.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,i){var r=e("./utils"),n=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==r.getTypeOf(e)?function(e,t,i){var r=n,a=0+i;e^=-1;for(var s=0;s<a;s++)e=e>>>8^r[255&(e^t[s])];return~e}(0|t,e,e.length):function(e,t,i){var r=n,a=0+i;e^=-1;for(var s=0;s<a;s++)e=e>>>8^r[255&(e^t.charCodeAt(s))];return~e}(0|t,e,e.length):0}},{"./utils":32}],5:[function(e,t,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(e,t,i){var r;r="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:r}},{lie:37}],7:[function(e,t,i){var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=e("pako"),a=e("./utils"),s=e("./stream/GenericWorker"),o=r?"uint8array":"array";function c(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}i.magic="\b\0",a.inherits(c,s),c.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(a.transformTo(o,e.data),!1)},c.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},i.compressWorker=function(e){return new c("Deflate",e)},i.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,i){function r(e,t){var i,r="";for(i=0;i<t;i++)r+=String.fromCharCode(255&e),e>>>=8;return r}function n(e,t,i,n,s,u){var h,d,p=e.file,f=e.compression,g=u!==o.utf8encode,m=a.transformTo("string",u(p.name)),b=a.transformTo("string",o.utf8encode(p.name)),y=p.comment,v=a.transformTo("string",u(y)),S=a.transformTo("string",o.utf8encode(y)),C=b.length!==p.name.length,x=S.length!==y.length,w="",A="",E="",k=p.dir,I=p.date,T={crc32:0,compressedSize:0,uncompressedSize:0};t&&!i||(T.crc32=e.crc32,T.compressedSize=e.compressedSize,T.uncompressedSize=e.uncompressedSize);var D=0;t&&(D|=8),g||!C&&!x||(D|=2048);var F,P,B,O=0,N=0;k&&(O|=16),"UNIX"===s?(N=798,O|=(F=p.unixPermissions,P=k,B=F,F||(B=P?16893:33204),(65535&B)<<16)):(N=20,O|=function(e){return 63&(e||0)}(p.dosPermissions)),h=I.getUTCHours(),h<<=6,h|=I.getUTCMinutes(),h<<=5,h|=I.getUTCSeconds()/2,d=I.getUTCFullYear()-1980,d<<=4,d|=I.getUTCMonth()+1,d<<=5,d|=I.getUTCDate(),C&&(A=r(1,1)+r(c(m),4)+b,w+="up"+r(A.length,2)+A),x&&(E=r(1,1)+r(c(v),4)+S,w+="uc"+r(E.length,2)+E);var M="";return M+="\n\0",M+=r(D,2),M+=f.magic,M+=r(h,2),M+=r(d,2),M+=r(T.crc32,4),M+=r(T.compressedSize,4),M+=r(T.uncompressedSize,4),M+=r(m.length,2),M+=r(w.length,2),{fileRecord:l.LOCAL_FILE_HEADER+M+m+w,dirRecord:l.CENTRAL_FILE_HEADER+r(N,2)+M+r(v.length,2)+"\0\0\0\0"+r(O,4)+r(n,4)+m+w+v}}var a=e("../utils"),s=e("../stream/GenericWorker"),o=e("../utf8"),c=e("../crc32"),l=e("../signature");function u(e,t,i,r){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=i,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(u,s),u.prototype.push=function(e){var t=e.meta.percent||0,i=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:i?(t+100*(i-r-1))/i:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var i=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:i.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t,i=this.streamFiles&&!e.file.dir,a=n(e,i,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(a.dirRecord),i)this.push({data:(t=e,l.DATA_DESCRIPTOR+r(t.crc32,4)+r(t.compressedSize,4)+r(t.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:a.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var i,n,s,o,c,u,h=this.bytesWritten-e,d=(i=this.dirRecords.length,n=h,s=e,o=this.zipComment,c=this.encodeFileName,u=a.transformTo("string",c(o)),l.CENTRAL_DIRECTORY_END+"\0\0\0\0"+r(i,2)+r(i,2)+r(n,4)+r(s,4)+r(u.length,2)+u);this.push({data:d,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},u.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var i=0;i<t.length;i++)try{t[i].error(e)}catch(r){}return!0},u.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,i){var r=e("../compressions"),n=e("./ZipFileWorker");i.generateWorker=function(e,t,i){var a=new n(t.streamFiles,i,t.platform,t.encodeFileName),s=0;try{e.forEach(function(e,i){s++;var n=function(e,t){var i=e||t,n=r[i];if(!n)throw new Error(i+" is not a valid compression method !");return n}(i.options.compression,t.compression),o=i.options.compressionOptions||t.compressionOptions||{},c=i.dir,l=i.date;i._compressWorker(n,o).withStreamInfo("file",{name:e,dir:c,date:l,comment:i.comment||"",unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions}).pipe(a)}),a.entriesCount=s}catch(o){a.error(o)}return a}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,i){function r(){if(!(this instanceof r))return new r;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new r;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(r.prototype=e("./object")).loadAsync=e("./load"),r.support=e("./support"),r.defaults=e("./defaults"),r.version="3.10.1",r.loadAsync=function(e,t){return(new r).loadAsync(e,t)},r.external=e("./external"),t.exports=r},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,i){var r=e("./utils"),n=e("./external"),a=e("./utf8"),s=e("./zipEntries"),o=e("./stream/Crc32Probe"),c=e("./nodejsUtils");function l(e){return new n.Promise(function(t,i){var r=e.decompressed.getContentWorker().pipe(new o);r.on("error",function(e){i(e)}).on("end",function(){r.streamInfo.crc32!==e.decompressed.crc32?i(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}t.exports=function(e,t){var i=this;return t=r.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),c.isNode&&c.isStream(e)?n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):r.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var i=new s(t);return i.load(e),i}).then(function(e){var i=[n.Promise.resolve(e)],r=e.files;if(t.checkCRC32)for(var a=0;a<r.length;a++)i.push(l(r[a]));return n.Promise.all(i)}).then(function(e){for(var n=e.shift(),a=n.files,s=0;s<a.length;s++){var o=a[s],c=o.fileNameStr,l=r.resolve(o.fileNameStr);i.file(l,o.decompressed,{binary:!0,optimizedBinaryString:!0,date:o.date,dir:o.dir,comment:o.fileCommentStr.length?o.fileCommentStr:null,unixPermissions:o.unixPermissions,dosPermissions:o.dosPermissions,createFolders:t.createFolders}),o.dir||(i.file(l).unsafeOriginalName=c)}return n.zipComment.length&&(i.comment=n.zipComment),i})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,i){var r=e("../utils"),n=e("../stream/GenericWorker");function a(e,t){n.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}r.inherits(a,n),a.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},a.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},a.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=a},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,i){var r=e("readable-stream").Readable;function n(e,t,i){r.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),i&&i(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,r),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,i){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,i){function r(e,t,i){var r,n=a.getTypeOf(t),o=a.extend(i||{},c);o.date=o.date||new Date,null!==o.compression&&(o.compression=o.compression.toUpperCase()),"string"==typeof o.unixPermissions&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&16384&o.unixPermissions&&(o.dir=!0),o.dosPermissions&&16&o.dosPermissions&&(o.dir=!0),o.dir&&(e=g(e)),o.createFolders&&(r=f(e))&&m.call(this,r,!0);var h,b="string"===n&&!1===o.binary&&!1===o.base64;i&&void 0!==i.binary||(o.binary=!b),(t instanceof l&&0===t.uncompressedSize||o.dir||!t||0===t.length)&&(o.base64=!1,o.binary=!0,t="",o.compression="STORE",n="string"),h=t instanceof l||t instanceof s?t:d.isNode&&d.isStream(t)?new p(e,t):a.prepareContent(e,t,o.binary,o.optimizedBinaryString,o.base64);var y=new u(e,h,o);this.files[e]=y}var n=e("./utf8"),a=e("./utils"),s=e("./stream/GenericWorker"),o=e("./stream/StreamHelper"),c=e("./defaults"),l=e("./compressedObject"),u=e("./zipObject"),h=e("./generate"),d=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),f=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:c.createFolders,e=g(e),this.files[e]||r.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function b(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,i,r;for(t in this.files)r=this.files[t],(i=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(i,r)},filter:function(e){var t=[];return this.forEach(function(i,r){e(i,r)&&t.push(r)}),t},file:function(e,t,i){if(1!==arguments.length)return e=this.root+e,r.call(this,e,t,i),this;if(b(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var a=this.files[this.root+e];return a&&!a.dir?a:null},folder:function(e){if(!e)return this;if(b(e))return this.filter(function(t,i){return i.dir&&e.test(t)});var t=this.root+e,i=m.call(this,t),r=this.clone();return r.root=i.name,r},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var i=this.filter(function(t,i){return i.name.slice(0,e.length)===e}),r=0;r<i.length;r++)delete this.files[i[r].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,i={};try{if((i=a.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=i.type.toLowerCase(),i.compression=i.compression.toUpperCase(),"binarystring"===i.type&&(i.type="string"),!i.type)throw new Error("No output type specified.");a.checkSupport(i.type),"darwin"!==i.platform&&"freebsd"!==i.platform&&"linux"!==i.platform&&"sunos"!==i.platform||(i.platform="UNIX"),"win32"===i.platform&&(i.platform="DOS");var r=i.comment||this.comment||"";t=h.generateWorker(this,i,r)}catch(c){(t=new s("error")).error(c)}return new o(t,i.type||"string",i.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=y},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,i){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,i){var r=e("./DataReader");function n(e){r.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(n,r),n.prototype.byteAt=function(e){return this.data[this.zero+e]},n.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),i=e.charCodeAt(1),r=e.charCodeAt(2),n=e.charCodeAt(3),a=this.length-4;0<=a;--a)if(this.data[a]===t&&this.data[a+1]===i&&this.data[a+2]===r&&this.data[a+3]===n)return a-this.zero;return-1},n.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),i=e.charCodeAt(1),r=e.charCodeAt(2),n=e.charCodeAt(3),a=this.readData(4);return t===a[0]&&i===a[1]&&r===a[2]&&n===a[3]},n.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./DataReader":18}],18:[function(e,t,i){var r=e("../utils");function n(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,i=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)i=(i<<8)+this.byteAt(t);return this.index+=e,i},readString:function(e){return r.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=n},{"../utils":32}],19:[function(e,t,i){var r=e("./Uint8ArrayReader");function n(e){r.call(this,e)}e("../utils").inherits(n,r),n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,i){var r=e("./DataReader");function n(e){r.call(this,e)}e("../utils").inherits(n,r),n.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},n.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},n.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./DataReader":18}],21:[function(e,t,i){var r=e("./ArrayReader");function n(e){r.call(this,e)}e("../utils").inherits(n,r),n.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,i){var r=e("../utils"),n=e("../support"),a=e("./ArrayReader"),s=e("./StringReader"),o=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");t.exports=function(e){var t=r.getTypeOf(e);return r.checkSupport(t),"string"!==t||n.uint8array?"nodebuffer"===t?new o(e):n.uint8array?new c(r.transformTo("uint8array",e)):new a(r.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,i){var r=e("./GenericWorker"),n=e("../utils");function a(e){r.call(this,"ConvertWorker to "+e),this.destType=e}n.inherits(a,r),a.prototype.processChunk=function(e){this.push({data:n.transformTo(this.destType,e.data),meta:e.meta})},t.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,i){var r=e("./GenericWorker"),n=e("../crc32");function a(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(a,r),a.prototype.processChunk=function(e){this.streamInfo.crc32=n(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,i){var r=e("../utils"),n=e("./GenericWorker");function a(e){n.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}r.inherits(a,n),a.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}n.prototype.processChunk.call(this,e)},t.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,i){var r=e("../utils"),n=e("./GenericWorker");function a(e){n.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=r.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}r.inherits(a,n),a.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=a},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,i){function r(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var i=0;i<this._listeners[e].length;i++)this._listeners[e][i].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=r},{}],29:[function(e,t,i){var r=e("../utils"),n=e("./ConvertWorker"),a=e("./GenericWorker"),s=e("../base64"),o=e("../support"),c=e("../external"),l=null;if(o.nodestream)try{l=e("../nodejs/NodejsStreamOutputAdapter")}catch(h){}function u(e,t,i){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=i,r.checkSupport(s),this._worker=e.pipe(new n(s)),e.lock()}catch(o){this._worker=new a("error"),this._worker.error(o)}}u.prototype={accumulate:function(e){return t=this,i=e,new c.Promise(function(e,n){var a=[],o=t._internalType,c=t._outputType,l=t._mimeType;t.on("data",function(e,t){a.push(e),i&&i(t)}).on("error",function(e){a=[],n(e)}).on("end",function(){try{var t=function(e,t,i){switch(e){case"blob":return r.newBlob(r.transformTo("arraybuffer",t),i);case"base64":return s.encode(t);default:return r.transformTo(e,t)}}(c,function(e,t){var i,r=0,n=null,a=0;for(i=0;i<t.length;i++)a+=t[i].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(n=new Uint8Array(a),i=0;i<t.length;i++)n.set(t[i],r),r+=t[i].length;return n;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(o,a),l);e(t)}catch(i){n(i)}a=[]}).resume()});var t,i},on:function(e,t){var i=this;return"data"===e?this._worker.on(e,function(e){t.call(i,e.data,e.meta)}):this._worker.on(e,function(){r.delay(t,arguments,i)}),this},resume:function(){return r.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(r.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new l(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=u},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,i.nodebuffer="undefined"!=typeof Buffer,i.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)i.blob=!1;else{var r=new ArrayBuffer(0);try{i.blob=0===new Blob([r],{type:"application/zip"}).size}catch(a){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(r),i.blob=0===n.getBlob("application/zip").size}catch(s){i.blob=!1}}}try{i.nodestream=!!e("readable-stream").Readable}catch(a){i.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,i){for(var r=e("./utils"),n=e("./support"),a=e("./nodejsUtils"),s=e("./stream/GenericWorker"),o=new Array(256),c=0;c<256;c++)o[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;function l(){s.call(this,"utf-8 decode"),this.leftOver=null}function u(){s.call(this,"utf-8 encode")}o[254]=o[254]=1,i.utf8encode=function(e){return n.nodebuffer?a.newBufferFrom(e,"utf-8"):function(e){var t,i,r,a,s,o=e.length,c=0;for(a=0;a<o;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),c+=i<128?1:i<2048?2:i<65536?3:4;for(t=n.uint8array?new Uint8Array(c):new Array(c),a=s=0;s<c;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),i<128?t[s++]=i:(i<2048?t[s++]=192|i>>>6:(i<65536?t[s++]=224|i>>>12:(t[s++]=240|i>>>18,t[s++]=128|i>>>12&63),t[s++]=128|i>>>6&63),t[s++]=128|63&i);return t}(e)},i.utf8decode=function(e){return n.nodebuffer?r.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,i,n,a,s=e.length,c=new Array(2*s);for(t=i=0;t<s;)if((n=e[t++])<128)c[i++]=n;else if(4<(a=o[n]))c[i++]=65533,t+=a-1;else{for(n&=2===a?31:3===a?15:7;1<a&&t<s;)n=n<<6|63&e[t++],a--;1<a?c[i++]=65533:n<65536?c[i++]=n:(n-=65536,c[i++]=55296|n>>10&1023,c[i++]=56320|1023&n)}return c.length!==i&&(c.subarray?c=c.subarray(0,i):c.length=i),r.applyFromCharCode(c)}(e=r.transformTo(n.uint8array?"uint8array":"array",e))},r.inherits(l,s),l.prototype.processChunk=function(e){var t=r.transformTo(n.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(n.uint8array){var a=t;(t=new Uint8Array(a.length+this.leftOver.length)).set(this.leftOver,0),t.set(a,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0||0===i?t:i+o[e[i]]>t?i:t}(t),c=t;s!==t.length&&(n.uint8array?(c=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(c=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:i.utf8decode(c),meta:e.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=l,r.inherits(u,s),u.prototype.processChunk=function(e){this.push({data:i.utf8encode(e.data),meta:e.meta})},i.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,i){var r=e("./support"),n=e("./base64"),a=e("./nodejsUtils"),s=e("./external");function o(e){return e}function c(e,t){for(var i=0;i<e.length;++i)t[i]=255&e.charCodeAt(i);return t}e("setimmediate"),i.newBlob=function(e,t){i.checkSupport("blob");try{return new Blob([e],{type:t})}catch(n){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return r.append(e),r.getBlob(t)}catch(a){throw new Error("Bug : can't construct the Blob.")}}};var l={stringifyByChunk:function(e,t,i){var r=[],n=0,a=e.length;if(a<=i)return String.fromCharCode.apply(null,e);for(;n<a;)"array"===t||"nodebuffer"===t?r.push(String.fromCharCode.apply(null,e.slice(n,Math.min(n+i,a)))):r.push(String.fromCharCode.apply(null,e.subarray(n,Math.min(n+i,a)))),n+=i;return r.join("")},stringifyByChar:function(e){for(var t="",i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},applyCanBeUsed:{uint8array:function(){try{return r.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return r.nodebuffer&&1===String.fromCharCode.apply(null,a.allocBuffer(1)).length}catch(e){return!1}}()}};function u(e){var t=65536,r=i.getTypeOf(e),n=!0;if("uint8array"===r?n=l.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=l.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return l.stringifyByChunk(e,r,t)}catch(a){t=Math.floor(t/2)}return l.stringifyByChar(e)}function h(e,t){for(var i=0;i<e.length;i++)t[i]=e[i];return t}i.applyFromCharCode=u;var d={};d.string={string:o,array:function(e){return c(e,new Array(e.length))},arraybuffer:function(e){return d.string.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:function(e){return c(e,a.allocBuffer(e.length))}},d.array={string:u,array:o,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return a.newBufferFrom(e)}},d.arraybuffer={string:function(e){return u(new Uint8Array(e))},array:function(e){return h(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:o,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return a.newBufferFrom(new Uint8Array(e))}},d.uint8array={string:u,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:o,nodebuffer:function(e){return a.newBufferFrom(e)}},d.nodebuffer={string:u,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return d.nodebuffer.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:o},i.transformTo=function(e,t){if(t=t||"",!e)return t;i.checkSupport(e);var r=i.getTypeOf(t);return d[r][e](t)},i.resolve=function(e){for(var t=e.split("/"),i=[],r=0;r<t.length;r++){var n=t[r];"."===n||""===n&&0!==r&&r!==t.length-1||(".."===n?i.pop():i.push(n))}return i.join("/")},i.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":r.nodebuffer&&a.isBuffer(e)?"nodebuffer":r.uint8array&&e instanceof Uint8Array?"uint8array":r.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(e){if(!r[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(e){var t,i,r="";for(i=0;i<(e||"").length;i++)r+="\\x"+((t=e.charCodeAt(i))<16?"0":"")+t.toString(16).toUpperCase();return r},i.delay=function(e,t,i){setImmediate(function(){e.apply(i||null,t||[])})},i.inherits=function(e,t){function i(){}i.prototype=t.prototype,e.prototype=new i},i.extend=function(){var e,t,i={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===i[t]&&(i[t]=arguments[e][t]);return i},i.prepareContent=function(e,t,a,o,l){return s.Promise.resolve(t).then(function(e){return r.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new s.Promise(function(t,i){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=function(e){i(e.target.error)},r.readAsArrayBuffer(e)}):e}).then(function(t){var u,h=i.getTypeOf(t);return h?("arraybuffer"===h?t=i.transformTo("uint8array",t):"string"===h&&(l?t=n.decode(t):a&&!0!==o&&(t=c(u=t,r.uint8array?new Uint8Array(u.length):new Array(u.length)))),t):s.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,i){var r=e("./reader/readerFor"),n=e("./utils"),a=e("./signature"),s=e("./zipEntry"),o=e("./support");function c(e){this.files=[],this.loadOptions=e}c.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+n.pretty(t)+", expected "+n.pretty(e)+")")}},isSignature:function(e,t){var i=this.reader.index;this.reader.setIndex(e);var r=this.reader.readString(4)===t;return this.reader.setIndex(i),r},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",i=n.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(i)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,i,r=this.zip64EndOfCentralSize-44;0<r;)e=this.reader.readInt(2),t=this.reader.readInt(4),i=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:i}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(a.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(a.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,a.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(a.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,a.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var i=this.centralDirOffset+this.centralDirSize;this.zip64&&(i+=20,i+=12+this.zip64EndOfCentralSize);var r=t-i;if(0<r)this.isSignature(t,a.CENTRAL_FILE_HEADER)||(this.reader.zero=r);else if(r<0)throw new Error("Corrupted zip: missing "+Math.abs(r)+" bytes.")},prepareReader:function(e){this.reader=r(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,i){var r=e("./reader/readerFor"),n=e("./utils"),a=e("./compressedObject"),s=e("./crc32"),o=e("./utf8"),c=e("./compressions"),l=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return!(1&~this.bitFlag)},useUTF8:function(){return!(2048&~this.bitFlag)},readLocalPart:function(e){var t,i;if(e.skip(22),this.fileNameLength=e.readInt(2),i=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(i),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in c)if(Object.prototype.hasOwnProperty.call(c,t)&&c[t].magic===e)return c[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+n.pretty(this.compressionMethod)+" unknown (inner file : "+n.transformTo("string",this.fileName)+")");this.decompressed=new a(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=r(this.extraFields[1].value);this.uncompressedSize===n.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===n.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===n.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===n.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,i,r,n=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<n;)t=e.readInt(2),i=e.readInt(2),r=e.readData(i),this.extraFields[t]={id:t,length:i,value:r};e.setIndex(n)},handleUTF8:function(){var e=l.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var i=n.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(i)}var r=this.findExtraFieldUnicodeComment();if(null!==r)this.fileCommentStr=r;else{var a=n.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(a)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=r(e.value);return 1!==t.readInt(1)||s(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=r(e.value);return 1!==t.readInt(1)||s(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,i){function r(e,t,i){this.name=e,this.dir=i.dir,this.date=i.date,this.comment=i.comment,this.unixPermissions=i.unixPermissions,this.dosPermissions=i.dosPermissions,this._data=t,this._dataBinary=i.binary,this.options={compression:i.compression,compressionOptions:i.compressionOptions}}var n=e("./stream/StreamHelper"),a=e("./stream/DataWorker"),s=e("./utf8"),o=e("./compressedObject"),c=e("./stream/GenericWorker");r.prototype={internalStream:function(e){var t=null,i="string";try{if(!e)throw new Error("No output type specified.");var r="string"===(i=e.toLowerCase())||"text"===i;"binarystring"!==i&&"text"!==i||(i="string"),t=this._decompressWorker();var a=!this._dataBinary;a&&!r&&(t=t.pipe(new s.Utf8EncodeWorker)),!a&&r&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(o){(t=new c("error")).error(o)}return new n(t,i,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var i=this._decompressWorker();return this._dataBinary||(i=i.pipe(new s.Utf8EncodeWorker)),o.createWorkerFrom(i,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof c?this._data:new a(this._data)}};for(var l=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<l.length;h++)r.prototype[l[h]]=u;t.exports=r},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,r){(function(e){var i,r,n=e.MutationObserver||e.WebKitMutationObserver;if(n){var a=0,s=new n(u),o=e.document.createTextNode("");s.observe(o,{characterData:!0}),i=function(){o.data=a=++a%2}}else if(e.setImmediate||void 0===e.MessageChannel)i="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var c=new e.MessageChannel;c.port1.onmessage=u,i=function(){c.port2.postMessage(0)}}var l=[];function u(){var e,t;r=!0;for(var i=l.length;i;){for(t=l,l=[],e=-1;++e<i;)t[e]();i=l.length}r=!1}t.exports=function(e){1!==l.push(e)||r||i()}}).call(this,void 0!==i.g?i.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,i){var r=e("immediate");function n(){}var a={},s=["REJECTED"],o=["FULFILLED"],c=["PENDING"];function l(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,e!==n&&p(this,e)}function u(e,t,i){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof i&&(this.onRejected=i,this.callRejected=this.otherCallRejected)}function h(e,t,i){r(function(){var r;try{r=t(i)}catch(n){return a.reject(e,n)}r===e?a.reject(e,new TypeError("Cannot resolve promise with itself")):a.resolve(e,r)})}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var i=!1;function r(t){i||(i=!0,a.reject(e,t))}function n(t){i||(i=!0,a.resolve(e,t))}var s=f(function(){t(n,r)});"error"===s.status&&r(s.value)}function f(e,t){var i={};try{i.value=e(t),i.status="success"}catch(r){i.status="error",i.value=r}return i}(t.exports=l).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(i){return t.resolve(e()).then(function(){return i})},function(i){return t.resolve(e()).then(function(){throw i})})},l.prototype.catch=function(e){return this.then(null,e)},l.prototype.then=function(e,t){if("function"!=typeof e&&this.state===o||"function"!=typeof t&&this.state===s)return this;var i=new this.constructor(n);return this.state!==c?h(i,this.state===o?e:t,this.outcome):this.queue.push(new u(i,e,t)),i},u.prototype.callFulfilled=function(e){a.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){a.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},a.resolve=function(e,t){var i=f(d,t);if("error"===i.status)return a.reject(e,i.value);var r=i.value;if(r)p(e,r);else{e.state=o,e.outcome=t;for(var n=-1,s=e.queue.length;++n<s;)e.queue[n].callFulfilled(t)}return e},a.reject=function(e,t){e.state=s,e.outcome=t;for(var i=-1,r=e.queue.length;++i<r;)e.queue[i].callRejected(t);return e},l.resolve=function(e){return e instanceof this?e:a.resolve(new this(n),e)},l.reject=function(e){var t=new this(n);return a.reject(t,e)},l.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var i=e.length,r=!1;if(!i)return this.resolve([]);for(var s=new Array(i),o=0,c=-1,l=new this(n);++c<i;)u(e[c],c);return l;function u(e,n){t.resolve(e).then(function(e){s[n]=e,++o!==i||r||(r=!0,a.resolve(l,s))},function(e){r||(r=!0,a.reject(l,e))})}},l.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var t=e.length,i=!1;if(!t)return this.resolve([]);for(var r,s=-1,o=new this(n);++s<t;)r=e[s],this.resolve(r).then(function(e){i||(i=!0,a.resolve(o,e))},function(e){i||(i=!0,a.reject(o,e))});return o}},{immediate:36}],38:[function(e,t,i){var r={};(0,e("./lib/utils/common").assign)(r,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=r},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,i){var r=e("./zlib/deflate"),n=e("./utils/common"),a=e("./utils/strings"),s=e("./zlib/messages"),o=e("./zlib/zstream"),c=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=n.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var i=r.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==i)throw new Error(s[i]);if(t.header&&r.deflateSetHeader(this.strm,t.header),t.dictionary){var u;if(u="string"==typeof t.dictionary?a.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(i=r.deflateSetDictionary(this.strm,u)))throw new Error(s[i]);this._dict_set=!0}}function u(e,t){var i=new l(t);if(i.push(e,!0),i.err)throw i.msg||s[i.err];return i.result}l.prototype.push=function(e,t){var i,s,o=this.strm,l=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?o.input=a.string2buf(e):"[object ArrayBuffer]"===c.call(e)?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(l),o.next_out=0,o.avail_out=l),1!==(i=r.deflate(o,s))&&0!==i)return this.onEnd(i),!(this.ended=!0);0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(a.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((0<o.avail_in||0===o.avail_out)&&1!==i);return 4===s?(i=r.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,0===i):2!==s||(this.onEnd(0),!(o.avail_out=0))},l.prototype.onData=function(e){this.chunks.push(e)},l.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Deflate=l,i.deflate=u,i.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},i.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,i){var r=e("./zlib/inflate"),n=e("./utils/common"),a=e("./utils/strings"),s=e("./zlib/constants"),o=e("./zlib/messages"),c=e("./zlib/zstream"),l=e("./zlib/gzheader"),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&!(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var i=r.inflateInit2(this.strm,t.windowBits);if(i!==s.Z_OK)throw new Error(o[i]);this.header=new l,r.inflateGetHeader(this.strm,this.header)}function d(e,t){var i=new h(t);if(i.push(e,!0),i.err)throw i.msg||o[i.err];return i.result}h.prototype.push=function(e,t){var i,o,c,l,h,d,p=this.strm,f=this.options.chunkSize,g=this.options.dictionary,m=!1;if(this.ended)return!1;o=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?p.input=a.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new n.Buf8(f),p.next_out=0,p.avail_out=f),(i=r.inflate(p,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&g&&(d="string"==typeof g?a.string2buf(g):"[object ArrayBuffer]"===u.call(g)?new Uint8Array(g):g,i=r.inflateSetDictionary(this.strm,d)),i===s.Z_BUF_ERROR&&!0===m&&(i=s.Z_OK,m=!1),i!==s.Z_STREAM_END&&i!==s.Z_OK)return this.onEnd(i),!(this.ended=!0);p.next_out&&(0!==p.avail_out&&i!==s.Z_STREAM_END&&(0!==p.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(c=a.utf8border(p.output,p.next_out),l=p.next_out-c,h=a.buf2string(p.output,c),p.next_out=l,p.avail_out=f-l,l&&n.arraySet(p.output,p.output,c,l,0),this.onData(h)):this.onData(n.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(m=!0)}while((0<p.avail_in||0===p.avail_out)&&i!==s.Z_STREAM_END);return i===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(i=r.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(p.avail_out=0))},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Inflate=h,i.inflate=d,i.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},i.ungzip=d},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,i){var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;i.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var r in i)i.hasOwnProperty(r)&&(e[r]=i[r])}}return e},i.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var n={arraySet:function(e,t,i,r,n){if(t.subarray&&e.subarray)e.set(t.subarray(i,i+r),n);else for(var a=0;a<r;a++)e[n+a]=t[i+a]},flattenChunks:function(e){var t,i,r,n,a,s;for(t=r=0,i=e.length;t<i;t++)r+=e[t].length;for(s=new Uint8Array(r),t=n=0,i=e.length;t<i;t++)a=e[t],s.set(a,n),n+=a.length;return s}},a={arraySet:function(e,t,i,r,n){for(var a=0;a<r;a++)e[n+a]=t[i+a]},flattenChunks:function(e){return[].concat.apply([],e)}};i.setTyped=function(e){e?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,n)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,a))},i.setTyped(r)},{}],42:[function(e,t,i){var r=e("./common"),n=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(l){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(l){a=!1}for(var s=new r.Buf8(256),o=0;o<256;o++)s[o]=252<=o?6:248<=o?5:240<=o?4:224<=o?3:192<=o?2:1;function c(e,t){if(t<65537&&(e.subarray&&a||!e.subarray&&n))return String.fromCharCode.apply(null,r.shrinkBuf(e,t));for(var i="",s=0;s<t;s++)i+=String.fromCharCode(e[s]);return i}s[254]=s[254]=1,i.string2buf=function(e){var t,i,n,a,s,o=e.length,c=0;for(a=0;a<o;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),c+=i<128?1:i<2048?2:i<65536?3:4;for(t=new r.Buf8(c),a=s=0;s<c;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),i<128?t[s++]=i:(i<2048?t[s++]=192|i>>>6:(i<65536?t[s++]=224|i>>>12:(t[s++]=240|i>>>18,t[s++]=128|i>>>12&63),t[s++]=128|i>>>6&63),t[s++]=128|63&i);return t},i.buf2binstring=function(e){return c(e,e.length)},i.binstring2buf=function(e){for(var t=new r.Buf8(e.length),i=0,n=t.length;i<n;i++)t[i]=e.charCodeAt(i);return t},i.buf2string=function(e,t){var i,r,n,a,o=t||e.length,l=new Array(2*o);for(i=r=0;i<o;)if((n=e[i++])<128)l[r++]=n;else if(4<(a=s[n]))l[r++]=65533,i+=a-1;else{for(n&=2===a?31:3===a?15:7;1<a&&i<o;)n=n<<6|63&e[i++],a--;1<a?l[r++]=65533:n<65536?l[r++]=n:(n-=65536,l[r++]=55296|n>>10&1023,l[r++]=56320|1023&n)}return c(l,r)},i.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0||0===i?t:i+s[e[i]]>t?i:t}},{"./common":41}],43:[function(e,t,i){t.exports=function(e,t,i,r){for(var n=65535&e,a=e>>>16&65535,s=0;0!==i;){for(i-=s=2e3<i?2e3:i;a=a+(n=n+t[r++]|0)|0,--s;);n%=65521,a%=65521}return n|a<<16}},{}],44:[function(e,t,i){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,i){var r=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t,i,n){var a=r,s=n+i;e^=-1;for(var o=n;o<s;o++)e=e>>>8^a[255&(e^t[o])];return~e}},{}],46:[function(e,t,i){var r,n=e("../utils/common"),a=e("./trees"),s=e("./adler32"),o=e("./crc32"),c=e("./messages"),l=-2,u=258,h=262,d=113;function p(e,t){return e.msg=c[t],t}function f(e){return(e<<1)-(4<e?9:0)}function g(e){for(var t=e.length;0<=--t;)e[t]=0}function m(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(n.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))}function b(e,t){a._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,m(e.strm)}function y(e,t){e.pending_buf[e.pending++]=t}function v(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function S(e,t){var i,r,n=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,c=e.strstart>e.w_size-h?e.strstart-(e.w_size-h):0,l=e.window,d=e.w_mask,p=e.prev,f=e.strstart+u,g=l[a+s-1],m=l[a+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(l[(i=t)+s]===m&&l[i+s-1]===g&&l[i]===l[a]&&l[++i]===l[a+1]){a+=2,i++;do{}while(l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&a<f);if(r=u-(f-a),a=f-u,s<r){if(e.match_start=t,o<=(s=r))break;g=l[a+s-1],m=l[a+s]}}}while((t=p[t&d])>c&&0!=--n);return s<=e.lookahead?s:e.lookahead}function C(e){var t,i,r,a,c,l,u,d,p,f,g=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=g+(g-h)){for(n.arraySet(e.window,e.window,g,g,0),e.match_start-=g,e.strstart-=g,e.block_start-=g,t=i=e.hash_size;r=e.head[--t],e.head[t]=g<=r?r-g:0,--i;);for(t=i=g;r=e.prev[--t],e.prev[t]=g<=r?r-g:0,--i;);a+=g}if(0===e.strm.avail_in)break;if(l=e.strm,u=e.window,d=e.strstart+e.lookahead,f=void 0,(p=a)<(f=l.avail_in)&&(f=p),i=0===f?0:(l.avail_in-=f,n.arraySet(u,l.input,l.next_in,f,d),1===l.state.wrap?l.adler=s(l.adler,u,f,d):2===l.state.wrap&&(l.adler=o(l.adler,u,f,d)),l.next_in+=f,l.total_in+=f,f),e.lookahead+=i,e.lookahead+e.insert>=3)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+3-1])&e.hash_mask,e.prev[c&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=c,c++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<h&&0!==e.strm.avail_in)}function x(e,t){for(var i,r;;){if(e.lookahead<h){if(C(e),e.lookahead<h&&0===t)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-h&&(e.match_length=S(e,i)),e.match_length>=3)if(r=a._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}function w(e,t){for(var i,r,n;;){if(e.lookahead<h){if(C(e),e.lookahead<h&&0===t)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-h&&(e.match_length=S(e,i),e.match_length<=5&&(1===e.strategy||3===e.match_length&&4096<e.strstart-e.match_start)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){for(n=e.strstart+e.lookahead-3,r=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(b(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=a._tr_tally(e,0,e.window[e.strstart-1]))&&b(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=a._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}function A(e,t,i,r,n){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=r,this.func=n}function E(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new n.Buf16(1146),this.dyn_dtree=new n.Buf16(122),this.bl_tree=new n.Buf16(78),g(this.dyn_ltree),g(this.dyn_dtree),g(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(16),this.heap=new n.Buf16(573),g(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(573),g(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:d,e.adler=2===t.wrap?0:1,t.last_flush=0,a._tr_init(t),0):p(e,l)}function I(e){var t,i=k(e);return 0===i&&((t=e.state).window_size=2*t.w_size,g(t.head),t.max_lazy_match=r[t.level].max_lazy,t.good_match=r[t.level].good_length,t.nice_match=r[t.level].nice_length,t.max_chain_length=r[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),i}function T(e,t,i,r,a,s){if(!e)return l;var o=1;if(-1===t&&(t=6),r<0?(o=0,r=-r):15<r&&(o=2,r-=16),a<1||9<a||8!==i||r<8||15<r||t<0||9<t||s<0||4<s)return p(e,l);8===r&&(r=9);var c=new E;return(e.state=c).strm=e,c.wrap=o,c.gzhead=null,c.w_bits=r,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+3-1)/3),c.window=new n.Buf8(2*c.w_size),c.head=new n.Buf16(c.hash_size),c.prev=new n.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new n.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=t,c.strategy=s,c.method=i,I(e)}r=[new A(0,0,0,0,function(e,t){var i=65535;for(i>e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(C(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+i;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,b(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-h&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(b(e,!1),e.strm.avail_out),1)}),new A(4,4,8,4,x),new A(4,5,16,8,x),new A(4,6,32,32,x),new A(4,4,16,16,w),new A(8,16,32,32,w),new A(8,16,128,128,w),new A(8,32,128,256,w),new A(32,128,258,1024,w),new A(32,258,258,4096,w)],i.deflateInit=function(e,t){return T(e,t,8,15,8,0)},i.deflateInit2=T,i.deflateReset=I,i.deflateResetKeep=k,i.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?l:(e.state.gzhead=t,0):l},i.deflate=function(e,t){var i,n,s,c;if(!e||!e.state||5<t||t<0)return e?p(e,l):l;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&4!==t)return p(e,0===e.avail_out?-5:l);if(n.strm=e,i=n.last_flush,n.last_flush=t,42===n.status)if(2===n.wrap)e.adler=0,y(n,31),y(n,139),y(n,8),n.gzhead?(y(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),y(n,255&n.gzhead.time),y(n,n.gzhead.time>>8&255),y(n,n.gzhead.time>>16&255),y(n,n.gzhead.time>>24&255),y(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),y(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(y(n,255&n.gzhead.extra.length),y(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=o(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(y(n,0),y(n,0),y(n,0),y(n,0),y(n,0),y(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),y(n,3),n.status=d);else{var h=8+(n.w_bits-8<<4)<<8;h|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(h|=32),h+=31-h%31,n.status=d,v(n,h),0!==n.strstart&&(v(n,e.adler>>>16),v(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),m(e),s=n.pending,n.pending!==n.pending_buf_size));)y(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),m(e),s=n.pending,n.pending===n.pending_buf_size)){c=1;break}c=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,y(n,c)}while(0!==c);n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),0===c&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),m(e),s=n.pending,n.pending===n.pending_buf_size)){c=1;break}c=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,y(n,c)}while(0!==c);n.gzhead.hcrc&&n.pending>s&&(e.adler=o(e.adler,n.pending_buf,n.pending-s,s)),0===c&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&m(e),n.pending+2<=n.pending_buf_size&&(y(n,255&e.adler),y(n,e.adler>>8&255),e.adler=0,n.status=d)):n.status=d),0!==n.pending){if(m(e),0===e.avail_out)return n.last_flush=-1,0}else if(0===e.avail_in&&f(t)<=f(i)&&4!==t)return p(e,-5);if(666===n.status&&0!==e.avail_in)return p(e,-5);if(0!==e.avail_in||0!==n.lookahead||0!==t&&666!==n.status){var S=2===n.strategy?function(e,t){for(var i;;){if(0===e.lookahead&&(C(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,i=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(n,t):3===n.strategy?function(e,t){for(var i,r,n,s,o=e.window;;){if(e.lookahead<=u){if(C(e),e.lookahead<=u&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&0<e.strstart&&(r=o[n=e.strstart-1])===o[++n]&&r===o[++n]&&r===o[++n]){s=e.strstart+u;do{}while(r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&n<s);e.match_length=u-(s-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(i=a._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(b(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(b(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(b(e,!1),0===e.strm.avail_out)?1:2}(n,t):r[n.level].func(n,t);if(3!==S&&4!==S||(n.status=666),1===S||3===S)return 0===e.avail_out&&(n.last_flush=-1),0;if(2===S&&(1===t?a._tr_align(n):5!==t&&(a._tr_stored_block(n,0,0,!1),3===t&&(g(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),m(e),0===e.avail_out))return n.last_flush=-1,0}return 4!==t?0:n.wrap<=0?1:(2===n.wrap?(y(n,255&e.adler),y(n,e.adler>>8&255),y(n,e.adler>>16&255),y(n,e.adler>>24&255),y(n,255&e.total_in),y(n,e.total_in>>8&255),y(n,e.total_in>>16&255),y(n,e.total_in>>24&255)):(v(n,e.adler>>>16),v(n,65535&e.adler)),m(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?0:1)},i.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&103!==t&&t!==d&&666!==t?p(e,l):(e.state=null,t===d?p(e,-3):0):l},i.deflateSetDictionary=function(e,t){var i,r,a,o,c,u,h,d,p=t.length;if(!e||!e.state)return l;if(2===(o=(i=e.state).wrap)||1===o&&42!==i.status||i.lookahead)return l;for(1===o&&(e.adler=s(e.adler,t,p,0)),i.wrap=0,p>=i.w_size&&(0===o&&(g(i.head),i.strstart=0,i.block_start=0,i.insert=0),d=new n.Buf8(i.w_size),n.arraySet(d,t,p-i.w_size,i.w_size,0),t=d,p=i.w_size),c=e.avail_in,u=e.next_in,h=e.input,e.avail_in=p,e.next_in=0,e.input=t,C(i);i.lookahead>=3;){for(r=i.strstart,a=i.lookahead-2;i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+3-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++,--a;);i.strstart=r,i.lookahead=2,C(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,e.next_in=u,e.input=h,e.avail_in=c,i.wrap=o,0},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,i){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,i){t.exports=function(e,t){var i,r,n,a,s,o,c,l,u,h,d,p,f,g,m,b,y,v,S,C,x,w,A,E,k;i=e.state,r=e.next_in,E=e.input,n=r+(e.avail_in-5),a=e.next_out,k=e.output,s=a-(t-e.avail_out),o=a+(e.avail_out-257),c=i.dmax,l=i.wsize,u=i.whave,h=i.wnext,d=i.window,p=i.hold,f=i.bits,g=i.lencode,m=i.distcode,b=(1<<i.lenbits)-1,y=(1<<i.distbits)-1;e:do{f<15&&(p+=E[r++]<<f,f+=8,p+=E[r++]<<f,f+=8),v=g[p&b];t:for(;;){if(p>>>=S=v>>>24,f-=S,0==(S=v>>>16&255))k[a++]=65535&v;else{if(!(16&S)){if(!(64&S)){v=g[(65535&v)+(p&(1<<S)-1)];continue t}if(32&S){i.mode=12;break e}e.msg="invalid literal/length code",i.mode=30;break e}C=65535&v,(S&=15)&&(f<S&&(p+=E[r++]<<f,f+=8),C+=p&(1<<S)-1,p>>>=S,f-=S),f<15&&(p+=E[r++]<<f,f+=8,p+=E[r++]<<f,f+=8),v=m[p&y];i:for(;;){if(p>>>=S=v>>>24,f-=S,!(16&(S=v>>>16&255))){if(!(64&S)){v=m[(65535&v)+(p&(1<<S)-1)];continue i}e.msg="invalid distance code",i.mode=30;break e}if(x=65535&v,f<(S&=15)&&(p+=E[r++]<<f,(f+=8)<S&&(p+=E[r++]<<f,f+=8)),c<(x+=p&(1<<S)-1)){e.msg="invalid distance too far back",i.mode=30;break e}if(p>>>=S,f-=S,(S=a-s)<x){if(u<(S=x-S)&&i.sane){e.msg="invalid distance too far back",i.mode=30;break e}if(A=d,(w=0)===h){if(w+=l-S,S<C){for(C-=S;k[a++]=d[w++],--S;);w=a-x,A=k}}else if(h<S){if(w+=l+h-S,(S-=h)<C){for(C-=S;k[a++]=d[w++],--S;);if(w=0,h<C){for(C-=S=h;k[a++]=d[w++],--S;);w=a-x,A=k}}}else if(w+=h-S,S<C){for(C-=S;k[a++]=d[w++],--S;);w=a-x,A=k}for(;2<C;)k[a++]=A[w++],k[a++]=A[w++],k[a++]=A[w++],C-=3;C&&(k[a++]=A[w++],1<C&&(k[a++]=A[w++]))}else{for(w=a-x;k[a++]=k[w++],k[a++]=k[w++],k[a++]=k[w++],2<(C-=3););C&&(k[a++]=k[w++],1<C&&(k[a++]=k[w++]))}break}}break}}while(r<n&&a<o);r-=C=f>>3,p&=(1<<(f-=C<<3))-1,e.next_in=r,e.next_out=a,e.avail_in=r<n?n-r+5:5-(r-n),e.avail_out=a<o?o-a+257:257-(a-o),i.hold=p,i.bits=f}},{}],49:[function(e,t,i){var r=e("../utils/common"),n=e("./adler32"),a=e("./crc32"),s=e("./inffast"),o=e("./inftrees"),c=-2;function l(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function u(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function h(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(852),t.distcode=t.distdyn=new r.Buf32(592),t.sane=1,t.back=-1,0):c}function d(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,h(e)):c}function p(e,t){var i,r;return e&&e.state?(r=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?c:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=i,r.wbits=t,d(e))):c}function f(e,t){var i,r;return e?(r=new u,(e.state=r).window=null,0!==(i=p(e,t))&&(e.state=null),i):c}var g,m,b=!0;function y(e){if(b){var t;for(g=new r.Buf32(512),m=new r.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(o(1,e.lens,0,288,g,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;o(2,e.lens,0,32,m,0,e.work,{bits:5}),b=!1}e.lencode=g,e.lenbits=9,e.distcode=m,e.distbits=5}function v(e,t,i,n){var a,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),n>=s.wsize?(r.arraySet(s.window,t,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(a=s.wsize-s.wnext)&&(a=n),r.arraySet(s.window,t,i-n,a,s.wnext),(n-=a)?(r.arraySet(s.window,t,i-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=a,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=a))),0}i.inflateReset=d,i.inflateReset2=p,i.inflateResetKeep=h,i.inflateInit=function(e){return f(e,15)},i.inflateInit2=f,i.inflate=function(e,t){var i,u,h,d,p,f,g,m,b,S,C,x,w,A,E,k,I,T,D,F,P,B,O,N,M=0,R=new r.Buf8(4),_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return c;12===(i=e.state).mode&&(i.mode=13),p=e.next_out,h=e.output,g=e.avail_out,d=e.next_in,u=e.input,f=e.avail_in,m=i.hold,b=i.bits,S=f,C=g,B=0;e:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;b<16;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(2&i.wrap&&35615===m){R[i.check=0]=255&m,R[1]=m>>>8&255,i.check=a(i.check,R,2,0),b=m=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&m)<<8)+(m>>8))%31){e.msg="incorrect header check",i.mode=30;break}if(8!=(15&m)){e.msg="unknown compression method",i.mode=30;break}if(b-=4,P=8+(15&(m>>>=4)),0===i.wbits)i.wbits=P;else if(P>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<<P,e.adler=i.check=1,i.mode=512&m?10:12,b=m=0;break;case 2:for(;b<16;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(i.flags=m,8!=(255&i.flags)){e.msg="unknown compression method",i.mode=30;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=30;break}i.head&&(i.head.text=m>>8&1),512&i.flags&&(R[0]=255&m,R[1]=m>>>8&255,i.check=a(i.check,R,2,0)),b=m=0,i.mode=3;case 3:for(;b<32;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.head&&(i.head.time=m),512&i.flags&&(R[0]=255&m,R[1]=m>>>8&255,R[2]=m>>>16&255,R[3]=m>>>24&255,i.check=a(i.check,R,4,0)),b=m=0,i.mode=4;case 4:for(;b<16;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.head&&(i.head.xflags=255&m,i.head.os=m>>8),512&i.flags&&(R[0]=255&m,R[1]=m>>>8&255,i.check=a(i.check,R,2,0)),b=m=0,i.mode=5;case 5:if(1024&i.flags){for(;b<16;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.length=m,i.head&&(i.head.extra_len=m),512&i.flags&&(R[0]=255&m,R[1]=m>>>8&255,i.check=a(i.check,R,2,0)),b=m=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(f<(x=i.length)&&(x=f),x&&(i.head&&(P=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),r.arraySet(i.head.extra,u,d,x,P)),512&i.flags&&(i.check=a(i.check,u,x,d)),f-=x,d+=x,i.length-=x),i.length))break e;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===f)break e;for(x=0;P=u[d+x++],i.head&&P&&i.length<65536&&(i.head.name+=String.fromCharCode(P)),P&&x<f;);if(512&i.flags&&(i.check=a(i.check,u,x,d)),f-=x,d+=x,P)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===f)break e;for(x=0;P=u[d+x++],i.head&&P&&i.length<65536&&(i.head.comment+=String.fromCharCode(P)),P&&x<f;);if(512&i.flags&&(i.check=a(i.check,u,x,d)),f-=x,d+=x,P)break e}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;b<16;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(m!==(65535&i.check)){e.msg="header crc mismatch",i.mode=30;break}b=m=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;b<32;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}e.adler=i.check=l(m),b=m=0,i.mode=11;case 11:if(0===i.havedict)return e.next_out=p,e.avail_out=g,e.next_in=d,e.avail_in=f,i.hold=m,i.bits=b,2;e.adler=i.check=1,i.mode=12;case 12:if(5===t||6===t)break e;case 13:if(i.last){m>>>=7&b,b-=7&b,i.mode=27;break}for(;b<3;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}switch(i.last=1&m,b-=1,3&(m>>>=1)){case 0:i.mode=14;break;case 1:if(y(i),i.mode=20,6!==t)break;m>>>=2,b-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}m>>>=2,b-=2;break;case 14:for(m>>>=7&b,b-=7&b;b<32;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if((65535&m)!=(m>>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&m,b=m=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(x=i.length){if(f<x&&(x=f),g<x&&(x=g),0===x)break e;r.arraySet(h,u,d,x,p),f-=x,d+=x,g-=x,p+=x,i.length-=x;break}i.mode=12;break;case 17:for(;b<14;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(i.nlen=257+(31&m),m>>>=5,b-=5,i.ndist=1+(31&m),m>>>=5,b-=5,i.ncode=4+(15&m),m>>>=4,b-=4,286<i.nlen||30<i.ndist){e.msg="too many length or distance symbols",i.mode=30;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;b<3;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.lens[_[i.have++]]=7&m,m>>>=3,b-=3}for(;i.have<19;)i.lens[_[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,O={bits:i.lenbits},B=o(0,i.lens,0,19,i.lencode,0,i.work,O),i.lenbits=O.bits,B){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;k=(M=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,I=65535&M,!((E=M>>>24)<=b);){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(I<16)m>>>=E,b-=E,i.lens[i.have++]=I;else{if(16===I){for(N=E+2;b<N;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(m>>>=E,b-=E,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}P=i.lens[i.have-1],x=3+(3&m),m>>>=2,b-=2}else if(17===I){for(N=E+3;b<N;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}b-=E,P=0,x=3+(7&(m>>>=E)),m>>>=3,b-=3}else{for(N=E+7;b<N;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}b-=E,P=0,x=11+(127&(m>>>=E)),m>>>=7,b-=7}if(i.have+x>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;x--;)i.lens[i.have++]=P}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,O={bits:i.lenbits},B=o(1,i.lens,0,i.nlen,i.lencode,0,i.work,O),i.lenbits=O.bits,B){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,O={bits:i.distbits},B=o(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,O),i.distbits=O.bits,B){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=f&&258<=g){e.next_out=p,e.avail_out=g,e.next_in=d,e.avail_in=f,i.hold=m,i.bits=b,s(e,C),p=e.next_out,h=e.output,g=e.avail_out,d=e.next_in,u=e.input,f=e.avail_in,m=i.hold,b=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;k=(M=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,I=65535&M,!((E=M>>>24)<=b);){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(k&&!(240&k)){for(T=E,D=k,F=I;k=(M=i.lencode[F+((m&(1<<T+D)-1)>>T)])>>>16&255,I=65535&M,!(T+(E=M>>>24)<=b);){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}m>>>=T,b-=T,i.back+=T}if(m>>>=E,b-=E,i.back+=E,i.length=I,0===k){i.mode=26;break}if(32&k){i.back=-1,i.mode=12;break}if(64&k){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&k,i.mode=22;case 22:if(i.extra){for(N=i.extra;b<N;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.length+=m&(1<<i.extra)-1,m>>>=i.extra,b-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;k=(M=i.distcode[m&(1<<i.distbits)-1])>>>16&255,I=65535&M,!((E=M>>>24)<=b);){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(!(240&k)){for(T=E,D=k,F=I;k=(M=i.distcode[F+((m&(1<<T+D)-1)>>T)])>>>16&255,I=65535&M,!(T+(E=M>>>24)<=b);){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}m>>>=T,b-=T,i.back+=T}if(m>>>=E,b-=E,i.back+=E,64&k){e.msg="invalid distance code",i.mode=30;break}i.offset=I,i.extra=15&k,i.mode=24;case 24:if(i.extra){for(N=i.extra;b<N;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}i.offset+=m&(1<<i.extra)-1,m>>>=i.extra,b-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===g)break e;if(x=C-g,i.offset>x){if((x=i.offset-x)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}w=x>i.wnext?(x-=i.wnext,i.wsize-x):i.wnext-x,x>i.length&&(x=i.length),A=i.window}else A=h,w=p-i.offset,x=i.length;for(g<x&&(x=g),g-=x,i.length-=x;h[p++]=A[w++],--x;);0===i.length&&(i.mode=21);break;case 26:if(0===g)break e;h[p++]=i.length,g--,i.mode=21;break;case 27:if(i.wrap){for(;b<32;){if(0===f)break e;f--,m|=u[d++]<<b,b+=8}if(C-=g,e.total_out+=C,i.total+=C,C&&(e.adler=i.check=i.flags?a(i.check,h,C,p-C):n(i.check,h,C,p-C)),C=g,(i.flags?m:l(m))!==i.check){e.msg="incorrect data check",i.mode=30;break}b=m=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;b<32;){if(0===f)break e;f--,m+=u[d++]<<b,b+=8}if(m!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=30;break}b=m=0}i.mode=29;case 29:B=1;break e;case 30:B=-3;break e;case 31:return-4;default:return c}return e.next_out=p,e.avail_out=g,e.next_in=d,e.avail_in=f,i.hold=m,i.bits=b,(i.wsize||C!==e.avail_out&&i.mode<30&&(i.mode<27||4!==t))&&v(e,e.output,e.next_out,C-e.avail_out)?(i.mode=31,-4):(S-=e.avail_in,C-=e.avail_out,e.total_in+=S,e.total_out+=C,i.total+=C,i.wrap&&C&&(e.adler=i.check=i.flags?a(i.check,h,C,e.next_out-C):n(i.check,h,C,e.next_out-C)),e.data_type=i.bits+(i.last?64:0)+(12===i.mode?128:0)+(20===i.mode||15===i.mode?256:0),(0==S&&0===C||4===t)&&0===B&&(B=-5),B)},i.inflateEnd=function(e){if(!e||!e.state)return c;var t=e.state;return t.window&&(t.window=null),e.state=null,0},i.inflateGetHeader=function(e,t){var i;return e&&e.state&&2&(i=e.state).wrap?((i.head=t).done=!1,0):c},i.inflateSetDictionary=function(e,t){var i,r=t.length;return e&&e.state?0!==(i=e.state).wrap&&11!==i.mode?c:11===i.mode&&n(1,t,r,0)!==i.check?-3:v(e,t,r,r)?(i.mode=31,-4):(i.havedict=1,0):c},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,i){var r=e("../utils/common"),n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],a=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,i,c,l,u,h,d){var p,f,g,m,b,y,v,S,C,x=d.bits,w=0,A=0,E=0,k=0,I=0,T=0,D=0,F=0,P=0,B=0,O=null,N=0,M=new r.Buf16(16),R=new r.Buf16(16),_=null,U=0;for(w=0;w<=15;w++)M[w]=0;for(A=0;A<c;A++)M[t[i+A]]++;for(I=x,k=15;1<=k&&0===M[k];k--);if(k<I&&(I=k),0===k)return l[u++]=20971520,l[u++]=20971520,d.bits=1,0;for(E=1;E<k&&0===M[E];E++);for(I<E&&(I=E),w=F=1;w<=15;w++)if(F<<=1,(F-=M[w])<0)return-1;if(0<F&&(0===e||1!==k))return-1;for(R[1]=0,w=1;w<15;w++)R[w+1]=R[w]+M[w];for(A=0;A<c;A++)0!==t[i+A]&&(h[R[t[i+A]]++]=A);if(y=0===e?(O=_=h,19):1===e?(O=n,N-=257,_=a,U-=257,256):(O=s,_=o,-1),w=E,b=u,D=A=B=0,g=-1,m=(P=1<<(T=I))-1,1===e&&852<P||2===e&&592<P)return 1;for(;;){for(v=w-D,C=h[A]<y?(S=0,h[A]):h[A]>y?(S=_[U+h[A]],O[N+h[A]]):(S=96,0),p=1<<w-D,E=f=1<<T;l[b+(B>>D)+(f-=p)]=v<<24|S<<16|C,0!==f;);for(p=1<<w-1;B&p;)p>>=1;if(0!==p?(B&=p-1,B+=p):B=0,A++,0==--M[w]){if(w===k)break;w=t[i+h[A]]}if(I<w&&(B&m)!==g){for(0===D&&(D=I),b+=E,F=1<<(T=w-D);T+D<k&&!((F-=M[T+D])<=0);)T++,F<<=1;if(P+=1<<T,1===e&&852<P||2===e&&592<P)return 1;l[g=B&m]=I<<24|T<<16|b-u}}return 0!==B&&(l[b+B]=w-D<<24|64<<16),d.bits=I,0}},{"../utils/common":41}],51:[function(e,t,i){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,i){var r=e("../utils/common");function n(e){for(var t=e.length;0<=--t;)e[t]=0}var a=15,s=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],o=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],u=new Array(576);n(u);var h=new Array(60);n(h);var d=new Array(512);n(d);var p=new Array(256);n(p);var f=new Array(29);n(f);var g,m,b,y=new Array(30);function v(e,t,i,r,n){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=r,this.max_length=n,this.has_stree=e&&e.length}function S(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function C(e){return e<256?d[e]:d[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function w(e,t,i){e.bi_valid>16-i?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=i-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)}function A(e,t,i){w(e,i[2*t],i[2*t+1])}function E(e,t){for(var i=0;i|=1&e,e>>>=1,i<<=1,0<--t;);return i>>>1}function k(e,t,i){var r,n,s=new Array(16),o=0;for(r=1;r<=a;r++)s[r]=o=o+i[r-1]<<1;for(n=0;n<=t;n++){var c=e[2*n+1];0!==c&&(e[2*n]=E(s[c]++,c))}}function I(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function T(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function D(e,t,i,r){var n=2*t,a=2*i;return e[n]<e[a]||e[n]===e[a]&&r[t]<=r[i]}function F(e,t,i){for(var r=e.heap[i],n=i<<1;n<=e.heap_len&&(n<e.heap_len&&D(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!D(t,r,e.heap[n],e.depth));)e.heap[i]=e.heap[n],i=n,n<<=1;e.heap[i]=r}function P(e,t,i){var r,n,a,c,l=0;if(0!==e.last_lit)for(;r=e.pending_buf[e.d_buf+2*l]<<8|e.pending_buf[e.d_buf+2*l+1],n=e.pending_buf[e.l_buf+l],l++,0===r?A(e,n,t):(A(e,(a=p[n])+256+1,t),0!==(c=s[a])&&w(e,n-=f[a],c),A(e,a=C(--r),i),0!==(c=o[a])&&w(e,r-=y[a],c)),l<e.last_lit;);A(e,256,t)}function B(e,t){var i,r,n,s=t.dyn_tree,o=t.stat_desc.static_tree,c=t.stat_desc.has_stree,l=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=573,i=0;i<l;i++)0!==s[2*i]?(e.heap[++e.heap_len]=u=i,e.depth[i]=0):s[2*i+1]=0;for(;e.heap_len<2;)s[2*(n=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[n]=0,e.opt_len--,c&&(e.static_len-=o[2*n+1]);for(t.max_code=u,i=e.heap_len>>1;1<=i;i--)F(e,s,i);for(n=l;i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],F(e,s,1),r=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=r,s[2*n]=s[2*i]+s[2*r],e.depth[n]=(e.depth[i]>=e.depth[r]?e.depth[i]:e.depth[r])+1,s[2*i+1]=s[2*r+1]=n,e.heap[1]=n++,F(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var i,r,n,s,o,c,l=t.dyn_tree,u=t.max_code,h=t.stat_desc.static_tree,d=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,g=t.stat_desc.max_length,m=0;for(s=0;s<=a;s++)e.bl_count[s]=0;for(l[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;i<573;i++)g<(s=l[2*l[2*(r=e.heap[i])+1]+1]+1)&&(s=g,m++),l[2*r+1]=s,u<r||(e.bl_count[s]++,o=0,f<=r&&(o=p[r-f]),c=l[2*r],e.opt_len+=c*(s+o),d&&(e.static_len+=c*(h[2*r+1]+o)));if(0!==m){do{for(s=g-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[g]--,m-=2}while(0<m);for(s=g;0!==s;s--)for(r=e.bl_count[s];0!==r;)u<(n=e.heap[--i])||(l[2*n+1]!==s&&(e.opt_len+=(s-l[2*n+1])*l[2*n],l[2*n+1]=s),r--)}}(e,t),k(s,u,e.bl_count)}function O(e,t,i){var r,n,a=-1,s=t[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),t[2*(i+1)+1]=65535,r=0;r<=i;r++)n=s,s=t[2*(r+1)+1],++o<c&&n===s||(o<l?e.bl_tree[2*n]+=o:0!==n?(n!==a&&e.bl_tree[2*n]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=n,l=(o=0)===s?(c=138,3):n===s?(c=6,3):(c=7,4))}function N(e,t,i){var r,n,a=-1,s=t[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),r=0;r<=i;r++)if(n=s,s=t[2*(r+1)+1],!(++o<c&&n===s)){if(o<l)for(;A(e,n,e.bl_tree),0!=--o;);else 0!==n?(n!==a&&(A(e,n,e.bl_tree),o--),A(e,16,e.bl_tree),w(e,o-3,2)):o<=10?(A(e,17,e.bl_tree),w(e,o-3,3)):(A(e,18,e.bl_tree),w(e,o-11,7));a=n,l=(o=0)===s?(c=138,3):n===s?(c=6,3):(c=7,4)}}n(y);var M=!1;function R(e,t,i,n){var a,s,o;w(e,0+(n?1:0),3),s=t,o=i,T(a=e),x(a,o),x(a,~o),r.arraySet(a.pending_buf,a.window,s,o,a.pending),a.pending+=o}i._tr_init=function(e){M||(function(){var e,t,i,r,n,l=new Array(16);for(r=i=0;r<28;r++)for(f[r]=i,e=0;e<1<<s[r];e++)p[i++]=r;for(p[i-1]=r,r=n=0;r<16;r++)for(y[r]=n,e=0;e<1<<o[r];e++)d[n++]=r;for(n>>=7;r<30;r++)for(y[r]=n<<7,e=0;e<1<<o[r]-7;e++)d[256+n++]=r;for(t=0;t<=a;t++)l[t]=0;for(e=0;e<=143;)u[2*e+1]=8,e++,l[8]++;for(;e<=255;)u[2*e+1]=9,e++,l[9]++;for(;e<=279;)u[2*e+1]=7,e++,l[7]++;for(;e<=287;)u[2*e+1]=8,e++,l[8]++;for(k(u,287,l),e=0;e<30;e++)h[2*e+1]=5,h[2*e]=E(e,5);g=new v(u,s,257,286,a),m=new v(h,o,0,30,a),b=new v(new Array(0),c,0,19,7)}(),M=!0),e.l_desc=new S(e.dyn_ltree,g),e.d_desc=new S(e.dyn_dtree,m),e.bl_desc=new S(e.bl_tree,b),e.bi_buf=0,e.bi_valid=0,I(e)},i._tr_stored_block=R,i._tr_flush_block=function(e,t,i,r){var n,a,s=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),B(e,e.l_desc),B(e,e.d_desc),s=function(e){var t;for(O(e,e.dyn_ltree,e.l_desc.max_code),O(e,e.dyn_dtree,e.d_desc.max_code),B(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*l[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),n=e.opt_len+3+7>>>3,(a=e.static_len+3+7>>>3)<=n&&(n=a)):n=a=i+5,i+4<=n&&-1!==t?R(e,t,i,r):4===e.strategy||a===n?(w(e,2+(r?1:0),3),P(e,u,h)):(w(e,4+(r?1:0),3),function(e,t,i,r){var n;for(w(e,t-257,5),w(e,i-1,5),w(e,r-4,4),n=0;n<r;n++)w(e,e.bl_tree[2*l[n]+1],3);N(e,e.dyn_ltree,t-1),N(e,e.dyn_dtree,i-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),P(e,e.dyn_ltree,e.dyn_dtree)),I(e),r&&T(e)},i._tr_tally=function(e,t,i){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(p[i]+256+1)]++,e.dyn_dtree[2*C(t)]++),e.last_lit===e.lit_bufsize-1},i._tr_align=function(e){var t;w(e,2,3),A(e,256,u),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}},{"../utils/common":41}],53:[function(e,t,i){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(e){if(!e.setImmediate){var t,i,r,n,a=1,s={},o=!1,c=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,t="[object process]"==={}.toString.call(e.process)?function(e){process.nextTick(function(){h(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,i=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=i,t}}()?(n="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",d,!1):e.attachEvent("onmessage",d),function(t){e.postMessage(n+t,"*")}):e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){h(e.data)},function(e){r.port2.postMessage(e)}):c&&"onreadystatechange"in c.createElement("script")?(i=c.documentElement,function(e){var t=c.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):function(e){setTimeout(h,0,e)},l.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var i=new Array(arguments.length-1),r=0;r<i.length;r++)i[r]=arguments[r+1];var n={callback:e,args:i};return s[a]=n,t(a),a++},l.clearImmediate=u}function u(e){delete s[e]}function h(e){if(o)setTimeout(h,0,e);else{var t=s[e];if(t){o=!0;try{!function(e){var t=e.callback,i=e.args;switch(i.length){case 0:t();break;case 1:t(i[0]);break;case 2:t(i[0],i[1]);break;case 3:t(i[0],i[1],i[2]);break;default:t.apply(void 0,i)}}(t)}finally{u(e),o=!1}}}}function d(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(n)&&h(+t.data.slice(n.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,void 0!==i.g?i.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)},208:(e,t,i)=>{e.exports={sm2:i(53),sm3:i(886),sm4:i(223)}},972:(e,t,i)=>{const{BigInteger:r}=i(534);class n{constructor(){this.isModified=!0,this.hTLV=null,this.hT="00",this.hL="00",this.hV=""}getLengthHexFromValue(){const e=this.hV.length/2;let t=e.toString(16);return t.length%2==1&&(t="0"+t),e<128?t:(128+t.length/2).toString(16)+t}getEncodedHex(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV}getFreshValueHex(){return""}}class a extends n{constructor(e){super(),this.hT="02",e&&e.bigint&&(this.hTLV=null,this.isModified=!0,this.hV=function(e){let t=e.toString(16);if("-"!==t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{let i=t.substr(1).length;i%2==1?i+=1:t.match(/^[0-7]/)||(i+=2);let n="";for(let e=0;e<i;e++)n+="f";t=new r(n,16).xor(e).add(r.ONE).toString(16).replace(/^-/,"")}return t}(e.bigint))}getFreshValueHex(){return this.hV}}class s extends n{constructor(e){super(),this.hT="30",this.asn1Array=[],e&&e.array&&(this.asn1Array=e.array)}getFreshValueHex(){let e="";for(let t=0;t<this.asn1Array.length;t++)e+=this.asn1Array[t].getEncodedHex();return this.hV=e,this.hV}}function o(e,t){if("8"!==e.substring(t+2,t+3))return 1;const i=parseInt(e.substring(t+3,t+4),10);return 0===i?-1:i>0&&i<10?i+1:-2}function c(e,t){const i=function(e,t){const i=o(e,t);return i<1?"":e.substring(t+2,t+2+2*i)}(e,t);if(""===i)return-1;let n;return n=parseInt(i.substring(0,1),10)<8?new r(i,16):new r(i.substring(2),16),n.intValue()}function l(e,t){const i=o(e,t);return i<0?i:t+2*(i+1)}function u(e,t){const i=l(e,t),r=c(e,t);return e.substring(i,i+2*r)}function h(e,t){return l(e,t)+2*c(e,t)}e.exports={encodeDer(e,t){const i=new a({bigint:e}),r=new a({bigint:t});return new s({array:[i,r]}).getEncodedHex()},decodeDer(e){const t=function(e){const t=[],i=l(e,0);t.push(i);const r=c(e,0);let n=i,a=0;for(;;){const s=h(e,n);if(null==s||s-i>=2*r)break;if(a>=200)break;t.push(s),n=s,a++}return t}(e),i=t[0],n=t[1],a=u(e,i),s=u(e,n);return{r:new r(a,16),s:new r(s,16)}}}},833:(e,t,i)=>{const{BigInteger:r}=i(534),n=new r("3");class a{constructor(e,t){this.x=t,this.q=e}equals(e){return e===this||this.q.equals(e.q)&&this.x.equals(e.x)}toBigInteger(){return this.x}negate(){return new a(this.q,this.x.negate().mod(this.q))}add(e){return new a(this.q,this.x.add(e.toBigInteger()).mod(this.q))}subtract(e){return new a(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))}multiply(e){return new a(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))}divide(e){return new a(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))}square(){return new a(this.q,this.x.square().mod(this.q))}}class s{constructor(e,t,i,n){this.curve=e,this.x=t,this.y=i,this.z=null==n?r.ONE:n,this.zinv=null}getX(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}getY(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}equals(e){return e===this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(r.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(r.ZERO))}isInfinity(){return null===this.x&&null===this.y||this.z.equals(r.ZERO)&&!this.y.toBigInteger().equals(r.ZERO)}negate(){return new s(this.curve,this.x,this.y.negate(),this.z)}add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;const t=this.x.toBigInteger(),i=this.y.toBigInteger(),n=this.z,a=e.x.toBigInteger(),o=e.y.toBigInteger(),c=e.z,l=this.curve.q,u=t.multiply(c).mod(l),h=a.multiply(n).mod(l),d=u.subtract(h),p=i.multiply(c).mod(l),f=o.multiply(n).mod(l),g=p.subtract(f);if(r.ZERO.equals(d))return r.ZERO.equals(g)?this.twice():this.curve.infinity;const m=u.add(h),b=n.multiply(c).mod(l),y=d.square().mod(l),v=d.multiply(y).mod(l),S=b.multiply(g.square()).subtract(m.multiply(y)).mod(l),C=d.multiply(S).mod(l),x=g.multiply(y.multiply(u).subtract(S)).subtract(p.multiply(v)).mod(l),w=v.multiply(b).mod(l);return new s(this.curve,this.curve.fromBigInteger(C),this.curve.fromBigInteger(x),w)}twice(){if(this.isInfinity())return this;if(!this.y.toBigInteger().signum())return this.curve.infinity;const e=this.x.toBigInteger(),t=this.y.toBigInteger(),i=this.z,r=this.curve.q,a=this.curve.a.toBigInteger(),o=e.square().multiply(n).add(a.multiply(i.square())).mod(r),c=t.shiftLeft(1).multiply(i).mod(r),l=t.square().mod(r),u=l.multiply(e).multiply(i).mod(r),h=c.square().mod(r),d=o.square().subtract(u.shiftLeft(3)).mod(r),p=c.multiply(d).mod(r),f=o.multiply(u.shiftLeft(2).subtract(d)).subtract(h.shiftLeft(1).multiply(l)).mod(r),g=c.multiply(h).mod(r);return new s(this.curve,this.curve.fromBigInteger(p),this.curve.fromBigInteger(f),g)}multiply(e){if(this.isInfinity())return this;if(!e.signum())return this.curve.infinity;const t=e.multiply(n),i=this.negate();let r=this;for(let n=t.bitLength()-2;n>0;n--){r=r.twice();const a=t.testBit(n);a!==e.testBit(n)&&(r=r.add(a?this:i))}return r}}e.exports={ECPointFp:s,ECCurveFp:class{constructor(e,t,i){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(i),this.infinity=new s(this,null,null)}equals(e){return e===this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}fromBigInteger(e){return new a(this.q,e)}decodePointHex(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:const t=(e.length-2)/2,i=e.substr(2,t),n=e.substr(t+2,t);return new s(this,this.fromBigInteger(new r(i,16)),this.fromBigInteger(new r(n,16)))}}}}},53:(e,t,i)=>{const{BigInteger:r}=i(534),{encodeDer:n,decodeDer:a}=i(972),s=i(436),o=i(531),c=i(80),{G:l,curve:u,n:h}=c.generateEcparam();function d(e,t,i="1234567812345678"){const r=new s,n=(new s).getZ(l,t.substr(2,128),i),a=c.hexToArray(c.arrayToHex(n).toString()),o=e,u=c.hexToArray(o),h=new Array(r.getDigestSize());return r.blockUpdate(a,0,a.length),r.blockUpdate(u,0,u.length),r.doFinal(h,0),c.arrayToHex(h).toString()}function p(){const e=c.generateKeyPairHex(),t=u.decodePointHex(e.publicKey);return e.k=new r(e.privateKey,16),e.x1=t.getX().toBigInteger(),e}e.exports={generateKeyPairHex:c.generateKeyPairHex,doEncrypt:function(e,t,i=1){const r=new o;e=c.hexToArray(c.parseUtf8StringToHex(e)),t.length>128&&(t=t.substr(t.length-128));const n=t.substr(0,64),a=t.substr(64);t=r.createPoint(n,a);const s=r.initEncipher(t);r.encryptBlock(e);const l=c.arrayToHex(e);let u=new Array(32);return r.doFinal(u),u=c.arrayToHex(u),0===i?s+l+u:s+u+l},doDecrypt:function(e,t,i=1){const n=new o;t=new r(t,16);const a=e.substr(0,64),s=e.substr(0+a.length,64),l=a.length+s.length;let u=e.substr(l,64),h=e.substr(l+64);0===i&&(u=e.substr(e.length-64),h=e.substr(l,e.length-l-64));const d=c.hexToArray(h),p=n.createPoint(a,s);n.initDecipher(t,p),n.decryptBlock(d);const f=new Array(32);return n.doFinal(f),c.arrayToHex(f)===u?c.arrayToUtf8(d):""},doSignature:function(e,t,{pointPool:i,der:a,hash:s,publicKey:o,userId:u}={}){let f="string"==typeof e?c.parseUtf8StringToHex(e):c.parseArrayBufferToHex(e);s&&(f=d(f,o=o||function(e){const t=l.multiply(new r(e,16));return"04"+c.leftPad(t.getX().toBigInteger().toString(16),64)+c.leftPad(t.getY().toBigInteger().toString(16),64)}(t),u));const g=new r(t,16),m=new r(f,16);let b=null,y=null,v=null;do{do{let e;e=i&&i.length?i.pop():p(),b=e.k,y=m.add(e.x1).mod(h)}while(y.equals(r.ZERO)||y.add(b).equals(h));v=g.add(r.ONE).modInverse(h).multiply(b.subtract(y.multiply(g))).mod(h)}while(v.equals(r.ZERO));return a?n(y,v):c.leftPad(y.toString(16),64)+c.leftPad(v.toString(16),64)},doVerifySignature:function(e,t,i,{der:n,hash:s,userId:o}={}){let p,f,g="string"==typeof e?c.parseUtf8StringToHex(e):c.parseArrayBufferToHex(e);if(s&&(g=d(g,i,o)),n){const e=a(t);p=e.r,f=e.s}else p=new r(t.substring(0,64),16),f=new r(t.substring(64),16);const m=u.decodePointHex(i),b=new r(g,16),y=p.add(f).mod(h);if(y.equals(r.ZERO))return!1;const v=l.multiply(f).add(m.multiply(y)),S=b.add(v.getX().toBigInteger()).mod(h);return p.equals(S)},getPoint:p}},531:(e,t,i)=>{const{BigInteger:r}=i(534),n=i(436),a=i(80);e.exports=class{constructor(){this.ct=1,this.p2=null,this.sm3keybase=null,this.sm3c3=null,this.key=new Array(32),this.keyOff=0}reset(){this.sm3keybase=new n,this.sm3c3=new n;const e=a.hexToArray(a.leftPad(this.p2.getX().toBigInteger().toRadix(16),64)),t=a.hexToArray(a.leftPad(this.p2.getY().toBigInteger().toRadix(16),64));this.sm3keybase.blockUpdate(e,0,e.length),this.sm3c3.blockUpdate(e,0,e.length),this.sm3keybase.blockUpdate(t,0,t.length),this.ct=1,this.nextKey()}nextKey(){const e=new n(this.sm3keybase);e.update(this.ct>>24&255),e.update(this.ct>>16&255),e.update(this.ct>>8&255),e.update(255&this.ct),e.doFinal(this.key,0),this.keyOff=0,this.ct++}initEncipher(e){const t=a.generateKeyPairHex(),i=new r(t.privateKey,16);let n=t.publicKey;return this.p2=e.multiply(i),this.reset(),n.length>128&&(n=n.substr(n.length-128)),n}encryptBlock(e){this.sm3c3.blockUpdate(e,0,e.length);for(let t=0;t<e.length;t++)this.keyOff===this.key.length&&this.nextKey(),e[t]^=255&this.key[this.keyOff++]}initDecipher(e,t){this.p2=t.multiply(e),this.reset()}decryptBlock(e){for(let t=0;t<e.length;t++)this.keyOff===this.key.length&&this.nextKey(),e[t]^=255&this.key[this.keyOff++];this.sm3c3.blockUpdate(e,0,e.length)}doFinal(e){const t=a.hexToArray(a.leftPad(this.p2.getY().toBigInteger().toRadix(16),64));this.sm3c3.blockUpdate(t,0,t.length),this.sm3c3.doFinal(e,0),this.reset()}createPoint(e,t){const i="04"+e+t;return a.getGlobalCurve().decodePointHex(i)}}},436:(e,t,i)=>{const{BigInteger:r}=i(534),n=i(80),a=function(e,t,i,r,n){for(let a=0;a<n;a++)i[r+a]=e[t+a]},s={minValue:-2147483648,maxValue:2147483647,parse(e){if(e<this.minValue){const t=Number(-e).toString(2),i=t.substr(t.length-31,31);let r="";for(let e=0;e<i.length;e++)r+="0"===i.substr(e,1)?"1":"0";return parseInt(r,2)+1}if(e>this.maxValue){const t=Number(e).toString(2),i=t.substr(t.length-31,31);let r="";for(let e=0;e<i.length;e++)r+="0"===i.substr(e,1)?"1":"0";return-(parseInt(r,2)+1)}return e},parseByte(e){if(e<0){const t=Number(-e).toString(2),i=t.substr(t.length-8,8);let r="";for(let e=0;e<i.length;e++)r+="0"===i.substr(e,1)?"1":"0";return(parseInt(r,2)+1)%256}if(e>255){const t=Number(e).toString(2);return parseInt(t.substr(t.length-8,8),2)}return e}};e.exports=class{constructor(...e){this.xBuf=[],this.xBufOff=0,this.byteCount=0,this.DIGEST_LENGTH=32,this.v0=[1937774191,1226093241,388252375,3666478592,2842636476,372324522,3817729613,2969243214],this.v0=[1937774191,1226093241,388252375,-628488704,-1452330820,372324522,-477237683,-1325724082],this.v=new Array(8),this.v_=new Array(8),this.X0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.X=new Array(68),this.xOff=0,this.T_00_15=2043430169,this.T_16_63=2055708042,e.length>0?this.initDigest(e[0]):this.init()}init(){this.xBuf=new Array(4),this.reset()}initDigest(e){this.xBuf=[].concat(e.xBuf),this.xBufOff=e.xBufOff,this.byteCount=e.byteCount,a(e.X,0,this.X,0,e.X.length),this.xOff=e.xOff,a(e.v,0,this.v,0,e.v.length)}getDigestSize(){return this.DIGEST_LENGTH}reset(){this.byteCount=0,this.xBufOff=0;const e=Object.keys(this.xBuf);for(let t=0,i=e.length;t<i;t++)this.xBuf[e[t]]=null;a(this.v0,0,this.v,0,this.v0.length),this.xOff=0,a(this.X0,0,this.X,0,this.X0.length)}processBlock(){let e;const t=this.X,i=new Array(64);for(e=16;e<68;e++)t[e]=this.p1(t[e-16]^t[e-9]^this.rotate(t[e-3],15))^this.rotate(t[e-13],7)^t[e-6];for(e=0;e<64;e++)i[e]=t[e]^t[e+4];const r=this.v,n=this.v_;let o,c,l,u,h;for(a(r,0,n,0,this.v0.length),e=0;e<16;e++)h=this.rotate(n[0],12),o=s.parse(s.parse(h+n[4])+this.rotate(this.T_00_15,e)),o=this.rotate(o,7),c=o^h,l=s.parse(s.parse(this.ff_00_15(n[0],n[1],n[2])+n[3])+c)+i[e],u=s.parse(s.parse(this.gg_00_15(n[4],n[5],n[6])+n[7])+o)+t[e],n[3]=n[2],n[2]=this.rotate(n[1],9),n[1]=n[0],n[0]=l,n[7]=n[6],n[6]=this.rotate(n[5],19),n[5]=n[4],n[4]=this.p0(u);for(e=16;e<64;e++)h=this.rotate(n[0],12),o=s.parse(s.parse(h+n[4])+this.rotate(this.T_16_63,e)),o=this.rotate(o,7),c=o^h,l=s.parse(s.parse(this.ff_16_63(n[0],n[1],n[2])+n[3])+c)+i[e],u=s.parse(s.parse(this.gg_16_63(n[4],n[5],n[6])+n[7])+o)+t[e],n[3]=n[2],n[2]=this.rotate(n[1],9),n[1]=n[0],n[0]=l,n[7]=n[6],n[6]=this.rotate(n[5],19),n[5]=n[4],n[4]=this.p0(u);for(e=0;e<8;e++)r[e]^=s.parse(n[e]);this.xOff=0,a(this.X0,0,this.X,0,this.X0.length)}processWord(e,t){let i=e[t]<<24;i|=(255&e[++t])<<16,i|=(255&e[++t])<<8,i|=255&e[++t],this.X[this.xOff]=i,16==++this.xOff&&this.processBlock()}processLength(e){this.xOff>14&&this.processBlock(),this.X[14]=this.urShiftLong(e,32),this.X[15]=4294967295&e}intToBigEndian(e,t,i){t[i]=255&s.parseByte(this.urShift(e,24)),t[++i]=255&s.parseByte(this.urShift(e,16)),t[++i]=255&s.parseByte(this.urShift(e,8)),t[++i]=255&s.parseByte(e)}doFinal(e,t){this.finish();for(let i=0;i<8;i++)this.intToBigEndian(this.v[i],e,t+4*i);return this.reset(),this.DIGEST_LENGTH}update(e){this.xBuf[this.xBufOff++]=e,this.xBufOff===this.xBuf.length&&(this.processWord(this.xBuf,0),this.xBufOff=0),this.byteCount++}blockUpdate(e,t,i){for(;0!==this.xBufOff&&i>0;)this.update(e[t]),t++,i--;for(;i>this.xBuf.length;)this.processWord(e,t),t+=this.xBuf.length,i-=this.xBuf.length,this.byteCount+=this.xBuf.length;for(;i>0;)this.update(e[t]),t++,i--}finish(){const e=this.byteCount<<3;for(this.update(128);0!==this.xBufOff;)this.update(0);this.processLength(e),this.processBlock()}rotate(e,t){return e<<t|this.urShift(e,32-t)}p0(e){return e^this.rotate(e,9)^this.rotate(e,17)}p1(e){return e^this.rotate(e,15)^this.rotate(e,23)}ff_00_15(e,t,i){return e^t^i}ff_16_63(e,t,i){return e&t|e&i|t&i}gg_00_15(e,t,i){return e^t^i}gg_16_63(e,t,i){return e&t|~e&i}urShift(e,t){return(e>s.maxValue||e<s.minValue)&&(e=s.parse(e)),e>>>t}urShiftLong(e,t){let i;const n=new r;if(n.fromInt(e),n.signum()>=0)i=n.shiftRight(t).intValue();else{const n=new r;n.fromInt(2);const a=~t;let s="";if(a<0){const n=64+a;for(let e=0;e<n;e++)s+="0";const o=new r;o.fromInt(e>>t);const c=new r("10"+s,2);s=c.toRadix(10),i=c.add(o).toRadix(10)}else s=n.shiftLeft(~t).intValue(),i=(e>>t)+s}return i}getZ(e,t,i){let r=0;if(i){if("string"!=typeof i)throw new Error("sm2: Type of userId Must be String! Receive Type: "+typeof i);if(i.length>=8192)throw new Error(`sm2: The Length of userId Must Less Than 8192! Length: ${i.length}`);r=4*(i=n.parseUtf8StringToHex(i)).length}if(this.update(r>>8&255),this.update(255&r),i){const e=n.hexToArray(i);this.blockUpdate(e,0,e.length)}const a=n.hexToArray(n.leftPad(e.curve.a.toBigInteger().toRadix(16),64)),s=n.hexToArray(n.leftPad(e.curve.b.toBigInteger().toRadix(16),64)),o=n.hexToArray(n.leftPad(e.getX().toBigInteger().toRadix(16),64)),c=n.hexToArray(n.leftPad(e.getY().toBigInteger().toRadix(16),64)),l=n.hexToArray(t.substr(0,64)),u=n.hexToArray(t.substr(64,64));this.blockUpdate(a,0,a.length),this.blockUpdate(s,0,s.length),this.blockUpdate(o,0,o.length),this.blockUpdate(c,0,c.length),this.blockUpdate(l,0,l.length),this.blockUpdate(u,0,u.length);const h=new Array(this.getDigestSize());return this.doFinal(h,0),h}}},80:(e,t,i)=>{const{BigInteger:r,SecureRandom:n}=i(534),{ECCurveFp:a}=i(833),s=new n,{curve:o,G:c,n:l}=u();function u(){const e=new r("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF",16),t=new r("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC",16),i=new r("28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93",16),n=new a(e,t,i),s=n.decodePointHex("0432C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0");return{curve:n,G:s,n:new r("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123",16)}}function h(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e}e.exports={getGlobalCurve:function(){return o},generateEcparam:u,generateKeyPairHex:function(){const e=new r(l.bitLength(),s).mod(l.subtract(r.ONE)).add(r.ONE),t=h(e.toString(16),64),i=c.multiply(e);return{privateKey:t,publicKey:"04"+h(i.getX().toBigInteger().toString(16),64)+h(i.getY().toBigInteger().toString(16),64)}},parseUtf8StringToHex:function(e){const t=(e=unescape(encodeURIComponent(e))).length,i=[];for(let n=0;n<t;n++)i[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;const r=[];for(let n=0;n<t;n++){const e=i[n>>>2]>>>24-n%4*8&255;r.push((e>>>4).toString(16)),r.push((15&e).toString(16))}return r.join("")},parseArrayBufferToHex:function(e){return Array.prototype.map.call(new Uint8Array(e),e=>("00"+e.toString(16)).slice(-2)).join("")},leftPad:h,arrayToHex:function(e){const t=[];let i=0;for(let n=0;n<2*e.length;n+=2)t[n>>>3]|=parseInt(e[i],10)<<24-n%8*4,i++;const r=[];for(let n=0;n<e.length;n++){const e=t[n>>>2]>>>24-n%4*8&255;r.push((e>>>4).toString(16)),r.push((15&e).toString(16))}return r.join("")},arrayToUtf8:function(e){const t=[];let i=0;for(let n=0;n<2*e.length;n+=2)t[n>>>3]|=parseInt(e[i],10)<<24-n%8*4,i++;try{const i=[];for(let r=0;r<e.length;r++){const e=t[r>>>2]>>>24-r%4*8&255;i.push(String.fromCharCode(e))}return decodeURIComponent(escape(i.join("")))}catch(r){throw new Error("Malformed UTF-8 data")}},hexToArray:function(e){const t=[];let i=e.length;i%2!=0&&(e=h(e,i+1)),i=e.length;for(let r=0;r<i;r+=2)t.push(parseInt(e.substr(r,2),16));return t}}},886:e=>{function t(e,t){const i=[],r=~~(t/8),n=t%8;for(let a=0,s=e.length;a<s;a++)i[a]=(e[(a+r)%s]<<n&255)+(e[(a+r+1)%s]>>>8-n&255);return i}function i(e,t){const i=[];for(let r=e.length-1;r>=0;r--)i[r]=255&(e[r]^t[r]);return i}function r(e,t){const i=[];for(let r=e.length-1;r>=0;r--)i[r]=e[r]&t[r]&255;return i}function n(e,t){const i=[];for(let r=e.length-1;r>=0;r--)i[r]=255&(e[r]|t[r]);return i}function a(e,t){const i=[];let r=0;for(let n=e.length-1;n>=0;n--){const a=e[n]+t[n]+r;a>255?(r=1,i[n]=255&a):(r=0,i[n]=255&a)}return i}function s(e){return i(i(e,t(e,9)),t(e,17))}function o(e,t,a,s){return s>=0&&s<=15?i(i(e,t),a):n(n(r(e,t),r(e,a)),r(t,a))}function c(e,t,a,s){return s>=0&&s<=15?i(i(e,t),a):n(r(e,t),r(function(e){const t=[];for(let i=e.length-1;i>=0;i--)t[i]=255&~e[i];return t}(e),a))}function l(e,r){const n=[],l=[];for(let t=0;t<16;t++){const e=4*t;n.push(r.slice(e,e+4))}for(let a=16;a<68;a++)n.push(i(i((u=i(i(n[a-16],n[a-9]),t(n[a-3],15)),i(i(u,t(u,15)),t(u,23))),t(n[a-13],7)),n[a-6]));var u;for(let t=0;t<64;t++)l.push(i(n[t],n[t+4]));const h=[121,204,69,25],d=[122,135,157,138];let p,f,g,m,b=e.slice(0,4),y=e.slice(4,8),v=e.slice(8,12),S=e.slice(12,16),C=e.slice(16,20),x=e.slice(20,24),w=e.slice(24,28),A=e.slice(28,32);for(let E=0;E<64;E++){const e=E>=0&&E<=15?h:d;p=t(a(a(t(b,12),C),t(e,E)),7),f=i(p,t(b,12)),g=a(a(a(o(b,y,v,E),S),f),l[E]),m=a(a(a(c(C,x,w,E),A),p),n[E]),S=v,v=t(y,9),y=b,b=g,A=w,w=t(x,19),x=C,C=s(m)}return i([].concat(b,y,v,S,C,x,w,A),e)}e.exports=function(e){const t="string"==typeof e?function(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=e.codePointAt(i);if(r<=127)t.push(r);else if(r<=2047)t.push(192|r>>>6),t.push(128|63&r);else if(r<=55295||r>=57344&&r<=65535)t.push(224|r>>>12),t.push(128|r>>>6&63),t.push(128|63&r);else{if(!(r>=65536&&r<=1114111))throw t.push(r),new Error("input is not supported");i++,t.push(240|r>>>18&28),t.push(128|r>>>12&63),t.push(128|r>>>6&63),t.push(128|63&r)}}return t}(e):Array.prototype.slice.call(e);let i=8*t.length,r=i%512;r=r>=448?512-r%448-1:448-r-1;const n=new Array((r-7)/8);for(let l=0,u=n.length;l<u;l++)n[l]=0;const a=[];i=i.toString(2);for(let l=7;l>=0;l--)if(i.length>8){const e=i.length-8;a[l]=parseInt(i.substr(e),2),i=i.substr(0,e)}else i.length>0?(a[l]=parseInt(i,2),i=""):a[l]=0;const s=[].concat(t,[128],n,a),o=s.length/64;let c=[115,128,22,111,73,20,178,185,23,36,66,215,218,138,6,0,169,111,48,188,22,49,56,170,227,141,238,77,176,251,14,78];for(let u=0;u<o;u++){const e=64*u;c=l(c,s.slice(e,e+64))}return c.map(e=>1===(e=e.toString(16)).length?"0"+e:e).join("")}},223:e=>{const t=16,i=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],r=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function n(e){const t=[];for(let i=0,r=e.length;i<r;i+=2)t.push(parseInt(e.substr(i,2),16));return t}function a(e,t){return e<<t|e>>>32-t}function s(e){return(255&i[e>>>24&255])<<24|(255&i[e>>>16&255])<<16|(255&i[e>>>8&255])<<8|255&i[255&e]}function o(e){return e^a(e,2)^a(e,10)^a(e,18)^a(e,24)}function c(e){return e^a(e,13)^a(e,23)}function l(e,t,i){const r=new Array(4),n=new Array(4);for(let a=0;a<4;a++)n[0]=255&e[0+4*a],n[1]=255&e[1+4*a],n[2]=255&e[2+4*a],n[3]=255&e[3+4*a],r[a]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let a,c=0;c<32;c+=4)a=r[1]^r[2]^r[3]^i[c+0],r[0]^=o(s(a)),a=r[2]^r[3]^r[0]^i[c+1],r[1]^=o(s(a)),a=r[3]^r[0]^r[1]^i[c+2],r[2]^=o(s(a)),a=r[0]^r[1]^r[2]^i[c+3],r[3]^=o(s(a));for(let a=0;a<16;a+=4)t[a]=r[3-a/4]>>>24&255,t[a+1]=r[3-a/4]>>>16&255,t[a+2]=r[3-a/4]>>>8&255,t[a+3]=255&r[3-a/4]}function u(e,i,a,{padding:o="pkcs#5",mode:u,output:h="string"}={}){if("string"==typeof i&&(i=n(i)),16!==i.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==a?function(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=e.codePointAt(i);if(r<=127)t.push(r);else if(r<=2047)t.push(192|r>>>6),t.push(128|63&r);else if(r<=55295||r>=57344&&r<=65535)t.push(224|r>>>12),t.push(128|r>>>6&63),t.push(128|63&r);else{if(!(r>=65536&&r<=1114111))throw t.push(r),new Error("input is not supported");i++,t.push(240|r>>>18&28),t.push(128|r>>>12&63),t.push(128|r>>>6&63),t.push(128|63&r)}}return t}(e):n(e):[...e],"pkcs#5"===o&&0!==a){const i=t-e.length%t;for(let t=0;t<i;t++)e.push(i)}const d=new Array(32);!function(e,t,i){const n=new Array(4),a=new Array(4);for(let r=0;r<4;r++)a[0]=255&e[0+4*r],a[1]=255&e[1+4*r],a[2]=255&e[2+4*r],a[3]=255&e[3+4*r],n[r]=a[0]<<24|a[1]<<16|a[2]<<8|a[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let o,l=0;l<32;l+=4)o=n[1]^n[2]^n[3]^r[l+0],t[l+0]=n[0]^=c(s(o)),o=n[2]^n[3]^n[0]^r[l+1],t[l+1]=n[1]^=c(s(o)),o=n[3]^n[0]^n[1]^r[l+2],t[l+2]=n[2]^=c(s(o)),o=n[0]^n[1]^n[2]^r[l+3],t[l+3]=n[3]^=c(s(o));if(0===i)for(let r,s=0;s<16;s++)r=t[s],t[s]=t[31-s],t[31-s]=r}(i,d,a);const p=[];let f=e.length,g=0;for(;f>=t;){const i=e.slice(g,g+16),r=new Array(16);l(i,r,d);for(let e=0;e<t;e++)p[g+e]=r[e];f-=t,g+=t}if("pkcs#5"===o&&0===a){const e=p[p.length-1];p.splice(p.length-e,e)}return"array"!==h?0!==a?p.map(e=>1===(e=e.toString(16)).length?"0"+e:e).join(""):function(e){const t=[];for(let i=0,r=e.length;i<r;i++)e[i]>=240&&e[i]<=247?(t.push(String.fromCodePoint(((7&e[i])<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]))),i+=3):e[i]>=224&&e[i]<=239?(t.push(String.fromCodePoint(((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(t.push(String.fromCodePoint(((31&e[i])<<6)+(63&e[i+1]))),i++):t.push(String.fromCodePoint(e[i]));return t.join("")}(p):p}e.exports={encrypt:(e,t,i)=>u(e,t,1,i),decrypt:(e,t,i)=>u(e,t,0,i)}},983:e=>{const t=/^[-+]?0x[a-fA-F0-9]+$/,i=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};e.exports=function(e,n={}){if(n=Object.assign({},r,n),!e||"string"!=typeof e)return e;let a=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(a))return e;if(n.hex&&t.test(a))return Number.parseInt(a,16);{const t=i.exec(a);if(t){const i=t[1],r=t[2];let o=(s=t[3])&&-1!==s.indexOf(".")?("."===(s=s.replace(/0+$/,""))?s="0":"."===s[0]?s="0"+s:"."===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const c=t[4]||t[6];if(!n.leadingZeros&&r.length>0&&i&&"."!==a[2])return e;if(!n.leadingZeros&&r.length>0&&!i&&"."!==a[1])return e;{const t=Number(a),s=""+t;return-1!==s.search(/[eE]/)||c?n.eNotation?t:e:-1!==a.indexOf(".")?"0"===s&&""===o||s===o||i&&s==="-"+o?t:e:r?o===s||i+o===s?t:e:a===s||a===i+s?t:e}}return e}var s}}},t={};function r(i){var n=t[i];if(void 0!==n)return n.exports;var a=t[i]={exports:{}};return e[i].call(a.exports,a,a.exports,r),a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return(()=>{var e,t,l,u,h,d,p,f,g,m,b,y,v,S,C,x,w,A,E,k,I,T,D,F,P,B,O,N,M,R,_,U;r.r(c),r.d(c,{ANNOT_TYPE:()=>W,AnnotLayer:()=>lm,AttributeKey:()=>G,ContentLayer:()=>cf,ImageSvg:()=>Ip,Layer:()=>Qd,LiteOfd:()=>Ng,MultiChildTagName:()=>z,OFD_ACTION:()=>X,OFD_KEY:()=>V,OfdDocument:()=>Yd,OfdPageContainer:()=>yg,OfdPageRender:()=>Gf,OfdRender:()=>wg,PathSvg:()=>fp,SignatureElement:()=>Yf,TextElement:()=>zp,TextSvg:()=>Wg,ofdFont:()=>H,parser:()=>j,rendererConfig:()=>Dp});var L={};r.r(L),r.d(L,{BoundingBox:()=>Lo,Font:()=>Bh,Glyph:()=>Oc,Path:()=>jo,_parse:()=>Sc,load:()=>ed,loadSync:()=>td,parse:()=>Jh});var H={};r.r(H),r.d(H,{fontIdWithName:()=>ad,getDefaultFontsMap:()=>hd,isDefaultFont:()=>dd,loadDefaultFont:()=>pd,loadLocalDefaultFont:()=>fd,loadLocalDefaultFonts:()=>cd,loadOTFFont:()=>gd,loadSingleFont:()=>od,loadedFonts:()=>rd,opentypeFonts:()=>nd});var j={};r.r(j),r.d(j,{RootDocPath:()=>Ed,findAllNodesByTagName:()=>Rd,findAttributeValueByKey:()=>Ud,findFirstAttributeValueByKey:()=>Ld,findNodeByAttributeKeyValue:()=>jd,findNodeByAttributeKeyValueInList:()=>qd,findNodeByAttributeKeyValueWithTagName:()=>Kd,findNodeListByTagName:()=>_d,findValueByTagName:()=>Nd,findValueByTagNameOfFirstNode:()=>Md,parseFileByArrayBuffer:()=>Vd,parseOFDFile:()=>Gd,parseOFDOutlines:()=>Bd,parseOFDPages:()=>Pd,parseXmlByFileName:()=>Od,parseXmlByXmlString:()=>Id,setAttributeToNode:()=>Hd,unzipOfd:()=>kd});var q=r(710),K=r.n(q);const G={FONT:"Font",Boundary:"Boundary",ID:"ID",CTM:"CTM",DeltaX:"DeltaX",DeltaY:"DeltaY",FontSize:"Size",LineWidth:"LineWidth",Stroke:"Stroke",Fill:"Fill",Value:"Value",Alpha:"Alpha",ColorSpace:"ColorSpace",DrawParam:"DrawParam",Cap:"Cap",X:"X",BaseLoc:"BaseLoc",Y:"Y",TemplateID:"TemplateID",ZOrder:"ZOrder",StartPoint:"StartPoint",EndPoint:"EndPoint",Position:"Position",ResourceID:"ResourceID",FontName:"FontName",FamilyName:"FamilyName",HScale:"HScale",VScale:"VScale",WScale:"WScale",Weight:"Weight",Bold:"Bold",Italic:"Italic",PageRef:"PageRef",Clip:"Clip",Title:"Title",PageNum:"PageNum",Top:"Top",Event:"Event",PageID:"PageID",Type:"Type",Subtype:"Subtype",DashPattern:"DashPattern",BitsPerComponent:"BitsPerComponent",Rule:"Rule"},V={OFD:"ofd:OFD",Creator:"ofd:Creator",Title:"ofd:Title",ModDate:"ofd:ModDate",DocID:"ofd:DocID",CreationDate:"ofd:CreationDate",CreatorVersion:"ofd:CreatorVersion",CustomData:"ofd:CustomData",DocRoot:"ofd:DocRoot",Pages:"ofd:Pages",Page:"ofd:Page",Outlines:"ofd:Outlines",CommonData:"ofd:CommonData",VPreferences:"ofd:VPreferences",Actions:"ofd:Actions",Annotations:"ofd:Annotations",PublicRes:"ofd:PublicRes",DocumentRes:"ofd:DocumentRes",Content:"ofd:Content",Area:"ofd:Area",PhysicalBox:"ofd:PhysicalBox",CropBox:"ofd:CropBox",Layer:"ofd:Layer",PathObject:"ofd:PathObject",AbbreviatedData:"ofd:AbbreviatedData",StrokeColor:"ofd:StrokeColor",FillColor:"ofd:FillColor",TextObject:"ofd:TextObject",TextCode:"ofd:TextCode",DrawParams:"ofd:DrawParams",Template:"ofd:Template",TemplatePage:"ofd:TemplatePage",Segment:"ofd:Segment",AxialShd:"ofd:AxialShd",Color:"ofd:Color",ImageObject:"ofd:ImageObject",MultiMedia:"ofd:MultiMedia",MediaFile:"ofd:MediaFile",Font:"ofd:Font",Fonts:"ofd:Fonts",ColorSpaces:"ofd:ColorSpaces",ColorSpace:"ofd:ColorSpace",CustomDatas:"ofd:CustomDatas",DocInfo:"ofd:DocInfo",PageArea:"ofd:PageArea",Signatures:"ofd:Signatures",References:"ofd:References",SignedInfo:"ofd:SignedInfo",Annot:"ofd:Annot",Clips:"ofd:Clips",Clip:"ofd:Clip",Signature:"ofd:Signature",SignedValue:"ofd:SignedValue",MaxSignId:"ofd:MaxSignId",StampAnnot:"ofd:StampAnnot",FontFile:"ofd:FontFile",Path:"ofd:Path",PageBlock:"ofd:PageBlock",Reference:"ofd:Reference",Action:"ofd:Action",OutlineElem:"ofd:OutlineElem",Goto:"ofd:Goto",Dest:"ofd:Dest",Bookmarks:"ofd:Bookmarks",Bookmark:"ofd:Bookmark",FileLoc:"ofd:FileLoc",Parameters:"ofd:Parameters",Parameter:"ofd:Parameter",Appearance:"ofd:Appearance"},z=[V.DocInfo,V.CustomData,V.Font,V.CommonData,V.PageArea,V.Page,V.MaxSignId,V.Layer,V.PathObject,V.TextObject,V.Signature,V.Reference,V.Annot,V.AxialShd,V.Action,V.ImageObject,V.StampAnnot,V.Clip,V.TemplatePage,V.OutlineElem,V.Parameter,V.Annot],X={CLICK:"CLICK"},W={Highlight:{value:"Highlight",subType:{Underline:"Underline",Highlight:"Highlight"}},Path:{value:"Path",subType:{Watercolor:"Watercolor",Fluorescent:"Fluorescent",Pen:"Pen",Strikeout:"Strikeout",Squiggly:"Squiggly"}},Stamp:{value:"Stamp",subType:{Stamp:"Stamp",SignatureInFile:"SignatureInFile"}}};class ${constructor(){Object.defineProperty(this,"attrsMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"children",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"tagName",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"fileName",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"signList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sealObject",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sealData",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"annots",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:null})}}new DOMParser;const Z=(e,t,i,r,n,a)=>{let s=[],o=0,c=0,l=parseFloat(n),u=parseFloat(a);for(let h=0;h<t.length;h++){let n=0,a=0;if(h>0&&i.length>0){let e=i[h-1];e||0===e?(l+=e,o=h-1):(e=i[o],l+=e),n=e}if(h>0&&r.length>0){let e=r[h-1];e||0===e?(u+=e,c=h-1):(e=r[c],u+=0),a=e}isNaN(l)&&(l=0),isNaN(u)&&(u=0);let d=t.substring(h,h+1),p={x:e.convertToDpi(l),y:e.convertToDpi(u),text:d,deltaX:n,deltaY:a};s.push(p)}return s},Y=e=>{const t={"<":"<",">":">","&":"&",""":'"',"'":"'"," ":" "," ":" "};return e.replace(/&[^;]+;/g,e=>t[e]||e)},Q=(e,t)=>{let i=Ud(t,G.FontSize);return i?e.convertToDpi(parseFloat(i)):null},J=(e,t)=>{let i=Ud(t,G.CTM);if(i){let t=i.split(" ");return`matrix(${t[0]} ${t[1]} ${t[2]} ${t[3]} ${e.convertToDpi(t[4])} ${e.convertToDpi(t[5])})`}return null},ee=(e,t)=>null,te=(e,t,i)=>{let r=Ud(t,i);return r?ie(e,r):[]},ie=function(e,t){if(-1===t.indexOf("g")){let i=[];const r=t.split(" ").filter(e=>e.trim().length>0);if(1===r.length){const t=parseFloat(r[0]);for(let r=0;r<e.length-1;r++)i.push(t);return i}for(let e of r)i.push(parseFloat(e));return i}{const i=t.split(" ");let r=[],n=0;const a=e.length-1;for(let e=0;e<i.length;e++){const t=i[e];if(t&&0!=t.trim().length)if("g"===t){if(e+2<i.length){const t=parseInt(i[e+1]),s=parseFloat(i[e+2]);for(let e=0;e<t&&n<a;e++)r.push(s),n++;e+=2}}else n<a&&(r.push(parseFloat(t)),n++)}for(;r.length<a;)r.length>0?r.push(r[r.length-1]):r.push(0);return r}},re=function(e){if(e){if(-1!==e.indexOf("#"))return"#"+(e=(e=e.replace(/#/g,"")).replace(/ /g,"")).toString();let t=e.split(" ");return`rgb(${t[0]}, ${t[1]}, ${t[2]})`}return"rgb(0, 0, 0)"},ne=function(e,t){if(e){if(-1!==e.indexOf("#"))return"#"+(e=(e=e.replace(/#/g,"")).replace(/ /g,"")).toString();let i=e.split(" ");return ae(parseInt(i[0]),parseInt(i[1]),parseInt(i[2]),t)}return"rgb(0, 0, 0)"},ae=(e,t,i,r)=>(e=Math.max(0,Math.min(255,e)),t=Math.max(0,Math.min(255,t)),i=Math.max(0,Math.min(255,i)),r=Math.max(0,Math.min(255,r)),`#${e.toString(16).padStart(2,"0")}${t.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}`),se=(e,t)=>{let i=Ud(e,G.ID);if(i){let e=parseInt(i);e>t.max&&(t.max=e),t.min>e&&(t.min=e)}if(e.children&&e.children.length>0)for(let r=0;r<e.children.length;r++){let i=e.children[r];se(i,t)}},oe=e=>e.startsWith("/")?e.substring(1,e.length):e;var ce=r(454);const le="function"==typeof Uint8Array;let ue;class he{static decode(e){let t,i="string"==typeof e;if(void 0===ue){let e="0123456789ABCDEF",i=" \f\n\r\t \u2028\u2029";for(ue=[],t=0;t<16;++t)ue[e.charCodeAt(t)]=t;for(e=e.toLowerCase(),t=10;t<16;++t)ue[e.charCodeAt(t)]=t;for(t=0;t<i.length;++t)ue[i.charCodeAt(t)]=-1}let r=le?new Uint8Array(e.length>>1):[],n=0,a=0,s=0;for(t=0;t<e.length;++t){let o=i?e.charCodeAt(t):e[t];if(o=ue[o],-1!=o){if(void 0===o)throw"Illegal character at offset "+t;n|=o,++a>=2?(r[s++]=n,n=0,a=0):n<<=4}}if(a)throw"Hex encoding incomplete: 4 bits missing";return le&&r.length>s&&(r=r.subarray(0,s)),r}}let de=1e13;class pe{constructor(e){this.buf=[+e||0]}mulAdd(e,t){let i,r,n=this.buf,a=n.length;for(i=0;i<a;++i)r=n[i]*e+t,r<de?t=0:r-=(t=0|r/de)*de,n[i]=r;t>0&&(n[i]=t)}sub(e){let t,i,r=this.buf,n=r.length;for(t=0;t<n;++t)i=r[t]-e,i<0?(i+=de,e=1):e=0,r[t]=i;for(;0===r[r.length-1];)r.pop()}toString(e){if(10!=(e||10))throw"only base 10 is supported";let t=this.buf,i=t[t.length-1].toString();for(let r=t.length-2;r>=0;--r)i+=(de+t[r]).toString().substring(1);return i}valueOf(){let e=this.buf,t=0;for(let i=e.length-1;i>=0;--i)t=t*de+e[i];return t}simplify(){let e=this.buf;return 1==e.length?e[0]:this}}const fe={"0.2.262.1.10":{d:"Telesec",c:"Deutsche Telekom"},"0.2.262.1.10.0":{d:"extension",c:"Telesec"},"0.2.262.1.10.1":{d:"mechanism",c:"Telesec"},"0.2.262.1.10.1.0":{d:"authentication",c:"Telesec mechanism"},"0.2.262.1.10.1.0.1":{d:"passwordAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.2":{d:"protectedPasswordAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.3":{d:"oneWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.4":{d:"twoWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.5":{d:"threeWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.6":{d:"oneWayISO9798Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.7":{d:"twoWayISO9798Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.8":{d:"telekomAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.1":{d:"signature",c:"Telesec mechanism"},"0.2.262.1.10.1.1.1":{d:"md4WithRSAAndISO9697",c:"Telesec mechanism"},"0.2.262.1.10.1.1.2":{d:"md4WithRSAAndTelesecSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.3":{d:"md5WithRSAAndISO9697",c:"Telesec mechanism"},"0.2.262.1.10.1.1.4":{d:"md5WithRSAAndTelesecSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.5":{d:"ripemd160WithRSAAndTelekomSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.9":{d:"hbciRsaSignature",c:"Telesec signature"},"0.2.262.1.10.1.2":{d:"encryption",c:"Telesec mechanism"},"0.2.262.1.10.1.2.0":{d:"none",c:"Telesec encryption"},"0.2.262.1.10.1.2.1":{d:"rsaTelesec",c:"Telesec encryption"},"0.2.262.1.10.1.2.2":{d:"des",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.1":{d:"desECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.2":{d:"desCBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.3":{d:"desOFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.4":{d:"desCFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.5":{d:"desCFB64",c:"Telesec encryption"},"0.2.262.1.10.1.2.3":{d:"des3",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.1":{d:"des3ECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.2":{d:"des3CBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.3":{d:"des3OFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.4":{d:"des3CFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.5":{d:"des3CFB64",c:"Telesec encryption"},"0.2.262.1.10.1.2.4":{d:"magenta",c:"Telesec encryption"},"0.2.262.1.10.1.2.5":{d:"idea",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.1":{d:"ideaECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.2":{d:"ideaCBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.3":{d:"ideaOFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.4":{d:"ideaCFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.5":{d:"ideaCFB64",c:"Telesec encryption"},"0.2.262.1.10.1.3":{d:"oneWayFunction",c:"Telesec mechanism"},"0.2.262.1.10.1.3.1":{d:"md4",c:"Telesec one-way function"},"0.2.262.1.10.1.3.2":{d:"md5",c:"Telesec one-way function"},"0.2.262.1.10.1.3.3":{d:"sqModNX509",c:"Telesec one-way function"},"0.2.262.1.10.1.3.4":{d:"sqModNISO",c:"Telesec one-way function"},"0.2.262.1.10.1.3.5":{d:"ripemd128",c:"Telesec one-way function"},"0.2.262.1.10.1.3.6":{d:"hashUsingBlockCipher",c:"Telesec one-way function"},"0.2.262.1.10.1.3.7":{d:"mac",c:"Telesec one-way function"},"0.2.262.1.10.1.3.8":{d:"ripemd160",c:"Telesec one-way function"},"0.2.262.1.10.1.4":{d:"fecFunction",c:"Telesec mechanism"},"0.2.262.1.10.1.4.1":{d:"reedSolomon",c:"Telesec mechanism"},"0.2.262.1.10.2":{d:"module",c:"Telesec"},"0.2.262.1.10.2.0":{d:"algorithms",c:"Telesec module"},"0.2.262.1.10.2.1":{d:"attributeTypes",c:"Telesec module"},"0.2.262.1.10.2.2":{d:"certificateTypes",c:"Telesec module"},"0.2.262.1.10.2.3":{d:"messageTypes",c:"Telesec module"},"0.2.262.1.10.2.4":{d:"plProtocol",c:"Telesec module"},"0.2.262.1.10.2.5":{d:"smeAndComponentsOfSme",c:"Telesec module"},"0.2.262.1.10.2.6":{d:"fec",c:"Telesec module"},"0.2.262.1.10.2.7":{d:"usefulDefinitions",c:"Telesec module"},"0.2.262.1.10.2.8":{d:"stefiles",c:"Telesec module"},"0.2.262.1.10.2.9":{d:"sadmib",c:"Telesec module"},"0.2.262.1.10.2.10":{d:"electronicOrder",c:"Telesec module"},"0.2.262.1.10.2.11":{d:"telesecTtpAsymmetricApplication",c:"Telesec module"},"0.2.262.1.10.2.12":{d:"telesecTtpBasisApplication",c:"Telesec module"},"0.2.262.1.10.2.13":{d:"telesecTtpMessages",c:"Telesec module"},"0.2.262.1.10.2.14":{d:"telesecTtpTimeStampApplication",c:"Telesec module"},"0.2.262.1.10.3":{d:"objectClass",c:"Telesec"},"0.2.262.1.10.3.0":{d:"telesecOtherName",c:"Telesec object class"},"0.2.262.1.10.3.1":{d:"directory",c:"Telesec object class"},"0.2.262.1.10.3.2":{d:"directoryType",c:"Telesec object class"},"0.2.262.1.10.3.3":{d:"directoryGroup",c:"Telesec object class"},"0.2.262.1.10.3.4":{d:"directoryUser",c:"Telesec object class"},"0.2.262.1.10.3.5":{d:"symmetricKeyEntry",c:"Telesec object class"},"0.2.262.1.10.4":{d:"package",c:"Telesec"},"0.2.262.1.10.5":{d:"parameter",c:"Telesec"},"0.2.262.1.10.6":{d:"nameBinding",c:"Telesec"},"0.2.262.1.10.7":{d:"attribute",c:"Telesec"},"0.2.262.1.10.7.0":{d:"applicationGroupIdentifier",c:"Telesec attribute"},"0.2.262.1.10.7.1":{d:"certificateType",c:"Telesec attribute"},"0.2.262.1.10.7.2":{d:"telesecCertificate",c:"Telesec attribute"},"0.2.262.1.10.7.3":{d:"certificateNumber",c:"Telesec attribute"},"0.2.262.1.10.7.4":{d:"certificateRevocationList",c:"Telesec attribute"},"0.2.262.1.10.7.5":{d:"creationDate",c:"Telesec attribute"},"0.2.262.1.10.7.6":{d:"issuer",c:"Telesec attribute"},"0.2.262.1.10.7.7":{d:"namingAuthority",c:"Telesec attribute"},"0.2.262.1.10.7.8":{d:"publicKeyDirectory",c:"Telesec attribute"},"0.2.262.1.10.7.9":{d:"securityDomain",c:"Telesec attribute"},"0.2.262.1.10.7.10":{d:"subject",c:"Telesec attribute"},"0.2.262.1.10.7.11":{d:"timeOfRevocation",c:"Telesec attribute"},"0.2.262.1.10.7.12":{d:"userGroupReference",c:"Telesec attribute"},"0.2.262.1.10.7.13":{d:"validity",c:"Telesec attribute"},"0.2.262.1.10.7.14":{d:"zert93",c:"Telesec attribute"},"0.2.262.1.10.7.15":{d:"securityMessEnv",c:"Telesec attribute"},"0.2.262.1.10.7.16":{d:"anonymizedPublicKeyDirectory",c:"Telesec attribute"},"0.2.262.1.10.7.17":{d:"telesecGivenName",c:"Telesec attribute"},"0.2.262.1.10.7.18":{d:"nameAdditions",c:"Telesec attribute"},"0.2.262.1.10.7.19":{d:"telesecPostalCode",c:"Telesec attribute"},"0.2.262.1.10.7.20":{d:"nameDistinguisher",c:"Telesec attribute"},"0.2.262.1.10.7.21":{d:"telesecCertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.22":{d:"teletrustCertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.23":{d:"x509CertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.24":{d:"timeOfIssue",c:"Telesec attribute"},"0.2.262.1.10.7.25":{d:"physicalCardNumber",c:"Telesec attribute"},"0.2.262.1.10.7.26":{d:"fileType",c:"Telesec attribute"},"0.2.262.1.10.7.27":{d:"ctlFileIsArchive",c:"Telesec attribute"},"0.2.262.1.10.7.28":{d:"emailAddress",c:"Telesec attribute"},"0.2.262.1.10.7.29":{d:"certificateTemplateList",c:"Telesec attribute"},"0.2.262.1.10.7.30":{d:"directoryName",c:"Telesec attribute"},"0.2.262.1.10.7.31":{d:"directoryTypeName",c:"Telesec attribute"},"0.2.262.1.10.7.32":{d:"directoryGroupName",c:"Telesec attribute"},"0.2.262.1.10.7.33":{d:"directoryUserName",c:"Telesec attribute"},"0.2.262.1.10.7.34":{d:"revocationFlag",c:"Telesec attribute"},"0.2.262.1.10.7.35":{d:"symmetricKeyEntryName",c:"Telesec attribute"},"0.2.262.1.10.7.36":{d:"glNumber",c:"Telesec attribute"},"0.2.262.1.10.7.37":{d:"goNumber",c:"Telesec attribute"},"0.2.262.1.10.7.38":{d:"gKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.39":{d:"zKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.40":{d:"ktKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.41":{d:"ktKeyNumber",c:"Telesec attribute"},"0.2.262.1.10.7.51":{d:"timeOfRevocationGen",c:"Telesec attribute"},"0.2.262.1.10.7.52":{d:"liabilityText",c:"Telesec attribute"},"0.2.262.1.10.8":{d:"attributeGroup",c:"Telesec"},"0.2.262.1.10.9":{d:"action",c:"Telesec"},"0.2.262.1.10.10":{d:"notification",c:"Telesec"},"0.2.262.1.10.11":{d:"snmp-mibs",c:"Telesec"},"0.2.262.1.10.11.1":{d:"securityApplication",c:"Telesec SNMP MIBs"},"0.2.262.1.10.12":{d:"certAndCrlExtensionDefinitions",c:"Telesec"},"0.2.262.1.10.12.0":{d:"liabilityLimitationFlag",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.1":{d:"telesecCertIdExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.2":{d:"Telesec policyIdentifier",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.3":{d:"telesecPolicyQualifierID",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.4":{d:"telesecCRLFilteredExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.5":{d:"telesecCRLFilterExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.6":{d:"telesecNamingAuthorityExt",c:"Telesec cert/CRL extension"},"0.4.0.127.0.7":{d:"bsi",c:"BSI TR-03110/TR-03111"},"0.4.0.127.0.7.1":{d:"bsiEcc",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1":{d:"bsifieldType",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.1":{d:"bsiPrimeField",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2":{d:"bsiCharacteristicTwoField",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.2":{d:"bsiECTLVKeyFormat",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.2.1":{d:"bsiECTLVPublicKey",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3":{d:"bsiCharacteristicTwoBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.1":{d:"bsiGnBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.2":{d:"bsiTpBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.3":{d:"bsiPpBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1":{d:"bsiEcdsaSignatures",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.1":{d:"bsiEcdsaWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.2":{d:"bsiEcdsaWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.3":{d:"bsiEcdsaWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.4":{d:"bsiEcdsaWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.5":{d:"bsiEcdsaWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.6":{d:"bsiEcdsaWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1":{d:"bsiEckaEgX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.1":{d:"bsiEckaEgX963KDFWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.2":{d:"bsiEckaEgX963KDFWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.3":{d:"bsiEckaEgX963KDFWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.4":{d:"bsiEckaEgX963KDFWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.5":{d:"bsiEckaEgX963KDFWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.6":{d:"bsiEckaEgX963KDFWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2":{d:"bsiEckaEgSessionKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.1":{d:"bsiEckaEgSessionKDFWith3DES",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.2":{d:"bsiEckaEgSessionKDFWithAES128",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.3":{d:"bsiEckaEgSessionKDFWithAES192",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.4":{d:"bsiEckaEgSessionKDFWithAES256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2":{d:"bsiEckaDH",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1":{d:"bsiEckaDHX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.1":{d:"bsiEckaDHX963KDFWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.2":{d:"bsiEckaDHX963KDFWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.3":{d:"bsiEckaDHX963KDFWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.4":{d:"bsiEckaDHX963KDFWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.5":{d:"bsiEckaDHX963KDFWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.6":{d:"bsiEckaDHX963KDFWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2":{d:"bsiEckaDHSessionKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.1":{d:"bsiEckaDHSessionKDFWith3DES",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.2":{d:"bsiEckaDHSessionKDFWithAES128",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.3":{d:"bsiEckaDHSessionKDFWithAES192",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.4":{d:"bsiEckaDHSessionKDFWithAES256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.2":{d:"bsiEcKeyType",c:"BSI TR-03111"},"0.4.0.127.0.7.1.2.1":{d:"bsiEcPublicKey",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1":{d:"bsiKaeg",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1.1":{d:"bsiKaegWithX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1.2":{d:"bsiKaegWith3DESKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.2.2.1":{d:"bsiPK",c:"BSI TR-03110. Formerly known as bsiCA, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.1.1":{d:"bsiPK_DH",c:"BSI TR-03110. Formerly known as bsiCA_DH, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.1.2":{d:"bsiPK_ECDH",c:"BSI TR-03110. Formerly known as bsiCA_ECDH, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.2":{d:"bsiTA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1":{d:"bsiTA_RSA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.1":{d:"bsiTA_RSAv1_5_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.2":{d:"bsiTA_RSAv1_5_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.3":{d:"bsiTA_RSAPSS_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.4":{d:"bsiTA_RSAPSS_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.5":{d:"bsiTA_RSAv1_5_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.6":{d:"bsiTA_RSAPSS_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2":{d:"bsiTA_ECDSA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.1":{d:"bsiTA_ECDSA_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.2":{d:"bsiTA_ECDSA_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.3":{d:"bsiTA_ECDSA_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.4":{d:"bsiTA_ECDSA_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.5":{d:"bsiTA_ECDSA_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3":{d:"bsiCA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1":{d:"bsiCA_DH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.1":{d:"bsiCA_DH_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.2":{d:"bsiCA_DH_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.3":{d:"bsiCA_DH_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.4":{d:"bsiCA_DH_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2":{d:"bsiCA_ECDH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.1":{d:"bsiCA_ECDH_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.2":{d:"bsiCA_ECDH_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.3":{d:"bsiCA_ECDH_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.4":{d:"bsiCA_ECDH_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4":{d:"bsiPACE",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1":{d:"bsiPACE_DH_GM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.1":{d:"bsiPACE_DH_GM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.2":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.3":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.4":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2":{d:"bsiPACE_ECDH_GM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.1":{d:"bsiPACE_ECDH_GM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.2":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.3":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.4":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3":{d:"bsiPACE_DH_IM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.1":{d:"bsiPACE_DH_IM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.2":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.3":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.4":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4":{d:"bsiPACE_ECDH_IM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.1":{d:"bsiPACE_ECDH_IM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.2":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.3":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.4":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5":{d:"bsiRI",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1":{d:"bsiRI_DH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.1":{d:"bsiRI_DH_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.2":{d:"bsiRI_DH_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.3":{d:"bsiRI_DH_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.4":{d:"bsiRI_DH_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.5":{d:"bsiRI_DH_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2":{d:"bsiRI_ECDH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.1":{d:"bsiRI_ECDH_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.2":{d:"bsiRI_ECDH_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.3":{d:"bsiRI_ECDH_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.4":{d:"bsiRI_ECDH_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.5":{d:"bsiRI_ECDH_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.6":{d:"bsiCardInfo",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.7":{d:"bsiEidSecurity",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.8":{d:"bsiPT",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2":{d:"bsiEACRoles",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.1":{d:"bsiEACRolesIS",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.2":{d:"bsiEACRolesAT",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.3":{d:"bsiEACRolesST",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3":{d:"bsiTAv2ce",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1":{d:"bsiTAv2ceDescription",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.1":{d:"bsiTAv2ceDescriptionPlainText",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.2":{d:"bsiTAv2ceDescriptionIA5String",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.3":{d:"bsiTAv2ceDescriptionOctetString",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.2":{d:"bsiTAv2ceTerminalSector",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4":{d:"bsiAuxData",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.1":{d:"bsiAuxDataBirthday",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.2":{d:"bsiAuxDataExpireDate",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.3":{d:"bsiAuxDataCommunityID",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5":{d:"bsiDefectList",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1":{d:"bsiDefectAuthDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.1":{d:"bsiDefectCertRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.2":{d:"bsiDefectCertReplaced",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.3":{d:"bsiDefectChipAuthKeyRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.4":{d:"bsiDefectActiveAuthKeyRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2":{d:"bsiDefectEPassportDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2.1":{d:"bsiDefectEPassportDGMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2.2":{d:"bsiDefectSODInvalid",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3":{d:"bsiDefectEIDDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3.1":{d:"bsiDefectEIDDGMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3.2":{d:"bsiDefectEIDIntegrity",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4":{d:"bsiDefectDocumentDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.1":{d:"bsiDefectCardSecurityMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.2":{d:"bsiDefectChipSecurityMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.3":{d:"bsiDefectPowerDownReq",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.6":{d:"bsiListContentDescription",c:"BSI TR-03110"},"0.4.0.127.0.7.3.2.1":{d:"bsiSecurityObject",c:"BSI TR-03110"},"0.4.0.127.0.7.3.2.2":{d:"bsiBlackList",c:"BSI TR-03110"},"0.4.0.127.0.7.3.4.2.2":{d:"bsiSignedUpdateDeviceAdmin",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.1":{d:"bsiCertReqMsgs",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.2":{d:"bsiCertReqMsgswithOuterSignature",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.3":{d:"bsiAuthorizedCertReqMsgs",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.2.2":{d:"bsiSignedRevReqs",c:"BSI TR-03109"},"0.4.0.1862":{d:"etsiQcsProfile",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1":{d:"etsiQcs",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.1":{d:"etsiQcsCompliance",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.2":{d:"etsiQcsLimitValue",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.3":{d:"etsiQcsRetentionPeriod",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.4":{d:"etsiQcsQcSSCD",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.5":{d:"etsiQcsQcPDS",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.6":{d:"etsiQcsQcType",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.6.1":{d:"etsiQcsQctEsign",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.6.2":{d:"etsiQcsQctEseal",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.1862.1.6.3":{d:"etsiQcsQctWeb",c:"ETSI TS 101 862 Qualified Certificates"},"0.4.0.2042.1.1":{d:"normalisedCertificatePolicy",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.2":{d:"normalisedCertificatePolicyPlus",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.3":{d:"lightweightCertificatePolicy",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.4":{d:"evCertificatePolicy",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.5":{d:"evCertificatePolicyPlus",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.6":{d:"dvCertificatePolicy",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.2042.1.7":{d:"ovCertificatePolicy",c:"ETSI TS 102 042 Certificate Policies"},"0.4.0.194112.1.0":{d:"qcpNatural",c:"EU Qualified Certificate Policy"},"0.4.0.194112.1.1":{d:"qcpLegal",c:"EU Qualified Certificate Policy"},"0.4.0.194112.1.2":{d:"qcpNaturalQscd",c:"EU Qualified Certificate Policy"},"0.4.0.194112.1.3":{d:"qcpLegalQscd",c:"EU Qualified Certificate Policy"},"0.4.0.194112.1.4":{d:"qcpWeb",c:"EU Qualified Certificate Policy"},"0.4.0.194121.1.1":{d:"qcsSemanticsIdNatural",c:"EU Qualified Certificate Identifier"},"0.4.0.194121.1.2":{d:"qcsSemanticsIdLegal",c:"EU Qualified Certificate Identifier"},"0.4.0.194121.1.3":{d:"qcsSemanticsIdeIDASNatural",c:"EU Qualified Certificate Identifier"},"0.4.0.194121.1.4":{d:"qcsSemanticsIdeIDASLegal",c:"EU Qualified Certificate Identifier"},"0.9.2342.19200300.100.1.1":{d:"userID",c:"Some oddball X.500 attribute collection"},"0.9.2342.19200300.100.1.3":{d:"rfc822Mailbox",c:"Some oddball X.500 attribute collection"},"0.9.2342.19200300.100.1.25":{d:"domainComponent",c:"Men are from Mars, this OID is from Pluto"},"1.0.10118.3.0.49":{d:"ripemd160",c:"ISO 10118-3 hash function"},"1.0.10118.3.0.50":{d:"ripemd128",c:"ISO 10118-3 hash function"},"1.0.10118.3.0.55":{d:"whirlpool",c:"ISO 10118-3 hash function"},"1.0.18033.2":{d:"iso18033-2",c:"ISO 18033-2"},"1.0.18033.2.2":{d:"kem",c:"ISO 18033-2 algorithms"},"1.0.18033.2.2.4":{d:"kemRSA",c:"ISO 18033-2 KEM algorithms"},"1.2.36.1.3.1.1.1":{d:"qgpki",c:"Queensland Government PKI"},"1.2.36.1.3.1.1.1.1":{d:"qgpkiPolicies",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.1.1":{d:"qgpkiMedIntermedCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.1":{d:"qgpkiMedIntermedIndividual",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.2":{d:"qgpkiMedIntermedDeviceControl",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.3":{d:"qgpkiMedIntermedDevice",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.4":{d:"qgpkiMedIntermedAuthorisedParty",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.5":{d:"qgpkiMedIntermedDeviceSystem",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2":{d:"qgpkiMedIssuingCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.1":{d:"qgpkiMedIssuingIndividual",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.2":{d:"qgpkiMedIssuingDeviceControl",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.3":{d:"qgpkiMedIssuingDevice",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.4":{d:"qgpkiMedIssuingAuthorisedParty",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.5":{d:"qgpkiMedIssuingClientAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.6":{d:"qgpkiMedIssuingServerAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.7":{d:"qgpkiMedIssuingDataProt",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.8":{d:"qgpkiMedIssuingTokenAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.3":{d:"qgpkiBasicIntermedCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.3.1":{d:"qgpkiBasicIntermedDeviceSystem",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4":{d:"qgpkiBasicIssuingCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.1":{d:"qgpkiBasicIssuingClientAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.2":{d:"qgpkiBasicIssuingServerAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.3":{d:"qgpkiBasicIssuingDataSigning",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.2":{d:"qgpkiAssuranceLevel",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.1":{d:"qgpkiAssuranceRudimentary",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.2":{d:"qgpkiAssuranceBasic",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.3":{d:"qgpkiAssuranceMedium",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.4":{d:"qgpkiAssuranceHigh",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.3":{d:"qgpkiCertFunction",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.1":{d:"qgpkiFunctionIndividual",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.2":{d:"qgpkiFunctionDevice",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.3":{d:"qgpkiFunctionAuthorisedParty",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.4":{d:"qgpkiFunctionDeviceControl",c:"QGPKI policies"},"1.2.36.1.3.1.2":{d:"qpspki",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1":{d:"qpspkiPolicies",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.2":{d:"qpspkiPolicyBasic",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.3":{d:"qpspkiPolicyMedium",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.4":{d:"qpspkiPolicyHigh",c:"Queensland Police PKI"},"1.2.36.1.3.1.3.2":{d:"qtmrpki",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.1":{d:"qtmrpkiPolicies",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.2":{d:"qtmrpkiPurpose",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.2.1":{d:"qtmrpkiIndividual",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.2":{d:"qtmrpkiDeviceControl",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.3":{d:"qtmrpkiDevice",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.4":{d:"qtmrpkiAuthorisedParty",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.5":{d:"qtmrpkiDeviceSystem",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.3":{d:"qtmrpkiDevice",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.3.1":{d:"qtmrpkiDriverLicense",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.2":{d:"qtmrpkiIndustryAuthority",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.3":{d:"qtmrpkiMarineLicense",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.4":{d:"qtmrpkiAdultProofOfAge",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.5":{d:"qtmrpkiSam",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.4":{d:"qtmrpkiAuthorisedParty",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.4.1":{d:"qtmrpkiTransportInspector",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.2":{d:"qtmrpkiPoliceOfficer",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.3":{d:"qtmrpkiSystem",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.4":{d:"qtmrpkiLiquorLicensingInspector",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.5":{d:"qtmrpkiMarineEnforcementOfficer",c:"Queensland Transport PKI authorised party"},"1.2.36.1.333.1":{d:"australianBusinessNumber",c:"Australian Government corporate taxpayer ID"},"1.2.36.68980861.1.1.2":{d:"signetPersonal",c:"Signet CA"},"1.2.36.68980861.1.1.3":{d:"signetBusiness",c:"Signet CA"},"1.2.36.68980861.1.1.4":{d:"signetLegal",c:"Signet CA"},"1.2.36.68980861.1.1.10":{d:"signetPilot",c:"Signet CA"},"1.2.36.68980861.1.1.11":{d:"signetIntraNet",c:"Signet CA"},"1.2.36.68980861.1.1.20":{d:"signetPolicy",c:"Signet CA"},"1.2.36.75878867.1.100.1.1":{d:"certificatesAustraliaPolicy",c:"Certificates Australia CA"},"1.2.112.0.2.0.34.101.45.2.1":{d:"bignPubkey",c:"Belarus STB 34.101.45"},"1.2.112.0.2.0.34.101.45.3.1":{d:"bignParamB1",c:"Belarus STB 34.101.45"},"1.2.112.0.2.0.34.101.45.3.2":{d:"bignParamB2",c:"Belarus STB 34.101.45"},"1.2.112.0.2.0.34.101.45.3.3":{d:"bignParamB3",c:"Belarus STB 34.101.45"},"1.2.112.0.2.0.34.101.45.11":{d:"bignWithHSpec",c:"Belarus STB 34.101.45"},"1.2.112.0.2.0.34.101.45.12":{d:"bignWithHBelt",c:"Belarus STB 34.101.45"},"1.2.156.10197.1":{d:"gmtCryptographicAlgorithm",c:"China GM Standards Committee"},"1.2.156.10197.1.100":{d:"gmtBlockCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.102":{d:"sm1Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.103":{d:"ssf33Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.104":{d:"sm4Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.200":{d:"gmtStreamCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.201":{d:"zucCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.300":{d:"gmtPublicKeyCryptography",c:"China GM Standards Committee"},"1.2.156.10197.1.301":{d:"sm2ECC",c:"China GM Standards Committee"},"1.2.156.10197.1.301.1":{d:"sm2-1DigitalSignature",c:"China GM Standards Committee"},"1.2.156.10197.1.301.2":{d:"sm2-2KeyExchange",c:"China GM Standards Committee"},"1.2.156.10197.1.301.3":{d:"sm2-3PublicKeyEncryption",c:"China GM Standards Committee"},"1.2.156.10197.1.302":{d:"gmtSM9IBE",c:"China GM Standards Committee"},"1.2.156.10197.1.302.1":{d:"sm9-1DigitalSignature",c:"China GM Standards Committee"},"1.2.156.10197.1.302.2":{d:"sm9-2KeyExchange",c:"China GM Standards Committee"},"1.2.156.10197.1.302.3":{d:"sm9-3PublicKeyEncryption",c:"China GM Standards Committee"},"1.2.156.10197.1.400":{d:"gmtHashAlgorithm",c:"China GM Standards Committee"},"1.2.156.10197.1.401":{d:"sm3Hash",c:"China GM Standards Committee"},"1.2.156.10197.1.401.1":{d:"sm3HashWithoutKey",c:"China GM Standards Committee"},"1.2.156.10197.1.401.2":{d:"sm3HashWithKey",c:"China GM Standards Committee"},"1.2.156.10197.1.500":{d:"gmtDigestSigning",c:"China GM Standards Committee"},"1.2.156.10197.1.501":{d:"sm2withSM3",c:"China GM Standards Committee"},"1.2.156.10197.1.504":{d:"rsaWithSM3",c:"China GM Standards Committee"},"1.2.156.10197.4.3":{d:"gmtCertificateAuthority",c:"China GM Standards Committee"},"1.2.156.10197.6":{d:"gmtStandardClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1":{d:"gmtFoundationClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1":{d:"gmtAlgorithmClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.1":{d:"zucStandard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.2":{d:"sm4Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.3":{d:"sm2Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.4":{d:"sm3Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.2":{d:"gmtIDClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.2.1":{d:"gmtCryptoID",c:"China GM Standards Committee"},"1.2.156.10197.6.1.3":{d:"gmtOperationModes",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4":{d:"gmtSecurityMechanism",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4.1":{d:"gmtSM2Specification",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4.2":{d:"gmtSM2CryptographicMessageSyntax",c:"China GM Standards Committee"},"1.2.156.10197.6.2":{d:"gmtDeviceClass",c:"China GM Standards Committee"},"1.2.156.10197.6.3":{d:"gmtServiceClass",c:"China GM Standards Committee"},"1.2.156.10197.6.4":{d:"gmtInfrastructure",c:"China GM Standards Committee"},"1.2.156.10197.6.5":{d:"gmtTestingClass",c:"China GM Standards Committee"},"1.2.156.10197.6.5.1":{d:"gmtRandomTestingClass",c:"China GM Standards Committee"},"1.2.156.10197.6.6":{d:"gmtManagementClass",c:"China GM Standards Committee"},"1.2.392.200011.61.1.1.1":{d:"mitsubishiSecurityAlgorithm",c:"Mitsubishi security algorithm"},"1.2.392.200011.61.1.1.1.1":{d:"misty1-cbc",c:"Mitsubishi security algorithm"},"1.2.410.200004.1":{d:"kisaAlgorithm",c:"KISA algorithm"},"1.2.410.200004.1.1":{d:"kcdsa",c:"Korean DSA"},"1.2.410.200004.1.2":{d:"has160",c:"Korean hash algorithm"},"1.2.410.200004.1.3":{d:"seedECB",c:"Korean SEED algorithm, ECB mode"},"1.2.410.200004.1.4":{d:"seedCBC",c:"Korean SEED algorithm, CBC mode"},"1.2.410.200004.1.5":{d:"seedOFB",c:"Korean SEED algorithm, OFB mode"},"1.2.410.200004.1.6":{d:"seedCFB",c:"Korean SEED algorithm, CFB mode"},"1.2.410.200004.1.7":{d:"seedMAC",c:"Korean SEED algorithm, MAC mode"},"1.2.410.200004.1.8":{d:"kcdsaWithHAS160",c:"Korean signature algorithm"},"1.2.410.200004.1.9":{d:"kcdsaWithSHA1",c:"Korean signature algorithm"},"1.2.410.200004.1.10":{d:"pbeWithHAS160AndSEED-ECB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.11":{d:"pbeWithHAS160AndSEED-CBC",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.12":{d:"pbeWithHAS160AndSEED-CFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.13":{d:"pbeWithHAS160AndSEED-OFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.14":{d:"pbeWithSHA1AndSEED-ECB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.15":{d:"pbeWithSHA1AndSEED-CBC",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.16":{d:"pbeWithSHA1AndSEED-CFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.17":{d:"pbeWithSHA1AndSEED-OFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.20":{d:"rsaWithHAS160",c:"Korean signature algorithm"},"1.2.410.200004.1.21":{d:"kcdsa1",c:"Korean DSA"},"1.2.410.200004.2":{d:"npkiCP",c:"KISA NPKI certificate policies"},"1.2.410.200004.2.1":{d:"npkiSignaturePolicy",c:"KISA NPKI certificate policies"},"1.2.410.200004.3":{d:"npkiKP",c:"KISA NPKI key usage"},"1.2.410.200004.4":{d:"npkiAT",c:"KISA NPKI attribute"},"1.2.410.200004.5":{d:"npkiLCA",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.1":{d:"npkiSignKorea",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.2":{d:"npkiSignGate",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.3":{d:"npkiNcaSign",c:"KISA NPKI licensed CA"},"1.2.410.200004.6":{d:"npkiON",c:"KISA NPKI otherName"},"1.2.410.200004.7":{d:"npkiAPP",c:"KISA NPKI application"},"1.2.410.200004.7.1":{d:"npkiSMIME",c:"KISA NPKI application"},"1.2.410.200004.7.1.1":{d:"npkiSMIMEAlgo",c:"KISA NPKI application"},"1.2.410.200004.7.1.1.1":{d:"npkiCmsSEEDWrap",c:"KISA NPKI application"},"1.2.410.200004.10":{d:"npki",c:"KISA NPKI"},"1.2.410.200004.10.1":{d:"npkiAttribute",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1":{d:"npkiIdentifyData",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.1":{d:"npkiVID",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.2":{d:"npkiEncryptedVID",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.3":{d:"npkiRandomNum",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.4":{d:"npkiVID",c:"KISA NPKI attribute"},"1.2.410.200046.1.1":{d:"aria1AlgorithmModes",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.1":{d:"aria128-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.2":{d:"aria128-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.3":{d:"aria128-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.4":{d:"aria128-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.5":{d:"aria128-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.6":{d:"aria192-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.7":{d:"aria192-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.8":{d:"aria192-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.9":{d:"aria192-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.10":{d:"aria192-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.11":{d:"aria256-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.12":{d:"aria256-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.13":{d:"aria256-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.14":{d:"aria256-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.15":{d:"aria256-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.21":{d:"aria128-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.22":{d:"aria192-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.23":{d:"aria256-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.31":{d:"aria128-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.32":{d:"aria192-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.33":{d:"aria256-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.34":{d:"aria128-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.35":{d:"aria192-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.36":{d:"aria256-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.37":{d:"aria128-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.38":{d:"aria192-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.39":{d:"aria256-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.40":{d:"aria128-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.41":{d:"aria192-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.42":{d:"aria256-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.43":{d:"aria128-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.44":{d:"aria192-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.45":{d:"aria256-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.643.2.2.3":{d:"gostSignature",c:"GOST R 34.10-2001 + GOST R 34.11-94 signature"},"1.2.643.2.2.4":{d:"gost94Signature",c:"GOST R 34.10-94 + GOST R 34.11-94 signature. Obsoleted by GOST R 34.10-2001",w:!0},"1.2.643.2.2.19":{d:"gostPublicKey",c:"GOST R 34.10-2001 (ECC) public key"},"1.2.643.2.2.20":{d:"gost94PublicKey",c:"GOST R 34.10-94 public key. Obsoleted by GOST R 34.10-2001",w:!0},"1.2.643.2.2.21":{d:"gostCipher",c:"GOST 28147-89 (symmetric key block cipher)"},"1.2.643.2.2.31.0":{d:"testCipherParams",c:"Test params for GOST 28147-89"},"1.2.643.2.2.31.1":{d:"cryptoProCipherA",c:"CryptoPro params A (default, variant 'Verba-O') for GOST 28147-89"},"1.2.643.2.2.31.2":{d:"cryptoProCipherB",c:"CryptoPro params B (variant 1) for GOST 28147-89"},"1.2.643.2.2.31.3":{d:"cryptoProCipherC",c:"CryptoPro params C (variant 2) for GOST 28147-89"},"1.2.643.2.2.31.4":{d:"cryptoProCipherD",c:"CryptoPro params D (variant 3) for GOST 28147-89"},"1.2.643.2.2.31.5":{d:"oscar11Cipher",c:"Oscar-1.1 params for GOST 28147-89"},"1.2.643.2.2.31.6":{d:"oscar10Cipher",c:"Oscar-1.0 params for GOST 28147-89"},"1.2.643.2.2.31.7":{d:"ric1Cipher",c:"RIC-1 params for GOST 28147-89"},"1.2.643.2.2.31.12":{d:"tc26CipherA",c:"TC26 params 2 for GOST 28147-89"},"1.2.643.2.2.31.13":{d:"tc26CipherB",c:"TC26 params 1 for GOST 28147-89"},"1.2.643.2.2.31.14":{d:"tc26CipherC",c:"TC26 params 3 for GOST 28147-89"},"1.2.643.2.2.31.15":{d:"tc26CipherD",c:"TC26 params 4 for GOST 28147-89"},"1.2.643.2.2.31.16":{d:"tc26CipherE",c:"TC26 params 5 for GOST 28147-89"},"1.2.643.2.2.31.17":{d:"tc26CipherF",c:"TC26 params 6 for GOST 28147-89"},"1.2.643.7.1.2.5.1.1":{d:"tc26CipherZ",c:"TC26 params Z for GOST 28147-89"},"1.2.643.2.2.9":{d:"gostDigest",c:"GOST R 34.11-94 digest"},"1.2.643.2.2.30.0":{d:"testDigestParams",c:"Test params for GOST R 34.11-94"},"1.2.643.2.2.30.1":{d:"cryptoProDigestA",c:"CryptoPro digest params A (default, variant 'Verba-O') for GOST R 34.11-94"},"1.2.643.2.2.30.2":{d:"cryptoProDigestB",c:"CryptoPro digest params B (variant 1) for GOST R 34.11-94"},"1.2.643.2.2.30.3":{d:"cryptoProDigestC",c:"CryptoPro digest params C (variant 2) for GOST R 34.11-94"},"1.2.643.2.2.30.4":{d:"cryptoProDigestD",c:"CryptoPro digest params D (variant 3) for GOST R 34.11-94"},"1.2.643.2.2.32.2":{d:"cryptoPro94SignA",c:"CryptoPro sign params A (default, variant 'Verba-O') for GOST R 34.10-94"},"1.2.643.2.2.32.3":{d:"cryptoPro94SignB",c:"CryptoPro sign params B (variant 1) for GOST R 34.10-94"},"1.2.643.2.2.32.4":{d:"cryptoPro94SignC",c:"CryptoPro sign params C (variant 2) for GOST R 34.10-94"},"1.2.643.2.2.32.5":{d:"cryptoPro94SignD",c:"CryptoPro sign params D (variant 3) for GOST R 34.10-94"},"1.2.643.2.2.33.1":{d:"cryptoPro94SignXA",c:"CryptoPro sign params XA (variant 1) for GOST R 34.10-94"},"1.2.643.2.2.33.2":{d:"cryptoPro94SignXB",c:"CryptoPro sign params XB (variant 2) for GOST R 34.10-94"},"1.2.643.2.2.33.3":{d:"cryptoPro94SignXC",c:"CryptoPro sign params XC (variant 3) for GOST R 34.10-94"},"1.2.643.2.2.35.0":{d:"testSignParams",c:"Test elliptic curve for GOST R 34.10-2001"},"1.2.643.2.2.35.1":{d:"cryptoProSignA",c:"CryptoPro ell.curve A for GOST R 34.10-2001"},"1.2.643.2.2.35.2":{d:"cryptoProSignB",c:"CryptoPro ell.curve B for GOST R 34.10-2001"},"1.2.643.2.2.35.3":{d:"cryptoProSignC",c:"CryptoPro ell.curve C for GOST R 34.10-2001"},"1.2.643.2.2.36.0":{d:"cryptoProSignXA",c:"CryptoPro ell.curve XA for GOST R 34.10-2001"},"1.2.643.2.2.36.1":{d:"cryptoProSignXB",c:"CryptoPro ell.curve XB for GOST R 34.10-2001"},"1.2.643.7.1.2.1.1.1":{d:"cryptoPro2012Sign256A",c:"CryptoPro ell.curve A for GOST R 34.10-2012 256 bit"},"1.2.643.7.1.2.1.2.1":{d:"cryptoPro2012Sign512A",c:"CryptoPro ell.curve A (default) for GOST R 34.10-2012 512 bit"},"1.2.643.7.1.2.1.2.2":{d:"cryptoPro2012Sign512B",c:"CryptoPro ell.curve B for GOST R 34.10-2012 512 bit"},"1.2.643.7.1.2.1.2.3":{d:"cryptoPro2012Sign512C",c:"CryptoPro ell.curve C for GOST R 34.10-2012 512 bit"},"1.2.643.2.2.14.0":{d:"nullMeshing",c:"Do not mesh state of GOST 28147-89 cipher"},"1.2.643.2.2.14.1":{d:"cryptoProMeshing",c:"CryptoPro meshing of state of GOST 28147-89 cipher"},"1.2.643.2.2.10":{d:"hmacGost",c:"HMAC with GOST R 34.11-94"},"1.2.643.2.2.13.0":{d:"gostWrap",c:"Wrap key using GOST 28147-89 key"},"1.2.643.2.2.13.1":{d:"cryptoProWrap",c:"Wrap key using diversified GOST 28147-89 key"},"1.2.643.2.2.96":{d:"cryptoProECDHWrap",c:"Wrap key using ECC DH on GOST R 34.10-2001 keys (VKO)"},"1.2.643.7.1.1.1.1":{d:"gost2012PublicKey256",c:"GOST R 34.10-2012 256 bit public key"},"1.2.643.7.1.1.1.2":{d:"gost2012PublicKey512",c:"GOST R 34.10-2012 512 bit public key"},"1.2.643.7.1.1.2.2":{d:"gost2012Digest256",c:"GOST R 34.11-2012 256 bit digest"},"1.2.643.7.1.1.2.3":{d:"gost2012Digest512",c:"GOST R 34.11-2012 512 bit digest"},"1.2.643.7.1.1.3.2":{d:"gost2012Signature256",c:"GOST R 34.10-2012 256 bit signature"},"1.2.643.7.1.1.3.3":{d:"gost2012Signature512",c:"GOST R 34.10-2012 512 bit signature"},"1.2.643.7.1.1.6.1":{d:"cryptoProECDH256",c:"CryptoPro ECC DH algorithm for GOST R 34.10-2012 256 bit key"},"1.2.643.7.1.1.6.2":{d:"cryptoProECDH512",c:"CryptoPro ECC DH algorithm for GOST R 34.10-2012 512 bit key"},"1.2.643.100.113.1":{d:"cryptoProClassSignToolKC1",c:"CryptoPro GOST"},"1.2.643.100.113.2":{d:"cryptoProClassSignToolKC2",c:"CryptoPro GOST"},"1.2.643.100.113.3":{d:"cryptoProClassSignToolKC3",c:"CryptoPro GOST"},"1.2.643.100.113.4":{d:"cryptoProClassSignToolKB1",c:"CryptoPro GOST"},"1.2.643.100.113.5":{d:"cryptoProClassSignToolKB2",c:"CryptoPro GOST"},"1.2.643.100.113.6":{d:"cryptoProClassSignToolKA1",c:"CryptoPro GOST"},"1.2.752.34.1":{d:"seis-cp",c:"SEIS Project"},"1.2.752.34.1.1":{d:"SEIS high-assurance policyIdentifier",c:"SEIS Project certificate policies"},"1.2.752.34.1.2":{d:"SEIS GAK policyIdentifier",c:"SEIS Project certificate policies"},"1.2.752.34.2":{d:"SEIS pe",c:"SEIS Project"},"1.2.752.34.3":{d:"SEIS at",c:"SEIS Project"},"1.2.752.34.3.1":{d:"SEIS at-personalIdentifier",c:"SEIS Project attribute"},"1.2.840.10040.1":{d:"module",c:"ANSI X9.57"},"1.2.840.10040.1.1":{d:"x9f1-cert-mgmt",c:"ANSI X9.57 module"},"1.2.840.10040.2":{d:"holdinstruction",c:"ANSI X9.57"},"1.2.840.10040.2.1":{d:"holdinstruction-none",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.2":{d:"callissuer",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.3":{d:"reject",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.4":{d:"pickupToken",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.3":{d:"attribute",c:"ANSI X9.57"},"1.2.840.10040.3.1":{d:"countersignature",c:"ANSI X9.57 attribute"},"1.2.840.10040.3.2":{d:"attribute-cert",c:"ANSI X9.57 attribute"},"1.2.840.10040.4":{d:"algorithm",c:"ANSI X9.57"},"1.2.840.10040.4.1":{d:"dsa",c:"ANSI X9.57 algorithm"},"1.2.840.10040.4.2":{d:"dsa-match",c:"ANSI X9.57 algorithm"},"1.2.840.10040.4.3":{d:"dsaWithSha1",c:"ANSI X9.57 algorithm"},"1.2.840.10045.1":{d:"fieldType",c:"ANSI X9.62. This OID is also assigned as ecdsa-with-SHA1"},"1.2.840.10045.1.1":{d:"prime-field",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2":{d:"characteristic-two-field",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2.3":{d:"characteristic-two-basis",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2.3.1":{d:"onBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.1.2.3.2":{d:"tpBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.1.2.3.3":{d:"ppBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.2":{d:"publicKeyType",c:"ANSI X9.62"},"1.2.840.10045.2.1":{d:"ecPublicKey",c:"ANSI X9.62 public key type"},"1.2.840.10045.3.0.1":{d:"c2pnb163v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.2":{d:"c2pnb163v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.3":{d:"c2pnb163v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.5":{d:"c2tnb191v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.6":{d:"c2tnb191v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.7":{d:"c2tnb191v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.10":{d:"c2pnb208w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.11":{d:"c2tnb239v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.12":{d:"c2tnb239v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.13":{d:"c2tnb239v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.16":{d:"c2pnb272w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.18":{d:"c2tnb359v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.19":{d:"c2pnb368w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.20":{d:"c2tnb431r1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.1":{d:"prime192v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.2":{d:"prime192v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.3":{d:"prime192v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.4":{d:"prime239v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.5":{d:"prime239v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.6":{d:"prime239v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.7":{d:"prime256v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.4.1":{d:"ecdsaWithSHA1",c:"ANSI X9.62 ECDSA algorithm with SHA1"},"1.2.840.10045.4.2":{d:"ecdsaWithRecommended",c:"ANSI X9.62 ECDSA algorithm with Recommended"},"1.2.840.10045.4.3":{d:"ecdsaWithSpecified",c:"ANSI X9.62 ECDSA algorithm with Specified"},"1.2.840.10045.4.3.1":{d:"ecdsaWithSHA224",c:"ANSI X9.62 ECDSA algorithm with SHA224"},"1.2.840.10045.4.3.2":{d:"ecdsaWithSHA256",c:"ANSI X9.62 ECDSA algorithm with SHA256"},"1.2.840.10045.4.3.3":{d:"ecdsaWithSHA384",c:"ANSI X9.62 ECDSA algorithm with SHA384"},"1.2.840.10045.4.3.4":{d:"ecdsaWithSHA512",c:"ANSI X9.62 ECDSA algorithm with SHA512"},"1.2.840.10046.1":{d:"fieldType",c:"ANSI X9.42"},"1.2.840.10046.1.1":{d:"gf-prime",c:"ANSI X9.42 field type"},"1.2.840.10046.2":{d:"numberType",c:"ANSI X9.42"},"1.2.840.10046.2.1":{d:"dhPublicKey",c:"ANSI X9.42 number type"},"1.2.840.10046.3":{d:"scheme",c:"ANSI X9.42"},"1.2.840.10046.3.1":{d:"dhStatic",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.2":{d:"dhEphem",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.3":{d:"dhHybrid1",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.4":{d:"dhHybrid2",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.5":{d:"mqv2",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.6":{d:"mqv1",c:"ANSI X9.42 scheme"},"1.2.840.10065.2.2":{d:"?",c:"ASTM 31.20"},"1.2.840.10065.2.3":{d:"healthcareLicense",c:"ASTM 31.20"},"1.2.840.10065.2.3.1.1":{d:"license?",c:"ASTM 31.20 healthcare license type"},"1.2.840.10070":{d:"iec62351",c:"IEC 62351"},"1.2.840.10070.8":{d:"iec62351_8",c:"IEC 62351-8"},"1.2.840.10070.8.1":{d:"iecUserRoles",c:"IEC 62351-8"},"1.2.840.113533.7":{d:"nsn",c:""},"1.2.840.113533.7.65":{d:"nsn-ce",c:""},"1.2.840.113533.7.65.0":{d:"entrustVersInfo",c:"Nortel Secure Networks ce"},"1.2.840.113533.7.66":{d:"nsn-alg",c:""},"1.2.840.113533.7.66.3":{d:"cast3CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.10":{d:"cast5CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.11":{d:"cast5MAC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.12":{d:"pbeWithMD5AndCAST5-CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.13":{d:"passwordBasedMac",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.67":{d:"nsn-oc",c:""},"1.2.840.113533.7.67.0":{d:"entrustUser",c:"Nortel Secure Networks oc"},"1.2.840.113533.7.68":{d:"nsn-at",c:""},"1.2.840.113533.7.68.0":{d:"entrustCAInfo",c:"Nortel Secure Networks at"},"1.2.840.113533.7.68.10":{d:"attributeCertificate",c:"Nortel Secure Networks at"},"1.2.840.113549.1.1":{d:"pkcs-1",c:""},"1.2.840.113549.1.1.1":{d:"rsaEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.2":{d:"md2WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.3":{d:"md4WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.4":{d:"md5WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.5":{d:"sha1WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.7":{d:"rsaOAEP",c:"PKCS #1"},"1.2.840.113549.1.1.8":{d:"pkcs1-MGF",c:"PKCS #1"},"1.2.840.113549.1.1.9":{d:"rsaOAEP-pSpecified",c:"PKCS #1"},"1.2.840.113549.1.1.10":{d:"rsaPSS",c:"PKCS #1"},"1.2.840.113549.1.1.11":{d:"sha256WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.12":{d:"sha384WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.13":{d:"sha512WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.14":{d:"sha224WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.6":{d:"rsaOAEPEncryptionSET",c:"PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption"},"1.2.840.113549.1.2":{d:"bsafeRsaEncr",c:"Obsolete BSAFE OID",w:!0},"1.2.840.113549.1.3":{d:"pkcs-3",c:""},"1.2.840.113549.1.3.1":{d:"dhKeyAgreement",c:"PKCS #3"},"1.2.840.113549.1.5":{d:"pkcs-5",c:""},"1.2.840.113549.1.5.1":{d:"pbeWithMD2AndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.3":{d:"pbeWithMD5AndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.4":{d:"pbeWithMD2AndRC2-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.6":{d:"pbeWithMD5AndRC2-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.9":{d:"pbeWithMD5AndXOR",c:"PKCS #5, used in BSAFE only",w:!0},"1.2.840.113549.1.5.10":{d:"pbeWithSHAAndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.12":{d:"pkcs5PBKDF2",c:"PKCS #5 v2.0"},"1.2.840.113549.1.5.13":{d:"pkcs5PBES2",c:"PKCS #5 v2.0"},"1.2.840.113549.1.5.14":{d:"pkcs5PBMAC1",c:"PKCS #5 v2.0"},"1.2.840.113549.1.7":{d:"pkcs-7",c:""},"1.2.840.113549.1.7.1":{d:"data",c:"PKCS #7"},"1.2.840.113549.1.7.2":{d:"signedData",c:"PKCS #7"},"1.2.840.113549.1.7.3":{d:"envelopedData",c:"PKCS #7"},"1.2.840.113549.1.7.4":{d:"signedAndEnvelopedData",c:"PKCS #7"},"1.2.840.113549.1.7.5":{d:"digestedData",c:"PKCS #7"},"1.2.840.113549.1.7.6":{d:"encryptedData",c:"PKCS #7"},"1.2.840.113549.1.7.7":{d:"dataWithAttributes",c:"PKCS #7 experimental",w:!0},"1.2.840.113549.1.7.8":{d:"encryptedPrivateKeyInfo",c:"PKCS #7 experimental",w:!0},"1.2.840.113549.1.9":{d:"pkcs-9",c:""},"1.2.840.113549.1.9.1":{d:"emailAddress",c:"PKCS #9. Deprecated, use an altName extension instead"},"1.2.840.113549.1.9.2":{d:"unstructuredName",c:"PKCS #9"},"1.2.840.113549.1.9.3":{d:"contentType",c:"PKCS #9"},"1.2.840.113549.1.9.4":{d:"messageDigest",c:"PKCS #9"},"1.2.840.113549.1.9.5":{d:"signingTime",c:"PKCS #9"},"1.2.840.113549.1.9.6":{d:"countersignature",c:"PKCS #9"},"1.2.840.113549.1.9.7":{d:"challengePassword",c:"PKCS #9"},"1.2.840.113549.1.9.8":{d:"unstructuredAddress",c:"PKCS #9"},"1.2.840.113549.1.9.9":{d:"extendedCertificateAttributes",c:"PKCS #9"},"1.2.840.113549.1.9.10":{d:"issuerAndSerialNumber",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.11":{d:"passwordCheck",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.12":{d:"publicKey",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.13":{d:"signingDescription",c:"PKCS #9"},"1.2.840.113549.1.9.14":{d:"extensionRequest",c:"PKCS #9 via CRMF"},"1.2.840.113549.1.9.15":{d:"sMIMECapabilities",c:"PKCS #9. This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name"},"1.2.840.113549.1.9.15.1":{d:"preferSignedData",c:"sMIMECapabilities"},"1.2.840.113549.1.9.15.2":{d:"canNotDecryptAny",c:"sMIMECapabilities"},"1.2.840.113549.1.9.15.3":{d:"receiptRequest",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 1) instead",w:!0},"1.2.840.113549.1.9.15.4":{d:"receipt",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 1 1) instead",w:!0},"1.2.840.113549.1.9.15.5":{d:"contentHints",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 4) instead",w:!0},"1.2.840.113549.1.9.15.6":{d:"mlExpansionHistory",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 3) instead",w:!0},"1.2.840.113549.1.9.16":{d:"id-sMIME",c:"PKCS #9"},"1.2.840.113549.1.9.16.0":{d:"id-mod",c:"id-sMIME"},"1.2.840.113549.1.9.16.0.1":{d:"id-mod-cms",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.2":{d:"id-mod-ess",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.3":{d:"id-mod-oid",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.4":{d:"id-mod-msg-v3",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.5":{d:"id-mod-ets-eSignature-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.6":{d:"id-mod-ets-eSignature-97",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.7":{d:"id-mod-ets-eSigPolicy-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.8":{d:"id-mod-ets-eSigPolicy-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.1":{d:"contentType",c:"S/MIME"},"1.2.840.113549.1.9.16.1.0":{d:"anyContentType",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.1":{d:"receipt",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.2":{d:"authData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.3":{d:"publishCert",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.4":{d:"tSTInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.5":{d:"tDTInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.6":{d:"contentInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.7":{d:"dVCSRequestData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.8":{d:"dVCSResponseData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.9":{d:"compressedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.10":{d:"scvpCertValRequest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.11":{d:"scvpCertValResponse",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.12":{d:"scvpValPolRequest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.13":{d:"scvpValPolResponse",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.14":{d:"attrCertEncAttrs",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.15":{d:"tSReq",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.16":{d:"firmwarePackage",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.17":{d:"firmwareLoadReceipt",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.18":{d:"firmwareLoadError",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.19":{d:"contentCollection",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.20":{d:"contentWithAttrs",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.21":{d:"encKeyWithID",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.22":{d:"encPEPSI",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.23":{d:"authEnvelopedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.24":{d:"routeOriginAttest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.25":{d:"symmetricKeyPackage",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.26":{d:"rpkiManifest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.27":{d:"asciiTextWithCRLF",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.28":{d:"xml",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.29":{d:"pdf",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.30":{d:"postscript",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.31":{d:"timestampedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.32":{d:"asAdjacencyAttest",c:"S/MIME Content Types",w:!0},"1.2.840.113549.1.9.16.1.33":{d:"rpkiTrustAnchor",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.34":{d:"trustAnchorList",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.35":{d:"rpkiGhostbusters",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.36":{d:"resourceTaggedAttest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.37":{d:"utf8TextWithCRLF",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.38":{d:"htmlWithCRLF",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.39":{d:"epub",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.40":{d:"animaJSONVoucher",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.41":{d:"mudType",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.42":{d:"sztpConveyedInfoXML",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.43":{d:"sztpConveyedInfoJSON",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.44":{d:"cbor",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.45":{d:"cborSequence",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.46":{d:"animaCBORVoucher",c:"S/MIME Content Types",w:!0},"1.2.840.113549.1.9.16.1.47":{d:"geofeedCSVwithCRLF",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.48":{d:"rpkiSignedChecklist",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.49":{d:"rpkiASPA",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.2":{d:"authenticatedAttributes",c:"S/MIME"},"1.2.840.113549.1.9.16.2.1":{d:"receiptRequest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.2":{d:"securityLabel",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.3":{d:"mlExpandHistory",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.4":{d:"contentHint",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.5":{d:"msgSigDigest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.6":{d:"encapContentType",c:"S/MIME Authenticated Attributes. Obsolete",w:!0},"1.2.840.113549.1.9.16.2.7":{d:"contentIdentifier",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.8":{d:"macValue",c:"S/MIME Authenticated Attributes. Obsolete",w:!0},"1.2.840.113549.1.9.16.2.9":{d:"equivalentLabels",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.10":{d:"contentReference",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.11":{d:"encrypKeyPref",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.12":{d:"signingCertificate",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.13":{d:"smimeEncryptCerts",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.14":{d:"timeStampToken",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.15":{d:"sigPolicyId",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.16":{d:"commitmentType",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.17":{d:"signerLocation",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.18":{d:"signerAttr",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.19":{d:"otherSigCert",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.20":{d:"contentTimestamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.21":{d:"certificateRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.22":{d:"revocationRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.23":{d:"certValues",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.24":{d:"revocationValues",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.25":{d:"escTimeStamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.26":{d:"certCRLTimestamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.27":{d:"archiveTimeStamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.28":{d:"signatureType",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.29":{d:"dvcsDvc",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.30":{d:"cekReference",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.31":{d:"maxCEKDecrypts",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.32":{d:"kekDerivationAlg",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.33":{d:"intendedRecipients",c:"S/MIME Authenticated Attributes. Obsolete",w:!0},"1.2.840.113549.1.9.16.2.34":{d:"cmcUnsignedData",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.35":{d:"fwPackageID",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.36":{d:"fwTargetHardwareIDs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.37":{d:"fwDecryptKeyID",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.38":{d:"fwImplCryptAlgs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.39":{d:"fwWrappedFirmwareKey",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.40":{d:"fwCommunityIdentifiers",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.41":{d:"fwPkgMessageDigest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.42":{d:"fwPackageInfo",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.43":{d:"fwImplCompressAlgs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.44":{d:"etsAttrCertificateRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.45":{d:"etsAttrRevocationRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.46":{d:"binarySigningTime",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.47":{d:"signingCertificateV2",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.48":{d:"etsArchiveTimeStampV2",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.49":{d:"erInternal",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.50":{d:"erExternal",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.51":{d:"multipleSignatures",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.52":{d:"cmsAlgorithmProtect",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.53":{d:"setKeyInformation",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.54":{d:"asymmDecryptKeyID",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.55":{d:"secureHeaderFieldsIdentifier",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.56":{d:"otpChallenge",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.57":{d:"revocationChallenge",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.58":{d:"estIdentityLinking",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.3.1":{d:"esDHwith3DES",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.2":{d:"esDHwithRC2",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.3":{d:"3desWrap",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.4":{d:"rc2Wrap",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.5":{d:"esDH",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.6":{d:"cms3DESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.7":{d:"cmsRC2wrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.8":{d:"zlib",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.9":{d:"pwriKEK",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.10":{d:"ssDH",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.11":{d:"hmacWith3DESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.12":{d:"hmacWithAESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.13":{d:"md5XorExperiment",c:"S/MIME Algorithms. Experimental",w:!0},"1.2.840.113549.1.9.16.3.14":{d:"rsaKEM",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.15":{d:"authEnc128",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.16":{d:"authEnc256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.17":{d:"hssLmsHashSig",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.18":{d:"chaCha20Poly1305",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.19":{d:"ecdhHKDF-SHA256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.20":{d:"ecdhHKDF-SHA384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.21":{d:"ecdhHKDF-SHA512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.22":{d:"aesSIV-CMAC-256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.23":{d:"aesSIV-CMAC-384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.24":{d:"aesSIV-CMAC-512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.25":{d:"aesSIV-CMAC-wrap256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.26":{d:"aesSIV-CMAC-wrap384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.27":{d:"aesSIV-CMAC-wrap512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.28":{d:"hkdfWithSha256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.29":{d:"hkdfWithSha384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.30":{d:"hkdfWithSha512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.4.1":{d:"certDist-ldap",c:"S/MIME Certificate Distribution"},"1.2.840.113549.1.9.16.5.1":{d:"sigPolicyQualifier-spuri x",c:"S/MIME Signature Policy Qualifiers"},"1.2.840.113549.1.9.16.5.2":{d:"sigPolicyQualifier-spUserNotice",c:"S/MIME Signature Policy Qualifiers"},"1.2.840.113549.1.9.16.6.1":{d:"proofOfOrigin",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.2":{d:"proofOfReceipt",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.3":{d:"proofOfDelivery",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.4":{d:"proofOfSender",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.5":{d:"proofOfApproval",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.6":{d:"proofOfCreation",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.7.1":{d:"testAmoco",c:"S/MIMETest Security Policies"},"1.2.840.113549.1.9.16.7.2":{d:"testCaterpillar",c:"S/MIMETest Security Policies"},"1.2.840.113549.1.9.16.7.3":{d:"testWhirlpool",c:"S/MIMETest Security Policies"},"1.2.840.113549.1.9.16.7.4":{d:"testWhirlpoolCategories",c:"S/MIMETest Security Policies"},"1.2.840.113549.1.9.16.8.1":{d:"glUseKEK",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.2":{d:"glDelete",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.3":{d:"glAddMember",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.4":{d:"glDeleteMember",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.5":{d:"glRekey",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.6":{d:"glAddOwner",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.7":{d:"glRemoveOwner",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.8":{d:"glkCompromise",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.9":{d:"glkRefresh",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.10":{d:"glFailInfo",c:"S/MIME Symmetric Key Distribution Attributes. Obsolete",w:!0},"1.2.840.113549.1.9.16.8.11":{d:"glaQueryRequest",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.12":{d:"glaQueryResponse",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.13":{d:"glProvideCert",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.14":{d:"glUpdateCert",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.15":{d:"glKey",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.9":{d:"signatureTypeIdentifier",c:"S/MIME"},"1.2.840.113549.1.9.16.9.1":{d:"originatorSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.2":{d:"domainSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.3":{d:"additionalAttributesSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.4":{d:"reviewSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.10.1":{d:"envelopedData",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.2":{d:"signedData",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.3":{d:"certsOnly",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.4":{d:"signedReceipt",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.5":{d:"envelopedX400",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.6":{d:"signedX400",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.10.7":{d:"compressedData",c:"S/MIME X.400 Encoded Information Types"},"1.2.840.113549.1.9.16.11":{d:"capabilities",c:"S/MIME"},"1.2.840.113549.1.9.16.11.1":{d:"preferBinaryInside",c:"S/MIME Capability"},"1.2.840.113549.1.9.16.12":{d:"pskcAttributes",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.1":{d:"pskcManufacturer",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.2":{d:"pskcSerialNo",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.3":{d:"pskcModel",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.4":{d:"pskcIssueno",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.5":{d:"pskcDevicebinding",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.6":{d:"pskcDevicestartdate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.7":{d:"pskcDeviceexpirydate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.8":{d:"pskcModuleid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.9":{d:"pskcKeyid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.10":{d:"pskcAlgorithm",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.11":{d:"pskcIssuer",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.12":{d:"pskcKeyprofileid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.13":{d:"pskcKeyreference",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.14":{d:"pskcFriendlyname",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.15":{d:"pskcAlgorithmparams",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.16":{d:"pskcCounter",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.17":{d:"pskcTime",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.18":{d:"pskcTimeinterval",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.19":{d:"pskcTimedrift",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.20":{d:"pskcValuemac",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.21":{d:"pskcKeystartdate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.22":{d:"pskcKeyexpirydate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.23":{d:"pskcNooftransactions",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.24":{d:"pskcKeyusages",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.25":{d:"pskcPinpolicy",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.26":{d:"pskcDeviceuserid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.27":{d:"pskcKeyuserid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.13":{d:"otherRecipientInfoIds",c:"S/MIME Other Recipient Info Identifiers"},"1.2.840.113549.1.9.16.13.1":{d:"keyTransPSK",c:"S/MIME Other Recipient Info Identifiers"},"1.2.840.113549.1.9.16.13.2":{d:"keyAgreePSK",c:"S/MIME Other Recipient Info Identifiers"},"1.2.840.113549.1.9.20":{d:"friendlyName (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.21":{d:"localKeyID (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22":{d:"certTypes (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22.1":{d:"x509Certificate (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22.2":{d:"sdsiCertificate (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.23":{d:"crlTypes (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.23.1":{d:"x509Crl (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.24":{d:"pkcs9objectClass",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.25":{d:"pkcs9attributes",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.25.1":{d:"pkcs15Token",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.2":{d:"encryptedPrivateKeyInfo",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.3":{d:"randomNonce",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.4":{d:"sequenceNumber",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.5":{d:"pkcs7PDU",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.26":{d:"pkcs9syntax",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.27":{d:"pkcs9matchingRules",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.52":{d:"cmsAlgorithmProtection",c:"RFC 6211"},"1.2.840.113549.1.12":{d:"pkcs-12",c:""},"1.2.840.113549.1.12.1":{d:"pkcs-12-PbeIds",c:"This OID was formerly assigned as PKCS #12 modeID"},"1.2.840.113549.1.12.1.1":{d:"pbeWithSHAAnd128BitRC4",c:"PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OfflineTransportMode"},"1.2.840.113549.1.12.1.2":{d:"pbeWithSHAAnd40BitRC4",c:"PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OnlineTransportMode"},"1.2.840.113549.1.12.1.3":{d:"pbeWithSHAAnd3-KeyTripleDES-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.4":{d:"pbeWithSHAAnd2-KeyTripleDES-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.5":{d:"pbeWithSHAAnd128BitRC2-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.6":{d:"pbeWithSHAAnd40BitRC2-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.2":{d:"pkcs-12-ESPVKID",c:"Deprecated",w:!0},"1.2.840.113549.1.12.2.1":{d:"pkcs-12-PKCS8KeyShrouding",c:"PKCS #12 ESPVKID. Deprecated, use (1 2 840 113549 1 12 3 5) instead",w:!0},"1.2.840.113549.1.12.3":{d:"pkcs-12-BagIds",c:""},"1.2.840.113549.1.12.3.1":{d:"pkcs-12-keyBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.2":{d:"pkcs-12-certAndCRLBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.3":{d:"pkcs-12-secretBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.4":{d:"pkcs-12-safeContentsId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.5":{d:"pkcs-12-pkcs-8ShroudedKeyBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.4":{d:"pkcs-12-CertBagID",c:"Deprecated",w:!0},"1.2.840.113549.1.12.4.1":{d:"pkcs-12-X509CertCRLBagID",c:"PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-X509CertCRLBag"},"1.2.840.113549.1.12.4.2":{d:"pkcs-12-SDSICertBagID",c:"PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-SDSICertBag"},"1.2.840.113549.1.12.5":{d:"pkcs-12-OID",c:"",w:!0},"1.2.840.113549.1.12.5.1":{d:"pkcs-12-PBEID",c:"PKCS #12 OID. Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead",w:!0},"1.2.840.113549.1.12.5.1.1":{d:"pkcs-12-PBEWithSha1And128BitRC4",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 1) instead",w:!0},"1.2.840.113549.1.12.5.1.2":{d:"pkcs-12-PBEWithSha1And40BitRC4",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 2) instead",w:!0},"1.2.840.113549.1.12.5.1.3":{d:"pkcs-12-PBEWithSha1AndTripleDESCBC",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 3) or (1 2 840 113549 1 12 1 4) instead",w:!0},"1.2.840.113549.1.12.5.1.4":{d:"pkcs-12-PBEWithSha1And128BitRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 5) instead",w:!0},"1.2.840.113549.1.12.5.1.5":{d:"pkcs-12-PBEWithSha1And40BitRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 6) instead",w:!0},"1.2.840.113549.1.12.5.1.6":{d:"pkcs-12-PBEWithSha1AndRC4",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 1) or (1 2 840 113549 1 12 1 2) instead",w:!0},"1.2.840.113549.1.12.5.1.7":{d:"pkcs-12-PBEWithSha1AndRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 5) or (1 2 840 113549 1 12 1 6) instead",w:!0},"1.2.840.113549.1.12.5.2":{d:"pkcs-12-EnvelopingID",c:"PKCS #12 OID. Deprecated, use the conventional PKCS #1 OIDs instead"},"1.2.840.113549.1.12.5.2.1":{d:"pkcs-12-RSAEncryptionWith128BitRC4",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.2.2":{d:"pkcs-12-RSAEncryptionWith40BitRC4",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.2.3":{d:"pkcs-12-RSAEncryptionWithTripleDES",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.3":{d:"pkcs-12-SignatureID",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.3.1":{d:"pkcs-12-RSASignatureWithSHA1Digest",c:"PKCS #12 OID SignatureID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.10":{d:"pkcs-12Version1",c:""},"1.2.840.113549.1.12.10.1":{d:"pkcs-12BadIds",c:""},"1.2.840.113549.1.12.10.1.1":{d:"pkcs-12-keyBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.2":{d:"pkcs-12-pkcs-8ShroudedKeyBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.3":{d:"pkcs-12-certBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.4":{d:"pkcs-12-crlBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.5":{d:"pkcs-12-secretBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.6":{d:"pkcs-12-safeContentsBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.15.1":{d:"pkcs15modules",c:"PKCS #15"},"1.2.840.113549.1.15.2":{d:"pkcs15attributes",c:"PKCS #15"},"1.2.840.113549.1.15.3":{d:"pkcs15contentType",c:"PKCS #15"},"1.2.840.113549.1.15.3.1":{d:"pkcs15content",c:"PKCS #15 content type"},"1.2.840.113549.2":{d:"digestAlgorithm",c:""},"1.2.840.113549.2.2":{d:"md2",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.4":{d:"md4",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.5":{d:"md5",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.7":{d:"hmacWithSHA1",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.8":{d:"hmacWithSHA224",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.9":{d:"hmacWithSHA256",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.10":{d:"hmacWithSHA384",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.11":{d:"hmacWithSHA512",c:"RSADSI digestAlgorithm"},"1.2.840.113549.3":{d:"encryptionAlgorithm",c:""},"1.2.840.113549.3.2":{d:"rc2CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.3":{d:"rc2ECB",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.4":{d:"rc4",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.5":{d:"rc4WithMAC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.6":{d:"desx-CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.7":{d:"des-EDE3-CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.8":{d:"rc5CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.9":{d:"rc5-CBCPad",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.10":{d:"desCDMF",c:"RSADSI encryptionAlgorithm. Formerly called CDMFCBCPad"},"1.2.840.114021.1.6.1":{d:"Identrus unknown policyIdentifier",c:"Identrus"},"1.2.840.114021.4.1":{d:"identrusOCSP",c:"Identrus"},"1.2.840.113556.1.2.241":{d:"deliveryMechanism",c:"Microsoft Exchange Server - attribute"},"1.2.840.113556.1.2.281":{d:"ntSecurityDescriptor",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.3.0":{d:"site-Addressing",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.13":{d:"classSchema",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.14":{d:"attributeSchema",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.17":{d:"mailbox-Agent",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.22":{d:"mailbox",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.23":{d:"container",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.46":{d:"mailRecipient",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.4.145":{d:"revision",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1327":{d:"pKIDefaultKeySpec",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1328":{d:"pKIKeyUsage",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1329":{d:"pKIMaxIssuingDepth",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1330":{d:"pKICriticalExtensions",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1331":{d:"pKIExpirationPeriod",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1332":{d:"pKIOverlapPeriod",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1333":{d:"pKIExtendedKeyUsage",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1334":{d:"pKIDefaultCSPs",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1335":{d:"pKIEnrollmentAccess",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1429":{d:"msPKI-RA-Signature",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1430":{d:"msPKI-Enrollment-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1431":{d:"msPKI-Private-Key-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1432":{d:"msPKI-Certificate-Name-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1433":{d:"msPKI-Minimal-Key-Size",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1434":{d:"msPKI-Template-Schema-Version",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1435":{d:"msPKI-Template-Minor-Revision",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1436":{d:"msPKI-Cert-Template-OID",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1437":{d:"msPKI-Supersede-Templates",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1438":{d:"msPKI-RA-Policies",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1439":{d:"msPKI-Certificate-Policy",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1674":{d:"msPKI-Certificate-Application-Policy",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1675":{d:"msPKI-RA-Application-Policies",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.4.3":{d:"microsoftExcel",c:"Microsoft"},"1.2.840.113556.4.4":{d:"titledWithOID",c:"Microsoft"},"1.2.840.113556.4.5":{d:"microsoftPowerPoint",c:"Microsoft"},"1.2.840.113583.1":{d:"adobeAcrobat",c:"Adobe Acrobat"},"1.2.840.113583.1.1":{d:"acrobatSecurity",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.1":{d:"pdfPassword",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.2":{d:"pdfDefaultSigningCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.3":{d:"pdfDefaultEncryptionCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.4":{d:"pdfPasswordTimeout",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.5":{d:"pdfAuthenticDocumentsTrust",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.6":{d:"pdfDynamicContentTrust",c:"Adobe Acrobat security",w:!0},"1.2.840.113583.1.1.7":{d:"pdfUbiquityTrust",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.8":{d:"pdfRevocationInfoArchival",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9":{d:"pdfX509Extension",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9.1":{d:"pdfTimeStamp",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9.2":{d:"pdfArchiveRevInfo",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.10":{d:"pdfPPLKLiteCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.2":{d:"acrobatCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.1":{d:"pdfAuthenticDocumentsCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.2":{d:"pdfTestCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.3":{d:"pdfUbiquityCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.4":{d:"pdfAdhocCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.7":{d:"acrobatUbiquity",c:"Adobe Acrobat ubiquity"},"1.2.840.113583.1.7.1":{d:"pdfUbiquitySubRights",c:"Adobe Acrobat ubiquity"},"1.2.840.113583.1.9":{d:"acrobatExtension",c:"Adobe Acrobat X.509 extension"},"1.2.840.113628.114.1.7":{d:"adobePKCS7",c:"Adobe"},"1.2.840.113635.100":{d:"appleDataSecurity",c:"Apple"},"1.2.840.113635.100.1":{d:"appleTrustPolicy",c:"Apple"},"1.2.840.113635.100.1.1":{d:"appleISignTP",c:"Apple trust policy"},"1.2.840.113635.100.1.2":{d:"appleX509Basic",c:"Apple trust policy"},"1.2.840.113635.100.1.3":{d:"appleSSLPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.4":{d:"appleLocalCertGenPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.5":{d:"appleCSRGenPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.6":{d:"appleCRLPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.7":{d:"appleOCSPPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.8":{d:"appleSMIMEPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.9":{d:"appleEAPPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.10":{d:"appleSWUpdateSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.11":{d:"appleIPSecPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.12":{d:"appleIChatPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.13":{d:"appleResourceSignPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.14":{d:"applePKINITClientPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.15":{d:"applePKINITServerPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.16":{d:"appleCodeSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.17":{d:"applePackageSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.2":{d:"appleSecurityAlgorithm",c:"Apple"},"1.2.840.113635.100.2.1":{d:"appleFEE",c:"Apple security algorithm"},"1.2.840.113635.100.2.2":{d:"appleASC",c:"Apple security algorithm"},"1.2.840.113635.100.2.3":{d:"appleFEE_MD5",c:"Apple security algorithm"},"1.2.840.113635.100.2.4":{d:"appleFEE_SHA1",c:"Apple security algorithm"},"1.2.840.113635.100.2.5":{d:"appleFEED",c:"Apple security algorithm"},"1.2.840.113635.100.2.6":{d:"appleFEEDEXP",c:"Apple security algorithm"},"1.2.840.113635.100.2.7":{d:"appleECDSA",c:"Apple security algorithm"},"1.2.840.113635.100.3":{d:"appleDotMacCertificate",c:"Apple"},"1.2.840.113635.100.3.1":{d:"appleDotMacCertificateRequest",c:"Apple dotMac certificate"},"1.2.840.113635.100.3.2":{d:"appleDotMacCertificateExtension",c:"Apple dotMac certificate"},"1.2.840.113635.100.3.3":{d:"appleDotMacCertificateRequestValues",c:"Apple dotMac certificate"},"1.2.840.113635.100.4":{d:"appleExtendedKeyUsage",c:"Apple"},"1.2.840.113635.100.4.1":{d:"appleCodeSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.1":{d:"appleCodeSigningDevelopment",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.2":{d:"appleSoftwareUpdateSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.3":{d:"appleCodeSigningThirdParty",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.4":{d:"appleResourceSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.2":{d:"appleIChatSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.3":{d:"appleIChatEncryption",c:"Apple extended key usage"},"1.2.840.113635.100.4.4":{d:"appleSystemIdentity",c:"Apple extended key usage"},"1.2.840.113635.100.4.5":{d:"appleCryptoEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.1":{d:"appleCryptoProductionEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.2":{d:"appleCryptoMaintenanceEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.3":{d:"appleCryptoTestEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.4":{d:"appleCryptoDevelopmentEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.6":{d:"appleCryptoQoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.1":{d:"appleCryptoTier0QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.2":{d:"appleCryptoTier1QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.3":{d:"appleCryptoTier2QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.4":{d:"appleCryptoTier3QoS",c:"Apple extended key usage"},"1.2.840.113635.100.5":{d:"appleCertificatePolicies",c:"Apple"},"1.2.840.113635.100.5.1":{d:"appleCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.5.2":{d:"appleDotMacCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.5.3":{d:"appleADCCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.6":{d:"appleCertificateExtensions",c:"Apple"},"1.2.840.113635.100.6.1":{d:"appleCertificateExtensionCodeSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.1":{d:"appleCertificateExtensionAppleSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.2":{d:"appleCertificateExtensionADCDeveloperSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.3":{d:"appleCertificateExtensionADCAppleSigning",c:"Apple certificate extension"},"1.2.840.113635.100.15.1":{d:"appleCustomCertificateExtension1",c:"Apple custom certificate extension"},"1.2.840.113635.100.15.2":{d:"appleCustomCertificateExtension2",c:"Apple custom certificate extension"},"1.2.840.113635.100.15.3":{d:"appleCustomCertificateExtension3",c:"Apple custom certificate extension"},"1.3.6.1.4.1.311.2.1.4":{d:"spcIndirectDataContext",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.10":{d:"spcAgencyInfo",c:"Microsoft code signing. Also assigned as policyLink"},"1.3.6.1.4.1.311.2.1.11":{d:"spcStatementType",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.12":{d:"spcSpOpusInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.14":{d:"certReqExtensions",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.15":{d:"spcPEImageData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.18":{d:"spcRawFileData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.19":{d:"spcStructuredStorageData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.20":{d:"spcJavaClassData (type 1)",c:'Microsoft code signing. Formerly "link extension" aka "glue extension"'},"1.3.6.1.4.1.311.2.1.21":{d:"individualCodeSigning",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.22":{d:"commercialCodeSigning",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.25":{d:"spcLink (type 2)",c:'Microsoft code signing. Also assigned as "glue extension"'},"1.3.6.1.4.1.311.2.1.26":{d:"spcMinimalCriteriaInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.27":{d:"spcFinancialCriteriaInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.28":{d:"spcLink (type 3)",c:'Microsoft code signing. Also assigned as "glue extension"'},"1.3.6.1.4.1.311.2.1.29":{d:"spcHashInfoObjID",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.30":{d:"spcSipInfoObjID",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.2":{d:"ctl",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.1":{d:"ctlTrustedCodesigningCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.2":{d:"ctlTrustedClientAuthCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.3":{d:"ctlTrustedServerAuthCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.3.2.1":{d:"timestampRequest",c:"Microsoft code signing"},"1.3.6.1.4.1.311.10.1":{d:"certTrustList",c:"Microsoft contentType"},"1.3.6.1.4.1.311.10.1.1":{d:"sortedCtl",c:"Microsoft contentType"},"1.3.6.1.4.1.311.10.2":{d:"nextUpdateLocation",c:"Microsoft"},"1.3.6.1.4.1.311.10.3.1":{d:"certTrustListSigning",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.2":{d:"timeStampSigning",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.3":{d:"serverGatedCrypto",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.3.1":{d:"serialized",c:"Microsoft"},"1.3.6.1.4.1.311.10.3.4":{d:"encryptedFileSystem",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.5":{d:"whqlCrypto",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.6":{d:"nt5Crypto",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.7":{d:"oemWHQLCrypto",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.8":{d:"embeddedNTCrypto",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.9":{d:"rootListSigner",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.10":{d:"qualifiedSubordination",c:"Microsoft extended 3key usage"},"1.3.6.1.4.1.311.10.3.11":{d:"keyRecovery",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.12":{d:"documentSigning",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.13":{d:"lifetimeSigning",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.14":{d:"mobileDeviceSoftware",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.15":{d:"smartDisplay",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.16":{d:"cspSignature",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.3.4.1":{d:"efsRecovery",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.4.1":{d:"yesnoTrustAttr",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.5.1":{d:"drm",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.5.2":{d:"drmIndividualization",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.6.1":{d:"licenses",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.6.2":{d:"licenseServer",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.10.7.1":{d:"keyidRdn",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.8.1":{d:"removeCertificate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.9.1":{d:"crossCertDistPoints",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.10.1":{d:"cmcAddAttributes",c:"Microsoft"},"1.3.6.1.4.1.311.10.11":{d:"certPropIdPrefix",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.4":{d:"certMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.20":{d:"certKeyIdentifierPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.28":{d:"certIssuerSerialNumberMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.29":{d:"certSubjectNameMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.12.1":{d:"anyApplicationPolicy",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12":{d:"catalog",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.1.1":{d:"catalogList",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.1.2":{d:"catalogListMember",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.2.1":{d:"catalogNameValueObjID",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.2.2":{d:"catalogMemberInfoObjID",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.1":{d:"renewalCertificate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.1":{d:"enrolmentNameValuePair",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.2":{d:"enrolmentCSP",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.3":{d:"osVersion",c:"Microsoft attribute"},"1.3.6.1.4.1.311.16.4":{d:"microsoftRecipientInfo",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.1":{d:"pkcs12KeyProviderNameAttr",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.2":{d:"localMachineKeyset",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.3":{d:"pkcs12ExtendedAttributes",c:"Microsoft attribute"},"1.3.6.1.4.1.311.20.1":{d:"autoEnrollCtlUsage",c:"Microsoft"},"1.3.6.1.4.1.311.20.2":{d:"enrollCerttypeExtension",c:"Microsoft CAPICOM certificate template, V1"},"1.3.6.1.4.1.311.20.2.1":{d:"enrollmentAgent",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.20.2.2":{d:"smartcardLogon",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.20.2.3":{d:"userPrincipalName",c:"Microsoft UPN"},"1.3.6.1.4.1.311.20.3":{d:"certManifold",c:"Microsoft"},"1.3.6.1.4.1.311.21.1":{d:"cAKeyCertIndexPair",c:"Microsoft attribute. Also assigned as certsrvCaVersion"},"1.3.6.1.4.1.311.21.2":{d:"certSrvPreviousCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.3":{d:"crlVirtualBase",c:"Microsoft"},"1.3.6.1.4.1.311.21.4":{d:"crlNextPublish",c:"Microsoft"},"1.3.6.1.4.1.311.21.5":{d:"caExchange",c:"Microsoft extended key usage",w:!0},"1.3.6.1.4.1.311.21.6":{d:"keyRecovery",c:"Microsoft extended key usage",w:!0},"1.3.6.1.4.1.311.21.7":{d:"certificateTemplate",c:"Microsoft CAPICOM certificate template, V2"},"1.3.6.1.4.1.311.21.9":{d:"rdnDummySigner",c:"Microsoft"},"1.3.6.1.4.1.311.21.10":{d:"applicationCertPolicies",c:"Microsoft"},"1.3.6.1.4.1.311.21.11":{d:"applicationPolicyMappings",c:"Microsoft"},"1.3.6.1.4.1.311.21.12":{d:"applicationPolicyConstraints",c:"Microsoft"},"1.3.6.1.4.1.311.21.13":{d:"archivedKey",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.14":{d:"crlSelfCDP",c:"Microsoft"},"1.3.6.1.4.1.311.21.15":{d:"requireCertChainPolicy",c:"Microsoft"},"1.3.6.1.4.1.311.21.16":{d:"archivedKeyCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.17":{d:"issuedCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.19":{d:"dsEmailReplication",c:"Microsoft"},"1.3.6.1.4.1.311.21.20":{d:"requestClientInfo",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.21":{d:"encryptedKeyHash",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.22":{d:"certsrvCrossCaVersion",c:"Microsoft"},"1.3.6.1.4.1.311.25.1":{d:"ntdsReplication",c:"Microsoft"},"1.3.6.1.4.1.311.25.2":{d:"ntdsCASecurityExt",c:"Microsoft"},"1.3.6.1.4.1.311.25.2.1":{d:"ntdsObjectSID",c:"Microsoft"},"1.3.6.1.4.1.311.31.1":{d:"productUpdate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.47.1.1":{d:"systemHealth",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.47.1.3":{d:"systemHealthLoophole",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.60.1.1":{d:"rootProgramFlags",c:"Microsoft policy attribute"},"1.3.6.1.4.1.311.61.1.1":{d:"kernelModeCodeSigning",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.60.2.1.1":{d:"jurisdictionOfIncorporationL",c:"Microsoft (???)"},"1.3.6.1.4.1.311.60.2.1.2":{d:"jurisdictionOfIncorporationSP",c:"Microsoft (???)"},"1.3.6.1.4.1.311.60.2.1.3":{d:"jurisdictionOfIncorporationC",c:"Microsoft (???)"},"1.3.6.1.4.1.311.76.509.1.1":{d:"microsoftCPS",c:"Microsoft PKI services"},"1.3.6.1.4.1.311.88":{d:"capiCom",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.1":{d:"capiComVersion",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2":{d:"capiComAttribute",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2.1":{d:"capiComDocumentName",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2.2":{d:"capiComDocumentDescription",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.3":{d:"capiComEncryptedData",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.3.1":{d:"capiComEncryptedContent",c:"Microsoft attribute"},"1.3.6.1.4.1.188.7.1.1":{d:"ascom",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.1":{d:"ideaECB",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.2":{d:"ideaCBC",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.3":{d:"ideaCFB",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.4":{d:"ideaOFB",c:"Ascom Systech"},"1.3.6.1.4.1.2363.3.2":{d:"euroControlUntrustedEA",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3":{d:"euroControlEARootCA",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3.1":{d:"euroControlEABridgeCA",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3.1.1":{d:"euroControlEAIssuingCA",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3.1.1.1":{d:"euroControlEAClientCertificate",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3.1.1.2":{d:"euroControlEAServerCertificate",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2363.4.3.1.1.3":{d:"euroControlEASWIMSigningCertificate",c:"Eurocontrol certificate policy"},"1.3.6.1.4.1.2428.10.1.1":{d:"UNINETT policyIdentifier",c:"UNINETT PCA"},"1.3.6.1.4.1.2712.10":{d:"ICE-TEL policyIdentifier",c:"ICE-TEL CA"},"1.3.6.1.4.1.2786.1.1.1":{d:"ICE-TEL Italian policyIdentifier",c:"ICE-TEL CA policy"},"1.3.6.1.4.1.3029.1.1.1":{d:"blowfishECB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.2":{d:"blowfishCBC",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.3":{d:"blowfishCFB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.4":{d:"blowfishOFB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.2.1":{d:"elgamal",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.1.2.1.1":{d:"elgamalWithSHA-1",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.1.2.1.2":{d:"elgamalWithRIPEMD-160",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.3.1.1":{d:"cryptlibPresenceCheck",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.2":{d:"pkiBoot",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.4":{d:"crlExtReason",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.5":{d:"keyFeatures",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.4.1":{d:"cryptlibContent",c:"cryptlib"},"1.3.6.1.4.1.3029.4.1.1":{d:"cryptlibConfigData",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.2":{d:"cryptlibUserIndex",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.3":{d:"cryptlibUserInfo",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.4":{d:"rtcsRequest",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.5":{d:"rtcsResponse",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.6":{d:"rtcsResponseExt",c:"cryptlib content type"},"1.3.6.1.4.1.3029.42.11172.1":{d:"mpeg-1",c:"cryptlib special MPEG-of-cat OID"},"1.3.6.1.4.1.3029.54.11940.54":{d:'TSA policy "Anything that arrives, we sign"',c:"cryptlib TSA policy"},"1.3.6.1.4.1.3029.88.89.90.90.89":{d:"xYZZY policyIdentifier",c:"cryptlib certificate policy"},"1.3.6.1.4.1.3401.8.1.1":{d:"pgpExtension",c:"PGP key information"},"1.3.6.1.4.1.3576.7":{d:"eciaAscX12Edi",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.1":{d:"plainEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.2":{d:"signedEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.5":{d:"integrityEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.65":{d:"iaReceiptMessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.97":{d:"iaStatusMessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.8":{d:"eciaEdifact",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.9":{d:"eciaNonEdi",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.4146":{d:"Globalsign",c:"Globalsign"},"1.3.6.1.4.1.4146.1":{d:"globalsignPolicy",c:"Globalsign"},"1.3.6.1.4.1.4146.1.10":{d:"globalsignDVPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.20":{d:"globalsignOVPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.30":{d:"globalsignTSAPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.40":{d:"globalsignClientCertPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.50":{d:"globalsignCodeSignPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.60":{d:"globalsignRootSignPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.70":{d:"globalsignTrustedRootPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.80":{d:"globalsignEDIClientPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.81":{d:"globalsignEDIServerPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.90":{d:"globalsignTPMRootPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.95":{d:"globalsignOCSPPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.5309.1":{d:"edelWebPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2":{d:"edelWebCustomerPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.1":{d:"edelWebClepsydrePolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.2":{d:"edelWebExperimentalTSAPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.3":{d:"edelWebOpenEvidenceTSAPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5472":{d:"timeproof",c:"enterprise"},"1.3.6.1.4.1.5472.1":{d:"tss",c:"timeproof"},"1.3.6.1.4.1.5472.1.1":{d:"tss80",c:"timeproof TSS"},"1.3.6.1.4.1.5472.1.2":{d:"tss380",c:"timeproof TSS"},"1.3.6.1.4.1.5472.1.3":{d:"tss400",c:"timeproof TSS"},"1.3.6.1.4.1.5770.0.3":{d:"secondaryPractices",c:"MEDePass"},"1.3.6.1.4.1.5770.0.4":{d:"physicianIdentifiers",c:"MEDePass"},"1.3.6.1.4.1.6449.1.2.1.3.1":{d:"comodoPolicy",c:"Comodo CA"},"1.3.6.1.4.1.6449.1.2.2.15":{d:"wotrustPolicy",c:"WoTrust (Comodo) CA"},"1.3.6.1.4.1.6449.1.3.5.2":{d:"comodoCertifiedDeliveryService",c:"Comodo CA"},"1.3.6.1.4.1.6449.2.1.1":{d:"comodoTimestampingPolicy",c:"Comodo CA"},"1.3.6.1.4.1.8301.3.5.1":{d:"validityModelChain",c:"TU Darmstadt ValidityModel"},"1.3.6.1.4.1.8301.3.5.2":{d:"validityModelShell",c:"ValidityModel"},"1.3.6.1.4.1.8231.1":{d:"rolUnicoNacional",c:"Chilean Government national unique roll number"},"1.3.6.1.4.1.11129.2.4.2":{d:"googleSignedCertificateTimestamp",c:"Google Certificate Transparency"},"1.3.6.1.4.1.11129.2.4.3":{d:"googlePrecertificatePoison",c:"Google Certificate Transparency"},"1.3.6.1.4.1.11129.2.4.4":{d:"googlePrecertificateCA",c:"Google Certificate Transparency"},"1.3.6.1.4.1.11129.2.4.5":{d:"googleOcspSignedCertificateTimestamp",c:"Google Certificate Transparency"},"1.3.6.1.4.1.11591":{d:"gnu",c:"GNU Project (see https://www.gnupg.org/oids.html)"},"1.3.6.1.4.1.11591.1":{d:"gnuRadius",c:"GNU Radius"},"1.3.6.1.4.1.11591.2.2.1":{d:"gpgX509StandaloneCert",c:"Cert is intentionally self-signed."},"1.3.6.1.4.1.11591.2.2.2":{d:"gpgX509WellKnownPrivateKey",c:"Mark cert as having a well known key"},"1.3.6.1.4.1.11591.2.2.10":{d:"gpgX509PgpKdfKekParm",c:"Description of ECC params"},"1.3.6.1.4.1.11591.2.3.1":{d:"gpgCtPgpKeyblock",c:"CMS ct for a binary PGP keyblock"},"1.3.6.1.4.1.11591.2.4.1.1":{d:"gpgFingerprint",c:"LDAP keyserver attribute"},"1.3.6.1.4.1.11591.2.4.1.2":{d:"gpgSubFingerprint",c:"LDAP keyserver attribute"},"1.3.6.1.4.1.11591.2.4.1.3":{d:"gpgMailbox",c:"LDAP keyserver attribute"},"1.3.6.1.4.1.11591.2.4.1.4":{d:"gpgSubCertID",c:"LDAP keyserver attribute"},"1.3.6.1.4.1.11591.2.5.1":{d:"gpgNtds",c:"LDAP URL ext, auth with current AD user"},"1.3.6.1.4.1.11591.2.6.1":{d:"gpgX509PgpUseCert",c:"X.509 encoded OpenPGP key usage"},"1.3.6.1.4.1.11591.2.6.2":{d:"gpgX509PgpUseSign",c:"X.509 encoded PGP key usage"},"1.3.6.1.4.1.11591.2.6.3":{d:"gpgX509PgpUseEncr",c:"X.509 encoded PGP key usage"},"1.3.6.1.4.1.11591.2.6.4":{d:"gpgX509PgpUseAuth",c:"X.509 encoded PGP key usage"},"1.3.6.1.4.1.11591.2.12242973":{d:"gpgInvalidOid",c:"0xBAD01D to indicate an invalid encoded OID"},"1.3.6.1.4.1.11591.3":{d:"gnuRadar",c:"GNU Radar"},"1.3.6.1.4.1.11591.4.11":{d:"scrypt",c:"GNU Generic Security Service"},"1.3.6.1.4.1.11591.12":{d:"gnuDigestAlgorithm",c:"GNU digest algorithm"},"1.3.6.1.4.1.11591.12.2":{d:"tiger",c:"GNU digest algorithm"},"1.3.6.1.4.1.11591.13":{d:"gnuEncryptionAlgorithm",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2":{d:"serpent",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.1":{d:"serpent128_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.2":{d:"serpent128_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.3":{d:"serpent128_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.4":{d:"serpent128_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.21":{d:"serpent192_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.22":{d:"serpent192_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.23":{d:"serpent192_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.24":{d:"serpent192_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.41":{d:"serpent256_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.42":{d:"serpent256_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.43":{d:"serpent256_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.44":{d:"serpent256_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.1":{d:"curve25519",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.2":{d:"curve448",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.3":{d:"curve25519ph",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.4":{d:"curve448ph",c:"GNU encryption algorithm"},"1.3.6.1.4.1.16334.509.1.1":{d:"Northrop Grumman extKeyUsage?",c:"Northrop Grumman extended key usage"},"1.3.6.1.4.1.16334.509.2.1":{d:"ngcClass1",c:"Northrop Grumman policy"},"1.3.6.1.4.1.16334.509.2.2":{d:"ngcClass2",c:"Northrop Grumman policy"},"1.3.6.1.4.1.16334.509.2.3":{d:"ngcClass3",c:"Northrop Grumman policy"},"1.3.6.1.4.1.23629.1.4.2.1.1":{d:"safenetUsageLimit",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.2":{d:"safenetEndDate",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.3":{d:"safenetStartDate",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.4":{d:"safenetAdminCert",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.2.1":{d:"safenetKeyDigest",c:"SafeNet"},"1.3.6.1.4.1.25054.3":{d:"carillonSecurity",c:"Carillon security"},"1.3.6.1.4.1.25054.3.1":{d:"carillonCommercialPKI",c:"Carillon security"},"1.3.6.1.4.1.25054.3.2":{d:"carillonCommercialTSA",c:"Carillon security"},"1.3.6.1.4.1.25054.3.3":{d:"carillonCommercialSCVP",c:"Carillon security"},"1.3.6.1.4.1.25054.3.3.1":{d:"carillonSCVPExtendedStatusInfo",c:"Carillon security"},"1.3.6.1.4.1.25054.3.4":{d:"carillonCommercialCMS",c:"Carillon security"},"1.3.6.1.4.1.25054.3.4.1":{d:"carillonExtKeyUsageCIVCardAuth",c:"Carillon security"},"1.3.6.1.4.1.25054.3.4.2":{d:"carillonExtKeyUsageCIVContentSigning",c:"Carillon security"},"1.3.6.1.4.1.25054.3.5":{d:"carillonCommercialLSAP",c:"Carillon security"},"1.3.6.1.4.1.25054.3.5.1":{d:"carillonExtKeyUsageLSAPCodeSigning",c:"Carillon security"},"1.3.6.1.4.1.25054.3.6":{d:"carillonCommercialCE",c:"Carillon security"},"1.3.6.1.4.1.25054.3.7":{d:"carillonCommercialLicense",c:"Carillon security"},"1.3.6.1.4.1.25054.3.7.1":{d:"carillonExtKeyUsageLicenseSigning",c:"Carillon security"},"1.3.6.1.4.1.25054.3.8":{d:"carillonCommercialSecret",c:"Carillon security"},"1.3.6.1.4.1.51483.2.1":{d:"hashOfRootKey",c:"CTIA"},"1.3.6.1.5.2.3.1":{d:"authData",c:"Kerberos"},"1.3.6.1.5.2.3.2":{d:"dHKeyData",c:"Kerberos"},"1.3.6.1.5.2.3.3":{d:"rkeyData",c:"Kerberos"},"1.3.6.1.5.2.3.4":{d:"keyPurposeClientAuth",c:"Kerberos"},"1.3.6.1.5.2.3.5":{d:"keyPurposeKdc",c:"Kerberos"},"1.3.6.1.5.2.3.6":{d:"kdf",c:"Kerberos"},"1.3.6.1.5.5.7":{d:"pkix",c:""},"1.3.6.1.5.5.7.0.12":{d:"attributeCert",c:"PKIX"},"1.3.6.1.5.5.7.1":{d:"privateExtension",c:"PKIX"},"1.3.6.1.5.5.7.1.1":{d:"authorityInfoAccess",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.2":{d:"biometricInfo",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.3":{d:"qcStatements",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.4":{d:"acAuditIdentity",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.5":{d:"acTargeting",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.6":{d:"acAaControls",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.7":{d:"ipAddrBlocks",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.8":{d:"autonomousSysIds",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.9":{d:"routerIdentifier",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.10":{d:"acProxying",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.11":{d:"subjectInfoAccess",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.12":{d:"logoType",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.13":{d:"wlanSSID",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.14":{d:"proxyCertInfo",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.15":{d:"acPolicies",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.16":{d:"certificateWarranty",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.18":{d:"cmsContentConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.19":{d:"otherCerts",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.20":{d:"wrappedApexContinKey",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.21":{d:"clearanceConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.22":{d:"skiSemantics",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.23":{d:"noSecrecyAfforded",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.24":{d:"tlsFeature",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.25":{d:"manufacturerUsageDescription",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.26":{d:"tnAuthList",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.27":{d:"jwtClaimConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.28":{d:"ipAddrBlocksV2",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.29":{d:"autonomousSysIdsV2",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.30":{d:"manufacturerUsageDescriptionSigner",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.31":{d:"acmeIdentifier",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.32":{d:"masaURL",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.33":{d:"enhancedJWTClaimConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.34":{d:"nfTypes",c:"PKIX private extension"},"1.3.6.1.5.5.7.2":{d:"policyQualifierIds",c:"PKIX"},"1.3.6.1.5.5.7.2.1":{d:"cps",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.2":{d:"unotice",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.3":{d:"textNotice",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.4":{d:"acps",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.5":{d:"acunotice",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.3":{d:"keyPurpose",c:"PKIX"},"1.3.6.1.5.5.7.3.1":{d:"serverAuth",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.2":{d:"clientAuth",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.3":{d:"codeSigning",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.4":{d:"emailProtection",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.5":{d:"ipsecEndSystem",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.6":{d:"ipsecTunnel",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.7":{d:"ipsecUser",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.8":{d:"timeStamping",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.9":{d:"ocspSigning",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.10":{d:"dvcs",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.11":{d:"sbgpCertAAServerAuth",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.12":{d:"scvpResponder",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.13":{d:"eapOverPPP",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.14":{d:"eapOverLAN",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.15":{d:"scvpServer",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.16":{d:"scvpClient",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.17":{d:"ipsecIKE",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.18":{d:"capwapAC",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.19":{d:"capwapWTP",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.20":{d:"sipDomain",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.21":{d:"secureShellClient",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.22":{d:"secureShellServer",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.23":{d:"sendRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.24":{d:"sendProxiedRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.25":{d:"sendOwner",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.26":{d:"sendProxiedOwner",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.27":{d:"cmcCA",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.28":{d:"cmcRA",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.29":{d:"cmcArchive",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.30":{d:"bgpsecRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.31":{d:"bimi",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.32":{d:"cmKGA",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.33":{d:"rpcTLSClient",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.34":{d:"rpcTLSServer",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.35":{d:"bundleSecurity",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.36":{d:"documentSigning",c:"PKIX key purpose"},"1.3.6.1.5.5.7.4":{d:"cmpInformationTypes",c:"PKIX"},"1.3.6.1.5.5.7.4.1":{d:"caProtEncCert",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.2":{d:"signKeyPairTypes",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.3":{d:"encKeyPairTypes",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.4":{d:"preferredSymmAlg",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.5":{d:"caKeyUpdateInfo",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.6":{d:"currentCRL",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.7":{d:"unsupportedOIDs",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.10":{d:"keyPairParamReq",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.11":{d:"keyPairParamRep",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.12":{d:"revPassphrase",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.13":{d:"implicitConfirm",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.14":{d:"confirmWaitTime",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.15":{d:"origPKIMessage",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.16":{d:"suppLangTags",c:"PKIX CMP information"},"1.3.6.1.5.5.7.5":{d:"crmfRegistration",c:"PKIX"},"1.3.6.1.5.5.7.5.1":{d:"regCtrl",c:"PKIX CRMF registration"},"1.3.6.1.5.5.7.5.1.1":{d:"regToken",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.2":{d:"authenticator",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.3":{d:"pkiPublicationInfo",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.4":{d:"pkiArchiveOptions",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.5":{d:"oldCertID",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.6":{d:"protocolEncrKey",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.7":{d:"altCertTemplate",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.8":{d:"wtlsTemplate",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.2":{d:"utf8Pairs",c:"PKIX CRMF registration"},"1.3.6.1.5.5.7.5.2.1":{d:"utf8Pairs",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.2.2":{d:"certReq",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.6":{d:"algorithms",c:"PKIX"},"1.3.6.1.5.5.7.6.1":{d:"des40",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.2":{d:"noSignature",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.3":{d:"dhSigHmacSha1",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.4":{d:"dhPop",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.5":{d:"dhPopSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.6":{d:"dhPopSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.7":{d:"dhPopSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.8":{d:"dhPopSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.15":{d:"dhPopStaticSha224HmacSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.16":{d:"dhPopStaticSha256HmacSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.17":{d:"dhPopStaticSha384HmacSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.18":{d:"dhPopStaticSha512HmacSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.25":{d:"ecdhPopStaticSha224HmacSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.26":{d:"ecdhPopStaticSha256HmacSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.27":{d:"ecdhPopStaticSha384HmacSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.28":{d:"ecdhPopStaticSha512HmacSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.30":{d:"rsaPssShake128",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.31":{d:"rsaPssShake256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.32":{d:"ecdsaShake128",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.33":{d:"ecdsaShake256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.7":{d:"cmcControls",c:"PKIX"},"1.3.6.1.5.5.7.8":{d:"otherNames",c:"PKIX"},"1.3.6.1.5.5.7.8.1":{d:"personalData",c:"PKIX other name"},"1.3.6.1.5.5.7.8.2":{d:"userGroup",c:"PKIX other name"},"1.3.6.1.5.5.7.8.3":{d:"permanentIdentifier",c:"PKIX other name"},"1.3.6.1.5.5.7.8.5":{d:"xmppAddr",c:"PKIX other name"},"1.3.6.1.5.5.7.8.6":{d:"SIM",c:"PKIX other name"},"1.3.6.1.5.5.7.8.7":{d:"dnsSRV",c:"PKIX other name"},"1.3.6.1.5.5.7.8.8":{d:"naiRealm",c:"PKIX other name"},"1.3.6.1.5.5.7.8.9":{d:"smtpUTF8Mailbox",c:"PKIX other name"},"1.3.6.1.5.5.7.8.10":{d:"acpNodeName",c:"PKIX other name"},"1.3.6.1.5.5.7.8.11":{d:"bundleEID",c:"PKIX other name"},"1.3.6.1.5.5.7.9":{d:"personalData",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.9.1":{d:"dateOfBirth",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.2":{d:"placeOfBirth",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.3":{d:"gender",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.4":{d:"countryOfCitizenship",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.5":{d:"countryOfResidence",c:"PKIX personal data"},"1.3.6.1.5.5.7.10":{d:"attributeCertificate",c:"PKIX"},"1.3.6.1.5.5.7.10.1":{d:"authenticationInfo",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.2":{d:"accessIdentity",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.3":{d:"chargingIdentity",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.4":{d:"group",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.5":{d:"role",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.6":{d:"wlanSSID",c:"PKIX attribute-certificate extension"},"1.3.6.1.5.5.7.11":{d:"personalData",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.11.1":{d:"pkixQCSyntax-v1",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.11.2":{d:"pkixQCSyntax-v2",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.12":{d:"pkixCCT",c:"PKIX CMC Content Types"},"1.3.6.1.5.5.7.12.2":{d:"pkiData",c:"PKIX CMC Content Types"},"1.3.6.1.5.5.7.12.3":{d:"pkiResponse",c:"PKIX CMC Content Types"},"1.3.6.1.5.5.7.14.2":{d:"resourceCertificatePolicy",c:"PKIX policies"},"1.3.6.1.5.5.7.17":{d:"scvpCheck",c:"PKIX SCVP check"},"1.3.6.1.5.5.7.17.1":{d:"scvpCheckBuildPath",c:"SCVP"},"1.3.6.1.5.5.7.17.2":{d:"scvpCheckBuildValidPath",c:"SCVP"},"1.3.6.1.5.5.7.17.3":{d:"scvpCheckBuildStatusCheckedPath",c:"SCVP"},"1.3.6.1.5.5.7.17.4":{d:"scvpCheckBuildAaPath",c:"SCVP"},"1.3.6.1.5.5.7.17.5":{d:"scvpCheckBuildValidAaPath",c:"SCVP"},"1.3.6.1.5.5.7.17.6":{d:"scvpCheckBuildStatusCheckedAaPath",c:"SCVP"},"1.3.6.1.5.5.7.17.7":{d:"scvpCheckStatusCheckAcAndBuildStatusCheckedAaPath",c:"SCVP"},"1.3.6.1.5.5.7.18":{d:"scvpWantBack",c:"PKIX SCVP wantback"},"1.3.6.1.5.5.7.18.1":{d:"scvpWantbackBestCertPath",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.2":{d:"scvpWantbackRevocationInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.4":{d:"scvpWantbackPublicKeyInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.5":{d:"scvpWantbackAaCertPath",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.6":{d:"scvpWantbackAaRevocationInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.7":{d:"scvpWantbackAcRevocationInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.9":{d:"scvpWantbackRelayedResponses",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.10":{d:"scvpWantbackCert",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.11":{d:"scvpWantbackAcCert",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.12":{d:"scvpWantbackAllCertPaths",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.13":{d:"scvpWantbackEeRevocationInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.18.14":{d:"scvpWantbackCAsRevocationInfo",c:"SCVP wantback"},"1.3.6.1.5.5.7.19":{d:"scvpValPolicy",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.1":{d:"scvpDefaultValPolicy",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2":{d:"scvpNameValAlg",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.1":{d:"scvpNameErrorNameMismatch",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.2":{d:"scvpNameErrorNoName",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.3":{d:"scvpNameErrorUnknownAlg",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.4":{d:"scvpNameErrorBadName",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.5":{d:"scvpNameErrorBadNameType",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.2.6":{d:"scvpNameErrorMixedNames",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.3":{d:"scvpBasicValAlg",c:"SCVP validation policy"},"1.3.6.1.5.5.7.19.3.1":{d:"scvpValErrorExpired",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.2":{d:"scvpValErrorNotYetValid",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.3":{d:"scvpValErrorWrongTrustAnchor",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.4":{d:"scvpValErrorNoValidCertPath",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.5":{d:"scvpValErrorRevoked",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.9":{d:"scvpValErrorInvalidKeyPurpose",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.10":{d:"scvpValErrorInvalidKeyUsage",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.19.3.11":{d:"scvpValErrorInvalidCertPolicy",c:"SCVP validation policy error"},"1.3.6.1.5.5.7.20":{d:"logo",c:"Qualified Certificate"},"1.3.6.1.5.5.7.20.1":{d:"logoLoyalty",c:"Qualified Certificate"},"1.3.6.1.5.5.7.20.2":{d:"logoBackground",c:"Qualified Certificate"},"1.3.6.1.5.5.7.48.1":{d:"ocsp",c:"PKIX OCSP"},"1.3.6.1.5.5.7.48.1.1":{d:"ocspBasic",c:"OCSP"},"1.3.6.1.5.5.7.48.1.2":{d:"ocspNonce",c:"OCSP"},"1.3.6.1.5.5.7.48.1.3":{d:"ocspCRL",c:"OCSP"},"1.3.6.1.5.5.7.48.1.4":{d:"ocspResponse",c:"OCSP"},"1.3.6.1.5.5.7.48.1.5":{d:"ocspNoCheck",c:"OCSP"},"1.3.6.1.5.5.7.48.1.6":{d:"ocspArchiveCutoff",c:"OCSP"},"1.3.6.1.5.5.7.48.1.7":{d:"ocspServiceLocator",c:"OCSP"},"1.3.6.1.5.5.7.48.2":{d:"caIssuers",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.3":{d:"timeStamping",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.4":{d:"dvcs",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.5":{d:"caRepository",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.7":{d:"signedObjectRepository",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.10":{d:"rpkiManifest",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.11":{d:"signedObject",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.8.1.1":{d:"hmacMD5",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.1.2":{d:"hmacSHA",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.1.3":{d:"hmacTiger",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.2.2":{d:"iKEIntermediate",c:"IKE ???"},"1.3.12.2.1011.7.1":{d:"decEncryptionAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.1.2":{d:"decDEA",c:"DASS encryption algorithm"},"1.3.12.2.1011.7.2":{d:"decHashAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.2.1":{d:"decMD2",c:"DASS hash algorithm"},"1.3.12.2.1011.7.2.2":{d:"decMD4",c:"DASS hash algorithm"},"1.3.12.2.1011.7.3":{d:"decSignatureAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.3.1":{d:"decMD2withRSA",c:"DASS signature algorithm"},"1.3.12.2.1011.7.3.2":{d:"decMD4withRSA",c:"DASS signature algorithm"},"1.3.12.2.1011.7.3.3":{d:"decDEAMAC",c:"DASS signature algorithm"},"1.3.14.2.26.5":{d:"sha",c:"Unsure about this OID"},"1.3.14.3.2.1.1":{d:"rsa",c:"X.509. Unsure about this OID"},"1.3.14.3.2.2":{d:"md4WitRSA",c:"Oddball OIW OID"},"1.3.14.3.2.3":{d:"md5WithRSA",c:"Oddball OIW OID"},"1.3.14.3.2.4":{d:"md4WithRSAEncryption",c:"Oddball OIW OID"},"1.3.14.3.2.2.1":{d:"sqmod-N",c:"X.509. Deprecated",w:!0},"1.3.14.3.2.3.1":{d:"sqmod-NwithRSA",c:"X.509. Deprecated",w:!0},"1.3.14.3.2.6":{d:"desECB",c:""},"1.3.14.3.2.7":{d:"desCBC",c:""},"1.3.14.3.2.8":{d:"desOFB",c:""},"1.3.14.3.2.9":{d:"desCFB",c:""},"1.3.14.3.2.10":{d:"desMAC",c:""},"1.3.14.3.2.11":{d:"rsaSignature",c:"ISO 9796-2, also X9.31 Part 1"},"1.3.14.3.2.12":{d:"dsa",c:"OIW?, supposedly from an incomplete version of SDN.701 (doesn't match final SDN.701)",w:!0},"1.3.14.3.2.13":{d:"dsaWithSHA",c:"Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27)",w:!0},"1.3.14.3.2.14":{d:"mdc2WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.15":{d:"shaWithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.16":{d:"dhWithCommonModulus",c:"Oddball OIW OID. Deprecated, use a plain DH OID instead",w:!0},"1.3.14.3.2.17":{d:"desEDE",c:"Oddball OIW OID. Mode is ECB"},"1.3.14.3.2.18":{d:"sha",c:"Oddball OIW OID"},"1.3.14.3.2.19":{d:"mdc-2",c:"Oddball OIW OID, DES-based hash, planned for X9.31 Part 2"},"1.3.14.3.2.20":{d:"dsaCommon",c:"Oddball OIW OID. Deprecated, use a plain DSA OID instead",w:!0},"1.3.14.3.2.21":{d:"dsaCommonWithSHA",c:"Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead",w:!0},"1.3.14.3.2.22":{d:"rsaKeyTransport",c:"Oddball OIW OID"},"1.3.14.3.2.23":{d:"keyed-hash-seal",c:"Oddball OIW OID"},"1.3.14.3.2.24":{d:"md2WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.25":{d:"md5WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.26":{d:"sha1",c:"OIW"},"1.3.14.3.2.27":{d:"dsaWithSHA1",c:"OIW. This OID may also be assigned as ripemd-160"},"1.3.14.3.2.28":{d:"dsaWithCommonSHA1",c:"OIW"},"1.3.14.3.2.29":{d:"sha-1WithRSAEncryption",c:"Oddball OIW OID"},"1.3.14.3.3.1":{d:"simple-strong-auth-mechanism",c:"Oddball OIW OID"},"1.3.14.7.2.1.1":{d:"ElGamal",c:"Unsure about this OID"},"1.3.14.7.2.3.1":{d:"md2WithRSA",c:"Unsure about this OID"},"1.3.14.7.2.3.2":{d:"md2WithElGamal",c:"Unsure about this OID"},"1.3.18.0.2.18.1":{d:"hostIDMapping",c:"IBM RACF ID mapping"},"1.3.27.16":{d:"icaoSecurity",c:"ICAO security"},"1.3.27.16.0":{d:"icaoSecurity",c:"ICAO security test?"},"1.3.27.16.0.1.1.1.1.1.1.0":{d:"icaoTestValidationPolicy",c:"ICAO security test?"},"1.3.27.16.1":{d:"icaoCertPolicy",c:"ICAO certificate policies"},"1.3.27.16.1.2":{d:"icaoIATFRootCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1":{d:"icaoIdentityAssurance",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.1":{d:"icaoIdentityAssuranceLow",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.2":{d:"icaoIdentityAssuranceLowDevice",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.3":{d:"icaoIdentityAssuranceLowTSPMediated",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.4":{d:"icaoIdentityAssuranceMedium",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.5":{d:"icaoIdentityAssuranceMediumDevice",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.6":{d:"icaoIdentityAssuranceMediumTSPMediated",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.7":{d:"icaoIdentityAssuranceMediumHardware",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.8":{d:"icaoIdentityAssuranceMediumDeviceHardware",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.9":{d:"icaoIdentityAssuranceHigh",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.10":{d:"icaoIdentityAssuranceHighCardAuth",c:"ICAO certificate policies"},"1.3.27.16.1.2.0.1.11":{d:"icaoIdentityAssuranceHighContentSigning",c:"ICAO certificate policies"},"1.3.27.16.1.2.1":{d:"icaoIATFBridgeCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.0":{d:"icaoCAODRootCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1":{d:"icaoCAODBridgeCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1":{d:"icaoUSBridgeCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1.1":{d:"icaoFAARootCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1.1.1":{d:"icaoFAAIssuingCA",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1.1.1.1":{d:"icaoFAAClientCertificate",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1.1.1.2":{d:"icaoFAAServerCertificate",c:"ICAO certificate policies"},"1.3.27.16.1.2.1.1.1.1.1.3":{d:"icaoFAASWIMSigningCertificate",c:"ICAO certificate policies"},"1.3.27.16.1.4.1.1":{d:"icaoSWIMSigning",c:"ICAO extended key usage"},"1.3.36.1":{d:"document",c:"Teletrust document"},"1.3.36.1.1":{d:"finalVersion",c:"Teletrust document"},"1.3.36.1.2":{d:"draft",c:"Teletrust document"},"1.3.36.2":{d:"sio",c:"Teletrust sio"},"1.3.36.2.1":{d:"sedu",c:"Teletrust sio"},"1.3.36.3":{d:"algorithm",c:"Teletrust algorithm"},"1.3.36.3.1":{d:"encryptionAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.1.1":{d:"des",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.1":{d:"desECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.1.1":{d:"desECB_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.2.1":{d:"desCBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.2.1.1":{d:"desCBC_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.3":{d:"des_3",c:"Teletrust encryption algorithm"},"1.3.36.3.1.3.1.1":{d:"des_3ECB_pad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.1.1.1":{d:"des_3ECB_ISOpad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.2.1":{d:"des_3CBC_pad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.2.1.1":{d:"des_3CBC_ISOpad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.2":{d:"idea",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1":{d:"ideaECB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1.1":{d:"ideaECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1.1.1":{d:"ideaECB_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2":{d:"ideaCBC",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2.1":{d:"ideaCBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2.1.1":{d:"ideaCBC_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.3":{d:"ideaOFB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.4":{d:"ideaCFB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.4":{d:"rsaEncryption",c:"Teletrust encryption algorithm"},"1.3.36.3.1.4.512.17":{d:"rsaEncryptionWithlmod512expe17",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5":{d:"bsi-1",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.1":{d:"bsi_1ECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.2":{d:"bsi_1CBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.2.1":{d:"bsi_1CBC_PEMpad",c:"Teletrust encryption algorithm"},"1.3.36.3.2":{d:"hashAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.2.1":{d:"ripemd160",c:"Teletrust hash algorithm"},"1.3.36.3.2.2":{d:"ripemd128",c:"Teletrust hash algorithm"},"1.3.36.3.2.3":{d:"ripemd256",c:"Teletrust hash algorithm"},"1.3.36.3.2.4":{d:"mdc2singleLength",c:"Teletrust hash algorithm"},"1.3.36.3.2.5":{d:"mdc2doubleLength",c:"Teletrust hash algorithm"},"1.3.36.3.3":{d:"signatureAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.3.1":{d:"rsaSignature",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.1":{d:"rsaSignatureWithsha1",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.1.1024.11":{d:"rsaSignatureWithsha1_l1024_l11",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.2":{d:"rsaSignatureWithripemd160",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.2.1024.11":{d:"rsaSignatureWithripemd160_l1024_l11",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.3":{d:"rsaSignatureWithrimpemd128",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.4":{d:"rsaSignatureWithrimpemd256",c:"Teletrust signature algorithm"},"1.3.36.3.3.2":{d:"ecsieSign",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.1":{d:"ecsieSignWithsha1",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.2":{d:"ecsieSignWithripemd160",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.3":{d:"ecsieSignWithmd2",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.4":{d:"ecsieSignWithmd5",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.8.1.1.1":{d:"brainpoolP160r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.2":{d:"brainpoolP160t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.3":{d:"brainpoolP192r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.4":{d:"brainpoolP192t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.5":{d:"brainpoolP224r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.6":{d:"brainpoolP224t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.7":{d:"brainpoolP256r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.8":{d:"brainpoolP256t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.9":{d:"brainpoolP320r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.10":{d:"brainpoolP320t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.11":{d:"brainpoolP384r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.12":{d:"brainpoolP384t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.13":{d:"brainpoolP512r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.14":{d:"brainpoolP512t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.4":{d:"signatureScheme",c:"Teletrust algorithm"},"1.3.36.3.4.1":{d:"sigS_ISO9796-1",c:"Teletrust signature scheme"},"1.3.36.3.4.2":{d:"sigS_ISO9796-2",c:"Teletrust signature scheme"},"1.3.36.3.4.2.1":{d:"sigS_ISO9796-2Withred",c:"Teletrust signature scheme. Unsure what this is supposed to be"},"1.3.36.3.4.2.2":{d:"sigS_ISO9796-2Withrsa",c:"Teletrust signature scheme. Unsure what this is supposed to be"},"1.3.36.3.4.2.3":{d:"sigS_ISO9796-2Withrnd",c:"Teletrust signature scheme. 9796-2 with random number in padding field"},"1.3.36.4":{d:"attribute",c:"Teletrust attribute"},"1.3.36.5":{d:"policy",c:"Teletrust policy"},"1.3.36.6":{d:"api",c:"Teletrust API"},"1.3.36.6.1":{d:"manufacturer-specific_api",c:"Teletrust API"},"1.3.36.6.1.1":{d:"utimaco-api",c:"Teletrust API"},"1.3.36.6.2":{d:"functionality-specific_api",c:"Teletrust API"},"1.3.36.7":{d:"keymgmnt",c:"Teletrust key management"},"1.3.36.7.1":{d:"keyagree",c:"Teletrust key management"},"1.3.36.7.1.1":{d:"bsiPKE",c:"Teletrust key management"},"1.3.36.7.2":{d:"keytrans",c:"Teletrust key management"},"1.3.36.7.2.1":{d:"encISO9796-2Withrsa",c:"Teletrust key management. 9796-2 with key stored in hash field"},"1.3.36.8.1.1":{d:"Teletrust SigGConform policyIdentifier",c:"Teletrust policy"},"1.3.36.8.2.1":{d:"directoryService",c:"Teletrust extended key usage"},"1.3.36.8.3.1":{d:"dateOfCertGen",c:"Teletrust attribute"},"1.3.36.8.3.2":{d:"procuration",c:"Teletrust attribute"},"1.3.36.8.3.3":{d:"admission",c:"Teletrust attribute"},"1.3.36.8.3.4":{d:"monetaryLimit",c:"Teletrust attribute"},"1.3.36.8.3.5":{d:"declarationOfMajority",c:"Teletrust attribute"},"1.3.36.8.3.6":{d:"integratedCircuitCardSerialNumber",c:"Teletrust attribute"},"1.3.36.8.3.7":{d:"pKReference",c:"Teletrust attribute"},"1.3.36.8.3.8":{d:"restriction",c:"Teletrust attribute"},"1.3.36.8.3.9":{d:"retrieveIfAllowed",c:"Teletrust attribute"},"1.3.36.8.3.10":{d:"requestedCertificate",c:"Teletrust attribute"},"1.3.36.8.3.11":{d:"namingAuthorities",c:"Teletrust attribute"},"1.3.36.8.3.11.1":{d:"rechtWirtschaftSteuern",c:"Teletrust naming authorities"},"1.3.36.8.3.11.1.1":{d:"rechtsanwaeltin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.2":{d:"rechtsanwalt",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.3":{d:"rechtsBeistand",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.4":{d:"steuerBeraterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.5":{d:"steuerBerater",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.6":{d:"steuerBevollmaechtigte",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.7":{d:"steuerBevollmaechtigter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.8":{d:"notarin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.9":{d:"notar",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.10":{d:"notarVertreterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.11":{d:"notarVertreter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.12":{d:"notariatsVerwalterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.13":{d:"notariatsVerwalter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.14":{d:"wirtschaftsPrueferin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.15":{d:"wirtschaftsPruefer",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.16":{d:"vereidigteBuchprueferin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.17":{d:"vereidigterBuchpruefer",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.18":{d:"patentAnwaeltin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.19":{d:"patentAnwalt",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.12":{d:"certInDirSince",c:"Teletrust OCSP attribute (obsolete)",w:!0},"1.3.36.8.3.13":{d:"certHash",c:"Teletrust OCSP attribute"},"1.3.36.8.3.14":{d:"nameAtBirth",c:"Teletrust attribute"},"1.3.36.8.3.15":{d:"additionalInformation",c:"Teletrust attribute"},"1.3.36.8.4.1":{d:"personalData",c:"Teletrust OtherName attribute"},"1.3.36.8.4.8":{d:"restriction",c:"Teletrust attribute certificate attribute"},"1.3.36.8.5.1.1.1":{d:"rsaIndicateSHA1",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.2":{d:"rsaIndicateRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.3":{d:"rsaWithSHA1",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.4":{d:"rsaWithRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.2.1":{d:"dsaExtended",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.2.2":{d:"dsaWithRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.6.1":{d:"cert",c:"Teletrust signature attributes"},"1.3.36.8.6.2":{d:"certRef",c:"Teletrust signature attributes"},"1.3.36.8.6.3":{d:"attrCert",c:"Teletrust signature attributes"},"1.3.36.8.6.4":{d:"attrRef",c:"Teletrust signature attributes"},"1.3.36.8.6.5":{d:"fileName",c:"Teletrust signature attributes"},"1.3.36.8.6.6":{d:"storageTime",c:"Teletrust signature attributes"},"1.3.36.8.6.7":{d:"fileSize",c:"Teletrust signature attributes"},"1.3.36.8.6.8":{d:"location",c:"Teletrust signature attributes"},"1.3.36.8.6.9":{d:"sigNumber",c:"Teletrust signature attributes"},"1.3.36.8.6.10":{d:"autoGen",c:"Teletrust signature attributes"},"1.3.36.8.7.1.1":{d:"ptAdobeILL",c:"Teletrust presentation types"},"1.3.36.8.7.1.2":{d:"ptAmiPro",c:"Teletrust presentation types"},"1.3.36.8.7.1.3":{d:"ptAutoCAD",c:"Teletrust presentation types"},"1.3.36.8.7.1.4":{d:"ptBinary",c:"Teletrust presentation types"},"1.3.36.8.7.1.5":{d:"ptBMP",c:"Teletrust presentation types"},"1.3.36.8.7.1.6":{d:"ptCGM",c:"Teletrust presentation types"},"1.3.36.8.7.1.7":{d:"ptCorelCRT",c:"Teletrust presentation types"},"1.3.36.8.7.1.8":{d:"ptCorelDRW",c:"Teletrust presentation types"},"1.3.36.8.7.1.9":{d:"ptCorelEXC",c:"Teletrust presentation types"},"1.3.36.8.7.1.10":{d:"ptCorelPHT",c:"Teletrust presentation types"},"1.3.36.8.7.1.11":{d:"ptDraw",c:"Teletrust presentation types"},"1.3.36.8.7.1.12":{d:"ptDVI",c:"Teletrust presentation types"},"1.3.36.8.7.1.13":{d:"ptEPS",c:"Teletrust presentation types"},"1.3.36.8.7.1.14":{d:"ptExcel",c:"Teletrust presentation types"},"1.3.36.8.7.1.15":{d:"ptGEM",c:"Teletrust presentation types"},"1.3.36.8.7.1.16":{d:"ptGIF",c:"Teletrust presentation types"},"1.3.36.8.7.1.17":{d:"ptHPGL",c:"Teletrust presentation types"},"1.3.36.8.7.1.18":{d:"ptJPEG",c:"Teletrust presentation types"},"1.3.36.8.7.1.19":{d:"ptKodak",c:"Teletrust presentation types"},"1.3.36.8.7.1.20":{d:"ptLaTeX",c:"Teletrust presentation types"},"1.3.36.8.7.1.21":{d:"ptLotus",c:"Teletrust presentation types"},"1.3.36.8.7.1.22":{d:"ptLotusPIC",c:"Teletrust presentation types"},"1.3.36.8.7.1.23":{d:"ptMacPICT",c:"Teletrust presentation types"},"1.3.36.8.7.1.24":{d:"ptMacWord",c:"Teletrust presentation types"},"1.3.36.8.7.1.25":{d:"ptMSWfD",c:"Teletrust presentation types"},"1.3.36.8.7.1.26":{d:"ptMSWord",c:"Teletrust presentation types"},"1.3.36.8.7.1.27":{d:"ptMSWord2",c:"Teletrust presentation types"},"1.3.36.8.7.1.28":{d:"ptMSWord6",c:"Teletrust presentation types"},"1.3.36.8.7.1.29":{d:"ptMSWord8",c:"Teletrust presentation types"},"1.3.36.8.7.1.30":{d:"ptPDF",c:"Teletrust presentation types"},"1.3.36.8.7.1.31":{d:"ptPIF",c:"Teletrust presentation types"},"1.3.36.8.7.1.32":{d:"ptPostscript",c:"Teletrust presentation types"},"1.3.36.8.7.1.33":{d:"ptRTF",c:"Teletrust presentation types"},"1.3.36.8.7.1.34":{d:"ptSCITEX",c:"Teletrust presentation types"},"1.3.36.8.7.1.35":{d:"ptTAR",c:"Teletrust presentation types"},"1.3.36.8.7.1.36":{d:"ptTarga",c:"Teletrust presentation types"},"1.3.36.8.7.1.37":{d:"ptTeX",c:"Teletrust presentation types"},"1.3.36.8.7.1.38":{d:"ptText",c:"Teletrust presentation types"},"1.3.36.8.7.1.39":{d:"ptTIFF",c:"Teletrust presentation types"},"1.3.36.8.7.1.40":{d:"ptTIFF-FC",c:"Teletrust presentation types"},"1.3.36.8.7.1.41":{d:"ptUID",c:"Teletrust presentation types"},"1.3.36.8.7.1.42":{d:"ptUUEncode",c:"Teletrust presentation types"},"1.3.36.8.7.1.43":{d:"ptWMF",c:"Teletrust presentation types"},"1.3.36.8.7.1.44":{d:"ptWordPerfect",c:"Teletrust presentation types"},"1.3.36.8.7.1.45":{d:"ptWPGrph",c:"Teletrust presentation types"},"1.3.101.1.4":{d:"thawte-ce",c:"Thawte"},"1.3.101.1.4.1":{d:"strongExtranet",c:"Thawte certificate extension"},"1.3.101.110":{d:"curveX25519",c:"ECDH 25519 key agreement algorithm"},"1.3.101.111":{d:"curveX448",c:"ECDH 448 key agreement algorithm"},"1.3.101.112":{d:"curveEd25519",c:"EdDSA 25519 signature algorithm"},"1.3.101.113":{d:"curveEd448",c:"EdDSA 448 signature algorithm"},"1.3.101.114":{d:"curveEd25519ph",c:"EdDSA 25519 pre-hash signature algorithm"},"1.3.101.115":{d:"curveEd448ph",c:"EdDSA 448 pre-hash signature algorithm"},"1.3.132.0.1":{d:"sect163k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.2":{d:"sect163r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.3":{d:"sect239k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.4":{d:"sect113r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.5":{d:"sect113r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.6":{d:"secp112r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.7":{d:"secp112r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.8":{d:"secp160r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.9":{d:"secp160k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.10":{d:"secp256k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.15":{d:"sect163r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.16":{d:"sect283k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.17":{d:"sect283r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.22":{d:"sect131r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.23":{d:"sect131r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.24":{d:"sect193r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.25":{d:"sect193r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.26":{d:"sect233k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.27":{d:"sect233r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.28":{d:"secp128r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.29":{d:"secp128r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.30":{d:"secp160r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.31":{d:"secp192k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.32":{d:"secp224k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.33":{d:"secp224r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.34":{d:"secp384r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.35":{d:"secp521r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.36":{d:"sect409k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.37":{d:"sect409r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.38":{d:"sect571k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.39":{d:"sect571r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.1.11.0":{d:"ecdhX963KDF-SHA224",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.11.1":{d:"ecdhX963KDF-SHA256",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.11.2":{d:"ecdhX963KDF-SHA384",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.11.3":{d:"ecdhX963KDF-SHA512",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.14.0":{d:"eccofactordhX963KDF-SHA224",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.14.1":{d:"eccofactordhX963KDF-SHA256",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.14.2":{d:"eccofactordhX963KDF-SHA384",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.14.3":{d:"eccofactordhX963KDF-SHA512",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.15.0":{d:"ecmqv-X963KDF-SHA224",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.15.1":{d:"ecmqv-X963KDF-SHA256",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.15.2":{d:"ecmqv-X963KDF-SHA384",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.15.3":{d:"ecmqv-X963KDF-SHA512",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.133.16.840.9.44":{d:"x944",c:"X9.44"},"1.3.133.16.840.9.44.1":{d:"x944Components",c:"X9.44"},"1.3.133.16.840.9.44.1.1":{d:"x944Kdf2",c:"X9.44"},"1.3.133.16.840.9.44.1.2":{d:"x944Kdf3",c:"X9.44"},"1.3.133.16.840.9.84":{d:"x984",c:"X9.84"},"1.3.133.16.840.9.84.0":{d:"x984Module",c:"X9.84"},"1.3.133.16.840.9.84.0.1":{d:"x984Biometrics",c:"X9.84 Module"},"1.3.133.16.840.9.84.0.2":{d:"x984CMS",c:"X9.84 Module"},"1.3.133.16.840.9.84.0.3":{d:"x984Identifiers",c:"X9.84 Module"},"1.3.133.16.840.9.84.1":{d:"x984Biometric",c:"X9.84"},"1.3.133.16.840.9.84.1.0":{d:"biometricUnknownType",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.1":{d:"biometricBodyOdor",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.2":{d:"biometricDNA",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.3":{d:"biometricEarShape",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.4":{d:"biometricFacialFeatures",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.5":{d:"biometricFingerImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.6":{d:"biometricFingerGeometry",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.7":{d:"biometricHandGeometry",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.8":{d:"biometricIrisFeatures",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.9":{d:"biometricKeystrokeDynamics",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.10":{d:"biometricPalm",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.11":{d:"biometricRetina",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.12":{d:"biometricSignature",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.13":{d:"biometricSpeechPattern",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.14":{d:"biometricThermalImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.15":{d:"biometricVeinPattern",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.16":{d:"biometricThermalFaceImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.17":{d:"biometricThermalHandImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.18":{d:"biometricLipMovement",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.19":{d:"biometricGait",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.3":{d:"x984MatchingMethod",c:"X9.84"},"1.3.133.16.840.9.84.4":{d:"x984FormatOwner",c:"X9.84"},"1.3.133.16.840.9.84.4.0":{d:"x984CbeffOwner",c:"X9.84 Format Owner"},"1.3.133.16.840.9.84.4.1":{d:"x984IbiaOwner",c:"X9.84 Format Owner"},"1.3.133.16.840.9.84.4.1.1":{d:"ibiaOwnerSAFLINK",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.2":{d:"ibiaOwnerBioscrypt",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.3":{d:"ibiaOwnerVisionics",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.4":{d:"ibiaOwnerInfineonTechnologiesAG",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.5":{d:"ibiaOwnerIridianTechnologies",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.6":{d:"ibiaOwnerVeridicom",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.7":{d:"ibiaOwnerCyberSIGN",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.8":{d:"ibiaOwnereCryp",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.9":{d:"ibiaOwnerFingerprintCardsAB",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.10":{d:"ibiaOwnerSecuGen",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.11":{d:"ibiaOwnerPreciseBiometric",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.12":{d:"ibiaOwnerIdentix",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.13":{d:"ibiaOwnerDERMALOG",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.14":{d:"ibiaOwnerLOGICO",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.15":{d:"ibiaOwnerNIST",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.16":{d:"ibiaOwnerA3Vision",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.17":{d:"ibiaOwnerNEC",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.18":{d:"ibiaOwnerSTMicroelectronics",c:"X9.84 IBIA Format Owner"},"1.3.158.36061701.0.0.0.1.2.2":{d:"qcpSK",c:"Slovakia Qualified Electronic Signature policies"},"2.5.4.0":{d:"objectClass",c:"X.520 DN component"},"2.5.4.1":{d:"aliasedEntryName",c:"X.520 DN component"},"2.5.4.2":{d:"knowledgeInformation",c:"X.520 DN component"},"2.5.4.3":{d:"commonName",c:"X.520 DN component"},"2.5.4.4":{d:"surname",c:"X.520 DN component"},"2.5.4.5":{d:"serialNumber",c:"X.520 DN component"},"2.5.4.6":{d:"countryName",c:"X.520 DN component"},"2.5.4.7":{d:"localityName",c:"X.520 DN component"},"2.5.4.7.1":{d:"collectiveLocalityName",c:"X.520 DN component"},"2.5.4.8":{d:"stateOrProvinceName",c:"X.520 DN component"},"2.5.4.8.1":{d:"collectiveStateOrProvinceName",c:"X.520 DN component"},"2.5.4.9":{d:"streetAddress",c:"X.520 DN component"},"2.5.4.9.1":{d:"collectiveStreetAddress",c:"X.520 DN component"},"2.5.4.10":{d:"organizationName",c:"X.520 DN component"},"2.5.4.10.1":{d:"collectiveOrganizationName",c:"X.520 DN component"},"2.5.4.11":{d:"organizationalUnitName",c:"X.520 DN component"},"2.5.4.11.1":{d:"collectiveOrganizationalUnitName",c:"X.520 DN component"},"2.5.4.12":{d:"title",c:"X.520 DN component"},"2.5.4.13":{d:"description",c:"X.520 DN component"},"2.5.4.14":{d:"searchGuide",c:"X.520 DN component"},"2.5.4.15":{d:"businessCategory",c:"X.520 DN component"},"2.5.4.16":{d:"postalAddress",c:"X.520 DN component"},"2.5.4.16.1":{d:"collectivePostalAddress",c:"X.520 DN component"},"2.5.4.17":{d:"postalCode",c:"X.520 DN component"},"2.5.4.17.1":{d:"collectivePostalCode",c:"X.520 DN component"},"2.5.4.18":{d:"postOfficeBox",c:"X.520 DN component"},"2.5.4.18.1":{d:"collectivePostOfficeBox",c:"X.520 DN component"},"2.5.4.19":{d:"physicalDeliveryOfficeName",c:"X.520 DN component"},"2.5.4.19.1":{d:"collectivePhysicalDeliveryOfficeName",c:"X.520 DN component"},"2.5.4.20":{d:"telephoneNumber",c:"X.520 DN component"},"2.5.4.20.1":{d:"collectiveTelephoneNumber",c:"X.520 DN component"},"2.5.4.21":{d:"telexNumber",c:"X.520 DN component"},"2.5.4.21.1":{d:"collectiveTelexNumber",c:"X.520 DN component"},"2.5.4.22":{d:"teletexTerminalIdentifier",c:"X.520 DN component"},"2.5.4.22.1":{d:"collectiveTeletexTerminalIdentifier",c:"X.520 DN component"},"2.5.4.23":{d:"facsimileTelephoneNumber",c:"X.520 DN component"},"2.5.4.23.1":{d:"collectiveFacsimileTelephoneNumber",c:"X.520 DN component"},"2.5.4.24":{d:"x121Address",c:"X.520 DN component"},"2.5.4.25":{d:"internationalISDNNumber",c:"X.520 DN component"},"2.5.4.25.1":{d:"collectiveInternationalISDNNumber",c:"X.520 DN component"},"2.5.4.26":{d:"registeredAddress",c:"X.520 DN component"},"2.5.4.27":{d:"destinationIndicator",c:"X.520 DN component"},"2.5.4.28":{d:"preferredDeliveryMehtod",c:"X.520 DN component"},"2.5.4.29":{d:"presentationAddress",c:"X.520 DN component"},"2.5.4.30":{d:"supportedApplicationContext",c:"X.520 DN component"},"2.5.4.31":{d:"member",c:"X.520 DN component"},"2.5.4.32":{d:"owner",c:"X.520 DN component"},"2.5.4.33":{d:"roleOccupant",c:"X.520 DN component"},"2.5.4.34":{d:"seeAlso",c:"X.520 DN component"},"2.5.4.35":{d:"userPassword",c:"X.520 DN component"},"2.5.4.36":{d:"userCertificate",c:"X.520 DN component"},"2.5.4.37":{d:"caCertificate",c:"X.520 DN component"},"2.5.4.38":{d:"authorityRevocationList",c:"X.520 DN component"},"2.5.4.39":{d:"certificateRevocationList",c:"X.520 DN component"},"2.5.4.40":{d:"crossCertificatePair",c:"X.520 DN component"},"2.5.4.41":{d:"name",c:"X.520 DN component"},"2.5.4.42":{d:"givenName",c:"X.520 DN component"},"2.5.4.43":{d:"initials",c:"X.520 DN component"},"2.5.4.44":{d:"generationQualifier",c:"X.520 DN component"},"2.5.4.45":{d:"uniqueIdentifier",c:"X.520 DN component"},"2.5.4.46":{d:"dnQualifier",c:"X.520 DN component"},"2.5.4.47":{d:"enhancedSearchGuide",c:"X.520 DN component"},"2.5.4.48":{d:"protocolInformation",c:"X.520 DN component"},"2.5.4.49":{d:"distinguishedName",c:"X.520 DN component"},"2.5.4.50":{d:"uniqueMember",c:"X.520 DN component"},"2.5.4.51":{d:"houseIdentifier",c:"X.520 DN component"},"2.5.4.52":{d:"supportedAlgorithms",c:"X.520 DN component"},"2.5.4.53":{d:"deltaRevocationList",c:"X.520 DN component"},"2.5.4.54":{d:"dmdName",c:"X.520 DN component"},"2.5.4.55":{d:"clearance",c:"X.520 DN component"},"2.5.4.56":{d:"defaultDirQop",c:"X.520 DN component"},"2.5.4.57":{d:"attributeIntegrityInfo",c:"X.520 DN component"},"2.5.4.58":{d:"attributeCertificate",c:"X.520 DN component"},"2.5.4.59":{d:"attributeCertificateRevocationList",c:"X.520 DN component"},"2.5.4.60":{d:"confKeyInfo",c:"X.520 DN component"},"2.5.4.61":{d:"aACertificate",c:"X.520 DN component"},"2.5.4.62":{d:"attributeDescriptorCertificate",c:"X.520 DN component"},"2.5.4.63":{d:"attributeAuthorityRevocationList",c:"X.520 DN component"},"2.5.4.64":{d:"familyInformation",c:"X.520 DN component"},"2.5.4.65":{d:"pseudonym",c:"X.520 DN component"},"2.5.4.66":{d:"communicationsService",c:"X.520 DN component"},"2.5.4.67":{d:"communicationsNetwork",c:"X.520 DN component"},"2.5.4.68":{d:"certificationPracticeStmt",c:"X.520 DN component"},"2.5.4.69":{d:"certificatePolicy",c:"X.520 DN component"},"2.5.4.70":{d:"pkiPath",c:"X.520 DN component"},"2.5.4.71":{d:"privPolicy",c:"X.520 DN component"},"2.5.4.72":{d:"role",c:"X.520 DN component"},"2.5.4.73":{d:"delegationPath",c:"X.520 DN component"},"2.5.4.74":{d:"protPrivPolicy",c:"X.520 DN component"},"2.5.4.75":{d:"xMLPrivilegeInfo",c:"X.520 DN component"},"2.5.4.76":{d:"xmlPrivPolicy",c:"X.520 DN component"},"2.5.4.77":{d:"uuidpair",c:"X.520 DN component"},"2.5.4.78":{d:"tagOid",c:"X.520 DN component"},"2.5.4.79":{d:"uiiFormat",c:"X.520 DN component"},"2.5.4.80":{d:"uiiInUrh",c:"X.520 DN component"},"2.5.4.81":{d:"contentUrl",c:"X.520 DN component"},"2.5.4.82":{d:"permission",c:"X.520 DN component"},"2.5.4.83":{d:"uri",c:"X.520 DN component"},"2.5.4.84":{d:"pwdAttribute",c:"X.520 DN component"},"2.5.4.85":{d:"userPwd",c:"X.520 DN component"},"2.5.4.86":{d:"urn",c:"X.520 DN component"},"2.5.4.87":{d:"url",c:"X.520 DN component"},"2.5.4.88":{d:"utmCoordinates",c:"X.520 DN component"},"2.5.4.89":{d:"urnC",c:"X.520 DN component"},"2.5.4.90":{d:"uii",c:"X.520 DN component"},"2.5.4.91":{d:"epc",c:"X.520 DN component"},"2.5.4.92":{d:"tagAfi",c:"X.520 DN component"},"2.5.4.93":{d:"epcFormat",c:"X.520 DN component"},"2.5.4.94":{d:"epcInUrn",c:"X.520 DN component"},"2.5.4.95":{d:"ldapUrl",c:"X.520 DN component"},"2.5.4.96":{d:"tagLocation",c:"X.520 DN component"},"2.5.4.97":{d:"organizationIdentifier",c:"X.520 DN component"},"2.5.4.98":{d:"countryCode3c",c:"X.520 DN component"},"2.5.4.99":{d:"countryCode3n",c:"X.520 DN component"},"2.5.4.100":{d:"dnsName",c:"X.520 DN component"},"2.5.4.101":{d:"eepkCertificateRevocationList",c:"X.520 DN component"},"2.5.4.102":{d:"eeAttrCertificateRevocationList",c:"X.520 DN component"},"2.5.4.103":{d:"supportedPublicKeyAlgorithms",c:"X.520 DN component"},"2.5.4.104":{d:"intEmail",c:"X.520 DN component"},"2.5.4.105":{d:"jid",c:"X.520 DN component"},"2.5.4.106":{d:"objectIdentifier",c:"X.520 DN component"},"2.5.6.0":{d:"top",c:"X.520 objectClass"},"2.5.6.1":{d:"alias",c:"X.520 objectClass"},"2.5.6.2":{d:"country",c:"X.520 objectClass"},"2.5.6.3":{d:"locality",c:"X.520 objectClass"},"2.5.6.4":{d:"organization",c:"X.520 objectClass"},"2.5.6.5":{d:"organizationalUnit",c:"X.520 objectClass"},"2.5.6.6":{d:"person",c:"X.520 objectClass"},"2.5.6.7":{d:"organizationalPerson",c:"X.520 objectClass"},"2.5.6.8":{d:"organizationalRole",c:"X.520 objectClass"},"2.5.6.9":{d:"groupOfNames",c:"X.520 objectClass"},"2.5.6.10":{d:"residentialPerson",c:"X.520 objectClass"},"2.5.6.11":{d:"applicationProcess",c:"X.520 objectClass"},"2.5.6.12":{d:"applicationEntity",c:"X.520 objectClass"},"2.5.6.13":{d:"dSA",c:"X.520 objectClass"},"2.5.6.14":{d:"device",c:"X.520 objectClass"},"2.5.6.15":{d:"strongAuthenticationUser",c:"X.520 objectClass"},"2.5.6.16":{d:"certificateAuthority",c:"X.520 objectClass"},"2.5.6.17":{d:"groupOfUniqueNames",c:"X.520 objectClass"},"2.5.6.21":{d:"pkiUser",c:"X.520 objectClass"},"2.5.6.22":{d:"pkiCA",c:"X.520 objectClass"},"2.5.8.1.1":{d:"rsa",c:"X.500 algorithms. Ambiguous, since no padding rules specified",w:!0},"2.5.29.1":{d:"authorityKeyIdentifier",c:"X.509 extension. Deprecated, use 2 5 29 35 instead",w:!0},"2.5.29.2":{d:"keyAttributes",c:"X.509 extension. Obsolete, use keyUsage/extKeyUsage instead",w:!0},"2.5.29.3":{d:"certificatePolicies",c:"X.509 extension. Deprecated, use 2 5 29 32 instead",w:!0},"2.5.29.4":{d:"keyUsageRestriction",c:"X.509 extension. Obsolete, use keyUsage/extKeyUsage instead",w:!0},"2.5.29.5":{d:"policyMapping",c:"X.509 extension. Deprecated, use 2 5 29 33 instead",w:!0},"2.5.29.6":{d:"subtreesConstraint",c:"X.509 extension. Obsolete, use nameConstraints instead",w:!0},"2.5.29.7":{d:"subjectAltName",c:"X.509 extension. Deprecated, use 2 5 29 17 instead",w:!0},"2.5.29.8":{d:"issuerAltName",c:"X.509 extension. Deprecated, use 2 5 29 18 instead",w:!0},"2.5.29.9":{d:"subjectDirectoryAttributes",c:"X.509 extension"},"2.5.29.10":{d:"basicConstraints",c:"X.509 extension. Deprecated, use 2 5 29 19 instead",w:!0},"2.5.29.11":{d:"nameConstraints",c:"X.509 extension. Deprecated, use 2 5 29 30 instead",w:!0},"2.5.29.12":{d:"policyConstraints",c:"X.509 extension. Deprecated, use 2 5 29 36 instead",w:!0},"2.5.29.13":{d:"basicConstraints",c:"X.509 extension. Deprecated, use 2 5 29 19 instead",w:!0},"2.5.29.14":{d:"subjectKeyIdentifier",c:"X.509 extension"},"2.5.29.15":{d:"keyUsage",c:"X.509 extension"},"2.5.29.16":{d:"privateKeyUsagePeriod",c:"X.509 extension"},"2.5.29.17":{d:"subjectAltName",c:"X.509 extension"},"2.5.29.18":{d:"issuerAltName",c:"X.509 extension"},"2.5.29.19":{d:"basicConstraints",c:"X.509 extension"},"2.5.29.20":{d:"cRLNumber",c:"X.509 extension"},"2.5.29.21":{d:"cRLReason",c:"X.509 extension"},"2.5.29.22":{d:"expirationDate",c:"X.509 extension. Deprecated, alternative OID uncertain",w:!0},"2.5.29.23":{d:"instructionCode",c:"X.509 extension"},"2.5.29.24":{d:"invalidityDate",c:"X.509 extension"},"2.5.29.25":{d:"cRLDistributionPoints",c:"X.509 extension. Deprecated, use 2 5 29 31 instead",w:!0},"2.5.29.26":{d:"issuingDistributionPoint",c:"X.509 extension. Deprecated, use 2 5 29 28 instead",w:!0},"2.5.29.27":{d:"deltaCRLIndicator",c:"X.509 extension"},"2.5.29.28":{d:"issuingDistributionPoint",c:"X.509 extension"},"2.5.29.29":{d:"certificateIssuer",c:"X.509 extension"},"2.5.29.30":{d:"nameConstraints",c:"X.509 extension"},"2.5.29.31":{d:"cRLDistributionPoints",c:"X.509 extension"},"2.5.29.32":{d:"certificatePolicies",c:"X.509 extension"},"2.5.29.32.0":{d:"anyPolicy",c:"X.509 certificate policy"},"2.5.29.33":{d:"policyMappings",c:"X.509 extension"},"2.5.29.34":{d:"policyConstraints",c:"X.509 extension. Deprecated, use 2 5 29 36 instead",w:!0},"2.5.29.35":{d:"authorityKeyIdentifier",c:"X.509 extension"},"2.5.29.36":{d:"policyConstraints",c:"X.509 extension"},"2.5.29.37":{d:"extKeyUsage",c:"X.509 extension"},"2.5.29.37.0":{d:"anyExtendedKeyUsage",c:"X.509 extended key usage"},"2.5.29.38":{d:"authorityAttributeIdentifier",c:"X.509 extension"},"2.5.29.39":{d:"roleSpecCertIdentifier",c:"X.509 extension"},"2.5.29.40":{d:"cRLStreamIdentifier",c:"X.509 extension"},"2.5.29.41":{d:"basicAttConstraints",c:"X.509 extension"},"2.5.29.42":{d:"delegatedNameConstraints",c:"X.509 extension"},"2.5.29.43":{d:"timeSpecification",c:"X.509 extension"},"2.5.29.44":{d:"cRLScope",c:"X.509 extension"},"2.5.29.45":{d:"statusReferrals",c:"X.509 extension"},"2.5.29.46":{d:"freshestCRL",c:"X.509 extension"},"2.5.29.47":{d:"orderedList",c:"X.509 extension"},"2.5.29.48":{d:"attributeDescriptor",c:"X.509 extension"},"2.5.29.49":{d:"userNotice",c:"X.509 extension"},"2.5.29.50":{d:"sOAIdentifier",c:"X.509 extension"},"2.5.29.51":{d:"baseUpdateTime",c:"X.509 extension"},"2.5.29.52":{d:"acceptableCertPolicies",c:"X.509 extension"},"2.5.29.53":{d:"deltaInfo",c:"X.509 extension"},"2.5.29.54":{d:"inhibitAnyPolicy",c:"X.509 extension"},"2.5.29.55":{d:"targetInformation",c:"X.509 extension"},"2.5.29.56":{d:"noRevAvail",c:"X.509 extension"},"2.5.29.57":{d:"acceptablePrivilegePolicies",c:"X.509 extension"},"2.5.29.58":{d:"toBeRevoked",c:"X.509 extension"},"2.5.29.59":{d:"revokedGroups",c:"X.509 extension"},"2.5.29.60":{d:"expiredCertsOnCRL",c:"X.509 extension"},"2.5.29.61":{d:"indirectIssuer",c:"X.509 extension"},"2.5.29.62":{d:"noAssertion",c:"X.509 extension"},"2.5.29.63":{d:"aAissuingDistributionPoint",c:"X.509 extension"},"2.5.29.64":{d:"issuedOnBehalfOf",c:"X.509 extension"},"2.5.29.65":{d:"singleUse",c:"X.509 extension"},"2.5.29.66":{d:"groupAC",c:"X.509 extension"},"2.5.29.67":{d:"allowedAttAss",c:"X.509 extension"},"2.5.29.68":{d:"attributeMappings",c:"X.509 extension"},"2.5.29.69":{d:"holderNameConstraints",c:"X.509 extension"},"2.16.578.1.26.1.3.1":{d:"privateKeySmartCard",c:"Norway Buypass CA policy"},"2.16.578.1.26.1.3.2":{d:"privateKeySoftToken",c:"Norway Buypass CA policy"},"2.16.578.1.26.1.3.3":{d:"sslEvident. Also assigned as BuyPass EV policy",c:"Norway Buypass CA policy"},"2.16.578.1.26.1.3.4":{d:"sslBusinessPlus",c:"Norway Buypass CA policy"},"2.16.578.1.26.1.3.5":{d:"privateKeyHardToken",c:"Norway Buypass CA policy"},"2.16.578.1.26.1.3.6":{d:"privateKeyHSM",c:"Norway Buypass CA policy"},"2.16.724.1.2.2.4.1":{d:"personalDataInfo",c:"Spanish Government PKI?"},"2.16.840.1.101.2.1.1.1":{d:"sdnsSignatureAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.2":{d:"fortezzaSignatureAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1."},"2.16.840.1.101.2.1.1.3":{d:"sdnsConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.4":{d:"fortezzaConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm"},"2.16.840.1.101.2.1.1.5":{d:"sdnsIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.6":{d:"fortezzaIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm"},"2.16.840.1.101.2.1.1.7":{d:"sdnsTokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.8":{d:"fortezzaTokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm"},"2.16.840.1.101.2.1.1.9":{d:"sdnsKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.10":{d:"fortezzaKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm"},"2.16.840.1.101.2.1.1.11":{d:"sdnsKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.12":{d:"fortezzaKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm"},"2.16.840.1.101.2.1.1.13":{d:"suiteASignatureAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.14":{d:"suiteAConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.15":{d:"suiteAIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.16":{d:"suiteATokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.17":{d:"suiteAKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.18":{d:"suiteAKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.19":{d:"fortezzaUpdatedSigAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm"},"2.16.840.1.101.2.1.1.20":{d:"fortezzaKMandUpdSigAlgorithms",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms"},"2.16.840.1.101.2.1.1.21":{d:"fortezzaUpdatedIntegAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm"},"2.16.840.1.101.2.1.1.22":{d:"keyExchangeAlgorithm",c:"SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm"},"2.16.840.1.101.2.1.1.23":{d:"fortezzaWrap80Algorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.24":{d:"kEAKeyEncryptionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.2.1":{d:"rfc822MessageFormat",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.2":{d:"emptyContent",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.3":{d:"cspContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.42":{d:"mspRev3ContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.48":{d:"mspContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.49":{d:"mspRekeyAgentProtocol",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.50":{d:"mspMMP",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.66":{d:"mspRev3-1ContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.72":{d:"forwardedMSPMessageBodyPart",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.73":{d:"mspForwardedMessageParameters",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.74":{d:"forwardedCSPMsgBodyPart",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.75":{d:"cspForwardedMessageParameters",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.76":{d:"mspMMP2",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.78.2":{d:"encryptedKeyPackage",c:"SDN.700 INFOSEC format and RFC 6032"},"2.16.840.1.101.2.1.2.78.3":{d:"keyPackageReceipt",c:"SDN.700 INFOSEC format and RFC 7191"},"2.16.840.1.101.2.1.2.78.6":{d:"keyPackageError",c:"SDN.700 INFOSEC format and RFC 7191"},"2.16.840.1.101.2.1.3.1":{d:"sdnsSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.2":{d:"sdnsPRBAC",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.3":{d:"mosaicPRBAC",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.10":{d:"siSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.10.0":{d:"siNASP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.1":{d:"siELCO",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.2":{d:"siTK",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.3":{d:"siDSAP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.4":{d:"siSSSS",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.5":{d:"siDNASP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.6":{d:"siBYEMAN",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.7":{d:"siREL-US",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.8":{d:"siREL-AUS",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.9":{d:"siREL-CAN",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.10":{d:"siREL_UK",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.11":{d:"siREL-NZ",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.12":{d:"siGeneric",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11":{d:"genser",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.11.0":{d:"genserNations",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.1":{d:"genserComsec",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.2":{d:"genserAcquisition",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.3":{d:"genserSecurityCategories",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.11.3.0":{d:"genserTagSetName",c:"SDN.700 INFOSEC GENSER policy"},"2.16.840.1.101.2.1.3.12":{d:"defaultSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.13":{d:"capcoMarkings",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.13.0":{d:"capcoSecurityCategories",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.1":{d:"capcoTagSetName1",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.2":{d:"capcoTagSetName2",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.3":{d:"capcoTagSetName3",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.4":{d:"capcoTagSetName4",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.5.1":{d:"sdnsKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.2":{d:"sdnsUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.3":{d:"sdnsKMandSigCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.4":{d:"fortezzaKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.5":{d:"fortezzaKMandSigCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.6":{d:"fortezzaUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.7":{d:"fortezzaCASignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.8":{d:"sdnsCASignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.10":{d:"auxiliaryVector",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.11":{d:"mlReceiptPolicy",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.12":{d:"mlMembership",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.13":{d:"mlAdministrators",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.14":{d:"alid",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.20":{d:"janUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.21":{d:"febUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.22":{d:"marUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.23":{d:"aprUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.24":{d:"mayUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.25":{d:"junUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.26":{d:"julUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.27":{d:"augUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.28":{d:"sepUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.29":{d:"octUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.30":{d:"novUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.31":{d:"decUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.40":{d:"metaSDNSckl",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.41":{d:"sdnsCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.42":{d:"metaSDNSsignatureCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.43":{d:"sdnsSignatureCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.44":{d:"sdnsCertificateRevocationList",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.45":{d:"fortezzaCertificateRevocationList",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.46":{d:"fortezzaCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.47":{d:"alExemptedAddressProcessor",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.48":{d:"guard",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.49":{d:"algorithmsSupported",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.50":{d:"suiteAKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.51":{d:"suiteAKMandSigCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.52":{d:"suiteAUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.53":{d:"prbacInfo",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.54":{d:"prbacCAConstraints",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.55":{d:"sigOrKMPrivileges",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.56":{d:"commPrivileges",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.57":{d:"labeledAttribute",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.58":{d:"policyInformationFile",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.59":{d:"secPolicyInformationFile",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.60":{d:"cAClearanceConstraint",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.65":{d:"keyPkgIdAndReceiptReq",c:"SDN.700 INFOSEC attributes and RFC 7191"},"2.16.840.1.101.2.1.5.66":{d:"contentDecryptKeyID",c:"SDN.700 INFOSEC attributes and RFC 6032"},"2.16.840.1.101.2.1.5.70":{d:"kpCrlPointers",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.5.71":{d:"kpKeyProvinceV2",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.5.72":{d:"kpManifest",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.7.1":{d:"cspExtns",c:"SDN.700 INFOSEC extensions"},"2.16.840.1.101.2.1.7.1.0":{d:"cspCsExtn",c:"SDN.700 INFOSEC extensions"},"2.16.840.1.101.2.1.8.1":{d:"mISSISecurityCategories",c:"SDN.700 INFOSEC security category"},"2.16.840.1.101.2.1.8.2":{d:"standardSecurityLabelPrivileges",c:"SDN.700 INFOSEC security category"},"2.16.840.1.101.2.1.8.3.1":{d:"enumeratedPermissiveAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.8.3.3":{d:"informativeAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.8.3.4":{d:"enumeratedRestrictiveAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.10.1":{d:"sigPrivileges",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.10.2":{d:"kmPrivileges",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.10.3":{d:"namedTagSetPrivilege",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.11.1":{d:"ukDemo",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.2":{d:"usDODClass2",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.3":{d:"usMediumPilot",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.4":{d:"usDODClass4",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.5":{d:"usDODClass3",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.6":{d:"usDODClass5",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.12.0":{d:"testSecurityPolicy",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1":{d:"tsp1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0":{d:"tsp1SecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.0":{d:"tsp1TagSetZero",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.1":{d:"tsp1TagSetOne",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.2":{d:"tsp1TagSetTwo",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2":{d:"tsp2",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0":{d:"tsp2SecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.0":{d:"tsp2TagSetZero",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.1":{d:"tsp2TagSetOne",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.2":{d:"tsp2TagSetTwo",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3":{d:"kafka",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0":{d:"kafkaSecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.1":{d:"kafkaTagSetName1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.2":{d:"kafkaTagSetName2",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.3":{d:"kafkaTagSetName3",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.1.1":{d:"tcp1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.13.1":{d:"kmaKeyAlgorithm",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.3":{d:"kmaTSECNomenclature",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.5":{d:"kmaKeyDistPeriod",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.6":{d:"kmaKeyValidityPeriod",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.7":{d:"kmaKeyDuration",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.11":{d:"kmaSplitID",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.12":{d:"kmaKeyPkgType",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.13":{d:"kmaKeyPurpose",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.14":{d:"kmaKeyUse",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.15":{d:"kmaTransportKey",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.16":{d:"kmaKeyPkgReceiversV2",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.19":{d:"kmaOtherCertFormats",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.20":{d:"kmaUsefulCerts",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.21":{d:"kmaKeyWrapAlgorithm",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.22":{d:"kmaSigUsageV3",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.16.0":{d:"dn",c:"SDN.700 INFOSEC attributes and RFC 7191"},"2.16.840.1.101.2.1.22":{d:"errorCodes",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.1":{d:"missingKeyType",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.2":{d:"privacyMarkTooLong",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.3":{d:"unrecognizedSecurityPolicy",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.3.1":{d:"slabel",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.2":{d:"pki",c:"NIST",w:!0},"2.16.840.1.101.3.2.1":{d:"NIST policyIdentifier",c:"NIST policies",w:!0},"2.16.840.1.101.3.2.1.3.1":{d:"fbcaRudimentaryPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.2":{d:"fbcaBasicPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.3":{d:"fbcaMediumPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.4":{d:"fbcaHighPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.48.1":{d:"nistTestPolicy1",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.2":{d:"nistTestPolicy2",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.3":{d:"nistTestPolicy3",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.4":{d:"nistTestPolicy4",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.5":{d:"nistTestPolicy5",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.6":{d:"nistTestPolicy6",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.2":{d:"gak",c:"CSOR GAK extended key usage",w:!0},"2.16.840.1.101.3.2.2.1":{d:"kRAKey",c:"CSOR GAK extended key usage",w:!0},"2.16.840.1.101.3.2.3":{d:"extensions",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.1":{d:"kRTechnique",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.2":{d:"kRecoveryCapable",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.3":{d:"kR",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.4":{d:"keyRecoverySchemes",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.2.5":{d:"krapola",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.3":{d:"arpa",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.4":{d:"nistAlgorithm",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1":{d:"aes",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.1":{d:"aes128-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.2":{d:"aes128-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.3":{d:"aes128-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.4":{d:"aes128-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.5":{d:"aes128-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.6":{d:"aes128-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.7":{d:"aes128-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.8":{d:"aes128-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.9":{d:"aes128-GMAC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.21":{d:"aes192-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.22":{d:"aes192-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.23":{d:"aes192-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.24":{d:"aes192-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.25":{d:"aes192-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.26":{d:"aes192-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.27":{d:"aes192-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.28":{d:"aes192-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.29":{d:"aes192-GMAC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.41":{d:"aes256-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.42":{d:"aes256-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.43":{d:"aes256-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.44":{d:"aes256-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.45":{d:"aes256-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.46":{d:"aes256-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.47":{d:"aes256-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.48":{d:"aes256-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.49":{d:"aes256-GMAC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2":{d:"hashAlgos",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.1":{d:"sha-256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.2":{d:"sha-384",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.3":{d:"sha-512",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.4":{d:"sha-224",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.7":{d:"sha3-224",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.8":{d:"sha3-256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.9":{d:"sha3-384",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.10":{d:"sha3-512",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.11":{d:"shake128",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.12":{d:"shake256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.17":{d:"shake128len",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.18":{d:"shake256len",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.19":{d:"kmacShake128",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.20":{d:"kmacShake256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.3.1":{d:"dsaWithSha224",c:"NIST Algorithm"},"2.16.840.1.101.3.4.3.2":{d:"dsaWithSha256",c:"NIST Algorithm"},"2.16.840.1.113719.1.2.8":{d:"novellAlgorithm",c:"Novell"},"2.16.840.1.113719.1.2.8.22":{d:"desCbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.23":{d:"desCbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.24":{d:"desEDE2CbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.25":{d:"desEDE2CbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.26":{d:"desEDE3CbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.27":{d:"desEDE3CbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.28":{d:"rc5CbcPad",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.29":{d:"md2WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.30":{d:"md5WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.31":{d:"sha1WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.32":{d:"lmDigest",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.40":{d:"md2",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.50":{d:"md5",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.51":{d:"ikeHmacWithSHA1-RSA",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.52":{d:"ikeHmacWithMD5-RSA",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.69":{d:"rc2CbcPad",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.82":{d:"sha-1",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.92":{d:"rc2BSafe1Cbc",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.95":{d:"md4",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.130":{d:"md4Packet",c:"Novell keyed hash"},"2.16.840.1.113719.1.2.8.131":{d:"rsaEncryptionBsafe1",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.132":{d:"nwPassword",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.133":{d:"novellObfuscate-1",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.9":{d:"pki",c:"Novell"},"2.16.840.1.113719.1.9.4":{d:"pkiAttributeType",c:"Novell PKI"},"2.16.840.1.113719.1.9.4.1":{d:"securityAttributes",c:"Novell PKI attribute type"},"2.16.840.1.113719.1.9.4.2":{d:"relianceLimit",c:"Novell PKI attribute type"},"2.16.840.1.113730.1":{d:"cert-extension",c:"Netscape"},"2.16.840.1.113730.1.1":{d:"netscape-cert-type",c:"Netscape certificate extension"},"2.16.840.1.113730.1.2":{d:"netscape-base-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.3":{d:"netscape-revocation-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.4":{d:"netscape-ca-revocation-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.7":{d:"netscape-cert-renewal-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.8":{d:"netscape-ca-policy-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.9":{d:"HomePage-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.10":{d:"EntityLogo",c:"Netscape certificate extension"},"2.16.840.1.113730.1.11":{d:"UserPicture",c:"Netscape certificate extension"},"2.16.840.1.113730.1.12":{d:"netscape-ssl-server-name",c:"Netscape certificate extension"},"2.16.840.1.113730.1.13":{d:"netscape-comment",c:"Netscape certificate extension"},"2.16.840.1.113730.2":{d:"data-type",c:"Netscape"},"2.16.840.1.113730.2.1":{d:"dataGIF",c:"Netscape data type"},"2.16.840.1.113730.2.2":{d:"dataJPEG",c:"Netscape data type"},"2.16.840.1.113730.2.3":{d:"dataURL",c:"Netscape data type"},"2.16.840.1.113730.2.4":{d:"dataHTML",c:"Netscape data type"},"2.16.840.1.113730.2.5":{d:"certSequence",c:"Netscape data type"},"2.16.840.1.113730.2.6":{d:"certURL",c:"Netscape certificate extension"},"2.16.840.1.113730.3":{d:"directory",c:"Netscape"},"2.16.840.1.113730.3.1":{d:"ldapDefinitions",c:"Netscape directory"},"2.16.840.1.113730.3.1.1":{d:"carLicense",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.2":{d:"departmentNumber",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.3":{d:"employeeNumber",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.4":{d:"employeeType",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.216":{d:"userPKCS12",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.2.2":{d:"inetOrgPerson",c:"Netscape LDAP definitions"},"2.16.840.1.113730.4.1":{d:"serverGatedCrypto",c:"Netscape"},"2.16.840.1.113733.1.6.3":{d:"verisignCZAG",c:"Verisign extension"},"2.16.840.1.113733.1.6.6":{d:"verisignInBox",c:"Verisign extension"},"2.16.840.1.113733.1.6.11":{d:"verisignOnsiteJurisdictionHash",c:"Verisign extension"},"2.16.840.1.113733.1.6.13":{d:"Unknown Verisign VPN extension",c:"Verisign extension"},"2.16.840.1.113733.1.6.15":{d:"verisignServerID",c:"Verisign extension"},"2.16.840.1.113733.1.7.1.1":{d:"verisignCertPolicies95Qualifier1",c:"Verisign policy"},"2.16.840.1.113733.1.7.1.1.1":{d:"verisignCPSv1notice",c:"Verisign policy (obsolete)"},"2.16.840.1.113733.1.7.1.1.2":{d:"verisignCPSv1nsi",c:"Verisign policy (obsolete)"},"2.16.840.1.113733.1.8.1":{d:"verisignISSStrongCrypto",c:"Verisign"},"2.16.840.1.113733.1":{d:"pki",c:"Verisign extension"},"2.16.840.1.113733.1.9":{d:"pkcs7Attribute",c:"Verisign PKI extension"},"2.16.840.1.113733.1.9.2":{d:"messageType",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.3":{d:"pkiStatus",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.4":{d:"failInfo",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.5":{d:"senderNonce",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.6":{d:"recipientNonce",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.7":{d:"transID",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.8":{d:"extensionReq",c:"Verisign PKCS #7 attribute. Use PKCS #9 extensionRequest instead",w:!0},"2.16.840.1.113741.2":{d:"intelCDSA",c:"Intel CDSA"},"2.16.840.1.114412.1":{d:"digiCertNonEVCerts",c:"Digicert CA policy"},"2.16.840.1.114412.1.1":{d:"digiCertOVCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.2":{d:"digiCertDVCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.11":{d:"digiCertFederatedDeviceCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.1":{d:"digiCertGlobalCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.2":{d:"digiCertHighAssuranceEVCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.3":{d:"digiCertGlobalRootCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.4":{d:"digiCertAssuredIDRootCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.2.2":{d:"digiCertEVCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3":{d:"digiCertObjectSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.1":{d:"digiCertCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.2":{d:"digiCertEVCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.11":{d:"digiCertKernelCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.21":{d:"digiCertDocumentSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4":{d:"digiCertClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.1.1":{d:"digiCertLevel1PersonalClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.1.2":{d:"digiCertLevel1EnterpriseClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.2":{d:"digiCertLevel2ClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.3.1":{d:"digiCertLevel3USClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.3.2":{d:"digiCertLevel3CBPClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.4.1":{d:"digiCertLevel4USClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.4.2":{d:"digiCertLevel4CBPClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.1":{d:"digiCertPIVHardwareCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.2":{d:"digiCertPIVCardAuthCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.3":{d:"digiCertPIVContentSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.4.31":{d:"digiCertGridClassicCert",c:"Digicert CA policy"},"2.16.840.1.114412.4.31.5":{d:"digiCertGridIntegratedCert",c:"Digicert CA policy"},"2.16.840.1.114412.31.4.31.1":{d:"digiCertGridHostCert",c:"Digicert CA policy"},"2.23.42.0":{d:"contentType",c:"SET"},"2.23.42.0.0":{d:"panData",c:"SET contentType"},"2.23.42.0.1":{d:"panToken",c:"SET contentType"},"2.23.42.0.2":{d:"panOnly",c:"SET contentType"},"2.23.42.1":{d:"msgExt",c:"SET"},"2.23.42.2":{d:"field",c:"SET"},"2.23.42.2.0":{d:"fullName",c:"SET field"},"2.23.42.2.1":{d:"givenName",c:"SET field"},"2.23.42.2.2":{d:"familyName",c:"SET field"},"2.23.42.2.3":{d:"birthFamilyName",c:"SET field"},"2.23.42.2.4":{d:"placeName",c:"SET field"},"2.23.42.2.5":{d:"identificationNumber",c:"SET field"},"2.23.42.2.6":{d:"month",c:"SET field"},"2.23.42.2.7":{d:"date",c:"SET field"},"2.23.42.2.8":{d:"address",c:"SET field"},"2.23.42.2.9":{d:"telephone",c:"SET field"},"2.23.42.2.10":{d:"amount",c:"SET field"},"2.23.42.2.11":{d:"accountNumber",c:"SET field"},"2.23.42.2.12":{d:"passPhrase",c:"SET field"},"2.23.42.3":{d:"attribute",c:"SET"},"2.23.42.3.0":{d:"cert",c:"SET attribute"},"2.23.42.3.0.0":{d:"rootKeyThumb",c:"SET cert attribute"},"2.23.42.3.0.1":{d:"additionalPolicy",c:"SET cert attribute"},"2.23.42.4":{d:"algorithm",c:"SET"},"2.23.42.5":{d:"policy",c:"SET"},"2.23.42.5.0":{d:"root",c:"SET policy"},"2.23.42.6":{d:"module",c:"SET"},"2.23.42.7":{d:"certExt",c:"SET"},"2.23.42.7.0":{d:"hashedRootKey",c:"SET cert extension"},"2.23.42.7.1":{d:"certificateType",c:"SET cert extension"},"2.23.42.7.2":{d:"merchantData",c:"SET cert extension"},"2.23.42.7.3":{d:"cardCertRequired",c:"SET cert extension"},"2.23.42.7.4":{d:"tunneling",c:"SET cert extension"},"2.23.42.7.5":{d:"setExtensions",c:"SET cert extension"},"2.23.42.7.6":{d:"setQualifier",c:"SET cert extension"},"2.23.42.8":{d:"brand",c:"SET"},"2.23.42.8.1":{d:"IATA-ATA",c:"SET brand"},"2.23.42.8.4":{d:"VISA",c:"SET brand"},"2.23.42.8.5":{d:"MasterCard",c:"SET brand"},"2.23.42.8.30":{d:"Diners",c:"SET brand"},"2.23.42.8.34":{d:"AmericanExpress",c:"SET brand"},"2.23.42.8.6011":{d:"Novus",c:"SET brand"},"2.23.42.9":{d:"vendor",c:"SET"},"2.23.42.9.0":{d:"GlobeSet",c:"SET vendor"},"2.23.42.9.1":{d:"IBM",c:"SET vendor"},"2.23.42.9.2":{d:"CyberCash",c:"SET vendor"},"2.23.42.9.3":{d:"Terisa",c:"SET vendor"},"2.23.42.9.4":{d:"RSADSI",c:"SET vendor"},"2.23.42.9.5":{d:"VeriFone",c:"SET vendor"},"2.23.42.9.6":{d:"TrinTech",c:"SET vendor"},"2.23.42.9.7":{d:"BankGate",c:"SET vendor"},"2.23.42.9.8":{d:"GTE",c:"SET vendor"},"2.23.42.9.9":{d:"CompuSource",c:"SET vendor"},"2.23.42.9.10":{d:"Griffin",c:"SET vendor"},"2.23.42.9.11":{d:"Certicom",c:"SET vendor"},"2.23.42.9.12":{d:"OSS",c:"SET vendor"},"2.23.42.9.13":{d:"TenthMountain",c:"SET vendor"},"2.23.42.9.14":{d:"Antares",c:"SET vendor"},"2.23.42.9.15":{d:"ECC",c:"SET vendor"},"2.23.42.9.16":{d:"Maithean",c:"SET vendor"},"2.23.42.9.17":{d:"Netscape",c:"SET vendor"},"2.23.42.9.18":{d:"Verisign",c:"SET vendor"},"2.23.42.9.19":{d:"BlueMoney",c:"SET vendor"},"2.23.42.9.20":{d:"Lacerte",c:"SET vendor"},"2.23.42.9.21":{d:"Fujitsu",c:"SET vendor"},"2.23.42.9.22":{d:"eLab",c:"SET vendor"},"2.23.42.9.23":{d:"Entrust",c:"SET vendor"},"2.23.42.9.24":{d:"VIAnet",c:"SET vendor"},"2.23.42.9.25":{d:"III",c:"SET vendor"},"2.23.42.9.26":{d:"OpenMarket",c:"SET vendor"},"2.23.42.9.27":{d:"Lexem",c:"SET vendor"},"2.23.42.9.28":{d:"Intertrader",c:"SET vendor"},"2.23.42.9.29":{d:"Persimmon",c:"SET vendor"},"2.23.42.9.30":{d:"NABLE",c:"SET vendor"},"2.23.42.9.31":{d:"espace-net",c:"SET vendor"},"2.23.42.9.32":{d:"Hitachi",c:"SET vendor"},"2.23.42.9.33":{d:"Microsoft",c:"SET vendor"},"2.23.42.9.34":{d:"NEC",c:"SET vendor"},"2.23.42.9.35":{d:"Mitsubishi",c:"SET vendor"},"2.23.42.9.36":{d:"NCR",c:"SET vendor"},"2.23.42.9.37":{d:"e-COMM",c:"SET vendor"},"2.23.42.9.38":{d:"Gemplus",c:"SET vendor"},"2.23.42.10":{d:"national",c:"SET"},"2.23.42.10.392":{d:"Japan",c:"SET national"},"2.23.43.1.4":{d:"wTLS-ECC",c:"WAP WTLS"},"2.23.43.1.4.1":{d:"wTLS-ECC-curve1",c:"WAP WTLS"},"2.23.43.1.4.6":{d:"wTLS-ECC-curve6",c:"WAP WTLS"},"2.23.43.1.4.8":{d:"wTLS-ECC-curve8",c:"WAP WTLS"},"2.23.43.1.4.9":{d:"wTLS-ECC-curve9",c:"WAP WTLS"},"2.23.133":{d:"tCPA",c:"TCPA/TCG"},"2.23.133.1":{d:"tcgSpecVersion",c:"TCPA/TCG"},"2.23.133.2":{d:"tcgAttribute",c:"TCPA/TCG"},"2.23.133.2.1":{d:"tcgTpmManufacturer",c:"TCPA/TCG Attribute"},"2.23.133.2.2":{d:"tcgTpmModel",c:"TCPA/TCG Attribute"},"2.23.133.2.3":{d:"tcgTpmVersion",c:"TCPA/TCG Attribute"},"2.23.133.2.4":{d:"tcgPlatformManufacturer",c:"TCPA/TCG Attribute"},"2.23.133.2.5":{d:"tcgPlatformModel",c:"TCPA/TCG Attribute"},"2.23.133.2.6":{d:"tcgPlatformVersion",c:"TCPA/TCG Attribute"},"2.23.133.2.7":{d:"tcgComponentManufacturer",c:"TCPA/TCG Attribute"},"2.23.133.2.8":{d:"tcgComponentModel",c:"TCPA/TCG Attribute"},"2.23.133.2.9":{d:"tcgComponentVersion",c:"TCPA/TCG Attribute"},"2.23.133.2.10":{d:"tcgSecurityQualities",c:"TCPA/TCG Attribute"},"2.23.133.2.11":{d:"tcgTpmProtectionProfile",c:"TCPA/TCG Attribute"},"2.23.133.2.12":{d:"tcgTpmSecurityTarget",c:"TCPA/TCG Attribute"},"2.23.133.2.13":{d:"tcgFoundationProtectionProfile",c:"TCPA/TCG Attribute"},"2.23.133.2.14":{d:"tcgFoundationSecurityTarget",c:"TCPA/TCG Attribute"},"2.23.133.2.15":{d:"tcgTpmIdLabel",c:"TCPA/TCG Attribute"},"2.23.133.2.16":{d:"tcgTpmSpecification",c:"TCPA/TCG Attribute"},"2.23.133.2.18":{d:"tcgTpmSecurityAssertions",c:"TCPA/TCG Attribute"},"2.23.133.3":{d:"tcgProtocol",c:"TCPA/TCG"},"2.23.133.3.1":{d:"tcgPrttTpmIdProtocol",c:"TCPA/TCG Protocol"},"2.23.133.8.1":{d:"tcgEKCertificate",c:"TCPA/TCG Key Usage"},"2.23.133.10.1.1.1":{d:"tcgObject",c:"TCPA/TCG Object"},"2.23.134.1.4.2.1":{d:"postSignumRootQCA",c:"PostSignum CA"},"2.23.134.1.2.2.3":{d:"postSignumPublicCA",c:"PostSignum CA"},"2.23.134.1.2.1.8.210":{d:"postSignumCommercialServerPolicy",c:"PostSignum CA"},"2.23.136.1.1.1":{d:"mRTDSignatureData",c:"ICAO MRTD"},"2.23.140.1.1":{d:"evGuidelines",c:"CAB Certificate Policies"},"2.23.140.1.2.1":{d:"domainValidated",c:"CAB Certificate Policies"},"2.23.140.1.2.2":{d:"subjectIdentityValidated",c:"CAB Certificate Policies"},"2.23.140.1.4.1":{d:"codeSigningRequirements",c:"CAB Certificate Policies"},"2.54.1775.2":{d:"hashedRootKey",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.3":{d:"certificateType",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.4":{d:"merchantData",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.5":{d:"cardCertRequired",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.6":{d:"tunneling",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.7":{d:"setQualifier",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.99":{d:"setData",c:"SET. Deprecated, use (2 23 42 7 0) instead",w:!0},"1.2.40.0.17.1.22":{d:"A-Trust EV policy",c:"A-Trust CA Root"},"1.3.6.1.4.1.34697.2.1":{d:"AffirmTrust EV policy",c:"AffirmTrust Commercial"},"1.3.6.1.4.1.34697.2.2":{d:"AffirmTrust EV policy",c:"AffirmTrust Networking"},"1.3.6.1.4.1.34697.2.3":{d:"AffirmTrust EV policy",c:"AffirmTrust Premium"},"1.3.6.1.4.1.34697.2.4":{d:"AffirmTrust EV policy",c:"AffirmTrust Premium ECC"},"1.3.6.1.4.1.17326.10.14.2.1.2":{d:"Camerfirma EV policy",c:"Camerfirma CA Root"},"1.3.6.1.4.1.17326.10.8.12.1.2":{d:"Camerfirma EV policy",c:"Camerfirma CA Root"},"1.3.6.1.4.1.22234.2.5.2.3.1":{d:"CertPlus EV policy",c:"CertPlus Class 2 Primary CA (formerly Keynectis)"},"1.3.6.1.4.1.6449.1.2.1.5.1":{d:"Comodo EV policy",c:"COMODO Certification Authority"},"1.3.6.1.4.1.6334.1.100.1":{d:"Cybertrust EV policy",c:"Cybertrust Global Root (now Verizon Business)"},"1.3.6.1.4.1.4788.2.202.1":{d:"D-TRUST EV policy",c:"D-TRUST Root Class 3 CA 2 EV 2009"},"2.16.840.1.114412.2.1":{d:"DigiCert EV policy",c:"DigiCert High Assurance EV Root CA"},"2.16.528.1.1001.1.1.1.12.6.1.1.1":{d:"DigiNotar EV policy",c:"DigiNotar Root CA"},"2.16.840.1.114028.10.1.2":{d:"Entrust EV policy",c:"Entrust Root Certification Authority"},"1.3.6.1.4.1.14370.1.6":{d:"GeoTrust EV policy",c:"GeoTrust Primary Certification Authority (formerly Equifax)"},"1.3.6.1.4.1.4146.1.1":{d:"GlobalSign EV policy",c:"GlobalSign"},"2.16.840.1.114413.1.7.23.3":{d:"GoDaddy EV policy",c:"GoDaddy Class 2 Certification Authority (formerly ValiCert)"},"1.3.6.1.4.1.14777.6.1.1":{d:"Izenpe EV policy",c:"Certificado de Servidor Seguro SSL EV"},"1.3.6.1.4.1.14777.6.1.2":{d:"Izenpe EV policy",c:"Certificado de Sede Electronica EV"},"1.3.6.1.4.1.782.1.2.1.8.1":{d:"Network Solutions EV policy",c:"Network Solutions Certificate Authority"},"1.3.6.1.4.1.8024.0.2.100.1.2":{d:"QuoVadis EV policy",c:"QuoVadis Root CA 2"},"1.2.392.200091.100.721.1":{d:"Security Communication (SECOM) EV policy",c:"Security Communication RootCA1"},"2.16.840.1.114414.1.7.23.3":{d:"Starfield EV policy",c:"Starfield Class 2 Certification Authority"},"1.3.6.1.4.1.23223.1.1.1":{d:"StartCom EV policy",c:"StartCom Certification Authority"},"2.16.756.1.89.1.2.1.1":{d:"SwissSign EV policy",c:"SwissSign Gold CA - G2"},"1.3.6.1.4.1.7879.13.24.1":{d:"T-TeleSec EV policy",c:"T-TeleSec GlobalRoot Class 3"},"2.16.840.1.113733.1.7.48.1":{d:"Thawte EV policy",c:"Thawte Premium Server CA"},"2.16.840.1.114404.1.1.2.4.1":{d:"TrustWave EV policy",c:"TrustWave CA, formerly SecureTrust, before that XRamp"},"1.3.6.1.4.1.40869.1.1.22.3":{d:"TWCA EV policy",c:"TWCA Root Certification Authority"},"2.16.840.1.113733.1.7.23.6":{d:"VeriSign EV policy",c:"VeriSign Class 3 Public Primary Certification Authority"},"2.16.840.1.114171.500.9":{d:"Wells Fargo EV policy",c:"Wells Fargo WellsSecure Public Root Certificate Authority"}},ge=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|(-(?:0\d|1[0-2])|[+](?:0\d|1[0-4]))([0-5]\d)?)?$/,me=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|(-(?:0\d|1[0-2])|[+](?:0\d|1[0-4]))([0-5]\d)?)?$/,be="0123456789ABCDEF",ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",ve=[["",""],["AEIOUaeiou","ÀÈÌÒÙàèìòù"],["ACEILNORSUYZacegilnorsuyz","ÁĆÉÍĹŃÓŔŚÚÝŹáćéģíĺńóŕśúýź"],["ACEGHIJOSUWYaceghijosuwy","ÂĈÊĜĤÎĴÔŜÛŴŶâĉêĝĥîĵôŝûŵŷ"],["AINOUainou","ÃĨÑÕŨãĩñõũ"],["AEIOUaeiou","ĀĒĪŌŪāēīōū"],["AGUagu","ĂĞŬăğŭ"],["CEGIZcegz","ĊĖĠİŻċėġż"],["AEIOUYaeiouy","ÄËÏÖÜŸäëïöüÿ"],["",""],["AUau","ÅŮåů"],["CGKLNRSTcklnrst","ÇĢĶĻŅŖŞŢçķļņŗşţ"],["",""],["OUou","ŐŰőű"],["AEIUaeiu","ĄĘĮŲąęįų"],["CDELNRSTZcdelnrstz","ČĎĚĽŇŘŠŤŽčďěľňřšťž"]];function Se(e,t){return e.length>t&&(e=e.substring(0,t)+"…"),e}class Ce{constructor(e,t){e instanceof Ce?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=t)}get(e){if(void 0===e&&(e=this.pos++),e>=this.enc.length)throw new Error("Requesting byte offset "+e+" on a stream of length "+this.enc.length);return"string"==typeof this.enc?this.enc.charCodeAt(e):this.enc[e]}hexByte(e){return be.charAt(e>>4&15)+be.charAt(15&e)}hexDump(e,t,i="dump"){let r="";for(let n=e;n<t;++n)if("byte"==i&&n>e&&(r+=" "),r+=this.hexByte(this.get(n)),"dump"==i)switch(15&n){case 7:r+=" ";break;case 15:r+="\n";break;default:r+=" "}return r}b64Dump(e,t){let i,r,n=(t-e)%3,a="";for(i=e;i+2<t;i+=3)r=this.get(i)<<16|this.get(i+1)<<8|this.get(i+2),a+=ye.charAt(r>>18&63),a+=ye.charAt(r>>12&63),a+=ye.charAt(r>>6&63),a+=ye.charAt(63&r);return n>0&&(r=this.get(i)<<16,n>1&&(r|=this.get(i+1)<<8),a+=ye.charAt(r>>18&63),a+=ye.charAt(r>>12&63),2==n&&(a+=ye.charAt(r>>6&63))),a}isASCII(e,t){for(let i=e;i<t;++i){let e=this.get(i);if(e<32||e>176)return!1}return!0}parseStringISO(e,t,i){let r="";for(let n=e;n<t;++n)r+=String.fromCharCode(this.get(n));return{size:r.length,str:Se(r,i)}}parseStringT61(e,t,i){function r(e,t){let i=ve[e-192],r=i[0].indexOf(String.fromCharCode(t));return r<0?"\0":i[1].charAt(r)}let n,a="";for(let s=e;s<t;++s)n=this.get(s),a+=n>=164&&n<=191?"$¥#§¤\0\0«\0\0\0\0°±²³×µ¶·÷\0\0»¼½¾¿".charAt(n-164):n>=224&&n<=255?"ΩÆÐªĦ\0IJĿŁØŒºÞŦŊʼnĸæđðħıijŀłøœßþŧŋ\0".charAt(n-224):n>=192&&n<=207?r(n,this.get(++s)):String.fromCharCode(n);return{size:a.length,str:Se(a,i)}}parseStringUTF(e,t,i){function r(e){if(e<128||e>=192)throw new Error("Invalid UTF-8 continuation byte: "+e);return 63&e}function n(e){if(e<65536)throw new Error("UTF-8 overlong encoding, codepoint encoded in 4 bytes: "+e);return e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e))}let a="";for(let s=e;s<t;){let e=this.get(s++);if(e<128)a+=String.fromCharCode(e);else{if(e<192)throw new Error("Invalid UTF-8 starting byte: "+e);if(e<224)a+=String.fromCharCode((31&e)<<6|r(this.get(s++)));else if(e<240)a+=String.fromCharCode((15&e)<<12|r(this.get(s++))<<6|r(this.get(s++)));else{if(!(e<248))throw new Error("Invalid UTF-8 starting byte (since 2003 it is restricted to 4 bytes): "+e);a+=n((7&e)<<18|r(this.get(s++))<<12|r(this.get(s++))<<6|r(this.get(s++)))}}}return{size:a.length,str:Se(a,i)}}parseStringBMP(e,t,i){let r,n,a="";for(let s=e;s<t;)r=this.get(s++),n=this.get(s++),a+=String.fromCharCode(r<<8|n);return{size:a.length,str:Se(a,i)}}parseTime(e,t,i){let r=this.parseStringISO(e,t).str,n=(i?ge:me).exec(r);return n?(i&&(n[1]=+n[1],n[1]+=n[1]<70?2e3:1900),r=n[1]+"-"+n[2]+"-"+n[3]+" "+n[4],n[5]&&(r+=":"+n[5],n[6]&&(r+=":"+n[6],n[7]&&(r+="."+n[7]))),n[8]&&(r+=" UTC",n[9]&&(r+=n[9]+":"+(n[10]||"00"))),r):"Unrecognized time: "+r}parseInteger(e,t){let i,r=this.get(e),n=r>127,a=n?255:0,s="";for(;r==a&&++e<t;)r=this.get(e);if(i=t-e,0===i)return n?"-1":"0";if(i>4){for(s=r,i<<=3;!(128&(s^a));)s<<=1,--i;s="("+i+" bit)\n"}n&&(r-=256);let o=new pe(r);for(let c=e+1;c<t;++c)o.mulAdd(256,this.get(c));return s+o.toString()}parseBitString(e,t,i){let r=this.get(e);if(r>7)throw new Error("Invalid BitString with unusedBits="+r);let n=(t-e-1<<3)-r,a="";for(let s=e+1;s<t;++s){let e=this.get(s),n=s==t-1?r:0;for(let t=7;t>=n;--t)a+=e>>t&1?"1":"0";a.length>i&&(a=Se(a,i))}return{size:n,str:a}}parseOctetString(e,t,i){let r,n=t-e;try{return r=this.parseStringUTF(e,t,i),function(e){let t,i;for(t=0;t<e.length;++t)if(i=e.charCodeAt(t),i<32&&9!=i&&10!=i&&13!=i)throw new Error("Unprintable character at index "+t+" (code "+e.str.charCodeAt(t)+")")}(r.str),{size:t-e,str:r.str}}catch(a){}n>(i/=2)&&(t=e+i),r="";for(let s=e;s<t;++s)r+=this.hexByte(this.get(s));return n>i&&(r+="…"),{size:n,str:r}}parseOID(e,t,i,r){let n="",a=new pe,s=0;for(let o=e;o<t;++o){let e=this.get(o);if(a.mulAdd(128,127&e),s+=7,!(128&e)){if(""===n)if(a=a.simplify(),r)n=a instanceof pe?a.toString():""+a;else if(a instanceof pe)a.sub(80),n="2."+a.toString();else{let e=a<80?a<40?0:1:2;n=e+"."+(a-40*e)}else n+="."+a.toString();if(n.length>i)return Se(n,i);a=new pe,s=0}}if(s>0&&(n+=".incomplete"),!r){let e=fe[n];e&&(e.d&&(n+="\n"+e.d),e.c&&(n+="\n"+e.c),e.w&&(n+="\n(warning!)"))}return n}parseRelativeOID(e,t,i){return this.parseOID(e,t,i,!0)}}function xe(e,t,i){let r=!0;if(e.tag.tagConstructed&&e.sub&&(r=!1,e.sub.forEach(function(t){t.tag.tagClass==e.tag.tagClass&&t.tag.tagNumber==e.tag.tagNumber||(r=!0)})),r)return e.stream[t](e.posContent(),e.posContent()+Math.abs(e.length),i);let n={size:0,str:""};return e.sub.forEach(function(e){let r=xe(e,t,i-n.str.length);n.size+=r.size,n.str+=r.str}),n}class we{constructor(e){let t=e.get();if(this.tagClass=t>>6,this.tagConstructed=!!(32&t),this.tagNumber=31&t,31==this.tagNumber){let i=new pe;do{t=e.get(),i.mulAdd(128,127&t)}while(128&t);this.tagNumber=i.simplify()}}isUniversal(){return 0===this.tagClass}isEOC(){return 0===this.tagClass&&0===this.tagNumber}}class Ee{constructor(e,t,i,r,n,a){if(!(r instanceof we))throw new Error("Invalid tag value.");this.stream=e,this.header=t,this.length=i,this.tag=r,this.tagLen=n,this.sub=a}typeName(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 13:return"RELATIVE_OID";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}}content(e){if(void 0===this.tag)return null;void 0===e&&(e=1/0);let t=this.posContent(),i=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return"("+this.sub.length+" elem)";let r=this.stream.parseOctetString(t,t+i,e);return"("+r.size+" byte)\n"+r.str}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:case 10:return this.stream.parseInteger(t,t+i);case 3:{let t=xe(this,"parseBitString",e);return"("+t.size+" bit)\n"+t.str}case 4:{let t=xe(this,"parseOctetString",e);return"("+t.size+" byte)\n"+t.str}case 6:return this.stream.parseOID(t,t+i,e);case 13:return this.stream.parseRelativeOID(t,t+i,e);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return xe(this,"parseStringUTF",e).str;case 20:return xe(this,"parseStringT61",e).str;case 18:case 19:case 21:case 22:case 26:case 27:return xe(this,"parseStringISO",e).str;case 30:return xe(this,"parseStringBMP",e).str;case 23:case 24:return this.stream.parseTime(t,t+i,23==this.tag.tagNumber)}return null}toString(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"}toPrettyString(e){void 0===e&&(e="");let t=e;this.def&&(this.def.id&&(t+=this.def.id+" "),this.def.name&&this.def.name!=this.typeName().replace(/_/g," ")&&(t+=this.def.name+" "),this.def.mismatch&&(t+="[?] ")),t+=this.typeName()+" @"+this.stream.pos,this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)");let i=this.content();if(i&&(t+=": "+i.replace(/\n/g,"|")),t+="\n",null!==this.sub){e+=" ";for(let i=0,r=this.sub.length;i<r;++i)t+=this.sub[i].toPrettyString(e)}return t}posStart(){return this.stream.pos}posContent(){return this.stream.pos+this.header}posEnd(){return this.stream.pos+this.header+Math.abs(this.length)}posLen(){return this.stream.pos+this.tagLen}toHexString(e="raw"){return this.stream.hexDump(this.posStart(),this.posEnd(),e)}toB64String(){return this.stream.b64Dump(this.posStart(),this.posEnd())}static decodeLength(e){let t=e.get(),i=127&t;if(i==t)return i;if(0===i)return null;if(i>6)throw new Error("Length over 48 bits not supported at position "+(e.pos-1));t=0;for(let r=0;r<i;++r)t=256*t+e.get();return t}static decode(e,t,i=Ee){if(!(i==Ee||i.prototype instanceof Ee))throw new Error("Must pass a class that extends ASN1");e instanceof Ce||(e=new Ce(e,t||0));let r=new Ce(e),n=new we(e),a=e.pos-r.pos,s=Ee.decodeLength(e),o=e.pos,c=o-r.pos,l=null,u=function(){if(l=[],null!==s){let t=o+s;if(t>e.enc.length)throw new Error("Container at offset "+o+" has a length of "+s+", which is past the end of the stream");for(;e.pos<t;)l[l.length]=i.decode(e);if(e.pos!=t)throw new Error("Content size is not correct for container at offset "+o)}else try{for(;;){let t=i.decode(e);if(t.tag.isEOC())break;l[l.length]=t}s=o-e.pos}catch(t){throw new Error("Exception while decoding undefined length content at offset "+o+": "+t)}};if(n.tagConstructed)u();else if(n.isUniversal()&&(3==n.tagNumber||4==n.tagNumber))try{if(3==n.tagNumber&&0!=e.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");u();for(let e of l){if(e.tag.isEOC())throw new Error("EOC is not supposed to be actual content.");try{e.content()}catch(h){throw new Error("Unable to parse content: "+h)}}}catch(d){l=null}if(null===l){if(null===s)throw new Error("We can't skip over an invalid tag with undefined length at offset "+o);e.pos=o+Math.abs(s)}return new i(r,c,s,n,a,l)}}var ke=r(208),Ie=r(355);const Te=e=>{try{let t=e.realVersion<4?e.toSign.signatureAlgorithm:e.signatureAlgID;t=t.toLowerCase();const i=e.toSignDer;if(t.indexOf("1.2.156.10197.1.501")>=0||t.indexOf("sm2")>=0){let t=e.signature.replace(/ /g,"").replace(/\n/g,"");0==t.indexOf("00")&&(t=t.substr(2,t.length-2));let r=(e.realVersion<4?e.toSign.cert:e.cert).subjectPublicKeyInfo.subjectPublicKey.replace(/ /g,"").replace(/\n/g,"");return 0==r.indexOf("00")&&(r=r.substr(2,r.length-2)),ke.sm2.doVerifySignature(i,t,r,{der:!0,hash:!0,userId:"1234567812345678"})}{let t=new Ie.pj.crypto.Signature({alg:"SHA1withRSA"});const r=e.realVersion<4?e.toSign.cert:e.cert;let n=e.signature.replace(/ /g,"").replace(/\n/g,"");return 0==n.indexOf("00")&&(n=n.substr(2,n.length-2)),t.init(r),t.updateHex(i),t.verify(n)}}catch(t){return console.log(t),!1}},De=e=>{let t=e.split(" "),i=[],r=0;for(;r<t.length;){let e=t[r];switch(e){case"M":case"m":case"L":case"l":case"T":case"t":i.push({type:e,x:parseFloat(t[r+1]),y:parseFloat(t[r+2])}),r+=3;break;case"H":case"h":i.push({type:e,x:parseFloat(t[r+1])}),r+=2;break;case"V":case"v":i.push({type:e,y:parseFloat(t[r+1])}),r+=2;break;case"C":case"c":void 0===t[r+1]||null===t[r+1]||isNaN(parseFloat(t[r+1]))?(i.push({type:"Z"}),r+=1):(i.push({type:e,x1:parseFloat(t[r+1]),y1:parseFloat(t[r+2]),x2:parseFloat(t[r+3]),y2:parseFloat(t[r+4]),x:parseFloat(t[r+5]),y:parseFloat(t[r+6])}),r+=7);break;case"S":case"s":r+4<t.length&&!isNaN(parseFloat(t[r+3]))&&!isNaN(parseFloat(t[r+4]))?(i.push({type:e,x2:parseFloat(t[r+1]),y2:parseFloat(t[r+2]),x:parseFloat(t[r+3]),y:parseFloat(t[r+4])}),r+=5):(i.push({type:e,x:parseFloat(t[r+1]),y:parseFloat(t[r+2])}),r+=3);break;case"Q":case"q":i.push({type:e,x1:parseFloat(t[r+1]),y1:parseFloat(t[r+2]),x:parseFloat(t[r+3]),y:parseFloat(t[r+4])}),r+=5;break;case"A":case"a":i.push({type:e,rx:parseFloat(t[r+1]),ry:parseFloat(t[r+2]),xAxisRotation:parseFloat(t[r+3]),largeArcFlag:parseInt(t[r+4]),sweepFlag:parseInt(t[r+5]),x:parseFloat(t[r+6]),y:parseFloat(t[r+7])}),r+=8;break;case"B":i.push({type:e,x1:parseFloat(t[r+1]),y1:parseFloat(t[r+2]),x2:parseFloat(t[r+3]),y2:parseFloat(t[r+4]),x3:parseFloat(t[r+5]),y3:parseFloat(t[r+6])}),r+=7;break;case"Z":case"z":i.push({type:e}),r++;break;default:r++}}return i},Fe=function(e,t){let i=[],r=0,n=0;for(let a=0;a<t.length;a++){let s=t[a];switch(s.type){case"M":case"L":case"T":s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y),r=s.x,n=s.y,i.push(s);break;case"m":case"l":case"t":s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n,r=s.x,n=s.y,i.push(s);break;case"H":s.x=e.convertToDpi(s.x),s.y=n,r=s.x,i.push(s);break;case"h":s.x=e.convertToDpi(s.x)+r,s.y=n,r=s.x,i.push(s);break;case"V":s.x=r,s.y=e.convertToDpi(s.y),n=s.y,i.push(s);break;case"v":s.x=r,s.y=e.convertToDpi(s.y)+n,n=s.y,i.push(s);break;case"C":s.x1=e.convertToDpi(s.x1),s.y1=e.convertToDpi(s.y1),s.x2=e.convertToDpi(s.x2),s.y2=e.convertToDpi(s.y2),s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y),r=s.x,n=s.y,i.push(s);break;case"c":s.x1=e.convertToDpi(s.x1)+r,s.y1=e.convertToDpi(s.y1)+n,s.x2=e.convertToDpi(s.x2)+r,s.y2=e.convertToDpi(s.y2)+n,s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n,r=s.x,n=s.y,i.push(s);break;case"S":"x2"in s&&"y2"in s?(s.x2=e.convertToDpi(s.x2),s.y2=e.convertToDpi(s.y2),s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y)):(s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y)),r=s.x,n=s.y,i.push(s);break;case"s":"x2"in s&&"y2"in s?(s.x2=e.convertToDpi(s.x2)+r,s.y2=e.convertToDpi(s.y2)+n,s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n):(s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n),r=s.x,n=s.y,i.push(s);break;case"Q":s.x1=e.convertToDpi(s.x1),s.y1=e.convertToDpi(s.y1),s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y),r=s.x,n=s.y,i.push(s);break;case"q":s.x1=e.convertToDpi(s.x1)+r,s.y1=e.convertToDpi(s.y1)+n,s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n,r=s.x,n=s.y,i.push(s);break;case"A":s.rx=e.convertToDpi(s.rx),s.ry=e.convertToDpi(s.ry),s.x=e.convertToDpi(s.x),s.y=e.convertToDpi(s.y),r=s.x,n=s.y,i.push(s);break;case"a":s.rx=e.convertToDpi(s.rx),s.ry=e.convertToDpi(s.ry),s.x=e.convertToDpi(s.x)+r,s.y=e.convertToDpi(s.y)+n,r=s.x,n=s.y,i.push(s);break;case"B":s.x1=e.convertToDpi(s.x1),s.y1=e.convertToDpi(s.y1),s.x2=e.convertToDpi(s.x2),s.y2=e.convertToDpi(s.y2),s.x=e.convertToDpi(s.x3),s.y=e.convertToDpi(s.y3),r=s.x,n=s.y,i.push(s);break;case"Z":case"z":i.push(s)}}return i};let Pe;const Be="function"==typeof Uint8Array;let Oe=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/;const Ne=e=>((e=e.replace("Unrecognized time: ","")).indexOf("Z"),(e=e.replace("Z","")).substr(0,1)<"5"?"20"+e:"19"+e),Me=function(e,t){var i,r;try{const t=e.sub[0].sub[0].sub[5];let n=new Map;t.sub.forEach(e=>{var t;const i=e.sub[0].sub[0].content().split("\n")[0],r=null==(t=e.sub[0].sub[1])?void 0:t.stream.parseStringUTF(e.sub[0].sub[1].stream.pos+e.sub[0].sub[1].header,e.sub[0].sub[1].stream.pos+e.sub[0].sub[1].header+e.sub[0].sub[1].length);n.set(i,r)});const a=e.sub[0].sub[0].sub[6];return{subject:n,commonName:n.get("2.5.4.3"),subjectPublicKeyInfo:{algorithm:null==(i=a.sub[0])?void 0:i.stream.parseOID(a.sub[0].stream.pos+a.sub[0].header,a.sub[0].stream.pos+a.sub[0].header+a.sub[0].length),subjectPublicKey:null==(r=a.sub[1])?void 0:r.stream.hexDump(a.sub[1].stream.pos+a.sub[1].header,a.sub[1].stream.pos+a.sub[1].header+a.sub[1].length)}}}catch(n){return console.log(n),{}}},Re=function(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},_e=(e,t)=>{var i,r,n,a,s,o,c,l,u,h,d,p,f,g,m,b,y,v,S,C,x,w,A,E,k,I,T,D,F,P,B,O,N,M,R,_,U,L,H,j,q,K,G,V,z,X,W,$,Z,Y,Q,J,ee,te,ie,re,ne,ae,se,oe,ce,le,ue,he,de,pe,fe,ge,me,be,ye,ve,Se,Ce,xe,we,Ae,ke,Ie,Te,De,Fe,Pe,Be,Oe,_e,Ue,Le,He,je,qe,Ke,Ge,Ve,ze,Xe,We,$e,Ze,Ye,Qe,Je,et,tt,it,rt,nt,at,st,ot,ct,lt,ut,ht,dt,pt,ft,gt,mt,bt,yt,vt,St,Ct,xt,wt,At,Et,kt,It,Tt,Dt,Ft,Pt,Bt,Ot,Nt,Mt,Rt,_t,Ut,Lt,Ht,jt,qt,Kt,Gt,Vt,zt,Xt,Wt,$t,Zt,Yt,Qt,Jt,ei,ti,ii,ri,ni,ai,si,oi,ci,li,ui,hi,di,pi,fi,gi,mi,bi,yi,vi,Si,Ci,xi,wi,Ai,Ei,ki,Ii,Ti,Di,Fi,Pi,Bi,Oi,Ni,Mi,Ri,_i,Ui,Li,Hi,ji,qi;t=t||0;let Ki=Ee.decode(e,t);var Gi;try{let e,t=Ki.sub[0].sub[1].sub[0].sub[2].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[3].header,Ee=Ki.sub[0].sub[1].sub[0].sub[2].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[3].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[3].length;try{e=(null==(s=null==(a=null==(n=null==(r=null==(i=Ki.sub[0])?void 0:i.sub[1])?void 0:r.sub[0])?void 0:n.sub[2])?void 0:a.sub[3])?void 0:s.stream).parseTime(t,Ee)}catch(Vi){e=Vi.message}const Re=Ne(e);let Qe=(null==(h=null==(u=null==(l=null==(c=null==(o=Ki.sub[0])?void 0:o.sub[1])?void 0:c.sub[0])?void 0:l.sub[2])?void 0:u.sub[4])?void 0:h.stream).parseTime(Ki.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].length);const Je=Ne(Qe),et=Ne(null==(m=null==(g=null==(f=null==(p=null==(d=Ki.sub[0])?void 0:d.sub[1])?void 0:p.sub[0])?void 0:f.sub[2])?void 0:g.sub[5])?void 0:m.stream.parseTime(Ki.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].length)),tt=Ne(null==(y=null==(b=Ki.sub[0])?void 0:b.sub[2])?void 0:y.stream.parseTime(Ki.sub[0].sub[2].stream.pos+Ki.sub[0].sub[2].header,Ki.sub[0].sub[2].stream.pos+Ki.sub[0].sub[2].header+Ki.sub[0].sub[2].length,!1)),it=null==(x=null==(C=null==(S=null==(v=Ki.sub[0])?void 0:v.sub[1])?void 0:S.sub[0])?void 0:C.sub[2])?void 0:x.sub[2];let rt=[];it&&it.sub.forEach(e=>{rt.push(e.stream.parseOctetString(e.stream.pos+e.header,e.stream.pos+e.header+e.length))});const nt=null==(E=null==(A=null==(w=Ki.sub[0])?void 0:w.sub[1])?void 0:A.sub[0])?void 0:E.sub[4];let at=[];nt&&nt.sub.forEach(e=>{var t,i,r;at.push({extnID:null==(t=e.sub[0])?void 0:t.stream.parseOID(e.sub[0].stream.pos+e.sub[0].header,e.sub[0].stream.pos+e.sub[0].header+e.sub[0].length),critical:null==(i=e.sub[1])?void 0:i.stream.parseInteger(e.sub[1].stream.pos+e.sub[1].header,e.sub[1].stream.pos+e.sub[1].header+e.sub[1].length),extnValue:null==(r=e.sub[2])?void 0:r.stream.parseOctetString(e.sub[2].stream.pos+e.sub[2].header,e.sub[2].stream.pos+e.sub[2].header+e.sub[2].length)})}),Gi={realVersion:1,toSignDer:null==(k=Ki.sub[0])?void 0:k.stream.enc.subarray(Ki.sub[0].stream.pos,Ki.sub[0].stream.pos+Ki.sub[0].header+Ki.sub[0].length),toSign:{version:null==(T=null==(I=Ki.sub[0])?void 0:I.sub[0])?void 0:T.stream.parseInteger(Ki.sub[0].sub[0].stream.pos+Ki.sub[0].sub[0].header,Ki.sub[0].sub[0].stream.pos+Ki.sub[0].sub[0].header+Ki.sub[0].sub[0].length),eseal:{esealInfo:{header:{ID:null==(O=null==(B=null==(P=null==(F=null==(D=Ki.sub[0])?void 0:D.sub[1])?void 0:F.sub[0])?void 0:P.sub[0])?void 0:B.sub[0])?void 0:O.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].length),version:null==(U=null==(_=null==(R=null==(M=null==(N=Ki.sub[0])?void 0:N.sub[1])?void 0:M.sub[0])?void 0:R.sub[0])?void 0:_.sub[1])?void 0:U.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].length),Vid:null==(K=null==(q=null==(j=null==(H=null==(L=Ki.sub[0])?void 0:L.sub[1])?void 0:H.sub[0])?void 0:j.sub[0])?void 0:q.sub[2])?void 0:K.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].length)},esID:null==(X=null==(z=null==(V=null==(G=Ki.sub[0])?void 0:G.sub[1])?void 0:V.sub[0])?void 0:z.sub[1])?void 0:X.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[1].length),property:{type:null==(Q=null==(Y=null==(Z=null==($=null==(W=Ki.sub[0])?void 0:W.sub[1])?void 0:$.sub[0])?void 0:Z.sub[2])?void 0:Y.sub[0])?void 0:Q.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].length),name:null==(re=null==(ie=null==(te=null==(ee=null==(J=Ki.sub[0])?void 0:J.sub[1])?void 0:ee.sub[0])?void 0:te.sub[2])?void 0:ie.sub[1])?void 0:re.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].length),certList:rt,createDate:Re,validStart:Je,validEnd:et},picture:{type:null==(ce=null==(oe=null==(se=null==(ae=null==(ne=Ki.sub[0])?void 0:ne.sub[1])?void 0:ae.sub[0])?void 0:se.sub[3])?void 0:oe.sub[0])?void 0:ce.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].length),data:{hex:null==(pe=null==(de=null==(he=null==(ue=null==(le=Ki.sub[0])?void 0:le.sub[1])?void 0:ue.sub[0])?void 0:he.sub[3])?void 0:de.sub[1])?void 0:pe.stream.parseOctetString(Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].length),byte:null==(ye=null==(be=null==(me=null==(ge=null==(fe=Ki.sub[0])?void 0:fe.sub[1])?void 0:ge.sub[0])?void 0:me.sub[3])?void 0:be.sub[1])?void 0:ye.stream.enc.subarray(Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].length)},width:null==(we=null==(xe=null==(Ce=null==(Se=null==(ve=Ki.sub[0])?void 0:ve.sub[1])?void 0:Se.sub[0])?void 0:Ce.sub[3])?void 0:xe.sub[2])?void 0:we.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].length),height:null==(De=null==(Te=null==(Ie=null==(ke=null==(Ae=Ki.sub[0])?void 0:Ae.sub[1])?void 0:ke.sub[0])?void 0:Ie.sub[3])?void 0:Te.sub[3])?void 0:De.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].length)},extDatas:at},signInfo:{cert:Me(null==(Be=null==(Pe=null==(Fe=Ki.sub[0])?void 0:Fe.sub[1])?void 0:Pe.sub[1])?void 0:Be.sub[0]),signatureAlgorithm:null==(Le=null==(Ue=null==(_e=null==(Oe=Ki.sub[0])?void 0:Oe.sub[1])?void 0:_e.sub[1])?void 0:Ue.sub[1])?void 0:Le.stream.parseOID(Ki.sub[0].sub[1].sub[1].sub[1].stream.pos+Ki.sub[0].sub[1].sub[1].sub[1].header,Ki.sub[0].sub[1].sub[1].sub[1].stream.pos+Ki.sub[0].sub[1].sub[1].sub[1].header+Ki.sub[0].sub[1].sub[1].sub[1].length),signData:null==(Ke=null==(qe=null==(je=null==(He=Ki.sub[0])?void 0:He.sub[1])?void 0:je.sub[1])?void 0:qe.sub[2])?void 0:Ke.stream.hexDump(Ki.sub[0].sub[1].sub[1].sub[2].stream.pos+Ki.sub[0].sub[1].sub[1].sub[2].header,Ki.sub[0].sub[1].sub[1].sub[2].stream.pos+Ki.sub[0].sub[1].sub[1].sub[2].header+Ki.sub[0].sub[1].sub[1].sub[2].length,!1)}},timeInfo:tt,dataHash:null==(Ve=null==(Ge=Ki.sub[0])?void 0:Ge.sub[3])?void 0:Ve.stream.hexDump(Ki.sub[0].sub[3].stream.pos+Ki.sub[0].sub[3].header,Ki.sub[0].sub[3].stream.pos+Ki.sub[0].sub[3].header+Ki.sub[0].sub[3].length,!1),propertyInfo:null==(Xe=null==(ze=Ki.sub[0])?void 0:ze.sub[4])?void 0:Xe.stream.parseStringUTF(Ki.sub[0].sub[4].stream.pos+Ki.sub[0].sub[4].header,Ki.sub[0].sub[4].stream.pos+Ki.sub[0].sub[4].header+Ki.sub[0].sub[4].length),cert:Me(null==(We=Ki.sub[0])?void 0:We.sub[5]),signatureAlgorithm:null==(Ze=null==($e=Ki.sub[0])?void 0:$e.sub[6])?void 0:Ze.stream.parseOID(Ki.sub[0].sub[6].stream.pos+Ki.sub[0].sub[6].header,Ki.sub[0].sub[6].stream.pos+Ki.sub[0].sub[6].header+Ki.sub[0].sub[6].length)},signature:null==(Ye=Ki.sub[1])?void 0:Ye.stream.hexDump(Ki.sub[1].stream.pos+Ki.sub[1].header,Ki.sub[1].stream.pos+Ki.sub[1].header+Ki.sub[1].length,!1)}}catch(zi){try{const e=null==(it=null==(tt=null==(et=null==(Je=null==(Qe=Ki.sub[0])?void 0:Qe.sub[1])?void 0:Je.sub[0])?void 0:et.sub[2])?void 0:tt.sub[2])?void 0:it.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[2].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[2].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[2].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[2].length),t=null==(st=null==(at=null==(nt=null==(rt=Ki.sub[0])?void 0:rt.sub[1])?void 0:nt.sub[0])?void 0:at.sub[2])?void 0:st.sub[3];let i=new Array;t&&t.sub.forEach(e=>{i.push(e.stream.parseOctetString(e.stream.pos+e.header,e.stream.pos+e.header+e.length))});const r=null==(lt=null==(ct=null==(ot=Ki.sub[0])?void 0:ot.sub[1])?void 0:ct.sub[0])?void 0:lt.sub[4];let n=new Array;r&&r.sub.forEach(e=>{var t,i,r;n.push({extnID:null==(t=e.sub[0])?void 0:t.stream.parseOID(e.sub[0].stream.pos+e.sub[0].header,e.sub[0].stream.pos+e.sub[0].header+e.sub[0].length),critical:null==(i=e.sub[1])?void 0:i.stream.parseInteger(e.sub[1].stream.pos+e.sub[1].header,e.sub[1].stream.pos+e.sub[1].header+e.sub[1].length),extnValue:null==(r=e.sub[2])?void 0:r.stream.parseOctetString(e.sub[2].stream.pos+e.sub[2].header,e.sub[2].stream.pos+e.sub[2].header+e.sub[2].length)})}),Gi={realVersion:4,toSignDer:null==(ut=Ki.sub[0])?void 0:ut.stream.enc.subarray(Ki.sub[0].stream.pos,Ki.sub[0].stream.pos+Ki.sub[0].header+Ki.sub[0].length),toSign:{version:null==(dt=null==(ht=Ki.sub[0])?void 0:ht.sub[0])?void 0:dt.stream.parseInteger(Ki.sub[0].sub[0].stream.pos+Ki.sub[0].sub[0].header,Ki.sub[0].sub[0].stream.pos+Ki.sub[0].sub[0].header+Ki.sub[0].sub[0].length),eseal:{esealInfo:{header:{ID:null==(bt=null==(mt=null==(gt=null==(ft=null==(pt=Ki.sub[0])?void 0:pt.sub[1])?void 0:ft.sub[0])?void 0:gt.sub[0])?void 0:mt.sub[0])?void 0:bt.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[0].length),version:null==(xt=null==(Ct=null==(St=null==(vt=null==(yt=Ki.sub[0])?void 0:yt.sub[1])?void 0:vt.sub[0])?void 0:St.sub[0])?void 0:Ct.sub[1])?void 0:xt.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[1].length),Vid:null==(It=null==(kt=null==(Et=null==(At=null==(wt=Ki.sub[0])?void 0:wt.sub[1])?void 0:At.sub[0])?void 0:Et.sub[0])?void 0:kt.sub[2])?void 0:It.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].header,Ki.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].header+Ki.sub[0].sub[1].sub[0].sub[0].sub[2].length)},esID:null==(Pt=null==(Ft=null==(Dt=null==(Tt=Ki.sub[0])?void 0:Tt.sub[1])?void 0:Dt.sub[0])?void 0:Ft.sub[1])?void 0:Pt.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[1].length),property:{type:null==(Rt=null==(Mt=null==(Nt=null==(Ot=null==(Bt=Ki.sub[0])?void 0:Bt.sub[1])?void 0:Ot.sub[0])?void 0:Nt.sub[2])?void 0:Mt.sub[0])?void 0:Rt.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[0].length),name:null==(jt=null==(Ht=null==(Lt=null==(Ut=null==(_t=Ki.sub[0])?void 0:_t.sub[1])?void 0:Ut.sub[0])?void 0:Lt.sub[2])?void 0:Ht.sub[1])?void 0:jt.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[1].length),certListType:e,certList:i,createDate:null==(zt=null==(Vt=null==(Gt=null==(Kt=null==(qt=Ki.sub[0])?void 0:qt.sub[1])?void 0:Kt.sub[0])?void 0:Gt.sub[2])?void 0:Vt.sub[4])?void 0:zt.stream.parseTime(Ki.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[4].length),validStart:null==(Yt=null==(Zt=null==($t=null==(Wt=null==(Xt=Ki.sub[0])?void 0:Xt.sub[1])?void 0:Wt.sub[0])?void 0:$t.sub[2])?void 0:Zt.sub[5])?void 0:Yt.stream.parseTime(Ki.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[5].length),validEnd:null==(ii=null==(ti=null==(ei=null==(Jt=null==(Qt=Ki.sub[0])?void 0:Qt.sub[1])?void 0:Jt.sub[0])?void 0:ei.sub[2])?void 0:ti.sub[6])?void 0:ii.stream.parseTime(Ki.sub[0].sub[1].sub[0].sub[2].sub[6].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[6].header,Ki.sub[0].sub[1].sub[0].sub[2].sub[6].stream.pos+Ki.sub[0].sub[1].sub[0].sub[2].sub[6].header+Ki.sub[0].sub[1].sub[0].sub[2].sub[6].length)},picture:{type:null==(oi=null==(si=null==(ai=null==(ni=null==(ri=Ki.sub[0])?void 0:ri.sub[1])?void 0:ni.sub[0])?void 0:ai.sub[3])?void 0:si.sub[0])?void 0:oi.stream.parseStringUTF(Ki.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[0].length),data:{hex:null==(di=null==(hi=null==(ui=null==(li=null==(ci=Ki.sub[0])?void 0:ci.sub[1])?void 0:li.sub[0])?void 0:ui.sub[3])?void 0:hi.sub[1])?void 0:di.stream.parseOctetString(Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].length),byte:null==(bi=null==(mi=null==(gi=null==(fi=null==(pi=Ki.sub[0])?void 0:pi.sub[1])?void 0:fi.sub[0])?void 0:gi.sub[3])?void 0:mi.sub[1])?void 0:bi.stream.enc.subarray(Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[1].length)},width:null==(xi=null==(Ci=null==(Si=null==(vi=null==(yi=Ki.sub[0])?void 0:yi.sub[1])?void 0:vi.sub[0])?void 0:Si.sub[3])?void 0:Ci.sub[2])?void 0:xi.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[2].length),height:null==(Ii=null==(ki=null==(Ei=null==(Ai=null==(wi=Ki.sub[0])?void 0:wi.sub[1])?void 0:Ai.sub[0])?void 0:Ei.sub[3])?void 0:ki.sub[3])?void 0:Ii.stream.parseInteger(Ki.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].header,Ki.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].header+Ki.sub[0].sub[1].sub[0].sub[3].sub[3].length)},extDatas:n},cert:Me(null==(Di=null==(Ti=Ki.sub[0])?void 0:Ti.sub[1])?void 0:Di.sub[1]),signAlgID:null==(Bi=null==(Pi=null==(Fi=Ki.sub[0])?void 0:Fi.sub[1])?void 0:Pi.sub[2])?void 0:Bi.stream.parseOID(Ki.sub[0].sub[1].sub[2].stream.pos+Ki.sub[0].sub[1].sub[2].header,Ki.sub[0].sub[1].sub[2].stream.pos+Ki.sub[0].sub[1].sub[2].header+Ki.sub[0].sub[1].sub[2].length),signedValue:null==(Mi=null==(Ni=null==(Oi=Ki.sub[0])?void 0:Oi.sub[1])?void 0:Ni.sub[3])?void 0:Mi.stream.hexDump(Ki.sub[0].sub[1].sub[3].stream.pos+Ki.sub[0].sub[1].sub[3].header,Ki.sub[0].sub[1].sub[3].stream.pos+Ki.sub[0].sub[1].sub[3].header+Ki.sub[0].sub[1].sub[3].length,!1)},timeInfo:null==(_i=null==(Ri=Ki.sub[0])?void 0:Ri.sub[2])?void 0:_i.stream.parseTime(Ki.sub[0].sub[2].stream.pos+Ki.sub[0].sub[2].header,Ki.sub[0].sub[2].stream.pos+Ki.sub[0].sub[2].header+Ki.sub[0].sub[2].length,!1),dataHash:null==(Li=null==(Ui=Ki.sub[0])?void 0:Ui.sub[3])?void 0:Li.stream.hexDump(Ki.sub[0].sub[3].stream.pos+Ki.sub[0].sub[3].header,Ki.sub[0].sub[3].stream.pos+Ki.sub[0].sub[3].header+Ki.sub[0].sub[3].length,!1),propertyInfo:Re(Ki.sub[0].sub[4])},cert:Me(Ki.sub[1]),signatureAlgID:null==(Hi=Ki.sub[2])?void 0:Hi.stream.parseOID(Ki.sub[2].stream.pos+Ki.sub[2].header,Ki.sub[2].stream.pos+Ki.sub[2].header+Ki.sub[2].length),signature:null==(ji=Ki.sub[3])?void 0:ji.stream.hexDump(Ki.sub[3].stream.pos+Ki.sub[3].header,Ki.sub[3].stream.pos+Ki.sub[3].header+Ki.sub[3].length,!1),timpStamp:null==(qi=Ki.sub[4])?void 0:qi.stream.parseTime(Ki.sub[4].stream.pos+Ki.sub[4].header,Ki.sub[4].stream.pos+Ki.sub[4].header+Ki.sub[4].length)}}catch(Xi){console.log(Xi),Gi={}}}return Gi},Ue=[.001,0,0,.001,0,0],Le=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),He=0,je=1;function qe(e){console.log(`Warning: ${e}`)}function Ke(e){throw new Error(e)}function Ge(e,t){e||Ke(t)}function Ve(e,t,i,r=!1){return Object.defineProperty(e,t,{value:i,enumerable:!r,configurable:!0,writable:!1}),i}const ze=function(){function e(t,i){this.constructor===e&&Ke("Cannot initialize BaseException."),this.message=t,this.name=i}return e.prototype=new Error,e.constructor=e,e}();class Xe extends ze{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class We extends ze{constructor(e){super(e,"FormatError")}}class $e extends ze{constructor(e){super(e,"AbortException")}}function Ze(e){"object"==typeof e&&void 0!==(null==e?void 0:e.length)||Ke("Invalid argument for bytesToString");const t=e.length,i=8192;if(t<i)return String.fromCharCode.apply(null,e);const r=[];for(let n=0;n<t;n+=i){const a=Math.min(n+i,t),s=e.subarray(n,a);r.push(String.fromCharCode.apply(null,s))}return r.join("")}function Ye(e){"string"!=typeof e&&Ke("Invalid argument for stringToBytes");const t=e.length,i=new Uint8Array(t);for(let r=0;r<t;++r)i[r]=255&e.charCodeAt(r);return i}function Qe(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)}class Je{static get isLittleEndian(){return Ve(this,"isLittleEndian",function(){const e=new Uint8Array(4);return e[0]=1,1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return Ve(this,"isEvalSupported",function(){try{return new Function(""),!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return Ve(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get platform(){return Ve(this,"platform",{isMac:!1})}static get isCSSRoundSupported(){var e,t;return Ve(this,"isCSSRoundSupported",null==(t=null==(e=globalThis.CSS)?void 0:e.supports)?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const et=[...Array(256).keys()].map(e=>e.toString(16).padStart(2,"0"));class tt{static makeHexColor(e,t,i){return`#${et[e]}${et[t]}${et[i]}`}static scaleMinMax(e,t){let i;e[0]?(e[0]<0&&(i=t[0],t[0]=t[2],t[2]=i),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(i=t[1],t[1]=t[3],t[3]=i),t[1]*=e[3],t[3]*=e[3]):(i=t[0],t[0]=t[1],t[1]=i,i=t[2],t[2]=t[3],t[3]=i,e[1]<0&&(i=t[1],t[1]=t[3],t[3]=i),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(i=t[0],t[0]=t[2],t[2]=i),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const i=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/i,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/i]}static getAxialAlignedBoundingBox(e,t){const i=this.applyTransform(e,t),r=this.applyTransform(e.slice(2,4),t),n=this.applyTransform([e[0],e[3]],t),a=this.applyTransform([e[2],e[1]],t);return[Math.min(i[0],r[0],n[0],a[0]),Math.min(i[1],r[1],n[1],a[1]),Math.max(i[0],r[0],n[0],a[0]),Math.max(i[1],r[1],n[1],a[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],i=e[0]*t[0]+e[1]*t[2],r=e[0]*t[1]+e[1]*t[3],n=e[2]*t[0]+e[3]*t[2],a=e[2]*t[1]+e[3]*t[3],s=(i+a)/2,o=Math.sqrt((i+a)**2-4*(i*a-n*r))/2,c=s+o||1,l=s-o||1;return[Math.sqrt(c),Math.sqrt(l)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const i=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),r=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(i>r)return null;const n=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return n>a?null:[i,n,r,a]}static bezierBoundingBox(t,i,r,n,a,s,c,u,h){return h?(h[0]=Math.min(h[0],t,c),h[1]=Math.min(h[1],i,u),h[2]=Math.max(h[2],t,c),h[3]=Math.max(h[3],i,u)):h=[Math.min(t,c),Math.min(i,u),Math.max(t,c),Math.max(i,u)],o(this,e,l).call(this,t,r,a,c,i,n,s,u,3*(3*(r-a)-t+c),6*(t-2*r+a),3*(r-t),h),o(this,e,l).call(this,t,r,a,c,i,n,s,u,3*(3*(n-s)-i+u),6*(i-2*n+s),3*(n-i),h),h}}e=new WeakSet,t=function(e,t,i,r,n,a,s,o,c,l){if(c<=0||c>=1)return;const u=1-c,h=c*c,d=h*c,p=u*(u*(u*e+3*c*t)+3*h*i)+d*r,f=u*(u*(u*n+3*c*a)+3*h*s)+d*o;l[0]=Math.min(l[0],p),l[1]=Math.min(l[1],f),l[2]=Math.max(l[2],p),l[3]=Math.max(l[3],f)},l=function(i,r,n,a,s,c,l,u,h,d,p,f){if(Math.abs(h)<1e-12)return void(Math.abs(d)>=1e-12&&o(this,e,t).call(this,i,r,n,a,s,c,l,u,-p/d,f));const g=d**2-4*p*h;if(g<0)return;const m=Math.sqrt(g),b=2*h;o(this,e,t).call(this,i,r,n,a,s,c,l,u,(-d+m)/b,f),o(this,e,t).call(this,i,r,n,a,s,c,l,u,(-d-m)/b,f)},a(tt,e);const it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function rt(e){if(e[0]>="ï"){let t;if("þ"===e[0]&&"ÿ"===e[1]?(t="utf-16be",e.length%2==1&&(e=e.slice(0,-1))):"ÿ"===e[0]&&"þ"===e[1]?(t="utf-16le",e.length%2==1&&(e=e.slice(0,-1))):"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(t="utf-8"),t)try{const i=new TextDecoder(t,{fatal:!0}),r=Ye(e),n=i.decode(r);return n.includes("")?n.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,""):n}catch(i){qe(`stringToPDFString: "${i}".`)}}const t=[];for(let r=0,n=e.length;r<n;r++){const i=e.charCodeAt(r);if(27===i){for(;++r<n&&27!==e.charCodeAt(r););continue}const a=it[i];t.push(a?String.fromCharCode(a):e.charAt(r))}return t.join("")}class nt{constructor(){a(this,u,!1),this.promise=new Promise((e,t)=>{this.resolve=t=>{s(this,u,!0),e(t)},this.reject=e=>{s(this,u,!0),t(e)}})}get settled(){return n(this,u)}}u=new WeakMap;const at=Symbol("EOF");let st=Object.create(null),ot=Object.create(null),ct=Object.create(null);class lt{constructor(e){this.name=e}static get(e){return ot[e]||(ot[e]=new lt(e))}}class ut{constructor(e){this.cmd=e}static get(e){return st[e]||(st[e]=new ut(e))}}const ht=function(){return ht};class dt{constructor(e=null){this._map=Object.create(null),this.xref=e,this.objId=null,this.suppressEncryption=!1,this.__nonSerializable__=ht}assignXref(e){this.xref=e}get size(){return Object.keys(this._map).length}get(e,t,i){let r=this._map[e];return void 0===r&&void 0!==t&&(r=this._map[t],void 0===r&&void 0!==i&&(r=this._map[i])),r instanceof pt&&this.xref?this.xref.fetch(r,this.suppressEncryption):r}async getAsync(e,t,i){let r=this._map[e];return void 0===r&&void 0!==t&&(r=this._map[t],void 0===r&&void 0!==i&&(r=this._map[i])),r instanceof pt&&this.xref?this.xref.fetchAsync(r,this.suppressEncryption):r}getArray(e,t,i){let r=this._map[e];if(void 0===r&&void 0!==t&&(r=this._map[t],void 0===r&&void 0!==i&&(r=this._map[i])),r instanceof pt&&this.xref&&(r=this.xref.fetch(r,this.suppressEncryption)),Array.isArray(r)){r=r.slice();for(let e=0,t=r.length;e<t;e++)r[e]instanceof pt&&this.xref&&(r[e]=this.xref.fetch(r[e],this.suppressEncryption))}return r}getRaw(e){return this._map[e]}getKeys(){return Object.keys(this._map)}getRawValues(){return Object.values(this._map)}set(e,t){this._map[e]=t}has(e){return void 0!==this._map[e]}forEach(e){for(const t in this._map)e(t,this.get(t))}static get empty(){const e=new dt(null);return e.set=(e,t)=>{Ke("Should not call `set` on the empty dictionary.")},Ve(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:i=!1}){const r=new dt(e),n=new Map;for(const a of t)if(a instanceof dt)for(const[e,t]of Object.entries(a._map)){let r=n.get(e);if(void 0===r)r=[],n.set(e,r);else if(!(i&&t instanceof dt))continue;r.push(t)}for(const[a,s]of n){if(1===s.length||!(s[0]instanceof dt)){r._map[a]=s[0];continue}const t=new dt(e);for(const e of s)for(const[i,r]of Object.entries(e._map))void 0===t._map[i]&&(t._map[i]=r);t.size>0&&(r._map[a]=t)}return n.clear(),r.size>0?r:dt.empty}clone(){const e=new dt(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}}class pt{constructor(e,t){this.num=e,this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=ct[e];if(t)return t;const i=/^(\d+)R(\d*)$/.exec(e);return i&&"0"!==i[1]?ct[e]=new pt(parseInt(i[1]),i[2]?parseInt(i[2]):0):null}static get(e,t){const i=0===t?`${e}R`:`${e}R${t}`;return ct[i]||(ct[i]=new pt(e,t))}}class ft{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}}function gt(e,t){return e instanceof lt&&(void 0===t||e.name===t)}function mt(e,t){return e instanceof ut&&(void 0===t||e.cmd===t)}class bt{constructor(){this.constructor===bt&&Ke("Cannot initialize BaseStream.")}get length(){Ke("Abstract getter `length` accessed")}get isEmpty(){Ke("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return Ve(this,"isDataLoaded",!0)}getByte(){Ke("Abstract method `getByte` called")}getBytes(e){Ke("Abstract method `getBytes` called")}peekByte(){const e=this.getByte();return-1!==e&&this.pos--,e}peekBytes(e){const t=this.getBytes(e);return this.pos-=t.length,t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){Ke("Abstract method `getByteRange` called")}getString(e){return Ze(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){Ke("Abstract method `reset` called")}moveStart(){Ke("Abstract method `moveStart` called")}makeSubStream(e,t,i=null){Ke("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}function yt(e){let t;return function(){return e&&(t=Object.create(null),e(t),e=null),t}}class vt extends ze{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException"),this.begin=e,this.end=t}}function St(e){return e<=0?0:Math.ceil(Math.log2(e))}function Ct(e,t){return e[t]<<8|e[t+1]}function xt(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function wt(e){return 32===e||9===e||13===e||10===e}function At(e,t=!1){const i=/^("|').*("|')$/.exec(e);if(i&&i[1]===i[2]){if(new RegExp(`[^\\\\]${i[1]}`).test(e.slice(1,-1)))return t&&qe(`FontFamily contains unescaped ${i[1]}: ${e}.`),!1}else for(const r of e.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(r)||!/^[\w-\\]+$/.test(r))return t&&qe(`FontFamily contains invalid <custom-ident>: ${e}.`),!1;return!0}const Et=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],kt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","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","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],It=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","space","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"],Tt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","","","",""],Dt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],Ft=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],Pt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function Bt(e){switch(e){case"WinAnsiEncoding":return Dt;case"StandardEncoding":return Tt;case"MacRomanEncoding":return It;case"SymbolSetEncoding":return Ft;case"ZapfDingbatsEncoding":return Pt;case"ExpertEncoding":return Et;case"MacExpertEncoding":return kt;default:return null}}const Ot=yt(function(e){e.A=65,e.AE=198,e.AEacute=508,e.AEmacron=482,e.AEsmall=63462,e.Aacute=193,e.Aacutesmall=63457,e.Abreve=258,e.Abreveacute=7854,e.Abrevecyrillic=1232,e.Abrevedotbelow=7862,e.Abrevegrave=7856,e.Abrevehookabove=7858,e.Abrevetilde=7860,e.Acaron=461,e.Acircle=9398,e.Acircumflex=194,e.Acircumflexacute=7844,e.Acircumflexdotbelow=7852,e.Acircumflexgrave=7846,e.Acircumflexhookabove=7848,e.Acircumflexsmall=63458,e.Acircumflextilde=7850,e.Acute=63177,e.Acutesmall=63412,e.Acyrillic=1040,e.Adblgrave=512,e.Adieresis=196,e.Adieresiscyrillic=1234,e.Adieresismacron=478,e.Adieresissmall=63460,e.Adotbelow=7840,e.Adotmacron=480,e.Agrave=192,e.Agravesmall=63456,e.Ahookabove=7842,e.Aiecyrillic=1236,e.Ainvertedbreve=514,e.Alpha=913,e.Alphatonos=902,e.Amacron=256,e.Amonospace=65313,e.Aogonek=260,e.Aring=197,e.Aringacute=506,e.Aringbelow=7680,e.Aringsmall=63461,e.Asmall=63329,e.Atilde=195,e.Atildesmall=63459,e.Aybarmenian=1329,e.B=66,e.Bcircle=9399,e.Bdotaccent=7682,e.Bdotbelow=7684,e.Becyrillic=1041,e.Benarmenian=1330,e.Beta=914,e.Bhook=385,e.Blinebelow=7686,e.Bmonospace=65314,e.Brevesmall=63220,e.Bsmall=63330,e.Btopbar=386,e.C=67,e.Caarmenian=1342,e.Cacute=262,e.Caron=63178,e.Caronsmall=63221,e.Ccaron=268,e.Ccedilla=199,e.Ccedillaacute=7688,e.Ccedillasmall=63463,e.Ccircle=9400,e.Ccircumflex=264,e.Cdot=266,e.Cdotaccent=266,e.Cedillasmall=63416,e.Chaarmenian=1353,e.Cheabkhasiancyrillic=1212,e.Checyrillic=1063,e.Chedescenderabkhasiancyrillic=1214,e.Chedescendercyrillic=1206,e.Chedieresiscyrillic=1268,e.Cheharmenian=1347,e.Chekhakassiancyrillic=1227,e.Cheverticalstrokecyrillic=1208,e.Chi=935,e.Chook=391,e.Circumflexsmall=63222,e.Cmonospace=65315,e.Coarmenian=1361,e.Csmall=63331,e.D=68,e.DZ=497,e.DZcaron=452,e.Daarmenian=1332,e.Dafrican=393,e.Dcaron=270,e.Dcedilla=7696,e.Dcircle=9401,e.Dcircumflexbelow=7698,e.Dcroat=272,e.Ddotaccent=7690,e.Ddotbelow=7692,e.Decyrillic=1044,e.Deicoptic=1006,e.Delta=8710,e.Deltagreek=916,e.Dhook=394,e.Dieresis=63179,e.DieresisAcute=63180,e.DieresisGrave=63181,e.Dieresissmall=63400,e.Digammagreek=988,e.Djecyrillic=1026,e.Dlinebelow=7694,e.Dmonospace=65316,e.Dotaccentsmall=63223,e.Dslash=272,e.Dsmall=63332,e.Dtopbar=395,e.Dz=498,e.Dzcaron=453,e.Dzeabkhasiancyrillic=1248,e.Dzecyrillic=1029,e.Dzhecyrillic=1039,e.E=69,e.Eacute=201,e.Eacutesmall=63465,e.Ebreve=276,e.Ecaron=282,e.Ecedillabreve=7708,e.Echarmenian=1333,e.Ecircle=9402,e.Ecircumflex=202,e.Ecircumflexacute=7870,e.Ecircumflexbelow=7704,e.Ecircumflexdotbelow=7878,e.Ecircumflexgrave=7872,e.Ecircumflexhookabove=7874,e.Ecircumflexsmall=63466,e.Ecircumflextilde=7876,e.Ecyrillic=1028,e.Edblgrave=516,e.Edieresis=203,e.Edieresissmall=63467,e.Edot=278,e.Edotaccent=278,e.Edotbelow=7864,e.Efcyrillic=1060,e.Egrave=200,e.Egravesmall=63464,e.Eharmenian=1335,e.Ehookabove=7866,e.Eightroman=8551,e.Einvertedbreve=518,e.Eiotifiedcyrillic=1124,e.Elcyrillic=1051,e.Elevenroman=8554,e.Emacron=274,e.Emacronacute=7702,e.Emacrongrave=7700,e.Emcyrillic=1052,e.Emonospace=65317,e.Encyrillic=1053,e.Endescendercyrillic=1186,e.Eng=330,e.Enghecyrillic=1188,e.Enhookcyrillic=1223,e.Eogonek=280,e.Eopen=400,e.Epsilon=917,e.Epsilontonos=904,e.Ercyrillic=1056,e.Ereversed=398,e.Ereversedcyrillic=1069,e.Escyrillic=1057,e.Esdescendercyrillic=1194,e.Esh=425,e.Esmall=63333,e.Eta=919,e.Etarmenian=1336,e.Etatonos=905,e.Eth=208,e.Ethsmall=63472,e.Etilde=7868,e.Etildebelow=7706,e.Euro=8364,e.Ezh=439,e.Ezhcaron=494,e.Ezhreversed=440,e.F=70,e.Fcircle=9403,e.Fdotaccent=7710,e.Feharmenian=1366,e.Feicoptic=996,e.Fhook=401,e.Fitacyrillic=1138,e.Fiveroman=8548,e.Fmonospace=65318,e.Fourroman=8547,e.Fsmall=63334,e.G=71,e.GBsquare=13191,e.Gacute=500,e.Gamma=915,e.Gammaafrican=404,e.Gangiacoptic=1002,e.Gbreve=286,e.Gcaron=486,e.Gcedilla=290,e.Gcircle=9404,e.Gcircumflex=284,e.Gcommaaccent=290,e.Gdot=288,e.Gdotaccent=288,e.Gecyrillic=1043,e.Ghadarmenian=1346,e.Ghemiddlehookcyrillic=1172,e.Ghestrokecyrillic=1170,e.Gheupturncyrillic=1168,e.Ghook=403,e.Gimarmenian=1331,e.Gjecyrillic=1027,e.Gmacron=7712,e.Gmonospace=65319,e.Grave=63182,e.Gravesmall=63328,e.Gsmall=63335,e.Gsmallhook=667,e.Gstroke=484,e.H=72,e.H18533=9679,e.H18543=9642,e.H18551=9643,e.H22073=9633,e.HPsquare=13259,e.Haabkhasiancyrillic=1192,e.Hadescendercyrillic=1202,e.Hardsigncyrillic=1066,e.Hbar=294,e.Hbrevebelow=7722,e.Hcedilla=7720,e.Hcircle=9405,e.Hcircumflex=292,e.Hdieresis=7718,e.Hdotaccent=7714,e.Hdotbelow=7716,e.Hmonospace=65320,e.Hoarmenian=1344,e.Horicoptic=1e3,e.Hsmall=63336,e.Hungarumlaut=63183,e.Hungarumlautsmall=63224,e.Hzsquare=13200,e.I=73,e.IAcyrillic=1071,e.IJ=306,e.IUcyrillic=1070,e.Iacute=205,e.Iacutesmall=63469,e.Ibreve=300,e.Icaron=463,e.Icircle=9406,e.Icircumflex=206,e.Icircumflexsmall=63470,e.Icyrillic=1030,e.Idblgrave=520,e.Idieresis=207,e.Idieresisacute=7726,e.Idieresiscyrillic=1252,e.Idieresissmall=63471,e.Idot=304,e.Idotaccent=304,e.Idotbelow=7882,e.Iebrevecyrillic=1238,e.Iecyrillic=1045,e.Ifraktur=8465,e.Igrave=204,e.Igravesmall=63468,e.Ihookabove=7880,e.Iicyrillic=1048,e.Iinvertedbreve=522,e.Iishortcyrillic=1049,e.Imacron=298,e.Imacroncyrillic=1250,e.Imonospace=65321,e.Iniarmenian=1339,e.Iocyrillic=1025,e.Iogonek=302,e.Iota=921,e.Iotaafrican=406,e.Iotadieresis=938,e.Iotatonos=906,e.Ismall=63337,e.Istroke=407,e.Itilde=296,e.Itildebelow=7724,e.Izhitsacyrillic=1140,e.Izhitsadblgravecyrillic=1142,e.J=74,e.Jaarmenian=1345,e.Jcircle=9407,e.Jcircumflex=308,e.Jecyrillic=1032,e.Jheharmenian=1355,e.Jmonospace=65322,e.Jsmall=63338,e.K=75,e.KBsquare=13189,e.KKsquare=13261,e.Kabashkircyrillic=1184,e.Kacute=7728,e.Kacyrillic=1050,e.Kadescendercyrillic=1178,e.Kahookcyrillic=1219,e.Kappa=922,e.Kastrokecyrillic=1182,e.Kaverticalstrokecyrillic=1180,e.Kcaron=488,e.Kcedilla=310,e.Kcircle=9408,e.Kcommaaccent=310,e.Kdotbelow=7730,e.Keharmenian=1364,e.Kenarmenian=1343,e.Khacyrillic=1061,e.Kheicoptic=998,e.Khook=408,e.Kjecyrillic=1036,e.Klinebelow=7732,e.Kmonospace=65323,e.Koppacyrillic=1152,e.Koppagreek=990,e.Ksicyrillic=1134,e.Ksmall=63339,e.L=76,e.LJ=455,e.LL=63167,e.Lacute=313,e.Lambda=923,e.Lcaron=317,e.Lcedilla=315,e.Lcircle=9409,e.Lcircumflexbelow=7740,e.Lcommaaccent=315,e.Ldot=319,e.Ldotaccent=319,e.Ldotbelow=7734,e.Ldotbelowmacron=7736,e.Liwnarmenian=1340,e.Lj=456,e.Ljecyrillic=1033,e.Llinebelow=7738,e.Lmonospace=65324,e.Lslash=321,e.Lslashsmall=63225,e.Lsmall=63340,e.M=77,e.MBsquare=13190,e.Macron=63184,e.Macronsmall=63407,e.Macute=7742,e.Mcircle=9410,e.Mdotaccent=7744,e.Mdotbelow=7746,e.Menarmenian=1348,e.Mmonospace=65325,e.Msmall=63341,e.Mturned=412,e.Mu=924,e.N=78,e.NJ=458,e.Nacute=323,e.Ncaron=327,e.Ncedilla=325,e.Ncircle=9411,e.Ncircumflexbelow=7754,e.Ncommaaccent=325,e.Ndotaccent=7748,e.Ndotbelow=7750,e.Nhookleft=413,e.Nineroman=8552,e.Nj=459,e.Njecyrillic=1034,e.Nlinebelow=7752,e.Nmonospace=65326,e.Nowarmenian=1350,e.Nsmall=63342,e.Ntilde=209,e.Ntildesmall=63473,e.Nu=925,e.O=79,e.OE=338,e.OEsmall=63226,e.Oacute=211,e.Oacutesmall=63475,e.Obarredcyrillic=1256,e.Obarreddieresiscyrillic=1258,e.Obreve=334,e.Ocaron=465,e.Ocenteredtilde=415,e.Ocircle=9412,e.Ocircumflex=212,e.Ocircumflexacute=7888,e.Ocircumflexdotbelow=7896,e.Ocircumflexgrave=7890,e.Ocircumflexhookabove=7892,e.Ocircumflexsmall=63476,e.Ocircumflextilde=7894,e.Ocyrillic=1054,e.Odblacute=336,e.Odblgrave=524,e.Odieresis=214,e.Odieresiscyrillic=1254,e.Odieresissmall=63478,e.Odotbelow=7884,e.Ogoneksmall=63227,e.Ograve=210,e.Ogravesmall=63474,e.Oharmenian=1365,e.Ohm=8486,e.Ohookabove=7886,e.Ohorn=416,e.Ohornacute=7898,e.Ohorndotbelow=7906,e.Ohorngrave=7900,e.Ohornhookabove=7902,e.Ohorntilde=7904,e.Ohungarumlaut=336,e.Oi=418,e.Oinvertedbreve=526,e.Omacron=332,e.Omacronacute=7762,e.Omacrongrave=7760,e.Omega=8486,e.Omegacyrillic=1120,e.Omegagreek=937,e.Omegaroundcyrillic=1146,e.Omegatitlocyrillic=1148,e.Omegatonos=911,e.Omicron=927,e.Omicrontonos=908,e.Omonospace=65327,e.Oneroman=8544,e.Oogonek=490,e.Oogonekmacron=492,e.Oopen=390,e.Oslash=216,e.Oslashacute=510,e.Oslashsmall=63480,e.Osmall=63343,e.Ostrokeacute=510,e.Otcyrillic=1150,e.Otilde=213,e.Otildeacute=7756,e.Otildedieresis=7758,e.Otildesmall=63477,e.P=80,e.Pacute=7764,e.Pcircle=9413,e.Pdotaccent=7766,e.Pecyrillic=1055,e.Peharmenian=1354,e.Pemiddlehookcyrillic=1190,e.Phi=934,e.Phook=420,e.Pi=928,e.Piwrarmenian=1363,e.Pmonospace=65328,e.Psi=936,e.Psicyrillic=1136,e.Psmall=63344,e.Q=81,e.Qcircle=9414,e.Qmonospace=65329,e.Qsmall=63345,e.R=82,e.Raarmenian=1356,e.Racute=340,e.Rcaron=344,e.Rcedilla=342,e.Rcircle=9415,e.Rcommaaccent=342,e.Rdblgrave=528,e.Rdotaccent=7768,e.Rdotbelow=7770,e.Rdotbelowmacron=7772,e.Reharmenian=1360,e.Rfraktur=8476,e.Rho=929,e.Ringsmall=63228,e.Rinvertedbreve=530,e.Rlinebelow=7774,e.Rmonospace=65330,e.Rsmall=63346,e.Rsmallinverted=641,e.Rsmallinvertedsuperior=694,e.S=83,e.SF010000=9484,e.SF020000=9492,e.SF030000=9488,e.SF040000=9496,e.SF050000=9532,e.SF060000=9516,e.SF070000=9524,e.SF080000=9500,e.SF090000=9508,e.SF100000=9472,e.SF110000=9474,e.SF190000=9569,e.SF200000=9570,e.SF210000=9558,e.SF220000=9557,e.SF230000=9571,e.SF240000=9553,e.SF250000=9559,e.SF260000=9565,e.SF270000=9564,e.SF280000=9563,e.SF360000=9566,e.SF370000=9567,e.SF380000=9562,e.SF390000=9556,e.SF400000=9577,e.SF410000=9574,e.SF420000=9568,e.SF430000=9552,e.SF440000=9580,e.SF450000=9575,e.SF460000=9576,e.SF470000=9572,e.SF480000=9573,e.SF490000=9561,e.SF500000=9560,e.SF510000=9554,e.SF520000=9555,e.SF530000=9579,e.SF540000=9578,e.Sacute=346,e.Sacutedotaccent=7780,e.Sampigreek=992,e.Scaron=352,e.Scarondotaccent=7782,e.Scaronsmall=63229,e.Scedilla=350,e.Schwa=399,e.Schwacyrillic=1240,e.Schwadieresiscyrillic=1242,e.Scircle=9416,e.Scircumflex=348,e.Scommaaccent=536,e.Sdotaccent=7776,e.Sdotbelow=7778,e.Sdotbelowdotaccent=7784,e.Seharmenian=1357,e.Sevenroman=8550,e.Shaarmenian=1351,e.Shacyrillic=1064,e.Shchacyrillic=1065,e.Sheicoptic=994,e.Shhacyrillic=1210,e.Shimacoptic=1004,e.Sigma=931,e.Sixroman=8549,e.Smonospace=65331,e.Softsigncyrillic=1068,e.Ssmall=63347,e.Stigmagreek=986,e.T=84,e.Tau=932,e.Tbar=358,e.Tcaron=356,e.Tcedilla=354,e.Tcircle=9417,e.Tcircumflexbelow=7792,e.Tcommaaccent=354,e.Tdotaccent=7786,e.Tdotbelow=7788,e.Tecyrillic=1058,e.Tedescendercyrillic=1196,e.Tenroman=8553,e.Tetsecyrillic=1204,e.Theta=920,e.Thook=428,e.Thorn=222,e.Thornsmall=63486,e.Threeroman=8546,e.Tildesmall=63230,e.Tiwnarmenian=1359,e.Tlinebelow=7790,e.Tmonospace=65332,e.Toarmenian=1337,e.Tonefive=444,e.Tonesix=388,e.Tonetwo=423,e.Tretroflexhook=430,e.Tsecyrillic=1062,e.Tshecyrillic=1035,e.Tsmall=63348,e.Twelveroman=8555,e.Tworoman=8545,e.U=85,e.Uacute=218,e.Uacutesmall=63482,e.Ubreve=364,e.Ucaron=467,e.Ucircle=9418,e.Ucircumflex=219,e.Ucircumflexbelow=7798,e.Ucircumflexsmall=63483,e.Ucyrillic=1059,e.Udblacute=368,e.Udblgrave=532,e.Udieresis=220,e.Udieresisacute=471,e.Udieresisbelow=7794,e.Udieresiscaron=473,e.Udieresiscyrillic=1264,e.Udieresisgrave=475,e.Udieresismacron=469,e.Udieresissmall=63484,e.Udotbelow=7908,e.Ugrave=217,e.Ugravesmall=63481,e.Uhookabove=7910,e.Uhorn=431,e.Uhornacute=7912,e.Uhorndotbelow=7920,e.Uhorngrave=7914,e.Uhornhookabove=7916,e.Uhorntilde=7918,e.Uhungarumlaut=368,e.Uhungarumlautcyrillic=1266,e.Uinvertedbreve=534,e.Ukcyrillic=1144,e.Umacron=362,e.Umacroncyrillic=1262,e.Umacrondieresis=7802,e.Umonospace=65333,e.Uogonek=370,e.Upsilon=933,e.Upsilon1=978,e.Upsilonacutehooksymbolgreek=979,e.Upsilonafrican=433,e.Upsilondieresis=939,e.Upsilondieresishooksymbolgreek=980,e.Upsilonhooksymbol=978,e.Upsilontonos=910,e.Uring=366,e.Ushortcyrillic=1038,e.Usmall=63349,e.Ustraightcyrillic=1198,e.Ustraightstrokecyrillic=1200,e.Utilde=360,e.Utildeacute=7800,e.Utildebelow=7796,e.V=86,e.Vcircle=9419,e.Vdotbelow=7806,e.Vecyrillic=1042,e.Vewarmenian=1358,e.Vhook=434,e.Vmonospace=65334,e.Voarmenian=1352,e.Vsmall=63350,e.Vtilde=7804,e.W=87,e.Wacute=7810,e.Wcircle=9420,e.Wcircumflex=372,e.Wdieresis=7812,e.Wdotaccent=7814,e.Wdotbelow=7816,e.Wgrave=7808,e.Wmonospace=65335,e.Wsmall=63351,e.X=88,e.Xcircle=9421,e.Xdieresis=7820,e.Xdotaccent=7818,e.Xeharmenian=1341,e.Xi=926,e.Xmonospace=65336,e.Xsmall=63352,e.Y=89,e.Yacute=221,e.Yacutesmall=63485,e.Yatcyrillic=1122,e.Ycircle=9422,e.Ycircumflex=374,e.Ydieresis=376,e.Ydieresissmall=63487,e.Ydotaccent=7822,e.Ydotbelow=7924,e.Yericyrillic=1067,e.Yerudieresiscyrillic=1272,e.Ygrave=7922,e.Yhook=435,e.Yhookabove=7926,e.Yiarmenian=1349,e.Yicyrillic=1031,e.Yiwnarmenian=1362,e.Ymonospace=65337,e.Ysmall=63353,e.Ytilde=7928,e.Yusbigcyrillic=1130,e.Yusbigiotifiedcyrillic=1132,e.Yuslittlecyrillic=1126,e.Yuslittleiotifiedcyrillic=1128,e.Z=90,e.Zaarmenian=1334,e.Zacute=377,e.Zcaron=381,e.Zcaronsmall=63231,e.Zcircle=9423,e.Zcircumflex=7824,e.Zdot=379,e.Zdotaccent=379,e.Zdotbelow=7826,e.Zecyrillic=1047,e.Zedescendercyrillic=1176,e.Zedieresiscyrillic=1246,e.Zeta=918,e.Zhearmenian=1338,e.Zhebrevecyrillic=1217,e.Zhecyrillic=1046,e.Zhedescendercyrillic=1174,e.Zhedieresiscyrillic=1244,e.Zlinebelow=7828,e.Zmonospace=65338,e.Zsmall=63354,e.Zstroke=437,e.a=97,e.aabengali=2438,e.aacute=225,e.aadeva=2310,e.aagujarati=2694,e.aagurmukhi=2566,e.aamatragurmukhi=2622,e.aarusquare=13059,e.aavowelsignbengali=2494,e.aavowelsigndeva=2366,e.aavowelsigngujarati=2750,e.abbreviationmarkarmenian=1375,e.abbreviationsigndeva=2416,e.abengali=2437,e.abopomofo=12570,e.abreve=259,e.abreveacute=7855,e.abrevecyrillic=1233,e.abrevedotbelow=7863,e.abrevegrave=7857,e.abrevehookabove=7859,e.abrevetilde=7861,e.acaron=462,e.acircle=9424,e.acircumflex=226,e.acircumflexacute=7845,e.acircumflexdotbelow=7853,e.acircumflexgrave=7847,e.acircumflexhookabove=7849,e.acircumflextilde=7851,e.acute=180,e.acutebelowcmb=791,e.acutecmb=769,e.acutecomb=769,e.acutedeva=2388,e.acutelowmod=719,e.acutetonecmb=833,e.acyrillic=1072,e.adblgrave=513,e.addakgurmukhi=2673,e.adeva=2309,e.adieresis=228,e.adieresiscyrillic=1235,e.adieresismacron=479,e.adotbelow=7841,e.adotmacron=481,e.ae=230,e.aeacute=509,e.aekorean=12624,e.aemacron=483,e.afii00208=8213,e.afii08941=8356,e.afii10017=1040,e.afii10018=1041,e.afii10019=1042,e.afii10020=1043,e.afii10021=1044,e.afii10022=1045,e.afii10023=1025,e.afii10024=1046,e.afii10025=1047,e.afii10026=1048,e.afii10027=1049,e.afii10028=1050,e.afii10029=1051,e.afii10030=1052;e.afii10031=1053,e.afii10032=1054,e.afii10033=1055,e.afii10034=1056,e.afii10035=1057,e.afii10036=1058,e.afii10037=1059,e.afii10038=1060,e.afii10039=1061,e.afii10040=1062,e.afii10041=1063,e.afii10042=1064,e.afii10043=1065,e.afii10044=1066,e.afii10045=1067,e.afii10046=1068,e.afii10047=1069,e.afii10048=1070,e.afii10049=1071,e.afii10050=1168,e.afii10051=1026,e.afii10052=1027,e.afii10053=1028,e.afii10054=1029,e.afii10055=1030,e.afii10056=1031,e.afii10057=1032,e.afii10058=1033,e.afii10059=1034,e.afii10060=1035,e.afii10061=1036,e.afii10062=1038,e.afii10063=63172,e.afii10064=63173,e.afii10065=1072,e.afii10066=1073,e.afii10067=1074,e.afii10068=1075,e.afii10069=1076,e.afii10070=1077,e.afii10071=1105,e.afii10072=1078,e.afii10073=1079,e.afii10074=1080,e.afii10075=1081,e.afii10076=1082,e.afii10077=1083,e.afii10078=1084,e.afii10079=1085,e.afii10080=1086,e.afii10081=1087,e.afii10082=1088,e.afii10083=1089,e.afii10084=1090,e.afii10085=1091,e.afii10086=1092,e.afii10087=1093,e.afii10088=1094,e.afii10089=1095,e.afii10090=1096,e.afii10091=1097,e.afii10092=1098,e.afii10093=1099,e.afii10094=1100,e.afii10095=1101,e.afii10096=1102,e.afii10097=1103,e.afii10098=1169,e.afii10099=1106,e.afii10100=1107,e.afii10101=1108,e.afii10102=1109,e.afii10103=1110,e.afii10104=1111,e.afii10105=1112,e.afii10106=1113,e.afii10107=1114,e.afii10108=1115,e.afii10109=1116,e.afii10110=1118,e.afii10145=1039,e.afii10146=1122,e.afii10147=1138,e.afii10148=1140,e.afii10192=63174,e.afii10193=1119,e.afii10194=1123,e.afii10195=1139,e.afii10196=1141,e.afii10831=63175,e.afii10832=63176,e.afii10846=1241,e.afii299=8206,e.afii300=8207,e.afii301=8205,e.afii57381=1642,e.afii57388=1548,e.afii57392=1632,e.afii57393=1633,e.afii57394=1634,e.afii57395=1635,e.afii57396=1636,e.afii57397=1637,e.afii57398=1638,e.afii57399=1639,e.afii57400=1640,e.afii57401=1641,e.afii57403=1563,e.afii57407=1567,e.afii57409=1569,e.afii57410=1570,e.afii57411=1571,e.afii57412=1572,e.afii57413=1573,e.afii57414=1574,e.afii57415=1575,e.afii57416=1576,e.afii57417=1577,e.afii57418=1578,e.afii57419=1579,e.afii57420=1580,e.afii57421=1581,e.afii57422=1582,e.afii57423=1583,e.afii57424=1584,e.afii57425=1585,e.afii57426=1586,e.afii57427=1587,e.afii57428=1588,e.afii57429=1589,e.afii57430=1590,e.afii57431=1591,e.afii57432=1592,e.afii57433=1593,e.afii57434=1594,e.afii57440=1600,e.afii57441=1601,e.afii57442=1602,e.afii57443=1603,e.afii57444=1604,e.afii57445=1605,e.afii57446=1606,e.afii57448=1608,e.afii57449=1609,e.afii57450=1610,e.afii57451=1611,e.afii57452=1612,e.afii57453=1613,e.afii57454=1614,e.afii57455=1615,e.afii57456=1616,e.afii57457=1617,e.afii57458=1618,e.afii57470=1607,e.afii57505=1700,e.afii57506=1662,e.afii57507=1670,e.afii57508=1688,e.afii57509=1711,e.afii57511=1657,e.afii57512=1672,e.afii57513=1681,e.afii57514=1722,e.afii57519=1746,e.afii57534=1749,e.afii57636=8362,e.afii57645=1470,e.afii57658=1475,e.afii57664=1488,e.afii57665=1489,e.afii57666=1490,e.afii57667=1491,e.afii57668=1492,e.afii57669=1493,e.afii57670=1494,e.afii57671=1495,e.afii57672=1496,e.afii57673=1497,e.afii57674=1498,e.afii57675=1499,e.afii57676=1500,e.afii57677=1501,e.afii57678=1502,e.afii57679=1503,e.afii57680=1504,e.afii57681=1505,e.afii57682=1506,e.afii57683=1507,e.afii57684=1508,e.afii57685=1509,e.afii57686=1510,e.afii57687=1511,e.afii57688=1512,e.afii57689=1513,e.afii57690=1514,e.afii57694=64298,e.afii57695=64299,e.afii57700=64331,e.afii57705=64287,e.afii57716=1520,e.afii57717=1521,e.afii57718=1522,e.afii57723=64309,e.afii57793=1460,e.afii57794=1461,e.afii57795=1462,e.afii57796=1467,e.afii57797=1464,e.afii57798=1463,e.afii57799=1456,e.afii57800=1458,e.afii57801=1457,e.afii57802=1459,e.afii57803=1474,e.afii57804=1473,e.afii57806=1465,e.afii57807=1468,e.afii57839=1469,e.afii57841=1471,e.afii57842=1472,e.afii57929=700,e.afii61248=8453,e.afii61289=8467,e.afii61352=8470,e.afii61573=8236,e.afii61574=8237,e.afii61575=8238,e.afii61664=8204,e.afii63167=1645,e.afii64937=701,e.agrave=224,e.agujarati=2693,e.agurmukhi=2565,e.ahiragana=12354,e.ahookabove=7843,e.aibengali=2448,e.aibopomofo=12574,e.aideva=2320,e.aiecyrillic=1237,e.aigujarati=2704,e.aigurmukhi=2576,e.aimatragurmukhi=2632,e.ainarabic=1593,e.ainfinalarabic=65226,e.aininitialarabic=65227,e.ainmedialarabic=65228,e.ainvertedbreve=515,e.aivowelsignbengali=2504,e.aivowelsigndeva=2376,e.aivowelsigngujarati=2760,e.akatakana=12450,e.akatakanahalfwidth=65393,e.akorean=12623,e.alef=1488,e.alefarabic=1575,e.alefdageshhebrew=64304,e.aleffinalarabic=65166,e.alefhamzaabovearabic=1571,e.alefhamzaabovefinalarabic=65156,e.alefhamzabelowarabic=1573,e.alefhamzabelowfinalarabic=65160,e.alefhebrew=1488,e.aleflamedhebrew=64335,e.alefmaddaabovearabic=1570,e.alefmaddaabovefinalarabic=65154,e.alefmaksuraarabic=1609,e.alefmaksurafinalarabic=65264,e.alefmaksurainitialarabic=65267,e.alefmaksuramedialarabic=65268,e.alefpatahhebrew=64302,e.alefqamatshebrew=64303,e.aleph=8501,e.allequal=8780,e.alpha=945,e.alphatonos=940,e.amacron=257,e.amonospace=65345,e.ampersand=38,e.ampersandmonospace=65286,e.ampersandsmall=63270,e.amsquare=13250,e.anbopomofo=12578,e.angbopomofo=12580,e.angbracketleft=12296,e.angbracketright=12297,e.angkhankhuthai=3674,e.angle=8736,e.anglebracketleft=12296,e.anglebracketleftvertical=65087,e.anglebracketright=12297,e.anglebracketrightvertical=65088,e.angleleft=9001,e.angleright=9002,e.angstrom=8491,e.anoteleia=903,e.anudattadeva=2386,e.anusvarabengali=2434,e.anusvaradeva=2306,e.anusvaragujarati=2690,e.aogonek=261,e.apaatosquare=13056,e.aparen=9372,e.apostrophearmenian=1370,e.apostrophemod=700,e.apple=63743,e.approaches=8784,e.approxequal=8776,e.approxequalorimage=8786,e.approximatelyequal=8773,e.araeaekorean=12686,e.araeakorean=12685,e.arc=8978,e.arighthalfring=7834,e.aring=229,e.aringacute=507,e.aringbelow=7681,e.arrowboth=8596,e.arrowdashdown=8675,e.arrowdashleft=8672,e.arrowdashright=8674,e.arrowdashup=8673,e.arrowdblboth=8660,e.arrowdbldown=8659,e.arrowdblleft=8656,e.arrowdblright=8658,e.arrowdblup=8657,e.arrowdown=8595,e.arrowdownleft=8601,e.arrowdownright=8600,e.arrowdownwhite=8681,e.arrowheaddownmod=709,e.arrowheadleftmod=706,e.arrowheadrightmod=707,e.arrowheadupmod=708,e.arrowhorizex=63719,e.arrowleft=8592,e.arrowleftdbl=8656,e.arrowleftdblstroke=8653,e.arrowleftoverright=8646,e.arrowleftwhite=8678,e.arrowright=8594,e.arrowrightdblstroke=8655,e.arrowrightheavy=10142,e.arrowrightoverleft=8644,e.arrowrightwhite=8680,e.arrowtableft=8676,e.arrowtabright=8677,e.arrowup=8593,e.arrowupdn=8597,e.arrowupdnbse=8616,e.arrowupdownbase=8616,e.arrowupleft=8598,e.arrowupleftofdown=8645,e.arrowupright=8599,e.arrowupwhite=8679,e.arrowvertex=63718,e.asciicircum=94,e.asciicircummonospace=65342,e.asciitilde=126,e.asciitildemonospace=65374,e.ascript=593,e.ascriptturned=594,e.asmallhiragana=12353,e.asmallkatakana=12449,e.asmallkatakanahalfwidth=65383,e.asterisk=42,e.asteriskaltonearabic=1645,e.asteriskarabic=1645,e.asteriskmath=8727,e.asteriskmonospace=65290,e.asterisksmall=65121,e.asterism=8258,e.asuperior=63209,e.asymptoticallyequal=8771,e.at=64,e.atilde=227,e.atmonospace=65312,e.atsmall=65131,e.aturned=592,e.aubengali=2452,e.aubopomofo=12576,e.audeva=2324,e.augujarati=2708,e.augurmukhi=2580,e.aulengthmarkbengali=2519,e.aumatragurmukhi=2636,e.auvowelsignbengali=2508,e.auvowelsigndeva=2380,e.auvowelsigngujarati=2764,e.avagrahadeva=2365,e.aybarmenian=1377,e.ayin=1506,e.ayinaltonehebrew=64288,e.ayinhebrew=1506,e.b=98,e.babengali=2476,e.backslash=92,e.backslashmonospace=65340,e.badeva=2348,e.bagujarati=2732,e.bagurmukhi=2604,e.bahiragana=12400,e.bahtthai=3647,e.bakatakana=12496,e.bar=124,e.barmonospace=65372,e.bbopomofo=12549,e.bcircle=9425,e.bdotaccent=7683,e.bdotbelow=7685,e.beamedsixteenthnotes=9836,e.because=8757,e.becyrillic=1073,e.beharabic=1576,e.behfinalarabic=65168,e.behinitialarabic=65169,e.behiragana=12409,e.behmedialarabic=65170,e.behmeeminitialarabic=64671,e.behmeemisolatedarabic=64520,e.behnoonfinalarabic=64621,e.bekatakana=12505,e.benarmenian=1378,e.bet=1489,e.beta=946,e.betasymbolgreek=976,e.betdagesh=64305,e.betdageshhebrew=64305,e.bethebrew=1489,e.betrafehebrew=64332,e.bhabengali=2477,e.bhadeva=2349,e.bhagujarati=2733,e.bhagurmukhi=2605,e.bhook=595,e.bihiragana=12403,e.bikatakana=12499,e.bilabialclick=664,e.bindigurmukhi=2562,e.birusquare=13105,e.blackcircle=9679,e.blackdiamond=9670,e.blackdownpointingtriangle=9660,e.blackleftpointingpointer=9668,e.blackleftpointingtriangle=9664,e.blacklenticularbracketleft=12304,e.blacklenticularbracketleftvertical=65083,e.blacklenticularbracketright=12305,e.blacklenticularbracketrightvertical=65084,e.blacklowerlefttriangle=9699,e.blacklowerrighttriangle=9698,e.blackrectangle=9644,e.blackrightpointingpointer=9658,e.blackrightpointingtriangle=9654,e.blacksmallsquare=9642,e.blacksmilingface=9787,e.blacksquare=9632,e.blackstar=9733,e.blackupperlefttriangle=9700,e.blackupperrighttriangle=9701,e.blackuppointingsmalltriangle=9652,e.blackuppointingtriangle=9650,e.blank=9251,e.blinebelow=7687,e.block=9608,e.bmonospace=65346,e.bobaimaithai=3610,e.bohiragana=12412,e.bokatakana=12508,e.bparen=9373,e.bqsquare=13251,e.braceex=63732,e.braceleft=123,e.braceleftbt=63731,e.braceleftmid=63730,e.braceleftmonospace=65371,e.braceleftsmall=65115,e.bracelefttp=63729,e.braceleftvertical=65079,e.braceright=125,e.bracerightbt=63742,e.bracerightmid=63741,e.bracerightmonospace=65373,e.bracerightsmall=65116,e.bracerighttp=63740,e.bracerightvertical=65080,e.bracketleft=91,e.bracketleftbt=63728,e.bracketleftex=63727,e.bracketleftmonospace=65339,e.bracketlefttp=63726,e.bracketright=93,e.bracketrightbt=63739,e.bracketrightex=63738,e.bracketrightmonospace=65341,e.bracketrighttp=63737,e.breve=728,e.brevebelowcmb=814,e.brevecmb=774,e.breveinvertedbelowcmb=815,e.breveinvertedcmb=785,e.breveinverteddoublecmb=865,e.bridgebelowcmb=810,e.bridgeinvertedbelowcmb=826,e.brokenbar=166,e.bstroke=384,e.bsuperior=63210,e.btopbar=387,e.buhiragana=12406,e.bukatakana=12502,e.bullet=8226,e.bulletinverse=9688,e.bulletoperator=8729,e.bullseye=9678,e.c=99,e.caarmenian=1390,e.cabengali=2458,e.cacute=263,e.cadeva=2330,e.cagujarati=2714,e.cagurmukhi=2586,e.calsquare=13192,e.candrabindubengali=2433,e.candrabinducmb=784,e.candrabindudeva=2305,e.candrabindugujarati=2689,e.capslock=8682,e.careof=8453,e.caron=711,e.caronbelowcmb=812,e.caroncmb=780,e.carriagereturn=8629,e.cbopomofo=12568,e.ccaron=269,e.ccedilla=231,e.ccedillaacute=7689,e.ccircle=9426,e.ccircumflex=265,e.ccurl=597,e.cdot=267,e.cdotaccent=267,e.cdsquare=13253,e.cedilla=184,e.cedillacmb=807,e.cent=162,e.centigrade=8451,e.centinferior=63199,e.centmonospace=65504,e.centoldstyle=63394,e.centsuperior=63200,e.chaarmenian=1401,e.chabengali=2459,e.chadeva=2331,e.chagujarati=2715,e.chagurmukhi=2587,e.chbopomofo=12564,e.cheabkhasiancyrillic=1213,e.checkmark=10003,e.checyrillic=1095,e.chedescenderabkhasiancyrillic=1215,e.chedescendercyrillic=1207,e.chedieresiscyrillic=1269,e.cheharmenian=1395,e.chekhakassiancyrillic=1228,e.cheverticalstrokecyrillic=1209,e.chi=967,e.chieuchacirclekorean=12919,e.chieuchaparenkorean=12823,e.chieuchcirclekorean=12905,e.chieuchkorean=12618,e.chieuchparenkorean=12809,e.chochangthai=3594,e.chochanthai=3592,e.chochingthai=3593,e.chochoethai=3596,e.chook=392,e.cieucacirclekorean=12918,e.cieucaparenkorean=12822,e.cieuccirclekorean=12904,e.cieuckorean=12616,e.cieucparenkorean=12808,e.cieucuparenkorean=12828,e.circle=9675,e.circlecopyrt=169,e.circlemultiply=8855,e.circleot=8857,e.circleplus=8853,e.circlepostalmark=12342,e.circlewithlefthalfblack=9680,e.circlewithrighthalfblack=9681,e.circumflex=710,e.circumflexbelowcmb=813,e.circumflexcmb=770,e.clear=8999,e.clickalveolar=450,e.clickdental=448,e.clicklateral=449,e.clickretroflex=451,e.club=9827,e.clubsuitblack=9827,e.clubsuitwhite=9831,e.cmcubedsquare=13220,e.cmonospace=65347,e.cmsquaredsquare=13216,e.coarmenian=1409,e.colon=58,e.colonmonetary=8353,e.colonmonospace=65306,e.colonsign=8353,e.colonsmall=65109,e.colontriangularhalfmod=721,e.colontriangularmod=720,e.comma=44,e.commaabovecmb=787,e.commaaboverightcmb=789,e.commaaccent=63171,e.commaarabic=1548,e.commaarmenian=1373,e.commainferior=63201,e.commamonospace=65292,e.commareversedabovecmb=788,e.commareversedmod=701,e.commasmall=65104,e.commasuperior=63202,e.commaturnedabovecmb=786,e.commaturnedmod=699,e.compass=9788,e.congruent=8773,e.contourintegral=8750,e.control=8963,e.controlACK=6,e.controlBEL=7,e.controlBS=8,e.controlCAN=24,e.controlCR=13,e.controlDC1=17,e.controlDC2=18,e.controlDC3=19,e.controlDC4=20,e.controlDEL=127,e.controlDLE=16,e.controlEM=25,e.controlENQ=5,e.controlEOT=4,e.controlESC=27,e.controlETB=23,e.controlETX=3,e.controlFF=12,e.controlFS=28,e.controlGS=29,e.controlHT=9,e.controlLF=10,e.controlNAK=21,e.controlNULL=0,e.controlRS=30,e.controlSI=15,e.controlSO=14,e.controlSOT=2,e.controlSTX=1,e.controlSUB=26,e.controlSYN=22,e.controlUS=31,e.controlVT=11,e.copyright=169,e.copyrightsans=63721,e.copyrightserif=63193,e.cornerbracketleft=12300,e.cornerbracketlefthalfwidth=65378,e.cornerbracketleftvertical=65089,e.cornerbracketright=12301,e.cornerbracketrighthalfwidth=65379,e.cornerbracketrightvertical=65090,e.corporationsquare=13183,e.cosquare=13255,e.coverkgsquare=13254,e.cparen=9374,e.cruzeiro=8354,e.cstretched=663,e.curlyand=8911,e.curlyor=8910,e.currency=164,e.cyrBreve=63185,e.cyrFlex=63186,e.cyrbreve=63188,e.cyrflex=63189,e.d=100,e.daarmenian=1380,e.dabengali=2470,e.dadarabic=1590,e.dadeva=2342,e.dadfinalarabic=65214,e.dadinitialarabic=65215,e.dadmedialarabic=65216,e.dagesh=1468,e.dageshhebrew=1468,e.dagger=8224,e.daggerdbl=8225,e.dagujarati=2726,e.dagurmukhi=2598,e.dahiragana=12384,e.dakatakana=12480,e.dalarabic=1583,e.dalet=1491,e.daletdagesh=64307,e.daletdageshhebrew=64307,e.dalethebrew=1491,e.dalfinalarabic=65194,e.dammaarabic=1615,e.dammalowarabic=1615,e.dammatanaltonearabic=1612,e.dammatanarabic=1612,e.danda=2404,e.dargahebrew=1447,e.dargalefthebrew=1447,e.dasiapneumatacyrilliccmb=1157,e.dblGrave=63187,e.dblanglebracketleft=12298,e.dblanglebracketleftvertical=65085,e.dblanglebracketright=12299,e.dblanglebracketrightvertical=65086,e.dblarchinvertedbelowcmb=811,e.dblarrowleft=8660,e.dblarrowright=8658,e.dbldanda=2405,e.dblgrave=63190,e.dblgravecmb=783,e.dblintegral=8748,e.dbllowline=8215,e.dbllowlinecmb=819,e.dbloverlinecmb=831,e.dblprimemod=698,e.dblverticalbar=8214,e.dblverticallineabovecmb=782,e.dbopomofo=12553,e.dbsquare=13256,e.dcaron=271,e.dcedilla=7697,e.dcircle=9427,e.dcircumflexbelow=7699,e.dcroat=273,e.ddabengali=2465,e.ddadeva=2337,e.ddagujarati=2721,e.ddagurmukhi=2593,e.ddalarabic=1672,e.ddalfinalarabic=64393,e.dddhadeva=2396,e.ddhabengali=2466,e.ddhadeva=2338,e.ddhagujarati=2722,e.ddhagurmukhi=2594,e.ddotaccent=7691,e.ddotbelow=7693,e.decimalseparatorarabic=1643,e.decimalseparatorpersian=1643,e.decyrillic=1076,e.degree=176,e.dehihebrew=1453,e.dehiragana=12391,e.deicoptic=1007,e.dekatakana=12487,e.deleteleft=9003,e.deleteright=8998,e.delta=948,e.deltaturned=397,e.denominatorminusonenumeratorbengali=2552,e.dezh=676,e.dhabengali=2471,e.dhadeva=2343,e.dhagujarati=2727,e.dhagurmukhi=2599,e.dhook=599,e.dialytikatonos=901,e.dialytikatonoscmb=836,e.diamond=9830,e.diamondsuitwhite=9826,e.dieresis=168,e.dieresisacute=63191,e.dieresisbelowcmb=804,e.dieresiscmb=776,e.dieresisgrave=63192,e.dieresistonos=901,e.dihiragana=12386,e.dikatakana=12482,e.dittomark=12291,e.divide=247,e.divides=8739,e.divisionslash=8725,e.djecyrillic=1106,e.dkshade=9619,e.dlinebelow=7695,e.dlsquare=13207,e.dmacron=273,e.dmonospace=65348,e.dnblock=9604,e.dochadathai=3598,e.dodekthai=3604,e.dohiragana=12393,e.dokatakana=12489,e.dollar=36;e.dollarinferior=63203,e.dollarmonospace=65284,e.dollaroldstyle=63268,e.dollarsmall=65129,e.dollarsuperior=63204,e.dong=8363,e.dorusquare=13094,e.dotaccent=729,e.dotaccentcmb=775,e.dotbelowcmb=803,e.dotbelowcomb=803,e.dotkatakana=12539,e.dotlessi=305,e.dotlessj=63166,e.dotlessjstrokehook=644,e.dotmath=8901,e.dottedcircle=9676,e.doubleyodpatah=64287,e.doubleyodpatahhebrew=64287,e.downtackbelowcmb=798,e.downtackmod=725,e.dparen=9375,e.dsuperior=63211,e.dtail=598,e.dtopbar=396,e.duhiragana=12389,e.dukatakana=12485,e.dz=499,e.dzaltone=675,e.dzcaron=454,e.dzcurl=677,e.dzeabkhasiancyrillic=1249,e.dzecyrillic=1109,e.dzhecyrillic=1119,e.e=101,e.eacute=233,e.earth=9793,e.ebengali=2447,e.ebopomofo=12572,e.ebreve=277,e.ecandradeva=2317,e.ecandragujarati=2701,e.ecandravowelsigndeva=2373,e.ecandravowelsigngujarati=2757,e.ecaron=283,e.ecedillabreve=7709,e.echarmenian=1381,e.echyiwnarmenian=1415,e.ecircle=9428,e.ecircumflex=234,e.ecircumflexacute=7871,e.ecircumflexbelow=7705,e.ecircumflexdotbelow=7879,e.ecircumflexgrave=7873,e.ecircumflexhookabove=7875,e.ecircumflextilde=7877,e.ecyrillic=1108,e.edblgrave=517,e.edeva=2319,e.edieresis=235,e.edot=279,e.edotaccent=279,e.edotbelow=7865,e.eegurmukhi=2575,e.eematragurmukhi=2631,e.efcyrillic=1092,e.egrave=232,e.egujarati=2703,e.eharmenian=1383,e.ehbopomofo=12573,e.ehiragana=12360,e.ehookabove=7867,e.eibopomofo=12575,e.eight=56,e.eightarabic=1640,e.eightbengali=2542,e.eightcircle=9319,e.eightcircleinversesansserif=10129,e.eightdeva=2414,e.eighteencircle=9329,e.eighteenparen=9349,e.eighteenperiod=9369,e.eightgujarati=2798,e.eightgurmukhi=2670,e.eighthackarabic=1640,e.eighthangzhou=12328,e.eighthnotebeamed=9835,e.eightideographicparen=12839,e.eightinferior=8328,e.eightmonospace=65304,e.eightoldstyle=63288,e.eightparen=9339,e.eightperiod=9359,e.eightpersian=1784,e.eightroman=8567,e.eightsuperior=8312,e.eightthai=3672,e.einvertedbreve=519,e.eiotifiedcyrillic=1125,e.ekatakana=12456,e.ekatakanahalfwidth=65396,e.ekonkargurmukhi=2676,e.ekorean=12628,e.elcyrillic=1083,e.element=8712,e.elevencircle=9322,e.elevenparen=9342,e.elevenperiod=9362,e.elevenroman=8570,e.ellipsis=8230,e.ellipsisvertical=8942,e.emacron=275,e.emacronacute=7703,e.emacrongrave=7701,e.emcyrillic=1084,e.emdash=8212,e.emdashvertical=65073,e.emonospace=65349,e.emphasismarkarmenian=1371,e.emptyset=8709,e.enbopomofo=12579,e.encyrillic=1085,e.endash=8211,e.endashvertical=65074,e.endescendercyrillic=1187,e.eng=331,e.engbopomofo=12581,e.enghecyrillic=1189,e.enhookcyrillic=1224,e.enspace=8194,e.eogonek=281,e.eokorean=12627,e.eopen=603,e.eopenclosed=666,e.eopenreversed=604,e.eopenreversedclosed=606,e.eopenreversedhook=605,e.eparen=9376,e.epsilon=949,e.epsilontonos=941,e.equal=61,e.equalmonospace=65309,e.equalsmall=65126,e.equalsuperior=8316,e.equivalence=8801,e.erbopomofo=12582,e.ercyrillic=1088,e.ereversed=600,e.ereversedcyrillic=1101,e.escyrillic=1089,e.esdescendercyrillic=1195,e.esh=643,e.eshcurl=646,e.eshortdeva=2318,e.eshortvowelsigndeva=2374,e.eshreversedloop=426,e.eshsquatreversed=645,e.esmallhiragana=12359,e.esmallkatakana=12455,e.esmallkatakanahalfwidth=65386,e.estimated=8494,e.esuperior=63212,e.eta=951,e.etarmenian=1384,e.etatonos=942,e.eth=240,e.etilde=7869,e.etildebelow=7707,e.etnahtafoukhhebrew=1425,e.etnahtafoukhlefthebrew=1425,e.etnahtahebrew=1425,e.etnahtalefthebrew=1425,e.eturned=477,e.eukorean=12641,e.euro=8364,e.evowelsignbengali=2503,e.evowelsigndeva=2375,e.evowelsigngujarati=2759,e.exclam=33,e.exclamarmenian=1372,e.exclamdbl=8252,e.exclamdown=161,e.exclamdownsmall=63393,e.exclammonospace=65281,e.exclamsmall=63265,e.existential=8707,e.ezh=658,e.ezhcaron=495,e.ezhcurl=659,e.ezhreversed=441,e.ezhtail=442,e.f=102,e.fadeva=2398,e.fagurmukhi=2654,e.fahrenheit=8457,e.fathaarabic=1614,e.fathalowarabic=1614,e.fathatanarabic=1611,e.fbopomofo=12552,e.fcircle=9429,e.fdotaccent=7711,e.feharabic=1601,e.feharmenian=1414,e.fehfinalarabic=65234,e.fehinitialarabic=65235,e.fehmedialarabic=65236,e.feicoptic=997,e.female=9792,e.ff=64256,e.f_f=64256,e.ffi=64259,e.f_f_i=64259,e.ffl=64260,e.f_f_l=64260,e.fi=64257,e.f_i=64257,e.fifteencircle=9326,e.fifteenparen=9346,e.fifteenperiod=9366,e.figuredash=8210,e.filledbox=9632,e.filledrect=9644,e.finalkaf=1498,e.finalkafdagesh=64314,e.finalkafdageshhebrew=64314,e.finalkafhebrew=1498,e.finalmem=1501,e.finalmemhebrew=1501,e.finalnun=1503,e.finalnunhebrew=1503,e.finalpe=1507,e.finalpehebrew=1507,e.finaltsadi=1509,e.finaltsadihebrew=1509,e.firsttonechinese=713,e.fisheye=9673,e.fitacyrillic=1139,e.five=53,e.fivearabic=1637,e.fivebengali=2539,e.fivecircle=9316,e.fivecircleinversesansserif=10126,e.fivedeva=2411,e.fiveeighths=8541,e.fivegujarati=2795,e.fivegurmukhi=2667,e.fivehackarabic=1637,e.fivehangzhou=12325,e.fiveideographicparen=12836,e.fiveinferior=8325,e.fivemonospace=65301,e.fiveoldstyle=63285,e.fiveparen=9336,e.fiveperiod=9356,e.fivepersian=1781,e.fiveroman=8564,e.fivesuperior=8309,e.fivethai=3669,e.fl=64258,e.f_l=64258,e.florin=402,e.fmonospace=65350,e.fmsquare=13209,e.fofanthai=3615,e.fofathai=3613,e.fongmanthai=3663,e.forall=8704,e.four=52,e.fourarabic=1636,e.fourbengali=2538,e.fourcircle=9315,e.fourcircleinversesansserif=10125,e.fourdeva=2410,e.fourgujarati=2794,e.fourgurmukhi=2666,e.fourhackarabic=1636,e.fourhangzhou=12324,e.fourideographicparen=12835,e.fourinferior=8324,e.fourmonospace=65300,e.fournumeratorbengali=2551,e.fouroldstyle=63284,e.fourparen=9335,e.fourperiod=9355,e.fourpersian=1780,e.fourroman=8563,e.foursuperior=8308,e.fourteencircle=9325,e.fourteenparen=9345,e.fourteenperiod=9365,e.fourthai=3668,e.fourthtonechinese=715,e.fparen=9377,e.fraction=8260,e.franc=8355,e.g=103,e.gabengali=2455,e.gacute=501,e.gadeva=2327,e.gafarabic=1711,e.gaffinalarabic=64403,e.gafinitialarabic=64404,e.gafmedialarabic=64405,e.gagujarati=2711,e.gagurmukhi=2583,e.gahiragana=12364,e.gakatakana=12460,e.gamma=947,e.gammalatinsmall=611,e.gammasuperior=736,e.gangiacoptic=1003,e.gbopomofo=12557,e.gbreve=287,e.gcaron=487,e.gcedilla=291,e.gcircle=9430,e.gcircumflex=285,e.gcommaaccent=291,e.gdot=289,e.gdotaccent=289,e.gecyrillic=1075,e.gehiragana=12370,e.gekatakana=12466,e.geometricallyequal=8785,e.gereshaccenthebrew=1436,e.gereshhebrew=1523,e.gereshmuqdamhebrew=1437,e.germandbls=223,e.gershayimaccenthebrew=1438,e.gershayimhebrew=1524,e.getamark=12307,e.ghabengali=2456,e.ghadarmenian=1394,e.ghadeva=2328,e.ghagujarati=2712,e.ghagurmukhi=2584,e.ghainarabic=1594,e.ghainfinalarabic=65230,e.ghaininitialarabic=65231,e.ghainmedialarabic=65232,e.ghemiddlehookcyrillic=1173,e.ghestrokecyrillic=1171,e.gheupturncyrillic=1169,e.ghhadeva=2394,e.ghhagurmukhi=2650,e.ghook=608,e.ghzsquare=13203,e.gihiragana=12366,e.gikatakana=12462,e.gimarmenian=1379,e.gimel=1490,e.gimeldagesh=64306,e.gimeldageshhebrew=64306,e.gimelhebrew=1490,e.gjecyrillic=1107,e.glottalinvertedstroke=446,e.glottalstop=660,e.glottalstopinverted=662,e.glottalstopmod=704,e.glottalstopreversed=661,e.glottalstopreversedmod=705,e.glottalstopreversedsuperior=740,e.glottalstopstroke=673,e.glottalstopstrokereversed=674,e.gmacron=7713,e.gmonospace=65351,e.gohiragana=12372,e.gokatakana=12468,e.gparen=9378,e.gpasquare=13228,e.gradient=8711,e.grave=96,e.gravebelowcmb=790,e.gravecmb=768,e.gravecomb=768,e.gravedeva=2387,e.gravelowmod=718,e.gravemonospace=65344,e.gravetonecmb=832,e.greater=62,e.greaterequal=8805,e.greaterequalorless=8923,e.greatermonospace=65310,e.greaterorequivalent=8819,e.greaterorless=8823,e.greateroverequal=8807,e.greatersmall=65125,e.gscript=609,e.gstroke=485,e.guhiragana=12368,e.guillemotleft=171,e.guillemotright=187,e.guilsinglleft=8249,e.guilsinglright=8250,e.gukatakana=12464,e.guramusquare=13080,e.gysquare=13257,e.h=104,e.haabkhasiancyrillic=1193,e.haaltonearabic=1729,e.habengali=2489,e.hadescendercyrillic=1203,e.hadeva=2361,e.hagujarati=2745,e.hagurmukhi=2617,e.haharabic=1581,e.hahfinalarabic=65186,e.hahinitialarabic=65187,e.hahiragana=12399,e.hahmedialarabic=65188,e.haitusquare=13098,e.hakatakana=12495,e.hakatakanahalfwidth=65418,e.halantgurmukhi=2637,e.hamzaarabic=1569,e.hamzalowarabic=1569,e.hangulfiller=12644,e.hardsigncyrillic=1098,e.harpoonleftbarbup=8636,e.harpoonrightbarbup=8640,e.hasquare=13258,e.hatafpatah=1458,e.hatafpatah16=1458,e.hatafpatah23=1458,e.hatafpatah2f=1458,e.hatafpatahhebrew=1458,e.hatafpatahnarrowhebrew=1458,e.hatafpatahquarterhebrew=1458,e.hatafpatahwidehebrew=1458,e.hatafqamats=1459,e.hatafqamats1b=1459,e.hatafqamats28=1459,e.hatafqamats34=1459,e.hatafqamatshebrew=1459,e.hatafqamatsnarrowhebrew=1459,e.hatafqamatsquarterhebrew=1459,e.hatafqamatswidehebrew=1459,e.hatafsegol=1457,e.hatafsegol17=1457,e.hatafsegol24=1457,e.hatafsegol30=1457,e.hatafsegolhebrew=1457,e.hatafsegolnarrowhebrew=1457,e.hatafsegolquarterhebrew=1457,e.hatafsegolwidehebrew=1457,e.hbar=295,e.hbopomofo=12559,e.hbrevebelow=7723,e.hcedilla=7721,e.hcircle=9431,e.hcircumflex=293,e.hdieresis=7719,e.hdotaccent=7715,e.hdotbelow=7717,e.he=1492,e.heart=9829,e.heartsuitblack=9829,e.heartsuitwhite=9825,e.hedagesh=64308,e.hedageshhebrew=64308,e.hehaltonearabic=1729,e.heharabic=1607,e.hehebrew=1492,e.hehfinalaltonearabic=64423,e.hehfinalalttwoarabic=65258,e.hehfinalarabic=65258,e.hehhamzaabovefinalarabic=64421,e.hehhamzaaboveisolatedarabic=64420,e.hehinitialaltonearabic=64424,e.hehinitialarabic=65259,e.hehiragana=12408,e.hehmedialaltonearabic=64425,e.hehmedialarabic=65260,e.heiseierasquare=13179,e.hekatakana=12504,e.hekatakanahalfwidth=65421,e.hekutaarusquare=13110,e.henghook=615,e.herutusquare=13113,e.het=1495,e.hethebrew=1495,e.hhook=614,e.hhooksuperior=689,e.hieuhacirclekorean=12923,e.hieuhaparenkorean=12827,e.hieuhcirclekorean=12909,e.hieuhkorean=12622,e.hieuhparenkorean=12813,e.hihiragana=12402,e.hikatakana=12498,e.hikatakanahalfwidth=65419,e.hiriq=1460,e.hiriq14=1460,e.hiriq21=1460,e.hiriq2d=1460,e.hiriqhebrew=1460,e.hiriqnarrowhebrew=1460,e.hiriqquarterhebrew=1460,e.hiriqwidehebrew=1460,e.hlinebelow=7830,e.hmonospace=65352,e.hoarmenian=1392,e.hohipthai=3627,e.hohiragana=12411,e.hokatakana=12507,e.hokatakanahalfwidth=65422,e.holam=1465,e.holam19=1465,e.holam26=1465,e.holam32=1465,e.holamhebrew=1465,e.holamnarrowhebrew=1465,e.holamquarterhebrew=1465,e.holamwidehebrew=1465,e.honokhukthai=3630,e.hookabovecomb=777,e.hookcmb=777,e.hookpalatalizedbelowcmb=801,e.hookretroflexbelowcmb=802,e.hoonsquare=13122,e.horicoptic=1001,e.horizontalbar=8213,e.horncmb=795,e.hotsprings=9832,e.house=8962,e.hparen=9379,e.hsuperior=688,e.hturned=613,e.huhiragana=12405,e.huiitosquare=13107,e.hukatakana=12501,e.hukatakanahalfwidth=65420,e.hungarumlaut=733,e.hungarumlautcmb=779,e.hv=405,e.hyphen=45,e.hypheninferior=63205,e.hyphenmonospace=65293,e.hyphensmall=65123,e.hyphensuperior=63206,e.hyphentwo=8208,e.i=105,e.iacute=237,e.iacyrillic=1103,e.ibengali=2439,e.ibopomofo=12583,e.ibreve=301,e.icaron=464,e.icircle=9432,e.icircumflex=238,e.icyrillic=1110,e.idblgrave=521,e.ideographearthcircle=12943,e.ideographfirecircle=12939,e.ideographicallianceparen=12863,e.ideographiccallparen=12858,e.ideographiccentrecircle=12965,e.ideographicclose=12294,e.ideographiccomma=12289,e.ideographiccommaleft=65380,e.ideographiccongratulationparen=12855,e.ideographiccorrectcircle=12963,e.ideographicearthparen=12847,e.ideographicenterpriseparen=12861,e.ideographicexcellentcircle=12957,e.ideographicfestivalparen=12864,e.ideographicfinancialcircle=12950,e.ideographicfinancialparen=12854,e.ideographicfireparen=12843,e.ideographichaveparen=12850,e.ideographichighcircle=12964,e.ideographiciterationmark=12293,e.ideographiclaborcircle=12952,e.ideographiclaborparen=12856,e.ideographicleftcircle=12967,e.ideographiclowcircle=12966,e.ideographicmedicinecircle=12969,e.ideographicmetalparen=12846,e.ideographicmoonparen=12842,e.ideographicnameparen=12852,e.ideographicperiod=12290,e.ideographicprintcircle=12958,e.ideographicreachparen=12867,e.ideographicrepresentparen=12857,e.ideographicresourceparen=12862,e.ideographicrightcircle=12968,e.ideographicsecretcircle=12953,e.ideographicselfparen=12866,e.ideographicsocietyparen=12851,e.ideographicspace=12288,e.ideographicspecialparen=12853,e.ideographicstockparen=12849,e.ideographicstudyparen=12859,e.ideographicsunparen=12848,e.ideographicsuperviseparen=12860,e.ideographicwaterparen=12844,e.ideographicwoodparen=12845,e.ideographiczero=12295,e.ideographmetalcircle=12942,e.ideographmooncircle=12938,e.ideographnamecircle=12948,e.ideographsuncircle=12944,e.ideographwatercircle=12940,e.ideographwoodcircle=12941,e.ideva=2311,e.idieresis=239,e.idieresisacute=7727,e.idieresiscyrillic=1253,e.idotbelow=7883,e.iebrevecyrillic=1239,e.iecyrillic=1077,e.ieungacirclekorean=12917,e.ieungaparenkorean=12821,e.ieungcirclekorean=12903,e.ieungkorean=12615,e.ieungparenkorean=12807,e.igrave=236,e.igujarati=2695,e.igurmukhi=2567,e.ihiragana=12356,e.ihookabove=7881,e.iibengali=2440,e.iicyrillic=1080,e.iideva=2312,e.iigujarati=2696,e.iigurmukhi=2568,e.iimatragurmukhi=2624,e.iinvertedbreve=523,e.iishortcyrillic=1081,e.iivowelsignbengali=2496,e.iivowelsigndeva=2368,e.iivowelsigngujarati=2752,e.ij=307,e.ikatakana=12452,e.ikatakanahalfwidth=65394,e.ikorean=12643,e.ilde=732,e.iluyhebrew=1452,e.imacron=299,e.imacroncyrillic=1251,e.imageorapproximatelyequal=8787,e.imatragurmukhi=2623,e.imonospace=65353,e.increment=8710,e.infinity=8734,e.iniarmenian=1387,e.integral=8747,e.integralbottom=8993,e.integralbt=8993,e.integralex=63733,e.integraltop=8992,e.integraltp=8992,e.intersection=8745,e.intisquare=13061,e.invbullet=9688,e.invcircle=9689,e.invsmileface=9787,e.iocyrillic=1105,e.iogonek=303,e.iota=953,e.iotadieresis=970,e.iotadieresistonos=912,e.iotalatin=617,e.iotatonos=943,e.iparen=9380,e.irigurmukhi=2674,e.ismallhiragana=12355,e.ismallkatakana=12451,e.ismallkatakanahalfwidth=65384,e.issharbengali=2554,e.istroke=616,e.isuperior=63213,e.iterationhiragana=12445,e.iterationkatakana=12541,e.itilde=297,e.itildebelow=7725,e.iubopomofo=12585,e.iucyrillic=1102,e.ivowelsignbengali=2495,e.ivowelsigndeva=2367,e.ivowelsigngujarati=2751,e.izhitsacyrillic=1141,e.izhitsadblgravecyrillic=1143,e.j=106,e.jaarmenian=1393,e.jabengali=2460,e.jadeva=2332,e.jagujarati=2716,e.jagurmukhi=2588,e.jbopomofo=12560,e.jcaron=496,e.jcircle=9433,e.jcircumflex=309,e.jcrossedtail=669,e.jdotlessstroke=607,e.jecyrillic=1112,e.jeemarabic=1580,e.jeemfinalarabic=65182,e.jeeminitialarabic=65183,e.jeemmedialarabic=65184,e.jeharabic=1688,e.jehfinalarabic=64395,e.jhabengali=2461,e.jhadeva=2333,e.jhagujarati=2717,e.jhagurmukhi=2589,e.jheharmenian=1403,e.jis=12292,e.jmonospace=65354,e.jparen=9381,e.jsuperior=690,e.k=107,e.kabashkircyrillic=1185,e.kabengali=2453,e.kacute=7729,e.kacyrillic=1082,e.kadescendercyrillic=1179,e.kadeva=2325,e.kaf=1499,e.kafarabic=1603,e.kafdagesh=64315,e.kafdageshhebrew=64315,e.kaffinalarabic=65242,e.kafhebrew=1499,e.kafinitialarabic=65243,e.kafmedialarabic=65244,e.kafrafehebrew=64333,e.kagujarati=2709,e.kagurmukhi=2581,e.kahiragana=12363,e.kahookcyrillic=1220,e.kakatakana=12459,e.kakatakanahalfwidth=65398,e.kappa=954,e.kappasymbolgreek=1008,e.kapyeounmieumkorean=12657,e.kapyeounphieuphkorean=12676,e.kapyeounpieupkorean=12664,e.kapyeounssangpieupkorean=12665,e.karoriisquare=13069,e.kashidaautoarabic=1600,e.kashidaautonosidebearingarabic=1600,e.kasmallkatakana=12533,e.kasquare=13188,e.kasraarabic=1616,e.kasratanarabic=1613,e.kastrokecyrillic=1183,e.katahiraprolongmarkhalfwidth=65392,e.kaverticalstrokecyrillic=1181,e.kbopomofo=12558,e.kcalsquare=13193,e.kcaron=489,e.kcedilla=311,e.kcircle=9434,e.kcommaaccent=311,e.kdotbelow=7731,e.keharmenian=1412,e.kehiragana=12369,e.kekatakana=12465,e.kekatakanahalfwidth=65401,e.kenarmenian=1391,e.kesmallkatakana=12534,e.kgreenlandic=312,e.khabengali=2454,e.khacyrillic=1093,e.khadeva=2326,e.khagujarati=2710,e.khagurmukhi=2582,e.khaharabic=1582,e.khahfinalarabic=65190,e.khahinitialarabic=65191,e.khahmedialarabic=65192,e.kheicoptic=999,e.khhadeva=2393,e.khhagurmukhi=2649,e.khieukhacirclekorean=12920,e.khieukhaparenkorean=12824,e.khieukhcirclekorean=12906,e.khieukhkorean=12619,e.khieukhparenkorean=12810,e.khokhaithai=3586,e.khokhonthai=3589,e.khokhuatthai=3587,e.khokhwaithai=3588,e.khomutthai=3675,e.khook=409,e.khorakhangthai=3590,e.khzsquare=13201,e.kihiragana=12365,e.kikatakana=12461,e.kikatakanahalfwidth=65399,e.kiroguramusquare=13077,e.kiromeetorusquare=13078,e.kirosquare=13076,e.kiyeokacirclekorean=12910,e.kiyeokaparenkorean=12814,e.kiyeokcirclekorean=12896,e.kiyeokkorean=12593,e.kiyeokparenkorean=12800,e.kiyeoksioskorean=12595;e.kjecyrillic=1116,e.klinebelow=7733,e.klsquare=13208,e.kmcubedsquare=13222,e.kmonospace=65355,e.kmsquaredsquare=13218,e.kohiragana=12371,e.kohmsquare=13248,e.kokaithai=3585,e.kokatakana=12467,e.kokatakanahalfwidth=65402,e.kooposquare=13086,e.koppacyrillic=1153,e.koreanstandardsymbol=12927,e.koroniscmb=835,e.kparen=9382,e.kpasquare=13226,e.ksicyrillic=1135,e.ktsquare=13263,e.kturned=670,e.kuhiragana=12367,e.kukatakana=12463,e.kukatakanahalfwidth=65400,e.kvsquare=13240,e.kwsquare=13246,e.l=108,e.labengali=2482,e.lacute=314,e.ladeva=2354,e.lagujarati=2738,e.lagurmukhi=2610,e.lakkhangyaothai=3653,e.lamaleffinalarabic=65276,e.lamalefhamzaabovefinalarabic=65272,e.lamalefhamzaaboveisolatedarabic=65271,e.lamalefhamzabelowfinalarabic=65274,e.lamalefhamzabelowisolatedarabic=65273,e.lamalefisolatedarabic=65275,e.lamalefmaddaabovefinalarabic=65270,e.lamalefmaddaaboveisolatedarabic=65269,e.lamarabic=1604,e.lambda=955,e.lambdastroke=411,e.lamed=1500,e.lameddagesh=64316,e.lameddageshhebrew=64316,e.lamedhebrew=1500,e.lamfinalarabic=65246,e.lamhahinitialarabic=64714,e.laminitialarabic=65247,e.lamjeeminitialarabic=64713,e.lamkhahinitialarabic=64715,e.lamlamhehisolatedarabic=65010,e.lammedialarabic=65248,e.lammeemhahinitialarabic=64904,e.lammeeminitialarabic=64716,e.largecircle=9711,e.lbar=410,e.lbelt=620,e.lbopomofo=12556,e.lcaron=318,e.lcedilla=316,e.lcircle=9435,e.lcircumflexbelow=7741,e.lcommaaccent=316,e.ldot=320,e.ldotaccent=320,e.ldotbelow=7735,e.ldotbelowmacron=7737,e.leftangleabovecmb=794,e.lefttackbelowcmb=792,e.less=60,e.lessequal=8804,e.lessequalorgreater=8922,e.lessmonospace=65308,e.lessorequivalent=8818,e.lessorgreater=8822,e.lessoverequal=8806,e.lesssmall=65124,e.lezh=622,e.lfblock=9612,e.lhookretroflex=621,e.lira=8356,e.liwnarmenian=1388,e.lj=457,e.ljecyrillic=1113,e.ll=63168,e.lladeva=2355,e.llagujarati=2739,e.llinebelow=7739,e.llladeva=2356,e.llvocalicbengali=2529,e.llvocalicdeva=2401,e.llvocalicvowelsignbengali=2531,e.llvocalicvowelsigndeva=2403,e.lmiddletilde=619,e.lmonospace=65356,e.lmsquare=13264,e.lochulathai=3628,e.logicaland=8743,e.logicalnot=172,e.logicalnotreversed=8976,e.logicalor=8744,e.lolingthai=3621,e.longs=383,e.lowlinecenterline=65102,e.lowlinecmb=818,e.lowlinedashed=65101,e.lozenge=9674,e.lparen=9383,e.lslash=322,e.lsquare=8467,e.lsuperior=63214,e.ltshade=9617,e.luthai=3622,e.lvocalicbengali=2444,e.lvocalicdeva=2316,e.lvocalicvowelsignbengali=2530,e.lvocalicvowelsigndeva=2402,e.lxsquare=13267,e.m=109,e.mabengali=2478,e.macron=175,e.macronbelowcmb=817,e.macroncmb=772,e.macronlowmod=717,e.macronmonospace=65507,e.macute=7743,e.madeva=2350,e.magujarati=2734,e.magurmukhi=2606,e.mahapakhhebrew=1444,e.mahapakhlefthebrew=1444,e.mahiragana=12414,e.maichattawalowleftthai=63637,e.maichattawalowrightthai=63636,e.maichattawathai=3659,e.maichattawaupperleftthai=63635,e.maieklowleftthai=63628,e.maieklowrightthai=63627,e.maiekthai=3656,e.maiekupperleftthai=63626,e.maihanakatleftthai=63620,e.maihanakatthai=3633,e.maitaikhuleftthai=63625,e.maitaikhuthai=3655,e.maitholowleftthai=63631,e.maitholowrightthai=63630,e.maithothai=3657,e.maithoupperleftthai=63629,e.maitrilowleftthai=63634,e.maitrilowrightthai=63633,e.maitrithai=3658,e.maitriupperleftthai=63632,e.maiyamokthai=3654,e.makatakana=12510,e.makatakanahalfwidth=65423,e.male=9794,e.mansyonsquare=13127,e.maqafhebrew=1470,e.mars=9794,e.masoracirclehebrew=1455,e.masquare=13187,e.mbopomofo=12551,e.mbsquare=13268,e.mcircle=9436,e.mcubedsquare=13221,e.mdotaccent=7745,e.mdotbelow=7747,e.meemarabic=1605,e.meemfinalarabic=65250,e.meeminitialarabic=65251,e.meemmedialarabic=65252,e.meemmeeminitialarabic=64721,e.meemmeemisolatedarabic=64584,e.meetorusquare=13133,e.mehiragana=12417,e.meizierasquare=13182,e.mekatakana=12513,e.mekatakanahalfwidth=65426,e.mem=1502,e.memdagesh=64318,e.memdageshhebrew=64318,e.memhebrew=1502,e.menarmenian=1396,e.merkhahebrew=1445,e.merkhakefulahebrew=1446,e.merkhakefulalefthebrew=1446,e.merkhalefthebrew=1445,e.mhook=625,e.mhzsquare=13202,e.middledotkatakanahalfwidth=65381,e.middot=183,e.mieumacirclekorean=12914,e.mieumaparenkorean=12818,e.mieumcirclekorean=12900,e.mieumkorean=12609,e.mieumpansioskorean=12656,e.mieumparenkorean=12804,e.mieumpieupkorean=12654,e.mieumsioskorean=12655,e.mihiragana=12415,e.mikatakana=12511,e.mikatakanahalfwidth=65424,e.minus=8722,e.minusbelowcmb=800,e.minuscircle=8854,e.minusmod=727,e.minusplus=8723,e.minute=8242,e.miribaarusquare=13130,e.mirisquare=13129,e.mlonglegturned=624,e.mlsquare=13206,e.mmcubedsquare=13219,e.mmonospace=65357,e.mmsquaredsquare=13215,e.mohiragana=12418,e.mohmsquare=13249,e.mokatakana=12514,e.mokatakanahalfwidth=65427,e.molsquare=13270,e.momathai=3617,e.moverssquare=13223,e.moverssquaredsquare=13224,e.mparen=9384,e.mpasquare=13227,e.mssquare=13235,e.msuperior=63215,e.mturned=623,e.mu=181,e.mu1=181,e.muasquare=13186,e.muchgreater=8811,e.muchless=8810,e.mufsquare=13196,e.mugreek=956,e.mugsquare=13197,e.muhiragana=12416,e.mukatakana=12512,e.mukatakanahalfwidth=65425,e.mulsquare=13205,e.multiply=215,e.mumsquare=13211,e.munahhebrew=1443,e.munahlefthebrew=1443,e.musicalnote=9834,e.musicalnotedbl=9835,e.musicflatsign=9837,e.musicsharpsign=9839,e.mussquare=13234,e.muvsquare=13238,e.muwsquare=13244,e.mvmegasquare=13241,e.mvsquare=13239,e.mwmegasquare=13247,e.mwsquare=13245,e.n=110,e.nabengali=2472,e.nabla=8711,e.nacute=324,e.nadeva=2344,e.nagujarati=2728,e.nagurmukhi=2600,e.nahiragana=12394,e.nakatakana=12490,e.nakatakanahalfwidth=65413,e.napostrophe=329,e.nasquare=13185,e.nbopomofo=12555,e.nbspace=160,e.ncaron=328,e.ncedilla=326,e.ncircle=9437,e.ncircumflexbelow=7755,e.ncommaaccent=326,e.ndotaccent=7749,e.ndotbelow=7751,e.nehiragana=12397,e.nekatakana=12493,e.nekatakanahalfwidth=65416,e.newsheqelsign=8362,e.nfsquare=13195,e.ngabengali=2457,e.ngadeva=2329,e.ngagujarati=2713,e.ngagurmukhi=2585,e.ngonguthai=3591,e.nhiragana=12435,e.nhookleft=626,e.nhookretroflex=627,e.nieunacirclekorean=12911,e.nieunaparenkorean=12815,e.nieuncieuckorean=12597,e.nieuncirclekorean=12897,e.nieunhieuhkorean=12598,e.nieunkorean=12596,e.nieunpansioskorean=12648,e.nieunparenkorean=12801,e.nieunsioskorean=12647,e.nieuntikeutkorean=12646,e.nihiragana=12395,e.nikatakana=12491,e.nikatakanahalfwidth=65414,e.nikhahitleftthai=63641,e.nikhahitthai=3661,e.nine=57,e.ninearabic=1641,e.ninebengali=2543,e.ninecircle=9320,e.ninecircleinversesansserif=10130,e.ninedeva=2415,e.ninegujarati=2799,e.ninegurmukhi=2671,e.ninehackarabic=1641,e.ninehangzhou=12329,e.nineideographicparen=12840,e.nineinferior=8329,e.ninemonospace=65305,e.nineoldstyle=63289,e.nineparen=9340,e.nineperiod=9360,e.ninepersian=1785,e.nineroman=8568,e.ninesuperior=8313,e.nineteencircle=9330,e.nineteenparen=9350,e.nineteenperiod=9370,e.ninethai=3673,e.nj=460,e.njecyrillic=1114,e.nkatakana=12531,e.nkatakanahalfwidth=65437,e.nlegrightlong=414,e.nlinebelow=7753,e.nmonospace=65358,e.nmsquare=13210,e.nnabengali=2467,e.nnadeva=2339,e.nnagujarati=2723,e.nnagurmukhi=2595,e.nnnadeva=2345,e.nohiragana=12398,e.nokatakana=12494,e.nokatakanahalfwidth=65417,e.nonbreakingspace=160,e.nonenthai=3603,e.nonuthai=3609,e.noonarabic=1606,e.noonfinalarabic=65254,e.noonghunnaarabic=1722,e.noonghunnafinalarabic=64415,e.nooninitialarabic=65255,e.noonjeeminitialarabic=64722,e.noonjeemisolatedarabic=64587,e.noonmedialarabic=65256,e.noonmeeminitialarabic=64725,e.noonmeemisolatedarabic=64590,e.noonnoonfinalarabic=64653,e.notcontains=8716,e.notelement=8713,e.notelementof=8713,e.notequal=8800,e.notgreater=8815,e.notgreaternorequal=8817,e.notgreaternorless=8825,e.notidentical=8802,e.notless=8814,e.notlessnorequal=8816,e.notparallel=8742,e.notprecedes=8832,e.notsubset=8836,e.notsucceeds=8833,e.notsuperset=8837,e.nowarmenian=1398,e.nparen=9385,e.nssquare=13233,e.nsuperior=8319,e.ntilde=241,e.nu=957,e.nuhiragana=12396,e.nukatakana=12492,e.nukatakanahalfwidth=65415,e.nuktabengali=2492,e.nuktadeva=2364,e.nuktagujarati=2748,e.nuktagurmukhi=2620,e.numbersign=35,e.numbersignmonospace=65283,e.numbersignsmall=65119,e.numeralsigngreek=884,e.numeralsignlowergreek=885,e.numero=8470,e.nun=1504,e.nundagesh=64320,e.nundageshhebrew=64320,e.nunhebrew=1504,e.nvsquare=13237,e.nwsquare=13243,e.nyabengali=2462,e.nyadeva=2334,e.nyagujarati=2718,e.nyagurmukhi=2590,e.o=111,e.oacute=243,e.oangthai=3629,e.obarred=629,e.obarredcyrillic=1257,e.obarreddieresiscyrillic=1259,e.obengali=2451,e.obopomofo=12571,e.obreve=335,e.ocandradeva=2321,e.ocandragujarati=2705,e.ocandravowelsigndeva=2377,e.ocandravowelsigngujarati=2761,e.ocaron=466,e.ocircle=9438,e.ocircumflex=244,e.ocircumflexacute=7889,e.ocircumflexdotbelow=7897,e.ocircumflexgrave=7891,e.ocircumflexhookabove=7893,e.ocircumflextilde=7895,e.ocyrillic=1086,e.odblacute=337,e.odblgrave=525,e.odeva=2323,e.odieresis=246,e.odieresiscyrillic=1255,e.odotbelow=7885,e.oe=339,e.oekorean=12634,e.ogonek=731,e.ogonekcmb=808,e.ograve=242,e.ogujarati=2707,e.oharmenian=1413,e.ohiragana=12362,e.ohookabove=7887,e.ohorn=417,e.ohornacute=7899,e.ohorndotbelow=7907,e.ohorngrave=7901,e.ohornhookabove=7903,e.ohorntilde=7905,e.ohungarumlaut=337,e.oi=419,e.oinvertedbreve=527,e.okatakana=12458,e.okatakanahalfwidth=65397,e.okorean=12631,e.olehebrew=1451,e.omacron=333,e.omacronacute=7763,e.omacrongrave=7761,e.omdeva=2384,e.omega=969,e.omega1=982,e.omegacyrillic=1121,e.omegalatinclosed=631,e.omegaroundcyrillic=1147,e.omegatitlocyrillic=1149,e.omegatonos=974,e.omgujarati=2768,e.omicron=959,e.omicrontonos=972,e.omonospace=65359,e.one=49,e.onearabic=1633,e.onebengali=2535,e.onecircle=9312,e.onecircleinversesansserif=10122,e.onedeva=2407,e.onedotenleader=8228,e.oneeighth=8539,e.onefitted=63196,e.onegujarati=2791,e.onegurmukhi=2663,e.onehackarabic=1633,e.onehalf=189,e.onehangzhou=12321,e.oneideographicparen=12832,e.oneinferior=8321,e.onemonospace=65297,e.onenumeratorbengali=2548,e.oneoldstyle=63281,e.oneparen=9332,e.oneperiod=9352,e.onepersian=1777,e.onequarter=188,e.oneroman=8560,e.onesuperior=185,e.onethai=3665,e.onethird=8531,e.oogonek=491,e.oogonekmacron=493,e.oogurmukhi=2579,e.oomatragurmukhi=2635,e.oopen=596,e.oparen=9386,e.openbullet=9702,e.option=8997,e.ordfeminine=170,e.ordmasculine=186,e.orthogonal=8735,e.oshortdeva=2322,e.oshortvowelsigndeva=2378,e.oslash=248,e.oslashacute=511,e.osmallhiragana=12361,e.osmallkatakana=12457,e.osmallkatakanahalfwidth=65387,e.ostrokeacute=511,e.osuperior=63216,e.otcyrillic=1151,e.otilde=245,e.otildeacute=7757,e.otildedieresis=7759,e.oubopomofo=12577,e.overline=8254,e.overlinecenterline=65098,e.overlinecmb=773,e.overlinedashed=65097,e.overlinedblwavy=65100,e.overlinewavy=65099,e.overscore=175,e.ovowelsignbengali=2507,e.ovowelsigndeva=2379,e.ovowelsigngujarati=2763,e.p=112,e.paampssquare=13184,e.paasentosquare=13099,e.pabengali=2474,e.pacute=7765,e.padeva=2346,e.pagedown=8671,e.pageup=8670,e.pagujarati=2730,e.pagurmukhi=2602,e.pahiragana=12401,e.paiyannoithai=3631,e.pakatakana=12497,e.palatalizationcyrilliccmb=1156,e.palochkacyrillic=1216,e.pansioskorean=12671,e.paragraph=182,e.parallel=8741,e.parenleft=40,e.parenleftaltonearabic=64830,e.parenleftbt=63725,e.parenleftex=63724,e.parenleftinferior=8333,e.parenleftmonospace=65288,e.parenleftsmall=65113,e.parenleftsuperior=8317,e.parenlefttp=63723,e.parenleftvertical=65077,e.parenright=41,e.parenrightaltonearabic=64831,e.parenrightbt=63736,e.parenrightex=63735,e.parenrightinferior=8334,e.parenrightmonospace=65289,e.parenrightsmall=65114,e.parenrightsuperior=8318,e.parenrighttp=63734,e.parenrightvertical=65078,e.partialdiff=8706,e.paseqhebrew=1472,e.pashtahebrew=1433,e.pasquare=13225,e.patah=1463,e.patah11=1463,e.patah1d=1463,e.patah2a=1463,e.patahhebrew=1463,e.patahnarrowhebrew=1463,e.patahquarterhebrew=1463,e.patahwidehebrew=1463,e.pazerhebrew=1441,e.pbopomofo=12550,e.pcircle=9439,e.pdotaccent=7767,e.pe=1508,e.pecyrillic=1087,e.pedagesh=64324,e.pedageshhebrew=64324,e.peezisquare=13115,e.pefinaldageshhebrew=64323,e.peharabic=1662,e.peharmenian=1402,e.pehebrew=1508,e.pehfinalarabic=64343,e.pehinitialarabic=64344,e.pehiragana=12410,e.pehmedialarabic=64345,e.pekatakana=12506,e.pemiddlehookcyrillic=1191,e.perafehebrew=64334,e.percent=37,e.percentarabic=1642,e.percentmonospace=65285,e.percentsmall=65130,e.period=46,e.periodarmenian=1417,e.periodcentered=183,e.periodhalfwidth=65377,e.periodinferior=63207,e.periodmonospace=65294,e.periodsmall=65106,e.periodsuperior=63208,e.perispomenigreekcmb=834,e.perpendicular=8869,e.perthousand=8240,e.peseta=8359,e.pfsquare=13194,e.phabengali=2475,e.phadeva=2347,e.phagujarati=2731,e.phagurmukhi=2603,e.phi=966,e.phi1=981,e.phieuphacirclekorean=12922,e.phieuphaparenkorean=12826,e.phieuphcirclekorean=12908,e.phieuphkorean=12621,e.phieuphparenkorean=12812,e.philatin=632,e.phinthuthai=3642,e.phisymbolgreek=981,e.phook=421,e.phophanthai=3614,e.phophungthai=3612,e.phosamphaothai=3616,e.pi=960,e.pieupacirclekorean=12915,e.pieupaparenkorean=12819,e.pieupcieuckorean=12662,e.pieupcirclekorean=12901,e.pieupkiyeokkorean=12658,e.pieupkorean=12610,e.pieupparenkorean=12805,e.pieupsioskiyeokkorean=12660,e.pieupsioskorean=12612,e.pieupsiostikeutkorean=12661,e.pieupthieuthkorean=12663,e.pieuptikeutkorean=12659,e.pihiragana=12404,e.pikatakana=12500,e.pisymbolgreek=982,e.piwrarmenian=1411,e.planckover2pi=8463,e.planckover2pi1=8463,e.plus=43,e.plusbelowcmb=799,e.pluscircle=8853,e.plusminus=177,e.plusmod=726,e.plusmonospace=65291,e.plussmall=65122,e.plussuperior=8314,e.pmonospace=65360,e.pmsquare=13272,e.pohiragana=12413,e.pointingindexdownwhite=9759,e.pointingindexleftwhite=9756,e.pointingindexrightwhite=9758,e.pointingindexupwhite=9757,e.pokatakana=12509,e.poplathai=3611,e.postalmark=12306,e.postalmarkface=12320,e.pparen=9387,e.precedes=8826,e.prescription=8478,e.primemod=697,e.primereversed=8245,e.product=8719,e.projective=8965,e.prolongedkana=12540,e.propellor=8984,e.propersubset=8834,e.propersuperset=8835,e.proportion=8759,e.proportional=8733,e.psi=968,e.psicyrillic=1137,e.psilipneumatacyrilliccmb=1158,e.pssquare=13232,e.puhiragana=12407,e.pukatakana=12503,e.pvsquare=13236,e.pwsquare=13242,e.q=113,e.qadeva=2392,e.qadmahebrew=1448,e.qafarabic=1602,e.qaffinalarabic=65238,e.qafinitialarabic=65239,e.qafmedialarabic=65240,e.qamats=1464,e.qamats10=1464,e.qamats1a=1464,e.qamats1c=1464,e.qamats27=1464,e.qamats29=1464,e.qamats33=1464,e.qamatsde=1464,e.qamatshebrew=1464,e.qamatsnarrowhebrew=1464,e.qamatsqatanhebrew=1464,e.qamatsqatannarrowhebrew=1464,e.qamatsqatanquarterhebrew=1464,e.qamatsqatanwidehebrew=1464,e.qamatsquarterhebrew=1464,e.qamatswidehebrew=1464,e.qarneyparahebrew=1439,e.qbopomofo=12561,e.qcircle=9440,e.qhook=672,e.qmonospace=65361,e.qof=1511,e.qofdagesh=64327,e.qofdageshhebrew=64327,e.qofhebrew=1511,e.qparen=9388,e.quarternote=9833,e.qubuts=1467,e.qubuts18=1467,e.qubuts25=1467,e.qubuts31=1467,e.qubutshebrew=1467,e.qubutsnarrowhebrew=1467,e.qubutsquarterhebrew=1467,e.qubutswidehebrew=1467,e.question=63,e.questionarabic=1567,e.questionarmenian=1374,e.questiondown=191,e.questiondownsmall=63423,e.questiongreek=894,e.questionmonospace=65311,e.questionsmall=63295,e.quotedbl=34,e.quotedblbase=8222,e.quotedblleft=8220,e.quotedblmonospace=65282,e.quotedblprime=12318,e.quotedblprimereversed=12317,e.quotedblright=8221,e.quoteleft=8216,e.quoteleftreversed=8219,e.quotereversed=8219,e.quoteright=8217,e.quoterightn=329,e.quotesinglbase=8218,e.quotesingle=39,e.quotesinglemonospace=65287,e.r=114,e.raarmenian=1404,e.rabengali=2480,e.racute=341,e.radeva=2352,e.radical=8730,e.radicalex=63717,e.radoverssquare=13230,e.radoverssquaredsquare=13231,e.radsquare=13229,e.rafe=1471,e.rafehebrew=1471,e.ragujarati=2736,e.ragurmukhi=2608,e.rahiragana=12425,e.rakatakana=12521,e.rakatakanahalfwidth=65431,e.ralowerdiagonalbengali=2545,e.ramiddlediagonalbengali=2544,e.ramshorn=612,e.ratio=8758,e.rbopomofo=12566,e.rcaron=345,e.rcedilla=343,e.rcircle=9441,e.rcommaaccent=343,e.rdblgrave=529,e.rdotaccent=7769,e.rdotbelow=7771,e.rdotbelowmacron=7773,e.referencemark=8251,e.reflexsubset=8838,e.reflexsuperset=8839,e.registered=174,e.registersans=63720,e.registerserif=63194,e.reharabic=1585,e.reharmenian=1408,e.rehfinalarabic=65198,e.rehiragana=12428,e.rekatakana=12524;e.rekatakanahalfwidth=65434,e.resh=1512,e.reshdageshhebrew=64328,e.reshhebrew=1512,e.reversedtilde=8765,e.reviahebrew=1431,e.reviamugrashhebrew=1431,e.revlogicalnot=8976,e.rfishhook=638,e.rfishhookreversed=639,e.rhabengali=2525,e.rhadeva=2397,e.rho=961,e.rhook=637,e.rhookturned=635,e.rhookturnedsuperior=693,e.rhosymbolgreek=1009,e.rhotichookmod=734,e.rieulacirclekorean=12913,e.rieulaparenkorean=12817,e.rieulcirclekorean=12899,e.rieulhieuhkorean=12608,e.rieulkiyeokkorean=12602,e.rieulkiyeoksioskorean=12649,e.rieulkorean=12601,e.rieulmieumkorean=12603,e.rieulpansioskorean=12652,e.rieulparenkorean=12803,e.rieulphieuphkorean=12607,e.rieulpieupkorean=12604,e.rieulpieupsioskorean=12651,e.rieulsioskorean=12605,e.rieulthieuthkorean=12606,e.rieultikeutkorean=12650,e.rieulyeorinhieuhkorean=12653,e.rightangle=8735,e.righttackbelowcmb=793,e.righttriangle=8895,e.rihiragana=12426,e.rikatakana=12522,e.rikatakanahalfwidth=65432,e.ring=730,e.ringbelowcmb=805,e.ringcmb=778,e.ringhalfleft=703,e.ringhalfleftarmenian=1369,e.ringhalfleftbelowcmb=796,e.ringhalfleftcentered=723,e.ringhalfright=702,e.ringhalfrightbelowcmb=825,e.ringhalfrightcentered=722,e.rinvertedbreve=531,e.rittorusquare=13137,e.rlinebelow=7775,e.rlongleg=636,e.rlonglegturned=634,e.rmonospace=65362,e.rohiragana=12429,e.rokatakana=12525,e.rokatakanahalfwidth=65435,e.roruathai=3619,e.rparen=9389,e.rrabengali=2524,e.rradeva=2353,e.rragurmukhi=2652,e.rreharabic=1681,e.rrehfinalarabic=64397,e.rrvocalicbengali=2528,e.rrvocalicdeva=2400,e.rrvocalicgujarati=2784,e.rrvocalicvowelsignbengali=2500,e.rrvocalicvowelsigndeva=2372,e.rrvocalicvowelsigngujarati=2756,e.rsuperior=63217,e.rtblock=9616,e.rturned=633,e.rturnedsuperior=692,e.ruhiragana=12427,e.rukatakana=12523,e.rukatakanahalfwidth=65433,e.rupeemarkbengali=2546,e.rupeesignbengali=2547,e.rupiah=63197,e.ruthai=3620,e.rvocalicbengali=2443,e.rvocalicdeva=2315,e.rvocalicgujarati=2699,e.rvocalicvowelsignbengali=2499,e.rvocalicvowelsigndeva=2371,e.rvocalicvowelsigngujarati=2755,e.s=115,e.sabengali=2488,e.sacute=347,e.sacutedotaccent=7781,e.sadarabic=1589,e.sadeva=2360,e.sadfinalarabic=65210,e.sadinitialarabic=65211,e.sadmedialarabic=65212,e.sagujarati=2744,e.sagurmukhi=2616,e.sahiragana=12373,e.sakatakana=12469,e.sakatakanahalfwidth=65403,e.sallallahoualayhewasallamarabic=65018,e.samekh=1505,e.samekhdagesh=64321,e.samekhdageshhebrew=64321,e.samekhhebrew=1505,e.saraaathai=3634,e.saraaethai=3649,e.saraaimaimalaithai=3652,e.saraaimaimuanthai=3651,e.saraamthai=3635,e.saraathai=3632,e.saraethai=3648,e.saraiileftthai=63622,e.saraiithai=3637,e.saraileftthai=63621,e.saraithai=3636,e.saraothai=3650,e.saraueeleftthai=63624,e.saraueethai=3639,e.saraueleftthai=63623,e.sarauethai=3638,e.sarauthai=3640,e.sarauuthai=3641,e.sbopomofo=12569,e.scaron=353,e.scarondotaccent=7783,e.scedilla=351,e.schwa=601,e.schwacyrillic=1241,e.schwadieresiscyrillic=1243,e.schwahook=602,e.scircle=9442,e.scircumflex=349,e.scommaaccent=537,e.sdotaccent=7777,e.sdotbelow=7779,e.sdotbelowdotaccent=7785,e.seagullbelowcmb=828,e.second=8243,e.secondtonechinese=714,e.section=167,e.seenarabic=1587,e.seenfinalarabic=65202,e.seeninitialarabic=65203,e.seenmedialarabic=65204,e.segol=1462,e.segol13=1462,e.segol1f=1462,e.segol2c=1462,e.segolhebrew=1462,e.segolnarrowhebrew=1462,e.segolquarterhebrew=1462,e.segoltahebrew=1426,e.segolwidehebrew=1462,e.seharmenian=1405,e.sehiragana=12379,e.sekatakana=12475,e.sekatakanahalfwidth=65406,e.semicolon=59,e.semicolonarabic=1563,e.semicolonmonospace=65307,e.semicolonsmall=65108,e.semivoicedmarkkana=12444,e.semivoicedmarkkanahalfwidth=65439,e.sentisquare=13090,e.sentosquare=13091,e.seven=55,e.sevenarabic=1639,e.sevenbengali=2541,e.sevencircle=9318,e.sevencircleinversesansserif=10128,e.sevendeva=2413,e.seveneighths=8542,e.sevengujarati=2797,e.sevengurmukhi=2669,e.sevenhackarabic=1639,e.sevenhangzhou=12327,e.sevenideographicparen=12838,e.seveninferior=8327,e.sevenmonospace=65303,e.sevenoldstyle=63287,e.sevenparen=9338,e.sevenperiod=9358,e.sevenpersian=1783,e.sevenroman=8566,e.sevensuperior=8311,e.seventeencircle=9328,e.seventeenparen=9348,e.seventeenperiod=9368,e.seventhai=3671,e.sfthyphen=173,e.shaarmenian=1399,e.shabengali=2486,e.shacyrillic=1096,e.shaddaarabic=1617,e.shaddadammaarabic=64609,e.shaddadammatanarabic=64606,e.shaddafathaarabic=64608,e.shaddakasraarabic=64610,e.shaddakasratanarabic=64607,e.shade=9618,e.shadedark=9619,e.shadelight=9617,e.shademedium=9618,e.shadeva=2358,e.shagujarati=2742,e.shagurmukhi=2614,e.shalshelethebrew=1427,e.shbopomofo=12565,e.shchacyrillic=1097,e.sheenarabic=1588,e.sheenfinalarabic=65206,e.sheeninitialarabic=65207,e.sheenmedialarabic=65208,e.sheicoptic=995,e.sheqel=8362,e.sheqelhebrew=8362,e.sheva=1456,e.sheva115=1456,e.sheva15=1456,e.sheva22=1456,e.sheva2e=1456,e.shevahebrew=1456,e.shevanarrowhebrew=1456,e.shevaquarterhebrew=1456,e.shevawidehebrew=1456,e.shhacyrillic=1211,e.shimacoptic=1005,e.shin=1513,e.shindagesh=64329,e.shindageshhebrew=64329,e.shindageshshindot=64300,e.shindageshshindothebrew=64300,e.shindageshsindot=64301,e.shindageshsindothebrew=64301,e.shindothebrew=1473,e.shinhebrew=1513,e.shinshindot=64298,e.shinshindothebrew=64298,e.shinsindot=64299,e.shinsindothebrew=64299,e.shook=642,e.sigma=963,e.sigma1=962,e.sigmafinal=962,e.sigmalunatesymbolgreek=1010,e.sihiragana=12375,e.sikatakana=12471,e.sikatakanahalfwidth=65404,e.siluqhebrew=1469,e.siluqlefthebrew=1469,e.similar=8764,e.sindothebrew=1474,e.siosacirclekorean=12916,e.siosaparenkorean=12820,e.sioscieuckorean=12670,e.sioscirclekorean=12902,e.sioskiyeokkorean=12666,e.sioskorean=12613,e.siosnieunkorean=12667,e.siosparenkorean=12806,e.siospieupkorean=12669,e.siostikeutkorean=12668,e.six=54,e.sixarabic=1638,e.sixbengali=2540,e.sixcircle=9317,e.sixcircleinversesansserif=10127,e.sixdeva=2412,e.sixgujarati=2796,e.sixgurmukhi=2668,e.sixhackarabic=1638,e.sixhangzhou=12326,e.sixideographicparen=12837,e.sixinferior=8326,e.sixmonospace=65302,e.sixoldstyle=63286,e.sixparen=9337,e.sixperiod=9357,e.sixpersian=1782,e.sixroman=8565,e.sixsuperior=8310,e.sixteencircle=9327,e.sixteencurrencydenominatorbengali=2553,e.sixteenparen=9347,e.sixteenperiod=9367,e.sixthai=3670,e.slash=47,e.slashmonospace=65295,e.slong=383,e.slongdotaccent=7835,e.smileface=9786,e.smonospace=65363,e.sofpasuqhebrew=1475,e.softhyphen=173,e.softsigncyrillic=1100,e.sohiragana=12381,e.sokatakana=12477,e.sokatakanahalfwidth=65407,e.soliduslongoverlaycmb=824,e.solidusshortoverlaycmb=823,e.sorusithai=3625,e.sosalathai=3624,e.sosothai=3595,e.sosuathai=3626,e.space=32,e.spacehackarabic=32,e.spade=9824,e.spadesuitblack=9824,e.spadesuitwhite=9828,e.sparen=9390,e.squarebelowcmb=827,e.squarecc=13252,e.squarecm=13213,e.squarediagonalcrosshatchfill=9641,e.squarehorizontalfill=9636,e.squarekg=13199,e.squarekm=13214,e.squarekmcapital=13262,e.squareln=13265,e.squarelog=13266,e.squaremg=13198,e.squaremil=13269,e.squaremm=13212,e.squaremsquared=13217,e.squareorthogonalcrosshatchfill=9638,e.squareupperlefttolowerrightfill=9639,e.squareupperrighttolowerleftfill=9640,e.squareverticalfill=9637,e.squarewhitewithsmallblack=9635,e.srsquare=13275,e.ssabengali=2487,e.ssadeva=2359,e.ssagujarati=2743,e.ssangcieuckorean=12617,e.ssanghieuhkorean=12677,e.ssangieungkorean=12672,e.ssangkiyeokkorean=12594,e.ssangnieunkorean=12645,e.ssangpieupkorean=12611,e.ssangsioskorean=12614,e.ssangtikeutkorean=12600,e.ssuperior=63218,e.sterling=163,e.sterlingmonospace=65505,e.strokelongoverlaycmb=822,e.strokeshortoverlaycmb=821,e.subset=8834,e.subsetnotequal=8842,e.subsetorequal=8838,e.succeeds=8827,e.suchthat=8715,e.suhiragana=12377,e.sukatakana=12473,e.sukatakanahalfwidth=65405,e.sukunarabic=1618,e.summation=8721,e.sun=9788,e.superset=8835,e.supersetnotequal=8843,e.supersetorequal=8839,e.svsquare=13276,e.syouwaerasquare=13180,e.t=116,e.tabengali=2468,e.tackdown=8868,e.tackleft=8867,e.tadeva=2340,e.tagujarati=2724,e.tagurmukhi=2596,e.taharabic=1591,e.tahfinalarabic=65218,e.tahinitialarabic=65219,e.tahiragana=12383,e.tahmedialarabic=65220,e.taisyouerasquare=13181,e.takatakana=12479,e.takatakanahalfwidth=65408,e.tatweelarabic=1600,e.tau=964,e.tav=1514,e.tavdages=64330,e.tavdagesh=64330,e.tavdageshhebrew=64330,e.tavhebrew=1514,e.tbar=359,e.tbopomofo=12554,e.tcaron=357,e.tccurl=680,e.tcedilla=355,e.tcheharabic=1670,e.tchehfinalarabic=64379,e.tchehinitialarabic=64380,e.tchehmedialarabic=64381,e.tcircle=9443,e.tcircumflexbelow=7793,e.tcommaaccent=355,e.tdieresis=7831,e.tdotaccent=7787,e.tdotbelow=7789,e.tecyrillic=1090,e.tedescendercyrillic=1197,e.teharabic=1578,e.tehfinalarabic=65174,e.tehhahinitialarabic=64674,e.tehhahisolatedarabic=64524,e.tehinitialarabic=65175,e.tehiragana=12390,e.tehjeeminitialarabic=64673,e.tehjeemisolatedarabic=64523,e.tehmarbutaarabic=1577,e.tehmarbutafinalarabic=65172,e.tehmedialarabic=65176,e.tehmeeminitialarabic=64676,e.tehmeemisolatedarabic=64526,e.tehnoonfinalarabic=64627,e.tekatakana=12486,e.tekatakanahalfwidth=65411,e.telephone=8481,e.telephoneblack=9742,e.telishagedolahebrew=1440,e.telishaqetanahebrew=1449,e.tencircle=9321,e.tenideographicparen=12841,e.tenparen=9341,e.tenperiod=9361,e.tenroman=8569,e.tesh=679,e.tet=1496,e.tetdagesh=64312,e.tetdageshhebrew=64312,e.tethebrew=1496,e.tetsecyrillic=1205,e.tevirhebrew=1435,e.tevirlefthebrew=1435,e.thabengali=2469,e.thadeva=2341,e.thagujarati=2725,e.thagurmukhi=2597,e.thalarabic=1584,e.thalfinalarabic=65196,e.thanthakhatlowleftthai=63640,e.thanthakhatlowrightthai=63639,e.thanthakhatthai=3660,e.thanthakhatupperleftthai=63638,e.theharabic=1579,e.thehfinalarabic=65178,e.thehinitialarabic=65179,e.thehmedialarabic=65180,e.thereexists=8707,e.therefore=8756,e.theta=952,e.theta1=977,e.thetasymbolgreek=977,e.thieuthacirclekorean=12921,e.thieuthaparenkorean=12825,e.thieuthcirclekorean=12907,e.thieuthkorean=12620,e.thieuthparenkorean=12811,e.thirteencircle=9324,e.thirteenparen=9344,e.thirteenperiod=9364,e.thonangmonthothai=3601,e.thook=429,e.thophuthaothai=3602,e.thorn=254,e.thothahanthai=3607,e.thothanthai=3600,e.thothongthai=3608,e.thothungthai=3606,e.thousandcyrillic=1154,e.thousandsseparatorarabic=1644,e.thousandsseparatorpersian=1644,e.three=51,e.threearabic=1635,e.threebengali=2537,e.threecircle=9314,e.threecircleinversesansserif=10124,e.threedeva=2409,e.threeeighths=8540,e.threegujarati=2793,e.threegurmukhi=2665,e.threehackarabic=1635,e.threehangzhou=12323,e.threeideographicparen=12834,e.threeinferior=8323,e.threemonospace=65299,e.threenumeratorbengali=2550,e.threeoldstyle=63283,e.threeparen=9334,e.threeperiod=9354,e.threepersian=1779,e.threequarters=190,e.threequartersemdash=63198,e.threeroman=8562,e.threesuperior=179,e.threethai=3667,e.thzsquare=13204,e.tihiragana=12385,e.tikatakana=12481,e.tikatakanahalfwidth=65409,e.tikeutacirclekorean=12912,e.tikeutaparenkorean=12816,e.tikeutcirclekorean=12898,e.tikeutkorean=12599,e.tikeutparenkorean=12802,e.tilde=732,e.tildebelowcmb=816,e.tildecmb=771,e.tildecomb=771,e.tildedoublecmb=864,e.tildeoperator=8764,e.tildeoverlaycmb=820,e.tildeverticalcmb=830,e.timescircle=8855,e.tipehahebrew=1430,e.tipehalefthebrew=1430,e.tippigurmukhi=2672,e.titlocyrilliccmb=1155,e.tiwnarmenian=1407,e.tlinebelow=7791,e.tmonospace=65364,e.toarmenian=1385,e.tohiragana=12392,e.tokatakana=12488,e.tokatakanahalfwidth=65412,e.tonebarextrahighmod=741,e.tonebarextralowmod=745,e.tonebarhighmod=742,e.tonebarlowmod=744,e.tonebarmidmod=743,e.tonefive=445,e.tonesix=389,e.tonetwo=424,e.tonos=900,e.tonsquare=13095,e.topatakthai=3599,e.tortoiseshellbracketleft=12308,e.tortoiseshellbracketleftsmall=65117,e.tortoiseshellbracketleftvertical=65081,e.tortoiseshellbracketright=12309,e.tortoiseshellbracketrightsmall=65118,e.tortoiseshellbracketrightvertical=65082,e.totaothai=3605,e.tpalatalhook=427,e.tparen=9391,e.trademark=8482,e.trademarksans=63722,e.trademarkserif=63195,e.tretroflexhook=648,e.triagdn=9660,e.triaglf=9668,e.triagrt=9658,e.triagup=9650,e.ts=678,e.tsadi=1510,e.tsadidagesh=64326,e.tsadidageshhebrew=64326,e.tsadihebrew=1510,e.tsecyrillic=1094,e.tsere=1461,e.tsere12=1461,e.tsere1e=1461,e.tsere2b=1461,e.tserehebrew=1461,e.tserenarrowhebrew=1461,e.tserequarterhebrew=1461,e.tserewidehebrew=1461,e.tshecyrillic=1115,e.tsuperior=63219,e.ttabengali=2463,e.ttadeva=2335,e.ttagujarati=2719,e.ttagurmukhi=2591,e.tteharabic=1657,e.ttehfinalarabic=64359,e.ttehinitialarabic=64360,e.ttehmedialarabic=64361,e.tthabengali=2464,e.tthadeva=2336,e.tthagujarati=2720,e.tthagurmukhi=2592,e.tturned=647,e.tuhiragana=12388,e.tukatakana=12484,e.tukatakanahalfwidth=65410,e.tusmallhiragana=12387,e.tusmallkatakana=12483,e.tusmallkatakanahalfwidth=65391,e.twelvecircle=9323,e.twelveparen=9343,e.twelveperiod=9363,e.twelveroman=8571,e.twentycircle=9331,e.twentyhangzhou=21316,e.twentyparen=9351,e.twentyperiod=9371,e.two=50,e.twoarabic=1634,e.twobengali=2536,e.twocircle=9313,e.twocircleinversesansserif=10123,e.twodeva=2408,e.twodotenleader=8229,e.twodotleader=8229,e.twodotleadervertical=65072,e.twogujarati=2792,e.twogurmukhi=2664,e.twohackarabic=1634,e.twohangzhou=12322,e.twoideographicparen=12833,e.twoinferior=8322,e.twomonospace=65298,e.twonumeratorbengali=2549,e.twooldstyle=63282,e.twoparen=9333,e.twoperiod=9353,e.twopersian=1778,e.tworoman=8561,e.twostroke=443,e.twosuperior=178,e.twothai=3666,e.twothirds=8532,e.u=117,e.uacute=250,e.ubar=649,e.ubengali=2441,e.ubopomofo=12584,e.ubreve=365,e.ucaron=468,e.ucircle=9444,e.ucircumflex=251,e.ucircumflexbelow=7799,e.ucyrillic=1091,e.udattadeva=2385,e.udblacute=369,e.udblgrave=533,e.udeva=2313,e.udieresis=252,e.udieresisacute=472,e.udieresisbelow=7795,e.udieresiscaron=474,e.udieresiscyrillic=1265,e.udieresisgrave=476,e.udieresismacron=470,e.udotbelow=7909,e.ugrave=249,e.ugujarati=2697,e.ugurmukhi=2569,e.uhiragana=12358,e.uhookabove=7911,e.uhorn=432,e.uhornacute=7913,e.uhorndotbelow=7921,e.uhorngrave=7915,e.uhornhookabove=7917,e.uhorntilde=7919,e.uhungarumlaut=369,e.uhungarumlautcyrillic=1267,e.uinvertedbreve=535,e.ukatakana=12454,e.ukatakanahalfwidth=65395,e.ukcyrillic=1145,e.ukorean=12636,e.umacron=363,e.umacroncyrillic=1263,e.umacrondieresis=7803,e.umatragurmukhi=2625,e.umonospace=65365,e.underscore=95,e.underscoredbl=8215,e.underscoremonospace=65343,e.underscorevertical=65075,e.underscorewavy=65103,e.union=8746,e.universal=8704,e.uogonek=371,e.uparen=9392,e.upblock=9600,e.upperdothebrew=1476,e.upsilon=965,e.upsilondieresis=971,e.upsilondieresistonos=944,e.upsilonlatin=650,e.upsilontonos=973,e.uptackbelowcmb=797,e.uptackmod=724,e.uragurmukhi=2675,e.uring=367,e.ushortcyrillic=1118,e.usmallhiragana=12357,e.usmallkatakana=12453,e.usmallkatakanahalfwidth=65385,e.ustraightcyrillic=1199,e.ustraightstrokecyrillic=1201,e.utilde=361,e.utildeacute=7801,e.utildebelow=7797,e.uubengali=2442,e.uudeva=2314,e.uugujarati=2698,e.uugurmukhi=2570,e.uumatragurmukhi=2626,e.uuvowelsignbengali=2498,e.uuvowelsigndeva=2370,e.uuvowelsigngujarati=2754,e.uvowelsignbengali=2497,e.uvowelsigndeva=2369,e.uvowelsigngujarati=2753,e.v=118,e.vadeva=2357,e.vagujarati=2741,e.vagurmukhi=2613,e.vakatakana=12535,e.vav=1493,e.vavdagesh=64309,e.vavdagesh65=64309,e.vavdageshhebrew=64309,e.vavhebrew=1493,e.vavholam=64331,e.vavholamhebrew=64331,e.vavvavhebrew=1520,e.vavyodhebrew=1521,e.vcircle=9445,e.vdotbelow=7807,e.vecyrillic=1074,e.veharabic=1700,e.vehfinalarabic=64363,e.vehinitialarabic=64364,e.vehmedialarabic=64365,e.vekatakana=12537,e.venus=9792,e.verticalbar=124,e.verticallineabovecmb=781,e.verticallinebelowcmb=809,e.verticallinelowmod=716,e.verticallinemod=712,e.vewarmenian=1406,e.vhook=651,e.vikatakana=12536,e.viramabengali=2509,e.viramadeva=2381,e.viramagujarati=2765,e.visargabengali=2435,e.visargadeva=2307,e.visargagujarati=2691,e.vmonospace=65366,e.voarmenian=1400,e.voicediterationhiragana=12446,e.voicediterationkatakana=12542,e.voicedmarkkana=12443,e.voicedmarkkanahalfwidth=65438,e.vokatakana=12538,e.vparen=9393,e.vtilde=7805,e.vturned=652,e.vuhiragana=12436,e.vukatakana=12532,e.w=119,e.wacute=7811,e.waekorean=12633,e.wahiragana=12431,e.wakatakana=12527,e.wakatakanahalfwidth=65436,e.wakorean=12632,e.wasmallhiragana=12430,e.wasmallkatakana=12526,e.wattosquare=13143,e.wavedash=12316,e.wavyunderscorevertical=65076,e.wawarabic=1608,e.wawfinalarabic=65262,e.wawhamzaabovearabic=1572,e.wawhamzaabovefinalarabic=65158,e.wbsquare=13277,e.wcircle=9446,e.wcircumflex=373,e.wdieresis=7813,e.wdotaccent=7815,e.wdotbelow=7817,e.wehiragana=12433,e.weierstrass=8472,e.wekatakana=12529,e.wekorean=12638,e.weokorean=12637,e.wgrave=7809,e.whitebullet=9702,e.whitecircle=9675,e.whitecircleinverse=9689,e.whitecornerbracketleft=12302,e.whitecornerbracketleftvertical=65091,e.whitecornerbracketright=12303,e.whitecornerbracketrightvertical=65092,e.whitediamond=9671,e.whitediamondcontainingblacksmalldiamond=9672,e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661,e.whiteleftpointingsmalltriangle=9667,e.whiteleftpointingtriangle=9665,e.whitelenticularbracketleft=12310,e.whitelenticularbracketright=12311,e.whiterightpointingsmalltriangle=9657,e.whiterightpointingtriangle=9655,e.whitesmallsquare=9643,e.whitesmilingface=9786,e.whitesquare=9633,e.whitestar=9734,e.whitetelephone=9743,e.whitetortoiseshellbracketleft=12312,e.whitetortoiseshellbracketright=12313,e.whiteuppointingsmalltriangle=9653,e.whiteuppointingtriangle=9651,e.wihiragana=12432,e.wikatakana=12528,e.wikorean=12639,e.wmonospace=65367,e.wohiragana=12434,e.wokatakana=12530,e.wokatakanahalfwidth=65382,e.won=8361,e.wonmonospace=65510,e.wowaenthai=3623,e.wparen=9394,e.wring=7832,e.wsuperior=695,e.wturned=653,e.wynn=447,e.x=120,e.xabovecmb=829,e.xbopomofo=12562,e.xcircle=9447,e.xdieresis=7821,e.xdotaccent=7819,e.xeharmenian=1389,e.xi=958,e.xmonospace=65368,e.xparen=9395,e.xsuperior=739,e.y=121,e.yaadosquare=13134,e.yabengali=2479,e.yacute=253,e.yadeva=2351,e.yaekorean=12626,e.yagujarati=2735,e.yagurmukhi=2607,e.yahiragana=12420,e.yakatakana=12516,e.yakatakanahalfwidth=65428,e.yakorean=12625,e.yamakkanthai=3662,e.yasmallhiragana=12419,e.yasmallkatakana=12515,e.yasmallkatakanahalfwidth=65388,e.yatcyrillic=1123,e.ycircle=9448,e.ycircumflex=375,e.ydieresis=255,e.ydotaccent=7823,e.ydotbelow=7925,e.yeharabic=1610,e.yehbarreearabic=1746,e.yehbarreefinalarabic=64431,e.yehfinalarabic=65266,e.yehhamzaabovearabic=1574,e.yehhamzaabovefinalarabic=65162,e.yehhamzaaboveinitialarabic=65163,e.yehhamzaabovemedialarabic=65164,e.yehinitialarabic=65267,e.yehmedialarabic=65268,e.yehmeeminitialarabic=64733,e.yehmeemisolatedarabic=64600,e.yehnoonfinalarabic=64660,e.yehthreedotsbelowarabic=1745,e.yekorean=12630,e.yen=165,e.yenmonospace=65509,e.yeokorean=12629,e.yeorinhieuhkorean=12678,e.yerahbenyomohebrew=1450,e.yerahbenyomolefthebrew=1450,e.yericyrillic=1099,e.yerudieresiscyrillic=1273,e.yesieungkorean=12673,e.yesieungpansioskorean=12675,e.yesieungsioskorean=12674,e.yetivhebrew=1434,e.ygrave=7923,e.yhook=436,e.yhookabove=7927,e.yiarmenian=1397,e.yicyrillic=1111,e.yikorean=12642,e.yinyang=9775,e.yiwnarmenian=1410,e.ymonospace=65369,e.yod=1497,e.yoddagesh=64313,e.yoddageshhebrew=64313,e.yodhebrew=1497,e.yodyodhebrew=1522,e.yodyodpatahhebrew=64287,e.yohiragana=12424,e.yoikorean=12681,e.yokatakana=12520,e.yokatakanahalfwidth=65430,e.yokorean=12635,e.yosmallhiragana=12423,e.yosmallkatakana=12519,e.yosmallkatakanahalfwidth=65390,e.yotgreek=1011,e.yoyaekorean=12680,e.yoyakorean=12679,e.yoyakthai=3618,e.yoyingthai=3597,e.yparen=9396,e.ypogegrammeni=890,e.ypogegrammenigreekcmb=837,e.yr=422,e.yring=7833,e.ysuperior=696,e.ytilde=7929,e.yturned=654,e.yuhiragana=12422,e.yuikorean=12684,e.yukatakana=12518,e.yukatakanahalfwidth=65429,e.yukorean=12640,e.yusbigcyrillic=1131,e.yusbigiotifiedcyrillic=1133,e.yuslittlecyrillic=1127,e.yuslittleiotifiedcyrillic=1129,e.yusmallhiragana=12421,e.yusmallkatakana=12517,e.yusmallkatakanahalfwidth=65389,e.yuyekorean=12683,e.yuyeokorean=12682,e.yyabengali=2527,e.yyadeva=2399,e.z=122,e.zaarmenian=1382,e.zacute=378,e.zadeva=2395,e.zagurmukhi=2651,e.zaharabic=1592,e.zahfinalarabic=65222,e.zahinitialarabic=65223,e.zahiragana=12374,e.zahmedialarabic=65224,e.zainarabic=1586,e.zainfinalarabic=65200,e.zakatakana=12470,e.zaqefgadolhebrew=1429,e.zaqefqatanhebrew=1428,e.zarqahebrew=1432,e.zayin=1494,e.zayindagesh=64310,e.zayindageshhebrew=64310,e.zayinhebrew=1494,e.zbopomofo=12567,e.zcaron=382,e.zcircle=9449,e.zcircumflex=7825,e.zcurl=657,e.zdot=380,e.zdotaccent=380,e.zdotbelow=7827,e.zecyrillic=1079,e.zedescendercyrillic=1177,e.zedieresiscyrillic=1247,e.zehiragana=12380,e.zekatakana=12476,e.zero=48,e.zeroarabic=1632,e.zerobengali=2534,e.zerodeva=2406,e.zerogujarati=2790,e.zerogurmukhi=2662,e.zerohackarabic=1632,e.zeroinferior=8320,e.zeromonospace=65296,e.zerooldstyle=63280,e.zeropersian=1776,e.zerosuperior=8304,e.zerothai=3664,e.zerowidthjoiner=65279,e.zerowidthnonjoiner=8204,e.zerowidthspace=8203,e.zeta=950,e.zhbopomofo=12563,e.zhearmenian=1386,e.zhebrevecyrillic=1218,e.zhecyrillic=1078,e.zhedescendercyrillic=1175,e.zhedieresiscyrillic=1245,e.zihiragana=12376,e.zikatakana=12472,e.zinorhebrew=1454,e.zlinebelow=7829,e.zmonospace=65370,e.zohiragana=12382,e.zokatakana=12478,e.zparen=9397,e.zretroflexhook=656,e.zstroke=438,e.zuhiragana=12378,e.zukatakana=12474,e[".notdef"]=0,e.angbracketleftbig=9001,e.angbracketleftBig=9001,e.angbracketleftbigg=9001,e.angbracketleftBigg=9001,e.angbracketrightBig=9002,e.angbracketrightbig=9002,e.angbracketrightBigg=9002,e.angbracketrightbigg=9002,e.arrowhookleft=8618,e.arrowhookright=8617,e.arrowlefttophalf=8636,e.arrowleftbothalf=8637,e.arrownortheast=8599,e.arrownorthwest=8598,e.arrowrighttophalf=8640,e.arrowrightbothalf=8641,e.arrowsoutheast=8600,e.arrowsouthwest=8601,e.backslashbig=8726,e.backslashBig=8726,e.backslashBigg=8726,e.backslashbigg=8726,e.bardbl=8214,e.bracehtipdownleft=65079,e.bracehtipdownright=65079,e.bracehtipupleft=65080,e.bracehtipupright=65080,e.braceleftBig=123,e.braceleftbig=123,e.braceleftbigg=123,e.braceleftBigg=123,e.bracerightBig=125,e.bracerightbig=125,e.bracerightbigg=125,e.bracerightBigg=125,e.bracketleftbig=91,e.bracketleftBig=91,e.bracketleftbigg=91,e.bracketleftBigg=91,e.bracketrightBig=93,e.bracketrightbig=93,e.bracketrightbigg=93,e.bracketrightBigg=93,e.ceilingleftbig=8968,e.ceilingleftBig=8968,e.ceilingleftBigg=8968,e.ceilingleftbigg=8968,e.ceilingrightbig=8969,e.ceilingrightBig=8969,e.ceilingrightbigg=8969,e.ceilingrightBigg=8969,e.circledotdisplay=8857,e.circledottext=8857,e.circlemultiplydisplay=8855,e.circlemultiplytext=8855,e.circleplusdisplay=8853,e.circleplustext=8853,e.contintegraldisplay=8750,e.contintegraltext=8750,e.coproductdisplay=8720,e.coproducttext=8720,e.floorleftBig=8970,e.floorleftbig=8970,e.floorleftbigg=8970,e.floorleftBigg=8970,e.floorrightbig=8971,e.floorrightBig=8971,e.floorrightBigg=8971,e.floorrightbigg=8971,e.hatwide=770,e.hatwider=770,e.hatwidest=770,e.intercal=7488,e.integraldisplay=8747,e.integraltext=8747,e.intersectiondisplay=8898,e.intersectiontext=8898,e.logicalanddisplay=8743,e.logicalandtext=8743,e.logicalordisplay=8744,e.logicalortext=8744,e.parenleftBig=40,e.parenleftbig=40,e.parenleftBigg=40,e.parenleftbigg=40,e.parenrightBig=41,e.parenrightbig=41,e.parenrightBigg=41,e.parenrightbigg=41,e.prime=8242,e.productdisplay=8719,e.producttext=8719,e.radicalbig=8730,e.radicalBig=8730,e.radicalBigg=8730,e.radicalbigg=8730,e.radicalbt=8730,e.radicaltp=8730,e.radicalvertex=8730,e.slashbig=47,e.slashBig=47,e.slashBigg=47,e.slashbigg=47,e.summationdisplay=8721,e.summationtext=8721,e.tildewide=732,e.tildewider=732,e.tildewidest=732,e.uniondisplay=8899,e.unionmultidisplay=8846,e.unionmultitext=8846,e.unionsqdisplay=8852,e.unionsqtext=8852,e.uniontext=8899,e.vextenddouble=8741,e.vextendsingle=8739}),Nt=yt(function(e){e.space=32,e.a1=9985,e.a2=9986,e.a202=9987,e.a3=9988,e.a4=9742,e.a5=9990,e.a119=9991,e.a118=9992,e.a117=9993,e.a11=9755,e.a12=9758,e.a13=9996,e.a14=9997,e.a15=9998,e.a16=9999,e.a105=1e4,e.a17=10001,e.a18=10002,e.a19=10003,e.a20=10004,e.a21=10005,e.a22=10006,e.a23=10007,e.a24=10008,e.a25=10009,e.a26=10010,e.a27=10011,e.a28=10012,e.a6=10013,e.a7=10014,e.a8=10015,e.a9=10016,e.a10=10017,e.a29=10018,e.a30=10019,e.a31=10020,e.a32=10021,e.a33=10022,e.a34=10023,e.a35=9733,e.a36=10025,e.a37=10026,e.a38=10027,e.a39=10028,e.a40=10029,e.a41=10030,e.a42=10031,e.a43=10032,e.a44=10033,e.a45=10034,e.a46=10035,e.a47=10036,e.a48=10037,e.a49=10038,e.a50=10039,e.a51=10040,e.a52=10041,e.a53=10042,e.a54=10043,e.a55=10044,e.a56=10045,e.a57=10046,e.a58=10047,e.a59=10048,e.a60=10049,e.a61=10050,e.a62=10051,e.a63=10052,e.a64=10053,e.a65=10054,e.a66=10055,e.a67=10056,e.a68=10057,e.a69=10058,e.a70=10059,e.a71=9679,e.a72=10061,e.a73=9632,e.a74=10063,e.a203=10064,e.a75=10065,e.a204=10066,e.a76=9650,e.a77=9660,e.a78=9670,e.a79=10070,e.a81=9687,e.a82=10072,e.a83=10073,e.a84=10074,e.a97=10075,e.a98=10076,e.a99=10077,e.a100=10078,e.a101=10081,e.a102=10082,e.a103=10083,e.a104=10084,e.a106=10085,e.a107=10086,e.a108=10087,e.a112=9827,e.a111=9830,e.a110=9829,e.a109=9824,e.a120=9312,e.a121=9313,e.a122=9314,e.a123=9315,e.a124=9316,e.a125=9317,e.a126=9318,e.a127=9319,e.a128=9320,e.a129=9321,e.a130=10102,e.a131=10103,e.a132=10104,e.a133=10105,e.a134=10106,e.a135=10107,e.a136=10108,e.a137=10109,e.a138=10110,e.a139=10111,e.a140=10112,e.a141=10113,e.a142=10114,e.a143=10115,e.a144=10116,e.a145=10117,e.a146=10118,e.a147=10119,e.a148=10120,e.a149=10121,e.a150=10122,e.a151=10123,e.a152=10124,e.a153=10125,e.a154=10126,e.a155=10127,e.a156=10128,e.a157=10129,e.a158=10130,e.a159=10131,e.a160=10132,e.a161=8594,e.a163=8596,e.a164=8597,e.a196=10136,e.a165=10137,e.a192=10138,e.a166=10139,e.a167=10140,e.a168=10141,e.a169=10142,e.a170=10143,e.a171=10144,e.a172=10145,e.a173=10146,e.a162=10147,e.a174=10148,e.a175=10149,e.a176=10150,e.a177=10151,e.a178=10152,e.a179=10153,e.a193=10154,e.a180=10155,e.a199=10156,e.a181=10157,e.a200=10158,e.a182=10159,e.a201=10161,e.a183=10162,e.a184=10163,e.a197=10164,e.a185=10165,e.a194=10166,e.a198=10167,e.a186=10168,e.a195=10169,e.a187=10170,e.a188=10171,e.a189=10172,e.a190=10173,e.a191=10174,e.a89=10088,e.a90=10089,e.a93=10090,e.a94=10091,e.a91=10092,e.a92=10093,e.a205=10094,e.a85=10095,e.a206=10096,e.a86=10097,e.a87=10098,e.a88=10099,e.a95=10100,e.a96=10101,e[".notdef"]=0}),Mt=yt(function(e){e[63721]=169,e[63193]=169,e[63720]=174,e[63194]=174,e[63722]=8482,e[63195]=8482,e[63729]=9127,e[63730]=9128,e[63731]=9129,e[63740]=9131,e[63741]=9132,e[63742]=9133,e[63726]=9121,e[63727]=9122,e[63728]=9123,e[63737]=9124,e[63738]=9125,e[63739]=9126,e[63723]=9115,e[63724]=9116,e[63725]=9117,e[63734]=9118,e[63735]=9119,e[63736]=9120});function Rt(e,t){let i=t[e];if(void 0!==i)return i;if(!e)return-1;if("u"===e[0]){const t=e.length;let r;if(7===t&&"n"===e[1]&&"i"===e[2])r=e.substring(3);else{if(!(t>=5&&t<=7))return-1;r=e.substring(1)}if(r===r.toUpperCase()&&(i=parseInt(r,16),i>=0))return i}return-1}const _t=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function Ut(e,t=-1){if(-1!==t){const i=_t[t];for(let r=0,n=i.length;r<n;r+=2)if(e>=i[r]&&e<=i[r+1])return t}for(let i=0,r=_t.length;i<r;i++){const t=_t[i];for(let r=0,n=t.length;r<n;r+=2)if(e>=t[r]&&e<=t[r+1])return i}return-1}const Lt=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),Ht=new Map,jt=!0,qt=[".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 Kt(e,t){if(void 0!==t[e])return e;const i=Rt(e,t);if(-1!==i)for(const r in t)if(t[r]===i)return r;return e}function Gt(e,t,i){const r=Object.create(null);let n,a,s;const o=!!(4&e.flags);if(e.isInternalFont)for(s=t,a=0;a<s.length;a++)n=i.indexOf(s[a]),r[a]=n>=0?n:0;else if(e.baseEncodingName)for(s=Bt(e.baseEncodingName),a=0;a<s.length;a++)n=i.indexOf(s[a]),r[a]=n>=0?n:0;else if(o)for(a in t)r[a]=t[a];else for(s=Tt,a=0;a<s.length;a++)n=i.indexOf(s[a]),r[a]=n>=0?n:0;const c=e.differences;let l;if(c)for(a in c){const e=c[a];if(n=i.indexOf(e),-1===n){l||(l=Ot());const t=Kt(e,l);t!==e&&(n=i.indexOf(t))}r[a]=n>=0?n:0}return r}function Vt(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const zt=yt(function(e){e["Times-Roman"]="Times-Roman",e.Helvetica="Helvetica",e.Courier="Courier",e.Symbol="Symbol",e["Times-Bold"]="Times-Bold",e["Helvetica-Bold"]="Helvetica-Bold",e["Courier-Bold"]="Courier-Bold",e.ZapfDingbats="ZapfDingbats",e["Times-Italic"]="Times-Italic",e["Helvetica-Oblique"]="Helvetica-Oblique",e["Courier-Oblique"]="Courier-Oblique",e["Times-BoldItalic"]="Times-BoldItalic",e["Helvetica-BoldOblique"]="Helvetica-BoldOblique",e["Courier-BoldOblique"]="Courier-BoldOblique",e.ArialNarrow="Helvetica",e["ArialNarrow-Bold"]="Helvetica-Bold",e["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique",e["ArialNarrow-Italic"]="Helvetica-Oblique",e.ArialBlack="Helvetica",e["ArialBlack-Bold"]="Helvetica-Bold",e["ArialBlack-BoldItalic"]="Helvetica-BoldOblique",e["ArialBlack-Italic"]="Helvetica-Oblique",e["Arial-Black"]="Helvetica",e["Arial-Black-Bold"]="Helvetica-Bold",e["Arial-Black-BoldItalic"]="Helvetica-BoldOblique",e["Arial-Black-Italic"]="Helvetica-Oblique",e.Arial="Helvetica",e["Arial-Bold"]="Helvetica-Bold",e["Arial-BoldItalic"]="Helvetica-BoldOblique",e["Arial-Italic"]="Helvetica-Oblique",e.ArialMT="Helvetica",e["Arial-BoldItalicMT"]="Helvetica-BoldOblique",e["Arial-BoldMT"]="Helvetica-Bold",e["Arial-ItalicMT"]="Helvetica-Oblique",e["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique",e["Arial-BoldMT-Bold"]="Helvetica-Bold",e["Arial-ItalicMT-Italic"]="Helvetica-Oblique",e.ArialUnicodeMS="Helvetica",e["ArialUnicodeMS-Bold"]="Helvetica-Bold",e["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique",e["ArialUnicodeMS-Italic"]="Helvetica-Oblique",e["Courier-BoldItalic"]="Courier-BoldOblique",e["Courier-Italic"]="Courier-Oblique",e.CourierNew="Courier",e["CourierNew-Bold"]="Courier-Bold",e["CourierNew-BoldItalic"]="Courier-BoldOblique",e["CourierNew-Italic"]="Courier-Oblique",e["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique",e["CourierNewPS-BoldMT"]="Courier-Bold",e["CourierNewPS-ItalicMT"]="Courier-Oblique",e.CourierNewPSMT="Courier",e["Helvetica-BoldItalic"]="Helvetica-BoldOblique",e["Helvetica-Italic"]="Helvetica-Oblique",e["Symbol-Bold"]="Symbol",e["Symbol-BoldItalic"]="Symbol",e["Symbol-Italic"]="Symbol",e.TimesNewRoman="Times-Roman",e["TimesNewRoman-Bold"]="Times-Bold",e["TimesNewRoman-BoldItalic"]="Times-BoldItalic",e["TimesNewRoman-Italic"]="Times-Italic",e.TimesNewRomanPS="Times-Roman",e["TimesNewRomanPS-Bold"]="Times-Bold",e["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic",e["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic",e["TimesNewRomanPS-BoldMT"]="Times-Bold",e["TimesNewRomanPS-Italic"]="Times-Italic",e["TimesNewRomanPS-ItalicMT"]="Times-Italic",e.TimesNewRomanPSMT="Times-Roman",e["TimesNewRomanPSMT-Bold"]="Times-Bold",e["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic",e["TimesNewRomanPSMT-Italic"]="Times-Italic"}),Xt=yt(function(e){e.Courier="FoxitFixed.pfb",e["Courier-Bold"]="FoxitFixedBold.pfb",e["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb",e["Courier-Oblique"]="FoxitFixedItalic.pfb",e.Helvetica="LiberationSans-Regular.ttf",e["Helvetica-Bold"]="LiberationSans-Bold.ttf",e["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf",e["Helvetica-Oblique"]="LiberationSans-Italic.ttf",e["Times-Roman"]="FoxitSerif.pfb",e["Times-Bold"]="FoxitSerifBold.pfb",e["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb",e["Times-Italic"]="FoxitSerifItalic.pfb",e.Symbol="FoxitSymbol.pfb",e.ZapfDingbats="FoxitDingbats.pfb",e["LiberationSans-Regular"]="LiberationSans-Regular.ttf",e["LiberationSans-Bold"]="LiberationSans-Bold.ttf",e["LiberationSans-Italic"]="LiberationSans-Italic.ttf",e["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"}),Wt=yt(function(e){e.Calibri="Helvetica",e["Calibri-Bold"]="Helvetica-Bold",e["Calibri-BoldItalic"]="Helvetica-BoldOblique",e["Calibri-Italic"]="Helvetica-Oblique",e.CenturyGothic="Helvetica",e["CenturyGothic-Bold"]="Helvetica-Bold",e["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique",e["CenturyGothic-Italic"]="Helvetica-Oblique",e.ComicSansMS="Comic Sans MS",e["ComicSansMS-Bold"]="Comic Sans MS-Bold",e["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic",e["ComicSansMS-Italic"]="Comic Sans MS-Italic",e.Impact="Helvetica",e["ItcSymbol-Bold"]="Helvetica-Bold",e["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique",e["ItcSymbol-Book"]="Helvetica",e["ItcSymbol-BookItalic"]="Helvetica-Oblique",e["ItcSymbol-Medium"]="Helvetica",e["ItcSymbol-MediumItalic"]="Helvetica-Oblique",e.LucidaConsole="Courier",e["LucidaConsole-Bold"]="Courier-Bold",e["LucidaConsole-BoldItalic"]="Courier-BoldOblique",e["LucidaConsole-Italic"]="Courier-Oblique",e["LucidaSans-Demi"]="Helvetica-Bold",e["MS-Gothic"]="MS Gothic",e["MS-Gothic-Bold"]="MS Gothic-Bold",e["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic",e["MS-Gothic-Italic"]="MS Gothic-Italic",e["MS-Mincho"]="MS Mincho",e["MS-Mincho-Bold"]="MS Mincho-Bold",e["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic",e["MS-Mincho-Italic"]="MS Mincho-Italic",e["MS-PGothic"]="MS PGothic",e["MS-PGothic-Bold"]="MS PGothic-Bold",e["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic",e["MS-PGothic-Italic"]="MS PGothic-Italic",e["MS-PMincho"]="MS PMincho",e["MS-PMincho-Bold"]="MS PMincho-Bold",e["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic",e["MS-PMincho-Italic"]="MS PMincho-Italic",e.NuptialScript="Times-Italic",e.SegoeUISymbol="Helvetica"}),$t=yt(function(e){e["Adobe Jenson"]=!0,e["Adobe Text"]=!0,e.Albertus=!0,e.Aldus=!0,e.Alexandria=!0,e.Algerian=!0,e["American Typewriter"]=!0,e.Antiqua=!0,e.Apex=!0,e.Arno=!0,e.Aster=!0,e.Aurora=!0,e.Baskerville=!0,e.Bell=!0,e.Bembo=!0,e["Bembo Schoolbook"]=!0,e.Benguiat=!0,e["Berkeley Old Style"]=!0,e["Bernhard Modern"]=!0,e["Berthold City"]=!0,e.Bodoni=!0,e["Bauer Bodoni"]=!0,e["Book Antiqua"]=!0,e.Bookman=!0,e["Bordeaux Roman"]=!0,e["Californian FB"]=!0,e.Calisto=!0,e.Calvert=!0,e.Capitals=!0,e.Cambria=!0,e.Cartier=!0,e.Caslon=!0,e.Catull=!0,e.Centaur=!0,e["Century Old Style"]=!0,e["Century Schoolbook"]=!0,e.Chaparral=!0,e["Charis SIL"]=!0,e.Cheltenham=!0,e["Cholla Slab"]=!0,e.Clarendon=!0,e.Clearface=!0,e.Cochin=!0,e.Colonna=!0,e["Computer Modern"]=!0,e["Concrete Roman"]=!0,e.Constantia=!0,e["Cooper Black"]=!0,e.Corona=!0,e.Ecotype=!0,e.Egyptienne=!0,e.Elephant=!0,e.Excelsior=!0,e.Fairfield=!0,e["FF Scala"]=!0,e.Folkard=!0,e.Footlight=!0,e.FreeSerif=!0,e["Friz Quadrata"]=!0,e.Garamond=!0,e.Gentium=!0,e.Georgia=!0,e.Gloucester=!0,e["Goudy Old Style"]=!0,e["Goudy Schoolbook"]=!0,e["Goudy Pro Font"]=!0,e.Granjon=!0,e["Guardian Egyptian"]=!0,e.Heather=!0,e.Hercules=!0,e["High Tower Text"]=!0,e.Hiroshige=!0,e["Hoefler Text"]=!0,e["Humana Serif"]=!0,e.Imprint=!0,e["Ionic No. 5"]=!0,e.Janson=!0,e.Joanna=!0,e.Korinna=!0,e.Lexicon=!0,e.LiberationSerif=!0,e["Liberation Serif"]=!0,e["Linux Libertine"]=!0,e.Literaturnaya=!0,e.Lucida=!0,e["Lucida Bright"]=!0,e.Melior=!0,e.Memphis=!0,e.Miller=!0,e.Minion=!0,e.Modern=!0,e["Mona Lisa"]=!0,e["Mrs Eaves"]=!0,e["MS Serif"]=!0,e["Museo Slab"]=!0,e["New York"]=!0,e["Nimbus Roman"]=!0,e["NPS Rawlinson Roadway"]=!0,e.NuptialScript=!0,e.Palatino=!0,e.Perpetua=!0,e.Plantin=!0,e["Plantin Schoolbook"]=!0,e.Playbill=!0,e["Poor Richard"]=!0,e["Rawlinson Roadway"]=!0,e.Renault=!0,e.Requiem=!0,e.Rockwell=!0,e.Roman=!0,e["Rotis Serif"]=!0,e.Sabon=!0,e.Scala=!0,e.Seagull=!0,e.Sistina=!0,e.Souvenir=!0,e.STIX=!0,e["Stone Informal"]=!0,e["Stone Serif"]=!0,e.Sylfaen=!0,e.Times=!0,e.Trajan=!0,e["Trinité"]=!0,e["Trump Mediaeval"]=!0,e.Utopia=!0,e["Vale Type"]=!0,e["Bitstream Vera"]=!0,e["Vera Serif"]=!0,e.Versailles=!0,e.Wanted=!0,e.Weiss=!0,e["Wide Latin"]=!0,e.Windsor=!0,e.XITS=!0}),Zt=yt(function(e){e.Dingbats=!0,e.Symbol=!0,e.ZapfDingbats=!0,e.Wingdings=!0,e["Wingdings-Bold"]=!0,e["Wingdings-Regular"]=!0}),Yt=yt(function(e){e[2]=10,e[3]=32,e[4]=33,e[5]=34,e[6]=35,e[7]=36,e[8]=37,e[9]=38,e[10]=39,e[11]=40,e[12]=41,e[13]=42,e[14]=43,e[15]=44,e[16]=45,e[17]=46,e[18]=47,e[19]=48,e[20]=49,e[21]=50,e[22]=51,e[23]=52,e[24]=53,e[25]=54,e[26]=55,e[27]=56,e[28]=57,e[29]=58,e[30]=894,e[31]=60,e[32]=61,e[33]=62,e[34]=63,e[35]=64,e[36]=65,e[37]=66,e[38]=67,e[39]=68,e[40]=69,e[41]=70,e[42]=71,e[43]=72,e[44]=73,e[45]=74,e[46]=75,e[47]=76,e[48]=77,e[49]=78,e[50]=79,e[51]=80,e[52]=81,e[53]=82,e[54]=83,e[55]=84,e[56]=85,e[57]=86,e[58]=87,e[59]=88,e[60]=89,e[61]=90,e[62]=91,e[63]=92,e[64]=93,e[65]=94,e[66]=95,e[67]=96,e[68]=97,e[69]=98,e[70]=99,e[71]=100,e[72]=101,e[73]=102,e[74]=103,e[75]=104,e[76]=105,e[77]=106,e[78]=107,e[79]=108,e[80]=109,e[81]=110,e[82]=111,e[83]=112,e[84]=113,e[85]=114,e[86]=115,e[87]=116,e[88]=117,e[89]=118,e[90]=119,e[91]=120,e[92]=121,e[93]=122,e[94]=123,e[95]=124,e[96]=125,e[97]=126,e[98]=196,e[99]=197,e[100]=199,e[101]=201,e[102]=209,e[103]=214,e[104]=220,e[105]=225,e[106]=224,e[107]=226,e[108]=228,e[109]=227,e[110]=229,e[111]=231,e[112]=233,e[113]=232,e[114]=234,e[115]=235,e[116]=237,e[117]=236,e[118]=238,e[119]=239,e[120]=241,e[121]=243,e[122]=242,e[123]=244,e[124]=246,e[125]=245,e[126]=250,e[127]=249,e[128]=251,e[129]=252,e[130]=8224,e[131]=176,e[132]=162,e[133]=163,e[134]=167,e[135]=8226,e[136]=182,e[137]=223,e[138]=174,e[139]=169,e[140]=8482,e[141]=180,e[142]=168,e[143]=8800,e[144]=198,e[145]=216,e[146]=8734,e[147]=177,e[148]=8804,e[149]=8805,e[150]=165,e[151]=181,e[152]=8706,e[153]=8721,e[154]=8719,e[156]=8747,e[157]=170,e[158]=186,e[159]=8486,e[160]=230,e[161]=248,e[162]=191,e[163]=161,e[164]=172,e[165]=8730,e[166]=402,e[167]=8776,e[168]=8710,e[169]=171,e[170]=187,e[171]=8230,e[179]=8220,e[180]=8221,e[181]=8216,e[182]=8217,e[200]=193,e[203]=205,e[207]=211,e[210]=218,e[223]=711,e[224]=321,e[225]=322,e[226]=352,e[227]=353,e[228]=381,e[229]=382,e[233]=221,e[234]=253,e[252]=263,e[253]=268,e[254]=269,e[258]=258,e[260]=260,e[261]=261,e[265]=280,e[266]=281,e[267]=282,e[268]=283,e[269]=313,e[275]=323,e[276]=324,e[278]=328,e[283]=344,e[284]=345,e[285]=346,e[286]=347,e[292]=367,e[295]=377,e[296]=378,e[298]=380,e[305]=963,e[306]=964,e[307]=966,e[308]=8215,e[309]=8252,e[310]=8319,e[311]=8359,e[312]=8592,e[313]=8593,e[337]=9552,e[493]=1039,e[494]=1040,e[672]=1488,e[673]=1489,e[674]=1490,e[675]=1491,e[676]=1492,e[677]=1493,e[678]=1494,e[679]=1495,e[680]=1496,e[681]=1497,e[682]=1498,e[683]=1499,e[684]=1500,e[685]=1501,e[686]=1502,e[687]=1503,e[688]=1504,e[689]=1505,e[690]=1506,e[691]=1507,e[692]=1508,e[693]=1509,e[694]=1510,e[695]=1511,e[696]=1512,e[697]=1513,e[698]=1514,e[705]=1524,e[706]=8362,e[710]=64288,e[711]=64298,e[759]=1617,e[761]=1776,e[763]=1778,e[775]=1652,e[777]=1764,e[778]=1780,e[779]=1781,e[780]=1782,e[782]=771,e[783]=64726,e[786]=8363,e[788]=8532,e[790]=768,e[791]=769,e[792]=768,e[795]=803,e[797]=64336,e[798]=64337,e[799]=64342,e[800]=64343,e[801]=64344,e[802]=64345,e[803]=64362,e[804]=64363,e[805]=64364,e[2424]=7821,e[2425]=7822,e[2426]=7823,e[2427]=7824,e[2428]=7825,e[2429]=7826,e[2430]=7827,e[2433]=7682,e[2678]=8045,e[2679]=8046,e[2830]=1552,e[2838]=686,e[2840]=751,e[2842]=753,e[2843]=754,e[2844]=755,e[2846]=757,e[2856]=767,e[2857]=848,e[2858]=849,e[2862]=853,e[2863]=854,e[2864]=855,e[2865]=861,e[2866]=862,e[2906]=7460,e[2908]=7462,e[2909]=7463,e[2910]=7464,e[2912]=7466,e[2913]=7467,e[2914]=7468,e[2916]=7470,e[2917]=7471,e[2918]=7472,e[2920]=7474,e[2921]=7475,e[2922]=7476,e[2924]=7478,e[2925]=7479,e[2926]=7480,e[2928]=7482,e[2929]=7483,e[2930]=7484,e[2932]=7486,e[2933]=7487,e[2934]=7488,e[2936]=7490,e[2937]=7491,e[2938]=7492,e[2940]=7494,e[2941]=7495,e[2942]=7496,e[2944]=7498,e[2946]=7500,e[2948]=7502,e[2950]=7504,e[2951]=7505,e[2952]=7506,e[2954]=7508,e[2955]=7509,e[2956]=7510,e[2958]=7512,e[2959]=7513,e[2960]=7514,e[2962]=7516,e[2963]=7517,e[2964]=7518,e[2966]=7520,e[2967]=7521,e[2968]=7522,e[2970]=7524,e[2971]=7525,e[2972]=7526,e[2974]=7528,e[2975]=7529,e[2976]=7530,e[2978]=1537,e[2979]=1538,e[2980]=1539,e[2982]=1549,e[2983]=1551,e[2984]=1552,e[2986]=1554,e[2987]=1555,e[2988]=1556,e[2990]=1623,e[2991]=1624,e[2995]=1775,e[2999]=1791,e[3002]=64290,e[3003]=64291,e[3004]=64292,e[3006]=64294,e[3007]=64295,e[3008]=64296,e[3011]=1900,e[3014]=8223,e[3015]=8244,e[3017]=7532,e[3018]=7533,e[3019]=7534,e[3075]=7590,e[3076]=7591,e[3079]=7594,e[3080]=7595,e[3083]=7598,e[3084]=7599,e[3087]=7602,e[3088]=7603,e[3091]=7606,e[3092]=7607,e[3095]=7610,e[3096]=7611,e[3099]=7614,e[3100]=7615,e[3103]=7618,e[3104]=7619,e[3107]=8337,e[3108]=8338,e[3116]=1884,e[3119]=1885,e[3120]=1885,e[3123]=1886,e[3124]=1886,e[3127]=1887,e[3128]=1887,e[3131]=1888,e[3132]=1888,e[3135]=1889,e[3136]=1889,e[3139]=1890,e[3140]=1890,e[3143]=1891,e[3144]=1891,e[3147]=1892,e[3148]=1892,e[3153]=580,e[3154]=581,e[3157]=584,e[3158]=585,e[3161]=588,e[3162]=589,e[3165]=891,e[3166]=892,e[3169]=1274,e[3170]=1275,e[3173]=1278,e[3174]=1279,e[3181]=7622,e[3182]=7623,e[3282]=11799,e[3316]=578,e[3379]=42785,e[3393]=1159,e[3416]=8377}),Qt=yt(function(e){e[227]=322,e[264]=261,e[291]=346}),Jt=yt(function(e){e[1]=32,e[4]=65,e[5]=192,e[6]=193,e[9]=196,e[17]=66,e[18]=67,e[21]=268,e[24]=68,e[28]=69,e[29]=200,e[30]=201,e[32]=282,e[38]=70,e[39]=71,e[44]=72,e[47]=73,e[48]=204,e[49]=205,e[58]=74,e[60]=75,e[62]=76,e[68]=77,e[69]=78,e[75]=79,e[76]=210,e[80]=214,e[87]=80,e[89]=81,e[90]=82,e[92]=344,e[94]=83,e[97]=352,e[100]=84,e[104]=85,e[109]=220,e[115]=86,e[116]=87,e[121]=88,e[122]=89,e[124]=221,e[127]=90,e[129]=381,e[258]=97,e[259]=224,e[260]=225,e[263]=228,e[268]=261,e[271]=98,e[272]=99,e[273]=263,e[275]=269,e[282]=100,e[286]=101,e[287]=232,e[288]=233,e[290]=283,e[295]=281,e[296]=102,e[336]=103,e[346]=104,e[349]=105,e[350]=236,e[351]=237,e[361]=106,e[364]=107,e[367]=108,e[371]=322,e[373]=109,e[374]=110,e[381]=111,e[382]=242,e[383]=243,e[386]=246,e[393]=112,e[395]=113,e[396]=114,e[398]=345,e[400]=115,e[401]=347,e[403]=353,e[410]=116,e[437]=117,e[442]=252,e[448]=118,e[449]=119,e[454]=120,e[455]=121,e[457]=253,e[460]=122,e[462]=382,e[463]=380,e[853]=44,e[855]=58,e[856]=46,e[876]=47,e[878]=45,e[882]=45,e[894]=40,e[895]=41,e[896]=91,e[897]=93,e[923]=64,e[1004]=48,e[1005]=49,e[1006]=50,e[1007]=51,e[1008]=52,e[1009]=53,e[1010]=54,e[1011]=55,e[1012]=56,e[1013]=57,e[1081]=37,e[1085]=43,e[1086]=45});function ei(e){const t=Vt(e);return zt()[t]}function ti(e){const t=Vt(e);return!!(zt()[t]||Wt()[t]||$t()[t]||Zt()[t])}const ii=yt(function(e){e.Courier=600,e["Courier-Bold"]=600,e["Courier-BoldOblique"]=600,e["Courier-Oblique"]=600,e.Helvetica=yt(function(e){e.space=278,e.exclam=278,e.quotedbl=355,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=667,e.quoteright=222,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=278,e.semicolon=278,e.less=584,e.equal=584,e.greater=584,e.question=556,e.at=1015,e.A=667,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=500,e.K=667,e.L=556,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=278,e.backslash=278,e.bracketright=278,e.asciicircum=469,e.underscore=556,e.quoteleft=222,e.a=556,e.b=556,e.c=500,e.d=556,e.e=556,e.f=278,e.g=556,e.h=556,e.i=222,e.j=222,e.k=500,e.l=222,e.m=833,e.n=556,e.o=556,e.p=556,e.q=556,e.r=333,e.s=500,e.t=278,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=500,e.braceleft=334,e.bar=260,e.braceright=334,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=191,e.quotedblleft=333,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=537,e.bullet=350,e.quotesinglbase=222,e.quotedblbase=333,e.quotedblright=333,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=556,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=222,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=556,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=667,e.aacute=556,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=500,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=500,e.aring=556,e.Ncommaaccent=722,e.lacute=222,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=500,e.scedilla=500,e.iacute=278,e.lozenge=471,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=556,e.Amacron=667,e.rcaron=333,e.ccedilla=500,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=643,e.Umacron=722,e.uring=556,e.threesuperior=333,e.Ograve=778,e.Agrave=667,e.Abreve=667,e.multiply=584,e.uacute=556,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=500,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=260,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=333,e.omacron=556,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=222,e.tcaron=317,e.eogonek=556,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=556,e.zacute=500,e.iogonek=222,e.Oacute=778,e.oacute=556,e.amacron=556,e.sacute=500,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=333,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=556,e.Eogonek=667,e.dcroat=556,e.threequarters=834,e.Scedilla=667,e.lcaron=299,e.Kcommaaccent=667,e.Lacute=556,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=556,e.onehalf=834,e.lessequal=549,e.ocircumflex=556,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=556,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=556,e.Ccaron=722,e.ugrave=556,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=556,e.Rcommaaccent=722,e.Lcommaaccent=556,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=500,e.minus=584,e.Icircumflex=278,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=584,e.odieresis=556,e.udieresis=556,e.notequal=549,e.gcommaaccent=556,e.eth=556,e.zcaron=500,e.ncommaaccent=556,e.onesuperior=333,e.imacron=278,e.Euro=556}),e["Helvetica-Bold"]=yt(function(e){e.space=278,e.exclam=333,e.quotedbl=474,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=722,e.quoteright=278,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=333,e.semicolon=333,e.less=584,e.equal=584,e.greater=584,e.question=611,e.at=975,e.A=722,e.B=722,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=556,e.K=722,e.L=611,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=584,e.underscore=556,e.quoteleft=278,e.a=556,e.b=611,e.c=556,e.d=611,e.e=556,e.f=333,e.g=611,e.h=611,e.i=278,e.j=278,e.k=556,e.l=278,e.m=889,e.n=611,e.o=611,e.p=611,e.q=611,e.r=389,e.s=556,e.t=333,e.u=611,e.v=556,e.w=778,e.x=556,e.y=556,e.z=500,e.braceleft=389,e.bar=280,e.braceright=389,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=238,e.quotedblleft=500,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=611,e.fl=611,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=556,e.bullet=350,e.quotesinglbase=278,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=611,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=278,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=611,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=722,e.aacute=556,e.Ucircumflex=722,e.yacute=556,e.scommaaccent=556,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=611,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=556,e.aring=556,e.Ncommaaccent=722,e.lacute=278,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=556,e.scedilla=556,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=611,e.acircumflex=556,e.Amacron=722,e.rcaron=389,e.ccedilla=556,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=743,e.Umacron=722,e.uring=611,e.threesuperior=333,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=584,e.uacute=611,e.Tcaron=611,e.partialdiff=494,e.ydieresis=556,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=556,e.nacute=611,e.umacron=611,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=280,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=611,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=389,e.eogonek=556,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=556,e.zacute=500,e.iogonek=278,e.Oacute=778,e.oacute=611,e.amacron=556,e.sacute=556,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=611,e.twosuperior=333,e.Odieresis=778,e.mu=611,e.igrave=278,e.ohungarumlaut=611,e.Eogonek=667,e.dcroat=611,e.threequarters=834,e.Scedilla=667,e.lcaron=400,e.Kcommaaccent=722,e.Lacute=611,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=611,e.onehalf=834,e.lessequal=549,e.ocircumflex=611,e.ntilde=611,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=611,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=611,e.Ccaron=722,e.ugrave=611,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=611,e.Rcommaaccent=722,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=556,e.minus=584,e.Icircumflex=278,e.ncaron=611,e.tcommaaccent=333,e.logicalnot=584,e.odieresis=611,e.udieresis=611,e.notequal=549,e.gcommaaccent=611,e.eth=611,e.zcaron=500,e.ncommaaccent=611,e.onesuperior=333,e.imacron=278,e.Euro=556}),e["Helvetica-BoldOblique"]=yt(function(e){e.space=278,e.exclam=333,e.quotedbl=474,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=722,e.quoteright=278,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=333,e.semicolon=333,e.less=584,e.equal=584,e.greater=584,e.question=611,e.at=975,e.A=722,e.B=722,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=556,e.K=722,e.L=611,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=584,e.underscore=556,e.quoteleft=278,e.a=556,e.b=611,e.c=556,e.d=611,e.e=556,e.f=333,e.g=611,e.h=611,e.i=278,e.j=278,e.k=556,e.l=278,e.m=889,e.n=611,e.o=611,e.p=611,e.q=611,e.r=389,e.s=556,e.t=333,e.u=611,e.v=556,e.w=778,e.x=556,e.y=556,e.z=500,e.braceleft=389,e.bar=280,e.braceright=389,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=238,e.quotedblleft=500,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=611,e.fl=611,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=556,e.bullet=350,e.quotesinglbase=278,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=611,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=278,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=611,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=722,e.aacute=556,e.Ucircumflex=722,e.yacute=556,e.scommaaccent=556,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=611,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=556,e.aring=556,e.Ncommaaccent=722,e.lacute=278,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=556,e.scedilla=556,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=611,e.acircumflex=556,e.Amacron=722,e.rcaron=389,e.ccedilla=556,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=743,e.Umacron=722,e.uring=611,e.threesuperior=333,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=584,e.uacute=611,e.Tcaron=611,e.partialdiff=494,e.ydieresis=556,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=556,e.nacute=611,e.umacron=611,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=280,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=611,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=389,e.eogonek=556,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=556,e.zacute=500,e.iogonek=278,e.Oacute=778,e.oacute=611,e.amacron=556,e.sacute=556,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=611,e.twosuperior=333,e.Odieresis=778,e.mu=611,e.igrave=278,e.ohungarumlaut=611,e.Eogonek=667,e.dcroat=611,e.threequarters=834,e.Scedilla=667,e.lcaron=400,e.Kcommaaccent=722,e.Lacute=611,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=611,e.onehalf=834,e.lessequal=549,e.ocircumflex=611,e.ntilde=611,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=611,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=611,e.Ccaron=722,e.ugrave=611,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=611,e.Rcommaaccent=722,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=556,e.minus=584,e.Icircumflex=278,e.ncaron=611,e.tcommaaccent=333,e.logicalnot=584,e.odieresis=611,e.udieresis=611,e.notequal=549,e.gcommaaccent=611,e.eth=611,e.zcaron=500,e.ncommaaccent=611,e.onesuperior=333,e.imacron=278,e.Euro=556}),e["Helvetica-Oblique"]=yt(function(e){e.space=278,e.exclam=278,e.quotedbl=355,e.numbersign=556,e.dollar=556,e.percent=889,e.ampersand=667,e.quoteright=222,e.parenleft=333,e.parenright=333,e.asterisk=389,e.plus=584,e.comma=278,e.hyphen=333,e.period=278,e.slash=278,e.zero=556,e.one=556,e.two=556,e.three=556,e.four=556,e.five=556,e.six=556,e.seven=556,e.eight=556,e.nine=556,e.colon=278,e.semicolon=278,e.less=584,e.equal=584,e.greater=584,e.question=556,e.at=1015,e.A=667,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=722,e.I=278,e.J=500,e.K=667,e.L=556,e.M=833,e.N=722,e.O=778,e.P=667,e.Q=778,e.R=722,e.S=667,e.T=611,e.U=722,e.V=667,e.W=944,e.X=667,e.Y=667,e.Z=611,e.bracketleft=278,e.backslash=278,e.bracketright=278,e.asciicircum=469,e.underscore=556,e.quoteleft=222,e.a=556,e.b=556,e.c=500,e.d=556,e.e=556,e.f=278,e.g=556,e.h=556,e.i=222,e.j=222,e.k=500,e.l=222,e.m=833,e.n=556,e.o=556,e.p=556,e.q=556,e.r=333,e.s=500,e.t=278,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=500,e.braceleft=334,e.bar=260,e.braceright=334,e.asciitilde=584,e.exclamdown=333,e.cent=556,e.sterling=556,e.fraction=167,e.yen=556,e.florin=556,e.section=556,e.currency=556,e.quotesingle=191,e.quotedblleft=333,e.guillemotleft=556,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=556,e.dagger=556,e.daggerdbl=556,e.periodcentered=278,e.paragraph=537,e.bullet=350,e.quotesinglbase=222,e.quotedblbase=333,e.quotedblright=333,e.guillemotright=556,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=611,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=370,e.Lslash=556,e.Oslash=778,e.OE=1e3,e.ordmasculine=365,e.ae=889,e.dotlessi=278,e.lslash=222,e.oslash=611,e.oe=944,e.germandbls=611,e.Idieresis=278,e.eacute=556,e.abreve=556,e.uhungarumlaut=556,e.ecaron=556,e.Ydieresis=667,e.divide=584,e.Yacute=667,e.Acircumflex=667,e.aacute=556,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=500,e.ecircumflex=556,e.Uring=722,e.Udieresis=722,e.aogonek=556,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=737,e.Emacron=667,e.ccaron=500,e.aring=556,e.Ncommaaccent=722,e.lacute=222,e.agrave=556,e.Tcommaaccent=611,e.Cacute=722,e.atilde=556,e.Edotaccent=667,e.scaron=500,e.scedilla=500,e.iacute=278,e.lozenge=471,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=556,e.Amacron=667,e.rcaron=333,e.ccedilla=500,e.Zdotaccent=611,e.Thorn=667,e.Omacron=778,e.Racute=722,e.Sacute=667,e.dcaron=643,e.Umacron=722,e.uring=556,e.threesuperior=333,e.Ograve=778,e.Agrave=667,e.Abreve=667,e.multiply=584,e.uacute=556,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=556,e.edieresis=556,e.cacute=500,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=278,e.plusminus=584,e.brokenbar=260,e.registered=737,e.Gbreve=778,e.Idotaccent=278,e.summation=600,e.Egrave=667,e.racute=333,e.omacron=556,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=222,e.tcaron=317,e.eogonek=556,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=556,e.zacute=500,e.iogonek=222,e.Oacute=778,e.oacute=556,e.amacron=556,e.sacute=500,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=333,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=556,e.Eogonek=667,e.dcroat=556,e.threequarters=834,e.Scedilla=667,e.lcaron=299,e.Kcommaaccent=667,e.Lacute=556,e.trademark=1e3,e.edotaccent=556,e.Igrave=278,e.Imacron=278,e.Lcaron=556,e.onehalf=834,e.lessequal=549,e.ocircumflex=556,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=556,e.gbreve=556,e.onequarter=834,e.Scaron=667,e.Scommaaccent=667,e.Ohungarumlaut=778,e.degree=400,e.ograve=556,e.Ccaron=722,e.ugrave=556,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=556,e.Rcommaaccent=722,e.Lcommaaccent=556,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=778,e.zdotaccent=500,e.Ecaron=667,e.Iogonek=278,e.kcommaaccent=500,e.minus=584,e.Icircumflex=278,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=584,e.odieresis=556,e.udieresis=556,e.notequal=549,e.gcommaaccent=556,e.eth=556,e.zcaron=500,e.ncommaaccent=556,e.onesuperior=333,e.imacron=278,e.Euro=556}),e.Symbol=yt(function(e){e.space=250,e.exclam=333,e.universal=713,e.numbersign=500,e.existential=549,e.percent=833,e.ampersand=778,e.suchthat=439,e.parenleft=333,e.parenright=333,e.asteriskmath=500,e.plus=549,e.comma=250,e.minus=549,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=278,e.semicolon=278,e.less=549,e.equal=549,e.greater=549,e.question=444,e.congruent=549,e.Alpha=722,e.Beta=667,e.Chi=722,e.Delta=612,e.Epsilon=611,e.Phi=763,e.Gamma=603,e.Eta=722,e.Iota=333,e.theta1=631,e.Kappa=722,e.Lambda=686,e.Mu=889,e.Nu=722,e.Omicron=722,e.Pi=768,e.Theta=741,e.Rho=556,e.Sigma=592,e.Tau=611,e.Upsilon=690,e.sigma1=439,e.Omega=768,e.Xi=645,e.Psi=795,e.Zeta=611,e.bracketleft=333,e.therefore=863,e.bracketright=333,e.perpendicular=658,e.underscore=500,e.radicalex=500,e.alpha=631,e.beta=549,e.chi=549,e.delta=494,e.epsilon=439,e.phi=521,e.gamma=411,e.eta=603,e.iota=329,e.phi1=603,e.kappa=549,e.lambda=549,e.mu=576,e.nu=521,e.omicron=549,e.pi=549,e.theta=521,e.rho=549,e.sigma=603,e.tau=439,e.upsilon=576,e.omega1=713,e.omega=686,e.xi=493,e.psi=686,e.zeta=494,e.braceleft=480,e.bar=200,e.braceright=480,e.similar=549,e.Euro=750,e.Upsilon1=620,e.minute=247,e.lessequal=549,e.fraction=167,e.infinity=713,e.florin=500,e.club=753,e.diamond=753,e.heart=753,e.spade=753,e.arrowboth=1042,e.arrowleft=987,e.arrowup=603,e.arrowright=987,e.arrowdown=603,e.degree=400,e.plusminus=549,e.second=411,e.greaterequal=549,e.multiply=549,e.proportional=713,e.partialdiff=494,e.bullet=460,e.divide=549,e.notequal=549,e.equivalence=549,e.approxequal=549,e.ellipsis=1e3,e.arrowvertex=603,e.arrowhorizex=1e3,e.carriagereturn=658,e.aleph=823,e.Ifraktur=686,e.Rfraktur=795,e.weierstrass=987,e.circlemultiply=768,e.circleplus=768,e.emptyset=823,e.intersection=768,e.union=768,e.propersuperset=713,e.reflexsuperset=713,e.notsubset=713,e.propersubset=713,e.reflexsubset=713,e.element=713,e.notelement=713,e.angle=768,e.gradient=713,e.registerserif=790,e.copyrightserif=790,e.trademarkserif=890,e.product=823,e.radical=549,e.dotmath=250,e.logicalnot=713,e.logicaland=603,e.logicalor=603,e.arrowdblboth=1042,e.arrowdblleft=987,e.arrowdblup=603,e.arrowdblright=987,e.arrowdbldown=603,e.lozenge=494,e.angleleft=329,e.registersans=790,e.copyrightsans=790,e.trademarksans=786,e.summation=713,e.parenlefttp=384,e.parenleftex=384,e.parenleftbt=384,e.bracketlefttp=384,e.bracketleftex=384,e.bracketleftbt=384,e.bracelefttp=494,e.braceleftmid=494,e.braceleftbt=494,e.braceex=494,e.angleright=329,e.integral=274,e.integraltp=686,e.integralex=686,e.integralbt=686,e.parenrighttp=384,e.parenrightex=384,e.parenrightbt=384,e.bracketrighttp=384,e.bracketrightex=384,e.bracketrightbt=384,e.bracerighttp=494,e.bracerightmid=494,e.bracerightbt=494,e.apple=790}),e["Times-Roman"]=yt(function(e){e.space=250,e.exclam=333,e.quotedbl=408,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=564,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=278,e.semicolon=278,e.less=564,e.equal=564,e.greater=564,e.question=444,e.at=921,e.A=722,e.B=667,e.C=667,e.D=722,e.E=611,e.F=556,e.G=722,e.H=722,e.I=333,e.J=389,e.K=722,e.L=611,e.M=889,e.N=722,e.O=722,e.P=556,e.Q=722,e.R=667,e.S=556,e.T=611,e.U=722,e.V=722,e.W=944,e.X=722,e.Y=722,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=469,e.underscore=500,e.quoteleft=333,e.a=444,e.b=500,e.c=444,e.d=500,e.e=444,e.f=333,e.g=500,e.h=500,e.i=278,e.j=278,e.k=500,e.l=278,e.m=778,e.n=500,e.o=500,e.p=500,e.q=500,e.r=333,e.s=389,e.t=278,e.u=500,e.v=500,e.w=722,e.x=500,e.y=500,e.z=444,e.braceleft=480,e.bar=200,e.braceright=480,e.asciitilde=541,e.exclamdown=333,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=180,e.quotedblleft=444,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=453,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=444,e.quotedblright=444,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=444,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=889,e.ordfeminine=276,e.Lslash=611,e.Oslash=722,e.OE=889,e.ordmasculine=310,e.ae=667,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=500,e.Idieresis=333,e.eacute=444,e.abreve=444,e.uhungarumlaut=500,e.ecaron=444,e.Ydieresis=722,e.divide=564,e.Yacute=722,e.Acircumflex=722,e.aacute=444,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=444,e.Uacute=722,e.uogonek=500,e.Edieresis=611,e.Dcroat=722,e.commaaccent=250,e.copyright=760,e.Emacron=611,e.ccaron=444,e.aring=444,e.Ncommaaccent=722,e.lacute=278,e.agrave=444,e.Tcommaaccent=611,e.Cacute=667,e.atilde=444,e.Edotaccent=611,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=471,e.Rcaron=667,e.Gcommaaccent=722,e.ucircumflex=500,e.acircumflex=444,e.Amacron=722,e.rcaron=333,e.ccedilla=444,e.Zdotaccent=611,e.Thorn=556,e.Omacron=722,e.Racute=667,e.Sacute=556,e.dcaron=588,e.Umacron=722,e.uring=500,e.threesuperior=300,e.Ograve=722,e.Agrave=722,e.Abreve=722,e.multiply=564,e.uacute=500,e.Tcaron=611,e.partialdiff=476,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=611,e.adieresis=444,e.edieresis=444,e.cacute=444,e.nacute=500,e.umacron=500,e.Ncaron=722,e.Iacute=333,e.plusminus=564,e.brokenbar=200,e.registered=760,e.Gbreve=722,e.Idotaccent=333,e.summation=600,e.Egrave=611,e.racute=333,e.omacron=500,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=326,e.eogonek=444,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=444,e.zacute=444,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=444,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=500,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=611,e.dcroat=500,e.threequarters=750,e.Scedilla=556,e.lcaron=344,e.Kcommaaccent=722,e.Lacute=611,e.trademark=980,e.edotaccent=444,e.Igrave=333,e.Imacron=333,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=500,e.Uhungarumlaut=722,e.Eacute=611,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=500,e.radical=453,e.Dcaron=722,e.rcommaaccent=333,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=667,e.Lcommaaccent=611,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=722,e.zdotaccent=444,e.Ecaron=611,e.Iogonek=333,e.kcommaaccent=500,e.minus=564,e.Icircumflex=333,e.ncaron=500,e.tcommaaccent=278,e.logicalnot=564,e.odieresis=500,e.udieresis=500,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=444,e.ncommaaccent=500,e.onesuperior=300,e.imacron=278,e.Euro=500}),e["Times-Bold"]=yt(function(e){e.space=250,e.exclam=333,e.quotedbl=555,e.numbersign=500,e.dollar=500,e.percent=1e3,e.ampersand=833,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=570,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=570,e.equal=570,e.greater=570,e.question=500,e.at=930,e.A=722,e.B=667,e.C=722,e.D=722,e.E=667,e.F=611,e.G=778,e.H=778,e.I=389,e.J=500,e.K=778,e.L=667,e.M=944,e.N=722,e.O=778,e.P=611,e.Q=778,e.R=722,e.S=556,e.T=667,e.U=722,e.V=722,e.W=1e3,e.X=722,e.Y=722,e.Z=667,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=581,e.underscore=500,e.quoteleft=333,e.a=500,e.b=556,e.c=444,e.d=556,e.e=444,e.f=333,e.g=500,e.h=556,e.i=278,e.j=333,e.k=556,e.l=278,e.m=833,e.n=556,e.o=500,e.p=556,e.q=556,e.r=444,e.s=389,e.t=333,e.u=556,e.v=500,e.w=722,e.x=500,e.y=500,e.z=444,e.braceleft=394,e.bar=220,e.braceright=394,e.asciitilde=520,e.exclamdown=333,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=278,e.quotedblleft=500,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=540,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=1e3,e.ordfeminine=300,e.Lslash=667,e.Oslash=778,e.OE=1e3,e.ordmasculine=330,e.ae=722,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=556,e.Idieresis=389,e.eacute=444,e.abreve=500,e.uhungarumlaut=556,e.ecaron=444,e.Ydieresis=722,e.divide=570,e.Yacute=722,e.Acircumflex=722,e.aacute=500,e.Ucircumflex=722,e.yacute=500,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=747,e.Emacron=667,e.ccaron=444,e.aring=500,e.Ncommaaccent=722,e.lacute=278,e.agrave=500,e.Tcommaaccent=667,e.Cacute=722,e.atilde=500,e.Edotaccent=667,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=494,e.Rcaron=722,e.Gcommaaccent=778,e.ucircumflex=556,e.acircumflex=500,e.Amacron=722,e.rcaron=444,e.ccedilla=444,e.Zdotaccent=667,e.Thorn=611,e.Omacron=778,e.Racute=722,e.Sacute=556,e.dcaron=672,e.Umacron=722,e.uring=556,e.threesuperior=300,e.Ograve=778,e.Agrave=722,e.Abreve=722,e.multiply=570,e.uacute=556,e.Tcaron=667,e.partialdiff=494,e.ydieresis=500,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=389,e.plusminus=570,e.brokenbar=220,e.registered=747,e.Gbreve=778,e.Idotaccent=389,e.summation=600,e.Egrave=667,e.racute=444,e.omacron=500,e.Zacute=667,e.Zcaron=667,e.greaterequal=549,e.Eth=722,e.Ccedilla=722,e.lcommaaccent=278,e.tcaron=416,e.eogonek=444,e.Uogonek=722,e.Aacute=722,e.Adieresis=722,e.egrave=444,e.zacute=444,e.iogonek=278,e.Oacute=778,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=778,e.Ugrave=722,e.Delta=612,e.thorn=556,e.twosuperior=300,e.Odieresis=778,e.mu=556,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=667,e.dcroat=556,e.threequarters=750,e.Scedilla=556,e.lcaron=394,e.Kcommaaccent=778,e.Lacute=667,e.trademark=1e3,e.edotaccent=444,e.Igrave=389,e.Imacron=389,e.Lcaron=667,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=778,e.degree=400,e.ograve=500,e.Ccaron=722,e.ugrave=556,e.radical=549,e.Dcaron=722,e.rcommaaccent=444,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=722,e.Lcommaaccent=667,e.Atilde=722,e.Aogonek=722,e.Aring=722,e.Otilde=778,e.zdotaccent=444,e.Ecaron=667,e.Iogonek=389,e.kcommaaccent=556,e.minus=570,e.Icircumflex=389,e.ncaron=556,e.tcommaaccent=333,e.logicalnot=570,e.odieresis=500,e.udieresis=556,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=444,e.ncommaaccent=556,e.onesuperior=300,e.imacron=278,e.Euro=500}),e["Times-BoldItalic"]=yt(function(e){e.space=250,e.exclam=389,e.quotedbl=555,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=570,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=570,e.equal=570,e.greater=570,e.question=500,e.at=832,e.A=667,e.B=667,e.C=667,e.D=722,e.E=667,e.F=667,e.G=722,e.H=778,e.I=389,e.J=500,e.K=667,e.L=611,e.M=889,e.N=722,e.O=722,e.P=611,e.Q=722,e.R=667,e.S=556,e.T=611,e.U=722,e.V=667,e.W=889,e.X=667,e.Y=611,e.Z=611,e.bracketleft=333,e.backslash=278,e.bracketright=333,e.asciicircum=570,e.underscore=500,e.quoteleft=333,e.a=500,e.b=500,e.c=444,e.d=500,e.e=444,e.f=333,e.g=500,e.h=556,e.i=278,e.j=278,e.k=500,e.l=278,e.m=778,e.n=556,e.o=500,e.p=500,e.q=500,e.r=389,e.s=389,e.t=278,e.u=556,e.v=444,e.w=667,e.x=500,e.y=444,e.z=389,e.braceleft=348,e.bar=220,e.braceright=348,e.asciitilde=570,e.exclamdown=389,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=278,e.quotedblleft=500,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=556,e.fl=556,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=500,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=500,e.quotedblright=500,e.guillemotright=500,e.ellipsis=1e3,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=1e3,e.AE=944,e.ordfeminine=266,e.Lslash=611,e.Oslash=722,e.OE=944,e.ordmasculine=300,e.ae=722,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=722,e.germandbls=500,e.Idieresis=389,e.eacute=444,e.abreve=500,e.uhungarumlaut=556,e.ecaron=444,e.Ydieresis=611,e.divide=570,e.Yacute=611,e.Acircumflex=667,e.aacute=500,e.Ucircumflex=722,e.yacute=444,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=556,e.Edieresis=667,e.Dcroat=722,e.commaaccent=250,e.copyright=747,e.Emacron=667,e.ccaron=444,e.aring=500,e.Ncommaaccent=722,e.lacute=278,e.agrave=500,e.Tcommaaccent=611,e.Cacute=667,e.atilde=500,e.Edotaccent=667,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=494,e.Rcaron=667,e.Gcommaaccent=722,e.ucircumflex=556,e.acircumflex=500,e.Amacron=667,e.rcaron=389,e.ccedilla=444,e.Zdotaccent=611,e.Thorn=611,e.Omacron=722,e.Racute=667,e.Sacute=556,e.dcaron=608,e.Umacron=722,e.uring=556,e.threesuperior=300,e.Ograve=722,e.Agrave=667,e.Abreve=667,e.multiply=570,e.uacute=556,e.Tcaron=611,e.partialdiff=494,e.ydieresis=444,e.Nacute=722,e.icircumflex=278,e.Ecircumflex=667,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=556,e.umacron=556,e.Ncaron=722,e.Iacute=389,e.plusminus=570,e.brokenbar=220,e.registered=747,e.Gbreve=722,e.Idotaccent=389,e.summation=600,e.Egrave=667,e.racute=389,e.omacron=500,e.Zacute=611,e.Zcaron=611,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=366,e.eogonek=444,e.Uogonek=722,e.Aacute=667,e.Adieresis=667,e.egrave=444,e.zacute=389,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=576,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=667,e.dcroat=500,e.threequarters=750,e.Scedilla=556,e.lcaron=382,e.Kcommaaccent=667,e.Lacute=611,e.trademark=1e3,e.edotaccent=444,e.Igrave=389,e.Imacron=389,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=556,e.Uhungarumlaut=722,e.Eacute=667,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=556,e.Scommaaccent=556,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=556,e.radical=549,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=722,e.otilde=500,e.Rcommaaccent=667,e.Lcommaaccent=611,e.Atilde=667,e.Aogonek=667,e.Aring=667,e.Otilde=722,e.zdotaccent=389,e.Ecaron=667,e.Iogonek=389,e.kcommaaccent=500,e.minus=606,e.Icircumflex=389,e.ncaron=556,e.tcommaaccent=278,e.logicalnot=606,e.odieresis=500,e.udieresis=556,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=389,e.ncommaaccent=556,e.onesuperior=300,e.imacron=278,e.Euro=500}),e["Times-Italic"]=yt(function(e){e.space=250,e.exclam=333,e.quotedbl=420,e.numbersign=500,e.dollar=500,e.percent=833,e.ampersand=778,e.quoteright=333,e.parenleft=333,e.parenright=333,e.asterisk=500,e.plus=675,e.comma=250,e.hyphen=333,e.period=250,e.slash=278,e.zero=500,e.one=500,e.two=500,e.three=500,e.four=500,e.five=500,e.six=500,e.seven=500,e.eight=500,e.nine=500,e.colon=333,e.semicolon=333,e.less=675,e.equal=675,e.greater=675,e.question=500,e.at=920,e.A=611,e.B=611,e.C=667,e.D=722,e.E=611,e.F=611,e.G=722,e.H=722,e.I=333,e.J=444,e.K=667,e.L=556,e.M=833,e.N=667,e.O=722,e.P=611,e.Q=722,e.R=611,e.S=500,e.T=556,e.U=722,e.V=611,e.W=833,e.X=611,e.Y=556,e.Z=556,e.bracketleft=389,e.backslash=278,e.bracketright=389,e.asciicircum=422,e.underscore=500,e.quoteleft=333,e.a=500,e.b=500,e.c=444,e.d=500,e.e=444,e.f=278,e.g=500,e.h=500,e.i=278,e.j=278,e.k=444,e.l=278,e.m=722,e.n=500,e.o=500,e.p=500,e.q=500,e.r=389,e.s=389,e.t=278,e.u=500,e.v=444,e.w=667,e.x=444,e.y=444,e.z=389,e.braceleft=400,e.bar=275,e.braceright=400,e.asciitilde=541,e.exclamdown=389,e.cent=500,e.sterling=500,e.fraction=167,e.yen=500,e.florin=500,e.section=500,e.currency=500,e.quotesingle=214,e.quotedblleft=556,e.guillemotleft=500,e.guilsinglleft=333,e.guilsinglright=333,e.fi=500,e.fl=500,e.endash=500,e.dagger=500,e.daggerdbl=500,e.periodcentered=250,e.paragraph=523,e.bullet=350,e.quotesinglbase=333,e.quotedblbase=556,e.quotedblright=556,e.guillemotright=500,e.ellipsis=889,e.perthousand=1e3,e.questiondown=500,e.grave=333,e.acute=333,e.circumflex=333,e.tilde=333,e.macron=333,e.breve=333,e.dotaccent=333,e.dieresis=333,e.ring=333,e.cedilla=333,e.hungarumlaut=333,e.ogonek=333,e.caron=333,e.emdash=889,e.AE=889,e.ordfeminine=276,e.Lslash=556,e.Oslash=722,e.OE=944,e.ordmasculine=310,e.ae=667,e.dotlessi=278,e.lslash=278,e.oslash=500,e.oe=667,e.germandbls=500,e.Idieresis=333,e.eacute=444,e.abreve=500,e.uhungarumlaut=500,e.ecaron=444,e.Ydieresis=556,e.divide=675,e.Yacute=556,e.Acircumflex=611,e.aacute=500,e.Ucircumflex=722,e.yacute=444,e.scommaaccent=389,e.ecircumflex=444,e.Uring=722,e.Udieresis=722,e.aogonek=500,e.Uacute=722,e.uogonek=500,e.Edieresis=611,e.Dcroat=722,e.commaaccent=250,e.copyright=760,e.Emacron=611,e.ccaron=444,e.aring=500,e.Ncommaaccent=667,e.lacute=278,e.agrave=500,e.Tcommaaccent=556,e.Cacute=667,e.atilde=500,e.Edotaccent=611,e.scaron=389,e.scedilla=389,e.iacute=278,e.lozenge=471,e.Rcaron=611,e.Gcommaaccent=722,e.ucircumflex=500,e.acircumflex=500,e.Amacron=611,e.rcaron=389,e.ccedilla=444,e.Zdotaccent=556,e.Thorn=611,e.Omacron=722,e.Racute=611,e.Sacute=500,e.dcaron=544,e.Umacron=722,e.uring=500,e.threesuperior=300,e.Ograve=722,e.Agrave=611,e.Abreve=611,e.multiply=675,e.uacute=500,e.Tcaron=556,e.partialdiff=476,e.ydieresis=444,e.Nacute=667,e.icircumflex=278,e.Ecircumflex=611,e.adieresis=500,e.edieresis=444,e.cacute=444,e.nacute=500,e.umacron=500,e.Ncaron=667,e.Iacute=333,e.plusminus=675,e.brokenbar=275,e.registered=760,e.Gbreve=722,e.Idotaccent=333,e.summation=600,e.Egrave=611,e.racute=389,e.omacron=500,e.Zacute=556,e.Zcaron=556,e.greaterequal=549,e.Eth=722,e.Ccedilla=667,e.lcommaaccent=278,e.tcaron=300,e.eogonek=444,e.Uogonek=722,e.Aacute=611,e.Adieresis=611,e.egrave=444,e.zacute=389,e.iogonek=278,e.Oacute=722,e.oacute=500,e.amacron=500,e.sacute=389,e.idieresis=278,e.Ocircumflex=722,e.Ugrave=722,e.Delta=612,e.thorn=500,e.twosuperior=300,e.Odieresis=722,e.mu=500,e.igrave=278,e.ohungarumlaut=500,e.Eogonek=611,e.dcroat=500,e.threequarters=750,e.Scedilla=500,e.lcaron=300,e.Kcommaaccent=667,e.Lacute=556,e.trademark=980,e.edotaccent=444,e.Igrave=333,e.Imacron=333,e.Lcaron=611,e.onehalf=750,e.lessequal=549,e.ocircumflex=500,e.ntilde=500,e.Uhungarumlaut=722,e.Eacute=611,e.emacron=444,e.gbreve=500,e.onequarter=750,e.Scaron=500,e.Scommaaccent=500,e.Ohungarumlaut=722,e.degree=400,e.ograve=500,e.Ccaron=667,e.ugrave=500,e.radical=453,e.Dcaron=722,e.rcommaaccent=389,e.Ntilde=667,e.otilde=500,e.Rcommaaccent=611,e.Lcommaaccent=556,e.Atilde=611,e.Aogonek=611,e.Aring=611,e.Otilde=722,e.zdotaccent=389,e.Ecaron=611,e.Iogonek=333,e.kcommaaccent=444,e.minus=675,e.Icircumflex=333,e.ncaron=500,e.tcommaaccent=278,e.logicalnot=675,e.odieresis=500,e.udieresis=500,e.notequal=549,e.gcommaaccent=500,e.eth=500,e.zcaron=389,e.ncommaaccent=500,e.onesuperior=300,e.imacron=278,e.Euro=500}),e.ZapfDingbats=yt(function(e){e.space=278,e.a1=974,e.a2=961,e.a202=974,e.a3=980,e.a4=719,e.a5=789,e.a119=790,e.a118=791,e.a117=690,e.a11=960,e.a12=939,e.a13=549,e.a14=855,e.a15=911,e.a16=933,e.a105=911,e.a17=945,e.a18=974,e.a19=755,e.a20=846,e.a21=762,e.a22=761,e.a23=571,e.a24=677,e.a25=763,e.a26=760,e.a27=759,e.a28=754,e.a6=494,e.a7=552,e.a8=537,e.a9=577,e.a10=692,e.a29=786,e.a30=788,e.a31=788,e.a32=790,e.a33=793,e.a34=794,e.a35=816,e.a36=823,e.a37=789,e.a38=841,e.a39=823,e.a40=833,e.a41=816,e.a42=831,e.a43=923,e.a44=744,e.a45=723,e.a46=749,e.a47=790,e.a48=792,e.a49=695,e.a50=776,e.a51=768,e.a52=792,e.a53=759,e.a54=707,e.a55=708,e.a56=682,e.a57=701,e.a58=826,e.a59=815,e.a60=789,e.a61=789,e.a62=707,e.a63=687,e.a64=696,e.a65=689,e.a66=786,e.a67=787,e.a68=713,e.a69=791,e.a70=785,e.a71=791,e.a72=873,e.a73=761,e.a74=762,e.a203=762,e.a75=759,e.a204=759,e.a76=892,e.a77=892,e.a78=788,e.a79=784,e.a81=438,e.a82=138,e.a83=277,e.a84=415,e.a97=392,e.a98=392,e.a99=668,e.a100=668,e.a89=390,e.a90=390,e.a93=317,e.a94=317,e.a91=276,e.a92=276,e.a205=509,e.a85=509,e.a206=410,e.a86=410,e.a87=234,e.a88=234,e.a95=334,e.a96=334,e.a101=732,e.a102=544,e.a103=544,e.a104=910,e.a106=667,e.a107=760,e.a108=760,e.a112=776,e.a111=595,e.a110=694,e.a109=626,e.a120=788,e.a121=788,e.a122=788,e.a123=788,e.a124=788,e.a125=788,e.a126=788,e.a127=788,e.a128=788,e.a129=788,e.a130=788,e.a131=788,e.a132=788,e.a133=788,e.a134=788,e.a135=788,e.a136=788,e.a137=788,e.a138=788,e.a139=788,e.a140=788,e.a141=788,e.a142=788,e.a143=788,e.a144=788,e.a145=788,e.a146=788,e.a147=788,e.a148=788,e.a149=788,e.a150=788,e.a151=788,e.a152=788,e.a153=788,e.a154=788,e.a155=788,e.a156=788,e.a157=788,e.a158=788,e.a159=788,e.a160=894,e.a161=838,e.a163=1016,e.a164=458,e.a196=748,e.a165=924,e.a192=748,e.a166=918,e.a167=927,e.a168=928,e.a169=928,e.a170=834,e.a171=873,e.a172=828,e.a173=924,e.a162=924,e.a174=917,e.a175=930,e.a176=931,e.a177=463,e.a178=883,e.a179=836,e.a193=836,e.a180=867,e.a199=867,e.a181=696,e.a200=696,e.a182=874,e.a201=874,e.a183=760,e.a184=946,e.a197=771,e.a185=865,e.a194=771,e.a198=888,e.a186=967,e.a195=888,e.a187=831,e.a188=873,e.a189=927,e.a190=970,e.a191=918})}),ri=yt(function(e){e.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426},e["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439},e["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},e.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523},e["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523},e["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532},e["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450},e["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461},e["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441},e["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462},e.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN},e.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}});class ni{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){try{for(const t in this._map){let i=this._map[t];console.log("charCode",t,i),e(t,i.charCodeAt(0))}}catch(t){console.warn("charcode in _map error",t)}}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const i in t)if(t[i]===e)return 0|i;return-1}amend(e){for(const t in e)this._map[t]=e[t]}}class ai{constructor(e,t){this.firstChar=e,this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,i=this.lastChar;t<=i;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){Ke("Should not call amend()")}}const si=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","space","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"],oi=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,333,250,0,500,500,500,500,500,500,500,500,500,500,333,0,0,570,0,0,0,722,667,722,722,667,611,778,0,389,500,0,667,944,722,778,611,0,722,556,667,0,722,1e3,0,0,0,0,0,0,0,0,0,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,0,444,389,333,556,500,722,500,500,444],ci=new ni([null,"˙","fi","fl","⁄","˝","Ł","ł","˛","˚",null,"˘","−",null,"Ž","ž","ˇ","ı","","ff","ffi","ffl","≠","∞","≤","≥","∂","∑","∏","π","`","'"," ","!",'"',"#","$","%","&","’","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","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","[","\\","]","^","_","‘","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","{","|","}","~",null,"€","∫","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ω","√","≈","ê","ë","í","“","”","•","–","—","˜","™","š","›","œ","∆","◊","Ÿ","†","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","-","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ"]);class li{constructor(e,t){this._imgData=e,this._isMask=t}static needsToBeResized(e,t){if(e<=this._goodSquareLength&&t<=this._goodSquareLength)return!1;const{MAX_DIM:i}=this;if(e>i||t>i)return!0;const r=e*t;return this._hasMaxArea?r>this.MAX_AREA:!(r<this._goodSquareLength**2)&&(this._areGoodDims(e,t)?(this._goodSquareLength=Math.max(this._goodSquareLength,Math.floor(Math.sqrt(e*t))),!1):(this._goodSquareLength=this._guessMax(this._goodSquareLength,i,128,0),r>(this.MAX_AREA=this._goodSquareLength**2)))}static get MAX_DIM(){return Ve(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){return this._hasMaxArea=!0,Ve(this,"MAX_AREA",this._guessMax(li._goodSquareLength,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){e>=0&&(this._hasMaxArea=!0,Ve(this,"MAX_AREA",e))}static setMaxArea(e){this._hasMaxArea||(this.MAX_AREA=e>>2)}static _areGoodDims(e,t){try{const i=new OffscreenCanvas(e,t),r=i.getContext("2d");r.fillRect(0,0,1,1);const n=r.getImageData(0,0,1,1).data[3];return i.width=i.height=1,0!==n}catch{return!1}}static _guessMax(e,t,i,r){for(;e+i+1<t;){const i=Math.floor((e+t)/2),n=r||i;this._areGoodDims(i,n)?e=i:t=i}return e}static async createImage(e,t=!1){return new li(e,t)._createImage()}async _createImage(){const e=this._encodeBMP(),t=new Blob([e.buffer],{type:"image/bmp"}),i=createImageBitmap(t),{MAX_AREA:r,MAX_DIM:n}=li,{_imgData:a}=this,{width:s,height:o}=a,c=Math.max(s/n,o/n,Math.sqrt(s*o/r)),l=Math.max(c,2),u=Math.round(10*(c+1.25))/10/l,h=Math.floor(Math.log2(u)),d=new Array(h+2).fill(2);d[0]=l,d.splice(-1,1,u/(1<<h));let p=s,f=o,g=await i;for(const m of d){const e=p,t=f;p=Math.floor(p/m)-1,f=Math.floor(f/m)-1;const i=new OffscreenCanvas(p,f);i.getContext("2d").drawImage(g,0,0,e,t,0,0,p,f),g=i.transferToImageBitmap()}return a.data=null,a.bitmap=g,a.width=p,a.height=f,a}_encodeBMP(){const{width:e,height:t,kind:i}=this._imgData;let r,n=this._imgData.data,a=new Uint8Array(0),s=a,o=0;switch(i){case 1:{r=1,a=new Uint8Array(this._isMask?[255,255,255,255,0,0,0,0]:[0,0,0,0,255,255,255,255]);const i=e+7>>3,s=i+3&-4;if(i!==s){const e=new Uint8Array(s*t);let r=0;for(let a=0,o=t*i;a<o;a+=i,r+=s)e.set(n.subarray(a,a+i),r);n=e}break}case 2:if(r=24,3&e){const i=3*e,r=i+3&-4,a=r-i,s=new Uint8Array(r*t);let o=0;for(let e=0,c=t*i;e<c;e+=i){const t=n.subarray(e,e+i);for(let e=0;e<i;e+=3)s[o++]=t[e+2],s[o++]=t[e+1],s[o++]=t[e];o+=a}n=s}else for(let e=0,t=n.length;e<t;e+=3){const t=n[e];n[e]=n[e+2],n[e+2]=t}break;case 3:r=32,o=3,s=new Uint8Array(68);const i=new DataView(s.buffer);Je.isLittleEndian?(i.setUint32(0,255,!0),i.setUint32(4,65280,!0),i.setUint32(8,16711680,!0),i.setUint32(12,4278190080,!0)):(i.setUint32(0,4278190080,!0),i.setUint32(4,16711680,!0),i.setUint32(8,65280,!0),i.setUint32(12,255,!0));break;default:throw new Error("invalid format")}let c=0;const l=40+s.length,u=14+l+a.length+n.length,h=new Uint8Array(u),d=new DataView(h.buffer);return d.setUint16(c,19778,!0),c+=2,d.setUint32(c,u,!0),c+=4,d.setUint32(c,0,!0),c+=4,d.setUint32(c,14+l+a.length,!0),c+=4,d.setUint32(c,l,!0),c+=4,d.setInt32(c,e,!0),c+=4,d.setInt32(c,-t,!0),c+=4,d.setUint16(c,1,!0),c+=2,d.setUint16(c,r,!0),c+=2,d.setUint32(c,o,!0),c+=4,d.setUint32(c,0,!0),c+=4,d.setInt32(c,0,!0),c+=4,d.setInt32(c,0,!0),c+=4,d.setUint32(c,a.length/4,!0),c+=4,d.setUint32(c,0,!0),c+=4,h.set(s,c),c+=s.length,h.set(a,c),c+=a.length,h.set(n,c),h}}li._goodSquareLength=2048;class ui{constructor(e){this.constructor===ui&&Ke("Cannot initialize BaseLocalCache."),this._onlyRefs=!0===(null==e?void 0:e.onlyRefs),this._onlyRefs||(this._nameRefMap=new Map,this._imageMap=new Map),this._imageCache=new ft}getByName(e){this._onlyRefs&&Ke("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,i){Ke("Abstract method `set` called.")}}class hi extends ui{set(e,t=null,i){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;return this._nameRefMap.set(e,t),void this._imageCache.put(t,i)}this._imageMap.has(e)||this._imageMap.set(e,i)}}class di extends ui{set(e=null,t=null,i){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;return null!==e&&this._nameRefMap.set(e,t),void this._imageCache.put(t,i)}this._imageMap.has(e)||this._imageMap.set(e,i)}}class pi extends ui{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class fi extends ui{set(e,t=null,i){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;return this._nameRefMap.set(e,t),void this._imageCache.put(t,i)}this._imageMap.has(e)||this._imageMap.set(e,i)}}class gi extends ui{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class mi extends ui{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class bi{constructor(e){this.lexer=e,this.operators=[],this.token=null,this.prev=null}nextToken(){this.prev=this.token,this.token=this.lexer.getToken()}accept(e){return this.token.type===e&&(this.nextToken(),!0)}expect(e){if(this.accept(e))return!0;throw new We(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){return this.nextToken(),this.expect(yi.LBRACE),this.parseBlock(),this.expect(yi.RBRACE),this.operators}parseBlock(){for(;;)if(this.accept(yi.NUMBER))this.operators.push(this.prev.value);else if(this.accept(yi.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(yi.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(yi.RBRACE),this.accept(yi.IF))this.operators[e]=this.operators.length,this.operators[e+1]="jz";else{if(!this.accept(yi.LBRACE))throw new We("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const i=this.operators.length;this.parseBlock(),this.expect(yi.RBRACE),this.expect(yi.IFELSE),this.operators[t]=this.operators.length,this.operators[t+1]="j",this.operators[e]=i,this.operators[e+1]="jz"}}}}const yi={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class vi{static get opCache(){return Ve(this,"opCache",Object.create(null))}constructor(e,t){this.type=e,this.value=t}static getOperator(e){var t;return(t=vi.opCache)[e]||(t[e]=new vi(yi.OPERATOR,e))}static get LBRACE(){return Ve(this,"LBRACE",new vi(yi.LBRACE,"{"))}static get RBRACE(){return Ve(this,"RBRACE",new vi(yi.RBRACE,"}"))}static get IF(){return Ve(this,"IF",new vi(yi.IF,"IF"))}static get IFELSE(){return Ve(this,"IFELSE",new vi(yi.IFELSE,"IFELSE"))}}class Si{constructor(e){this.stream=e,this.nextChar(),this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return at;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!wt(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new vi(yi.NUMBER,this.getNumber());case 123:return this.nextChar(),vi.LBRACE;case 125:return this.nextChar(),vi.RBRACE}const i=this.strBuf;for(i.length=0,i[0]=String.fromCharCode(t);(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)i.push(String.fromCharCode(t));const r=i.join("");switch(r.toLowerCase()){case"if":return vi.IF;case"ifelse":return vi.IFELSE;default:return vi.getOperator(r)}}getNumber(){let e=this.currentChar;const t=this.strBuf;for(t.length=0,t[0]=String.fromCharCode(e);(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const i=parseFloat(t.join(""));if(isNaN(i))throw new We(`Invalid floating point number: ${i}`);return i}}class Ci{constructor({xref:e,isEvalSupported:t=!0}){this.xref=e,this.isEvalSupported=!1!==t}create(e){const t=this.getCached(e);if(t)return t;const i=wi.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:e instanceof pt?this.xref.fetch(e):e});return this._cache(e,i),i}createFromArray(e){const t=this.getCached(e);if(t)return t;const i=wi.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:e instanceof pt?this.xref.fetch(e):e});return this._cache(e,i),i}getCached(e){var t;let i;if(e instanceof pt?i=e:e instanceof dt?i=e.objId:e instanceof bt&&(i=null==(t=e.dict)?void 0:t.objId),i){const e=this._localFunctionCache.getByRef(i);if(e)return e}return null}_cache(e,t){var i;if(!t)throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.');let r;e instanceof pt?r=e:e instanceof dt?r=e.objId:e instanceof bt&&(r=null==(i=e.dict)?void 0:i.objId),r&&this._localFunctionCache.set(null,r,t)}get _localFunctionCache(){return Ve(this,"_localFunctionCache",new pi)}}function xi(e){if(!Array.isArray(e))return null;const t=e.length;for(let i=0;i<t;i++)if("number"!=typeof e[i]){const i=new Array(t);for(let r=0;r<t;r++)i[r]=+e[r];return i}return e}class wi{static getSampleArray(e,t,i,r){let n,a,s=1;for(n=0,a=e.length;n<a;n++)s*=e[n];s*=t;const o=new Array(s);let c=0,l=0;const u=1/(2**i-1),h=r.getBytes((s*i+7)/8);let d=0;for(n=0;n<s;n++){for(;c<i;)l<<=8,l|=h[d++],c+=8;c-=i,o[n]=(l>>c)*u,l&=(1<<c)-1}return o}static parse({xref:e,isEvalSupported:t,fn:i}){const r=i.dict||i;switch(r.get("FunctionType")){case 0:return this.constructSampled({xref:e,isEvalSupported:t,fn:i,dict:r});case 1:break;case 2:return this.constructInterpolated({xref:e,isEvalSupported:t,dict:r});case 3:return this.constructStiched({xref:e,isEvalSupported:t,dict:r});case 4:return this.constructPostScript({xref:e,isEvalSupported:t,fn:i,dict:r})}throw new We("Unknown type of function")}static parseArray({xref:e,isEvalSupported:t,fnObj:i}){if(!Array.isArray(i))return this.parse({xref:e,isEvalSupported:t,fn:i});const r=[];for(const n of i)r.push(this.parse({xref:e,isEvalSupported:t,fn:e.fetchIfRef(n)}));return function(e,t,i,n){for(let a=0,s=r.length;a<s;a++)r[a](e,t,i,n+a)}}static constructSampled({xref:e,isEvalSupported:t,fn:i,dict:r}){function n(e){const t=e.length,i=[];let r=0;for(let n=0;n<t;n+=2)i[r++]=[e[n],e[n+1]];return i}function a(e,t,i,r,n){return r+(n-r)/(i-t)*(e-t)}let s=xi(r.getArray("Domain")),o=xi(r.getArray("Range"));if(!s||!o)throw new We("No domain or range");const c=s.length/2,l=o.length/2;s=n(s),o=n(o);const u=xi(r.getArray("Size")),h=r.get("BitsPerSample");r.get("Order");let d=xi(r.getArray("Encode"));if(d)d=n(d);else{d=[];for(let e=0;e<c;++e)d.push([0,u[e]-1])}let p=xi(r.getArray("Decode"));p=p?n(p):o;const f=this.getSampleArray(u,l,h,i);return function(e,t,i,r){const n=1<<c,h=new Float64Array(n),g=new Uint32Array(n);let m,b;for(b=0;b<n;b++)h[b]=1;let y=l,v=1;for(m=0;m<c;++m){const i=s[m][0],r=s[m][1];let o=a(Math.min(Math.max(e[t+m],i),r),i,r,d[m][0],d[m][1]);const c=u[m];o=Math.min(Math.max(o,0),c-1);const l=o<c-1?Math.floor(o):o-1,p=l+1-o,f=o-l,S=l*y,C=S+y;for(b=0;b<n;b++)b&v?(h[b]*=f,g[b]+=C):(h[b]*=p,g[b]+=S);y*=c,v<<=1}for(b=0;b<l;++b){let e=0;for(m=0;m<n;m++)e+=f[g[m]+b]*h[m];e=a(e,0,1,p[b][0],p[b][1]),i[r+b]=Math.min(Math.max(e,o[b][0]),o[b][1])}}}static constructInterpolated({xref:e,isEvalSupported:t,dict:i}){const r=xi(i.getArray("C0"))||[0],n=xi(i.getArray("C1"))||[1],a=i.get("N"),s=[];for(let c=0,l=r.length;c<l;++c)s.push(n[c]-r[c]);const o=s.length;return function(e,t,i,n){const c=1===a?e[t]:e[t]**a;for(let a=0;a<o;++a)i[n+a]=r[a]+c*s[a]}}static constructStiched({xref:e,isEvalSupported:t,dict:i}){const r=xi(i.getArray("Domain"));if(!r)throw new We("No domain");if(1!=r.length/2)throw new We("Bad domain for stiched function");const n=[];for(const c of i.get("Functions"))n.push(this.parse({xref:e,isEvalSupported:t,fn:e.fetchIfRef(c)}));const a=xi(i.getArray("Bounds")),s=xi(i.getArray("Encode")),o=new Float32Array(1);return function(e,t,i,c){const l=(h=e[t],d=r[0],p=r[1],h>p?h=p:h<d&&(h=d),h),u=a.length;var h,d,p;let f;for(f=0;f<u&&!(l<a[f]);++f);let g=r[0];f>0&&(g=a[f-1]);let m=r[1];f<a.length&&(m=a[f]);const b=s[2*f],y=s[2*f+1];o[0]=g===m?b:b+(l-g)*(y-b)/(m-g),n[f](o,0,i,c)}}static constructPostScript({xref:e,isEvalSupported:t,fn:i,dict:r}){const n=xi(r.getArray("Domain")),a=xi(r.getArray("Range"));if(!n)throw new We("No domain.");if(!a)throw new We("No range.");const s=new Si(i),o=new bi(s).parse();if(t&&Je.isEvalSupported){const e=(new Hi).compile(o,n,a);if(e)return new Function("src","srcOffset","dest","destOffset",e)}const c=a.length>>1,l=n.length>>1,u=new Ii(o),h=Object.create(null);let d=8192;const p=new Float32Array(l);return function(e,t,i,r){let n,s,o="";const f=p;for(n=0;n<l;n++)s=e[t+n],f[n]=s,o+=s+"_";const g=h[o];if(void 0!==g)return void i.set(g,r);const m=new Float32Array(c),b=u.execute(f),y=b.length-c;for(n=0;n<c;n++){s=b[y+n];let e=a[2*n];s<e?s=e:(e=a[2*n+1],s>e&&(s=e)),m[n]=s}d>0&&(d--,h[o]=m),i.set(m,r)}}}function Ai(e){let t;if(e instanceof dt)t=e;else{if(!(e instanceof bt))return!1;t=e.dict}return t.has("FunctionType")}const Ei=class e{constructor(e){this.stack=e?Array.from(e):[]}push(t){if(this.stack.length>=e.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(t)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(t){if(this.stack.length+t>=e.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const i=this.stack;for(let e=i.length-t,r=t-1;r>=0;r--,e++)i.push(i[e])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const i=this.stack,r=i.length-e,n=i.length-1,a=r+(t-Math.floor(t/e)*e);for(let s=r,o=n;s<o;s++,o--){const e=i[s];i[s]=i[o],i[o]=e}for(let s=r,o=a-1;s<o;s++,o--){const e=i[s];i[s]=i[o],i[o]=e}for(let s=a,o=n;s<o;s++,o--){const e=i[s];i[s]=i[o],i[o]=e}}};i(Ei,"MAX_STACK_SIZE",100);let ki=Ei;class Ii{constructor(e){this.operators=e}execute(e){const t=new ki(e);let i=0;const r=this.operators,n=r.length;let a,s,o;for(;i<n;)if(a=r[i++],"number"!=typeof a)switch(a){case"jz":o=t.pop(),s=t.pop(),s||(i=o);break;case"j":s=t.pop(),i=s;break;case"abs":s=t.pop(),t.push(Math.abs(s));break;case"add":o=t.pop(),s=t.pop(),t.push(s+o);break;case"and":o=t.pop(),s=t.pop(),"boolean"==typeof s&&"boolean"==typeof o?t.push(s&&o):t.push(s&o);break;case"atan":o=t.pop(),s=t.pop(),s=Math.atan2(s,o)/Math.PI*180,s<0&&(s+=360),t.push(s);break;case"bitshift":o=t.pop(),s=t.pop(),s>0?t.push(s<<o):t.push(s>>o);break;case"ceiling":s=t.pop(),t.push(Math.ceil(s));break;case"copy":s=t.pop(),t.copy(s);break;case"cos":s=t.pop(),t.push(Math.cos(s%360/180*Math.PI));break;case"cvi":s=0|t.pop(),t.push(s);break;case"cvr":break;case"div":o=t.pop(),s=t.pop(),t.push(s/o);break;case"dup":t.copy(1);break;case"eq":o=t.pop(),s=t.pop(),t.push(s===o);break;case"exch":t.roll(2,1);break;case"exp":o=t.pop(),s=t.pop(),t.push(s**o);break;case"false":t.push(!1);break;case"floor":s=t.pop(),t.push(Math.floor(s));break;case"ge":o=t.pop(),s=t.pop(),t.push(s>=o);break;case"gt":o=t.pop(),s=t.pop(),t.push(s>o);break;case"idiv":o=t.pop(),s=t.pop(),t.push(s/o|0);break;case"index":s=t.pop(),t.index(s);break;case"le":o=t.pop(),s=t.pop(),t.push(s<=o);break;case"ln":s=t.pop(),t.push(Math.log(s));break;case"log":s=t.pop(),t.push(Math.log10(s));break;case"lt":o=t.pop(),s=t.pop(),t.push(s<o);break;case"mod":o=t.pop(),s=t.pop(),t.push(s%o);break;case"mul":o=t.pop(),s=t.pop(),t.push(s*o);break;case"ne":o=t.pop(),s=t.pop(),t.push(s!==o);break;case"neg":s=t.pop(),t.push(-s);break;case"not":s=t.pop(),"boolean"==typeof s?t.push(!s):t.push(~s);break;case"or":o=t.pop(),s=t.pop(),"boolean"==typeof s&&"boolean"==typeof o?t.push(s||o):t.push(s|o);break;case"pop":t.pop();break;case"roll":o=t.pop(),s=t.pop(),t.roll(s,o);break;case"round":s=t.pop(),t.push(Math.round(s));break;case"sin":s=t.pop(),t.push(Math.sin(s%360/180*Math.PI));break;case"sqrt":s=t.pop(),t.push(Math.sqrt(s));break;case"sub":o=t.pop(),s=t.pop(),t.push(s-o);break;case"true":t.push(!0);break;case"truncate":s=t.pop(),s=s<0?Math.ceil(s):Math.floor(s),t.push(s);break;case"xor":o=t.pop(),s=t.pop(),"boolean"==typeof s&&"boolean"==typeof o?t.push(s!==o):t.push(s^o);break;default:throw new We(`Unknown operator ${a}`)}else t.push(a);return t.stack}}class Ti{constructor(e){this.type=e}visit(e){Ke("abstract method")}}class Di extends Ti{constructor(e,t,i){super("args"),this.index=e,this.min=t,this.max=i}visit(e){e.visitArgument(this)}}class Fi extends Ti{constructor(e){super("literal"),this.number=e,this.min=e,this.max=e}visit(e){e.visitLiteral(this)}}class Pi extends Ti{constructor(e,t,i,r,n){super("binary"),this.op=e,this.arg1=t,this.arg2=i,this.min=r,this.max=n}visit(e){e.visitBinaryOperation(this)}}class Bi extends Ti{constructor(e,t){super("max"),this.arg=e,this.min=e.min,this.max=t}visit(e){e.visitMin(this)}}class Oi extends Ti{constructor(e,t,i){super("var"),this.index=e,this.min=t,this.max=i}visit(e){e.visitVariable(this)}}class Ni extends Ti{constructor(e,t){super("definition"),this.variable=e,this.arg=t}visit(e){e.visitVariableDefinition(this)}}class Mi{constructor(){this.parts=[]}visitArgument(e){this.parts.push("Math.max(",e.min,", Math.min(",e.max,", src[srcOffset + ",e.index,"]))")}visitVariable(e){this.parts.push("v",e.index)}visitLiteral(e){this.parts.push(e.number)}visitBinaryOperation(e){this.parts.push("("),e.arg1.visit(this),this.parts.push(" ",e.op," "),e.arg2.visit(this),this.parts.push(")")}visitVariableDefinition(e){this.parts.push("var "),e.variable.visit(this),this.parts.push(" = "),e.arg.visit(this),this.parts.push(";")}visitMin(e){this.parts.push("Math.min("),e.arg.visit(this),this.parts.push(", ",e.max,")")}toString(){return this.parts.join("")}}function Ri(e,t){return"literal"===t.type&&0===t.number?e:"literal"===e.type&&0===e.number?t:"literal"===t.type&&"literal"===e.type?new Fi(e.number+t.number):new Pi("+",e,t,e.min+t.min,e.max+t.max)}function _i(e,t){if("literal"===t.type){if(0===t.number)return new Fi(0);if(1===t.number)return e;if("literal"===e.type)return new Fi(e.number*t.number)}if("literal"===e.type){if(0===e.number)return new Fi(0);if(1===e.number)return t}const i=Math.min(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max),r=Math.max(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max);return new Pi("*",e,t,i,r)}function Ui(e,t){if("literal"===t.type){if(0===t.number)return e;if("literal"===e.type)return new Fi(e.number-t.number)}return"binary"===t.type&&"-"===t.op&&"literal"===e.type&&1===e.number&&"literal"===t.arg1.type&&1===t.arg1.number?t.arg2:new Pi("-",e,t,e.min-t.max,e.max-t.min)}function Li(e,t){return e.min>=t?new Fi(t):e.max<=t?e:new Bi(e,t)}class Hi{compile(e,t,i){const r=[],n=[],a=t.length>>1,s=i.length>>1;let o,c,l,u,h,d,p,f,g=0;for(let b=0;b<a;b++)r.push(new Di(b,t[2*b],t[2*b+1]));for(let b=0,y=e.length;b<y;b++)if(f=e[b],"number"!=typeof f)switch(f){case"add":if(r.length<2)return null;u=r.pop(),l=r.pop(),r.push(Ri(l,u));break;case"cvr":if(r.length<1)return null;break;case"mul":if(r.length<2)return null;u=r.pop(),l=r.pop(),r.push(_i(l,u));break;case"sub":if(r.length<2)return null;u=r.pop(),l=r.pop(),r.push(Ui(l,u));break;case"exch":if(r.length<2)return null;h=r.pop(),d=r.pop(),r.push(h,d);break;case"pop":if(r.length<1)return null;r.pop();break;case"index":if(r.length<1)return null;if(l=r.pop(),"literal"!==l.type)return null;if(o=l.number,o<0||!Number.isInteger(o)||r.length<o)return null;if(h=r[r.length-o-1],"literal"===h.type||"var"===h.type){r.push(h);break}p=new Oi(g++,h.min,h.max),r[r.length-o-1]=p,r.push(p),n.push(new Ni(p,h));break;case"dup":if(r.length<1)return null;if("number"==typeof e[b+1]&&"gt"===e[b+2]&&e[b+3]===b+7&&"jz"===e[b+4]&&"pop"===e[b+5]&&e[b+6]===e[b+1]){l=r.pop(),r.push(Li(l,e[b+1])),b+=6;break}if(h=r.at(-1),"literal"===h.type||"var"===h.type){r.push(h);break}p=new Oi(g++,h.min,h.max),r[r.length-1]=p,r.push(p),n.push(new Ni(p,h));break;case"roll":if(r.length<2)return null;if(u=r.pop(),l=r.pop(),"literal"!==u.type||"literal"!==l.type)return null;if(c=u.number,o=l.number,o<=0||!Number.isInteger(o)||!Number.isInteger(c)||r.length<o)return null;if(c=(c%o+o)%o,0===c)break;r.push(...r.splice(r.length-o,o-c));break;default:return null}else r.push(new Fi(f));if(r.length!==s)return null;const m=[];for(const b of n){const e=new Mi;b.visit(e),m.push(e.toString())}for(let b=0,y=r.length;b<y;b++){const e=r[b],t=new Mi;e.visit(t);const n=i[2*b],a=i[2*b+1],s=[t.toString()];n>e.min&&(s.unshift("Math.max(",n,", "),s.push(")")),a<e.max&&(s.unshift("Math.min(",a,", "),s.push(")")),s.unshift("dest[destOffset + ",b,"] = "),s.push(";"),m.push(s.join(""))}return m.join("\n")}}class ji extends bt{constructor(e,t,i,r){super(),this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.start=t||0,this.pos=this.start,this.end=t+i||this.bytes.length,this.dict=r}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,i=this.pos,r=this.end;if(!e)return t.subarray(i,r);let n=i+e;return n>r&&(n=r),this.pos=n,t.subarray(i,n)}getByteRange(e,t){return e<0&&(e=0),t>this.end&&(t=this.end),this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,i=null){return new ji(this.bytes.buffer,e,t,i)}}class qi extends ji{constructor(){super(new Uint8Array(0))}}class Ki{constructor(e,t){this.constructor===Ki&&Ke("Cannot initialize ColorSpace."),this.name=e,this.numComps=t}getRgb(e,t){const i=new Uint8ClampedArray(3);return this.getRgbItem(e,t,i,0),i}getRgbItem(e,t,i,r){Ke("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,i,r,n,a,s){Ke("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){Ke("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return Ki.isDefaultDecode(e,this.numComps)}fillRgb(e,t,i,r,n,a,s,o,c){const l=t*i;let u=null;const h=1<<s,d=i!==n||t!==r;if(this.isPassthrough(s))u=o;else if(1===this.numComps&&l>h&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=s<=8?new Uint8Array(h):new Uint16Array(h);for(let e=0;e<h;e++)t[e]=e;const i=new Uint8ClampedArray(3*h);if(this.getRgbBuffer(t,0,h,i,0,s,0),d){u=new Uint8Array(3*l);let e=0;for(let t=0;t<l;++t){const r=3*o[t];u[e++]=i[r],u[e++]=i[r+1],u[e++]=i[r+2]}}else{let t=0;for(let r=0;r<l;++r){const n=3*o[r];e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],t+=c}}}else d?(u=new Uint8ClampedArray(3*l),this.getRgbBuffer(o,0,l,u,0,s,0)):this.getRgbBuffer(o,0,r*a,e,0,s,c);if(u)if(d)!function(e,t,i,r,n,a,s){s=1!==s?0:s;const o=i/n,c=r/a;let l,u=0;const h=new Uint16Array(n),d=3*i;for(let p=0;p<n;p++)h[p]=3*Math.floor(p*o);for(let p=0;p<a;p++){const i=Math.floor(p*c)*d;for(let r=0;r<n;r++)l=i+h[r],t[u++]=e[l++],t[u++]=e[l++],t[u++]=e[l++],u+=s}}(u,e,t,i,r,n,c);else{let t=0,i=0;for(let n=0,s=r*a;n<s;n++)e[t++]=u[i++],e[t++]=u[i++],e[t++]=u[i++],t+=c}}get usesZeroToOneRange(){return Ve(this,"usesZeroToOneRange",!0)}static _cache(e,t,i,r){if(!i)throw new Error('ColorSpace._cache - expected "localColorSpaceCache" argument.');if(!r)throw new Error('ColorSpace._cache - expected "parsedColorSpace" argument.');let n,a;e instanceof pt&&(a=e,e=t.fetch(e)),e instanceof lt&&(n=e.name),(n||a)&&i.set(n,a,r)}static getCached(e,t,i){if(!i)throw new Error('ColorSpace.getCached - expected "localColorSpaceCache" argument.');if(e instanceof pt){const n=i.getByRef(e);if(n)return n;try{e=t.fetch(e)}catch(r){if(r instanceof vt)throw r}}if(e instanceof lt){const t=i.getByName(e.name);if(t)return t}return null}static async parseAsync({cs:e,xref:t,resources:i=null,pdfFunctionFactory:r,localColorSpaceCache:n}){const a=this._parse(e,t,i,r);return this._cache(e,t,n,a),a}static parse({cs:e,xref:t,resources:i=null,pdfFunctionFactory:r,localColorSpaceCache:n}){const a=this.getCached(e,t,n);if(a)return a;const s=this._parse(e,t,i,r);return this._cache(e,t,n,s),s}static _parse(e,t,i=null,r){if((e=t.fetchIfRef(e))instanceof lt)switch(e.name){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"Pattern":return new Vi(null);default:if(i instanceof dt){const n=i.get("ColorSpace");if(n instanceof dt){const a=n.get(e.name);if(a){if(a instanceof lt)return this._parse(a,t,i,r);e=a;break}}}throw new We(`Unrecognized ColorSpace: ${e.name}`)}if(Array.isArray(e)){const n=t.fetchIfRef(e[0]).name;let a,s,o,c,l,u;switch(n){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"CalGray":return a=t.fetchIfRef(e[1]),c=a.getArray("WhitePoint"),l=a.getArray("BlackPoint"),u=a.get("Gamma"),new Zi(c,l,u);case"CalRGB":a=t.fetchIfRef(e[1]),c=a.getArray("WhitePoint"),l=a.getArray("BlackPoint"),u=a.getArray("Gamma");const h=a.getArray("Matrix");return new Qi(c,l,u,h);case"ICCBased":const d=t.fetchIfRef(e[1]).dict;s=d.get("N");const p=d.get("Alternate");if(p){const e=this._parse(p,t,i,r);if(e.numComps===s)return e;qe("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===s)return this.singletons.gray;if(3===s)return this.singletons.rgb;if(4===s)return this.singletons.cmyk;break;case"Pattern":return o=e[1]||null,o&&(o=this._parse(o,t,i,r)),new Vi(o);case"I":case"Indexed":o=this._parse(e[1],t,i,r);const f=t.fetchIfRef(e[2])+1,g=t.fetchIfRef(e[3]);return new zi(o,f,g);case"Separation":case"DeviceN":const m=t.fetchIfRef(e[1]);s=Array.isArray(m)?m.length:1,o=this._parse(e[2],t,i,r);const b=r.create(e[3]);return new Gi(s,o,b);case"Lab":a=t.fetchIfRef(e[1]),c=a.getArray("WhitePoint"),l=a.getArray("BlackPoint");const y=a.getArray("Range");return new Ji(c,l,y);default:throw new We(`Unimplemented ColorSpace object: ${n}`)}}throw new We(`Unrecognized ColorSpace object: ${e}`)}static isDefaultDecode(e,t){if(!Array.isArray(e))return!0;if(2*t!==e.length)return qe("The decode map is not the correct length"),!0;for(let i=0,r=e.length;i<r;i+=2)if(0!==e[i]||1!==e[i+1])return!1;return!0}static get singletons(){return Ve(this,"singletons",{get gray(){return Ve(this,"gray",new Xi)},get rgb(){return Ve(this,"rgb",new Wi)},get cmyk(){return Ve(this,"cmyk",new $i)}})}}class Gi extends Ki{constructor(e,t,i){super("Alternate",e),this.base=t,this.tintFn=i,this.tmpBuf=new Float32Array(t.numComps)}getRgbItem(e,t,i,r){const n=this.tmpBuf;this.tintFn(e,t,n,0),this.base.getRgbItem(n,0,i,r)}getRgbBuffer(e,t,i,r,n,a,s){const o=this.tintFn,c=this.base,l=1/((1<<a)-1),u=c.numComps,h=c.usesZeroToOneRange,d=(c.isPassthrough(8)||!h)&&0===s;let p=d?n:0;const f=d?r:new Uint8ClampedArray(u*i),g=this.numComps,m=new Float32Array(g),b=new Float32Array(u);let y,v;for(y=0;y<i;y++){for(v=0;v<g;v++)m[v]=e[t++]*l;if(o(m,0,b,0),h)for(v=0;v<u;v++)f[p++]=255*b[v];else c.getRgbItem(b,0,f,p),p+=u}d||c.getRgbBuffer(f,0,i,r,n,8,s)}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps/this.numComps,t)}}class Vi extends Ki{constructor(e){super("Pattern",null),this.base=e}isDefaultDecode(e,t){Ke("Should not call PatternCS.isDefaultDecode")}}class zi extends Ki{constructor(e,t,i){super("Indexed",1),this.base=e,this.highVal=t;const r=e.numComps*t;if(this.lookup=new Uint8Array(r),i instanceof bt){const e=i.getBytes(r);this.lookup.set(e)}else{if("string"!=typeof i)throw new We(`IndexedCS - unrecognized lookup table: ${i}`);for(let e=0;e<r;++e)this.lookup[e]=255&i.charCodeAt(e)}}getRgbItem(e,t,i,r){const n=this.base.numComps,a=e[t]*n;this.base.getRgbBuffer(this.lookup,a,1,i,r,8,0)}getRgbBuffer(e,t,i,r,n,a,s){const o=this.base,c=o.numComps,l=o.getOutputLength(c,s),u=this.lookup;for(let h=0;h<i;++h){const i=e[t++]*c;o.getRgbBuffer(u,i,1,r,n,8,s),n+=l}}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps,t)}isDefaultDecode(e,t){return!Array.isArray(e)||(2!==e.length?(qe("Decode map length is not correct"),!0):!Number.isInteger(t)||t<1?(qe("Bits per component is not correct"),!0):0===e[0]&&e[1]===(1<<t)-1)}}class Xi extends Ki{constructor(){super("DeviceGray",1)}getRgbItem(e,t,i,r){const n=255*e[t];i[r]=i[r+1]=i[r+2]=n}getRgbBuffer(e,t,i,r,n,a,s){const o=255/((1<<a)-1);let c=t,l=n;for(let u=0;u<i;++u){const t=o*e[c++];r[l++]=t,r[l++]=t,r[l++]=t,l+=s}}getOutputLength(e,t){return e*(3+t)}}class Wi extends Ki{constructor(){super("DeviceRGB",3)}getRgbItem(e,t,i,r){i[r]=255*e[t],i[r+1]=255*e[t+1],i[r+2]=255*e[t+2]}getRgbBuffer(e,t,i,r,n,a,s){if(8===a&&0===s)return void r.set(e.subarray(t,t+3*i),n);const o=255/((1<<a)-1);let c=t,l=n;for(let u=0;u<i;++u)r[l++]=o*e[c++],r[l++]=o*e[c++],r[l++]=o*e[c++],l+=s}getOutputLength(e,t){return e*(3+t)/3|0}isPassthrough(e){return 8===e}}class $i extends Ki{constructor(){super("DeviceCMYK",4),a(this,h)}getRgbItem(e,t,i,r){o(this,h,d).call(this,e,t,1,i,r)}getRgbBuffer(e,t,i,r,n,a,s){const c=1/((1<<a)-1);for(let l=0;l<i;l++)o(this,h,d).call(this,e,t,c,r,n),t+=4,n+=3+s}getOutputLength(e,t){return e/4*(3+t)|0}}h=new WeakSet,d=function(e,t,i,r,n){const a=e[t]*i,s=e[t+1]*i,o=e[t+2]*i,c=e[t+3]*i;r[n]=255+a*(-4.387332384609988*a+54.48615194189176*s+18.82290502165302*o+212.25662451639585*c-285.2331026137004)+s*(1.7149763477362134*s-5.6096736904047315*o+-17.873870861415444*c-5.497006427196366)+o*(-2.5217340131683033*o-21.248923337353073*c+17.5119270841813)+c*(-21.86122147463605*c-189.48180835922747),r[n+1]=255+a*(8.841041422036149*a+60.118027045597366*s+6.871425592049007*o+31.159100130055922*c-79.2970844816548)+s*(-15.310361306967817*s+17.575251261109482*o+131.35250912493976*c-190.9453302588951)+o*(4.444339102852739*o+9.8632861493405*c-24.86741582555878)+c*(-20.737325471181034*c-187.80453709719578),r[n+2]=255+a*(.8842522430003296*a+8.078677503112928*s+30.89978309703729*o-.23883238689178934*c-14.183576799673286)+s*(10.49593273432072*s+63.02378494754052*o+50.606957656360734*c-112.23884253719248)+o*(.03296041114873217*o+115.60384449646641*c-193.58209356861505)+c*(-22.33816807309886*c-180.12613974708367)};class Zi extends Ki{constructor(e,t,i){if(super("CalGray",1),a(this,p),!e)throw new We("WhitePoint missing - required for color space CalGray");if([this.XW,this.YW,this.ZW]=e,[this.XB,this.YB,this.ZB]=t||[0,0,0],this.G=i||1,this.XW<0||this.ZW<0||1!==this.YW)throw new We(`Invalid WhitePoint components for ${this.name}, no fallback available`);(this.XB<0||this.YB<0||this.ZB<0)&&(this.name,this.XB=this.YB=this.ZB=0),0===this.XB&&0===this.YB&&0===this.ZB||qe(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`),this.G<1&&(this.G,this.name,this.G=1)}getRgbItem(e,t,i,r){o(this,p,f).call(this,e,t,i,r,1)}getRgbBuffer(e,t,i,r,n,a,s){const c=1/((1<<a)-1);for(let l=0;l<i;++l)o(this,p,f).call(this,e,t,r,n,c),t+=1,n+=3+s}getOutputLength(e,t){return e*(3+t)}}p=new WeakSet,f=function(e,t,i,r,n){const a=(e[t]*n)**this.G,s=this.YW*a,o=Math.max(295.8*s**.3333333333333333-40.8,0);i[r]=o,i[r+1]=o,i[r+2]=o};const Yi=class extends Ki{constructor(e,t,i,r){if(super("CalRGB",3),a(this,w),!e)throw new We("WhitePoint missing - required for color space CalRGB");const[n,s,o]=this.whitePoint=e,[c,l,u]=this.blackPoint=t||new Float32Array(3);if([this.GR,this.GG,this.GB]=i||new Float32Array([1,1,1]),[this.MXA,this.MYA,this.MZA,this.MXB,this.MYB,this.MZB,this.MXC,this.MYC,this.MZC]=r||new Float32Array([1,0,0,0,1,0,0,0,1]),n<0||o<0||1!==s)throw new We(`Invalid WhitePoint components for ${this.name}, no fallback available`);(c<0||l<0||u<0)&&(this.name,this.blackPoint=new Float32Array(3)),(this.GR<0||this.GG<0||this.GB<0)&&(this.GR,this.GG,this.GB,this.name,this.GR=this.GG=this.GB=1)}getRgbItem(e,t,i,r){o(this,w,O).call(this,e,t,i,r,1)}getRgbBuffer(e,t,i,r,n,a,s){const c=1/((1<<a)-1);for(let l=0;l<i;++l)o(this,w,O).call(this,e,t,r,n,c),t+=3,n+=3+s}getOutputLength(e,t){return e*(3+t)/3|0}};g=new WeakMap,m=new WeakMap,b=new WeakMap,y=new WeakMap,v=new WeakMap,S=new WeakMap,C=new WeakMap,x=new WeakMap,w=new WeakSet,A=function(e,t,i){i[0]=e[0]*t[0]+e[1]*t[1]+e[2]*t[2],i[1]=e[3]*t[0]+e[4]*t[1]+e[5]*t[2],i[2]=e[6]*t[0]+e[7]*t[1]+e[8]*t[2]},E=function(e,t,i){i[0]=1*t[0]/e[0],i[1]=1*t[1]/e[1],i[2]=1*t[2]/e[2]},k=function(e,t,i){i[0]=.95047*t[0]/e[0],i[1]=1*t[1]/e[1],i[2]=1.08883*t[2]/e[2]},I=function(e){return e<=.0031308?o(this,w,T).call(this,0,1,12.92*e):e>=.99554525?1:o(this,w,T).call(this,0,1,1.055*e**(1/2.4)-.055)},T=function(e,t,i){return Math.max(e,Math.min(t,i))},D=function(e){return e<0?-o(this,w,D).call(this,-e):e>8?((e+16)/116)**3:e*n(Yi,x)},F=function(e,t,i){if(0===e[0]&&0===e[1]&&0===e[2])return i[0]=t[0],i[1]=t[1],void(i[2]=t[2]);const r=o(this,w,D).call(this,0),n=(1-r)/(1-o(this,w,D).call(this,e[0])),a=1-n,s=(1-r)/(1-o(this,w,D).call(this,e[1])),c=1-s,l=(1-r)/(1-o(this,w,D).call(this,e[2])),u=1-l;i[0]=t[0]*n+a,i[1]=t[1]*s+c,i[2]=t[2]*l+u},P=function(e,t,i){if(1===e[0]&&1===e[2])return i[0]=t[0],i[1]=t[1],void(i[2]=t[2]);const r=i;o(this,w,A).call(this,n(Yi,g),t,r);const a=n(Yi,v);o(this,w,E).call(this,e,r,a),o(this,w,A).call(this,n(Yi,m),a,i)},B=function(e,t,i){const r=i;o(this,w,A).call(this,n(Yi,g),t,r);const a=n(Yi,v);o(this,w,k).call(this,e,r,a),o(this,w,A).call(this,n(Yi,m),a,i)},O=function(e,t,i,r,a){const s=o(this,w,T).call(this,0,1,e[t]*a),c=o(this,w,T).call(this,0,1,e[t+1]*a),l=o(this,w,T).call(this,0,1,e[t+2]*a),u=1===s?1:s**this.GR,h=1===c?1:c**this.GG,d=1===l?1:l**this.GB,p=this.MXA*u+this.MXB*h+this.MXC*d,f=this.MYA*u+this.MYB*h+this.MYC*d,g=this.MZA*u+this.MZB*h+this.MZC*d,m=n(Yi,S);m[0]=p,m[1]=f,m[2]=g;const v=n(Yi,C);o(this,w,P).call(this,this.whitePoint,m,v);const x=n(Yi,S);o(this,w,F).call(this,this.blackPoint,v,x);const E=n(Yi,C);o(this,w,B).call(this,n(Yi,y),x,E);const k=n(Yi,S);o(this,w,A).call(this,n(Yi,b),E,k),i[r]=255*o(this,w,I).call(this,k[0]),i[r+1]=255*o(this,w,I).call(this,k[1]),i[r+2]=255*o(this,w,I).call(this,k[2])},a(Yi,g,new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296])),a(Yi,m,new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867])),a(Yi,b,new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252])),a(Yi,y,new Float32Array([1,1,1])),a(Yi,v,new Float32Array(3)),a(Yi,S,new Float32Array(3)),a(Yi,C,new Float32Array(3)),a(Yi,x,(24/116)**3/8);let Qi=Yi;class Ji extends Ki{constructor(e,t,i){if(super("Lab",3),a(this,N),!e)throw new We("WhitePoint missing - required for color space Lab");if([this.XW,this.YW,this.ZW]=e,[this.amin,this.amax,this.bmin,this.bmax]=i||[-100,100,-100,100],[this.XB,this.YB,this.ZB]=t||[0,0,0],this.XW<0||this.ZW<0||1!==this.YW)throw new We("Invalid WhitePoint components, no fallback available");(this.XB<0||this.YB<0||this.ZB<0)&&(this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&(this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}getRgbItem(e,t,i,r){o(this,N,_).call(this,e,t,!1,i,r)}getRgbBuffer(e,t,i,r,n,a,s){const c=(1<<a)-1;for(let l=0;l<i;l++)o(this,N,_).call(this,e,t,c,r,n),t+=3,n+=3+s}getOutputLength(e,t){return e*(3+t)/3|0}isDefaultDecode(e,t){return!0}get usesZeroToOneRange(){return Ve(this,"usesZeroToOneRange",!1)}}N=new WeakSet,M=function(e){return e>=6/29?e**3:108/841*(e-4/29)},R=function(e,t,i,r){return i+e*(r-i)/t},_=function(e,t,i,r,n){let a=e[t],s=e[t+1],c=e[t+2];!1!==i&&(a=o(this,N,R).call(this,a,i,0,100),s=o(this,N,R).call(this,s,i,this.amin,this.amax),c=o(this,N,R).call(this,c,i,this.bmin,this.bmax)),s>this.amax?s=this.amax:s<this.amin&&(s=this.amin),c>this.bmax?c=this.bmax:c<this.bmin&&(c=this.bmin);const l=(a+16)/116,u=l+s/500,h=l-c/200,d=this.XW*o(this,N,M).call(this,u),p=this.YW*o(this,N,M).call(this,l),f=this.ZW*o(this,N,M).call(this,h);let g,m,b;this.ZW<1?(g=3.1339*d+-1.617*p+-.4906*f,m=-.9785*d+1.916*p+.0333*f,b=.072*d+-.229*p+1.4057*f):(g=3.2406*d+-1.5372*p+-.4986*f,m=-.9689*d+1.8758*p+.0415*f,b=.0557*d+-.204*p+1.057*f),r[n]=255*Math.sqrt(g),r[n+1]=255*Math.sqrt(m),r[n+2]=255*Math.sqrt(b)};const er=new Uint8Array(0);class tr extends bt{constructor(e){if(super(),this._rawMinBufferLength=e||0,this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=er,this.minBufferLength=512,e)for(;this.minBufferLength<e;)this.minBufferLength*=2}get isEmpty(){return 0===this.bufferLength}ensureBuffer(e){const t=this.buffer;if(e<=t.byteLength)return t;let i=this.minBufferLength;for(;i<e;)i*=2;const r=new Uint8Array(i);return r.set(t),this.buffer=r}getByte(){const e=this.pos;for(;this.bufferLength<=e;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]}getBytes(e){const t=this.pos;let i;if(e){for(this.ensureBuffer(t+e),i=t+e;!this.eof&&this.bufferLength<i;)this.readBlock();const r=this.bufferLength;i>r&&(i=r)}else{for(;!this.eof;)this.readBlock();i=this.bufferLength}return this.pos=i,this.buffer.subarray(t,i)}reset(){this.pos=0}makeSubStream(e,t,i=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const i=e+t;for(;this.bufferLength<=i&&!this.eof;)this.readBlock()}return new ji(this.buffer,e,t,i)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}const ir=[".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"],rr=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],nr=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],ar=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],sr=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],or=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class cr{constructor(e,t,i){this.bytes=e.getBytes(),this.properties=t,this.seacAnalysisEnabled=!!i}parse(){const e=this.properties,t=new lr;this.cff=t;const i=this.parseHeader(),r=this.parseIndex(i.endPos),n=this.parseIndex(r.endPos),a=this.parseIndex(n.endPos),s=this.parseIndex(a.endPos),o=this.parseDict(n.obj.get(0)),c=this.createDict(gr,o,t.strings);t.header=i.obj,t.names=this.parseNameIndex(r.obj),t.strings=this.parseStringIndex(a.obj),t.topDict=c,t.globalSubrIndex=s.obj,this.parsePrivateDict(t.topDict),t.isCIDFont=c.hasName("ROS");const l=c.getByName("CharStrings"),u=this.parseIndex(l).obj,h=c.getByName("FontMatrix");h&&(e.fontMatrix=h);const d=c.getByName("FontBBox");let p,f;if(d&&(e.ascent=Math.max(d[3],d[1]),e.descent=Math.min(d[1],d[3]),e.ascentScaled=!0),t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let i=0,r=e.count;i<r;++i){const r=e.get(i),n=this.createDict(gr,this.parseDict(r),t.strings);this.parsePrivateDict(n),t.fdArray.push(n)}f=null,p=this.parseCharsets(c.getByName("charset"),u.count,t.strings,!0),t.fdSelect=this.parseFDSelect(c.getByName("FDSelect"),u.count)}else p=this.parseCharsets(c.getByName("charset"),u.count,t.strings,!1),f=this.parseEncoding(c.getByName("Encoding"),e,t.strings,p.charset);t.charset=p,t.encoding=f;const g=this.parseCharStrings({charStrings:u,localSubrIndex:c.privateDict.subrsIndex,globalSubrIndex:s.obj,fdSelect:t.fdSelect,fdArray:t.fdArray,privateDict:c.privateDict});return t.charStrings=g.charStrings,t.seacs=g.seacs,t.widths=g.widths,t}parseHeader(){let e=this.bytes;const t=e.length;let i=0;for(;i<t&&1!==e[i];)++i;if(i>=t)throw new We("Invalid CFF header");0!==i&&(e=e.subarray(i),this.bytes=e);const r=e[0],n=e[1],a=e[2],s=e[3];return{obj:new ur(r,n,a,s),endPos:a}}parseDict(e){let t=0;function i(){let i=e[t++];return 30===i?function(){let i="";const r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],n=e.length;for(;t<n;){const n=e[t++],a=n>>4,s=15&n;if(15===a)break;if(i+=r[a],15===s)break;i+=r[s]}return parseFloat(i)}():28===i?(i=e[t++],i=(i<<24|e[t++]<<16)>>16,i):29===i?(i=e[t++],i=i<<8|e[t++],i=i<<8|e[t++],i=i<<8|e[t++],i):i>=32&&i<=246?i-139:i>=247&&i<=250?256*(i-247)+e[t++]+108:i>=251&&i<=254?-256*(i-251)-e[t++]-108:(qe('CFFParser_parseDict: "'+i+'" is a reserved command.'),NaN)}let r=[];const n=[];t=0;const a=e.length;for(;t<a;){let a=e[t];a<=21?(12===a&&(a=a<<8|e[++t]),n.push([a,r]),r=[],++t):r.push(i())}return n}parseIndex(e){const t=new dr,i=this.bytes,r=i[e++]<<8|i[e++],n=[];let a,s,o=e;if(0!==r){const t=i[e++],c=e+(r+1)*t-1;for(a=0,s=r+1;a<s;++a){let r=0;for(let n=0;n<t;++n)r<<=8,r+=i[e++];n.push(c+r)}o=n[r]}for(a=0,s=n.length-1;a<s;++a){const e=n[a],r=n[a+1];t.add(i.subarray(e,r))}return{obj:t,endPos:o}}parseNameIndex(e){const t=[];for(let i=0,r=e.count;i<r;++i){const r=e.get(i);t.push(Ze(r))}return t}parseStringIndex(e){const t=new hr;for(let i=0,r=e.count;i<r;++i){const r=e.get(i);t.add(Ze(r))}return t}createDict(e,t,i){const r=new e(i);for(const[n,a]of t)r.setByKey(n,a);return r}parseCharString(e,t,i,r){if(!t||e.callDepth>10)return!1;let n=e.stackSize;const a=e.stack;let s=t.length;for(let o=0;o<s;){const c=t[o++];let l=null;if(12===c){const e=t[o++];0===e?(t[o-2]=139,t[o-1]=22,n=0):l=or[e]}else if(28===c)a[n]=(t[o]<<24|t[o+1]<<16)>>16,o+=2,n++;else if(14===c){if(n>=4&&(n-=4,this.seacAnalysisEnabled))return e.seac=a.slice(n,n+4),!1;l=sr[c]}else if(c>=32&&c<=246)a[n]=c-139,n++;else if(c>=247&&c<=254)a[n]=c<251?(c-247<<8)+t[o]+108:-(c-251<<8)-t[o]-108,o++,n++;else if(255===c)a[n]=(t[o]<<24|t[o+1]<<16|t[o+2]<<8|t[o+3])/65536,o+=4,n++;else if(19===c||20===c){if(e.hints+=n>>1,0===e.hints){t.copyWithin(o-1,o,-1),o-=1,s-=1;continue}o+=e.hints+7>>3,n%=2,l=sr[c]}else{if(10===c||29===c){const t=10===c?i:r;if(!t)return l=sr[c],qe("Missing subrsIndex for "+l.id),!1;let s=32768;t.count<1240?s=107:t.count<33900&&(s=1131);const o=a[--n]+s;if(o<0||o>=t.count||isNaN(o))return l=sr[c],qe("Out of bounds subrIndex for "+l.id),!1;if(e.stackSize=n,e.callDepth++,!this.parseCharString(e,t.get(o),i,r))return!1;e.callDepth--,n=e.stackSize;continue}if(11===c)return e.stackSize=n,!0;if(0===c&&o===t.length)t[o-1]=14,l=sr[14];else{if(9===c){t.copyWithin(o-1,o,-1),o-=1,s-=1;continue}l=sr[c]}}if(l){if(l.stem&&(e.hints+=n>>1,3===c||23===c?e.hasVStems=!0:!e.hasVStems||1!==c&&18!==c||(qe("CFF stem hints are in wrong order"),t[o-1]=1===c?3:23)),"min"in l&&!e.undefStack&&n<l.min)return qe("Not enough parameters for "+l.id+"; actual: "+n+", expected: "+l.min),0===n&&(t[o-1]=14,!0);e.firstStackClearing&&l.stackClearing&&(e.firstStackClearing=!1,n-=l.min,n>=2&&l.stem?n%=2:n>1&&qe("Found too many parameters for stack-clearing command"),n>0&&(e.width=a[n-1])),"stackDelta"in l?("stackFn"in l&&l.stackFn(a,n),n+=l.stackDelta):l.stackClearing?n=0:l.resetStack?(n=0,e.undefStack=!1):l.undefStack&&(n=0,e.undefStack=!0,e.firstStackClearing=!1)}}return s<t.length&&t.fill(14,s),e.stackSize=n,!0}parseCharStrings({charStrings:e,localSubrIndex:t,globalSubrIndex:i,fdSelect:r,fdArray:n,privateDict:a}){const s=[],o=[],c=e.count;for(let l=0;l<c;l++){const c=e.get(l),u={callDepth:0,stackSize:0,stack:[],undefStack:!0,hints:0,firstStackClearing:!0,seac:null,width:null,hasVStems:!1};let h=!0,d=null,p=a;if(r&&n.length){const e=r.getFDIndex(l);-1===e&&(qe("Glyph index is not in fd select."),h=!1),e>=n.length&&(qe("Invalid fd index for glyph index."),h=!1),h&&(p=n[e].privateDict,d=p.subrsIndex)}else t&&(d=t);if(h&&(h=this.parseCharString(u,c,d,i)),null!==u.width){const e=p.getByName("nominalWidthX");o[l]=e+u.width}else{const e=p.getByName("defaultWidthX");o[l]=e}null!==u.seac&&(s[l]=u.seac),h||e.set(l,new Uint8Array([14]))}return{charStrings:e,seacs:s,widths:o}}emptyPrivateDictionary(e){const t=this.createDict(br,[],e.strings);e.setByKey(18,[0,0]),e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private"))return void this.emptyPrivateDictionary(e);const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length)return void e.removeByName("Private");const i=t[0],r=t[1];if(0===i||r>=this.bytes.length)return void this.emptyPrivateDictionary(e);const n=r+i,a=this.bytes.subarray(r,n),s=this.parseDict(a),o=this.createDict(br,s,e.strings);if(e.privateDict=o,0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06),!o.getByName("Subrs"))return;const c=o.getByName("Subrs"),l=r+c;if(0===c||l>=this.bytes.length)return void this.emptyPrivateDictionary(e);const u=this.parseIndex(l);o.subrsIndex=u.obj}parseCharsets(e,t,i,r){if(0===e)return new vr(!0,yr.ISO_ADOBE,ir);if(1===e)return new vr(!0,yr.EXPERT,rr);if(2===e)return new vr(!0,yr.EXPERT_SUBSET,nr);const n=this.bytes,a=e,s=n[e++],o=[r?0:".notdef"];let c,l,u;switch(t-=1,s){case 0:for(u=0;u<t;u++)c=n[e++]<<8|n[e++],o.push(r?c:i.get(c));break;case 1:for(;o.length<=t;)for(c=n[e++]<<8|n[e++],l=n[e++],u=0;u<=l;u++)o.push(r?c++:i.get(c++));break;case 2:for(;o.length<=t;)for(c=n[e++]<<8|n[e++],l=n[e++]<<8|n[e++],u=0;u<=l;u++)o.push(r?c++:i.get(c++));break;default:throw new We("Unknown charset format")}const h=e,d=n.subarray(a,h);return new vr(!1,s,o,d)}parseEncoding(e,t,i,r){const n=Object.create(null),a=this.bytes;let s,o,c,l=!1,u=null;if(0===e||1===e){l=!0,s=e;const t=e?Et:Tt;for(o=0,c=r.length;o<c;o++){const e=t.indexOf(r[o]);-1!==e&&(n[e]=o)}}else{const t=e;switch(s=a[e++],127&s){case 0:const t=a[e++];for(o=1;o<=t;o++)n[a[e++]]=o;break;case 1:const i=a[e++];let r=1;for(o=0;o<i;o++){const t=a[e++],i=a[e++];for(let e=t;e<=t+i;e++)n[e]=r++}break;default:throw new We(`Unknown encoding format: ${s} in CFF`)}const c=e;128&s&&(a[t]&=127,function(){const t=a[e++];for(o=0;o<t;o++){const t=a[e++],s=(a[e++]<<8)+(255&a[e++]);n[t]=r.indexOf(i.get(s))}}()),u=a.subarray(t,c)}return s&=127,new Sr(l,s,n,u)}parseFDSelect(e,t){const i=this.bytes,r=i[e++],n=[];let a;switch(r){case 0:for(a=0;a<t;++a){const t=i[e++];n.push(t)}break;case 3:const s=i[e++]<<8|i[e++];for(a=0;a<s;++a){let t=i[e++]<<8|i[e++];0===a&&0!==t&&(qe("parseFDSelect: The first range must have a first GID of 0 -- trying to recover."),t=0);const r=i[e++],s=i[e]<<8|i[e+1];for(let e=t;e<s;++e)n.push(r)}e+=2;break;default:throw new We(`parseFDSelect: Unknown format "${r}".`)}if(n.length!==t)throw new We("parseFDSelect: Invalid font data.");return new Cr(r,n)}}class lr{constructor(){this.header=null,this.names=[],this.topDict=null,this.strings=new hr,this.globalSubrIndex=null,this.encoding=null,this.charset=null,this.charStrings=null,this.fdArray=[],this.fdSelect=null,this.isCIDFont=!1}duplicateFirstGlyph(){if(this.charStrings.count>=65535)return void qe("Not enough space in charstrings to duplicate first glyph.");const e=this.charStrings.get(0);this.charStrings.add(e),this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){return!(e<0||e>=this.charStrings.count)&&this.charStrings.get(e).length>0}}class ur{constructor(e,t,i,r){this.major=e,this.minor=t,this.hdrSize=i,this.offSize=r}}class hr{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?ar[e]:e-391<=this.strings.length?this.strings[e-391]:ar[0]}getSID(e){let t=ar.indexOf(e);return-1!==t?t:(t=this.strings.indexOf(e),-1!==t?t+391:-1)}add(e){this.strings.push(e)}get count(){return this.strings.length}}class dr{constructor(){this.objects=[],this.length=0}add(e){this.length+=e.length,this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length,this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class pr{constructor(e,t){this.keyToNameMap=e.keyToNameMap,this.nameToKeyMap=e.nameToKeyMap,this.defaults=e.defaults,this.types=e.types,this.opcodes=e.opcodes,this.order=e.order,this.strings=t,this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const r of t)if(isNaN(r))return qe(`Invalid CFFDict value: "${t}" for key "${e}".`),!0;const i=this.types[e];return"num"!==i&&"sid"!==i&&"offset"!==i||(t=t[0]),this.values[e]=t,!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new We(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new We(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const i of e){const e=Array.isArray(i[0])?(i[0][0]<<8)+i[0][1]:i[0];t.keyToNameMap[e]=i[1],t.nameToKeyMap[i[1]]=e,t.types[e]=i[2],t.defaults[e]=i[3],t.opcodes[e]=Array.isArray(i[0])?i[0]:[i[0]],t.order.push(e)}return t}}const fr=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class gr extends pr{static get tables(){return Ve(this,"tables",this.createTables(fr))}constructor(e){super(gr.tables,e),this.privateDict=null}}const mr=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class br extends pr{static get tables(){return Ve(this,"tables",this.createTables(mr))}constructor(e){super(br.tables,e),this.subrsIndex=null}}const yr={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class vr{constructor(e,t,i,r){this.predefined=e,this.format=t,this.charset=i,this.raw=r}}class Sr{constructor(e,t,i,r){this.predefined=e,this.format=t,this.encoding=i,this.raw=r}}class Cr{constructor(e,t){this.format=e,this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class xr{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new We(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,i){if(!(e in this.offsets))throw new We(`Not tracking location of ${e}`);const r=i.data,n=this.offsets[e];for(let a=0,s=t.length;a<s;++a){const e=5*a+n,i=e+1,s=e+2,o=e+3,c=e+4;if(29!==r[e]||0!==r[i]||0!==r[s]||0!==r[o]||0!==r[c])throw new We("writing to an offset that is not empty");const l=t[a];r[e]=29,r[i]=l>>24&255,r[s]=l>>16&255,r[o]=l>>8&255,r[c]=255&l}}}class wr{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},i=this.compileHeader(e.header);t.add(i);const r=this.compileNameIndex(e.names);if(t.add(r),e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const i of e.fdArray){let e=t.slice(0);i.hasName("FontMatrix")&&(e=tt.transform(e,i.getByName("FontMatrix"))),i.setByName("FontMatrix",e)}}const n=e.topDict.getByName("XUID");(null==n?void 0:n.length)>16&&e.topDict.removeByName("XUID"),e.topDict.setByName("charset",0);let a=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(a.output);const s=a.trackers[0],o=this.compileStringIndex(e.strings.strings);t.add(o);const c=this.compileIndex(e.globalSubrIndex);if(t.add(c),e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)s.setEntryLocation("Encoding",[e.encoding.format],t);else{const i=this.compileEncoding(e.encoding);s.setEntryLocation("Encoding",[t.length],t),t.add(i)}const l=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);s.setEntryLocation("charset",[t.length],t),t.add(l);const u=this.compileCharStrings(e.charStrings);if(s.setEntryLocation("CharStrings",[t.length],t),t.add(u),e.isCIDFont){s.setEntryLocation("FDSelect",[t.length],t);const i=this.compileFDSelect(e.fdSelect);t.add(i),a=this.compileTopDicts(e.fdArray,t.length,!0),s.setEntryLocation("FDArray",[t.length],t),t.add(a.output);const r=a.trackers;this.compilePrivateDicts(e.fdArray,r,t)}return this.compilePrivateDicts([e.topDict],[s],t),t.add([0]),t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return Ve(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const i=wr.EncodeFloatRegExp.exec(t);if(i){const r=parseFloat("1e"+((i[2]?+i[2]:0)+i[1].length));t=(Math.round(e*r)/r).toString()}let r,n,a="";for(r=0,n=t.length;r<n;++r){const e=t[r];a+="e"===e?"-"===t[++r]?"c":"b":"."===e?"a":"-"===e?"e":e}a+=1&a.length?"f":"ff";const s=[30];for(r=0,n=a.length;r<n;r+=2)s.push(parseInt(a.substring(r,r+2),16));return s}encodeInteger(e){let t;return t=e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e],t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new dr;for(const i of e){const e=Math.min(i.length,127);let r=new Array(e);for(let t=0;t<e;t++){let e=i[t];(e<"!"||e>"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_"),r[t]=e}r=r.join(""),""===r&&(r="Bad_Font_Name"),t.add(Ye(r))}return this.compileIndex(t)}compileTopDicts(e,t,i){const r=[];let n=new dr;for(const a of e){i&&(a.removeByName("CIDFontVersion"),a.removeByName("CIDFontRevision"),a.removeByName("CIDFontType"),a.removeByName("CIDCount"),a.removeByName("UIDBase"));const e=new xr,s=this.compileDict(a,e);r.push(e),n.add(s),e.offset(t)}return n=this.compileIndex(n,r),{trackers:r,output:n}}compilePrivateDicts(e,t,i){for(let r=0,n=e.length;r<n;++r){const n=e[r],a=n.privateDict;if(!a||!n.hasName("Private"))throw new We("There must be a private dictionary.");const s=new xr,o=this.compileDict(a,s);let c=i.length;if(s.offset(c),o.length||(c=0),t[r].setEntryLocation("Private",[o.length,c],i),i.add(o),a.subrsIndex&&a.hasName("Subrs")){const e=this.compileIndex(a.subrsIndex);s.setEntryLocation("Subrs",[o.length],i),i.add(e)}}}compileDict(e,t){const i=[];for(const r of e.order){if(!(r in e.values))continue;let n=e.values[r],a=e.types[r];if(Array.isArray(a)||(a=[a]),Array.isArray(n)||(n=[n]),0!==n.length){for(let s=0,o=a.length;s<o;++s){const o=a[s],c=n[s];switch(o){case"num":case"sid":i.push(...this.encodeNumber(c));break;case"offset":const a=e.keyToNameMap[r];t.isTracking(a)||t.track(a,i.length),i.push(29,0,0,0,0);break;case"array":case"delta":i.push(...this.encodeNumber(c));for(let e=1,t=n.length;e<t;++e)i.push(...this.encodeNumber(n[e]));break;default:throw new We(`Unknown data type of ${o}`)}}i.push(...e.opcodes[r])}}return i}compileStringIndex(e){const t=new dr;for(const i of e)t.add(Ye(i));return this.compileIndex(t)}compileCharStrings(e){const t=new dr;for(let i=0;i<e.count;i++){const r=e.get(i);0!==r.length?t.add(r):t.add(new Uint8Array([139,14]))}return this.compileIndex(t)}compileCharset(e,t,i,r){let n;const a=t-1;if(r)n=new Uint8Array([2,0,0,a>>8&255,255&a]);else{n=new Uint8Array(1+2*a),n[0]=0;let t=0;const r=e.charset.length;let s=!1;for(let a=1;a<n.length;a+=2){let o=0;if(t<r){const r=e.charset[t++];o=i.getSID(r),-1===o&&(o=0,s||(s=!0,qe(`Couldn't find ${r} in CFF strings`)))}n[a]=o>>8&255,n[a+1]=255&o}}return this.compileTypedArray(n)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let i,r;switch(t){case 0:for(i=new Uint8Array(1+e.fdSelect.length),i[0]=t,r=0;r<e.fdSelect.length;r++)i[r+1]=e.fdSelect[r];break;case 3:const n=0;let a=e.fdSelect[0];const s=[t,0,0,n>>8&255,255&n,a];for(r=1;r<e.fdSelect.length;r++){const t=e.fdSelect[r];t!==a&&(s.push(r>>8&255,255&r,t),a=t)}const o=(s.length-3)/3;s[1]=o>>8&255,s[2]=255&o,s.push(r>>8&255,255&r),i=new Uint8Array(s)}return this.compileTypedArray(i)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const i=e.objects,r=i.length;if(0===r)return[0,0];const n=[r>>8&255,255&r];let a,s,o=1;for(a=0;a<r;++a)o+=i[a].length;s=o<256?1:o<65536?2:o<16777216?3:4,n.push(s);let c=1;for(a=0;a<r+1;a++)1===s?n.push(255&c):2===s?n.push(c>>8&255,255&c):3===s?n.push(c>>16&255,c>>8&255,255&c):n.push(c>>>24&255,c>>16&255,c>>8&255,255&c),i[a]&&(c+=i[a].length);for(a=0;a<r;a++)t[a]&&t[a].offset(n.length),n.push(...i[a]);return n}}class Ar{constructor(e,t){this.properties=t;const i=new cr(e,t,jt);this.cff=i.parse(),this.cff.duplicateFirstGlyph();const r=new wr(this.cff);this.seacs=this.cff.seacs;try{this.data=r.compile()}catch{qe("Failed to compile font "+t.loadedName),this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:i,cMap:r}=t,n=e.charset.charset;let a,s;if(t.composite){let t,o;if((null==i?void 0:i.length)>0){t=Object.create(null);for(let e=0,r=i.length;e<r;e++){const r=i[e];void 0!==r&&(t[r]=e)}}if(a=Object.create(null),e.isCIDFont)for(s=0;s<n.length;s++){const e=n[s];o=r.charCodeOf(e),void 0!==(null==t?void 0:t[o])&&(o=t[o]),a[o]=s}else for(s=0;s<e.charStrings.count;s++)o=r.charCodeOf(s),a[o]=s;return a}let o=e.encoding?e.encoding.encoding:null;return t.isInternalFont&&(o=t.defaultEncoding),a=Gt(t,o,n),a}hasGlyphId(e){return this.cff.hasGlyphId(e)}_createBuiltInEncoding(){const{charset:e,encoding:t}=this.cff;if(!e||!t)return;const i=e.charset,r=t.encoding,n=[];for(const a in r){const e=r[a];if(e>=0){const t=i[e];t&&(n[a]=t)}}n.length>0&&(this.properties.builtInEncoding=n)}}function Er(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function kr(e,t){return e[t]<<8|e[t+1]}function Ir(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function Tr(e,t){return e[t]<<24>>24}function Dr(e,t){return Ir(e,t)/16384}function Fr(e){const t=e.length;let i=32768;return t<1240?i=107:t<33900&&(i=1131),i}function Pr(e,t,i){const r=1===kr(e,t+2)?Er(e,t+8):Er(e,t+16),n=kr(e,t+r);let a,s,o;if(4===n){kr(e,t+r+2);const i=kr(e,t+r+6)>>1;for(s=t+r+14,a=[],o=0;o<i;o++,s+=2)a[o]={end:kr(e,s)};for(s+=2,o=0;o<i;o++,s+=2)a[o].start=kr(e,s);for(o=0;o<i;o++,s+=2)a[o].idDelta=kr(e,s);for(o=0;o<i;o++,s+=2){let t=kr(e,s);if(0!==t){a[o].ids=[];for(let i=0,r=a[o].end-a[o].start+1;i<r;i++)a[o].ids[i]=kr(e,s+t),t+=2}}return a}if(12===n){const i=Er(e,t+r+12);for(s=t+r+16,a=[],o=0;o<i;o++)t=Er(e,s),a.push({start:t,end:Er(e,s+4),idDelta:Er(e,s+8)-t}),s+=12;return a}throw new We(`unsupported cmap: ${n}`)}function Br(e,t,i,r){var n,a,s;const o=new cr(new ji(e,t,i-t),{},r).parse();return{glyphs:o.charStrings.objects,subrs:null==(a=null==(n=o.topDict.privateDict)?void 0:n.subrsIndex)?void 0:a.objects,gsubrs:null==(s=o.globalSubrIndex)?void 0:s.objects,isCFFCIDFont:o.isCIDFont,fdSelect:o.fdSelect,fdArray:o.fdArray}}function Or(e,t){const i=t.codePointAt(0);let r=0,n=0,a=e.length-1;for(;n<a;){const t=n+a+1>>1;i<e[t].start?a=t-1:n=t}return e[n].start<=i&&i<=e[n].end&&(r=e[n].idDelta+(e[n].ids?e[n].ids[i-e[n].start]:i)&65535),{charCode:i,glyphId:r}}function Nr(e,t,i){function r(e,i){t.push({cmd:"moveTo",args:[e,i]})}function n(e,i){t.push({cmd:"lineTo",args:[e,i]})}function a(e,i,r,n){t.push({cmd:"quadraticCurveTo",args:[e,i,r,n]})}let s=0;const o=Ir(e,s);let c,l=0,u=0;if(s+=10,o<0)do{c=kr(e,s);const r=kr(e,s+2);let n,a;s+=4,1&c?(2&c?(n=Ir(e,s),a=Ir(e,s+2)):(n=kr(e,s),a=kr(e,s+2)),s+=4):2&c?(n=Tr(e,s++),a=Tr(e,s++)):(n=e[s++],a=e[s++]),2&c?(l=n,u=a):(l=0,u=0);let o=1,h=1,d=0,p=0;8&c?(o=h=Dr(e,s),s+=2):64&c?(o=Dr(e,s),h=Dr(e,s+2),s+=4):128&c&&(o=Dr(e,s),d=Dr(e,s+2),p=Dr(e,s+4),h=Dr(e,s+6),s+=8);const f=i.glyphs[r];f&&(t.push({cmd:"save"},{cmd:"transform",args:[o,d,p,h,l,u]}),Nr(f,t,i),t.push({cmd:"restore"}))}while(32&c);else{const t=[];let i,h;for(i=0;i<o;i++)t.push(kr(e,s)),s+=2;s+=2+kr(e,s);const d=t.at(-1)+1,p=[];for(;p.length<d;){c=e[s++];let t=1;for(8&c&&(t+=e[s++]);t-- >0;)p.push({flags:c})}for(i=0;i<d;i++){switch(18&p[i].flags){case 0:l+=Ir(e,s),s+=2;break;case 2:l-=e[s++];break;case 18:l+=e[s++]}p[i].x=l}for(i=0;i<d;i++){switch(36&p[i].flags){case 0:u+=Ir(e,s),s+=2;break;case 4:u-=e[s++];break;case 36:u+=e[s++]}p[i].y=u}let f=0;for(s=0;s<o;s++){const e=t[s],o=p.slice(f,e+1);if(1&o[0].flags)o.push(o[0]);else if(1&o.at(-1).flags)o.unshift(o.at(-1));else{const e={flags:1,x:(o[0].x+o.at(-1).x)/2,y:(o[0].y+o.at(-1).y)/2};o.unshift(e),o.push(e)}for(r(o[0].x,o[0].y),i=1,h=o.length;i<h;i++)1&o[i].flags?n(o[i].x,o[i].y):1&o[i+1].flags?(a(o[i].x,o[i].y,o[i+1].x,o[i+1].y),i++):a(o[i].x,o[i].y,(o[i].x+o[i+1].x)/2,(o[i].y+o[i+1].y)/2);f=e+1}}}function Mr(e,t,i,r){function n(e,i){t.push({cmd:"moveTo",args:[e,i]})}function a(e,i){t.push({cmd:"lineTo",args:[e,i]})}function s(e,i,r,n,a,s){t.push({cmd:"bezierCurveTo",args:[e,i,r,n,a,s]})}const o=[];let c=0,l=0,u=0;!function e(h){var d;let p=0;for(;p<h.length;){let f,g,m,b,y,v,S,C,x,w=!1,A=h[p++];switch(A){case 1:case 3:case 18:case 23:u+=o.length>>1,w=!0;break;case 4:l+=o.pop(),n(c,l),w=!0;break;case 5:for(;o.length>0;)c+=o.shift(),l+=o.shift(),a(c,l);break;case 6:for(;o.length>0&&(c+=o.shift(),a(c,l),0!==o.length);)l+=o.shift(),a(c,l);break;case 7:for(;o.length>0&&(l+=o.shift(),a(c,l),0!==o.length);)c+=o.shift(),a(c,l);break;case 8:for(;o.length>0;)f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l);break;case 10:if(C=o.pop(),x=null,i.isCFFCIDFont){const e=i.fdSelect.getFDIndex(r);if(e>=0&&e<i.fdArray.length){const t=i.fdArray[e];let r;(null==(d=t.privateDict)?void 0:d.subrsIndex)&&(r=t.privateDict.subrsIndex.objects),r&&(C+=Fr(r),x=r[C])}else qe("Invalid fd index for glyph index.")}else x=i.subrs[C+i.subrsBias];x&&e(x);break;case 11:return;case 12:switch(A=h[p++],A){case 34:f=c+o.shift(),g=f+o.shift(),y=l+o.shift(),c=g+o.shift(),s(f,l,g,y,c,y),f=c+o.shift(),g=f+o.shift(),c=g+o.shift(),s(f,y,g,l,c,l);break;case 35:f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l),f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l),o.pop();break;case 36:f=c+o.shift(),y=l+o.shift(),g=f+o.shift(),v=y+o.shift(),c=g+o.shift(),s(f,y,g,v,c,v),f=c+o.shift(),g=f+o.shift(),S=v+o.shift(),c=g+o.shift(),s(f,v,g,S,c,l);break;case 37:const e=c,t=l;f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l),f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g,l=b,Math.abs(c-e)>Math.abs(l-t)?c+=o.shift():l+=o.shift(),s(f,m,g,b,c,l);break;default:throw new We(`unknown operator: 12 ${A}`)}break;case 14:if(o.length>=4){const e=o.pop(),r=o.pop();l=o.pop(),c=o.pop(),t.push({cmd:"save"},{cmd:"translate",args:[c,l]});let n=Or(i.cmap,String.fromCharCode(i.glyphNameMap[Tt[e]]));Mr(i.glyphs[n.glyphId],t,i,n.glyphId),t.push({cmd:"restore"}),n=Or(i.cmap,String.fromCharCode(i.glyphNameMap[Tt[r]])),Mr(i.glyphs[n.glyphId],t,i,n.glyphId)}return;case 19:case 20:u+=o.length>>1,p+=u+7>>3,w=!0;break;case 21:l+=o.pop(),c+=o.pop(),n(c,l),w=!0;break;case 22:c+=o.pop(),n(c,l),w=!0;break;case 24:for(;o.length>2;)f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l);c+=o.shift(),l+=o.shift(),a(c,l);break;case 25:for(;o.length>6;)c+=o.shift(),l+=o.shift(),a(c,l);f=c+o.shift(),m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+o.shift(),s(f,m,g,b,c,l);break;case 26:for(o.length%2&&(c+=o.shift());o.length>0;)f=c,m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g,l=b+o.shift(),s(f,m,g,b,c,l);break;case 27:for(o.length%2&&(l+=o.shift());o.length>0;)f=c+o.shift(),m=l,g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b,s(f,m,g,b,c,l);break;case 28:o.push((h[p]<<24|h[p+1]<<16)>>16),p+=2;break;case 29:C=o.pop()+i.gsubrsBias,x=i.gsubrs[C],x&&e(x);break;case 30:for(;o.length>0&&(f=c,m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+(1===o.length?o.shift():0),s(f,m,g,b,c,l),0!==o.length);)f=c+o.shift(),m=l,g=f+o.shift(),b=m+o.shift(),l=b+o.shift(),c=g+(1===o.length?o.shift():0),s(f,m,g,b,c,l);break;case 31:for(;o.length>0&&(f=c+o.shift(),m=l,g=f+o.shift(),b=m+o.shift(),l=b+o.shift(),c=g+(1===o.length?o.shift():0),s(f,m,g,b,c,l),0!==o.length);)f=c,m=l+o.shift(),g=f+o.shift(),b=m+o.shift(),c=g+o.shift(),l=b+(1===o.length?o.shift():0),s(f,m,g,b,c,l);break;default:if(A<32)throw new We(`unknown operator: ${A}`);A<247?o.push(A-139):A<251?o.push(256*(A-247)+h[p++]+108):A<255?o.push(256*-(A-251)-h[p++]-108):(o.push((h[p]<<24|h[p+1]<<16|h[p+2]<<8|h[p+3])/65536),p+=4)}w&&(o.length=0)}}(e)}const Rr=[];class _r{constructor(e){this.constructor===_r&&Ke("Cannot initialize CompiledFont."),this.fontMatrix=e,this.compiledGlyphs=Object.create(null),this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:i}=Or(this.cmap,e);let r=this.compiledGlyphs[i];if(!r)try{r=this.compileGlyph(this.glyphs[i],i),this.compiledGlyphs[i]=r}catch(n){throw this.compiledGlyphs[i]=Rr,void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=i),n}return void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=i),r}compileGlyph(e,t){if(!e||0===e.length||14===e[0])return Rr;let i=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(t);e>=0&&e<this.fdArray.length?i=this.fdArray[e].getByName("FontMatrix")||Ue:qe("Invalid fd index for glyph index.")}const r=[{cmd:"save"},{cmd:"transform",args:i.slice()},{cmd:"scale",args:["size","-size"]}];return this.compileGlyphImpl(e,r,t),r.push({cmd:"restore"}),r}compileGlyphImpl(){Ke("Children classes should implement this.")}hasBuiltPath(e){const{charCode:t,glyphId:i}=Or(this.cmap,e);return void 0!==this.compiledGlyphs[i]&&void 0!==this.compiledCharCodeToGlyphId[t]}}class Ur extends _r{constructor(e,t,i){super(i||[488e-6,0,0,488e-6,0,0]),this.glyphs=e,this.cmap=t}compileGlyphImpl(e,t){Nr(e,t,this)}}class Lr extends _r{constructor(e,t,i,r){super(i||[.001,0,0,.001,0,0]),this.glyphs=e.glyphs,this.gsubrs=e.gsubrs||[],this.subrs=e.subrs||[],this.cmap=t,this.glyphNameMap=r||Ot(),this.gsubrsBias=Fr(this.gsubrs),this.subrsBias=Fr(this.subrs),this.isCFFCIDFont=e.isCFFCIDFont,this.fdSelect=e.fdSelect,this.fdArray=e.fdArray}compileGlyphImpl(e,t,i){Mr(e,t,this,i)}}class Hr{static create(e,t){const i=new Uint8Array(e.data);let r,n,a,s,o,c;const l=kr(i,4);for(let u=0,h=12;u<l;u++,h+=16){const e=Ze(i.subarray(h,h+4)),l=Er(i,h+8),u=Er(i,h+12);switch(e){case"cmap":r=Pr(i,l);break;case"glyf":n=i.subarray(l,l+u);break;case"loca":a=i.subarray(l,l+u);break;case"head":c=kr(i,l+18),o=kr(i,l+50);break;case"CFF ":s=Br(i,l,l+u,t)}}if(n){const t=c?[1/c,0,0,1/c,0,0]:e.fontMatrix;return new Ur(function(e,t,i){let r,n;i?(r=4,n=Er):(r=2,n=(e,t)=>2*kr(e,t));const a=[];let s=n(t,0);for(let o=r;o<t.length;o+=r){const i=n(t,o);a.push(e.subarray(s,i)),s=i}return a}(n,a,o),r,t)}return new Lr(s,r,e.fontMatrix,e.glyphNameMap)}}class jr{constructor({glyfTable:e,isGlyphLocationsLong:t,locaTable:i,numGlyphs:r}){this.glyphs=[];const n=new DataView(i.buffer,i.byteOffset,i.byteLength),a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=t?4:2;let o=t?n.getUint32(0):2*n.getUint16(0),c=0;for(let l=0;l<r;l++){c+=s;const e=t?n.getUint32(c):2*n.getUint16(c);if(e===o){this.glyphs.push(new qr({}));continue}const i=qr.parse(o,a);this.glyphs.push(i),o=e}}getSize(){return this.glyphs.reduce((e,t)=>e+(t.getSize()+3&-4),0)}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),i=e>131070,r=i?4:2,n=new DataView(new ArrayBuffer((this.glyphs.length+1)*r));i?n.setUint32(0,0):n.setUint16(0,0);let a=0,s=0;for(const o of this.glyphs)a+=o.write(a,t),a=a+3&-4,s+=r,i?n.setUint32(s,a):n.setUint16(s,a>>1);return{isLocationLong:i,loca:new Uint8Array(n.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,i=this.glyphs.length;t<i;t++)this.glyphs[t].scale(e[t])}}class qr{constructor({header:e=null,simple:t=null,composites:i=null}){this.header=e,this.simple=t,this.composites=i}static parse(e,t){const[i,r]=Kr.parse(e,t);if(e+=i,r.numberOfContours<0){const i=[];for(;;){const[r,n]=zr.parse(e,t);if(e+=r,i.push(n),!(32&n.flags))break}return new qr({header:r,composites:i})}const n=Vr.parse(e,t,r.numberOfContours);return new qr({header:r,simple:n})}getSize(){if(!this.header)return 0;const e=this.simple?this.simple.getSize():this.composites.reduce((e,t)=>e+t.getSize(),0);return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const i=e;if(e+=this.header.write(e,t),this.simple)e+=this.simple.write(e,t);else for(const r of this.composites)e+=r.write(e,t);return e-i}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;if(this.header.scale(t,e),this.simple)this.simple.scale(t,e);else for(const i of this.composites)i.scale(t,e)}}class Kr{constructor({numberOfContours:e,xMin:t,yMin:i,xMax:r,yMax:n}){this.numberOfContours=e,this.xMin=t,this.yMin=i,this.xMax=r,this.yMax=n}static parse(e,t){return[10,new Kr({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){return t.setInt16(e,this.numberOfContours),t.setInt16(e+2,this.xMin),t.setInt16(e+4,this.yMin),t.setInt16(e+6,this.xMax),t.setInt16(e+8,this.yMax),10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t),this.xMax=Math.round(e+(this.xMax-e)*t)}}class Gr{constructor({flags:e,xCoordinates:t,yCoordinates:i}){this.xCoordinates=t,this.yCoordinates=i,this.flags=e}}class Vr{constructor({contours:e,instructions:t}){this.contours=e,this.instructions=t}static parse(e,t,i){const r=[];for(let g=0;g<i;g++){const i=t.getUint16(e);e+=2,r.push(i)}const n=r[i-1]+1,a=t.getUint16(e);e+=2;const s=new Uint8Array(t).slice(e,e+a);e+=a;const o=[];for(let g=0;g<n;e++,g++){let i=t.getUint8(e);if(o.push(i),8&i){const r=t.getUint8(++e);i^=8;for(let e=0;e<r;e++)o.push(i);g+=r}}const c=[];let l=[],u=[],h=[];const d=[];let p=0,f=0;for(let g=0;g<n;g++){const i=o[g];if(2&i){const r=t.getUint8(e++);f+=16&i?r:-r,l.push(f)}else 16&i||(f+=t.getInt16(e),e+=2),l.push(f);r[p]===g&&(p++,c.push(l),l=[])}f=0,p=0;for(let g=0;g<n;g++){const i=o[g];if(4&i){const r=t.getUint8(e++);f+=32&i?r:-r,u.push(f)}else 32&i||(f+=t.getInt16(e),e+=2),u.push(f);h.push(1&i|64&i),r[p]===g&&(l=c[p],p++,d.push(new Gr({flags:h,xCoordinates:l,yCoordinates:u})),u=[],h=[])}return new Vr({contours:d,instructions:s})}getSize(){let e=2*this.contours.length+2+this.instructions.length,t=0,i=0;for(const r of this.contours){e+=r.flags.length;for(let n=0,a=r.xCoordinates.length;n<a;n++){const a=r.xCoordinates[n],s=r.yCoordinates[n];let o=Math.abs(a-t);o>255?e+=2:o>0&&(e+=1),t=a,o=Math.abs(s-i),o>255?e+=2:o>0&&(e+=1),i=s}}return e}write(e,t){const i=e,r=[],n=[],a=[];let s=0,o=0;for(const c of this.contours){for(let e=0,t=c.xCoordinates.length;e<t;e++){let t=c.flags[e];const i=c.xCoordinates[e];let l=i-s;if(0===l)t|=16,r.push(0);else{const e=Math.abs(l);e<=255?(t|=l>=0?18:2,r.push(e)):r.push(l)}s=i;const u=c.yCoordinates[e];if(l=u-o,0===l)t|=32,n.push(0);else{const e=Math.abs(l);e<=255?(t|=l>=0?36:4,n.push(e)):n.push(l)}o=u,a.push(t)}t.setUint16(e,r.length-1),e+=2}t.setUint16(e,this.instructions.length),e+=2,this.instructions.length&&(new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e),e+=this.instructions.length);for(const c of a)t.setUint8(e++,c);for(let c=0,l=r.length;c<l;c++){const i=r[c],n=a[c];2&n?t.setUint8(e++,i):16&n||(t.setInt16(e,i),e+=2)}for(let c=0,l=n.length;c<l;c++){const i=n[c],r=a[c];4&r?t.setUint8(e++,i):32&r||(t.setInt16(e,i),e+=2)}return e-i}scale(e,t){for(const i of this.contours)if(0!==i.xCoordinates.length)for(let r=0,n=i.xCoordinates.length;r<n;r++)i.xCoordinates[r]=Math.round(e+(i.xCoordinates[r]-e)*t)}}class zr{constructor({flags:e,glyphIndex:t,argument1:i,argument2:r,transf:n,instructions:a}){this.flags=e,this.glyphIndex=t,this.argument1=i,this.argument2=r,this.transf=n,this.instructions=a}static parse(e,t){const i=e,r=[];let n=t.getUint16(e);const a=t.getUint16(e+2);let s,o;e+=4,1&n?(2&n?(s=t.getInt16(e),o=t.getInt16(e+2)):(s=t.getUint16(e),o=t.getUint16(e+2)),e+=4,n^=1):(2&n?(s=t.getInt8(e),o=t.getInt8(e+1)):(s=t.getUint8(e),o=t.getUint8(e+1)),e+=2),8&n?(r.push(t.getUint16(e)),e+=2):64&n?(r.push(t.getUint16(e),t.getUint16(e+2)),e+=4):128&n&&(r.push(t.getUint16(e),t.getUint16(e+2),t.getUint16(e+4),t.getUint16(e+6)),e+=8);let c=null;if(256&n){const i=t.getUint16(e);e+=2,c=new Uint8Array(t).slice(e,e+i),e+=i}return[e-i,new zr({flags:n,glyphIndex:a,argument1:s,argument2:o,transf:r,instructions:c})]}getSize(){let e=4+2*this.transf.length;return 256&this.flags&&(e+=2+this.instructions.length),e+=2,2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2),e}write(e,t){const i=e;return 2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1),t.setUint16(e,this.flags),t.setUint16(e+2,this.glyphIndex),e+=4,1&this.flags?(2&this.flags?(t.setInt16(e,this.argument1),t.setInt16(e+2,this.argument2)):(t.setUint16(e,this.argument1),t.setUint16(e+2,this.argument2)),e+=4):(t.setUint8(e,this.argument1),t.setUint8(e+1,this.argument2),e+=2),256&this.flags&&(t.setUint16(e,this.instructions.length),e+=2,this.instructions.length&&(new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e),e+=this.instructions.length)),e-i}scale(e,t){}}function Xr(e,t){let i=0;for(let r=0;r<=t;r++)i=i<<8|e[r];return i>>>0}function Wr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function $r(e,t,i){let r=0;for(let n=i;n>=0;n--)r+=e[n]+t[n],e[n]=255&r,r>>=8}function Zr(e,t){let i=1;for(let r=t;r>=0&&i>0;r--)i+=e[r],e[r]=255&i,i>>=8}const Yr=16;class Qr{constructor(e){this.buffer=e,this.pos=0,this.end=e.length,this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const i=this.readByte();if(i<0)throw new We("unexpected EOF in bcmap");e=!(128&i),t=t<<7|127&i}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1)),this.pos+=t+1}readHexNumber(e,t){let i;const r=this.tmpBuf;let n=0;do{const e=this.readByte();if(e<0)throw new We("unexpected EOF in bcmap");i=!(128&e),r[n++]=127&e}while(!i);let a=t,s=0,o=0;for(;a>=0;){for(;o<8&&r.length>0;)s|=r[--n]<<o,o+=7;e[a]=255&s,a--,s>>=8,o-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const i=1&e[t]?255:0;let r=0;for(let n=0;n<=t;n++)r=(1&r)<<8|e[n],e[n]=r>>1^i}readString(){const e=this.readNumber(),t=new Array(e);for(let i=0;i<e;i++)t[i]=this.readNumber();return String.fromCharCode(...t)}}class Jr{async process(e,t,i){const r=new Qr(e),n=r.readByte();t.vertical=!!(1&n);let a=null;const s=new Uint8Array(Yr),o=new Uint8Array(Yr),c=new Uint8Array(Yr),l=new Uint8Array(Yr),u=new Uint8Array(Yr);let h,d;for(;(d=r.readByte())>=0;){const e=d>>5;if(7===e){switch(31&d){case 0:r.readString();break;case 1:a=r.readString()}continue}const i=!!(16&d),n=15&d;if(n+1>Yr)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const p=1,f=r.readNumber();switch(e){case 0:r.readHex(s,n),r.readHexNumber(o,n),$r(o,s,n),t.addCodespaceRange(n+1,Xr(s,n),Xr(o,n));for(let e=1;e<f;e++)Zr(o,n),r.readHexNumber(s,n),$r(s,o,n),r.readHexNumber(o,n),$r(o,s,n),t.addCodespaceRange(n+1,Xr(s,n),Xr(o,n));break;case 1:r.readHex(s,n),r.readHexNumber(o,n),$r(o,s,n),r.readNumber();for(let e=1;e<f;e++)Zr(o,n),r.readHexNumber(s,n),$r(s,o,n),r.readHexNumber(o,n),$r(o,s,n),r.readNumber();break;case 2:r.readHex(c,n),h=r.readNumber(),t.mapOne(Xr(c,n),h);for(let e=1;e<f;e++)Zr(c,n),i||(r.readHexNumber(u,n),$r(c,u,n)),h=r.readSigned()+(h+1),t.mapOne(Xr(c,n),h);break;case 3:r.readHex(s,n),r.readHexNumber(o,n),$r(o,s,n),h=r.readNumber(),t.mapCidRange(Xr(s,n),Xr(o,n),h);for(let e=1;e<f;e++)Zr(o,n),i?s.set(o):(r.readHexNumber(s,n),$r(s,o,n)),r.readHexNumber(o,n),$r(o,s,n),h=r.readNumber(),t.mapCidRange(Xr(s,n),Xr(o,n),h);break;case 4:r.readHex(c,p),r.readHex(l,n),t.mapOne(Xr(c,p),Wr(l,n));for(let e=1;e<f;e++)Zr(c,p),i||(r.readHexNumber(u,p),$r(c,u,p)),Zr(l,n),r.readHexSigned(u,n),$r(l,u,n),t.mapOne(Xr(c,p),Wr(l,n));break;case 5:r.readHex(s,p),r.readHexNumber(o,p),$r(o,s,p),r.readHex(l,n),t.mapBfRange(Xr(s,p),Xr(o,p),Wr(l,n));for(let e=1;e<f;e++)Zr(o,p),i?s.set(o):(r.readHexNumber(s,p),$r(s,o,p)),r.readHexNumber(o,p),$r(o,s,p),r.readHex(l,n),t.mapBfRange(Xr(s,p),Xr(o,p),Wr(l,n));break;default:throw new Error(`BinaryCMapReader.process - unknown type: ${e}`)}}return a?i(a):t}}!function(){function e(t){this.constructor===e&&function(){throw new Error("Cannot initialize BaseException.")}(),this.message=t,this.name=this.constructor.name}e.prototype=new Error,e.constructor=e}();class en extends ze{constructor(e){super(`JPEG error: ${e}`,"JpegError")}}class tn extends ze{constructor(e,t){super(e,"DNLMarkerError"),this.scanLines=t}}class rn extends ze{constructor(e){super(e,"EOIMarkerError")}}const nn=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),an=4017,sn=799,on=3406,cn=2276,ln=1567,un=3784,hn=5793,dn=2896;function pn(e,t){let i,r,n=0,a=16;for(;a>0&&!e[a-1];)a--;const s=[{children:[],index:0}];let o,c=s[0];for(i=0;i<a;i++){for(r=0;r<e[i];r++){for(c=s.pop(),c.children[c.index]=t[n];c.index>0;)c=s.pop();for(c.index++,s.push(c);s.length<=i;)s.push(o={children:[],index:0}),c.children[c.index]=o.children,c=o;n++}i+1<a&&(s.push(o={children:[],index:0}),c.children[c.index]=o.children,c=o)}return s[0].children}function fn(e,t,i){return 64*((e.blocksPerLine+1)*t+i)}function gn(e,t,i,r,n,a,s,o,c,l=!1){const u=i.mcusPerLine,h=i.progressive,d=t;let p=0,f=0;function g(){if(f>0)return f--,p>>f&1;if(p=e[t++],255===p){const r=e[t++];if(r){if(220===r&&l){const r=Ct(e,t+=2);if(t+=2,r>0&&r!==i.scanLines)throw new tn("Found DNL marker (0xFFDC) while parsing scan data",r)}else if(217===r){if(l){const e=x*(8===i.precision?8:0);if(e>0&&Math.round(i.scanLines/e)>=5)throw new tn("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new rn("Found EOI marker (0xFFD9) while parsing scan data")}throw new en(`unexpected marker ${(p<<8|r).toString(16)}`)}}return f=7,p>>>7}function m(e){let t=e;for(;;){switch(t=t[g()],typeof t){case"number":return t;case"object":continue}throw new en("invalid huffman sequence")}}function b(e){let t=0;for(;e>0;)t=t<<1|g(),e--;return t}function y(e){if(1===e)return 1===g()?1:-1;const t=b(e);return t>=1<<e-1?t:t+(-1<<e)+1}let v,S=0,C=0,x=0;function w(e,t,i,r,n){const a=i%u;x=(i/u|0)*e.v+r;const s=a*e.h+n;t(e,fn(e,x,s))}function A(e,t,i){x=i/e.blocksPerLine|0;const r=i%e.blocksPerLine;t(e,fn(e,x,r))}const E=r.length;let k,I,T,D,F,P;P=h?0===a?0===o?function(e,t){const i=m(e.huffmanTableDC),r=0===i?0:y(i)<<c;e.blockData[t]=e.pred+=r}:function(e,t){e.blockData[t]|=g()<<c}:0===o?function(e,t){if(S>0)return void S--;let i=a;const r=s;for(;i<=r;){const r=m(e.huffmanTableAC),n=15&r,a=r>>4;if(0===n){if(a<15){S=b(a)+(1<<a)-1;break}i+=16;continue}i+=a;const s=nn[i];e.blockData[t+s]=y(n)*(1<<c),i++}}:function(e,t){let i=a;const r=s;let n,o,l=0;for(;i<=r;){const r=t+nn[i],a=e.blockData[r]<0?-1:1;switch(C){case 0:if(o=m(e.huffmanTableAC),n=15&o,l=o>>4,0===n)l<15?(S=b(l)+(1<<l),C=4):(l=16,C=1);else{if(1!==n)throw new en("invalid ACn encoding");v=y(n),C=l?2:3}continue;case 1:case 2:e.blockData[r]?e.blockData[r]+=a*(g()<<c):(l--,0===l&&(C=2===C?3:0));break;case 3:e.blockData[r]?e.blockData[r]+=a*(g()<<c):(e.blockData[r]=v<<c,C=0);break;case 4:e.blockData[r]&&(e.blockData[r]+=a*(g()<<c))}i++}4===C&&(S--,0===S&&(C=0))}:function(e,t){const i=m(e.huffmanTableDC),r=0===i?0:y(i);e.blockData[t]=e.pred+=r;let n=1;for(;n<64;){const i=m(e.huffmanTableAC),r=15&i,a=i>>4;if(0===r){if(a<15)break;n+=16;continue}n+=a;const s=nn[n];e.blockData[t+s]=y(r),n++}};let B,O=0;const N=1===E?r[0].blocksPerLine*r[0].blocksPerColumn:u*i.mcusPerColumn;let M,R;for(;O<=N;){const i=n?Math.min(N-O,n):N;if(i>0){for(I=0;I<E;I++)r[I].pred=0;if(S=0,1===E)for(k=r[0],F=0;F<i;F++)A(k,P,O),O++;else for(F=0;F<i;F++){for(I=0;I<E;I++)for(k=r[I],M=k.h,R=k.v,T=0;T<R;T++)for(D=0;D<M;D++)w(k,P,O,T,D);O++}}if(f=0,B=yn(e,t),!B)break;if(B.invalid&&(qe(`decodeScan - ${i>0?"unexpected":"excessive"} MCU data, current marker is: ${B.invalid}`),t=B.offset),!(B.marker>=65488&&B.marker<=65495))break;t+=2}return t-d}function mn(e,t,i){const r=e.quantizationTable,n=e.blockData;let a,s,o,c,l,u,h,d,p,f,g,m,b,y,v,S,C;if(!r)throw new en("missing required Quantization Table.");for(let x=0;x<64;x+=8)p=n[t+x],f=n[t+x+1],g=n[t+x+2],m=n[t+x+3],b=n[t+x+4],y=n[t+x+5],v=n[t+x+6],S=n[t+x+7],p*=r[x],f|g|m|b|y|v|S?(f*=r[x+1],g*=r[x+2],m*=r[x+3],b*=r[x+4],y*=r[x+5],v*=r[x+6],S*=r[x+7],a=hn*p+128>>8,s=hn*b+128>>8,o=g,c=v,l=dn*(f-S)+128>>8,d=dn*(f+S)+128>>8,u=m<<4,h=y<<4,a=a+s+1>>1,s=a-s,C=o*un+c*ln+128>>8,o=o*ln-c*un+128>>8,c=C,l=l+h+1>>1,h=l-h,d=d+u+1>>1,u=d-u,a=a+c+1>>1,c=a-c,s=s+o+1>>1,o=s-o,C=l*cn+d*on+2048>>12,l=l*on-d*cn+2048>>12,d=C,C=u*sn+h*an+2048>>12,u=u*an-h*sn+2048>>12,h=C,i[x]=a+d,i[x+7]=a-d,i[x+1]=s+h,i[x+6]=s-h,i[x+2]=o+u,i[x+5]=o-u,i[x+3]=c+l,i[x+4]=c-l):(C=hn*p+512>>10,i[x]=C,i[x+1]=C,i[x+2]=C,i[x+3]=C,i[x+4]=C,i[x+5]=C,i[x+6]=C,i[x+7]=C);for(let x=0;x<8;++x)p=i[x],f=i[x+8],g=i[x+16],m=i[x+24],b=i[x+32],y=i[x+40],v=i[x+48],S=i[x+56],f|g|m|b|y|v|S?(a=hn*p+2048>>12,s=hn*b+2048>>12,o=g,c=v,l=dn*(f-S)+2048>>12,d=dn*(f+S)+2048>>12,u=m,h=y,a=4112+(a+s+1>>1),s=a-s,C=o*un+c*ln+2048>>12,o=o*ln-c*un+2048>>12,c=C,l=l+h+1>>1,h=l-h,d=d+u+1>>1,u=d-u,a=a+c+1>>1,c=a-c,s=s+o+1>>1,o=s-o,C=l*cn+d*on+2048>>12,l=l*on-d*cn+2048>>12,d=C,C=u*sn+h*an+2048>>12,u=u*an-h*sn+2048>>12,h=C,p=a+d,S=a-d,f=s+h,v=s-h,g=o+u,y=o-u,m=c+l,b=c-l,p<16?p=0:p>=4080?p=255:p>>=4,f<16?f=0:f>=4080?f=255:f>>=4,g<16?g=0:g>=4080?g=255:g>>=4,m<16?m=0:m>=4080?m=255:m>>=4,b<16?b=0:b>=4080?b=255:b>>=4,y<16?y=0:y>=4080?y=255:y>>=4,v<16?v=0:v>=4080?v=255:v>>=4,S<16?S=0:S>=4080?S=255:S>>=4,n[t+x]=p,n[t+x+8]=f,n[t+x+16]=g,n[t+x+24]=m,n[t+x+32]=b,n[t+x+40]=y,n[t+x+48]=v,n[t+x+56]=S):(C=hn*p+8192>>14,C=C<-2040?0:C>=2024?255:C+2056>>4,n[t+x]=C,n[t+x+8]=C,n[t+x+16]=C,n[t+x+24]=C,n[t+x+32]=C,n[t+x+40]=C,n[t+x+48]=C,n[t+x+56]=C)}function bn(e,t){const i=t.blocksPerLine,r=t.blocksPerColumn,n=new Int16Array(64);for(let a=0;a<r;a++)for(let e=0;e<i;e++)mn(t,fn(t,a,e),n);return t.blockData}function yn(e,t,i=t){const r=e.length-1;let n=i<t?i:t;if(t>=r)return null;const a=Ct(e,t);if(a>=65472&&a<=65534)return{invalid:null,marker:a,offset:t};let s=Ct(e,n);for(;!(s>=65472&&s<=65534);){if(++n>=r)return null;s=Ct(e,n)}return{invalid:a.toString(16),marker:s,offset:n}}class vn{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e,this._colorTransform=t}parse(e,{dnlScanLines:t=null}={}){function i(){const t=Ct(e,s);s+=2;let i=s+t-2;const r=yn(e,i,s);(null==r?void 0:r.invalid)&&(qe("readDataBlock - incorrect length, current marker is: "+r.invalid),i=r.offset);const n=e.subarray(s,i);return s+=n.length,n}function r(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),i=Math.ceil(e.scanLines/8/e.maxV);for(const r of e.components){const n=Math.ceil(Math.ceil(e.samplesPerLine/8)*r.h/e.maxH),a=Math.ceil(Math.ceil(e.scanLines/8)*r.v/e.maxV),s=t*r.h,o=i*r.v*64*(s+1);r.blockData=new Int16Array(o),r.blocksPerLine=n,r.blocksPerColumn=a}e.mcusPerLine=t,e.mcusPerColumn=i}let n,a,s=0,o=null,c=null,l=0;const u=[],h=[],d=[];let p=Ct(e,s);if(s+=2,65496!==p)throw new en("SOI not found");p=Ct(e,s),s+=2;e:for(;65497!==p;){let g,m,b;switch(p){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const y=i();65504===p&&74===y[0]&&70===y[1]&&73===y[2]&&70===y[3]&&0===y[4]&&(o={version:{major:y[5],minor:y[6]},densityUnits:y[7],xDensity:y[8]<<8|y[9],yDensity:y[10]<<8|y[11],thumbWidth:y[12],thumbHeight:y[13],thumbData:y.subarray(14,14+3*y[12]*y[13])}),65518===p&&65===y[0]&&100===y[1]&&111===y[2]&&98===y[3]&&101===y[4]&&(c={version:y[5]<<8|y[6],flags0:y[7]<<8|y[8],flags1:y[9]<<8|y[10],transformCode:y[11]});break;case 65499:const v=Ct(e,s);s+=2;const S=v+s-2;let C;for(;s<S;){const t=e[s++],i=new Uint16Array(64);if(t>>4){if(t>>4!=1)throw new en("DQT - invalid table spec");for(m=0;m<64;m++)C=nn[m],i[C]=Ct(e,s),s+=2}else for(m=0;m<64;m++)C=nn[m],i[C]=e[s++];u[15&t]=i}break;case 65472:case 65473:case 65474:if(n)throw new en("Only single frame JPEGs supported");s+=2,n={},n.extended=65473===p,n.progressive=65474===p,n.precision=e[s++];const x=Ct(e,s);s+=2,n.scanLines=t||x,n.samplesPerLine=Ct(e,s),s+=2,n.components=[],n.componentIds={};const w=e[s++];let A=0,E=0;for(g=0;g<w;g++){const t=e[s],i=e[s+1]>>4,r=15&e[s+1];A<i&&(A=i),E<r&&(E=r);const a=e[s+2];b=n.components.push({h:i,v:r,quantizationId:a,quantizationTable:null}),n.componentIds[t]=b-1,s+=3}n.maxH=A,n.maxV=E,r(n);break;case 65476:const k=Ct(e,s);for(s+=2,g=2;g<k;){const t=e[s++],i=new Uint8Array(16);let r=0;for(m=0;m<16;m++,s++)r+=i[m]=e[s];const n=new Uint8Array(r);for(m=0;m<r;m++,s++)n[m]=e[s];g+=17+r,(t>>4?h:d)[15&t]=pn(i,n)}break;case 65501:s+=2,a=Ct(e,s),s+=2;break;case 65498:const I=1==++l&&!t;s+=2;const T=e[s++],D=[];for(g=0;g<T;g++){const t=e[s++],i=n.componentIds[t],r=n.components[i];r.index=t;const a=e[s++];r.huffmanTableDC=d[a>>4],r.huffmanTableAC=h[15&a],D.push(r)}const F=e[s++],P=e[s++],B=e[s++];try{const t=gn(e,s,n,D,a,F,P,B>>4,15&B,I);s+=t}catch(f){if(f instanceof tn)return qe(`${f.message} -- attempting to re-parse the JPEG image.`),this.parse(e,{dnlScanLines:f.scanLines});if(f instanceof rn){qe(`${f.message} -- ignoring the rest of the image data.`);break e}throw f}break;case 65500:s+=4;break;case 65535:255!==e[s]&&s--;break;default:const O=yn(e,s-2,s-3);if(null==O?void 0:O.invalid){qe("JpegImage.parse - unexpected data, current marker is: "+O.invalid),s=O.offset;break}if(!O||s>=e.length-1){qe("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new en("JpegImage.parse - unknown marker: "+p.toString(16))}p=Ct(e,s),s+=2}if(!n)throw new en("JpegImage.parse - no frame data found.");this.width=n.samplesPerLine,this.height=n.scanLines,this.jfif=o,this.adobe=c,this.components=[];for(const g of n.components){const e=u[g.quantizationId];e&&(g.quantizationTable=e),this.components.push({index:g.index,output:bn(0,g),scaleX:g.h/n.maxH,scaleY:g.v/n.maxV,blocksPerLine:g.blocksPerLine,blocksPerColumn:g.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,i=!1){const r=this.width/e,n=this.height/t;let a,s,o,c,l,u,h,d,p,f,g,m=0;const b=this.components.length,y=e*t*b,v=new Uint8ClampedArray(y),S=new Uint32Array(e),C=4294967288;let x;for(h=0;h<b;h++){if(a=this.components[h],s=a.scaleX*r,o=a.scaleY*n,m=h,g=a.output,c=a.blocksPerLine+1<<3,s!==x){for(l=0;l<e;l++)d=0|l*s,S[l]=(d&C)<<3|7&d;x=s}for(u=0;u<t;u++)for(d=0|u*o,f=c*(d&C)|(7&d)<<3,l=0;l<e;l++)v[m]=g[f+S[l]],m+=b}let w=this._decodeTransform;if(i||4!==b||w||(w=new Int32Array([-256,255,-256,255,-256,255,-256,255])),w)for(h=0;h<y;)for(d=0,p=0;d<b;d++,h++,p+=2)v[h]=(v[h]*w[p]>>8)+w[p+1];return v}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,i,r;for(let n=0,a=e.length;n<a;n+=3)t=e[n],i=e[n+1],r=e[n+2],e[n]=t-179.456+1.402*r,e[n+1]=t+135.459-.344*i-.714*r,e[n+2]=t-226.816+1.772*i;return e}_convertYccToRgba(e,t){for(let i=0,r=0,n=e.length;i<n;i+=3,r+=4){const n=e[i],a=e[i+1],s=e[i+2];t[r]=n-179.456+1.402*s,t[r+1]=n+135.459-.344*a-.714*s,t[r+2]=n-226.816+1.772*a,t[r+3]=255}return t}_convertYcckToRgb(e){let t,i,r,n,a=0;for(let s=0,o=e.length;s<o;s+=4)t=e[s],i=e[s+1],r=e[s+2],n=e[s+3],e[a++]=i*(-660635669420364e-19*i+.000437130475926232*r-54080610064599e-18*t+.00048449797120281*n-.154362151871126)-122.67195406894+r*(-.000957964378445773*r+.000817076911346625*t-.00477271405408747*n+1.53380253221734)+t*(.000961250184130688*t-.00266257332283933*n+.48357088451265)+n*(-.000336197177618394*n+.484791561490776),e[a++]=107.268039397724+i*(219927104525741e-19*i-.000640992018297945*r+.000659397001245577*t+.000426105652938837*n-.176491792462875)+r*(-.000778269941513683*r+.00130872261408275*t+.000770482631801132*n-.151051492775562)+t*(.00126935368114843*t-.00265090189010898*n+.25802910206845)+n*(-.000318913117588328*n-.213742400323665),e[a++]=i*(-.000570115196973677*i-263409051004589e-19*r+.0020741088115012*t-.00288260236853442*n+.814272968359295)-20.810012546947+r*(-153496057440975e-19*r-.000132689043961446*t+.000560833691242812*n-.195152027534049)+t*(.00174418132927582*t-.00255243321439347*n+.116935020465145)+n*(-.000343531996510555*n+.24165260232407);return e.subarray(0,a)}_convertYcckToRgba(e){for(let t=0,i=e.length;t<i;t+=4){const i=e[t],r=e[t+1],n=e[t+2],a=e[t+3];e[t]=r*(-660635669420364e-19*r+.000437130475926232*n-54080610064599e-18*i+.00048449797120281*a-.154362151871126)-122.67195406894+n*(-.000957964378445773*n+.000817076911346625*i-.00477271405408747*a+1.53380253221734)+i*(.000961250184130688*i-.00266257332283933*a+.48357088451265)+a*(-.000336197177618394*a+.484791561490776),e[t+1]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*n+.000659397001245577*i+.000426105652938837*a-.176491792462875)+n*(-.000778269941513683*n+.00130872261408275*i+.000770482631801132*a-.151051492775562)+i*(.00126935368114843*i-.00265090189010898*a+.25802910206845)+a*(-.000318913117588328*a-.213742400323665),e[t+2]=r*(-.000570115196973677*r-263409051004589e-19*n+.0020741088115012*i-.00288260236853442*a+.814272968359295)-20.810012546947+n*(-153496057440975e-19*n-.000132689043961446*i+.000560833691242812*a-.195152027534049)+i*(.00174418132927582*i-.00255243321439347*a+.116935020465145)+a*(-.000343531996510555*a+.24165260232407),e[t+3]=255}return e}_convertYcckToCmyk(e){let t,i,r;for(let n=0,a=e.length;n<a;n+=4)t=e[n],i=e[n+1],r=e[n+2],e[n]=434.456-t-1.402*r,e[n+1]=119.541-t+.344*i+.714*r,e[n+2]=481.816-t-1.772*i;return e}_convertCmykToRgb(e){let t,i,r,n,a=0;for(let s=0,o=e.length;s<o;s+=4)t=e[s],i=e[s+1],r=e[s+2],n=e[s+3],e[a++]=255+t*(-6747147073602441e-20*t+.0008379262121013727*i+.0002894718188643294*r+.003264231057537806*n-1.1185611867203937)+i*(26374107616089405e-21*i-8626949158638572e-20*r-.0002748769067499491*n-.02155688794978967)+r*(-3878099212869363e-20*r-.0003267808279485286*n+.0686742238595345)-n*(.0003361971776183937*n+.7430659151342254),e[a++]=255+t*(.00013596372813588848*t+.000924537132573585*i+.00010567359618683593*r+.0004791864687436512*n-.3109689587515875)+i*(-.00023545346108370344*i+.0002702845253534714*r+.0020200308977307156*n-.7488052167015494)+r*(6834815998235662e-20*r+.00015168452363460973*n-.09751927774728933)-n*(.0003189131175883281*n+.7364883807733168),e[a++]=255+t*(13598650411385307e-21*t+.00012423956175490851*i+.0004751985097583589*r-36729317476630422e-22*n-.05562186980264034)+i*(.00016141380598724676*i+.0009692239130725186*r+.0007782692450036253*n-.44015232367526463)+r*(5.068882914068769e-7*r+.0017778369011375071*n-.7591454649749609)-n*(.0003435319965105553*n+.7063770186160144);return e.subarray(0,a)}_convertCmykToRgba(e){for(let t=0,i=e.length;t<i;t+=4){const i=e[t],r=e[t+1],n=e[t+2],a=e[t+3];e[t]=255+i*(-6747147073602441e-20*i+.0008379262121013727*r+.0002894718188643294*n+.003264231057537806*a-1.1185611867203937)+r*(26374107616089405e-21*r-8626949158638572e-20*n-.0002748769067499491*a-.02155688794978967)+n*(-3878099212869363e-20*n-.0003267808279485286*a+.0686742238595345)-a*(.0003361971776183937*a+.7430659151342254),e[t+1]=255+i*(.00013596372813588848*i+.000924537132573585*r+.00010567359618683593*n+.0004791864687436512*a-.3109689587515875)+r*(-.00023545346108370344*r+.0002702845253534714*n+.0020200308977307156*a-.7488052167015494)+n*(6834815998235662e-20*n+.00015168452363460973*a-.09751927774728933)-a*(.0003189131175883281*a+.7364883807733168),e[t+2]=255+i*(13598650411385307e-21*i+.00012423956175490851*r+.0004751985097583589*n-36729317476630422e-22*a-.05562186980264034)+r*(.00016141380598724676*r+.0009692239130725186*n+.0007782692450036253*a-.44015232367526463)+n*(5.068882914068769e-7*n+.0017778369011375071*a-.7591454649749609)-a*(.0003435319965105553*a+.7063770186160144),e[t+3]=255}return e}getData({width:e,height:t,forceRGBA:i=!1,forceRGB:r=!1,isSourcePDF:n=!1}){if(this.numComponents>4)throw new en("Unsupported color mode");const a=this._getLinearizedBlockData(e,t,n);if(1===this.numComponents&&(i||r)){const e=a.length*(i?4:3),t=new Uint8ClampedArray(e);let r=0;if(i)!function(e,t){if(Je.isLittleEndian())for(let i=0,r=e.length;i<r;i++)t[i]=65793*e[i]|4278190080;else for(let i=0,r=e.length;i<r;i++)t[i]=16843008*e[i]|255}(a,new Uint32Array(t.buffer));else for(const i of a)t[r++]=i,t[r++]=i,t[r++]=i;return t}if(3===this.numComponents&&this._isColorConversionNeeded){if(i){const e=new Uint8ClampedArray(a.length/3*4);return this._convertYccToRgba(a,e)}return this._convertYccToRgb(a)}if(4===this.numComponents){if(this._isColorConversionNeeded)return i?this._convertYcckToRgba(a):r?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(i)return this._convertCmykToRgba(a);if(r)return this._convertCmykToRgb(a)}return a}}class Sn extends tr{constructor(e,t,i){let r;for(;-1!==(r=e.getByte());)if(255===r){e.skip(-1);break}super(t),this.stream=e,this.dict=e.dict,this.maybeLength=t,this.params=i}get bytes(){return Ve(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t)){const i=this.dict.get("BPC","BitsPerComponent")||8,r=t.length,n=new Int32Array(r);let a=!1;const s=(1<<i)-1;for(let e=0;e<r;e+=2)n[e]=256*(t[e+1]-t[e])|0,n[e+1]=t[e]*s|0,256===n[e]&&0===n[e+1]||(a=!0);a&&(e.decodeTransform=n)}if(this.params instanceof dt){const t=this.params.get("ColorTransform");Number.isInteger(t)&&(e.colorTransform=t)}const i=new vn(e);i.parse(this.bytes);const r=i.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB,isSourcePDF:!0});this.buffer=r,this.bufferLength=r.length,this.eof=!0}}const Cn=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];class xn{constructor(e,t,i){this.data=e,this.bp=t,this.dataEnd=i,this.chigh=e[t],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}byteIn(){const e=this.data;let t=this.bp;255===e[t]?e[t+1]>143?(this.clow+=65280,this.ct=8):(t++,this.clow+=e[t]<<9,this.ct=7,this.bp=t):(t++,this.clow+=t<this.dataEnd?e[t]<<8:65280,this.ct=8,this.bp=t),this.clow>65535&&(this.chigh+=this.clow>>16,this.clow&=65535)}readBit(e,t){let i=e[t]>>1,r=1&e[t];const n=Cn[i],a=n.qe;let s,o=this.a-a;if(this.chigh<a)o<a?(o=a,s=r,i=n.nmps):(o=a,s=1^r,1===n.switchFlag&&(r=s),i=n.nlps);else{if(this.chigh-=a,32768&o)return this.a=o,r;o<a?(s=1^r,1===n.switchFlag&&(r=s),i=n.nlps):(s=r,i=n.nmps)}do{0===this.ct&&this.byteIn(),o<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(!(32768&o));return this.a=o,e[t]=i<<1|r,s}}class wn extends ze{constructor(e){super(`JPX error: ${e}`,"JpxError")}}const An={LL:0,LH:1,HL:1,HH:2};class En{constructor(){this.failOnCorruptedImage=!1}parse(e){if(65359===Ct(e,0))return void this.parseCodestream(e,0,e.length);const t=e.length;let i=0;for(;i<t;){let r=8,n=xt(e,i);const a=xt(e,i+4);if(i+=r,1===n&&(n=4294967296*xt(e,i)+xt(e,i+4),i+=8,r+=8),0===n&&(n=t-i+r),n<r)throw new wn("Invalid box field size");const s=n-r;let o=!0;switch(a){case 1785737832:o=!1;break;case 1668246642:if(1===e[i]){const t=xt(e,i+3);switch(t){case 16:case 17:case 18:break;default:qe("Unknown colorspace "+t)}}break;case 1785737827:this.parseCodestream(e,i,i+s);break;case 1783636e3:218793738!==xt(e,i)&&qe("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:qe(`Unsupported header type ${a} (${String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}).`)}o&&(i+=s)}}parseImageProperties(e){let t=e.getByte();for(;t>=0;){const i=t;if(t=e.getByte(),65361==(i<<8|t)){e.skip(4);const t=e.getInt32()>>>0,i=e.getInt32()>>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0;e.skip(16);const a=e.getUint16();return this.width=t-r,this.height=i-n,this.componentsCount=a,void(this.bitsPerComponent=8)}}throw new wn("No size marker found in JPX stream")}parseCodestream(e,t,i){const r={};let n=!1;try{let a=t;for(;a+1<i;){const t=Ct(e,a);a+=2;let i,s,o,c,l,u,h=0;switch(t){case 65359:r.mainHeader=!0;break;case 65497:break;case 65361:h=Ct(e,a);const d={};d.Xsiz=xt(e,a+4),d.Ysiz=xt(e,a+8),d.XOsiz=xt(e,a+12),d.YOsiz=xt(e,a+16),d.XTsiz=xt(e,a+20),d.YTsiz=xt(e,a+24),d.XTOsiz=xt(e,a+28),d.YTOsiz=xt(e,a+32);const p=Ct(e,a+36);d.Csiz=p;const f=[];i=a+38;for(let t=0;t<p;t++){const t={precision:1+(127&e[i]),isSigned:!!(128&e[i]),XRsiz:e[i+1],YRsiz:e[i+2]};i+=3,kn(t,d),f.push(t)}r.SIZ=d,r.components=f,In(r,f),r.QCC=[],r.COC=[];break;case 65372:h=Ct(e,a);const g={};switch(i=a+2,s=e[i++],31&s){case 0:c=8,l=!0;break;case 1:c=16,l=!1;break;case 2:c=16,l=!0;break;default:throw new Error("Invalid SQcd value "+s)}for(g.noQuantization=8===c,g.scalarExpounded=l,g.guardBits=s>>5,o=[];i<h+a;){const t={};8===c?(t.epsilon=e[i++]>>3,t.mu=0):(t.epsilon=e[i]>>3,t.mu=(7&e[i])<<8|e[i+1],i+=2),o.push(t)}g.SPqcds=o,r.mainHeader?r.QCD=g:(r.currentTile.QCD=g,r.currentTile.QCC=[]);break;case 65373:h=Ct(e,a);const m={};let b;switch(i=a+2,r.SIZ.Csiz<257?b=e[i++]:(b=Ct(e,i),i+=2),s=e[i++],31&s){case 0:c=8,l=!0;break;case 1:c=16,l=!1;break;case 2:c=16,l=!0;break;default:throw new Error("Invalid SQcd value "+s)}for(m.noQuantization=8===c,m.scalarExpounded=l,m.guardBits=s>>5,o=[];i<h+a;){const t={};8===c?(t.epsilon=e[i++]>>3,t.mu=0):(t.epsilon=e[i]>>3,t.mu=(7&e[i])<<8|e[i+1],i+=2),o.push(t)}m.SPqcds=o,r.mainHeader?r.QCC[b]=m:r.currentTile.QCC[b]=m;break;case 65362:h=Ct(e,a);const y={};i=a+2;const v=e[i++];y.entropyCoderWithCustomPrecincts=!!(1&v),y.sopMarkerUsed=!!(2&v),y.ephMarkerUsed=!!(4&v),y.progressionOrder=e[i++],y.layersCount=Ct(e,i),i+=2,y.multipleComponentTransform=e[i++],y.decompositionLevelsCount=e[i++],y.xcb=2+(15&e[i++]),y.ycb=2+(15&e[i++]);const S=e[i++];if(y.selectiveArithmeticCodingBypass=!!(1&S),y.resetContextProbabilities=!!(2&S),y.terminationOnEachCodingPass=!!(4&S),y.verticallyStripe=!!(8&S),y.predictableTermination=!!(16&S),y.segmentationSymbolUsed=!!(32&S),y.reversibleTransformation=e[i++],y.entropyCoderWithCustomPrecincts){const t=[];for(;i<h+a;){const r=e[i++];t.push({PPx:15&r,PPy:r>>4})}y.precinctsSizes=t}const C=[];y.selectiveArithmeticCodingBypass&&C.push("selectiveArithmeticCodingBypass"),y.terminationOnEachCodingPass&&C.push("terminationOnEachCodingPass"),y.verticallyStripe&&C.push("verticallyStripe"),y.predictableTermination&&C.push("predictableTermination"),C.length>0&&(n=!0,qe(`JPX: Unsupported COD options (${C.join(", ")}).`)),r.mainHeader?r.COD=y:(r.currentTile.COD=y,r.currentTile.COC=[]);break;case 65424:h=Ct(e,a),u={},u.index=Ct(e,a+2),u.length=xt(e,a+4),u.dataEnd=u.length+a-2,u.partIndex=e[a+8],u.partsCount=e[a+9],r.mainHeader=!1,0===u.partIndex&&(u.COD=r.COD,u.COC=r.COC.slice(0),u.QCD=r.QCD,u.QCC=r.QCC.slice(0)),r.currentTile=u;break;case 65427:u=r.currentTile,0===u.partIndex&&(Kn(r,u.index),Ln(r)),h=u.dataEnd-a,Hn(r,e,a,h);break;case 65363:qe("JPX: Codestream code 0xFF53 (COC) is not implemented.");case 65365:case 65367:case 65368:case 65380:h=Ct(e,a);break;default:throw new Error("Unknown codestream code: "+t.toString(16))}a+=h}}catch(a){if(n||this.failOnCorruptedImage)throw new wn(a.message);qe(`JPX: Trying to recover from: "${a.message}".`)}this.tiles=function(e){const t=e.SIZ,i=e.components,r=t.Csiz,n=[];for(let a=0,s=e.tiles.length;a<s;a++){const t=e.tiles[a],s=[];for(let i=0;i<r;i++)s[i]=qn(e,t,i);const o=s[0],c=new Uint8ClampedArray(o.items.length*r),l={left:o.left,top:o.top,width:o.width,height:o.height,items:c};let u,h,d,p,f,g,m,b=0;if(t.codingStyleDefaultParameters.multipleComponentTransform){const e=4===r,n=s[0].items,a=s[1].items,o=s[2].items,l=e?s[3].items:null;u=i[0].precision-8,h=.5+(128<<u);const y=t.components[0],v=r-3;if(p=n.length,y.codingStyleParameters.reversibleTransformation)for(d=0;d<p;d++,b+=v){f=n[d]+h,g=a[d],m=o[d];const e=f-(m+g>>2);c[b++]=e+m>>u,c[b++]=e>>u,c[b++]=e+g>>u}else for(d=0;d<p;d++,b+=v)f=n[d]+h,g=a[d],m=o[d],c[b++]=f+1.402*m>>u,c[b++]=f-.34413*g-.71414*m>>u,c[b++]=f+1.772*g>>u;if(e)for(d=0,b=3;d<p;d++,b+=4)c[b]=l[d]+h>>u}else for(let e=0;e<r;e++){const t=s[e].items;for(u=i[e].precision-8,h=.5+(128<<u),b=e,d=0,p=t.length;d<p;d++)c[b]=t[d]+h>>u,b+=r}n.push(l)}return n}(r),this.width=r.SIZ.Xsiz-r.SIZ.XOsiz,this.height=r.SIZ.Ysiz-r.SIZ.YOsiz,this.componentsCount=r.SIZ.Csiz}}function kn(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz),e.x1=Math.ceil(t.Xsiz/e.XRsiz),e.y0=Math.ceil(t.YOsiz/e.YRsiz),e.y1=Math.ceil(t.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function In(e,t){const i=e.SIZ,r=[];let n;const a=Math.ceil((i.Xsiz-i.XTOsiz)/i.XTsiz),s=Math.ceil((i.Ysiz-i.YTOsiz)/i.YTsiz);for(let o=0;o<s;o++)for(let e=0;e<a;e++)n={},n.tx0=Math.max(i.XTOsiz+e*i.XTsiz,i.XOsiz),n.ty0=Math.max(i.YTOsiz+o*i.YTsiz,i.YOsiz),n.tx1=Math.min(i.XTOsiz+(e+1)*i.XTsiz,i.Xsiz),n.ty1=Math.min(i.YTOsiz+(o+1)*i.YTsiz,i.Ysiz),n.width=n.tx1-n.tx0,n.height=n.ty1-n.ty0,n.components=[],r.push(n);e.tiles=r;for(let o=0,c=i.Csiz;o<c;o++){const e=t[o];for(let t=0,i=r.length;t<i;t++){const i={};n=r[t],i.tcx0=Math.ceil(n.tx0/e.XRsiz),i.tcy0=Math.ceil(n.ty0/e.YRsiz),i.tcx1=Math.ceil(n.tx1/e.XRsiz),i.tcy1=Math.ceil(n.ty1/e.YRsiz),i.width=i.tcx1-i.tcx0,i.height=i.tcy1-i.tcy0,n.components[o]=i}}}function Tn(e,t,i){const r=t.codingStyleParameters,n={};return r.entropyCoderWithCustomPrecincts?(n.PPx=r.precinctsSizes[i].PPx,n.PPy=r.precinctsSizes[i].PPy):(n.PPx=15,n.PPy=15),n.xcb_=i>0?Math.min(r.xcb,n.PPx-1):Math.min(r.xcb,n.PPx),n.ycb_=i>0?Math.min(r.ycb,n.PPy-1):Math.min(r.ycb,n.PPy),n}function Dn(e,t,i){const r=1<<i.PPx,n=1<<i.PPy,a=0===t.resLevel,s=1<<i.PPx+(a?0:-1),o=1<<i.PPy+(a?0:-1),c=t.trx1>t.trx0?Math.ceil(t.trx1/r)-Math.floor(t.trx0/r):0,l=t.try1>t.try0?Math.ceil(t.try1/n)-Math.floor(t.try0/n):0,u=c*l;t.precinctParameters={precinctWidth:r,precinctHeight:n,numprecinctswide:c,numprecinctshigh:l,numprecincts:u,precinctWidthInSubband:s,precinctHeightInSubband:o}}function Fn(e,t,i){const r=i.xcb_,n=i.ycb_,a=1<<r,s=1<<n,o=t.tbx0>>r,c=t.tby0>>n,l=t.tbx1+a-1>>r,u=t.tby1+s-1>>n,h=t.resolution.precinctParameters,d=[],p=[];let f,g,m,b;for(g=c;g<u;g++)for(f=o;f<l;f++){if(m={cbx:f,cby:g,tbx0:a*f,tby0:s*g,tbx1:a*(f+1),tby1:s*(g+1)},m.tbx0_=Math.max(t.tbx0,m.tbx0),m.tby0_=Math.max(t.tby0,m.tby0),m.tbx1_=Math.min(t.tbx1,m.tbx1),m.tby1_=Math.min(t.tby1,m.tby1),b=Math.floor((m.tbx0_-t.tbx0)/h.precinctWidthInSubband)+Math.floor((m.tby0_-t.tby0)/h.precinctHeightInSubband)*h.numprecinctswide,m.precinctNumber=b,m.subbandType=t.type,m.Lblock=3,m.tbx1_<=m.tbx0_||m.tby1_<=m.tby0_)continue;d.push(m);let e=p[b];void 0!==e?(f<e.cbxMin?e.cbxMin=f:f>e.cbxMax&&(e.cbxMax=f),g<e.cbyMin?e.cbxMin=g:g>e.cbyMax&&(e.cbyMax=g)):p[b]=e={cbxMin:f,cbyMin:g,cbxMax:f,cbyMax:g},m.precinct=e}t.codeblockParameters={codeblockWidth:r,codeblockHeight:n,numcodeblockwide:l-o+1,numcodeblockhigh:u-c+1},t.codeblocks=d,t.precincts=p}function Pn(e,t,i){const r=[],n=e.subbands;for(let a=0,s=n.length;a<s;a++){const e=n[a].codeblocks;for(let i=0,n=e.length;i<n;i++){const n=e[i];n.precinctNumber===t&&r.push(n)}}return{layerNumber:i,codeblocks:r}}function Bn(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=r.codingStyleDefaultParameters.layersCount,a=t.Csiz;let s=0;for(let h=0;h<a;h++)s=Math.max(s,r.components[h].codingStyleParameters.decompositionLevelsCount);let o=0,c=0,l=0,u=0;this.nextPacket=function(){for(;o<n;o++){for(;c<=s;c++){for(;l<a;l++){const e=r.components[l];if(c>e.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[c],i=t.precinctParameters.numprecincts;for(;u<i;){const e=Pn(t,u,o);return u++,e}u=0}l=0}c=0}throw new wn("Out of packets")}}function On(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=r.codingStyleDefaultParameters.layersCount,a=t.Csiz;let s=0;for(let h=0;h<a;h++)s=Math.max(s,r.components[h].codingStyleParameters.decompositionLevelsCount);let o=0,c=0,l=0,u=0;this.nextPacket=function(){for(;o<=s;o++){for(;c<n;c++){for(;l<a;l++){const e=r.components[l];if(o>e.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],i=t.precinctParameters.numprecincts;for(;u<i;){const e=Pn(t,u,c);return u++,e}u=0}l=0}c=0}throw new wn("Out of packets")}}function Nn(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=r.codingStyleDefaultParameters.layersCount,a=t.Csiz;let s,o,c,l,u=0;for(c=0;c<a;c++){const e=r.components[c];u=Math.max(u,e.codingStyleParameters.decompositionLevelsCount)}const h=new Int32Array(u+1);for(o=0;o<=u;++o){let e=0;for(c=0;c<a;++c){const t=r.components[c].resolutions;o<t.length&&(e=Math.max(e,t[o].precinctParameters.numprecincts))}h[o]=e}s=0,o=0,c=0,l=0,this.nextPacket=function(){for(;o<=u;o++){for(;l<h[o];l++){for(;c<a;c++){const e=r.components[c];if(o>e.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],i=t.precinctParameters.numprecincts;if(!(l>=i)){for(;s<n;){const e=Pn(t,l,s);return s++,e}s=0}}c=0}l=0}throw new wn("Out of packets")}}function Mn(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=r.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=Un(r),o=s;let c=0,l=0,u=0,h=0,d=0;this.nextPacket=function(){for(;d<o.maxNumHigh;d++){for(;h<o.maxNumWide;h++){for(;u<a;u++){const e=r.components[u],t=e.codingStyleParameters.decompositionLevelsCount;for(;l<=t;l++){const t=e.resolutions[l],i=s.components[u].resolutions[l],r=_n(h,d,i,o,t);if(null!==r){for(;c<n;){const e=Pn(t,r,c);return c++,e}c=0}}l=0}u=0}h=0}throw new wn("Out of packets")}}function Rn(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=r.codingStyleDefaultParameters.layersCount,a=t.Csiz,s=Un(r);let o=0,c=0,l=0,u=0,h=0;this.nextPacket=function(){for(;l<a;++l){const e=r.components[l],t=s.components[l],i=e.codingStyleParameters.decompositionLevelsCount;for(;h<t.maxNumHigh;h++){for(;u<t.maxNumWide;u++){for(;c<=i;c++){const i=e.resolutions[c],r=t.resolutions[c],a=_n(u,h,r,t,i);if(null!==a){for(;o<n;){const e=Pn(i,a,o);return o++,e}o=0}}c=0}u=0}h=0}throw new wn("Out of packets")}}function _n(e,t,i,r,n){const a=e*r.minWidth,s=t*r.minHeight;if(a%i.width!=0||s%i.height!=0)return null;const o=s/i.width*n.precinctParameters.numprecinctswide;return a/i.height+o}function Un(e){const t=e.components.length;let i=Number.MAX_VALUE,r=Number.MAX_VALUE,n=0,a=0;const s=new Array(t);for(let o=0;o<t;o++){const t=e.components[o],c=t.codingStyleParameters.decompositionLevelsCount,l=new Array(c+1);let u=Number.MAX_VALUE,h=Number.MAX_VALUE,d=0,p=0,f=1;for(let e=c;e>=0;--e){const i=t.resolutions[e],r=f*i.precinctParameters.precinctWidth,n=f*i.precinctParameters.precinctHeight;u=Math.min(u,r),h=Math.min(h,n),d=Math.max(d,i.precinctParameters.numprecinctswide),p=Math.max(p,i.precinctParameters.numprecinctshigh),l[e]={width:r,height:n},f<<=1}i=Math.min(i,u),r=Math.min(r,h),n=Math.max(n,d),a=Math.max(a,p),s[o]={resolutions:l,minWidth:u,minHeight:h,maxNumWide:d,maxNumHigh:p}}return{components:s,minWidth:i,minHeight:r,maxNumWide:n,maxNumHigh:a}}function Ln(e){const t=e.SIZ,i=e.currentTile.index,r=e.tiles[i],n=t.Csiz;for(let s=0;s<n;s++){const e=r.components[s],t=e.codingStyleParameters.decompositionLevelsCount,i=[],n=[];for(let r=0;r<=t;r++){const a=Tn(0,e,r),s={},o=1<<t-r;let c;if(s.trx0=Math.ceil(e.tcx0/o),s.try0=Math.ceil(e.tcy0/o),s.trx1=Math.ceil(e.tcx1/o),s.try1=Math.ceil(e.tcy1/o),s.resLevel=r,Dn(0,s,a),i.push(s),0===r)c={},c.type="LL",c.tbx0=Math.ceil(e.tcx0/o),c.tby0=Math.ceil(e.tcy0/o),c.tbx1=Math.ceil(e.tcx1/o),c.tby1=Math.ceil(e.tcy1/o),c.resolution=s,Fn(0,c,a),n.push(c),s.subbands=[c];else{const i=1<<t-r+1,o=[];c={},c.type="HL",c.tbx0=Math.ceil(e.tcx0/i-.5),c.tby0=Math.ceil(e.tcy0/i),c.tbx1=Math.ceil(e.tcx1/i-.5),c.tby1=Math.ceil(e.tcy1/i),c.resolution=s,Fn(0,c,a),n.push(c),o.push(c),c={},c.type="LH",c.tbx0=Math.ceil(e.tcx0/i),c.tby0=Math.ceil(e.tcy0/i-.5),c.tbx1=Math.ceil(e.tcx1/i),c.tby1=Math.ceil(e.tcy1/i-.5),c.resolution=s,Fn(0,c,a),n.push(c),o.push(c),c={},c.type="HH",c.tbx0=Math.ceil(e.tcx0/i-.5),c.tby0=Math.ceil(e.tcy0/i-.5),c.tbx1=Math.ceil(e.tcx1/i-.5),c.tby1=Math.ceil(e.tcy1/i-.5),c.resolution=s,Fn(0,c,a),n.push(c),o.push(c),s.subbands=o}}e.resolutions=i,e.subbands=n}const a=r.codingStyleDefaultParameters.progressionOrder;switch(a){case 0:r.packetsIterator=new Bn(e);break;case 1:r.packetsIterator=new On(e);break;case 2:r.packetsIterator=new Nn(e);break;case 3:r.packetsIterator=new Mn(e);break;case 4:r.packetsIterator=new Rn(e);break;default:throw new wn(`Unsupported progression order ${a}`)}}function Hn(e,t,i,r){let n,a=0,s=0,o=!1;function c(e){for(;s<e;){const e=t[i+a];a++,o?(n=n<<7|e,s+=7,o=!1):(n=n<<8|e,s+=8),255===e&&(o=!0)}return s-=e,n>>>s&(1<<e)-1}function l(e){return 255===t[i+a-1]&&t[i+a]===e?(u(1),!0):255===t[i+a]&&t[i+a+1]===e&&(u(2),!0)}function u(e){a+=e}function h(){s=0,o&&(a++,o=!1)}function d(){if(0===c(1))return 1;if(0===c(1))return 2;let e=c(2);return e<3?e+3:(e=c(5),e<31?e+6:(e=c(7),e+37))}const p=e.currentTile.index,f=e.tiles[p],g=e.COD.sopMarkerUsed,m=e.COD.ephMarkerUsed,b=f.packetsIterator;for(;a<r;){h(),g&&l(145)&&u(4);const e=b.nextPacket();if(!c(1))continue;const r=e.layerNumber,n=[];let s;for(let t=0,i=e.codeblocks.length;t<i;t++){s=e.codeblocks[t];let i=s.precinct;const a=s.cbx-i.cbxMin,o=s.cby-i.cbyMin;let l,u,h=!1,p=!1;if(void 0!==s.included)h=!!c(1);else{let e;if(i=s.precinct,void 0!==i.inclusionTree)e=i.inclusionTree;else{const t=i.cbxMax-i.cbxMin+1,n=i.cbyMax-i.cbyMin+1;e=new Vn(t,n,r),u=new Gn(t,n),i.inclusionTree=e,i.zeroBitPlanesTree=u;for(let e=0;e<r;e++)if(0!==c(1))throw new wn("Invalid tag tree")}if(e.reset(a,o,r))for(;;){if(!c(1)){e.incrementValue(r);break}if(l=!e.nextLevel(),l){s.included=!0,h=p=!0;break}}}if(!h)continue;if(p){for(u=i.zeroBitPlanesTree,u.reset(a,o);;)if(c(1)){if(l=!u.nextLevel(),l)break}else u.incrementValue();s.zeroBitPlanes=u.value}const f=d();for(;c(1);)s.Lblock++;const g=St(f),m=c((f<1<<g?g-1:g)+s.Lblock);n.push({codeblock:s,codingpasses:f,dataLength:m})}for(h(),m&&l(146);n.length>0;){const e=n.shift();s=e.codeblock,void 0===s.data&&(s.data=[]),s.data.push({data:t,start:i+a,end:i+a+e.dataLength,codingpasses:e.codingpasses}),a+=e.dataLength}}return a}function jn(e,t,i,r,n,a,s,o,c){const l=r.tbx0,u=r.tby0,h=r.tbx1-r.tbx0,d=r.codeblocks,p="H"===r.type.charAt(0)?1:0,f="H"===r.type.charAt(1)?t:0;for(let g=0,m=d.length;g<m;++g){const i=d[g],m=i.tbx1_-i.tbx0_,b=i.tby1_-i.tby0_;if(0===m||0===b)continue;if(void 0===i.data)continue;const y=new Xn(m,b,i.subbandType,i.zeroBitPlanes,a);let v=2;const S=i.data;let C,x,w,A=0,E=0;for(C=0,x=S.length;C<x;C++)w=S[C],A+=w.end-w.start,E+=w.codingpasses;const k=new Uint8Array(A);let I=0;for(C=0,x=S.length;C<x;C++){w=S[C];const e=w.data.subarray(w.start,w.end);k.set(e,I),I+=e.length}const T=new xn(k,0,A);for(y.setDecoder(T),C=0;C<E;C++){switch(v){case 0:y.runSignificancePropagationPass();break;case 1:y.runMagnitudeRefinementPass();break;case 2:y.runCleanupPass(),o&&y.checkSegmentationSymbol()}c&&y.reset(),v=(v+1)%3}let D=i.tbx0_-l+(i.tby0_-u)*h;const F=y.coefficentsSign,P=y.coefficentsMagnitude,B=y.bitsDecoded,O=s?0:.5;let N,M,R;I=0;const _="LL"!==r.type;for(C=0;C<b;C++){const i=2*(D/h|0)*(t-h)+p+f;for(N=0;N<m;N++)M=P[I],0!==M&&(M=(M+O)*n,0!==F[I]&&(M=-M),R=B[I],e[_?i+(D<<1):D]=s&&R>=a?M:M*(1<<a-R)),D++,I++;D+=h-m}}}function qn(e,t,i){const r=t.components[i],n=r.codingStyleParameters,a=r.quantizationParameters,s=n.decompositionLevelsCount,o=a.SPqcds,c=a.scalarExpounded,l=a.guardBits,u=n.segmentationSymbolUsed,h=n.resetContextProbabilities,d=e.components[i].precision,p=n.reversibleTransformation,f=p?new Zn:new $n,g=[];let m=0;for(let y=0;y<=s;y++){const e=r.resolutions[y],t=e.trx1-e.trx0,i=e.try1-e.try0,n=new Float32Array(t*i);for(let r=0,a=e.subbands.length;r<a;r++){let i,a;c?(i=o[m].mu,a=o[m].epsilon,m++):(i=o[0].mu,a=o[0].epsilon+(y>0?1-y:0));const s=e.subbands[r],f=An[s.type];jn(n,t,0,s,p?1:2**(d+f-a)*(1+i/2048),l+a-1,p,u,h)}g.push({width:t,height:i,items:n})}const b=f.calculate(g,r.tcx0,r.tcy0);return{left:r.tcx0,top:r.tcy0,width:b.width,height:b.height,items:b.items}}function Kn(e,t){const i=e.SIZ.Csiz,r=e.tiles[t];for(let n=0;n<i;n++){const t=r.components[n],i=void 0!==e.currentTile.QCC[n]?e.currentTile.QCC[n]:e.currentTile.QCD;t.quantizationParameters=i;const a=void 0!==e.currentTile.COC[n]?e.currentTile.COC[n]:e.currentTile.COD;t.codingStyleParameters=a}r.codingStyleDefaultParameters=e.currentTile.COD}class Gn{constructor(e,t){const i=St(Math.max(e,t))+1;this.levels=[];for(let r=0;r<i;r++){const i={width:e,height:t,items:[]};this.levels.push(i),e=Math.ceil(e/2),t=Math.ceil(t/2)}}reset(e,t){let i,r=0,n=0;for(;r<this.levels.length;){i=this.levels[r];const a=e+t*i.width;if(void 0!==i.items[a]){n=i.items[a];break}i.index=a,e>>=1,t>>=1,r++}r--,i=this.levels[r],i.items[i.index]=n,this.currentLevel=r,delete this.value}incrementValue(){const e=this.levels[this.currentLevel];e.items[e.index]++}nextLevel(){let e=this.currentLevel,t=this.levels[e];const i=t.items[t.index];return e--,e<0?(this.value=i,!1):(this.currentLevel=e,t=this.levels[e],t.items[t.index]=i,!0)}}class Vn{constructor(e,t,i){const r=St(Math.max(e,t))+1;this.levels=[];for(let n=0;n<r;n++){const r=new Uint8Array(e*t);for(let e=0,t=r.length;e<t;e++)r[e]=i;const n={width:e,height:t,items:r};this.levels.push(n),e=Math.ceil(e/2),t=Math.ceil(t/2)}}reset(e,t,i){let r=0;for(;r<this.levels.length;){const n=this.levels[r],a=e+t*n.width;n.index=a;const s=n.items[a];if(255===s)break;if(s>i)return this.currentLevel=r,this.propagateValues(),!1;e>>=1,t>>=1,r++}return this.currentLevel=r-1,!0}incrementValue(e){const t=this.levels[this.currentLevel];t.items[t.index]=e+1,this.propagateValues()}propagateValues(){let e=this.currentLevel,t=this.levels[e];const i=t.items[t.index];for(;--e>=0;)t=this.levels[e],t.items[t.index]=i}nextLevel(){let e=this.currentLevel,t=this.levels[e];const i=t.items[t.index];return t.items[t.index]=255,e--,!(e<0||(this.currentLevel=e,t=this.levels[e],t.items[t.index]=i,0))}}const zn=class e{constructor(t,i,r,n,a){let s;this.width=t,this.height=i,s="HH"===r?e.HHContextLabel:"HL"===r?e.HLContextLabel:e.LLAndLHContextsLabel,this.contextLabelTable=s;const o=t*i;let c;this.neighborsSignificance=new Uint8Array(o),this.coefficentsSign=new Uint8Array(o),c=a>14?new Uint32Array(o):a>6?new Uint16Array(o):new Uint8Array(o),this.coefficentsMagnitude=c,this.processingFlags=new Uint8Array(o);const l=new Uint8Array(o);if(0!==n)for(let e=0;e<o;e++)l[e]=n;this.bitsDecoded=l,this.reset()}setDecoder(e){this.decoder=e}reset(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[e.UNIFORM_CONTEXT]=92,this.contexts[e.RUNLENGTH_CONTEXT]=6}setNeighborsSignificance(e,t,i){const r=this.neighborsSignificance,n=this.width,a=this.height,s=t>0,o=t+1<n;let c;e>0&&(c=i-n,s&&(r[c-1]+=16),o&&(r[c+1]+=16),r[c]+=4),e+1<a&&(c=i+n,s&&(r[c-1]+=16),o&&(r[c+1]+=16),r[c]+=4),s&&(r[i-1]+=1),o&&(r[i+1]+=1),r[i]|=128}runSignificancePropagationPass(){const e=this.decoder,t=this.width,i=this.height,r=this.coefficentsMagnitude,n=this.coefficentsSign,a=this.neighborsSignificance,s=this.processingFlags,o=this.contexts,c=this.contextLabelTable,l=this.bitsDecoded;for(let u=0;u<i;u+=4)for(let h=0;h<t;h++){let d=u*t+h;for(let p=0;p<4;p++,d+=t){const t=u+p;if(t>=i)break;if(s[d]&=-2,r[d]||!a[d])continue;const f=c[a[d]];if(e.readBit(o,f)){const e=this.decodeSignBit(t,h,d);n[d]=e,r[d]=1,this.setNeighborsSignificance(t,h,d),s[d]|=2}l[d]++,s[d]|=1}}}decodeSignBit(e,t,i){const r=this.width,n=this.height,a=this.coefficentsMagnitude,s=this.coefficentsSign;let o,c,l,u,h,d;u=t>0&&0!==a[i-1],t+1<r&&0!==a[i+1]?(l=s[i+1],u?(c=s[i-1],o=1-l-c):o=1-l-l):u?(c=s[i-1],o=1-c-c):o=0;const p=3*o;return u=e>0&&0!==a[i-r],e+1<n&&0!==a[i+r]?(l=s[i+r],u?(c=s[i-r],o=1-l-c+p):o=1-l-l+p):u?(c=s[i-r],o=1-c-c+p):o=p,o>=0?(h=9+o,d=this.decoder.readBit(this.contexts,h)):(h=9-o,d=1^this.decoder.readBit(this.contexts,h)),d}runMagnitudeRefinementPass(){const e=this.decoder,t=this.width,i=this.height,r=this.coefficentsMagnitude,n=this.neighborsSignificance,a=this.contexts,s=this.bitsDecoded,o=this.processingFlags,c=t*i,l=4*t;for(let u,h=0;h<c;h=u){u=Math.min(c,h+l);for(let i=0;i<t;i++)for(let c=h+i;c<u;c+=t){if(!r[c]||1&o[c])continue;let t=16;2&o[c]&&(o[c]^=2,t=127&n[c]?14:15);const i=e.readBit(a,t);r[c]=r[c]<<1|i,s[c]++,o[c]|=1}}}runCleanupPass(){const t=this.decoder,i=this.width,r=this.height,n=this.neighborsSignificance,a=this.coefficentsMagnitude,s=this.coefficentsSign,o=this.contexts,c=this.contextLabelTable,l=this.bitsDecoded,u=this.processingFlags,h=i,d=2*i,p=3*i;let f;for(let g=0;g<r;g=f){f=Math.min(g+4,r);const m=g*i,b=g+3<r;for(let r=0;r<i;r++){const y=m+r;let v,S=0,C=y,x=g;if(b&&0===u[y]&&0===u[y+h]&&0===u[y+d]&&0===u[y+p]&&0===n[y]&&0===n[y+h]&&0===n[y+d]&&0===n[y+p]){if(!t.readBit(o,e.RUNLENGTH_CONTEXT)){l[y]++,l[y+h]++,l[y+d]++,l[y+p]++;continue}S=t.readBit(o,e.UNIFORM_CONTEXT)<<1|t.readBit(o,e.UNIFORM_CONTEXT),0!==S&&(x=g+S,C+=S*i),v=this.decodeSignBit(x,r,C),s[C]=v,a[C]=1,this.setNeighborsSignificance(x,r,C),u[C]|=2,C=y;for(let e=g;e<=x;e++,C+=i)l[C]++;S++}for(x=g+S;x<f;x++,C+=i){if(a[C]||1&u[C])continue;const e=c[n[C]];1===t.readBit(o,e)&&(v=this.decodeSignBit(x,r,C),s[C]=v,a[C]=1,this.setNeighborsSignificance(x,r,C),u[C]|=2),l[C]++}}}}checkSegmentationSymbol(){const t=this.decoder,i=this.contexts;if(10!=(t.readBit(i,e.UNIFORM_CONTEXT)<<3|t.readBit(i,e.UNIFORM_CONTEXT)<<2|t.readBit(i,e.UNIFORM_CONTEXT)<<1|t.readBit(i,e.UNIFORM_CONTEXT)))throw new wn("Invalid segmentation symbol")}};i(zn,"UNIFORM_CONTEXT",17),i(zn,"RUNLENGTH_CONTEXT",18),i(zn,"LLAndLHContextsLabel",new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8])),i(zn,"HLContextLabel",new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8])),i(zn,"HHContextLabel",new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]));let Xn=zn;class Wn{constructor(){this.constructor===Wn&&Ke("Cannot initialize Transform.")}calculate(e,t,i){let r=e[0];for(let n=1,a=e.length;n<a;n++)r=this.iterate(r,e[n],t,i);return r}extend(e,t,i){let r=t-1,n=t+1,a=t+i-2,s=t+i;e[r--]=e[n++],e[s++]=e[a--],e[r--]=e[n++],e[s++]=e[a--],e[r--]=e[n++],e[s++]=e[a--],e[r]=e[n],e[s]=e[a]}filter(e,t,i){Ke("Abstract method `filter` called")}iterate(e,t,i,r){const n=e.width,a=e.height;let s=e.items;const o=t.width,c=t.height,l=t.items;let u,h,d,p,f,g;for(d=0,u=0;u<a;u++)for(p=2*u*o,h=0;h<n;h++,d++,p+=2)l[p]=s[d];s=e.items=null;const m=new Float32Array(o+8);if(1===o){if(1&i)for(g=0,d=0;g<c;g++,d+=o)l[d]*=.5}else for(g=0,d=0;g<c;g++,d+=o)m.set(l.subarray(d,d+o),4),this.extend(m,4,o),this.filter(m,4,o),l.set(m.subarray(4,4+o),d);let b=16;const y=[];for(u=0;u<b;u++)y.push(new Float32Array(c+8));let v,S=0;if(e=4+c,1===c){if(1&r)for(f=0;f<o;f++)l[f]*=.5}else for(f=0;f<o;f++){if(0===S){for(b=Math.min(o-f,b),d=f,p=4;p<e;d+=o,p++)for(v=0;v<b;v++)y[v][p]=l[d+v];S=b}S--;const t=y[S];if(this.extend(t,4,c),this.filter(t,4,c),0===S)for(d=f-b+1,p=4;p<e;d+=o,p++)for(v=0;v<b;v++)l[d+v]=y[v][p]}return{width:o,height:c,items:l}}}class $n extends Wn{filter(e,t,i){const r=i>>1;let n,a,s,o;const c=-1.586134342059924,l=-.052980118572961,u=.882911075530934,h=.443506852043971,d=1.230174104914001,p=1/d;for(n=(t|=0)-3,a=r+4;a--;n+=2)e[n]*=p;for(n=t-2,s=h*e[n-1],a=r+3;a--&&(o=h*e[n+1],e[n]=d*e[n]-s-o,a--);n+=2)n+=2,s=h*e[n+1],e[n]=d*e[n]-s-o;for(n=t-1,s=u*e[n-1],a=r+2;a--&&(o=u*e[n+1],e[n]-=s+o,a--);n+=2)n+=2,s=u*e[n+1],e[n]-=s+o;for(n=t,s=l*e[n-1],a=r+1;a--&&(o=l*e[n+1],e[n]-=s+o,a--);n+=2)n+=2,s=l*e[n+1],e[n]-=s+o;if(0!==r)for(n=t+1,s=c*e[n-1],a=r;a--&&(o=c*e[n+1],e[n]-=s+o,a--);n+=2)n+=2,s=c*e[n+1],e[n]-=s+o}}class Zn extends Wn{filter(e,t,i){const r=i>>1;let n,a;for(n=t|=0,a=r+1;a--;n+=2)e[n]-=e[n-1]+e[n+1]+2>>2;for(n=t+1,a=r;a--;n+=2)e[n]+=e[n-1]+e[n+1]>>1}}const Yn=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Qn(e){return e>=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Jn{constructor(e,t=null){this.stream=e,this.nextChar(),this.strBuf=[],this.knownCommands=t,this._hexStringNumWarn=0,this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,i=0,r=1;if(45===e?(r=-1,e=this.nextChar(),45===e&&(e=this.nextChar())):43===e&&(e=this.nextChar()),10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e&&(i=10,e=this.nextChar()),e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(wt(e)||-1===e)return 0;throw new We(t)}let n=e-48,a=0,s=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const r=e-48;t?a=10*a+r:(0!==i&&(i*=10),n=10*n+r)}else if(46===e){if(0!==i)break;i=1}else if(45===e)qe("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;if(e=this.peekChar(),43===e||45===e)s=45===e?-1:1,this.nextChar();else if(e<48||e>57)break;t=!0}return 0!==i&&(n/=i),t&&(n*=10**(s*a)),r*n}getString(){let e=1,t=!1;const i=this.strBuf;i.length=0;let r=this.nextChar();for(;;){let n=!1;switch(0|r){case-1:qe("Unterminated string"),t=!0;break;case 40:++e,i.push("(");break;case 41:0==--e?(this.nextChar(),t=!0):i.push(")");break;case 92:switch(r=this.nextChar(),r){case-1:qe("Unterminated string"),t=!0;break;case 110:i.push("\n");break;case 114:i.push("\r");break;case 116:i.push("\t");break;case 98:i.push("\b");break;case 102:i.push("\f");break;case 92:case 40:case 41:i.push(String.fromCharCode(r));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&r;r=this.nextChar(),n=!0,r>=48&&r<=55&&(e=(e<<3)+(15&r),r=this.nextChar(),r>=48&&r<=55&&(n=!1,e=(e<<3)+(15&r))),i.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:i.push(String.fromCharCode(r))}break;default:i.push(String.fromCharCode(r))}if(t)break;n||(r=this.nextChar())}return i.join("")}getName(){let e,t;const i=this.strBuf;for(i.length=0;(e=this.nextChar())>=0&&!Yn[e];)if(35===e){if(e=this.nextChar(),Yn[e]){qe("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number."),i.push("#");break}const r=Qn(e);if(-1!==r){t=e,e=this.nextChar();const n=Qn(e);if(-1===n){if(qe(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`),i.push("#",String.fromCharCode(t)),Yn[e])break;i.push(String.fromCharCode(e));continue}i.push(String.fromCharCode(r<<4|n))}else i.push("#",String.fromCharCode(e))}else i.push(String.fromCharCode(e));return i.length>127&&qe(`Name token is longer than allowed by the spec: ${i.length}`),lt.get(i.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||qe(`getHexString - ignoring invalid character: ${e}`):qe("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t,i,r=this.currentChar,n=!0;for(this._hexStringNumWarn=0;;){if(r<0){qe("Unterminated hex string");break}if(62===r){this.nextChar();break}if(1!==Yn[r]){if(n){if(t=Qn(r),-1===t){this._hexStringWarn(r),r=this.nextChar();continue}}else{if(i=Qn(r),-1===i){this._hexStringWarn(r),r=this.nextChar();continue}e.push(String.fromCharCode(t<<4|i))}n=!n,r=this.nextChar()}else r=this.nextChar()}return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return at;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==Yn[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),ut.get("[");case 93:return this.nextChar(),ut.get("]");case 60:return t=this.nextChar(),60===t?(this.nextChar(),ut.get("<<")):this.getHexString();case 62:return t=this.nextChar(),62===t?(this.nextChar(),ut.get(">>")):ut.get(">");case 123:return this.nextChar(),ut.get("{");case 125:return this.nextChar(),ut.get("}");case 41:throw this.nextChar(),new We(`Illegal character: ${t}`)}let i=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127)return this.nextChar(),ut.get(i)}const r=this.knownCommands;let n=void 0!==(null==r?void 0:r[i]);for(;(t=this.nextChar())>=0&&!Yn[t];){const e=i+String.fromCharCode(t);if(n&&void 0===r[e])break;if(128===i.length)throw new We(`Command token too long: ${i.length}`);i=e,n=void 0!==(null==r?void 0:r[i])}return"true"===i||"false"!==i&&("null"===i?null:("BI"===i&&(this.beginInlineImagePos=this.stream.pos),ut.get(i)))}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar(),10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}const ea=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],ta=2**24-1;class ia{constructor(e=!1){this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=e}addCodespaceRange(e,t,i){this.codespaceRanges[e-1].push(t,i),this.numCodespaceRanges++}mapCidRange(e,t,i){if(t-e>ta)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=i++}mapBfRange(e,t,i){if(t-e>ta)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const r=i.length-1;for(;e<=t;){this._map[e++]=i;const t=i.charCodeAt(r)+1;i=t>255?i.substring(0,r-1)+String.fromCharCode(i.charCodeAt(r-1)+1)+"\0":i.substring(0,r)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,i){if(t-e>ta)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const r=i.length;let n=0;for(;e<=t&&n<r;)this._map[e]=i[n++],++e}mapOne(e,t){this._map[e]=t}lookup(e){return this._map[e]}contains(e){return void 0!==this._map[e]}forEach(e){const t=this._map,i=t.length;if(i<=65536)for(let r=0;r<i;r++)void 0!==t[r]&&e(r,t[r]);else for(const r in t)e(r,t[r])}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const i in t)if(t[i]===e)return 0|i;return-1}getMap(){return this._map}readCharCode(e,t,i){let r=0;const n=this.codespaceRanges;for(let a=0,s=n.length;a<s;a++){r=(r<<8|e.charCodeAt(t+a))>>>0;const s=n[a];for(let e=0,t=s.length;e<t;){const t=s[e++],n=s[e++];if(r>=t&&r<=n)return i.charcode=r,void(i.length=a+1)}}i.charcode=0,i.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let i=0,r=t.length;i<r;i++){const r=t[i];for(let t=0,n=r.length;t<n;){const n=r[t++],a=r[t++];if(e>=n&&e<=a)return i+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class ra extends ia{constructor(e,t){super(),this.vertical=e,this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,i){Ke("should not call mapCidRange")}mapBfRange(e,t,i){Ke("should not call mapBfRange")}mapBfRangeToArray(e,t,i){Ke("should not call mapBfRangeToArray")}mapOne(e,t){Ke("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){Ke("should not access .isIdentityCMap")}}function na(e){let t=0;for(let i=0;i<e.length;i++)t=t<<8|e.charCodeAt(i);return t>>>0}function aa(e){if("string"!=typeof e)throw new We("Malformed CMap: expected string.")}function sa(e){if(!Number.isInteger(e))throw new We("Malformed CMap: expected int.")}function oa(e,t){for(;;){let i=t.getObj();if(i===at)break;if(mt(i,"endbfchar"))return;aa(i);const r=na(i);i=t.getObj(),aa(i);const n=i;e.mapOne(r,n)}}function ca(e,t){for(;;){let i=t.getObj();if(i===at)break;if(mt(i,"endbfrange"))return;aa(i);const r=na(i);i=t.getObj(),aa(i);const n=na(i);if(i=t.getObj(),Number.isInteger(i)||"string"==typeof i){const t=Number.isInteger(i)?String.fromCharCode(i):i;e.mapBfRange(r,n,t)}else{if(!mt(i,"["))break;{i=t.getObj();const a=[];for(;!mt(i,"]")&&i!==at;)a.push(i),i=t.getObj();e.mapBfRangeToArray(r,n,a)}}}throw new We("Invalid bf range.")}function la(e,t){for(;;){let i=t.getObj();if(i===at)break;if(mt(i,"endcidchar"))return;aa(i);const r=na(i);i=t.getObj(),sa(i);const n=i;e.mapOne(r,n)}}function ua(e,t){for(;;){let i=t.getObj();if(i===at)break;if(mt(i,"endcidrange"))return;aa(i);const r=na(i);i=t.getObj(),aa(i);const n=na(i);i=t.getObj(),sa(i);const a=i;e.mapCidRange(r,n,a)}}function ha(e,t){for(;;){let i=t.getObj();if(i===at)break;if(mt(i,"endcodespacerange"))return;if("string"!=typeof i)break;const r=na(i);if(i=t.getObj(),"string"!=typeof i)break;const n=na(i);e.addCodespaceRange(i.length,r,n)}throw new We("Invalid codespace range.")}function da(e,t){const i=t.getObj();Number.isInteger(i)&&(e.vertical=!!i)}function pa(e,t){const i=t.getObj();i instanceof lt&&(e.name=i.name)}async function fa(e,t,i,r){let n,a;e:for(;;)try{const i=t.getObj();if(i===at)break;if(i instanceof lt)"WMode"===i.name?da(e,t):"CMapName"===i.name&&pa(e,t),n=i;else if(i instanceof ut)switch(i.cmd){case"endcmap":break e;case"usecmap":n instanceof lt&&(a=n.name);break;case"begincodespacerange":ha(e,t);break;case"beginbfchar":oa(e,t);break;case"begincidchar":la(e,t);break;case"beginbfrange":ca(e,t);break;case"begincidrange":ua(e,t)}}catch(s){if(s instanceof vt)throw s;qe("Invalid cMap data: "+s);continue}return!r&&a&&(r=a),r?ga(e,i,r):e}async function ga(e,t,i){if(e.useCMap=await ma(i,t),0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let i=0;i<t.length;i++)e.codespaceRanges[i]=t[i].slice();e.numCodespaceRanges=e.useCMap.numCodespaceRanges}return e.useCMap.forEach(function(t,i){e.contains(t)||e.mapOne(t,e.useCMap.lookup(t))}),e}async function ma(e,t){if("Identity-H"===e)return new ra(!1,2);if("Identity-V"===e)return new ra(!0,2);if(!ea.includes(e))throw new Error("Unknown CMap name: "+e);if(!t)throw new Error("Built-in CMap parameters are not provided.");const{cMapData:i,compressionType:r}=await t(e),n=new ia(!0);if(r===je)return(new Jr).process(i,n,e=>ga(n,t,e));if(r===He){const e=new Jn(new ji(i));return fa(n,e,t,null)}throw new Error(`Invalid CMap "compressionType" value: ${r}`)}class ba{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:i}){if(e instanceof lt)return ma(e.name,t);if(e instanceof bt){const r=await fa(new ia,new Jn(e),t,i);return r.isIdentityCMap?ma(r.name,t):r}throw new Error("Encoding required.")}}function ya(e,t,i){e[t]=i>>8&255,e[t+1]=255&i}function va(e,t,i){e[t]=i>>24&255,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i}function Sa(e,t,i){if(i instanceof Uint8Array)e.set(i,t);else if("string"==typeof i)for(let r=0,n=i.length;r<n;r++)e[t++]=255&i.charCodeAt(r);else for(const r of i)e[t++]=255&r}class Ca{constructor(e){this.sfnt=e,this.tables=Object.create(null)}static getSearchParams(e,t){let i=1,r=0;for(;(i^e)>i;)i<<=1,r++;const n=i*t;return{range:n,entry:r,rangeShift:t*e-n}}toArray(){let e=this.sfnt;const t=this.tables,i=Object.keys(t);i.sort();const r=i.length;let n,a,s,o,c,l=12+16*r;const u=[l];for(n=0;n<r;n++)o=t[i[n]],l+=(o.length+3&-4)>>>0,u.push(l);const h=new Uint8Array(l);for(n=0;n<r;n++)o=t[i[n]],Sa(h,u[n],o);"true"===e&&(e=Qe(65536)),h[0]=255&e.charCodeAt(0),h[1]=255&e.charCodeAt(1),h[2]=255&e.charCodeAt(2),h[3]=255&e.charCodeAt(3),ya(h,4,r);const d=Ca.getSearchParams(r,16);for(ya(h,6,d.range),ya(h,8,d.entry),ya(h,10,d.rangeShift),l=12,n=0;n<r;n++){c=i[n],h[l]=255&c.charCodeAt(0),h[l+1]=255&c.charCodeAt(1),h[l+2]=255&c.charCodeAt(2),h[l+3]=255&c.charCodeAt(3);let e=0;for(a=u[n],s=u[n+1];a<s;a+=4)e=e+xt(h,a)>>>0;va(h,l+4,e),va(h,l+8,u[n]),va(h,l+12,t[c].length),l+=16}return h}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const xa=[4],wa=[5],Aa=[6],Ea=[7],ka=[8],Ia=[12,35],Ta=[14],Da=[21],Fa=[22],Pa=[30],Ba=[31];class Oa{constructor(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}convert(e,t,i){const r=e.length;let n,a,s,o=!1;for(let c=0;c<r;c++){let r=e[c];if(r<32){switch(12===r&&(r=(r<<8)+e[++c]),r){case 1:case 3:case 9:case 3072:case 3073:case 3074:case 3105:this.stack=[];break;case 4:if(this.flexing){if(this.stack.length<1){o=!0;break}const e=this.stack.pop();this.stack.push(0,e);break}o=this.executeCommand(1,xa);break;case 5:o=this.executeCommand(2,wa);break;case 6:o=this.executeCommand(1,Aa);break;case 7:o=this.executeCommand(1,Ea);break;case 8:o=this.executeCommand(6,ka);break;case 10:if(this.stack.length<1){o=!0;break}if(s=this.stack.pop(),!t[s]){o=!0;break}o=this.convert(t[s],t,i);break;case 11:return o;case 13:if(this.stack.length<2){o=!0;break}n=this.stack.pop(),a=this.stack.pop(),this.lsb=a,this.width=n,this.stack.push(n,a),o=this.executeCommand(2,Fa);break;case 14:this.output.push(Ta[0]);break;case 21:if(this.flexing)break;o=this.executeCommand(2,Da);break;case 22:if(this.flexing){this.stack.push(0);break}o=this.executeCommand(1,Fa);break;case 30:o=this.executeCommand(4,Pa);break;case 31:o=this.executeCommand(4,Ba);break;case 3078:if(i){const e=this.stack.at(-5);this.seac=this.stack.splice(-4,4),this.seac[0]+=this.lsb-e,o=this.executeCommand(0,Ta)}else o=this.executeCommand(4,Ta);break;case 3079:if(this.stack.length<4){o=!0;break}this.stack.pop(),n=this.stack.pop();const e=this.stack.pop();a=this.stack.pop(),this.lsb=a,this.width=n,this.stack.push(n,a,e),o=this.executeCommand(3,Da);break;case 3084:if(this.stack.length<2){o=!0;break}const c=this.stack.pop(),l=this.stack.pop();this.stack.push(l/c);break;case 3088:if(this.stack.length<2){o=!0;break}s=this.stack.pop();const u=this.stack.pop();if(0===s&&3===u){const e=this.stack.splice(-17,17);this.stack.push(e[2]+e[0],e[3]+e[1],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14]),o=this.executeCommand(13,Ia,!0),this.flexing=!1,this.stack.push(e[15],e[16])}else 1===s&&0===u&&(this.flexing=!0);break;case 3089:break;default:qe('Unknown type 1 charstring command of "'+r+'"')}if(o)break}else r<=246?r-=139:r=r<=250?256*(r-247)+e[++c]+108:r<=254?-256*(r-251)-e[++c]-108:(255&e[++c])<<24|(255&e[++c])<<16|(255&e[++c])<<8|255&e[++c],this.stack.push(r)}return o}executeCommand(e,t,i){const r=this.stack.length;if(e>r)return!0;const n=r-e;for(let a=n;a<r;a++){let e=this.stack[a];Number.isInteger(e)?this.output.push(28,e>>8&255,255&e):(e=65536*e|0,this.output.push(255,e>>24&255,e>>16&255,e>>8&255,255&e))}return this.output.push(...t),i?this.stack.splice(n,e):this.stack.length=0,!1}}function Na(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ma(e,t,i){if(i>=e.length)return new Uint8Array(0);let r,n,a=0|t;for(r=0;r<i;r++)a=52845*(e[r]+a)+22719&65535;const s=e.length-i,o=new Uint8Array(s);for(r=i,n=0;n<s;r++,n++){const t=e[r];o[n]=t^a>>8,a=52845*(t+a)+22719&65535}return o}function Ra(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class _a{constructor(e,t,i){if(t){const t=e.getBytes(),i=!((Na(t[0])||wt(t[0]))&&Na(t[1])&&Na(t[2])&&Na(t[3])&&Na(t[4])&&Na(t[5])&&Na(t[6])&&Na(t[7]));e=new ji(i?Ma(t,55665,4):function(e){let t=55665;const i=e.length,r=new Uint8Array(i>>>1);let n,a;for(n=0,a=0;n<i;n++){const s=e[n];if(!Na(s))continue;let o;for(n++;n<i&&!Na(o=e[n]);)n++;if(n<i){const e=parseInt(String.fromCharCode(s,o),16);r[a++]=e^t>>8,t=52845*(e+t)+22719&65535}}return r.slice(4,a)}(t))}this.seacAnalysisEnabled=!!i,this.stream=e,this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){return this.stream.skip(-2),this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!wt(t))break;t=this.nextChar()}if(Ra(t))return this.nextChar(),String.fromCharCode(t);let i="";do{i+=String.fromCharCode(t),t=this.nextChar()}while(t>=0&&!wt(t)&&!Ra(t));return i}readCharStrings(e,t){return-1===t?e:Ma(e,4330,t)}extractFontProgram(e){try{const i=this.stream;if(i){let e;e=document.createElement("a"),e.href=URL.createObjectURL(new Blob([i.bytes],{type:"font/opentype"})),e.textContent="Download2",document.getElementById("downloadContainer")}const r=[],n=[],a=Object.create(null);a.lenIV=4;const s={subrs:[],charstrings:[],properties:{privateData:a}};let o,c,l,u;for(;null!==(o=this.getToken());)if("/"===o){try{o=this.getToken()}catch(t){console.log("get token err",t)}switch(o){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();o=this.getToken(),null!==o&&"end"!==o;){if("/"!==o)continue;const e=this.getToken();c=this.readInt(),this.getToken(),l=c>0?i.getBytes(c):new Uint8Array(0),u=s.properties.privateData.lenIV;const t=this.readCharStrings(l,u);this.nextChar(),o=this.getToken(),"noaccess"===o?this.getToken():"/"===o&&this.prevChar(),n.push({glyph:e,encoded:t})}break;case"Subrs":for(this.readInt(),this.getToken();"dup"===this.getToken();){const e=this.readInt();c=this.readInt(),this.getToken(),l=c>0?i.getBytes(c):new Uint8Array(0),u=s.properties.privateData.lenIV;const t=this.readCharStrings(l,u);this.nextChar(),o=this.getToken(),"noaccess"===o&&this.getToken(),r[e]=t}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length;break;case"StemSnapH":case"StemSnapV":s.properties.privateData[o]=this.readNumberArray();break;case"StdHW":case"StdVW":s.properties.privateData[o]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":s.properties.privateData[o]=this.readNumber();break;case"ExpansionFactor":s.properties.privateData[o]=this.readNumber()||.06;break;case"ForceBold":s.properties.privateData[o]=this.readBoolean()}}for(const{encoded:h,glyph:d}of n){const i=new Oa,n=i.convert(h,r,this.seacAnalysisEnabled);let a=i.output;n&&(a=[14]);const o={glyphName:d,charstring:a,width:i.width,lsb:i.lsb,seac:i.seac};if(".notdef"===d?(e.name,s.charstrings.unshift(o)):s.charstrings.push(o),e.builtInEncoding)try{const t=e.builtInEncoding.indexOf(d);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=i.width)}catch(t){console.log("buildinencoding err",t)}}return s}catch(t){console.log("extract font err",t)}return{subrs:[],charstrings:[],properties:{}}}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t)switch(t=this.getToken(),t){case"FontMatrix":const i=this.readNumberArray();e.fontMatrix=i;break;case"Encoding":const r=this.getToken();let n;if(/^\d+$/.test(r)){n=[];const e=0|parseInt(r,10);this.getToken();for(let i=0;i<e;i++){for(t=this.getToken();"dup"!==t&&"def"!==t;)if(t=this.getToken(),null===t)return;if("def"===t)break;const e=this.readInt();this.getToken();const i=this.getToken();n[e]=i,this.getToken()}}else n=Bt(r);e.builtInEncoding=n;break;case"FontBBox":const a=this.readNumberArray();e.ascent=Math.max(a[3],a[1]),e.descent=Math.min(a[1],a[3]),e.ascentScaled=!0}}}function Ua(e,t,i){const r=e.length,n=t.length,a=r-n;let s=i,o=!1;for(;s<a;){let i=0;for(;i<n&&e[s+i]===t[i];)i++;if(i>=n){for(s+=i;s<r&&wt(e[s]);)s++;o=!0;break}s++}return{found:o,length:s}}class La{constructor(e,t,i){let r=function(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t}(t.bytes).indexOf("eexec")+6;t.bytes.length;let n=t.peekBytes(6);const a=128===n[0]&&1===n[1];a&&(t.skip(6),r=n[5]<<24|n[4]<<16|n[3]<<8|n[2]);const s=function(e,t){const i=[101,101,120,101,99],r=e.pos;let n,a,s,o;try{n=e.getBytes(t),a=n.length}catch{}if(a===t&&(s=Ua(n,i,t-2*i.length),s.found&&s.length===t))return{stream:new ji(n),length:t};for(qe('Invalid "Length1" property in Type1 font -- trying to recover.'),e.pos=r;s=Ua(e.peekBytes(2048),i,0),0!==s.length;)if(e.pos+=s.length,s.found){o=e.pos-r;break}return e.pos=r,o?{stream:new ji(e.getBytes(o)),length:o}:(qe('Unable to recover "Length1" property in Type1 font -- using as is.'),{stream:new ji(e.getBytes(t)),length:t})}(t,r);new _a(s.stream,!1,jt).extractFontHeader(i),a&&(n=t.getBytes(6),n[5],n[4],n[3],n[2]);const o=function(e){const t=e.getBytes();if(0===t.length)throw new We("getEexecBlock - no font program found.");return{stream:new ji(t),length:t.length}}(t),c=new _a(o.stream,!0,jt).extractFontProgram(i);for(const d in c.properties)i[d]=c.properties[d];const l=c.charstrings,u=this.getType2Charstrings(l),h=this.getType2Subrs(c.subrs);this.charstrings=l,this.data=this.wrap(e,u,this.charstrings,h,i),this.seacs=this.getSeacs(c.charstrings)}get numGlyphs(){return this.charstrings.length+1}getCharset(){const e=[".notdef"];for(const{glyphName:t}of this.charstrings)e.push(t);return e}getGlyphMapping(e){const t=this.charstrings;if(e.composite){const i=Object.create(null);for(let r=0,n=t.length;r<n;r++)i[e.cMap.charCodeOf(r)]=r+1;return i}const i=[".notdef"];let r,n;for(n=0;n<t.length;n++)i.push(t[n].glyphName);const a=e.builtInEncoding;if(a){r=Object.create(null);for(const e in a)n=i.indexOf(a[e]),n>=0&&(r[e]=n)}return Gt(e,r,i)}hasGlyphId(e){return!(e<0||e>=this.numGlyphs)&&(0===e||this.charstrings[e-1].charstring.length>0)}getSeacs(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=e[i];r.seac&&(t[i+1]=r.seac)}return t}getType2Charstrings(e){const t=[];for(const i of e)t.push(i.charstring);return t}getType2Subrs(e){let t=0;const i=e.length;t=i<1133?107:i<33769?1131:32768;const r=[];let n;for(n=0;n<t;n++)r.push([11]);for(n=0;n<i;n++)r.push(e[n]);return r}wrap(e,t,i,r,n){const a=new lr;a.header=new ur(1,0,4,4),a.names=[e];const s=new gr;s.setByName("version",391),s.setByName("Notice",392),s.setByName("FullName",393),s.setByName("FamilyName",394),s.setByName("Weight",395),s.setByName("Encoding",null),s.setByName("FontMatrix",n.fontMatrix),s.setByName("FontBBox",n.bbox),s.setByName("charset",null),s.setByName("CharStrings",null),s.setByName("Private",null),a.topDict=s;const o=new hr;o.add("Version 0.11"),o.add("See original notice"),o.add(e),o.add(e),o.add("Medium"),a.strings=o,a.globalSubrIndex=new dr;const c=t.length,l=[".notdef"];let u,h;for(u=0;u<c;u++){const e=i[u].glyphName;-1===ar.indexOf(e)&&o.add(e),l.push(e)}a.charset=new vr(!1,0,l);const d=new dr;for(d.add([139,14]),u=0;u<c;u++)d.add(t[u]);a.charStrings=d;const p=new br;p.setByName("Subrs",null);const f=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(u=0,h=f.length;u<h;u++){const e=f[u];if(!(e in n.privateData))continue;const t=n.privateData[e];if(Array.isArray(t))for(let i=t.length-1;i>0;i--)t[i]-=t[i-1];p.setByName(e,t)}a.topDict.privateDict=p;const g=new dr;for(u=0,h=r.length;u<h;u++)g.add(r[u]);return p.subrsIndex=g,new wr(a).compile()}}const Ha=[[57344,63743],[1048576,1114109]],ja=1e3,qa=["ascent","bbox","black","bold","charProcOperatorList","composite","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","fallbackName","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","subtype","systemFontInfo","type","vertical"],Ka=["cMap","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","toFontChar","toUnicode","vmetrics","widths"];function Ga(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===Ue[0])return;const t=.001/e.fontMatrix[0],i=e.widths;for(const r in i)i[r]*=t;e.defaultWidth*=t}function Va(e){if(!e.fallbackToUnicode)return;if(e.toUnicode instanceof ai)return;const t=[];for(const i in e.fallbackToUnicode)e.toUnicode.has(i)||(t[i]=e.fallbackToUnicode[i]);t.length>0&&e.toUnicode.amend(t)}class za{constructor(e,t,i,r,n,a,s,o,c){this.originalCharCode=e,this.fontChar=t,this.unicode=i,this.accent=r,this.width=n,this.vmetric=a,this.operatorListId=s,this.isSpace=o,this.isInFont=c}get category(){return Ve(this,"category",function(e){const t=Ht.get(e);if(t)return t;const i=e.match(Lt),r={isWhitespace:!!(null==i?void 0:i[1]),isZeroWidthDiacritic:!!(null==i?void 0:i[2]),isInvisibleFormatMark:!!(null==i?void 0:i[3])};return Ht.set(e,r),r}(this.unicode),!0)}}function Xa(e,t){return(e<<8)+t}function Wa(e,t,i){e[t+1]=i,e[t]=i>>>8}function $a(e,t){const i=(e<<8)+t;return 32768&i?i-65536:i}function Za(e){return String.fromCharCode(e>>8&255,255&e)}function Ya(e){return e>32767?e=32767:e<-32768&&(e=-32768),String.fromCharCode(e>>8&255,255&e)}function Qa(e){return"ttcf"===Ze(e.peekBytes(4))}function Ja(e,t){for(const i in t)e[+i]=t[i]}function es(e,t,i){const r=[];let n;for(let a=0,s=e.length;a<s;a++)n=Rt(e[a],t),-1!==n&&(r[a]=n);for(const a in i)n=Rt(i[a],t),-1!==n&&(r[+a]=n);return r}function ts(e){return 1===e.platform&&0===e.encoding&&0===e.language}function is(e){return 3===e.platform&&1===e.encoding&&1033===e.language}function rs(e,t,i=!1){switch(t.length){case 1:return t.charCodeAt(0);case 2:return t.charCodeAt(0)<<8|t.charCodeAt(1)}const r=`Unsupported CID string (charCode ${e}): "${t}".`;if(i)throw new We(r);return qe(r),t}function ns(e,t,i,r){const n=Object.create(null),a=new Map,s=[],o=new Set;let c=0,l=Ha[c][0],u=Ha[c][1];for(let p in e){p|=0;let f=e[p];if(!t(f))continue;if(l>u){if(c++,c>=Ha.length){qe("Ran out of space in font private use area.");break}l=Ha[c][0],u=Ha[c][1]}const g=l++;0===f&&(f=i);try{let e=r.get(p);"string"==typeof e&&(e=e.codePointAt(0)),!e||(h=e,Ha[0][0]<=h&&h<=Ha[0][1]||Ha[1][0]<=h&&h<=Ha[1][1])||o.has(f)||(a.set(e,f),o.add(f))}catch(d){console.log("adjustingmapp tounicode err",d)}n[g]=f,s[p]=g}var h;return{toFontChar:s,charCodeToGlyphId:n,toUnicodeExtraMap:a,nextAvailableFontCharCode:l}}function as(e,t,i){const r=function(e,t,i){const r=[];for(const s in e)e[s]>=i||r.push({fontCharCode:0|s,glyphId:e[s]});if(t)for(const[s,o]of t)o>=i||r.push({fontCharCode:s,glyphId:o});0===r.length&&r.push({fontCharCode:0,glyphId:0}),r.sort(function(e,t){return e.fontCharCode-t.fontCharCode});const n=[],a=r.length;for(let s=0;s<a;){const e=r[s].fontCharCode,t=[r[s].glyphId];++s;let i=e;for(;s<a&&i+1===r[s].fontCharCode&&(t.push(r[s].glyphId),++i,++s,65535!==i););n.push([e,i,t])}return n}(e,t,i),n=r.at(-1)[1]>65535?2:1;let a,s,o,c,l="\0\0"+Za(n)+"\0\0"+Qe(4+8*n);for(a=r.length-1;a>=0&&!(r[a][0]<=65535);--a);const u=a+1;r[a][0]<65535&&65535===r[a][1]&&(r[a][1]=65534);const h=r[a][1]<65535?1:0,d=u+h,p=Ca.getSearchParams(d,2);let f,g,m,b,y="",v="",S="",C="",x="",w=0;for(a=0,s=u;a<s;a++){f=r[a],g=f[0],m=f[1],y+=Za(g),v+=Za(m),b=f[2];let e=!0;for(o=1,c=b.length;o<c;++o)if(b[o]!==b[o-1]+1){e=!1;break}if(e)S+=Za(b[0]-g&65535),C+=Za(0);else{const e=2*(d-a)+2*w;for(w+=m-g+1,S+=Za(0),C+=Za(e),o=0,c=b.length;o<c;++o)x+=Za(b[o])}}h>0&&(v+="ÿÿ",y+="ÿÿ",S+="\0",C+="\0\0");const A="\0\0"+Za(2*d)+Za(p.range)+Za(p.entry)+Za(p.rangeShift)+v+"\0\0"+y+S+C+x;let E="",k="";if(n>1){for(l+="\0\0\n"+Qe(4+8*n+4+A.length),E="",a=0,s=r.length;a<s;a++){f=r[a],g=f[0],b=f[2];let e=b[0];for(o=1,c=b.length;o<c;++o)b[o]!==b[o-1]+1&&(m=f[0]+o-1,E+=Qe(g)+Qe(m)+Qe(e),g=m+1,e=b[o]);E+=Qe(g)+Qe(f[1])+Qe(e)}k="\0\f\0\0"+Qe(E.length+16)+"\0\0\0\0"+Qe(E.length/12)}return l+"\0"+Za(A.length+4)+A+k+E}function ss(e,t){t||(t={unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0});let i=0,r=0,n=0,a=0,s=null,o=0,c=-1;if(e){for(let t in e)if(t|=0,(s>t||!s)&&(s=t),o<t&&(o=t),c=Ut(t,c),c<32)i|=1<<c;else if(c<64)r|=1<<c-32;else if(c<96)n|=1<<c-64;else{if(!(c<123))throw new We("Unicode ranges Bits > 123 are reserved for internal usage");a|=1<<c-96}o>65535&&(o=65535)}else s=0,o=255;const l=[0,0,0,0],u=(t.unitsPerEm||1/Ue[0])/ja,h=t.ascent||Math.round(u*l[3]);let d=t.descent||Math.round(u*l[1]);const p=t.yMax||h,f=-t.yMin||-d;return"\0$ô\0\0\0»\0\0\0»\0\0ß\x001\0\0\0\0"+String.fromCharCode(0)+"\0\0\0\0\0\0"+Qe(i)+Qe(r)+Qe(n)+Qe(a)+"*21*"+Za(0)+Za(s)+Za(o)+Za(h)+Za(d)+"\0d"+Za(p)+Za(f)+"\0\0\0\0\0\0\0\0"+Za(0)+Za(s)+"\0"}function os(e){return"\0\0\0"+Qe(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+Qe(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function cs(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function ls(e,t){t||(t=[[],[]]);const i=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||cs(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],r=[];let n,a,s,o,c;for(n=0,a=i.length;n<a;n++){c=t[1][n]||i[n];const e=[];for(s=0,o=c.length;s<o;s++)e.push(Za(c.charCodeAt(s)));r.push(e.join(""))}const l=[i,r],u=["\0","\0"],h=["\0\0","\0"],d=["\0\0","\t"],p=i.length*u.length;let f="\0\0"+Za(p)+Za(12*p+6),g=0;for(n=0,a=u.length;n<a;n++){const e=l[n];for(s=0,o=e.length;s<o;s++)c=e[s],f+=u[n]+h[n]+d[n]+Za(s)+Za(c.length)+Za(g),g+=c.length}return f+=i.join("")+r.join(""),f}class us{constructor(e,t,i){var r;console.log("fonts.js constructor ",e,t,i),this.name=e,this.psName=null,this.mimetype=null,this.disableFontFace=!1,this.loadedName=i.loadedName,this.isType3Font=i.isType3Font,this.missingFile=!1,this.cssFontInfo=i.cssFontInfo,this._charsCache=Object.create(null),this._glyphCache=Object.create(null);let n=!!(2&i.flags);if(!n&&!i.isSimulatedFlags){const t=e.replaceAll(/[,_]/g,"-").split("-",1)[0],i=$t();for(const e of t.split("+"))if(i[e]){n=!0;break}}this.isSerifFont=n,this.isSymbolicFont=!!(4&i.flags),this.isMonospace=!!(1&i.flags);let{type:a,subtype:s}=i;this.type=a,this.subtype=s,this.systemFontInfo=i.systemFontInfo;const o=e.match(/^InvalidPDFjsFont_(.*)_\d+$/);if(this.isInvalidPDFjsFont=!!o,this.isInvalidPDFjsFont?this.fallbackName=o[1]:this.isMonospace?this.fallbackName="monospace":this.isSerifFont?this.fallbackName="serif":this.fallbackName="sans-serif",console.log("this.fallbackName",this.fallbackName),(null==(r=this.systemFontInfo)?void 0:r.guessFallback)&&(this.systemFontInfo.guessFallback=!1,this.systemFontInfo.css+=`,${this.fallbackName}`),this.differences=i.differences,this.widths=i.widths,this.defaultWidth=i.defaultWidth,this.composite=i.composite,this.cMap=i.cMap,this.capHeight=i.capHeight/ja,this.ascent=i.ascent/ja,this.descent=i.descent/ja,this.lineHeight=this.ascent-this.descent,this.fontMatrix=i.fontMatrix,this.bbox=i.bbox,this.defaultEncoding=i.defaultEncoding,this.toUnicode=i.toUnicode,this.toFontChar=[],"Type3"===i.type){for(let e=0;e<256;e++)this.toFontChar[e]=this.differences[e]||i.defaultEncoding[e];return}let c;this.cidEncoding=i.cidEncoding||"",this.vertical=!!i.vertical,this.vertical&&(this.vmetrics=i.vmetrics,this.defaultVMetrics=i.defaultVMetrics),[a,s]=function(e,{type:t,subtype:i,composite:r}){let n,a;return function(e){const t=e.peekBytes(4);return 65536===xt(t,0)||"true"===Ze(t)}(e)||Qa(e)?n=r?"CIDFontType2":"TrueType":"OTTO"===Ze(e.peekBytes(4))?n=r?"CIDFontType2":"OpenType":function(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e)?n=r?"CIDFontType0":"MMType1"===t?"MMType1":"Type1":function(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e)?r?(n="CIDFontType0",a="CIDFontType0C"):(n="MMType1"===t?"MMType1":"Type1",a="Type1C"):(qe("getFontFileType: Unable to detect correct font file Type/Subtype."),n=t,a=i),[n,a]}(t,i),i.type=a,i.subtype=s,a===this.type&&s===this.subtype||(this.type,this.subtype),t.length;try{switch(a){case"MMType1":case"Type1":case"CIDFontType0":this.mimetype="font/opentype";const r="Type1C"===s||"CIDFontType0C"===s?new Ar(t,i):new La(e,t,i);Ga(i),c=this.convert(e,r,i);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype",c=this.checkAndRepair(e,t,i),this.isOpenType&&(Ga(i),a="OpenType");break;default:throw new We(`Font ${a} is not supported`)}}catch(l){return qe(l),console.error("fonts.js constructor error",l),void this.fallbackToSystemFont(i)}Va(i),this.data=c,this.type=a,this.subtype=s,this.fontMatrix=i.fontMatrix,this.widths=i.widths,this.defaultWidth=i.defaultWidth,this.toUnicode=i.toUnicode,this.seacMap=i.seacMap}get renderer(){return Ve(this,"renderer",Hr.create(this,jt))}exportData(e=!1){const t=e?[...qa,...Ka]:qa,i=Object.create(null);let r,n;for(r of t)n=this[r],void 0!==n&&(i[r]=n);return i}fallbackToSystemFont(e){this.missingFile=!0;const{name:t,type:i}=this;let r=Vt(t);const n=zt(),a=Wt(),s=!!n[r],o=!(!a[r]||!n[a[r]]);r=n[r]||a[r]||r;const c=ri()[r];c&&(isNaN(this.ascent)&&(this.ascent=c.ascent/ja),isNaN(this.descent)&&(this.descent=c.descent/ja),isNaN(this.capHeight)&&(this.capHeight=c.capHeight/ja)),this.bold=/bold/gi.test(r),this.italic=/oblique|italic/gi.test(r),this.black=/Black/g.test(t);const l=/Narrow/g.test(t);if(this.remeasure=(!s||l)&&Object.keys(this.widths).length>0,(s||o)&&"CIDFontType2"===i&&this.cidEncoding.startsWith("Identity-")){const i=e.cidToGidMap,r=[];if(Ja(r,Yt()),/Arial-?Black/i.test(t)?Ja(r,Qt()):/Calibri/i.test(t)&&Ja(r,Jt()),i){for(const e in r){const t=r[e];void 0!==i[t]&&(r[+e]=i[t])}i.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof ai&&this.toUnicode.forEach(function(e,t){const n=r[e];void 0===i[n]&&(r[+e]=t)})}this.toUnicode instanceof ai||this.toUnicode.forEach(function(e,t){r[+e]=t}),this.toFontChar=r,this.toUnicode=new ni(r)}else if(/Symbol/i.test(r))this.toFontChar=es(Ft,Ot(),this.differences);else if(/Dingbats/i.test(r))this.toFontChar=es(Pt,Nt(),this.differences);else if(s){const e=es(this.defaultEncoding,Ot(),this.differences);"CIDFontType2"!==i||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof ai||this.toUnicode.forEach(function(t,i){e[+t]=i}),this.toFontChar=e}else{const e=Ot(),i=[];this.toUnicode.forEach((t,r)=>{try{if(!this.composite){const i=Rt(this.differences[t]||this.defaultEncoding[t],e);-1!==i&&(r=i)}i[+t]=r}catch(n){console.log("to unicode err",n)}}),this.composite&&this.toUnicode instanceof ai&&/Tahoma|Verdana/i.test(t)&&Ja(i,Yt()),this.toFontChar=i}Va(e),this.loadedName=r.split("-",1)[0]}checkAndRepair(e,t,i){var r,n,a;const s=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function o(e,t){const i=Object.create(null);i["OS/2"]=null,i.cmap=null,i.head=null,i.hhea=null,i.hmtx=null,i.maxp=null,i.name=null,i.post=null;for(let r=0;r<t;r++){const t=c(e);s.includes(t.tag)&&0!==t.length&&(i[t.tag]=t)}return i}function c(e){const t=e.getString(4),i=e.getInt32()>>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0,a=e.pos;e.pos=e.start||0,e.skip(r);const s=e.getBytes(n);return e.pos=a,"head"===t&&(s[8]=s[9]=s[10]=s[11]=0,s[17]|=32),{tag:t,checksum:i,length:n,offset:r,data:s}}function l(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function u(e,t,i,r,n,a){const s={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||i>e.length||i-t<=12)return s;const o=e.subarray(t,i),c=$a(o[2],o[3]),l=$a(o[4],o[5]),u=$a(o[6],o[7]),h=$a(o[8],o[9]);c>u&&(Wa(o,2,u),Wa(o,6,c)),l>h&&(Wa(o,4,h),Wa(o,8,l));const d=$a(o[0],o[1]);if(d<0)return d<-1||(r.set(o,n),s.length=o.length),s;let p,f=10,g=0;for(p=0;p<d;p++)g=1+(o[f]<<8|o[f+1]),f+=2;const m=f,b=o[f]<<8|o[f+1];s.sizeOfInstructions=b,f+=2+b;const y=f;let v=0;for(p=0;p<g;p++){const e=o[f++];192&e&&(o[f-1]=63&e);let t=2;2&e?t=1:16&e&&(t=0);let i=2;4&e?i=1:32&e&&(i=0);const r=t+i;if(v+=r,8&e){const e=o[f++];0===e&&(o[f-1]^=8),p+=e,v+=e*r}}if(0===v)return s;let S=f+v;return S>o.length?s:!a&&b>0?(r.set(o.subarray(0,m),n),r.set([0,0],n+m),r.set(o.subarray(y,S),n+m+2),S-=b,o.length-S>3&&(S=S+3&-4),s.length=S,s):o.length-S>3?(S=S+3&-4,r.set(o.subarray(0,S),n),s.length=S,s):(r.set(o,n),s.length=o.length,s)}function h(e){const i=(t.start||0)+e.offset;t.pos=i;const r=[[],[]],n=[],a=e.length,s=i+a;if(0!==t.getUint16()||a<6)return[r,n];const o=t.getUint16(),c=t.getUint16();let l,u;for(l=0;l<o&&t.pos+12<=s;l++){const e={platform:t.getUint16(),encoding:t.getUint16(),language:t.getUint16(),name:t.getUint16(),length:t.getUint16(),offset:t.getUint16()};(ts(e)||is(e))&&n.push(e)}for(l=0,u=n.length;l<u;l++){const e=n[l];if(e.length<=0)continue;const a=i+c+e.offset;if(a+e.length>s)continue;t.pos=a;const o=e.name;if(e.encoding){let i="";for(let r=0,n=e.length;r<n;r+=2)i+=String.fromCharCode(t.getUint16());r[1][o]=i}else r[0][o]=t.getString(e.length)}return[r,n]}const d=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];function p(e,t){let i,r,n,a,s,o=e.data,c=0,l=0,u=0;const h=[],p=[],f=[];let g=t.tooComplexToFollowFunctions,m=!1,b=0,y=0;for(let S=o.length;c<S;){const e=o[c++];if(64===e)if(r=o[c++],m||y)c+=r;else for(i=0;i<r;i++)h.push(o[c++]);else if(65===e)if(r=o[c++],m||y)c+=2*r;else for(i=0;i<r;i++)n=o[c++],h.push(n<<8|o[c++]);else if(176==(248&e))if(r=e-176+1,m||y)c+=r;else for(i=0;i<r;i++)h.push(o[c++]);else if(184==(248&e))if(r=e-184+1,m||y)c+=2*r;else for(i=0;i<r;i++)n=o[c++],h.push(n<<8|o[c++]);else if(43!==e||g)if(44!==e||g){if(45===e)if(m)m=!1,l=c;else{if(s=p.pop(),!s)return qe("TT: ENDF bad stack"),void(t.hintsValid=!1);a=f.pop(),o=s.data,c=s.i,t.functionsStackDeltas[a]=h.length-s.stackTop}else if(137===e)(m||y)&&(qe("TT: nested IDEFs not allowed"),g=!0),m=!0,u=c;else if(88===e)++b;else if(27===e)y=b;else if(89===e)y===b&&(y=0),--b;else if(28===e&&!m&&!y){const e=h.at(-1);e>0&&(c+=e-1)}}else(m||y)&&(qe("TT: nested FDEFs not allowed"),g=!0),m=!0,u=c,a=h.pop(),t.functionsDefined[a]={data:o,i:c};else if(!m&&!y)if(a=h.at(-1),isNaN(a));else if(t.functionsUsed[a]=!0,a in t.functionsStackDeltas){const e=h.length+t.functionsStackDeltas[a];if(e<0)return qe("TT: CALL invalid functions stack delta."),void(t.hintsValid=!1);h.length=e}else if(a in t.functionsDefined&&!f.includes(a)){if(p.push({data:o,i:c,stackTop:h.length-1}),f.push(a),s=t.functionsDefined[a],!s)return qe("TT: CALL non-existent function"),void(t.hintsValid=!1);o=s.data,c=s.i}if(!m&&!y){let t=0;for(e<=142?t=d[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2),e>=113&&e<=117&&(r=h.pop(),isNaN(r)||(t=2*-r));t<0&&h.length>0;)h.pop(),t++;for(;t>0;)h.push(NaN),t--}}t.tooComplexToFollowFunctions=g;const v=[o];c>o.length&&v.push(new Uint8Array(c-o.length)),u>l&&(qe("TT: complementing a missing function tail"),v.push(new Uint8Array([34,45]))),function(e,t){if(t.length>1){let i,r,n=0;for(i=0,r=t.length;i<r;i++)n+=t[i].length;n=n+3&-4;const a=new Uint8Array(n);let s=0;for(i=0,r=t.length;i<r;i++)a.set(t[i],s),s+=t[i].length;e.data=a,e.length=n}}(e,v)}let f,g,m,b;if((t=new ji(new Uint8Array(t.getBytes()))).length,Qa(t)){const e=function(e,t){var i;const{numFonts:r,offsetTable:n}=function(e){const t=e.getString(4);Ge("ttcf"===t,"Must be a TrueType Collection font.");const i=e.getUint16(),r=e.getUint16(),n=e.getInt32()>>>0,a=[];for(let o=0;o<n;o++)a.push(e.getInt32()>>>0);const s={ttcTag:t,majorVersion:i,minorVersion:r,numFonts:n,offsetTable:a};switch(i){case 1:return s;case 2:return s.dsigTag=e.getInt32()>>>0,s.dsigLength=e.getInt32()>>>0,s.dsigOffset=e.getInt32()>>>0,s}throw new We(`Invalid TrueType Collection majorVersion: ${i}.`)}(e),a=t.split("+");let s;for(let c=0;c<r;c++){e.pos=(e.start||0)+n[c];const r=l(e),u=o(e,r.numTables);if(!u.name)throw new We('TrueType Collection font must contain a "name" table.');const[d]=h(u.name);for(let e=0,n=d.length;e<n;e++)for(let o=0,c=d[e].length;o<c;o++){const n=null==(i=d[e][o])?void 0:i.replaceAll(/\s/g,"");if(n){if(n===t)return{header:r,tables:u};if(!(a.length<2))for(const e of a)n===e&&(s={name:e,header:r,tables:u})}}}if(s)return qe(`TrueType Collection does not contain "${t}" font, falling back to "${s.name}" font instead.`),{header:s.header,tables:s.tables};throw new We(`TrueType Collection does not contain "${t}" font.`)}(t,this.name);f=e.header,g=e.tables}else f=l(t),g=o(t,f.numTables);console.log("read tables",g);const y=!g["CFF "];if(y){if(!g.loca)throw new We('Required "loca" table is not found');g.glyf||(qe('Required "glyf" table is not found -- trying to recover.'),g.glyf={tag:"glyf",data:new Uint8Array(0)}),this.isOpenType=!1}else{const t=i.composite&&((null==(r=i.cidToGidMap)?void 0:r.length)>0||!(i.cMap instanceof ra));if("OTTO"===f.version&&!t||!g.head||!g.hhea||!g.maxp||!g.post)return b=new ji(g["CFF "].data),m=new Ar(b,i),Ga(i),this.convert(e,m,i);delete g.glyf,delete g.loca,delete g.fpgm,delete g.prep,delete g["cvt "],this.isOpenType=!0}if(!g.maxp)throw new We('Required "maxp" table is not found');t.pos=(t.start||0)+g.maxp.offset;let v=t.getInt32();const S=t.getUint16();if(65536!==v&&20480!==v){if(6===g.maxp.length)v=20480;else{if(!(g.maxp.length>=32))throw new We('"maxp" table has a wrong version number');v=65536}x=v,(C=g.maxp.data)[3]=255&x,C[2]=x>>>8,C[1]=x>>>16,C[0]=x>>>24}var C,x;if((null==(n=i.scaleFactors)?void 0:n.length)===S&&y){const{scaleFactors:e}=i,t=Xa(g.head.data[50],g.head.data[51]);zxlog("fonts.js get glyphs",g);const r=new jr({glyfTable:g.glyf.data,isGlyphLocationsLong:t,locaTable:g.loca.data,numGlyphs:S});r.scale(e);const{glyf:n,loca:a,isLocationLong:s}=r.write();g.glyf.data=n,g.loca.data=a,s!==!!t&&(g.head.data[50]=0,g.head.data[51]=s?1:0);const o=g.hmtx.data;for(let i=0;i<S;i++){const t=4*i,r=Math.round(e[i]*Xa(o[t],o[t+1]));o[t]=r>>8&255,o[t+1]=255&r,Wa(o,t+2,Math.round(e[i]*$a(o[t+2],o[t+3])))}}let w=S+1,A=!0;w>65535&&(A=!1,w=S,qe("Not enough space in glyfs to duplicate first glyph."));let E=0,k=0;v>=65536&&g.maxp.length>=32&&(t.pos+=8,t.getUint16()>2&&(g.maxp.data[14]=0,g.maxp.data[15]=2),t.pos+=4,E=t.getUint16(),t.pos+=4,k=t.getUint16()),g.maxp.data[4]=w>>8,g.maxp.data[5]=255&w;const I=function(e,t,i,r){const n={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(e&&p(e,n),t&&p(t,n),e&&function(e,t){if(!e.tooComplexToFollowFunctions){if(e.functionsDefined.length>t)return qe("TT: more functions defined than expected"),void(e.hintsValid=!1);for(let i=0,r=e.functionsUsed.length;i<r;i++){if(i>t)return qe("TT: invalid function id: "+i),void(e.hintsValid=!1);if(e.functionsUsed[i]&&!e.functionsDefined[i])return qe("TT: undefined function: "+i),void(e.hintsValid=!1)}}}(n,r),i&&1&i.length){const e=new Uint8Array(i.length+1);e.set(i.data),i.data=e}return n.hintsValid}(g.fpgm,g.prep,g["cvt "],E);if(I||(delete g.fpgm,delete g.prep,delete g["cvt "]),function(e,t,i,r,n,a){if(!t)return void(i&&(i.data=null));e.pos=(e.start||0)+t.offset,e.pos+=4,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2;const s=e.getUint16();e.pos+=8,e.pos+=2;let o=e.getUint16();0!==s&&(2&Xa(r.data[44],r.data[45])||(t.data[22]=0,t.data[23]=0)),o>n&&(o=n,t.data[34]=(65280&o)>>8,t.data[35]=255&o);const c=n-o-(i.length-4*o>>1);if(c>0){const e=new Uint8Array(i.length+2*c);e.set(i.data),a&&(e[i.length]=i.data[2],e[i.length+1]=i.data[3]),i.data=e}}(t,g.hhea,g.hmtx,g.head,w,A),!g.head)throw new We('Required "head" table is not found');!function(e,t,i){const r=e.data;(r[0]<<24)+(r[1]<<16)+(r[2]<<8)+r[3]>>16!=1&&(r[0]=0,r[1]=1,r[2]=0,r[3]=0);const n=Xa(r[50],r[51]);if(n<0||n>1){const e=t+1;if(i===e<<1)r[50]=0,r[51]=0;else{if(i!==e<<2)throw new We("Could not fix indexToLocFormat: "+n);r[50]=0,r[51]=1}}}(g.head,S,y?g.loca.length:0);let T=Object.create(null);if(y){const e=Xa(g.head.data[50],g.head.data[51]),t=function(e,t,i,r,n,a,s){let o,c,l;r?(o=4,c=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},l=function(e,t,i){e[t]=i>>>24&255,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i}):(o=2,c=function(e,t){return e[t]<<9|e[t+1]<<1},l=function(e,t,i){e[t]=i>>9&255,e[t+1]=i>>1&255});const h=a?i+1:i,d=o*(1+h),p=new Uint8Array(d);p.set(e.data.subarray(0,d)),e.data=p;const f=t.data,g=f.length,m=new Uint8Array(g);let b,y;const v=[];for(b=0,y=0;b<i+1;b++,y+=o){let e=c(p,y);e>g&&(e=g),v.push({index:b,offset:e,endOffset:0})}for(v.sort((e,t)=>e.offset-t.offset),b=0;b<i;b++)v[b].endOffset=v[b+1].offset;for(v.sort((e,t)=>e.index-t.index),b=0;b<i;b++){const{offset:e,endOffset:t}=v[b];if(0!==e||0!==t)break;const i=v[b+1].offset;if(0!==i){v[b].endOffset=i;break}}const S=Object.create(null);let C=0;for(l(p,0,C),b=0,y=o;b<i;b++,y+=o){const e=u(f,v[b].offset,v[b].endOffset,m,C,n),t=e.length;0===t&&(S[b]=!0),e.sizeOfInstructions>s&&(s=e.sizeOfInstructions),C+=t,l(p,y,C)}if(0===C){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(b=0,y=o;b<h;b++,y+=o)l(p,y,e.length);t.data=e}else if(a){const i=c(p,o);m.length>i+C?t.data=m.subarray(0,i+C):(t.data=new Uint8Array(i+C),t.data.set(m.subarray(0,C))),t.data.set(m.subarray(0,i),C),l(e.data,p.length-o,C+i)}else t.data=m.subarray(0,C);return{missingGlyphs:S,maxSizeOfInstructions:s}}(g.loca,g.glyf,S,e,I,A,k);T=t.missingGlyphs,v>=65536&&g.maxp.length>=32&&(g.maxp.data[26]=t.maxSizeOfInstructions>>8,g.maxp.data[27]=255&t.maxSizeOfInstructions)}if(!g.hhea)throw new We('Required "hhea" table is not found');0===g.hhea.data[10]&&0===g.hhea.data[11]&&(g.hhea.data[10]=255,g.hhea.data[11]=255);const D=Xa(g.head.data[18],g.head.data[19]),F=($a(g.head.data[42],g.head.data[43]),$a(g.head.data[38],g.head.data[39]),$a(g.hhea.data[4],g.hhea.data[5])),P=$a(g.hhea.data[6],g.hhea.data[7]),B=$a(g.hhea.data[8],g.hhea.data[9]);this.ascent=F/D,this.descent=P/D,this.lineGap=B/D,(null==(a=this.cssFontInfo)?void 0:a.lineHeight)?(this.lineHeight=this.cssFontInfo.metrics.lineHeight,this.lineGap=this.cssFontInfo.metrics.lineGap):this.lineHeight=this.ascent-this.descent+this.lineGap,g.post&&function(e,i,r){const n=(t.start||0)+e.offset;t.pos=n;const a=n+e.length,s=t.getInt32();let o;t.skip(28);let c,l=!0;switch(s){case 65536:o=qt;break;case 131072:const e=t.getUint16();if(e!==r){l=!1;break}const n=[];for(c=0;c<e;++c){const e=t.getUint16();if(e>=32768){l=!1;break}n.push(e)}if(!l)break;const u=[],h=[];for(;t.pos<a;){const e=t.getByte();for(h.length=e,c=0;c<e;++c)h[c]=String.fromCharCode(t.getByte());u.push(h.join(""))}for(o=[],c=0;c<e;++c){const e=n[c];e<258?o.push(qt[e]):o.push(u[e-258])}break;case 196608:break;default:qe("Unknown/unsupported post table version "+s),l=!1,i.defaultEncoding&&(o=i.defaultEncoding)}i.glyphNames=o}(g.post,i,S),g.post={tag:"post",data:os(i)};const O=[];function N(e){return!T[e]}if(i.composite){const e=i.cidToGidMap||[],t=0===e.length;i.cMap.forEach(function(i,r){if("string"==typeof r&&(r=rs(i,r,!0)),r>65535)throw new We("Max size of CID is 65,535");let n=-1;t?n=r:void 0!==e[r]&&(n=e[r]),n>=0&&n<S&&N(n)&&(O[i]=n)})}else{const e=function(e,t,i,r){if(!e)return qe("No cmap table available."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};let n,a=(t.start||0)+e.offset;t.pos=a,t.skip(2);const s=t.getUint16();let o,c=!1;for(let f=0;f<s;f++){const e=t.getUint16(),n=t.getUint16(),a=t.getInt32()>>>0;let l=!1;if((null==o?void 0:o.platformId)!==e||(null==o?void 0:o.encodingId)!==n){if(0!==e||0!==n&&1!==n&&3!==n)if(1===e&&0===n)l=!0;else if(3!==e||1!==n||!r&&o){if(i&&3===e&&0===n){l=!0;let i=!0;if(f<s-1){const r=t.peekBytes(2);Xa(r[0],r[1])<e&&(i=!1)}i&&(c=!0)}}else l=!0,i||(c=!0);else l=!0;if(l&&(o={platformId:e,encodingId:n,offset:a}),c)break}}if(o&&(t.pos=a+o.offset),!o||-1===t.peekByte())return qe("Could not find a preferred cmap table."),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};const l=t.getUint16();let u=!1;const h=[];let d,p;if(0===l){for(t.skip(4),d=0;d<256;d++){const e=t.getByte();e&&h.push({charCode:d,glyphId:e})}u=!0}else if(2===l){t.skip(4);const e=[];let i=0;for(let n=0;n<256;n++){const r=t.getUint16()>>3;e.push(r),i=Math.max(r,i)}const r=[];for(let n=0;n<=i;n++)r.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:$a(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let n=0;n<256;n++)if(0===e[n])t.pos=r[0].idRangePos+2*n,p=t.getUint16(),h.push({charCode:n,glyphId:p});else{const i=r[e[n]];for(d=0;d<i.entryCount;d++){const e=(n<<8)+d+i.firstCode;t.pos=i.idRangePos+2*d,p=t.getUint16(),0!==p&&(p=(p+i.idDelta)%65536),h.push({charCode:e,glyphId:p})}}}else if(4===l){t.skip(4);const e=t.getUint16()>>1;t.skip(6);const i=[];let r;for(r=0;r<e;r++)i.push({end:t.getUint16()});for(t.skip(2),r=0;r<e;r++)i[r].start=t.getUint16();for(r=0;r<e;r++)i[r].delta=t.getUint16();let s,o=0;for(r=0;r<e;r++){n=i[r];const a=t.getUint16();a?(s=(a>>1)-(e-r),n.offsetIndex=s,o=Math.max(o,s+n.end-n.start+1)):n.offsetIndex=-1}const c=[];for(d=0;d<o;d++)c.push(t.getUint16());for(r=0;r<e;r++){n=i[r],a=n.start;const e=n.end,t=n.delta;for(s=n.offsetIndex,d=a;d<=e;d++)65535!==d&&(p=s<0?d:c[s+d-a],p=p+t&65535,h.push({charCode:d,glyphId:p}))}}else if(6===l){t.skip(4);const e=t.getUint16(),i=t.getUint16();for(d=0;d<i;d++){p=t.getUint16();const i=e+d;h.push({charCode:i,glyphId:p})}}else{if(12!==l)return qe("cmap table has unsupported format: "+l),{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1};{t.skip(10);const e=t.getInt32()>>>0;for(d=0;d<e;d++){const e=t.getInt32()>>>0,i=t.getInt32()>>>0;let r=t.getInt32()>>>0;for(let t=e;t<=i;t++)h.push({charCode:t,glyphId:r++})}}}h.sort(function(e,t){return e.charCode-t.charCode});for(let f=1;f<h.length;f++)h[f-1].charCode===h[f].charCode&&(h.splice(f,1),f--);return{platformId:o.platformId,encodingId:o.encodingId,mappings:h,hasShortCmap:u}}(g.cmap,t,this.isSymbolicFont,i.hasEncoding),r=e.platformId,n=e.encodingId,a=e.mappings;let s=[],o=!1;if(!i.hasEncoding||"MacRomanEncoding"!==i.baseEncodingName&&"WinAnsiEncoding"!==i.baseEncodingName||(s=Bt(i.baseEncodingName)),i.hasEncoding&&!this.isSymbolicFont&&(3===r&&1===n||1===r&&0===n)){const e=Ot();for(let t=0;t<256;t++){let o;if(o=void 0!==this.differences[t]?this.differences[t]:s.length&&""!==s[t]?s[t]:Tt[t],!o)continue;const c=Kt(o,e);let l;if(3===r&&1===n?l=e[c]:1===r&&0===n&&(l=It.indexOf(c)),void 0===l){if(!i.glyphNames&&i.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof ai)){const e=this.toUnicode.get(t);e&&(l=e.codePointAt(0))}if(void 0===l)continue}for(const e of a)if(e.charCode===l){O[t]=e.glyphId;break}}}else if(0===r){for(const e of a)O[e.charCode]=e.glyphId;o=!0}else for(const t of a){let e=t.charCode;3===r&&e>=61440&&e<=61695&&(e&=255),O[e]=t.glyphId}if(i.glyphNames&&(s.length||this.differences.length))for(let t=0;t<256;++t){if(!o&&void 0!==O[t])continue;const e=this.differences[t]||s[t];if(!e)continue;const r=i.glyphNames.indexOf(e);r>0&&N(r)&&(O[t]=r)}}0===O.length&&(O[0]=0);let M=w-1;if(A||(M=0),!i.cssFontInfo){const e=ns(O,N,M,this.toUnicode);this.toFontChar=e.toFontChar,g.cmap={tag:"cmap",data:as(e.charCodeToGlyphId,e.toUnicodeExtraMap,w)},g["OS/2"]&&function(e,t){t.pos=(t.start||0)+e.offset;const i=t.getUint16();t.skip(60);const r=t.getUint16();return!(i<4&&768&r||t.getUint16()>t.getUint16()||(t.skip(6),0===t.getUint16()||(e.data[8]=e.data[9]=0,0)))}(g["OS/2"],t)||(g["OS/2"]={tag:"OS/2",data:ss(i,e.charCodeToGlyphId)})}if(!y)try{b=new ji(g["CFF "].data),m=new cr(b,i,jt).parse(),m.duplicateFirstGlyph();const e=new wr(m);g["CFF "].data=e.compile()}catch{qe("Failed to compile font "+i.loadedName)}if(g.name){const[t,r]=h(g.name);g.name.data=ls(e,t),this.psName=t[0][6]||null,i.composite||function(e,t,i){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof ai)return;if(!t)return;if(0===i.length)return;if(e.defaultEncoding===Dt)return;for(const s of i)if(!is(s))return;const r=Dt,n=[],a=Ot();for(const s in r){const e=r[s];if(""===e)continue;const t=a[e];void 0!==t&&(n[s]=String.fromCharCode(t))}n.length>0&&e.toUnicode.amend(n)}(i,this.isSymbolicFont,r)}else g.name={tag:"name",data:ls(this.name)};const R=new Ca(f.version);for(const _ in g)R.addTable(_,g[_].data);return R.toArray()}convert(e,t,i){i.fixedPitch=!1,i.builtInEncoding&&function(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof ai)return;const i=[],r=Ot();for(const n in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[n]))continue;const a=Rt(t[n],r);-1!==a&&(i[n]=String.fromCharCode(a))}i.length>0&&e.toUnicode.amend(i)}(i,i.builtInEncoding);let r=1;t instanceof Ar&&(r=t.numGlyphs-1);const n=t.getGlyphMapping(i);let a=null,s=n,o=null;i.cssFontInfo||(a=ns(n,t.hasGlyphId.bind(t),r,this.toUnicode),this.toFontChar=a.toFontChar,s=a.charCodeToGlyphId,o=a.toUnicodeExtraMap);const c=t.numGlyphs;function l(e,t){let i=null;for(const r in e)t===e[r]&&(i||(i=[])).push(0|r);return i}function u(e,t){for(const i in e)if(t===e[i])return 0|i;return a.charCodeToGlyphId[a.nextAvailableFontCharCode]=t,a.nextAvailableFontCharCode++}const h=t.seacs;if(a&&(null==h?void 0:h.length)){const e=i.fontMatrix||Ue,r=t.getCharset(),s=Object.create(null);for(let t in h){t|=0;const i=h[t],o=Tt[i[2]],c=Tt[i[3]],d=r.indexOf(o),p=r.indexOf(c);if(d<0||p<0)continue;const f={x:i[0]*e[0]+i[1]*e[2]+e[4],y:i[0]*e[1]+i[1]*e[3]+e[5]},g=l(n,t);if(g)for(const e of g){const t=a.charCodeToGlyphId,i=u(t,d),r=u(t,p);s[e]={baseFontCharCode:i,accentFontCharCode:r,accentOffset:f}}}i.seacMap=s}const d=1/(i.fontMatrix||Ue)[0],p=new Ca("OTTO");return p.addTable("CFF ",t.data),p.addTable("OS/2",ss(i,s)),as(s,o,c),p.addTable("cmap",as(s,o,c)),p.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+Ya(d)+"\0\0\0\0\v~'\0\0\0\0\v~'\0\0"+Ya(i.descent)+"ÿ"+Ya(i.ascent)+Za(i.italicAngle?2:0)+"\0\0\0\0\0\0\0"),p.addTable("hhea","\0\0\0"+Ya(i.ascent)+Ya(i.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+Ya(i.capHeight)+Ya(Math.tan(i.italicAngle)*i.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+Za(c)),p.addTable("hmtx",function(){const e=t.charstrings,i=t.cff?t.cff.widths:null;let r="\0\0\0\0";for(let t=1,n=c;t<n;t++){let n=0;if(e){const i=e[t-1];n="width"in i?i.width:0}else i&&(n=Math.ceil(i[t]||0));r+=Za(n)+Za(0)}return r}()),p.addTable("maxp","\0\0P\0"+Za(c)),p.addTable("name",ls(e)),p.addTable("post",os(i)),p.toArray()}get spaceWidth(){const e=["space","minus","one","i","I"];let t;for(const i of e){if(i in this.widths){t=this.widths[i];break}const e=Ot()[i];let r=0;if(this.composite&&this.cMap.contains(e)&&(r=this.cMap.lookup(e),"string"==typeof r&&(r=rs(e,r))),r<=0&&(r=e),t=this.widths[r],t)break}return Ve(this,"spaceWidth",t||this.defaultWidth)}_charToGlyph(e,t=!1){var i,r,n;let a,s,o,c=this._glyphCache[e];if((null==c?void 0:c.isSpace)===t)return c;let l=e;(null==(i=this.cMap)?void 0:i.contains(e))&&(l=this.cMap.lookup(e),"string"==typeof l&&(l=rs(e,l))),s=this.widths[l],"number"!=typeof s&&(s=this.defaultWidth);const u=null==(r=this.vmetrics)?void 0:r[l];let h=this.toUnicode.get(e)||e;"number"==typeof h&&(h=String.fromCharCode(h));let d=void 0!==this.toFontChar[e];if(a=this.toFontChar[e]||e,this.missingFile){const t=this.differences[e]||this.defaultEncoding[e];".notdef"!==t&&""!==t||"Type1"!==this.type||(a=32),a=(p=a)>=65520&&p<=65535?0:p>=62976&&p<=63743?Mt()[p]||p:173===p?45:p}var p;this.isType3Font&&(o=a);let f=null;if(null==(n=this.seacMap)?void 0:n[e]){d=!0;const t=this.seacMap[e];a=t.baseFontCharCode,f={fontChar:String.fromCodePoint(t.accentFontCharCode),offset:t.accentOffset}}let g="";return"number"==typeof a&&(a<=1114111?g=String.fromCodePoint(a):qe(`charToGlyph - invalid fontCharCode: ${a}`)),c=new za(e,g,h,f,s,u,o,t,d),this._glyphCache[e]=c}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;if(t=[],this.cMap){const i=Object.create(null),r=e.length;let n=0;for(;n<r;){this.cMap.readCharCode(e,n,i);const{charcode:r,length:a}=i;n+=a;const s=this._charToGlyph(r,1===a&&32===e.charCodeAt(n-1));t.push(s)}}else for(let i=0,r=e.length;i<r;++i){const r=e.charCodeAt(i),n=this._charToGlyph(r,32===r);t.push(n)}return this._charsCache[e]=t}getCharPositions(e){const t=[];if(this.cMap){const i=Object.create(null);let r=0;for(;r<e.length;){this.cMap.readCharCode(e,r,i);const n=i.length;t.push([r,r+n]),r+=n}}else for(let i=0,r=e.length;i<r;++i)t.push([i,i+1]);return t}get glyphCacheValues(){return Object.values(this._glyphCache)}encodeString(e){const t=[],i=[],r=()=>t.length%2==1,n=this.toUnicode instanceof ai?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let a=0,s=e.length;a<s;a++){const s=e.codePointAt(a);if(s>55295&&(s<57344||s>65533)&&a++,this.toUnicode){const e=n(s);if(-1!==e){r()&&(t.push(i.join("")),i.length=0);for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)i.push(String.fromCharCode(e>>8*t&255));continue}}r()||(t.push(i.join("")),i.length=0),i.push(String.fromCodePoint(s))}return t.push(i.join("")),t}}class hs{constructor(e){this.error=e,this.loadedName="g_font_error",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(e=!1){return{error:this.error}}}class ds{constructor(){Ke("Cannot initialize Pattern.")}static parseShading(e,t,i,r,n){const a=e instanceof bt?e.dict:e,s=a.get("ShadingType");try{switch(s){case 2:case 3:return new ms(a,t,i,r,n);case 4:case 5:case 6:case 7:return new Cs(e,t,i,r,n);default:throw new We("Unsupported ShadingType: "+s)}}catch(o){if(o instanceof vt)throw o;return qe(o),new xs}}}const ps=class e{constructor(){this.constructor===e&&Ke("Cannot initialize BaseShading.")}getIR(){Ke("Abstract method `getIR` called.")}};i(ps,"SMALL_NUMBER",1e-6);let gs=ps;class ms extends gs{constructor(e,t,i,r,n){super(),this.coordsArr=e.getArray("Coords"),this.shadingType=e.get("ShadingType");const a=Ki.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:i,pdfFunctionFactory:r,localColorSpaceCache:n}),s=e.getArray("BBox");this.bbox=Array.isArray(s)&&4===s.length?tt.normalizeRect(s):null;let o=0,c=1;if(e.has("Domain")){const t=e.getArray("Domain");o=t[0],c=t[1]}let l=!1,u=!1;if(e.has("Extend")){const t=e.getArray("Extend");l=t[0],u=t[1]}if(!(3!==this.shadingType||l&&u)){const[e,t,i,r,n,a]=this.coordsArr,s=Math.hypot(e-r,t-n);i<=a+s&&a<=i+s&&qe("Unsupported radial gradient.")}this.extendStart=l,this.extendEnd=u;const h=e.getRaw("Function"),d=r.createFromArray(h),p=(c-o)/840,f=this.colorStops=[];if(o>=c||p<=0)return;const g=new Float32Array(a.numComps),m=new Float32Array(1);let b,y=0;m[0]=o,d(m,0,g,0);let v=a.getRgb(g,0);const S=tt.makeHexColor(v[0],v[1],v[2]);f.push([0,S]);let C=1;m[0]=o+p,d(m,0,g,0);let x=a.getRgb(g,0),w=x[0]-v[0]+1,A=x[1]-v[1]+1,E=x[2]-v[2]+1,k=x[0]-v[0]-1,I=x[1]-v[1]-1,T=x[2]-v[2]-1;for(let P=2;P<840;P++){m[0]=o+P*p,d(m,0,g,0),b=a.getRgb(g,0);const e=P-y;if(w=Math.min(w,(b[0]-v[0]+1)/e),A=Math.min(A,(b[1]-v[1]+1)/e),E=Math.min(E,(b[2]-v[2]+1)/e),k=Math.max(k,(b[0]-v[0]-1)/e),I=Math.max(I,(b[1]-v[1]-1)/e),T=Math.max(T,(b[2]-v[2]-1)/e),!(k<=w&&I<=A&&T<=E)){const e=tt.makeHexColor(x[0],x[1],x[2]);f.push([C/840,e]),w=b[0]-x[0]+1,A=b[1]-x[1]+1,E=b[2]-x[2]+1,k=b[0]-x[0]-1,I=b[1]-x[1]-1,T=b[2]-x[2]-1,y=C,v=x}C=P,x=b}const D=tt.makeHexColor(x[0],x[1],x[2]);f.push([1,D]);let F="transparent";e.has("Background")&&(b=a.getRgb(e.get("Background"),0),F=tt.makeHexColor(b[0],b[1],b[2])),l||(f.unshift([0,F]),f[1][0]+=gs.SMALL_NUMBER),u||(f.at(-1)[0]-=gs.SMALL_NUMBER,f.push([1,F])),this.colorStops=f}getIR(){const e=this.coordsArr,t=this.shadingType;let i,r,n,a,s;return 2===t?(r=[e[0],e[1]],n=[e[2],e[3]],a=null,s=null,i="axial"):3===t?(r=[e[0],e[1]],n=[e[3],e[4]],a=e[2],s=e[5],i="radial"):Ke(`getPattern type unknown: ${t}`),["RadialAxial",i,this.bbox,this.colorStops,r,n,a,s]}}class bs{constructor(e,t){this.stream=e,this.context=t,this.buffer=0,this.bufferLength=0;const i=t.numComps;this.tmpCompsBuf=new Float32Array(i);const r=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(r):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;const e=this.stream.getByte();return!(e<0||(this.buffer=e,this.bufferLength=8,0))}readBits(e){let t=this.buffer,i=this.bufferLength;if(32===e){if(0===i)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const e=this.stream.getByte();return this.buffer=e&(1<<i)-1,(t<<8-i|(255&e)>>i)>>>0}if(8===e&&0===i)return this.stream.getByte();for(;i<e;)t=t<<8|this.stream.getByte(),i+=8;return i-=e,this.bufferLength=i,this.buffer=t&(1<<i)-1,t>>i}align(){this.buffer=0,this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),i=this.readBits(e),r=this.context.decode,n=e<32?1/((1<<e)-1):2.3283064365386963e-10;return[t*n*(r[1]-r[0])+r[0],i*n*(r[3]-r[2])+r[2]]}readComponents(){const e=this.context.numComps,t=this.context.bitsPerComponent,i=t<32?1/((1<<t)-1):2.3283064365386963e-10,r=this.context.decode,n=this.tmpCompsBuf;for(let s=0,o=4;s<e;s++,o+=2){const e=this.readBits(t);n[s]=e*i*(r[o+1]-r[o])+r[o]}const a=this.tmpCsCompsBuf;return this.context.colorFn&&this.context.colorFn(n,0,a,0),this.context.colorSpace.getRgb(a,0)}}let ys=Object.create(null);function vs(e){return ys[e]||(ys[e]=function(e){const t=[];for(let i=0;i<=e;i++){const r=i/e,n=1-r;t.push(new Float32Array([n**3,3*r*n**2,3*r**2*n,r**3]))}return t}(e))}const Ss=class e extends gs{constructor(e,t,i,r,n){if(super(),!(e instanceof bt))throw new We("Mesh data is not a stream");const a=e.dict;this.shadingType=a.get("ShadingType");const s=a.getArray("BBox");this.bbox=Array.isArray(s)&&4===s.length?tt.normalizeRect(s):null;const o=Ki.parse({cs:a.getRaw("CS")||a.getRaw("ColorSpace"),xref:t,resources:i,pdfFunctionFactory:r,localColorSpaceCache:n});this.background=a.has("Background")?o.getRgb(a.get("Background"),0):null;const c=a.getRaw("Function"),l=c?r.createFromArray(c):null;this.coords=[],this.colors=[],this.figures=[];const u={bitsPerCoordinate:a.get("BitsPerCoordinate"),bitsPerComponent:a.get("BitsPerComponent"),bitsPerFlag:a.get("BitsPerFlag"),decode:a.getArray("Decode"),colorFn:l,colorSpace:o,numComps:l?1:o.numComps},h=new bs(e,u);let d=!1;switch(this.shadingType){case 4:this._decodeType4Shading(h);break;case 5:const e=0|a.get("VerticesPerRow");if(e<2)throw new We("Invalid VerticesPerRow");this._decodeType5Shading(h,e);break;case 6:this._decodeType6Shading(h),d=!0;break;case 7:this._decodeType7Shading(h),d=!0;break;default:Ke("Unsupported mesh type.")}if(d){this._updateBounds();for(let e=0,t=this.figures.length;e<t;e++)this._buildFigureFromPatch(e)}this._updateBounds(),this._packData()}_decodeType4Shading(e){const t=this.coords,i=this.colors,r=[];let n=0;for(;e.hasData;){const a=e.readFlag(),s=e.readCoordinate(),o=e.readComponents();if(0===n){if(!(0<=a&&a<=2))throw new We("Unknown type4 flag");switch(a){case 0:n=3;break;case 1:r.push(r.at(-2),r.at(-1)),n=1;break;case 2:r.push(r.at(-3),r.at(-1)),n=1}}r.push(t.length),t.push(s),i.push(o),n--,e.align()}this.figures.push({type:"triangles",coords:new Int32Array(r),colors:new Int32Array(r)})}_decodeType5Shading(e,t){const i=this.coords,r=this.colors,n=[];for(;e.hasData;){const t=e.readCoordinate(),a=e.readComponents();n.push(i.length),i.push(t),r.push(a)}this.figures.push({type:"lattice",coords:new Int32Array(n),colors:new Int32Array(n),verticesPerRow:t})}_decodeType6Shading(e){const t=this.coords,i=this.colors,r=new Int32Array(16),n=new Int32Array(4);for(;e.hasData;){const a=e.readFlag();if(!(0<=a&&a<=3))throw new We("Unknown type6 flag");const s=t.length;for(let i=0,r=0!==a?8:12;i<r;i++)t.push(e.readCoordinate());const o=i.length;for(let t=0,r=0!==a?2:4;t<r;t++)i.push(e.readComponents());let c,l,u,h;switch(a){case 0:r[12]=s+3,r[13]=s+4,r[14]=s+5,r[15]=s+6,r[8]=s+2,r[11]=s+7,r[4]=s+1,r[7]=s+8,r[0]=s,r[1]=s+11,r[2]=s+10,r[3]=s+9,n[2]=o+1,n[3]=o+2,n[0]=o,n[1]=o+3;break;case 1:c=r[12],l=r[13],u=r[14],h=r[15],r[12]=h,r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=u,r[11]=s+3,r[4]=l,r[7]=s+4,r[0]=c,r[1]=s+7,r[2]=s+6,r[3]=s+5,c=n[2],l=n[3],n[2]=l,n[3]=o,n[0]=c,n[1]=o+1;break;case 2:c=r[15],l=r[11],r[12]=r[3],r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=r[7],r[11]=s+3,r[4]=l,r[7]=s+4,r[0]=c,r[1]=s+7,r[2]=s+6,r[3]=s+5,c=n[3],n[2]=n[1],n[3]=o,n[0]=c,n[1]=o+1;break;case 3:r[12]=r[0],r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=r[1],r[11]=s+3,r[4]=r[2],r[7]=s+4,r[0]=r[3],r[1]=s+7,r[2]=s+6,r[3]=s+5,n[2]=n[0],n[3]=o,n[0]=n[1],n[1]=o+1}r[5]=t.length,t.push([(-4*t[r[0]][0]-t[r[15]][0]+6*(t[r[4]][0]+t[r[1]][0])-2*(t[r[12]][0]+t[r[3]][0])+3*(t[r[13]][0]+t[r[7]][0]))/9,(-4*t[r[0]][1]-t[r[15]][1]+6*(t[r[4]][1]+t[r[1]][1])-2*(t[r[12]][1]+t[r[3]][1])+3*(t[r[13]][1]+t[r[7]][1]))/9]),r[6]=t.length,t.push([(-4*t[r[3]][0]-t[r[12]][0]+6*(t[r[2]][0]+t[r[7]][0])-2*(t[r[0]][0]+t[r[15]][0])+3*(t[r[4]][0]+t[r[14]][0]))/9,(-4*t[r[3]][1]-t[r[12]][1]+6*(t[r[2]][1]+t[r[7]][1])-2*(t[r[0]][1]+t[r[15]][1])+3*(t[r[4]][1]+t[r[14]][1]))/9]),r[9]=t.length,t.push([(-4*t[r[12]][0]-t[r[3]][0]+6*(t[r[8]][0]+t[r[13]][0])-2*(t[r[0]][0]+t[r[15]][0])+3*(t[r[11]][0]+t[r[1]][0]))/9,(-4*t[r[12]][1]-t[r[3]][1]+6*(t[r[8]][1]+t[r[13]][1])-2*(t[r[0]][1]+t[r[15]][1])+3*(t[r[11]][1]+t[r[1]][1]))/9]),r[10]=t.length,t.push([(-4*t[r[15]][0]-t[r[0]][0]+6*(t[r[11]][0]+t[r[14]][0])-2*(t[r[12]][0]+t[r[3]][0])+3*(t[r[2]][0]+t[r[8]][0]))/9,(-4*t[r[15]][1]-t[r[0]][1]+6*(t[r[11]][1]+t[r[14]][1])-2*(t[r[12]][1]+t[r[3]][1])+3*(t[r[2]][1]+t[r[8]][1]))/9]),this.figures.push({type:"patch",coords:new Int32Array(r),colors:new Int32Array(n)})}}_decodeType7Shading(e){const t=this.coords,i=this.colors,r=new Int32Array(16),n=new Int32Array(4);for(;e.hasData;){const a=e.readFlag();if(!(0<=a&&a<=3))throw new We("Unknown type7 flag");const s=t.length;for(let i=0,r=0!==a?12:16;i<r;i++)t.push(e.readCoordinate());const o=i.length;for(let t=0,r=0!==a?2:4;t<r;t++)i.push(e.readComponents());let c,l,u,h;switch(a){case 0:r[12]=s+3,r[13]=s+4,r[14]=s+5,r[15]=s+6,r[8]=s+2,r[9]=s+13,r[10]=s+14,r[11]=s+7,r[4]=s+1,r[5]=s+12,r[6]=s+15,r[7]=s+8,r[0]=s,r[1]=s+11,r[2]=s+10,r[3]=s+9,n[2]=o+1,n[3]=o+2,n[0]=o,n[1]=o+3;break;case 1:c=r[12],l=r[13],u=r[14],h=r[15],r[12]=h,r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=u,r[9]=s+9,r[10]=s+10,r[11]=s+3,r[4]=l,r[5]=s+8,r[6]=s+11,r[7]=s+4,r[0]=c,r[1]=s+7,r[2]=s+6,r[3]=s+5,c=n[2],l=n[3],n[2]=l,n[3]=o,n[0]=c,n[1]=o+1;break;case 2:c=r[15],l=r[11],r[12]=r[3],r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=r[7],r[9]=s+9,r[10]=s+10,r[11]=s+3,r[4]=l,r[5]=s+8,r[6]=s+11,r[7]=s+4,r[0]=c,r[1]=s+7,r[2]=s+6,r[3]=s+5,c=n[3],n[2]=n[1],n[3]=o,n[0]=c,n[1]=o+1;break;case 3:r[12]=r[0],r[13]=s+0,r[14]=s+1,r[15]=s+2,r[8]=r[1],r[9]=s+9,r[10]=s+10,r[11]=s+3,r[4]=r[2],r[5]=s+8,r[6]=s+11,r[7]=s+4,r[0]=r[3],r[1]=s+7,r[2]=s+6,r[3]=s+5,n[2]=n[0],n[3]=o,n[0]=n[1],n[1]=o+1}this.figures.push({type:"patch",coords:new Int32Array(r),colors:new Int32Array(n)})}}_buildFigureFromPatch(t){const i=this.figures[t];Ge("patch"===i.type,"Unexpected patch mesh figure");const r=this.coords,n=this.colors,a=i.coords,s=i.colors,o=Math.min(r[a[0]][0],r[a[3]][0],r[a[12]][0],r[a[15]][0]),c=Math.min(r[a[0]][1],r[a[3]][1],r[a[12]][1],r[a[15]][1]),l=Math.max(r[a[0]][0],r[a[3]][0],r[a[12]][0],r[a[15]][0]),u=Math.max(r[a[0]][1],r[a[3]][1],r[a[12]][1],r[a[15]][1]);let h=Math.ceil((l-o)*e.TRIANGLE_DENSITY/(this.bounds[2]-this.bounds[0]));h=Math.max(e.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(e.MAX_SPLIT_PATCH_CHUNKS_AMOUNT,h));let d=Math.ceil((u-c)*e.TRIANGLE_DENSITY/(this.bounds[3]-this.bounds[1]));d=Math.max(e.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(e.MAX_SPLIT_PATCH_CHUNKS_AMOUNT,d));const p=h+1,f=new Int32Array((d+1)*p),g=new Int32Array((d+1)*p);let m=0;const b=new Uint8Array(3),y=new Uint8Array(3),v=n[s[0]],S=n[s[1]],C=n[s[2]],x=n[s[3]],w=vs(d),A=vs(h);for(let e=0;e<=d;e++){b[0]=(v[0]*(d-e)+C[0]*e)/d|0,b[1]=(v[1]*(d-e)+C[1]*e)/d|0,b[2]=(v[2]*(d-e)+C[2]*e)/d|0,y[0]=(S[0]*(d-e)+x[0]*e)/d|0,y[1]=(S[1]*(d-e)+x[1]*e)/d|0,y[2]=(S[2]*(d-e)+x[2]*e)/d|0;for(let t=0;t<=h;t++,m++){if(!(0!==e&&e!==d||0!==t&&t!==h))continue;let i=0,s=0,o=0;for(let n=0;n<=3;n++)for(let c=0;c<=3;c++,o++){const l=w[e][n]*A[t][c];i+=r[a[o]][0]*l,s+=r[a[o]][1]*l}f[m]=r.length,r.push([i,s]),g[m]=n.length;const c=new Uint8Array(3);c[0]=(b[0]*(h-t)+y[0]*t)/h|0,c[1]=(b[1]*(h-t)+y[1]*t)/h|0,c[2]=(b[2]*(h-t)+y[2]*t)/h|0,n.push(c)}}f[0]=a[0],g[0]=s[0],f[h]=a[3],g[h]=s[1],f[p*d]=a[12],g[p*d]=s[2],f[p*d+h]=a[15],g[p*d+h]=s[3],this.figures[t]={type:"lattice",coords:f,colors:g,verticesPerRow:p}}_updateBounds(){let e=this.coords[0][0],t=this.coords[0][1],i=e,r=t;for(let n=1,a=this.coords.length;n<a;n++){const a=this.coords[n][0],s=this.coords[n][1];e=e>a?a:e,t=t>s?s:t,i=i<a?a:i,r=r<s?s:r}this.bounds=[e,t,i,r]}_packData(){let e,t,i,r;const n=this.coords,a=new Float32Array(2*n.length);for(e=0,i=0,t=n.length;e<t;e++){const t=n[e];a[i++]=t[0],a[i++]=t[1]}this.coords=a;const s=this.colors,o=new Uint8Array(3*s.length);for(e=0,i=0,t=s.length;e<t;e++){const t=s[e];o[i++]=t[0],o[i++]=t[1],o[i++]=t[2]}this.colors=o;const c=this.figures;for(e=0,t=c.length;e<t;e++){const t=c[e],n=t.coords,a=t.colors;for(i=0,r=n.length;i<r;i++)n[i]*=2,a[i]*=3}}getIR(){return["Mesh",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.bbox,this.background]}};i(Ss,"MIN_SPLIT_PATCH_CHUNKS_AMOUNT",3),i(Ss,"MAX_SPLIT_PATCH_CHUNKS_AMOUNT",20),i(Ss,"TRIANGLE_DENSITY",20);let Cs=Ss;class xs extends gs{getIR(){return["Dummy"]}}function ws(e,t,i){const r=t.getArray("Matrix"),n=tt.normalizeRect(t.getArray("BBox")),a=t.get("XStep"),s=t.get("YStep"),o=t.get("PaintType"),c=t.get("TilingType");if(n[2]-n[0]==0||n[3]-n[1]==0)throw new We(`Invalid getTilingPatternIR /BBox array: [${n}].`);return["TilingPattern",i,e,r,n,a,s,o,c]}const As={style:"normal",weight:"normal"},Es={style:"normal",weight:"bold"},ks={style:"italic",weight:"normal"},Is={style:"italic",weight:"bold"},Ts=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:As,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:Es,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:ks,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:Is,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:As,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:Es,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:ks,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:Is,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:As,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:Es,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:ks,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:Is,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:As,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:Es,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:ks,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:Is,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:As,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:Es,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:ks,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:Is,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:As}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),Ds=new Map([["Arial-Black","ArialBlack"]]);function Fs(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter(e=>!t.has(e.toLowerCase())).join(" ")}function Ps({alias:e,local:t,path:i,fallback:r,style:n,ultimate:a},s,o,c=!0,l=!0,u=""){const h={style:null,ultimate:null};if(t){const e=u?` ${u}`:"";for(const i of t)s.push(`local(${i}${e})`)}if(e){const t=Ts.get(e),a=u||function(e){switch(e){case Es:return"Bold";case ks:return"Italic";case Is:return"Bold Italic";default:if("bold"===(null==e?void 0:e.weight))return"Bold";if("italic"===(null==e?void 0:e.style))return"Italic"}return""}(n);Object.assign(h,Ps(t,s,o,c&&!r,l&&!i,a))}if(n&&(h.style=n),a&&(h.ultimate=a),c&&r){const e=Ts.get(r),{ultimate:t}=Ps(e,s,o,c,l&&!i,u);h.ultimate||(h.ultimate=t)}return l&&i&&o&&s.push(`url(${o}${i})`),h}function Bs(e,t,i,r,n){if(r.startsWith("InvalidPDFjsFont_"))return null;const a=r=Vt(r);let s=e.get(a);if(s)return s;let o=Ts.get(r);if(!o)for(const[g,m]of Ds)if(r.startsWith(g)){r=`${m}${r.substring(g.length)}`,o=Ts.get(r);break}let c=!1;o||(o=Ts.get(n),c=!0);const l=`${t.getDocId()}_s${t.createFontId()}`;if(!o){if(!At(r))return e.set(a,null),null;const t=/bold/gi.test(r),i=/oblique|italic/gi.test(r),n=t&&i&&Is||t&&Es||i&&ks||As;return s={css:`"${Fs(r)}",${l}`,guessFallback:!0,loadedName:l,baseFontName:r,src:`local(${r})`,style:n},e.set(a,s),s}const u=[];c&&At(r)&&u.push(`local(${r})`);const{style:h,ultimate:d}=Ps(o,u,i),p=null===d,f=p?"":`,${d}`;return s={css:`"${Fs(r)}",${l}${f}`,guessFallback:p,loadedName:l,baseFontName:r,src:u.join(","),style:h},e.set(a,s),s}const Os=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Ns={lineHeight:1.2207,lineGap:.2207},Ms=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Rs={lineHeight:1.2207,lineGap:.2207},_s=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Us={lineHeight:1.2207,lineGap:.2207},Ls=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1],Hs={lineHeight:1.2207,lineGap:.2207},js=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],qs={lineHeight:1.2,lineGap:.2},Ks=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],Gs={lineHeight:1.35,lineGap:.2},Vs=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],zs={lineHeight:1.35,lineGap:.2},Xs=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Ws={lineHeight:1.2,lineGap:.2},$s=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Zs=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],Ys=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Qs=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],Js=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],eo=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],to=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],io=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],ro=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],no={lineHeight:1.2,lineGap:.2},ao=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],so={lineHeight:1.2,lineGap:.2},oo=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],co={lineHeight:1.2,lineGap:.2},lo=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],uo={lineHeight:1.2,lineGap:.2},ho=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],po={lineHeight:1.33008,lineGap:0},fo=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],go={lineHeight:1.33008,lineGap:0},mo=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],bo={lineHeight:1.33008,lineGap:0},yo=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1],vo={lineHeight:1.33008,lineGap:0},So=yt(function(e){e["MyriadPro-Regular"]=e["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:lo,baseWidths:to,baseMapping:io,metrics:uo},e["MyriadPro-Bold"]=e["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:ro,baseWidths:$s,baseMapping:Zs,metrics:no},e["MyriadPro-It"]=e["MyriadPro-Italic"]=e["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:oo,baseWidths:Js,baseMapping:eo,metrics:co},e["MyriadPro-BoldIt"]=e["MyriadPro-BoldItalic"]=e["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:ao,baseWidths:Ys,baseMapping:Qs,metrics:so},e.ArialMT=e.Arial=e["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:to,baseMapping:io},e["Arial-BoldMT"]=e["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:$s,baseMapping:Zs},e["Arial-ItalicMT"]=e["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:Js,baseMapping:eo},e["Arial-BoldItalicMT"]=e["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:Ys,baseMapping:Qs},e["Calibri-Regular"]={name:"LiberationSans-Regular",factors:Ls,baseWidths:to,baseMapping:io,metrics:Hs},e["Calibri-Bold"]={name:"LiberationSans-Bold",factors:Os,baseWidths:$s,baseMapping:Zs,metrics:Ns},e["Calibri-Italic"]={name:"LiberationSans-Italic",factors:_s,baseWidths:Js,baseMapping:eo,metrics:Us},e["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Ms,baseWidths:Ys,baseMapping:Qs,metrics:Rs},e["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:yo,baseWidths:to,baseMapping:io,metrics:vo},e["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:ho,baseWidths:$s,baseMapping:Zs,metrics:po},e["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:mo,baseWidths:Js,baseMapping:eo,metrics:bo},e["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:fo,baseWidths:Ys,baseMapping:Qs,metrics:go},e["Helvetica-Regular"]=e.Helvetica={name:"LiberationSans-Regular",factors:Xs,baseWidths:to,baseMapping:io,metrics:Ws},e["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:js,baseWidths:$s,baseMapping:Zs,metrics:qs},e["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:Vs,baseWidths:Js,baseMapping:eo,metrics:zs},e["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Ks,baseWidths:Ys,baseMapping:Qs,metrics:Gs}});function Co(e){const t=Vt(e);return So()[t]}const xo=3285377520,wo=4294901760,Ao=65535;class Eo{constructor(e){this.h1=e?4294967295&e:xo,this.h2=e?4294967295&e:xo}update(e){let t,i;if("string"==typeof e){t=new Uint8Array(2*e.length),i=0;for(let r=0,n=e.length;r<n;r++){const n=e.charCodeAt(r);n<=255?t[i++]=n:(t[i++]=n>>>8,t[i++]=255&n)}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice(),i=t.byteLength}const r=i>>2,n=i-4*r,a=new Uint32Array(t.buffer,0,r);let s=0,o=0,c=this.h1,l=this.h2;const u=3432918353,h=461845907,d=11601,p=13715;for(let f=0;f<r;f++)1&f?(s=a[f],s=s*u&wo|s*d&Ao,s=s<<15|s>>>17,s=s*h&wo|s*p&Ao,c^=s,c=c<<13|c>>>19,c=5*c+3864292196):(o=a[f],o=o*u&wo|o*d&Ao,o=o<<15|o>>>17,o=o*h&wo|o*p&Ao,l^=o,l=l<<13|l>>>19,l=5*l+3864292196);switch(s=0,n){case 3:s^=t[4*r+2]<<16;case 2:s^=t[4*r+1]<<8;case 1:s^=t[4*r],s=s*u&wo|s*d&Ao,s=s<<15|s>>>17,s=s*h&wo|s*p&Ao,1&r?c^=s:l^=s}this.h1=c,this.h2=l}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=3981806797*e&wo|36045*e&Ao,t=4283543511*t&wo|(2950163797*(t<<16|e>>>16)&wo)>>>16,e^=t>>>1,e=444984403*e&wo|60499*e&Ao,t=3301882366*t&wo|(3120437893*(t<<16|e>>>16)&wo)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function ko(e,t,i,r){return(e=t+e*i)<0?e=0:e>r&&(e=r),e}function Io(e,t,i,r,n,a){const s=n*a;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=i/n,l=r/a;let u,h,d,p,f=0;const g=new Uint16Array(n),m=i;for(u=0;u<n;u++)g[u]=Math.floor(u*c);for(u=0;u<a;u++)for(d=Math.floor(u*l)*m,h=0;h<n;h++)p=d+g[h],o[f++]=e[p];return o}class To{constructor({xref:e,res:t,image:i,isInline:r=!1,smask:n=null,mask:a=null,isMask:s=!1,pdfFunctionFactory:o,localColorSpaceCache:c}){var l;this.image=i;const u=i.dict,h=u.get("F","Filter");let d;if(h instanceof lt)d=h.name;else if(Array.isArray(h)){const t=e.fetchIfRef(h[0]);t instanceof lt&&(d=t.name)}switch(d){case"JPXDecode":const e=new En;e.parseImageProperties(i.stream),i.stream.reset(),i.width=e.width,i.height=e.height,i.bitsPerComponent=e.bitsPerComponent,i.numComps=e.componentsCount;break;case"JBIG2Decode":i.bitsPerComponent=1,i.numComps=1}let p=u.get("W","Width"),f=u.get("H","Height");if(Number.isInteger(i.width)&&i.width>0&&Number.isInteger(i.height)&&i.height>0&&(i.width!==p||i.height!==f)&&(qe("PDFImage - using the Width/Height of the image data, rather than the image dictionary."),p=i.width,f=i.height),p<1||f<1)throw new We(`Invalid image width: ${p} or height: ${f}`);this.width=p,this.height=f,this.interpolate=u.get("I","Interpolate"),this.imageMask=u.get("IM","ImageMask")||!1,this.matte=u.get("Matte")||!1;let g=i.bitsPerComponent;if(!g&&(g=u.get("BPC","BitsPerComponent"),!g)){if(!this.imageMask)throw new We(`Bits per component missing in image: ${this.imageMask}`);g=1}if(this.bpc=g,!this.imageMask){let n=u.getRaw("CS")||u.getRaw("ColorSpace");if(!n)switch(i.numComps){case 1:n=lt.get("DeviceGray");break;case 3:n=lt.get("DeviceRGB");break;case 4:n=lt.get("DeviceCMYK");break;default:throw new Error(`JPX images with ${i.numComps} color components not supported.`)}this.colorSpace=Ki.parse({cs:n,xref:e,resources:r?t:null,pdfFunctionFactory:o,localColorSpaceCache:c}),this.numComps=this.colorSpace.numComps}if(this.decode=u.getArray("D","Decode"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,g)||s&&!Ki.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<<g)-1;this.decodeCoefficients=[],this.decodeAddends=[];const t="Indexed"===(null==(l=this.colorSpace)?void 0:l.name);for(let i=0,r=0;i<this.decode.length;i+=2,++r){const n=this.decode[i],a=this.decode[i+1];this.decodeCoefficients[r]=t?(a-n)/e:a-n,this.decodeAddends[r]=t?n:e*n}}n?this.smask=new To({xref:e,res:t,image:n,isInline:r,pdfFunctionFactory:o,localColorSpaceCache:c}):a&&(a instanceof bt?a.dict.get("IM","ImageMask")?this.mask=new To({xref:e,res:t,image:a,isInline:r,isMask:!0,pdfFunctionFactory:o,localColorSpaceCache:c}):qe("Ignoring /Mask in image without /ImageMask."):this.mask=a)}static async buildImage({xref:e,res:t,image:i,isInline:r=!1,pdfFunctionFactory:n,localColorSpaceCache:a}){const s=i;let o=null,c=null;const l=i.dict.get("SMask"),u=i.dict.get("Mask");return l?l instanceof bt?o=l:qe("Unsupported /SMask format."):u&&(u instanceof bt||Array.isArray(u)?c=u:qe("Unsupported /Mask format.")),new To({xref:e,res:t,image:s,isInline:r,smask:o,mask:c,pdfFunctionFactory:n,localColorSpaceCache:a})}static createRawMask({imgArray:e,width:t,height:i,imageIsFromDecodeStream:r,inverseDecode:n,interpolate:a}){const s=(t+7>>3)*i,o=e.byteLength;let c,l;if(!r||n&&s!==o?n?(c=new Uint8Array(s),c.set(e),c.fill(255,o)):c=new Uint8Array(e):c=e,n)for(l=0;l<o;l++)c[l]^=255;return{data:c,width:t,height:i,interpolate:a}}static async createMask({imgArray:e,width:t,height:i,imageIsFromDecodeStream:r,inverseDecode:n,interpolate:a,isOffscreenCanvasSupported:s=!1}){const o=1===t&&1===i&&n===(0===e.length||!!(128&e[0]));if(o)return{isSingleOpaquePixel:o};if(s){if(li.needsToBeResized(t,i)){const r=new Uint8ClampedArray(t*i*4);return convertBlackAndWhiteToRGBA({src:e,dest:r,width:t,height:i,nonBlackColor:0,inverseDecode:n}),li.createImage({kind:3,data:r,width:t,height:i,interpolate:a})}const r=new OffscreenCanvas(t,i),s=r.getContext("2d"),o=s.createImageData(t,i);return convertBlackAndWhiteToRGBA({src:e,dest:o.data,width:t,height:i,nonBlackColor:0,inverseDecode:n}),s.putImageData(o,0,0),{data:null,width:t,height:i,interpolate:a,bitmap:r.transferToImageBitmap()}}return this.createRawMask({imgArray:e,width:t,height:i,inverseDecode:n,imageIsFromDecodeStream:r,interpolate:a})}get drawWidth(){var e,t;return Math.max(this.width,(null==(e=this.smask)?void 0:e.width)||0,(null==(t=this.mask)?void 0:t.width)||0)}get drawHeight(){var e,t;return Math.max(this.height,(null==(e=this.smask)?void 0:e.height)||0,(null==(t=this.mask)?void 0:t.height)||0)}decodeBuffer(e){const t=this.bpc,i=this.numComps,r=this.decodeAddends,n=this.decodeCoefficients,a=(1<<t)-1;let s,o;if(1===t){for(s=0,o=e.length;s<o;s++)e[s]=+!e[s];return}let c=0;for(s=0,o=this.width*this.height;s<o;s++)for(let t=0;t<i;t++)e[c]=ko(e[c],r[t],n[t],a),c++}getComponents(e){const t=this.bpc;if(8===t)return e;const i=this.width,r=this.height,n=this.numComps,a=i*r*n;let s,o=0;s=t<=8?new Uint8Array(a):t<=16?new Uint16Array(a):new Uint32Array(a);const c=i*n,l=(1<<t)-1;let u,h,d=0;if(1===t){let t,i,n;for(let a=0;a<r;a++){for(i=d+(-8&c),n=d+c;d<i;)h=e[o++],s[d]=h>>7&1,s[d+1]=h>>6&1,s[d+2]=h>>5&1,s[d+3]=h>>4&1,s[d+4]=h>>3&1,s[d+5]=h>>2&1,s[d+6]=h>>1&1,s[d+7]=1&h,d+=8;if(d<n)for(h=e[o++],t=128;d<n;)s[d++]=+!!(h&t),t>>=1}}else{let i=0;for(h=0,d=0,u=a;d<u;++d){for(d%c==0&&(h=0,i=0);i<t;)h=h<<8|e[o++],i+=8;const r=i-t;let n=h>>r;n<0?n=0:n>l&&(n=l),s[d]=n,h&=(1<<r)-1,i=r}}return s}fillOpacity(e,t,i,r,n){const a=this.smask,s=this.mask;let o,c,l,u,h,d;if(a)c=a.width,l=a.height,o=new Uint8ClampedArray(c*l),a.fillGrayBuffer(o),c===t&&l===i||(o=Io(o,a.bpc,c,l,t,i));else if(s)if(s instanceof To){for(c=s.width,l=s.height,o=new Uint8ClampedArray(c*l),s.numComps=1,s.fillGrayBuffer(o),u=0,h=c*l;u<h;++u)o[u]=255-o[u];c===t&&l===i||(o=Io(o,s.bpc,c,l,t,i))}else{if(!Array.isArray(s))throw new We("Unknown mask format.");{o=new Uint8ClampedArray(t*i);const e=this.numComps;for(u=0,h=t*i;u<h;++u){let t=0;const i=u*e;for(d=0;d<e;++d){const e=n[i+d],r=2*d;if(e<s[r]||e>s[r+1]){t=255;break}}o[u]=t}}}if(o)for(u=0,d=3,h=t*r;u<h;++u,d+=4)e[d]=o[u];else for(u=0,d=3,h=t*r;u<h;++u,d+=4)e[d]=255}undoPreblend(e,t,i){var r;const n=null==(r=this.smask)?void 0:r.matte;if(!n)return;const a=this.colorSpace.getRgb(n,0),s=a[0],o=a[1],c=a[2],l=t*i*4;for(let u=0;u<l;u+=4){const t=e[u+3];if(0===t){e[u]=255,e[u+1]=255,e[u+2]=255;continue}const i=255/t;e[u]=(e[u]-s)*i+s,e[u+1]=(e[u+1]-o)*i+o,e[u+2]=(e[u+2]-c)*i+c}}async createImageData(e=!1,t=!1){const i=this.drawWidth,r=this.drawHeight,n={width:i,height:r,interpolate:this.interpolate,kind:0,data:null},a=this.numComps,s=this.width,o=this.height,c=this.bpc,l=s*a*c+7>>3,u=t&&li.needsToBeResized(i,r);if(!e){let e;if("DeviceGray"===this.colorSpace.name&&1===c?e=1:"DeviceRGB"!==this.colorSpace.name||8!==c||this.needsDecode||(e=2),e&&!this.smask&&!this.mask&&i===s&&r===o){const a=this.getImageBytes(o*l,{});if(t)return u?li.createImage({data:a,kind:e,width:i,height:r,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,s,o,a);if(n.kind=e,n.data=a,this.needsDecode){Ge(1===e,"PDFImage.createImageData: The image must be grayscale.");const t=n.data;for(let e=0,i=t.length;e<i;e++)t[e]^=255}return n}if(this.image instanceof Sn&&!this.smask&&!this.mask&&!this.needsDecode){let e=o*l;if(t&&!u){let t=!1;switch(this.colorSpace.name){case"DeviceGray":e*=4,t=!0;break;case"DeviceRGB":e=e/3*4,t=!0;break;case"DeviceCMYK":t=!0}if(t){const t=this.getImageBytes(e,{drawWidth:i,drawHeight:r,forceRGBA:!0});return this.createBitmap(3,i,r,t)}}else switch(this.colorSpace.name){case"DeviceGray":e*=3;case"DeviceRGB":case"DeviceCMYK":return n.kind=2,n.data=this.getImageBytes(e,{drawWidth:i,drawHeight:r,forceRGB:!0}),u?li.createImage(n):n}}}const h=this.getImageBytes(o*l,{internal:!0}),d=0|h.length/l*r/o,p=this.getComponents(h);let f,g,m,b,y,v;return t&&!u&&(m=new OffscreenCanvas(i,r),b=m.getContext("2d"),y=b.createImageData(i,r),v=y.data),n.kind=3,e||this.smask||this.mask?(t&&!u||(v=new Uint8ClampedArray(i*r*4)),f=1,g=!0,this.fillOpacity(v,i,r,d,p)):(!t||u?(n.kind=2,v=new Uint8ClampedArray(i*r*3),f=0):(new Uint32Array(v.buffer).fill(Je.isLittleEndian?4278190080:255),f=1),g=!1),this.needsDecode&&this.decodeBuffer(p),this.colorSpace.fillRgb(v,s,o,i,r,d,c,p,f),g&&this.undoPreblend(v,i,d),t&&!u?(b.putImageData(y,0,0),{data:null,width:i,height:r,bitmap:m.transferToImageBitmap(),interpolate:this.interpolate}):(n.data=v,u?li.createImage(n):n)}fillGrayBuffer(e){const t=this.numComps;if(1!==t)throw new We(`Reading gray scale from a color image: ${t}`);const i=this.width,r=this.height,n=this.bpc,a=i*t*n+7>>3,s=this.getImageBytes(r*a,{internal:!0}),o=this.getComponents(s);let c,l;if(1===n){if(l=i*r,this.needsDecode)for(c=0;c<l;++c)e[c]=o[c]-1&255;else for(c=0;c<l;++c)e[c]=255&-o[c];return}this.needsDecode&&this.decodeBuffer(o),l=i*r;const u=255/((1<<n)-1);for(c=0;c<l;++c)e[c]=u*o[c]}createBitmap(e,t,i,r){const n=new OffscreenCanvas(t,i),a=n.getContext("2d");let s;return 3===e?s=new ImageData(r,t,i):(s=a.createImageData(t,i),convertToRGBA({kind:e,src:r,dest:new Uint32Array(s.data.buffer),width:t,height:i,inverseDecode:this.needsDecode})),a.putImageData(s,0,0),{data:null,width:t,height:i,bitmap:n.transferToImageBitmap(),interpolate:this.interpolate}}getImageBytes(e,{drawWidth:t,drawHeight:i,forceRGBA:r=!1,forceRGB:n=!1,internal:a=!1}){this.image.reset(),this.image.drawWidth=t||this.width,this.image.drawHeight=i||this.height,this.image.forceRGBA=!!r,this.image.forceRGB=!!n;const s=this.image.getBytes(e);return a||this.image instanceof tr?s:(Ge(s instanceof Uint8Array,'PDFImage.getImageBytes: Unsupported "imageBytes" type.'),new Uint8Array(s))}}const Do=Promise.resolve(),Fo=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,isOffscreenCanvasSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:null,standardFontDataUrl:null});function Po(e,t=!1){if(Array.isArray(e)){for(const t of e){const e=Po(t,!0);if(e)return e}return qe(`Unsupported blend mode Array: ${e}`),"source-over"}if(!(e instanceof lt))return t?null:"source-over";switch(e.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}return t?null:(qe(`Unsupported blend mode: ${e.name}`),"source-over")}class Bo{constructor({xref:e,handler:t,pageIndex:i,idFactory:r,fontCache:n,builtInCMapCache:a,standardFontDataCache:s,globalImageCache:o,systemFontCache:c,options:l=null}){this.xref=e,this.handler=t,this.pageIndex=i,this.idFactory=r,this.fontCache=n,this.builtInCMapCache=a,this.standardFontDataCache=s,this.globalImageCache=o,this.systemFontCache=c,this.options=l||Fo,this.parsingType3Font=!1,this._regionalImageCache=new mi,this._fetchBuiltInCMapBound=this.fetchBuiltInCMap.bind(this),li.setMaxArea(this.options.canvasMaxAreaInBytes)}get _pdfFunctionFactory(){return Ve(this,"_pdfFunctionFactory",new Ci({xref:this.xref,isEvalSupported:this.options.isEvalSupported}))}clone(e=null){const t=Object.create(this);return t.options=Object.assign(Object.create(null),this.options,e),t}async fetchBuiltInCMap(e){const t=this.builtInCMapCache.get(e);if(t)return t;let i;if(null!==this.options.cMapUrl){const t=`${this.options.cMapUrl}${e}.bcmap`,r=await fetch(t);if(!r.ok)throw new Error(`fetchBuiltInCMap: failed to fetch file "${t}" with "${r.statusText}".`);i={cMapData:new Uint8Array(await r.arrayBuffer()),compressionType:je}}else i=await this.handler.sendWithPromise("FetchBuiltInCMap",{name:e});return i.compressionType!==He&&this.builtInCMapCache.set(e,i),i}async fetchStandardFontData(e){const t=this.standardFontDataCache.get(e);if(t)return new ji(t);if(this.options.useSystemFonts&&"Symbol"!==e&&"ZapfDingbats"!==e)return null;const i=Xt()[e];let r;if(null!==this.options.standardFontDataUrl){const e=`${this.options.standardFontDataUrl}${i}`,t=await fetch(e);t.ok?r=new Uint8Array(await t.arrayBuffer()):qe(`fetchStandardFontData: failed to fetch file "${e}" with "${t.statusText}".`)}else try{r=await this.handler.sendWithPromise("FetchStandardFontData",{filename:i})}catch(n){qe(`fetchStandardFontData: failed to fetch file "${i}" with "${n}".`)}return r?(this.standardFontDataCache.set(e,r),new ji(r)):null}async buildFormXObject(e,t,i,r,n,a,s){const o=t.dict,c=o.getArray("Matrix");let l,u,h=o.getArray("BBox");h=Array.isArray(h)&&4===h.length?tt.normalizeRect(h):null,o.has("OC")&&(l=await this.parseMarkedContentProps(o.get("OC"),e)),void 0!==l&&r.addOp(70,["OC",l]);const d=o.get("Group");if(d){u={matrix:c,bbox:h,smask:i,isolated:!1,knockout:!1};let t=null;if(gt(d.get("S"),"Transparency")&&(u.isolated=d.get("I")||!1,u.knockout=d.get("K")||!1,d.has("CS"))){const i=d.getRaw("CS");t=Ki.getCached(i,this.xref,s)||await this.parseColorSpace({cs:i,resources:e,localColorSpaceCache:s})}(null==i?void 0:i.backdrop)&&(t||(t=Ki.singletons.rgb),i.backdrop=t.getRgb(i.backdrop,0)),r.addOp(76,[u])}const p=d?[c,null]:[c,h];r.addOp(74,p),await this.getOperatorList({stream:t,task:n,resources:o.get("Resources")||e,operatorList:r,initialState:a}),r.addOp(75,[]),d&&r.addOp(77,[u]),void 0!==l&&r.addOp(71,[])}_sendImgData(e,t,i=!1){const r=t?[t.bitmap||t.data.buffer]:null;return this.parsingType3Font||i?this.handler.send("commonobj",[e,"Image",t],r):this.handler.send("obj",[e,this.pageIndex,"Image",t],r)}async buildPaintImageXObject({resources:e,image:t,isInline:i=!1,operatorList:r,cacheKey:n,localImageCache:a,localColorSpaceCache:s}){const o=t.dict,c=o.objId,l=o.get("W","Width"),u=o.get("H","Height");if(!l||"number"!=typeof l||!u||"number"!=typeof u)return void qe("Image dimensions are missing, or not numbers.");const h=this.options.maxImageSize;if(-1!==h&&l*u>h){const e="Image exceeded maximum allowed size and was removed.";if(this.options.ignoreErrors)return void qe(e);throw new Error(e)}let d,p,f;if(o.has("OC")&&(d=await this.parseMarkedContentProps(o.get("OC"),e)),o.get("IM","ImageMask")){const e=o.get("I","Interpolate"),i=l+7>>3,s=t.getBytes(i*u),h=o.getArray("D","Decode");if(this.parsingType3Font){if(p=To.createRawMask({imgArray:s,width:l,height:u,imageIsFromDecodeStream:t instanceof tr,inverseDecode:(null==h?void 0:h[0])>0,interpolate:e}),p.cached=!!n,f=[p],r.addImageOps(83,f,d),n){const e={fn:83,args:f,optionalContent:d};a.set(n,c,e),c&&this._regionalImageCache.set(null,c,e)}return}if(p=await To.createMask({imgArray:s,width:l,height:u,imageIsFromDecodeStream:t instanceof tr,inverseDecode:(null==h?void 0:h[0])>0,interpolate:e,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported}),p.isSingleOpaquePixel){if(r.addImageOps(90,[],d),n){const e={fn:90,args:[],optionalContent:d};a.set(n,c,e),c&&this._regionalImageCache.set(null,c,e)}return}const g=`mask_${this.idFactory.createObjId()}`;if(r.addDependency(g),p.dataLen=p.bitmap?p.width*p.height*4:p.data.length,this._sendImgData(g,p),f=[{data:g,width:p.width,height:p.height,interpolate:p.interpolate,count:1}],r.addImageOps(83,f,d),n){const e={fn:83,args:f,optionalContent:d};a.set(n,c,e),c&&this._regionalImageCache.set(null,c,e)}return}if(i&&!o.has("SMask")&&!o.has("Mask")&&l+u<200){const n=new To({xref:this.xref,res:e,image:t,isInline:i,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:s});return p=await n.createImageData(!0,!1),r.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported,void r.addImageOps(86,[p],d)}let g=`img_${this.idFactory.createObjId()}`,m=!1;if(this.parsingType3Font?g=`${this.idFactory.getDocId()}_type3_${g}`:n&&c&&(m=this.globalImageCache.shouldCache(c,this.pageIndex),m&&(Ge(!i,"Cannot cache an inline image globally."),g=`${this.idFactory.getDocId()}_${g}`)),r.addDependency(g),f=[g,l,u],r.addImageOps(85,f,d),m&&l*u>25e4){const e=await this.handler.sendWithPromise("commonobj",[g,"CopyLocalImage",{imageRef:c}]);if(e)return this.globalImageCache.setData(c,{objId:g,fn:85,args:f,optionalContent:d,byteSize:0}),void this.globalImageCache.addByteSize(c,e)}if(To.buildImage({xref:this.xref,res:e,image:t,isInline:i,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:s}).then(async e=>(p=await e.createImageData(!1,this.options.isOffscreenCanvasSupported),p.dataLen=p.bitmap?p.width*p.height*4:p.data.length,p.ref=c,m&&this.globalImageCache.addByteSize(c,p.dataLen),this._sendImgData(g,p,m))).catch(e=>(qe(`Unable to decode image "${g}": "${e}".`),this._sendImgData(g,null,m))),n){const e={fn:85,args:f,optionalContent:d};a.set(n,c,e),c&&(this._regionalImageCache.set(null,c,e),m&&this.globalImageCache.setData(c,{objId:g,fn:85,args:f,optionalContent:d,byteSize:0}))}}handleSMask(e,t,i,r,n,a){const s=e.get("G"),o={subtype:e.get("S").name,backdrop:e.get("BC")},c=e.get("TR");if(Ai(c)){const e=this._pdfFunctionFactory.create(c),t=new Uint8Array(256),i=new Float32Array(1);for(let r=0;r<256;r++)i[0]=r/255,e(i,0,i,0),t[r]=255*i[0]|0;o.transferMap=t}return this.buildFormXObject(t,s,o,i,r,n.state.clone(),a)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!Ai(e))return null;t=[e]}const i=[];let r=0,n=0;for(const a of t){const e=this.xref.fetchIfRef(a);if(r++,gt(e,"Identity")){i.push(null);continue}if(!Ai(e))return null;const t=this._pdfFunctionFactory.create(e),s=new Uint8Array(256),o=new Float32Array(1);for(let i=0;i<256;i++)o[0]=i/255,t(o,0,o,0),s[i]=255*o[0]|0;i.push(s),n++}return 1!==r&&4!==r||0===n?null:i}handleTilingType(e,t,i,r,n,a,s,o){const c=new OperatorList,l=dt.merge({xref:this.xref,dictArray:[n.get("Resources"),i]});return this.getOperatorList({stream:r,task:s,resources:l,operatorList:c}).then(function(){const i=c.getIR(),r=ws(i,n,t);a.addDependencies(c.dependencies),a.addOp(e,r),n.objId&&o.set(null,n.objId,{operatorListIR:i,dict:n})}).catch(e=>{if(!(e instanceof $e)){if(!this.options.ignoreErrors)throw e;qe(`handleTilingType - ignoring pattern: "${e}".`)}})}async handleSetFont(e,t,i,r,n,a,s=null,o=null){const c=(null==t?void 0:t[0])instanceof lt?t[0].name:null;e.objId;let l=await this.loadFont(c,i,e,s,o);if(l.font.isType3Font)try{await l.loadType3Data(this,e,n),r.addDependencies(l.type3Dependencies)}catch(u){l=new Oo({loadedName:"g_font_error",font:new hs(`Type3 font load error: ${u}`),dict:l.font,evaluatorOptions:this.options})}return a.font=l.font,l.send(this.handler),l.loadedName}handleText(e,t){const i=t.font;t.font.name;const r=i.charsToGlyphs(e);return i.data&&(4&t.textRenderingMode||"Pattern"===t.fillColorSpace.name||i.disableFontFace||this.options.disableFontFace)&&Bo.buildFontPaths(i,r,this.handler,this.options),r}ensureStateFont(e){if(e.font)return;const t=new We("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;qe(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:i,cacheKey:r,task:n,stateManager:a,localGStateCache:s,localColorSpaceCache:o}){const c=t.objId;let l=!0;const u=[];let h=Promise.resolve();for(const d of t.getKeys()){const r=t.get(d);switch(d){case"Type":case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":default:break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":u.push([d,r]);break;case"Font":l=!1,h=h.then(()=>this.handleSetFont(e,null,r[0],i,n,a.state).then(function(e){i.addDependency(e),u.push([d,[e,r[1]]])}));break;case"BM":u.push([d,Po(r)]);break;case"SMask":if(gt(r,"None")){u.push([d,!1]);break}r instanceof dt?(l=!1,h=h.then(()=>this.handleSMask(r,e,i,n,a,o)),u.push([d,!0])):qe("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(r);u.push([d,t])}}await h,u.length>0&&i.addOp(9,[u]),l&&s.set(r,c,u)}loadFont(e,t,i,r=null,n=null){const a=async()=>new Oo({loadedName:"g_font_error",font:new hs(`Font "${e}" is not available.`),dict:t,evaluatorOptions:this.options});let s;if(t)t instanceof pt&&(s=t);else{const t=i.get("Font");t&&(s=t.getRaw(e))}if(s){if(this.parsingType3Font&&this.type3FontRefs.has(s))return a();if(this.fontCache.has(s))return this.fontCache.get(s);t=this.xref.fetchIfRef(s)}if(!(t instanceof dt)){if(!this.options.ignoreErrors&&!this.parsingType3Font)return qe(`Font "${e}" is not available.`),a();qe(`Font "${e}" is not available -- attempting to fallback to a default font.`),t=r||Bo.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const o=new nt;let c;try{c=this.preEvaluateFont(t),c.baseDict.objId,c.cssFontInfo=n}catch(p){return qe(`loadFont - preEvaluateFont failed: "${p}".`),a()}const{descriptor:l,hash:u}=c,h=s instanceof pt;let d;if(u&&l instanceof dt){const e=l.fontAliases||(l.fontAliases=Object.create(null));if(e[u]){const t=e[u].aliasRef;if(h&&t&&this.fontCache.has(t))return this.fontCache.putAlias(s,t),this.fontCache.get(s)}else e[u]={fontID:this.idFactory.createFontId()};h&&(e[u].aliasRef=s),d=e[u].fontID}else d=this.idFactory.createFontId();return Ge(null==d?void 0:d.startsWith("f"),'The "fontID" must be (correctly) defined.'),h?this.fontCache.put(s,o.promise):(t.cacheKey=`cacheKey_${d}`,this.fontCache.put(t.cacheKey,o.promise)),t.loadedName=`${this.idFactory.getDocId()}_${d}`,c.baseDict.objId,this.translateFont(c).then(e=>{o.resolve(new Oo({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))}).catch(e=>{qe(`loadFont - translateFont failed: "${e}".`),o.resolve(new Oo({loadedName:t.loadedName,font:new hs(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))}),o.promise}buildPath(e,t,i,r=!1){const n=e.length-1;if(i||(i=[]),n<0||91!==e.fnArray[n]){let n;switch(r&&(qe(`Encountered path operator "${t}" inside of a text object.`),e.addOp(10,null)),t){case 19:const e=i[0]+i[2],t=i[1]+i[3];n=[Math.min(i[0],e),Math.min(i[1],t),Math.max(i[0],e),Math.max(i[1],t)];break;case 13:case 14:n=[i[0],i[1],i[0],i[1]];break;default:n=[1/0,1/0,-1/0,-1/0]}e.addOp(91,[[t],i,n]),r&&e.addOp(11,null)}else{const r=e.argsArray[n];r[0].push(t),r[1].push(...i);const a=r[2];switch(t){case 19:const e=i[0]+i[2],t=i[1]+i[3];a[0]=Math.min(a[0],i[0],e),a[1]=Math.min(a[1],i[1],t),a[2]=Math.max(a[2],i[0],e),a[3]=Math.max(a[3],i[1],t);break;case 13:case 14:a[0]=Math.min(a[0],i[0]),a[1]=Math.min(a[1],i[1]),a[2]=Math.max(a[2],i[0]),a[3]=Math.max(a[3],i[1])}}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:i}){return Ki.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:i}).catch(e=>{if(e instanceof $e)return null;if(this.options.ignoreErrors)return qe(`parseColorSpace - ignoring ColorSpace: "${e}".`),null;throw e})}parseShading({shading:e,resources:t,localColorSpaceCache:i,localShadingPatternCache:r}){let n=r.get(e);if(!n){const a=ds.parseShading(e,this.xref,t,this._pdfFunctionFactory,i).getIR();n=`pattern_${this.idFactory.createObjId()}`,this.parsingType3Font&&(n=`${this.idFactory.getDocId()}_type3_${n}`),r.set(e,n),this.parsingType3Font?this.handler.send("commonobj",[n,"Pattern",a]):this.handler.send("obj",[n,this.pageIndex,"Pattern",a])}return n}handleColorN(e,t,i,r,n,a,s,o,c,l){const u=i.pop();if(u instanceof lt){const h=n.getRaw(u.name),d=h instanceof pt&&c.getByRef(h);if(d)try{const n=r.base?r.base.getRgb(i,0):null,a=ws(d.operatorListIR,d.dict,n);return void e.addOp(t,a)}catch{}const p=this.xref.fetchIfRef(h);if(p){const n=p instanceof bt?p.dict:p,u=n.get("PatternType");if(1===u){const o=r.base?r.base.getRgb(i,0):null;return this.handleTilingType(t,o,a,p,n,e,s,c)}if(2===u){const i=n.get("Shading"),r=n.getArray("Matrix"),s=this.parseShading({shading:i,resources:a,localColorSpaceCache:o,localShadingPatternCache:l});return void e.addOp(t,["Shading",s,r])}throw new We(`Unknown PatternType: ${u}`)}}throw new We(`Unknown PatternName: ${u}`)}_parseVisibilityExpression(e,t,i){if(++t>10)return void qe("Visibility expression is too deeply nested");const r=e.length,n=this.xref.fetchIfRef(e[0]);if(!(r<2)&&n instanceof lt){switch(n.name){case"And":case"Or":case"Not":i.push(n.name);break;default:return void qe(`Invalid operator ${n.name} in visibility expression`)}for(let n=1;n<r;n++){const r=e[n],a=this.xref.fetchIfRef(r);if(Array.isArray(a)){const e=[];i.push(e),this._parseVisibilityExpression(a,t,e)}else r instanceof pt&&i.push(r.toString())}}else qe("Invalid visibility expression")}async parseMarkedContentProps(e,t){var i;let r;if(e instanceof lt)r=t.get("Properties").get(e.name);else{if(!(e instanceof dt))throw new We("Optional content properties malformed.");r=e}const n=null==(i=r.get("Type"))?void 0:i.name;if("OCG"===n)return{type:n,id:r.objId};if("OCMD"===n){const e=r.get("VE");if(Array.isArray(e)){const t=[];if(this._parseVisibilityExpression(e,0,t),t.length>0)return{type:"OCMD",expression:t}}const t=r.get("OCGs");if(Array.isArray(t)||t instanceof dt){const e=[];if(Array.isArray(t))for(const i of t)e.push(i.toString());else e.push(t.objId);return{type:n,ids:e,policy:r.get("P")instanceof lt?r.get("P").name:null,expression:null}}if(t instanceof pt)return{type:n,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:i,operatorList:r,initialState:n=null,fallbackFontDict:a=null}){if(i||(i=dt.empty),n||(n=new EvalState),!r)throw new Error('getOperatorList: missing "operatorList" parameter');const s=this,o=this.xref;let c=!1;const l=new hi,u=new di,h=new fi,d=new gi,p=new Map,f=i.get("XObject")||dt.empty,g=i.get("Pattern")||dt.empty,m=new StateManager(n),b=new EvaluatorPreprocessor(e,o,m),y=new TimeSlotManager;function v(e){for(let t=0,i=b.savedStatesDepth;t<i;t++)r.addOp(11,[])}return new Promise(function e(n,S){const C=function(t){Promise.all([t,r.ready]).then(function(){try{e(n,S)}catch(t){S(t)}},S)};t.ensureNotTerminated(),y.reset();const x={};let w,A,E,k,I,T;for(;!(w=y.check())&&(x.args=null,b.read(x));){let e=x.args,n=x.fn;switch(0|n){case 66:if(T=e[0]instanceof lt,I=e[0].name,T){const t=l.getByName(I);if(t){r.addImageOps(t.fn,t.args,t.optionalContent),incrementCachedImageMaskCount(t),e=null;continue}}return void C(new Promise(function(e,n){if(!T)throw new We("XObject must be referred to by name.");let a=f.getRaw(I);if(a instanceof pt){const t=l.getByRef(a)||s._regionalImageCache.getByRef(a);if(t)return r.addImageOps(t.fn,t.args,t.optionalContent),incrementCachedImageMaskCount(t),void e();const i=s.globalImageCache.getData(a,s.pageIndex);if(i)return r.addDependency(i.objId),r.addImageOps(i.fn,i.args,i.optionalContent),void e();a=o.fetch(a)}if(!(a instanceof bt))throw new We("XObject should be a stream");const c=a.dict.get("Subtype");if(!(c instanceof lt))throw new We("XObject should have a Name subtype");if("Form"===c.name)return m.save(),void s.buildFormXObject(i,a,null,r,t,m.state.clone(),u).then(function(){m.restore(),e()},n);if("Image"!==c.name){if("PS"!==c.name)throw new We(`Unhandled XObject subtype ${c.name}`);e()}else s.buildPaintImageXObject({resources:i,image:a,operatorList:r,cacheKey:I,localImageCache:l,localColorSpaceCache:u}).then(e,n)}).catch(function(e){if(!(e instanceof $e)){if(!s.options.ignoreErrors)throw e;qe(`getOperatorList - ignoring XObject: "${e}".`)}}));case 37:var D=e[1];return void C(s.handleSetFont(i,e,null,r,t,m.state,a).then(function(e){r.addDependency(e),r.addOp(37,[e,D])}));case 31:c=!0;break;case 32:c=!1;break;case 65:var F=e[0].cacheKey;if(F){const t=l.getByName(F);if(t){r.addImageOps(t.fn,t.args,t.optionalContent),incrementCachedImageMaskCount(t),e=null;continue}}return void C(s.buildPaintImageXObject({resources:i,image:e[0],isInline:!0,operatorList:r,cacheKey:F,localImageCache:l,localColorSpaceCache:u}));case 44:if(!m.state.font){s.ensureStateFont(m.state);continue}e[0]=s.handleText(e[0],m.state);break;case 45:if(!m.state.font){s.ensureStateFont(m.state);continue}var P=[],B=m.state;for(const t of e[0])"string"==typeof t?P.push(...s.handleText(t,B)):"number"==typeof t&&P.push(t);e[0]=P,n=44;break;case 46:if(!m.state.font){s.ensureStateFont(m.state);continue}r.addOp(43),e[0]=s.handleText(e[0],m.state),n=44;break;case 47:if(!m.state.font){s.ensureStateFont(m.state);continue}r.addOp(43),r.addOp(34,[e.shift()]),r.addOp(33,[e.shift()]),e[0]=s.handleText(e[0],m.state),n=44;break;case 38:m.state.textRenderingMode=e[0];break;case 51:{const t=Ki.getCached(e[0],o,u);if(t){m.state.fillColorSpace=t;continue}return void C(s.parseColorSpace({cs:e[0],resources:i,localColorSpaceCache:u}).then(function(e){e&&(m.state.fillColorSpace=e)}))}case 50:{const t=Ki.getCached(e[0],o,u);if(t){m.state.strokeColorSpace=t;continue}return void C(s.parseColorSpace({cs:e[0],resources:i,localColorSpaceCache:u}).then(function(e){e&&(m.state.strokeColorSpace=e)}))}case 54:k=m.state.fillColorSpace,e=k.getRgb(e,0),n=59;break;case 52:k=m.state.strokeColorSpace,e=k.getRgb(e,0),n=58;break;case 57:m.state.fillColorSpace=Ki.singletons.gray,e=Ki.singletons.gray.getRgb(e,0),n=59;break;case 56:m.state.strokeColorSpace=Ki.singletons.gray,e=Ki.singletons.gray.getRgb(e,0),n=58;break;case 61:m.state.fillColorSpace=Ki.singletons.cmyk,e=Ki.singletons.cmyk.getRgb(e,0),n=59;break;case 60:m.state.strokeColorSpace=Ki.singletons.cmyk,e=Ki.singletons.cmyk.getRgb(e,0),n=58;break;case 59:m.state.fillColorSpace=Ki.singletons.rgb,e=Ki.singletons.rgb.getRgb(e,0);break;case 58:m.state.strokeColorSpace=Ki.singletons.rgb,e=Ki.singletons.rgb.getRgb(e,0);break;case 55:if(k=m.state.fillColorSpace,"Pattern"===k.name)return void C(s.handleColorN(r,55,e,k,g,i,t,u,d,p));e=k.getRgb(e,0),n=59;break;case 53:if(k=m.state.strokeColorSpace,"Pattern"===k.name)return void C(s.handleColorN(r,53,e,k,g,i,t,u,d,p));e=k.getRgb(e,0),n=58;break;case 62:var O=i.get("Shading");if(!O)throw new We("No shading resource found");var N=O.get(e[0].name);if(!N)throw new We("No shading object found");e=[s.parseShading({shading:N,resources:i,localColorSpaceCache:u,localShadingPatternCache:p})],n=62;break;case 9:if(T=e[0]instanceof lt,I=e[0].name,T){const t=h.getByName(I);if(t){t.length>0&&r.addOp(9,[t]),e=null;continue}}return void C(new Promise(function(e,n){if(!T)throw new We("GState must be referred to by name.");const a=i.get("ExtGState");if(!(a instanceof dt))throw new We("ExtGState should be a dictionary.");const o=a.get(I);if(!(o instanceof dt))throw new We("GState should be a dictionary.");s.setGState({resources:i,gState:o,operatorList:r,cacheKey:I,task:t,stateManager:m,localGStateCache:h,localColorSpaceCache:u}).then(e,n)}).catch(function(e){if(!(e instanceof $e)){if(!s.options.ignoreErrors)throw e;qe(`getOperatorList - ignoring ExtGState: "${e}".`)}}));case 13:case 14:case 15:case 16:case 17:case 18:case 19:s.buildPath(r,n,e,c);continue;case 67:case 68:case 72:case 73:continue;case 70:if(!(e[0]instanceof lt)){qe(`Expected name for beginMarkedContentProps arg0=${e[0]}`);continue}if("OC"===e[0].name)return void C(s.parseMarkedContentProps(e[1],i).then(e=>{r.addOp(70,["OC",e])}).catch(e=>{if(!(e instanceof $e)){if(!s.options.ignoreErrors)throw e;qe(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`)}}));e=[e[0].name,e[1]instanceof dt?e[1].get("MCID"):null];break;default:if(null!==e){for(A=0,E=e.length;A<E&&!(e[A]instanceof dt);A++);if(A<E){qe("getOperatorList - ignoring operator: "+n);continue}}}r.addOp(n,e)}w?C(Do):(v(),n())}).catch(e=>{if(!(e instanceof $e)){if(this.options.ignoreErrors)return qe(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`),void v();throw e}})}async extractDataStructures(e,t){const i=this.xref;let r;const n=this.readToUnicode(t.toUnicode);if(t.composite){const i=e.get("CIDSystemInfo");i instanceof dt&&(t.cidSystemInfo={registry:rt(i.get("Registry")),ordering:rt(i.get("Ordering")),supplement:i.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof bt&&(r=t.getBytes())}catch(h){if(!this.options.ignoreErrors)throw h;qe(`extractDataStructures - ignoring CIDToGIDMap data: "${h}".`)}}const a=[];let s,o=null;if(e.has("Encoding")){if(s=e.get("Encoding"),s instanceof dt){if(o=s.get("BaseEncoding"),o=o instanceof lt?o.name:null,s.has("Differences")){const e=s.get("Differences");let t=0;for(const r of e){const e=i.fetchIfRef(r);if("number"==typeof e)t=e;else{if(!(e instanceof lt))throw new We(`Invalid entry in 'Differences' array: ${e}`);a[t++]=e.name}}}}else if(s instanceof lt)o=s.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new We(e);qe(e)}"MacRomanEncoding"!==o&&"MacExpertEncoding"!==o&&"WinAnsiEncoding"!==o&&(o=null)}const c=!t.file||t.isInternalFont,l=Zt()[t.name];if(o&&c&&l&&(o=null),o)t.defaultEncoding=Bt(o);else{const e=!!(4&t.flags),i=!!(32&t.flags);s=Tt,"TrueType"!==t.type||i||(s=Dt),(e||l)&&(s=It,c&&(/Symbol/i.test(t.name)?s=Ft:/Dingbats/i.test(t.name)?s=Pt:/Wingdings/i.test(t.name)&&(s=Dt))),t.defaultEncoding=s}t.differences=a,t.baseEncodingName=o,t.hasEncoding=!!o||a.length>0,t.dict=e,t.toUnicode=await n;const u=await this.buildToUnicode(t);return t.toUnicode=u,r&&(t.cidToGidMap=this.readCidToGidMap(r,u)),t}_simpleFontToUnicode(e,t=!1){Ge(!e.composite,"Must be a simple font.");const i=[],r=e.defaultEncoding.slice(),n=e.baseEncodingName,a=e.differences;for(const o in a){const e=a[o];".notdef"!==e&&(r[o]=e)}const s=Ot();for(const o in r){let a=r[o];if(""===a)continue;let c=s[a];if(void 0!==c){i[o]=String.fromCharCode(c);continue}let l=0;switch(a[0]){case"G":3===a.length&&(l=parseInt(a.substring(1),16));break;case"g":5===a.length&&(l=parseInt(a.substring(1),16));break;case"C":case"c":if(a.length>=3&&a.length<=4){const i=a.substring(1);if(t){l=parseInt(i,16);break}if(l=+i,Number.isNaN(l)&&Number.isInteger(parseInt(i,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":c=Rt(a,s),-1!==c&&(l=c);break;default:switch(a){case"f_h":case"f_t":case"T_h":i[o]=a.replaceAll("_","");continue}}if(l>0&&l<=1114111&&Number.isInteger(l)){if(n&&l===+o){const e=Bt(n);if(e&&(a=e[o])){i[o]=String.fromCharCode(s[a]);continue}}i[o]=String.fromCodePoint(l)}}return i}async buildToUnicode(e){var t;if(e.hasIncludedToUnicodeMap=(null==(t=e.toUnicode)?void 0:t.length)>0,e.hasIncludedToUnicodeMap)return!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e)),e.toUnicode;if(!e.composite)return new ni(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof ra)||"Adobe"===e.cidSystemInfo.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:i}=e.cidSystemInfo,r=lt.get(`${t}-${i}-UCS2`),n=await ba.create({encoding:r,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),a=[],s=[];return e.cMap.forEach(function(e,t){if(t>65535)throw new We("Max size of CID is 65,535");const i=n.lookup(t);if(i){s.length=0;for(let e=0,t=i.length;e<t;e+=2)s.push((i.charCodeAt(e)<<8)+i.charCodeAt(e+1));a[e]=String.fromCharCode(...s)}}),new ni(a)}return new ai(e.firstChar,e.lastChar)}async readToUnicode(e){if(!e)return null;if(e instanceof lt){const t=await ba.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});return t instanceof ra?new ai(0,65535):new ni(t.getMap())}if(e instanceof bt)try{const t=await ba.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});if(t instanceof ra)return new ai(0,65535);const i=new Array(t.length);return t.forEach(function(e,t){if("number"==typeof t)return void(i[e]=String.fromCodePoint(t));const r=[];for(let i=0;i<t.length;i+=2){const e=t.charCodeAt(i)<<8|t.charCodeAt(i+1);if(55296!=(63488&e)){r.push(e);continue}i+=2;const n=t.charCodeAt(i)<<8|t.charCodeAt(i+1);r.push(((1023&e)<<10)+(1023&n)+65536)}i[e]=String.fromCodePoint(...r)}),new ni(i)}catch(t){if(t instanceof $e)return null;if(this.options.ignoreErrors)return qe(`readToUnicode - ignoring ToUnicode data: "${t}".`),null;throw t}return null}readCidToGidMap(e,t){const i=[];for(let r=0,n=e.length;r<n;r++){const n=e[r++]<<8|e[r],a=r>>1;(0!==n||t.has(a))&&(i[a]=n)}return i}extractWidths(e,t,i){const r=this.xref;let n=[],a=0;const s=[];let o,c,l,u,h,d,p,f;if(i.composite){if(a=e.has("DW")?e.get("DW"):1e3,f=e.get("W"),f)for(c=0,l=f.length;c<l;c++)if(d=r.fetchIfRef(f[c++]),p=r.fetchIfRef(f[c]),Array.isArray(p))for(u=0,h=p.length;u<h;u++)n[d++]=r.fetchIfRef(p[u]);else{const e=r.fetchIfRef(f[++c]);for(u=d;u<=p;u++)n[u]=e}if(i.vertical){let t=e.getArray("DW2")||[880,-1e3];if(o=[t[1],.5*a,t[0]],t=e.get("W2"),t)for(c=0,l=t.length;c<l;c++)if(d=r.fetchIfRef(t[c++]),p=r.fetchIfRef(t[c]),Array.isArray(p))for(u=0,h=p.length;u<h;u++)s[d++]=[r.fetchIfRef(p[u++]),r.fetchIfRef(p[u++]),r.fetchIfRef(p[u])];else{const e=[r.fetchIfRef(t[++c]),r.fetchIfRef(t[++c]),r.fetchIfRef(t[++c])];for(u=d;u<=p;u++)s[u]=e}}}else{const s=i.firstChar;if(f=e.get("Widths"),f){for(u=s,c=0,l=f.length;c<l;c++)n[u++]=r.fetchIfRef(f[c]);a=parseFloat(t.get("MissingWidth"))||0}else{const t=e.get("BaseFont");if(t instanceof lt){const e=this.getBaseFontMetrics(t.name);n=this.buildCharCodeToWidth(e.widths,i),a=e.defaultWidth}}}let g=!0,m=a;for(const b in n){const e=n[b];if(e)if(m){if(m!==e){g=!1;break}}else m=e}g?i.flags|=1:i.flags&=-2,i.defaultWidth=a,i.widths=n,i.defaultVMetrics=o,i.vmetrics=s}isSerifFont(e){const t=e.split("-",1)[0];return t in $t()||/serif/gi.test(t)}getBaseFontMetrics(e){let t=0,i=Object.create(null),r=!1,n=zt()[e]||e;const a=ii();n in a||(n=this.isSerifFont(e)?"Times-Roman":"Helvetica");const s=a[n];return"number"==typeof s?(t=s,r=!0):i=s(),{defaultWidth:t,monospace:r,widths:i}}buildCharCodeToWidth(e,t){const i=Object.create(null),r=t.differences,n=t.defaultEncoding;for(let a=0;a<256;a++)a in r&&e[r[a]]?i[a]=e[r[a]]:a in n&&e[n[a]]&&(i[a]=e[n[a]]);return i}preEvaluateFont(e){const t=e;let i=e.get("Subtype");if(!(i instanceof lt))throw new We("invalid font Subtype");let r,n=!1;if("Type0"===i.name){const t=e.get("DescendantFonts");if(!t)throw new We("Descendant fonts are not specified");if(!((e=Array.isArray(t)?this.xref.fetchIfRef(t[0]):t)instanceof dt))throw new We("Descendant font is not a dictionary.");if(i=e.get("Subtype"),!(i instanceof lt))throw new We("invalid font Subtype");n=!0}const a=e.get("FirstChar")||0,s=e.get("LastChar")||(n?65535:255),o=e.get("FontDescriptor"),c=e.get("ToUnicode")||t.get("ToUnicode");if(o){r=new Eo;const i=t.getRaw("Encoding");if(i instanceof lt)r.update(i.name);else if(i instanceof pt)r.update(i.toString());else if(i instanceof dt)for(const e of i.getRawValues())if(e instanceof lt)r.update(e.name);else if(e instanceof pt)r.update(e.toString());else if(Array.isArray(e)){const t=e.length,i=new Array(t);for(let r=0;r<t;r++){const t=e[r];t instanceof lt?i[r]=t.name:("number"==typeof t||t instanceof pt)&&(i[r]=t.toString())}r.update(i.join())}if(r.update(`${a}-${s}`),o.objId,c instanceof bt){const e=c.str||c,t=e.buffer?new Uint8Array(e.buffer.buffer,0,e.bufferLength):new Uint8Array(e.bytes.buffer,e.start,e.end-e.start);r.update(t)}else c instanceof lt&&r.update(c.name);const l=e.get("Widths")||t.get("Widths");if(Array.isArray(l)){const e=[];for(const t of l)("number"==typeof t||t instanceof pt)&&e.push(t.toString());r.update(e.join())}if(n){r.update("compositeFont");const i=e.get("W")||t.get("W");if(Array.isArray(i)){const e=[];for(const t of i)if("number"==typeof t||t instanceof pt)e.push(t.toString());else if(Array.isArray(t)){const i=[];for(const e of t)("number"==typeof e||e instanceof pt)&&i.push(e.toString());e.push(`[${i.join()}]`)}r.update(e.join())}const n=e.getRaw("CIDToGIDMap")||t.getRaw("CIDToGIDMap");n instanceof lt?r.update(n.name):n instanceof pt?r.update(n.toString()):n instanceof bt&&r.update(n.peekBytes())}}return{descriptor:o,dict:e,baseDict:t,composite:n,type:i.name,firstChar:a,lastChar:s,toUnicode:c,hash:r?r.hexdigest():""}}async translateFont({descriptor:e,dict:t,baseDict:i,composite:r,type:n,firstChar:a,lastChar:s,toUnicode:o,cssFontInfo:c}){const l="Type3"===n;if(!e){if(!l){let e=t.get("BaseFont");if(!(e instanceof lt))throw new We("Base font is not specified");e=e.name.replaceAll(/[,_]/g,"-");const r=this.getBaseFontMetrics(e),c=e.split("-",1)[0],u=(this.isSerifFont(c)?2:0)|(r.monospace?1:0)|(Zt()[c]?4:32),h={type:n,name:e,loadedName:i.loadedName,systemFontInfo:null,widths:r.widths,defaultWidth:r.defaultWidth,isSimulatedFlags:!0,flags:u,firstChar:a,lastChar:s,toUnicode:o,xHeight:0,capHeight:0,italicAngle:0,isType3Font:l},d=t.get("Widths"),p=ei(e);let f=null;p&&(f=await this.fetchStandardFontData(p),h.isInternalFont=!!f),!h.isInternalFont&&this.options.useSystemFonts&&(h.systemFontInfo=Bs(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,e,p));const g=await this.extractDataStructures(t,h);if(d){const e=[];let t=a;for(const i of d)e[t++]=this.xref.fetchIfRef(i);g.widths=e}else g.widths=this.buildCharCodeToWidth(r.widths,g);return new us(e,f,g)}(e=new dt(null)).set("FontName",lt.get(n)),e.set("FontBBox",t.getArray("FontBBox")||[0,0,0,0])}let u=e.get("FontName"),h=t.get("BaseFont");"string"==typeof u&&(u=lt.get(u)),"string"==typeof h&&(h=lt.get(h));const d=null==u?void 0:u.name,p=null==h?void 0:h.name;if(l||d===p||d&&p&&(p.startsWith(d)||!ti(d)&&ti(p))&&(u=null),u||(u=h),!(u instanceof lt))throw new We("invalid font name");let f,g,m,b,y;try{f=e.get("FontFile","FontFile2","FontFile3")}catch(A){if(!this.options.ignoreErrors)throw A;qe(`translateFont - fetching "${u.name}" font file: "${A}".`),f=new qi}let v=!1,S=null,C=null;if(f){if(f.dict){const e=f.dict.get("Subtype");e instanceof lt&&(g=e.name),m=f.dict.get("Length1"),b=f.dict.get("Length2"),y=f.dict.get("Length3")}}else if(c){const e=Co(u.name);e&&(c.fontFamily=`${c.fontFamily}-PdfJS-XFA`,c.metrics=e.metrics||null,S=e.factors||null,f=await this.fetchStandardFontData(e.name),v=!!f,i=t=function(e){const t=function(e){const t=Co(e);if(!t)return null;const{baseWidths:i,baseMapping:r,factors:n}=t,a=n?i.map((e,t)=>e*n[t]):i;let s,o=-2;const c=[];for(const[l,u]of r.map((e,t)=>[e,t]).sort(([e],[t])=>e-t))-1!==l&&(l===o+1?(s.push(a[u]),o+=1):(o=l,s=[a[u]],c.push(l,s)));return c}(e),i=new dt(null);i.set("BaseFont",lt.get(e)),i.set("Type",lt.get("Font")),i.set("Subtype",lt.get("CIDFontType2")),i.set("Encoding",lt.get("Identity-H")),i.set("CIDToGIDMap",lt.get("Identity")),i.set("W",t),i.set("FirstChar",t[0]),i.set("LastChar",t.at(-2)+t.at(-1).length-1);const r=new dt(null);i.set("FontDescriptor",r);const n=new dt(null);return n.set("Ordering","Identity"),n.set("Registry","Adobe"),n.set("Supplement",0),i.set("CIDSystemInfo",n),i}(u.name),r=!0)}else if(!l){const e=ei(u.name);e&&(f=await this.fetchStandardFontData(e),v=!!f),!v&&this.options.useSystemFonts&&(C=Bs(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,u.name,e))}const x={type:n,name:u.name,subtype:g,file:f,length1:m,length2:b,length3:y,isInternalFont:v,loadedName:i.loadedName,composite:r,fixedPitch:!1,fontMatrix:t.getArray("FontMatrix")||Ue,firstChar:a,lastChar:s,toUnicode:o,bbox:e.getArray("FontBBox")||t.getArray("FontBBox"),ascent:e.get("Ascent"),descent:e.get("Descent"),xHeight:e.get("XHeight")||0,capHeight:e.get("CapHeight")||0,flags:e.get("Flags"),italicAngle:e.get("ItalicAngle")||0,isType3Font:l,cssFontInfo:c,scaleFactors:S,systemFontInfo:C};if(r){const e=i.get("Encoding");e instanceof lt&&(x.cidEncoding=e.name);const t=await ba.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});x.cMap=t,x.vertical=x.cMap.vertical}u.name;const w=await this.extractDataStructures(t,x);return this.extractWidths(t,e,w),u.name,new us(u.name,f,w)}static buildFontPaths(e,t,i,r){function n(t){const n=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;i.send("commonobj",[n,"FontPath",e.renderer.getPathJs(t)])}catch(a){if(r.ignoreErrors)return void qe(`buildFontPaths - ignoring ${n} glyph: "${a}".`);throw a}}for(const a of t){n(a.fontChar);const e=a.accent;(null==e?void 0:e.fontChar)&&n(e.fontChar)}}static get fallbackFontDict(){const e=new dt;return e.set("BaseFont",lt.get("Helvetica")),e.set("Type",lt.get("FallbackType")),e.set("Subtype",lt.get("FallbackType")),e.set("Encoding",lt.get("WinAnsiEncoding")),Ve(this,"fallbackFontDict",e)}}class Oo{constructor({loadedName:e,font:t,dict:i,evaluatorOptions:r}){this.loadedName=e,this.font=t,this.dict=i,this._evaluatorOptions=r||Fo,this.type3Loaded=null,this.type3Dependencies=t.isType3Font?new Set:null,this.sent=!1}send(e){this.sent||(this.sent=!0,e.send("commonobj",[this.loadedName,"Font",this.font.exportData(this._evaluatorOptions.fontExtraProperties)]))}fallback(e){this.font.data&&(this.font.disableFontFace=!0,Bo.buildFontPaths(this.font,this.font.glyphCacheValues,e,this._evaluatorOptions))}}class No{constructor({ownerDocument:e=globalThis.document,styleElement:t=null,loadedName:i=""}){a(this,U,new Set),this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0,this.loadedName=i}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),n(this,U).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(e&&!n(this,U).has(e.loadedName))if(Ge(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:i,src:r,style:a}=e,s=new FontFace(i,r,a);this.addNativeFontFace(s);try{await s.load(),n(this,U).add(i),null==t||t(e)}catch{qe(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(s)}}else Ke("Not implemented: loadSystemFont without the Font Loading API.")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo)return void(await this.loadSystemFont(e));if(this.isFontLoadingAPISupported){const t=e.createNativeFontFace();if(t){this.addNativeFontFace(t);try{let e=await t.loaded;document.fonts.add(e)}catch(i){throw console.log("load font face err",i),qe(`Failed to load font '${t.family}': '${i}'.`),e.disableFontFace=!0,i}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise(t=>{const i=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){var e;return Ve(this,"isFontLoadingAPISupported",!!(null==(e=this._document)?void 0:e.fonts))}get isSyncFontLoadingSupported(){let e=!1;return(Le||"undefined"!=typeof navigator&&"string"==typeof(null==navigator?void 0:navigator.userAgent)&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),Ve(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){const{loadingRequests:t}=this,i={done:!1,complete:function(){for(Ge(!i.done,"completeRequest() cannot be called twice."),i.done=!0;t.length>0&&t[0].done;){const e=t.shift();setTimeout(e.callback,0)}},callback:e};return t.push(i),i}get _loadTestFont(){return Ve(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(e,t){function i(e,t){return e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|255&e.charCodeAt(t+3)}function r(e,t,i,r){return e.substring(0,t)+r+e.substring(t+i)}let n,a;const s=this._document.createElement("canvas");s.width=1,s.height=1;const o=s.getContext("2d");let c=0;const l=`lt${Date.now()}${this.loadTestFontId++}`;let u=this._loadTestFont;u=r(u,976,l.length,l);const h=1482184792;let d=i(u,16);for(n=0,a=l.length-3;n<a;n+=4)d=d-h+i(l,n)|0;n<l.length&&(d=d-h+i(l+"XXX",n)|0),u=r(u,16,4,Qe(d));const p=`@font-face {font-family:"${l}";src:url(data:font/opentype;base64,${btoa(u)});}`;this.insertRule(p);const f=this._document.createElement("div");f.style.visibility="hidden",f.style.width=f.style.height="10px",f.style.position="absolute",f.style.top=f.style.left="0px";for(const g of[e.loadedName,l]){const e=this._document.createElement("span");e.textContent="Hi",e.style.fontFamily=g,f.append(e)}this._document.body.append(f),function e(t,i){if(++c>30)return qe("Load test font never loaded."),void i();o.font="30px "+t,o.fillText(".",0,20),o.getImageData(0,0,1,1).data[3]>0?i():setTimeout(e.bind(null,t,i))}(l,()=>{f.remove(),t.complete()})}}U=new WeakMap;class Mo{constructor(e,{isEvalSupported:t=!0,disableFontFace:i=!1,ignoreErrors:r=!1,inspectFont:n=null}){this.compiledGlyphs=Object.create(null);for(const a in e)this[a]=e[a];this.isEvalSupported=!1!==t,this.disableFontFace=!0===i,this.ignoreErrors=!0===r,this._inspectFont=n}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let t;if(this.cssFontInfo){const e={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(e.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,e)}else t=new FontFace(this.loadedName,this.data,{});return null==(e=this._inspectFont)||e.call(this,this),t}createFontFaceRule(){var e;if(!this.data||this.disableFontFace)return null;const t=Ze(this.data),i=`url(data:${this.mimetype};base64,${btoa(t)});`;let r;if(this.cssFontInfo){let e=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(e+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),r=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${e}src:${i}}`}else r=`@font-face {font-family:"${this.loadedName}";src:${i}}`;return null==(e=this._inspectFont)||e.call(this,this,i),r}getPathGenerator(e,t){if(void 0!==this.compiledGlyphs[t])return this.compiledGlyphs[t];let i;try{i=e.get(this.loadedName+"_path_"+t)}catch(r){if(!this.ignoreErrors)throw r;return qe(`getPathGenerator - ignoring character: "${r}".`),this.compiledGlyphs[t]=function(e,t){}}if(this.isEvalSupported&&Je.isEvalSupported){const e=[];for(const t of i){const i=void 0!==t.args?t.args.join(","):"";e.push("c.",t.cmd,"(",i,");\n")}return this.compiledGlyphs[t]=new Function("c","size",e.join(""))}return this.compiledGlyphs[t]=function(e,t){for(const r of i)"scale"===r.cmd&&(r.args=[t,-t]),e[r.cmd].apply(e,r.args)}}}class Ro extends ji{constructor(e,t){super(new Uint8Array(t),0,t,null),this.bytes=e,this.progressiveDataLength=t}ensureByte(e){if(!(e<this.progressiveDataLength))throw Xe("byte error","byte over length")}ensureRange(e,t){if(!(e>=t)&&!(t<=this.progressiveDataLength)&&t>this.progressiveDataLength)throw Xe("byte error","byte over length")}getByte(){const e=this.pos;return e>=this.end?-1:(e>=this.progressiveDataLength&&this.ensureByte(e),this.bytes[this.pos++])}getBytes(e){const t=this.bytes,i=this.pos,r=this.end;if(!e)return r>this.progressiveDataLength&&this.ensureRange(i,r),t.subarray(i,r);let n=i+e;return n>r&&(n=r),n>this.progressiveDataLength&&this.ensureRange(i,n),this.pos=n,t.subarray(i,n)}getBaseStreams(){return[this]}}function _o(e,t,i,r,n){return Math.pow(1-n,3)*e+3*Math.pow(1-n,2)*n*t+3*(1-n)*Math.pow(n,2)*i+Math.pow(n,3)*r}function Uo(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}Uo.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},Uo.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},Uo.prototype.addX=function(e){this.addPoint(e,null)},Uo.prototype.addY=function(e){this.addPoint(null,e)},Uo.prototype.addBezier=function(e,t,i,r,n,a,s,o){const c=[e,t],l=[i,r],u=[n,a],h=[s,o];this.addPoint(e,t),this.addPoint(s,o);for(let d=0;d<=1;d++){const e=6*c[d]-12*l[d]+6*u[d],t=-3*c[d]+9*l[d]-9*u[d]+3*h[d],i=3*l[d]-3*c[d];if(0===t){if(0===e)continue;const t=-i/e;0<t&&t<1&&(0===d&&this.addX(_o(c[d],l[d],u[d],h[d],t)),1===d&&this.addY(_o(c[d],l[d],u[d],h[d],t)));continue}const r=Math.pow(e,2)-4*i*t;if(r<0)continue;const n=(-e+Math.sqrt(r))/(2*t);0<n&&n<1&&(0===d&&this.addX(_o(c[d],l[d],u[d],h[d],n)),1===d&&this.addY(_o(c[d],l[d],u[d],h[d],n)));const a=(-e-Math.sqrt(r))/(2*t);0<a&&a<1&&(0===d&&this.addX(_o(c[d],l[d],u[d],h[d],a)),1===d&&this.addY(_o(c[d],l[d],u[d],h[d],a)))}},Uo.prototype.addQuad=function(e,t,i,r,n,a){const s=e+2/3*(i-e),o=t+2/3*(r-t),c=s+1/3*(n-e),l=o+1/3*(a-t);this.addBezier(e,t,s,o,c,l,n,a)};const Lo=Uo;function Ho(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}Ho.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},Ho.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},Ho.prototype.curveTo=Ho.prototype.bezierCurveTo=function(e,t,i,r,n,a){this.commands.push({type:"C",x1:e,y1:t,x2:i,y2:r,x:n,y:a})},Ho.prototype.quadTo=Ho.prototype.quadraticCurveTo=function(e,t,i,r){this.commands.push({type:"Q",x1:e,y1:t,x:i,y:r})},Ho.prototype.close=Ho.prototype.closePath=function(){this.commands.push({type:"Z"})},Ho.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof Lo){const t=e;return this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close()}Array.prototype.push.apply(this.commands,e)},Ho.prototype.getBoundingBox=function(){const e=new Lo;let t=0,i=0,r=0,n=0;for(let a=0;a<this.commands.length;a++){const s=this.commands[a];switch(s.type){case"M":e.addPoint(s.x,s.y),t=r=s.x,i=n=s.y;break;case"L":e.addPoint(s.x,s.y),r=s.x,n=s.y;break;case"Q":e.addQuad(r,n,s.x1,s.y1,s.x,s.y),r=s.x,n=s.y;break;case"C":e.addBezier(r,n,s.x1,s.y1,s.x2,s.y2,s.x,s.y),r=s.x,n=s.y;break;case"Z":r=t,n=i;break;default:throw new Error("Unexpected path command "+s.type)}}return e.isEmpty()&&e.addPoint(0,0),e},Ho.prototype.draw=function(e){e.beginPath();for(let t=0;t<this.commands.length;t+=1){const i=this.commands[t];"M"===i.type?e.moveTo(i.x,i.y):"L"===i.type?e.lineTo(i.x,i.y):"C"===i.type?e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y):"Q"===i.type?e.quadraticCurveTo(i.x1,i.y1,i.x,i.y):"Z"===i.type&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},Ho.prototype.toPathData=function(e){function t(t){return Math.round(t)===t?""+Math.round(t):t.toFixed(e)}function i(){let e="";for(let i=0;i<arguments.length;i+=1){const r=arguments[i];r>=0&&i>0&&(e+=" "),e+=t(r)}return e}e=void 0!==e?e:2;let r="";for(let n=0;n<this.commands.length;n+=1){const e=this.commands[n];"M"===e.type?r+="M"+i(e.x,e.y):"L"===e.type?r+="L"+i(e.x,e.y):"C"===e.type?r+="C"+i(e.x1,e.y1,e.x2,e.y2,e.x,e.y):"Q"===e.type?r+="Q"+i(e.x1,e.y1,e.x,e.y):"Z"===e.type&&(r+="Z")}return r},Ho.prototype.toSVG=function(e){let t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&"black"!==this.fill&&(null===this.fill?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>",t},Ho.prototype.toDOMElement=function(e){const t=this.toPathData(e),i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttribute("d",t),i};const jo=Ho;function qo(e){throw new Error(e)}function Ko(e,t){e||qo(t)}const Go={fail:qo,argument:Ko,assert:Ko},Vo=2147483648,zo={},Xo={},Wo={};function $o(e){return function(){return e}}Xo.BYTE=function(e){return Go.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},Wo.BYTE=$o(1),Xo.CHAR=function(e){return[e.charCodeAt(0)]},Wo.CHAR=$o(1),Xo.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));const t=[];for(let i=0;i<e.length;i+=1)t[i]=e.charCodeAt(i);return t},Wo.CHARARRAY=function(e){return void 0===e?0:e.length},Xo.USHORT=function(e){return[e>>8&255,255&e]},Wo.USHORT=$o(2),Xo.SHORT=function(e){return e>=32768&&(e=-(65536-e)),[e>>8&255,255&e]},Wo.SHORT=$o(2),Xo.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},Wo.UINT24=$o(3),Xo.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},Wo.ULONG=$o(4),Xo.LONG=function(e){return e>=Vo&&(e=-(2*Vo-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},Wo.LONG=$o(4),Xo.FIXED=Xo.ULONG,Wo.FIXED=Wo.ULONG,Xo.FWORD=Xo.SHORT,Wo.FWORD=Wo.SHORT,Xo.UFWORD=Xo.USHORT,Wo.UFWORD=Wo.USHORT,Xo.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},Wo.LONGDATETIME=$o(8),Xo.TAG=function(e){return Go.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},Wo.TAG=$o(4),Xo.Card8=Xo.BYTE,Wo.Card8=Wo.BYTE,Xo.Card16=Xo.USHORT,Wo.Card16=Wo.USHORT,Xo.OffSize=Xo.BYTE,Wo.OffSize=Wo.BYTE,Xo.SID=Xo.USHORT,Wo.SID=Wo.USHORT,Xo.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?Xo.NUMBER16(e):Xo.NUMBER32(e)},Wo.NUMBER=function(e){return Xo.NUMBER(e).length},Xo.NUMBER16=function(e){return[28,e>>8&255,255&e]},Wo.NUMBER16=$o(3),Xo.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},Wo.NUMBER32=$o(5),Xo.REAL=function(e){let t=e.toString();const i=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(i){const r=parseFloat("1e"+((i[2]?+i[2]:0)+i[1].length));t=(Math.round(e*r)/r).toString()}let r="";for(let a=0,s=t.length;a<s;a+=1){const e=t[a];r+="e"===e?"-"===t[++a]?"c":"b":"."===e?"a":"-"===e?"e":e}r+=1&r.length?"f":"ff";const n=[30];for(let a=0,s=r.length;a<s;a+=2)n.push(parseInt(r.substr(a,2),16));return n},Wo.REAL=function(e){return Xo.REAL(e).length},Xo.NAME=Xo.CHARARRAY,Wo.NAME=Wo.CHARARRAY,Xo.STRING=Xo.CHARARRAY,Wo.STRING=Wo.CHARARRAY,zo.UTF8=function(e,t,i){const r=[],n=i;for(let a=0;a<n;a++,t+=1)r[a]=e.getUint8(t);return String.fromCharCode.apply(null,r)},zo.UTF16=function(e,t,i){const r=[],n=i/2;for(let a=0;a<n;a++,t+=2)r[a]=e.getUint16(t);return String.fromCharCode.apply(null,r)},Xo.UTF16=function(e){const t=[];for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);t[t.length]=r>>8&255,t[t.length]=255&r}return t},Wo.UTF16=function(e){return 2*e.length};const Zo={"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":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæ�?¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛�?"};zo.MACSTRING=function(e,t,i,r){const n=Zo[r];if(void 0===n)return;let a="";for(let s=0;s<i;s++){const i=e.getUint8(t+s);a+=i<=127?String.fromCharCode(i):n[127&i]}return a};const Yo="function"==typeof WeakMap&&new WeakMap;let Qo;function Jo(e){return e>=-128&&e<=127}function ec(e,t,i){let r=0;const n=e.length;for(;t<n&&r<64&&0===e[t];)++t,++r;return i.push(128|r-1),t}function tc(e,t,i){let r=0;const n=e.length;let a=t;for(;a<n&&r<64;){const t=e[a];if(!Jo(t))break;if(0===t&&a+1<n&&0===e[a+1])break;++a,++r}i.push(r-1);for(let s=t;s<a;++s)i.push(e[s]+256&255);return a}function ic(e,t,i){let r=0;const n=e.length;let a=t;for(;a<n&&r<64;){const t=e[a];if(0===t)break;if(Jo(t)&&a+1<n&&Jo(e[a+1]))break;++a,++r}i.push(64|r-1);for(let s=t;s<a;++s){const t=e[s];i.push(t+65536>>8&255,t+256&255)}return a}Xo.MACSTRING=function(e,t){const i=function(e){if(!Qo){Qo={};for(let e in Zo)Qo[e]=new String(e)}const t=Qo[e];if(void 0===t)return;if(Yo){const e=Yo.get(t);if(void 0!==e)return e}const i=Zo[e];if(void 0===i)return;const r={};for(let n=0;n<i.length;n++)r[i.charCodeAt(n)]=n+128;return Yo&&Yo.set(t,r),r}(t);if(void 0===i)return;const r=[];for(let n=0;n<e.length;n++){let t=e.charCodeAt(n);if(t>=128&&(t=i[t],void 0===t))return;r[n]=t}return r},Wo.MACSTRING=function(e,t){const i=Xo.MACSTRING(e,t);return void 0!==i?i.length:0},Xo.VARDELTAS=function(e){let t=0;const i=[];for(;t<e.length;){const r=e[t];t=0===r?ec(e,t,i):r>=-128&&r<=127?tc(e,t,i):ic(e,t,i)}return i},Xo.INDEX=function(e){let t=1;const i=[t],r=[];for(let o=0;o<e.length;o+=1){const n=Xo.OBJECT(e[o]);Array.prototype.push.apply(r,n),t+=n.length,i.push(t)}if(0===r.length)return[0,0];const n=[],a=1+Math.floor(Math.log(t)/Math.log(2))/8|0,s=[void 0,Xo.BYTE,Xo.USHORT,Xo.UINT24,Xo.ULONG][a];for(let o=0;o<i.length;o+=1){const e=s(i[o]);Array.prototype.push.apply(n,e)}return Array.prototype.concat(Xo.Card16(e.length),Xo.OffSize(a),n,r)},Wo.INDEX=function(e){return Xo.INDEX(e).length},Xo.DICT=function(e){let t=[];const i=Object.keys(e),r=i.length;for(let n=0;n<r;n+=1){const r=parseInt(i[n],0),a=e[r];t=t.concat(Xo.OPERAND(a.value,a.type)),t=t.concat(Xo.OPERATOR(r))}return t},Wo.DICT=function(e){return Xo.DICT(e).length},Xo.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},Xo.OPERAND=function(e,t){let i=[];if(Array.isArray(t))for(let r=0;r<t.length;r+=1)Go.argument(e.length===t.length,"Not enough arguments given for type"+t),i=i.concat(Xo.OPERAND(e[r],t[r]));else if("SID"===t)i=i.concat(Xo.NUMBER(e));else if("offset"===t)i=i.concat(Xo.NUMBER32(e));else if("number"===t)i=i.concat(Xo.NUMBER(e));else{if("real"!==t)throw new Error("Unknown operand type "+t);i=i.concat(Xo.REAL(e))}return i},Xo.OP=Xo.BYTE,Wo.OP=Wo.BYTE;const rc="function"==typeof WeakMap&&new WeakMap;function nc(e,t,i){if(t.length&&("coverageFormat"!==t[0].name||1===t[0].value))for(let r=0;r<t.length;r+=1){const e=t[r];this[e.name]=e.value}if(this.tableName=e,this.fields=t,i){const e=Object.keys(i);for(let t=0;t<e.length;t+=1){const r=e[t],n=i[r];void 0!==this[r]&&(this[r]=n)}}}function ac(e,t,i){void 0===i&&(i=t.length);const r=new Array(t.length+1);r[0]={name:e+"Count",type:"USHORT",value:i};for(let n=0;n<t.length;n++)r[n+1]={name:e+n,type:"USHORT",value:t[n]};return r}function sc(e,t,i){const r=t.length,n=new Array(r+1);n[0]={name:e+"Count",type:"USHORT",value:r};for(let a=0;a<r;a++)n[a+1]={name:e+a,type:"TABLE",value:i(t[a],a)};return n}function oc(e,t,i){const r=t.length;let n=[];n[0]={name:e+"Count",type:"USHORT",value:r};for(let a=0;a<r;a++)n=n.concat(i(t[a],a));return n}function cc(e){1===e.format?nc.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(ac("glyph",e.glyphs))):2===e.format?nc.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(oc("rangeRecord",e.ranges,function(e){return[{name:"startGlyphID",type:"USHORT",value:e.start},{name:"endGlyphID",type:"USHORT",value:e.end},{name:"startCoverageIndex",type:"USHORT",value:e.index}]}))):Go.assert(!1,"Coverage format must be 1 or 2.")}function lc(e){nc.call(this,"scriptListTable",oc("scriptRecord",e,function(e,t){const i=e.script;let r=i.defaultLangSys;return Go.assert(!!r,"Unable to write GSUB: script "+e.tag+" has no default language system."),[{name:"scriptTag"+t,type:"TAG",value:e.tag},{name:"script"+t,type:"TABLE",value:new nc("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new nc("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:r.reqFeatureIndex}].concat(ac("featureIndex",r.featureIndexes)))}].concat(oc("langSys",i.langSysRecords,function(e,t){const i=e.langSys;return[{name:"langSysTag"+t,type:"TAG",value:e.tag},{name:"langSys"+t,type:"TABLE",value:new nc("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:i.reqFeatureIndex}].concat(ac("featureIndex",i.featureIndexes)))}]})))}]}))}function uc(e){nc.call(this,"featureListTable",oc("featureRecord",e,function(e,t){const i=e.feature;return[{name:"featureTag"+t,type:"TAG",value:e.tag},{name:"feature"+t,type:"TABLE",value:new nc("featureTable",[{name:"featureParams",type:"USHORT",value:i.featureParams}].concat(ac("lookupListIndex",i.lookupListIndexes)))}]}))}function hc(e,t){nc.call(this,"lookupListTable",sc("lookup",e,function(e){let i=t[e.lookupType];return Go.assert(!!i,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new nc("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(sc("subtable",e.subtables,i)))}))}Xo.CHARSTRING=function(e){if(rc){const t=rc.get(e);if(void 0!==t)return t}let t=[];const i=e.length;for(let r=0;r<i;r+=1){const i=e[r];t=t.concat(Xo[i.type](i.value))}return rc&&rc.set(e,t),t},Wo.CHARSTRING=function(e){return Xo.CHARSTRING(e).length},Xo.OBJECT=function(e){const t=Xo[e.type];return Go.argument(void 0!==t,"No encoding function for type "+e.type),t(e.value)},Wo.OBJECT=function(e){const t=Wo[e.type];return Go.argument(void 0!==t,"No sizeOf function for type "+e.type),t(e.value)},Xo.TABLE=function(e){let t=[];const i=e.fields.length,r=[],n=[];for(let a=0;a<i;a+=1){const i=e.fields[a],s=Xo[i.type];Go.argument(void 0!==s,"No encoding function for field type "+i.type+" ("+i.name+")");let o=e[i.name];void 0===o&&(o=i.value);const c=s(o);"TABLE"===i.type?(n.push(t.length),t=t.concat([0,0]),r.push(c)):t=t.concat(c)}for(let a=0;a<r.length;a+=1){const i=n[a],s=t.length;Go.argument(s<65536,"Table "+e.tableName+" too big."),t[i]=s>>8,t[i+1]=255&s,t=t.concat(r[a])}return t},Wo.TABLE=function(e){let t=0;const i=e.fields.length;for(let r=0;r<i;r+=1){const i=e.fields[r],n=Wo[i.type];Go.argument(void 0!==n,"No sizeOf function for field type "+i.type+" ("+i.name+")");let a=e[i.name];void 0===a&&(a=i.value),t+=n(a),"TABLE"===i.type&&(t+=2)}return t},Xo.RECORD=Xo.TABLE,Wo.RECORD=Wo.TABLE,Xo.LITERAL=function(e){return e},Wo.LITERAL=function(e){return e.length},nc.prototype.encode=function(){return Xo.TABLE(this)},nc.prototype.sizeOf=function(){return Wo.TABLE(this)},cc.prototype=Object.create(nc.prototype),cc.prototype.constructor=cc,lc.prototype=Object.create(nc.prototype),lc.prototype.constructor=lc,uc.prototype=Object.create(nc.prototype),uc.prototype.constructor=uc,hc.prototype=Object.create(nc.prototype),hc.prototype.constructor=hc;const dc={Table:nc,Record:nc,Coverage:cc,ScriptList:lc,FeatureList:uc,LookupList:hc,ushortList:ac,tableList:sc,recordList:oc};function pc(e,t){return e.getUint8(t)}function fc(e,t){return e.getUint16(t,!1)}function gc(e,t){return e.getUint32(t,!1)}function mc(e,t){return e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535}const bc={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function yc(e,t){this.data=e,this.offset=t,this.relativeOffset=0}yc.prototype.parseByte=function(){const e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},yc.prototype.parseChar=function(){const e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},yc.prototype.parseCard8=yc.prototype.parseByte,yc.prototype.parseUShort=function(){const e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},yc.prototype.parseCard16=yc.prototype.parseUShort,yc.prototype.parseSID=yc.prototype.parseUShort,yc.prototype.parseOffset16=yc.prototype.parseUShort,yc.prototype.parseShort=function(){const e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},yc.prototype.parseF2Dot14=function(){const e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},yc.prototype.parseULong=function(){const e=gc(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},yc.prototype.parseOffset32=yc.prototype.parseULong,yc.prototype.parseFixed=function(){const e=mc(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},yc.prototype.parseString=function(e){const t=this.data,i=this.offset+this.relativeOffset;let r="";this.relativeOffset+=e;for(let n=0;n<e;n++)r+=String.fromCharCode(t.getUint8(i+n));return r},yc.prototype.parseTag=function(){return this.parseString(4)},yc.prototype.parseLongDateTime=function(){let e=gc(this.data,this.offset+this.relativeOffset+4);return e-=2082844800,this.relativeOffset+=8,e},yc.prototype.parseVersion=function(e){const t=fc(this.data,this.offset+this.relativeOffset),i=fc(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===e&&(e=4096),t+i/e/10},yc.prototype.skip=function(e,t){void 0===t&&(t=1),this.relativeOffset+=bc[e]*t},yc.prototype.parseULongList=function(e){void 0===e&&(e=this.parseULong());const t=new Array(e),i=this.data;let r=this.offset+this.relativeOffset;for(let n=0;n<e;n++)t[n]=i.getUint32(r),r+=4;return this.relativeOffset+=4*e,t},yc.prototype.parseOffset16List=yc.prototype.parseUShortList=function(e){void 0===e&&(e=this.parseUShort());const t=new Array(e),i=this.data;let r=this.offset+this.relativeOffset;for(let n=0;n<e;n++)t[n]=i.getUint16(r),r+=2;return this.relativeOffset+=2*e,t},yc.prototype.parseShortList=function(e){const t=new Array(e),i=this.data;let r=this.offset+this.relativeOffset;for(let n=0;n<e;n++)t[n]=i.getInt16(r),r+=2;return this.relativeOffset+=2*e,t},yc.prototype.parseByteList=function(e){const t=new Array(e),i=this.data;let r=this.offset+this.relativeOffset;for(let n=0;n<e;n++)t[n]=i.getUint8(r++);return this.relativeOffset+=e,t},yc.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());const i=new Array(e);for(let r=0;r<e;r++)i[r]=t.call(this);return i},yc.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());const i=new Array(e);for(let r=0;r<e;r++)i[r]=t.call(this);return i},yc.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());const i=new Array(e),r=Object.keys(t);for(let n=0;n<e;n++){const e={};for(let i=0;i<r.length;i++){const n=r[i],a=t[n];e[n]=a.call(this)}i[n]=e}return i},yc.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());const i=new Array(e),r=Object.keys(t);for(let n=0;n<e;n++){const e={};for(let i=0;i<r.length;i++){const n=r[i],a=t[n];e[n]=a.call(this)}i[n]=e}return i},yc.prototype.parseStruct=function(e){if("function"==typeof e)return e.call(this);{const t=Object.keys(e),i={};for(let r=0;r<t.length;r++){const n=t[r],a=e[n];i[n]=a.call(this)}return i}},yc.prototype.parseValueRecord=function(e){if(void 0===e&&(e=this.parseUShort()),0===e)return;const t={};return 1&e&&(t.xPlacement=this.parseShort()),2&e&&(t.yPlacement=this.parseShort()),4&e&&(t.xAdvance=this.parseShort()),8&e&&(t.yAdvance=this.parseShort()),16&e&&(t.xPlaDevice=void 0,this.parseShort()),32&e&&(t.yPlaDevice=void 0,this.parseShort()),64&e&&(t.xAdvDevice=void 0,this.parseShort()),128&e&&(t.yAdvDevice=void 0,this.parseShort()),t},yc.prototype.parseValueRecordList=function(){const e=this.parseUShort(),t=this.parseUShort(),i=new Array(t);for(let r=0;r<t;r++)i[r]=this.parseValueRecord(e);return i},yc.prototype.parsePointer=function(e){const t=this.parseOffset16();if(t>0)return new yc(this.data,this.offset+t).parseStruct(e)},yc.prototype.parsePointer32=function(e){const t=this.parseOffset32();if(t>0)return new yc(this.data,this.offset+t).parseStruct(e)},yc.prototype.parseListOfLists=function(e){const t=this.parseOffset16List(),i=t.length,r=this.relativeOffset,n=new Array(i);for(let a=0;a<i;a++){const i=t[a];if(0!==i)if(this.relativeOffset=i,e){const t=this.parseOffset16List(),r=new Array(t.length);for(let n=0;n<t.length;n++)this.relativeOffset=i+t[n],r[n]=e.call(this);n[a]=r}else n[a]=this.parseUShortList();else n[a]=void 0}return this.relativeOffset=r,n},yc.prototype.parseCoverage=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort(),i=this.parseUShort();if(1===t)return{format:1,glyphs:this.parseUShortList(i)};if(2===t){const e=new Array(i);for(let t=0;t<i;t++)e[t]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:e}}throw new Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},yc.prototype.parseClassDef=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===t)return{format:2,ranges:this.parseRecordList({start:yc.uShort,end:yc.uShort,classId:yc.uShort})};throw new Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},yc.list=function(e,t){return function(){return this.parseList(e,t)}},yc.list32=function(e,t){return function(){return this.parseList32(e,t)}},yc.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},yc.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},yc.pointer=function(e){return function(){return this.parsePointer(e)}},yc.pointer32=function(e){return function(){return this.parsePointer32(e)}},yc.tag=yc.prototype.parseTag,yc.byte=yc.prototype.parseByte,yc.uShort=yc.offset16=yc.prototype.parseUShort,yc.uShortList=yc.prototype.parseUShortList,yc.uLong=yc.offset32=yc.prototype.parseULong,yc.uLongList=yc.prototype.parseULongList,yc.struct=yc.prototype.parseStruct,yc.coverage=yc.prototype.parseCoverage,yc.classDef=yc.prototype.parseClassDef;const vc={reserved:yc.uShort,reqFeatureIndex:yc.uShort,featureIndexes:yc.uShortList};yc.prototype.parseScriptList=function(){return this.parsePointer(yc.recordList({tag:yc.tag,script:yc.pointer({defaultLangSys:yc.pointer(vc),langSysRecords:yc.recordList({tag:yc.tag,langSys:yc.pointer(vc)})})}))||[]},yc.prototype.parseFeatureList=function(){return this.parsePointer(yc.recordList({tag:yc.tag,feature:yc.pointer({featureParams:yc.offset16,lookupListIndexes:yc.uShortList})}))||[]},yc.prototype.parseLookupList=function(e){return this.parsePointer(yc.list(yc.pointer(function(){const t=this.parseUShort();Go.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");const i=this.parseUShort(),r=16&i;return{lookupType:t,lookupFlag:i,subtables:this.parseList(yc.pointer(e[t])),markFilteringSet:r?this.parseUShort():void 0}})))||[]},yc.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){const e=this.parseUShort(),t=this.parseUShort();return Go.argument(1===e&&t<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:yc.offset32,featureTableSubstitutionOffset:yc.offset32})})||[]};const Sc={getByte:pc,getCard8:pc,getUShort:fc,getCard16:fc,getShort:function(e,t){return e.getInt16(t,!1)},getULong:gc,getFixed:mc,getTag:function(e,t){let i="";for(let r=t;r<t+4;r+=1)i+=String.fromCharCode(e.getInt8(r));return i},getOffset:function(e,t,i){let r=0;for(let n=0;n<i;n+=1)r<<=8,r+=e.getUint8(t+n);return r},getBytes:function(e,t,i){const r=[];for(let n=t;n<i;n+=1)r.push(e.getUint8(n));return r},bytesToString:function(e){let t="";for(let i=0;i<e.length;i+=1)t+=String.fromCharCode(e[i]);return t},Parser:yc};function Cc(e,t,i){e.segments.push({end:t,start:t,delta:-(t-i),offset:0,glyphIndex:i})}const xc={parse:function(e,t){const i={};i.version=Sc.getUShort(e,t),Go.argument(0===i.version,"cmap table version should be 0."),i.numTables=Sc.getUShort(e,t+2);let r=-1;for(let a=i.numTables-1;a>=0;a-=1){const i=Sc.getUShort(e,t+4+8*a),n=Sc.getUShort(e,t+4+8*a+2);if(3===i&&(0===n||1===n||10===n)||0===i&&(0===n||1===n||2===n||3===n||4===n)){r=Sc.getULong(e,t+4+8*a+4);break}}if(-1===r)throw new Error("No valid cmap sub-tables found.");const n=new Sc.Parser(e,t+r);if(i.format=n.parseUShort(),12===i.format)!function(e,t){let i;t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=i=t.parseULong(),e.glyphIndexMap={};for(let r=0;r<i;r+=1){const i=t.parseULong(),r=t.parseULong();let n=t.parseULong();for(let t=i;t<=r;t+=1)e.glyphIndexMap[t]=n,n++}}(i,n);else{if(4!==i.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+i.format+").");!function(e,t,i,r,n){let a;e.length=t.parseUShort(),e.language=t.parseUShort(),e.segCount=a=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};const s=new Sc.Parser(i,r+n+14),o=new Sc.Parser(i,r+n+16+2*a),c=new Sc.Parser(i,r+n+16+4*a),l=new Sc.Parser(i,r+n+16+6*a);let u=r+n+16+8*a;for(let h=0;h<a-1;h+=1){let t;const r=s.parseUShort(),n=o.parseUShort(),a=c.parseShort(),h=l.parseUShort();for(let s=n;s<=r;s+=1)0!==h?(u=l.offset+l.relativeOffset-2,u+=h,u+=2*(s-n),t=Sc.getUShort(i,u),0!==t&&(t=t+a&65535)):t=s+a&65535,e.glyphIndexMap[s]=t}}(i,n,e,t,r)}return i},make:function(e){let t,i=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),i=!1;break}let r=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:i?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:i?12:20}];i||(r=r.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),r=r.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}]);const n=new dc.Table("cmap",r);for(n.segments=[],t=0;t<e.length;t+=1){const i=e.get(t);for(let e=0;e<i.unicodes.length;e+=1)Cc(n,i.unicodes[e],t);n.segments=n.segments.sort(function(e,t){return e.start-t.start})}n.segments.push({end:65535,start:65535,delta:1,offset:0});const a=n.segments.length;let s=0,o=[],c=[],l=[],u=[],h=[],d=[];for(t=0;t<a;t+=1){const e=n.segments[t];e.end<=65535&&e.start<=65535?(o=o.concat({name:"end_"+t,type:"USHORT",value:e.end}),c=c.concat({name:"start_"+t,type:"USHORT",value:e.start}),l=l.concat({name:"idDelta_"+t,type:"SHORT",value:e.delta}),u=u.concat({name:"idRangeOffset_"+t,type:"USHORT",value:e.offset}),void 0!==e.glyphId&&(h=h.concat({name:"glyph_"+t,type:"USHORT",value:e.glyphId}))):s+=1,i||void 0===e.glyphIndex||(d=d.concat({name:"cmap12Start_"+t,type:"ULONG",value:e.start}),d=d.concat({name:"cmap12End_"+t,type:"ULONG",value:e.end}),d=d.concat({name:"cmap12Glyph_"+t,type:"ULONG",value:e.glyphIndex}))}if(n.segCountX2=2*(a-s),n.searchRange=2*Math.pow(2,Math.floor(Math.log(a-s)/Math.log(2))),n.entrySelector=Math.log(n.searchRange/2)/Math.log(2),n.rangeShift=n.segCountX2-n.searchRange,n.fields=n.fields.concat(o),n.fields.push({name:"reservedPad",type:"USHORT",value:0}),n.fields=n.fields.concat(c),n.fields=n.fields.concat(l),n.fields=n.fields.concat(u),n.fields=n.fields.concat(h),n.cmap4Length=14+2*o.length+2+2*c.length+2*l.length+2*u.length+2*h.length,!i){const e=16+4*d.length;n.cmap12Offset=20+n.cmap4Length,n.fields=n.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:e},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:d.length/3}]),n.fields=n.fields.concat(d)}return n}},wc=[".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"],Ac=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Ec=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],kc=[".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 Ic(e){this.font=e}function Tc(e){this.cmap=e}function Dc(e,t){this.encoding=e,this.charset=t}function Fc(e){switch(e.version){case 1:this.names=kc.slice();break;case 2:this.names=new Array(e.numberOfGlyphs);for(let t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<kc.length?this.names[t]=kc[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-kc.length];break;case 2.5:this.names=new Array(e.numberOfGlyphs);for(let t=0;t<e.numberOfGlyphs;t++)this.names[t]=kc[t+e.glyphNameIndex[t]];break;default:this.names=[]}}Ic.prototype.charToGlyphIndex=function(e){const t=e.codePointAt(0),i=this.font.glyphs;if(i)for(let r=0;r<i.length;r+=1){const e=i.get(r);for(let i=0;i<e.unicodes.length;i+=1)if(e.unicodes[i]===t)return r}return null},Tc.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0},Dc.prototype.charToGlyphIndex=function(e){const t=e.codePointAt(0),i=this.encoding[t];return this.charset.indexOf(i)},Fc.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},Fc.prototype.glyphIndexToName=function(e){return this.names[e]};const Pc=function(e,t,i,r,n){e.beginPath(),e.moveTo(t,i),e.lineTo(r,n),e.stroke()};function Bc(e){this.bindConstructorValues(e)}Bc.prototype.bindConstructorValues=function(e){this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||void 0!==e.unicode?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",function(e,t){let i=t||new jo;return{configurable:!0,get:function(){return"function"==typeof i&&(i=i()),i},set:function(e){i=e}}}(0,e.path))},Bc.prototype.addUnicode=function(e){0===this.unicodes.length&&(this.unicode=e),this.unicodes.push(e)},Bc.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Bc.prototype.getPath=function(e,t,i,r,n){let a,s;e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:72,r||(r={});let o=r.xScale,c=r.yScale;if(r.hinting&&n&&n.hinting&&(s=this.path&&n.hinting.exec(this,i)),s)a=n.hinting.getCommands(s),e=Math.round(e),t=Math.round(t),o=c=1;else{a=this.path.commands;const e=1/(this.path.unitsPerEm||1e3)*i;void 0===o&&(o=e),void 0===c&&(c=e)}const l=new jo;for(let u=0;u<a.length;u+=1){const i=a[u];"M"===i.type?l.moveTo(e+i.x*o,t+-i.y*c):"L"===i.type?l.lineTo(e+i.x*o,t+-i.y*c):"Q"===i.type?l.quadraticCurveTo(e+i.x1*o,t+-i.y1*c,e+i.x*o,t+-i.y*c):"C"===i.type?l.curveTo(e+i.x1*o,t+-i.y1*c,e+i.x2*o,t+-i.y2*c,e+i.x*o,t+-i.y*c):"Z"===i.type&&l.closePath()}return l},Bc.prototype.getContours=function(){if(void 0===this.points)return[];const e=[];let t=[];for(let i=0;i<this.points.length;i+=1){const r=this.points[i];t.push(r),r.lastPointOfContour&&(e.push(t),t=[])}return Go.argument(0===t.length,"There are still points left in the current contour."),e},Bc.prototype.getMetrics=function(){const e=this.path.commands,t=[],i=[];for(let n=0;n<e.length;n+=1){const r=e[n];"Z"!==r.type&&(t.push(r.x),i.push(r.y)),"Q"!==r.type&&"C"!==r.type||(t.push(r.x1),i.push(r.y1)),"C"===r.type&&(t.push(r.x2),i.push(r.y2))}const r={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,i),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,i),leftSideBearing:this.leftSideBearing};return isFinite(r.xMin)||(r.xMin=0),isFinite(r.xMax)||(r.xMax=this.advanceWidth),isFinite(r.yMin)||(r.yMin=0),isFinite(r.yMax)||(r.yMax=0),r.rightSideBearing=this.advanceWidth-r.leftSideBearing-(r.xMax-r.xMin),r},Bc.prototype.draw=function(e,t,i,r,n){this.getPath(t,i,r,n).draw(e)},Bc.prototype.drawPoints=function(e,t,i,r){function n(t,i,r,n){e.beginPath();for(let a=0;a<t.length;a+=1)e.moveTo(i+t[a].x*n,r+t[a].y*n),e.arc(i+t[a].x*n,r+t[a].y*n,2,0,2*Math.PI,!1);e.closePath(),e.fill()}t=void 0!==t?t:0,i=void 0!==i?i:0,r=void 0!==r?r:24;const a=1/this.path.unitsPerEm*r,s=[],o=[],c=this.path;for(let l=0;l<c.commands.length;l+=1){const e=c.commands[l];void 0!==e.x&&s.push({x:e.x,y:-e.y}),void 0!==e.x1&&o.push({x:e.x1,y:-e.y1}),void 0!==e.x2&&o.push({x:e.x2,y:-e.y2})}e.fillStyle="blue",n(s,t,i,a),e.fillStyle="red",n(o,t,i,a)},Bc.prototype.drawMetrics=function(e,t,i,r){let n;t=void 0!==t?t:0,i=void 0!==i?i:0,r=void 0!==r?r:24,n=1/this.path.unitsPerEm*r,e.lineWidth=1,e.strokeStyle="black",Pc(e,t,-1e4,t,1e4),Pc(e,-1e4,i,1e4,i);const a=this.xMin||0;let s=this.yMin||0;const o=this.xMax||0;let c=this.yMax||0;const l=this.advanceWidth||0;e.strokeStyle="blue",Pc(e,t+a*n,-1e4,t+a*n,1e4),Pc(e,t+o*n,-1e4,t+o*n,1e4),Pc(e,-1e4,i+-s*n,1e4,i+-s*n),Pc(e,-1e4,i+-c*n,1e4,i+-c*n),e.strokeStyle="green",Pc(e,t+l*n,-1e4,t+l*n,1e4)};const Oc=Bc;function Nc(e,t,i){Object.defineProperty(e,t,{get:function(){return e.path,e[i]},set:function(t){e[i]=t},enumerable:!0,configurable:!0})}function Mc(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(let i=0;i<t.length;i++){const r=t[i];r.path.unitsPerEm=e.unitsPerEm,this.glyphs[i]=r}this.length=t&&t.length||0}Mc.prototype.get=function(e){if(void 0===this.glyphs[e]){this.font._push(e),"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());let t=this.glyphs[e],i=this.font._IndexToUnicodeMap[e];if(i)for(let e=0;e<i.unicodes.length;e++)t.addUnicode(i.unicodes[e]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},Mc.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};const Rc={GlyphSet:Mc,glyphLoader:function(e,t){return new Oc({index:t,font:e})},ttfGlyphLoader:function(e,t,i,r,n,a){return function(){const s=new Oc({index:t,font:e});return s.path=function(){i(s,r,n);const t=a(e.glyphs,s);return t.unitsPerEm=e.unitsPerEm,t},Nc(s,"xMin","_xMin"),Nc(s,"xMax","_xMax"),Nc(s,"yMin","_yMin"),Nc(s,"yMax","_yMax"),s}},cffGlyphLoader:function(e,t,i,r){return function(){const n=new Oc({index:t,font:e});return n.path=function(){const t=i(e,n,r);return t.unitsPerEm=e.unitsPerEm,t},n}}};function _c(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i+=1)if(!_c(e[i],t[i]))return!1;return!0}return!1}function Uc(e){let t;return t=e.length<1240?107:e.length<33900?1131:32768,t}function Lc(e,t,i){const r=[],n=[],a=Sc.getCard16(e,t);let s,o;if(0!==a){const i=Sc.getByte(e,t+2);s=t+(a+1)*i+2;let n=t+3;for(let t=0;t<a+1;t+=1)r.push(Sc.getOffset(e,n,i)),n+=i;o=s+r[a]}else o=t+2;for(let c=0;c<r.length-1;c+=1){let t=Sc.getBytes(e,s+r[c],s+r[c+1]);i&&(t=i(t)),n.push(t)}return{objects:n,startOffset:t,endOffset:o}}function Hc(e,t){let i,r,n,a;if(28===t)return i=e.parseByte(),r=e.parseByte(),i<<8|r;if(29===t)return i=e.parseByte(),r=e.parseByte(),n=e.parseByte(),a=e.parseByte(),i<<24|r<<16|n<<8|a;if(30===t)return function(e){let t="";const i=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){const r=e.parseByte(),n=r>>4,a=15&r;if(15===n)break;if(t+=i[n],15===a)break;t+=i[a]}return parseFloat(t)}(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return i=e.parseByte(),256*(t-247)+i+108;if(t>=251&&t<=254)return i=e.parseByte(),256*-(t-251)-i-108;throw new Error("Invalid b0 "+t)}function jc(e,t,i){t=void 0!==t?t:0;const r=new Sc.Parser(e,t),n=[];let a=[];for(i=void 0!==i?i:e.length;r.relativeOffset<i;){let e=r.parseByte();e<=21?(12===e&&(e=1200+r.parseByte()),n.push([e,a]),a=[]):a.push(Hc(r,e))}return function(e){const t={};for(let i=0;i<e.length;i+=1){const r=e[i][0],n=e[i][1];let a;if(a=1===n.length?n[0]:n,t.hasOwnProperty(r)&&!isNaN(t[r]))throw new Error("Object "+t+" already has key "+r);t[r]=a}return t}(n)}function qc(e,t){return t<=390?wc[t]:e[t-391]}function Kc(e,t,i){const r={};let n;for(let a=0;a<t.length;a+=1){const s=t[a];if(Array.isArray(s.type)){const t=[];t.length=s.type.length;for(let r=0;r<s.type.length;r++)n=void 0!==e[s.op]?e[s.op][r]:void 0,void 0===n&&(n=void 0!==s.value&&void 0!==s.value[r]?s.value[r]:null),"SID"===s.type[r]&&(n=qc(i,n)),t[r]=n;r[s.name]=t}else n=e[s.op],void 0===n&&(n=void 0!==s.value?s.value:null),"SID"===s.type&&(n=qc(i,n)),r[s.name]=n}return r}const Gc=[{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"}],Vc=[{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 zc(e,t){return Kc(jc(e,0,e.byteLength),Gc,t)}function Xc(e,t,i,r){return Kc(jc(e,t,i),Vc,r)}function Wc(e,t,i,r){const n=[];for(let a=0;a<i.length;a+=1){const s=zc(new DataView(new Uint8Array(i[a]).buffer),r);s._subrs=[],s._subrsBias=0,s._defaultWidthX=0,s._nominalWidthX=0;const o=s.private[0],c=s.private[1];if(0!==o&&0!==c){const i=Xc(e,c+t,o,r);if(s._defaultWidthX=i.defaultWidthX,s._nominalWidthX=i.nominalWidthX,0!==i.subrs){const r=Lc(e,c+i.subrs+t);s._subrs=r.objects,s._subrsBias=Uc(s._subrs)}s._privateDict=i}n.push(s)}return n}function $c(e,t,i){let r,n,a,s;const o=new jo,c=[];let l,u,h,d,p=0,f=!1,g=!1,m=0,b=0;if(e.isCIDFont){const i=e.tables.cff.topDict._fdSelect[t.index],r=e.tables.cff.topDict._fdArray[i];l=r._subrs,u=r._subrsBias,h=r._defaultWidthX,d=r._nominalWidthX}else l=e.tables.cff.topDict._subrs,u=e.tables.cff.topDict._subrsBias,h=e.tables.cff.topDict._defaultWidthX,d=e.tables.cff.topDict._nominalWidthX;let y=h;function v(e,t){g&&o.closePath(),o.moveTo(e,t),g=!0}function S(){let e;e=c.length%2!=0,e&&!f&&(y=c.shift()+d),p+=c.length>>1,c.length=0,f=!0}return function i(h){let C,x,w,A,E,k,I,T,D,F,P,B,O=0;for(;O<h.length;){let N=h[O];switch(O+=1,N){case 1:case 3:case 18:case 23:S();break;case 4:c.length>1&&!f&&(y=c.shift()+d,f=!0),b+=c.pop(),v(m,b);break;case 5:for(;c.length>0;)m+=c.shift(),b+=c.shift(),o.lineTo(m,b);break;case 6:for(;c.length>0&&(m+=c.shift(),o.lineTo(m,b),0!==c.length);)b+=c.shift(),o.lineTo(m,b);break;case 7:for(;c.length>0&&(b+=c.shift(),o.lineTo(m,b),0!==c.length);)m+=c.shift(),o.lineTo(m,b);break;case 8:for(;c.length>0;)r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s+c.shift(),o.curveTo(r,n,a,s,m,b);break;case 10:E=c.pop()+u,k=l[E],k&&i(k);break;case 11:return;case 12:switch(N=h[O],O+=1,N){case 35:r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),I=a+c.shift(),T=s+c.shift(),D=I+c.shift(),F=T+c.shift(),P=D+c.shift(),B=F+c.shift(),m=P+c.shift(),b=B+c.shift(),c.shift(),o.curveTo(r,n,a,s,I,T),o.curveTo(D,F,P,B,m,b);break;case 34:r=m+c.shift(),n=b,a=r+c.shift(),s=n+c.shift(),I=a+c.shift(),T=s,D=I+c.shift(),F=s,P=D+c.shift(),B=b,m=P+c.shift(),o.curveTo(r,n,a,s,I,T),o.curveTo(D,F,P,B,m,b);break;case 36:r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),I=a+c.shift(),T=s,D=I+c.shift(),F=s,P=D+c.shift(),B=F+c.shift(),m=P+c.shift(),o.curveTo(r,n,a,s,I,T),o.curveTo(D,F,P,B,m,b);break;case 37:r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),I=a+c.shift(),T=s+c.shift(),D=I+c.shift(),F=T+c.shift(),P=D+c.shift(),B=F+c.shift(),Math.abs(P-m)>Math.abs(B-b)?m=P+c.shift():b=B+c.shift(),o.curveTo(r,n,a,s,I,T),o.curveTo(D,F,P,B,m,b);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+N),c.length=0}break;case 14:c.length>0&&!f&&(y=c.shift()+d,f=!0),g&&(o.closePath(),g=!1);break;case 19:case 20:S(),O+=p+7>>3;break;case 21:c.length>2&&!f&&(y=c.shift()+d,f=!0),b+=c.pop(),m+=c.pop(),v(m,b);break;case 22:c.length>1&&!f&&(y=c.shift()+d,f=!0),m+=c.pop(),v(m,b);break;case 24:for(;c.length>2;)r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s+c.shift(),o.curveTo(r,n,a,s,m,b);m+=c.shift(),b+=c.shift(),o.lineTo(m,b);break;case 25:for(;c.length>6;)m+=c.shift(),b+=c.shift(),o.lineTo(m,b);r=m+c.shift(),n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s+c.shift(),o.curveTo(r,n,a,s,m,b);break;case 26:for(c.length%2&&(m+=c.shift());c.length>0;)r=m,n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a,b=s+c.shift(),o.curveTo(r,n,a,s,m,b);break;case 27:for(c.length%2&&(b+=c.shift());c.length>0;)r=m+c.shift(),n=b,a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s,o.curveTo(r,n,a,s,m,b);break;case 28:C=h[O],x=h[O+1],c.push((C<<24|x<<16)>>16),O+=2;break;case 29:E=c.pop()+e.gsubrsBias,k=e.gsubrs[E],k&&i(k);break;case 30:for(;c.length>0&&(r=m,n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s+(1===c.length?c.shift():0),o.curveTo(r,n,a,s,m,b),0!==c.length);)r=m+c.shift(),n=b,a=r+c.shift(),s=n+c.shift(),b=s+c.shift(),m=a+(1===c.length?c.shift():0),o.curveTo(r,n,a,s,m,b);break;case 31:for(;c.length>0&&(r=m+c.shift(),n=b,a=r+c.shift(),s=n+c.shift(),b=s+c.shift(),m=a+(1===c.length?c.shift():0),o.curveTo(r,n,a,s,m,b),0!==c.length);)r=m,n=b+c.shift(),a=r+c.shift(),s=n+c.shift(),m=a+c.shift(),b=s+(1===c.length?c.shift():0),o.curveTo(r,n,a,s,m,b);break;default:N<32?console.log("Glyph "+t.index+": unknown operator "+N):N<247?c.push(N-139):N<251?(C=h[O],O+=1,c.push(256*(N-247)+C+108)):N<255?(C=h[O],O+=1,c.push(256*-(N-251)-C-108)):(C=h[O],x=h[O+1],w=h[O+2],A=h[O+3],O+=4,c.push((C<<24|x<<16|w<<8|A)/65536))}}}(i),t.advanceWidth=y,o}function Zc(e,t){let i,r=wc.indexOf(e);return r>=0&&(i=r),r=t.indexOf(e),r>=0?i=r+wc.length:(i=wc.length+t.length,t.push(e)),i}function Yc(e,t,i){const r={};for(let n=0;n<e.length;n+=1){const a=e[n];let s=t[a.name];void 0===s||_c(s,a.value)||("SID"===a.type&&(s=Zc(s,i)),r[a.op]={name:a.name,type:a.type,value:s})}return r}function Qc(e,t){const i=new dc.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return i.dict=Yc(Gc,e,t),i}function Jc(e){const t=new dc.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}function el(e){const t=[],i=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});let r=0,n=0;for(let a=0;a<i.commands.length;a+=1){let e,s,o=i.commands[a];if("Q"===o.type){const e=1/3,t=2/3;o={type:"C",x:o.x,y:o.y,x1:Math.round(e*r+t*o.x1),y1:Math.round(e*n+t*o.y1),x2:Math.round(e*o.x+t*o.x1),y2:Math.round(e*o.y+t*o.y1)}}if("M"===o.type)e=Math.round(o.x-r),s=Math.round(o.y-n),t.push({name:"dx",type:"NUMBER",value:e}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rmoveto",type:"OP",value:21}),r=Math.round(o.x),n=Math.round(o.y);else if("L"===o.type)e=Math.round(o.x-r),s=Math.round(o.y-n),t.push({name:"dx",type:"NUMBER",value:e}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rlineto",type:"OP",value:5}),r=Math.round(o.x),n=Math.round(o.y);else if("C"===o.type){const i=Math.round(o.x1-r),a=Math.round(o.y1-n),c=Math.round(o.x2-o.x1),l=Math.round(o.y2-o.y1);e=Math.round(o.x-o.x2),s=Math.round(o.y-o.y2),t.push({name:"dx1",type:"NUMBER",value:i}),t.push({name:"dy1",type:"NUMBER",value:a}),t.push({name:"dx2",type:"NUMBER",value:c}),t.push({name:"dy2",type:"NUMBER",value:l}),t.push({name:"dx",type:"NUMBER",value:e}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rrcurveto",type:"OP",value:8}),r=Math.round(o.x),n=Math.round(o.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}const tl={parse:function(e,t,i,r){i.tables.cff={};const n=function(e,t){const i={};return i.formatMajor=Sc.getCard8(e,t),i.formatMinor=Sc.getCard8(e,t+1),i.size=Sc.getCard8(e,t+2),i.offsetSize=Sc.getCard8(e,t+3),i.startOffset=t,i.endOffset=t+4,i}(e,t),a=Lc(e,n.endOffset,Sc.bytesToString),s=Lc(e,a.endOffset),o=Lc(e,s.endOffset,Sc.bytesToString),c=Lc(e,o.endOffset);i.gsubrs=c.objects,i.gsubrsBias=Uc(i.gsubrs);const l=Wc(e,t,s.objects,o.objects);if(1!==l.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);const u=l[0];if(i.tables.cff.topDict=u,u._privateDict&&(i.defaultWidthX=u._privateDict.defaultWidthX,i.nominalWidthX=u._privateDict.nominalWidthX),void 0!==u.ros[0]&&void 0!==u.ros[1]&&(i.isCIDFont=!0),i.isCIDFont){let r=u.fdArray,n=u.fdSelect;if(0===r||0===n)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");r+=t;const a=Lc(e,r),s=Wc(e,t,a.objects,o.objects);u._fdArray=s,n+=t,u._fdSelect=function(e,t,i,r){const n=[];let a;const s=new Sc.Parser(e,t),o=s.parseCard8();if(0===o)for(let c=0;c<i;c++){if(a=s.parseCard8(),a>=r)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+r+")");n.push(a)}else{if(3!==o)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+o);{const e=s.parseCard16();let t,o=s.parseCard16();if(0!==o)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+o);for(let c=0;c<e;c++){if(a=s.parseCard8(),t=s.parseCard16(),a>=r)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+r+")");if(t>i)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+t);for(;o<t;o++)n.push(a);o=t}if(t!==i)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+t)}}return n}(e,n,i.numGlyphs,s.length)}const h=t+u.private[1],d=Xc(e,h,u.private[0],o.objects);if(i.defaultWidthX=d.defaultWidthX,i.nominalWidthX=d.nominalWidthX,0!==d.subrs){const t=h+d.subrs,r=Lc(e,t);i.subrs=r.objects,i.subrsBias=Uc(i.subrs)}else i.subrs=[],i.subrsBias=0;let p;r.lowMemory?(p=function(e,t){const i=[],r=Sc.getCard16(e,t);let n,a;if(0!==r){const s=Sc.getByte(e,t+2);n=t+(r+1)*s+2;let o=t+3;for(let t=0;t<r+1;t+=1)i.push(Sc.getOffset(e,o,s)),o+=s;a=n+i[r]}else a=t+2;return{offsets:i,startOffset:t,endOffset:a}}(e,t+u.charStrings),i.nGlyphs=p.offsets.length):(p=Lc(e,t+u.charStrings),i.nGlyphs=p.objects.length);const f=function(e,t,i,r){let n,a;const s=new Sc.Parser(e,t);i-=1;const o=[".notdef"],c=s.parseCard8();if(0===c)for(let l=0;l<i;l+=1)n=s.parseSID(),o.push(qc(r,n));else if(1===c)for(;o.length<=i;){n=s.parseSID(),a=s.parseCard8();for(let e=0;e<=a;e+=1)o.push(qc(r,n)),n+=1}else{if(2!==c)throw new Error("Unknown charset format "+c);for(;o.length<=i;){n=s.parseSID(),a=s.parseCard16();for(let e=0;e<=a;e+=1)o.push(qc(r,n)),n+=1}}return o}(e,t+u.charset,i.nGlyphs,o.objects);if(0===u.encoding?i.cffEncoding=new Dc(Ac,f):1===u.encoding?i.cffEncoding=new Dc(Ec,f):i.cffEncoding=function(e,t,i){let r;const n={},a=new Sc.Parser(e,t),s=a.parseCard8();if(0===s){const e=a.parseCard8();for(let t=0;t<e;t+=1)r=a.parseCard8(),n[r]=t}else{if(1!==s)throw new Error("Unknown encoding format "+s);{const e=a.parseCard8();r=1;for(let t=0;t<e;t+=1){const e=a.parseCard8(),t=a.parseCard8();for(let i=e;i<=e+t;i+=1)n[i]=r,r+=1}}}return new Dc(n,i)}(e,t+u.encoding,f),i.encoding=i.encoding||i.cffEncoding,i.glyphs=new Rc.GlyphSet(i),r.lowMemory)i._push=function(r){const n=function(e,t,i,r){const n=Sc.getCard16(i,r);let a=0;return 0!==n&&(a=r+(n+1)*Sc.getByte(i,r+2)+2),Sc.getBytes(i,a+t[e],a+t[e+1])}(r,p.offsets,e,t+u.charStrings);i.glyphs.push(r,Rc.cffGlyphLoader(i,r,$c,n))};else for(let g=0;g<i.nGlyphs;g+=1){const e=p.objects[g];i.glyphs.push(g,Rc.cffGlyphLoader(i,g,$c,e))}},make:function(e,t){const i=new dc.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"}]),r=1/t.unitsPerEm,n={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[r,0,0,r,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},a=[];let s;for(let u=1;u<e.length;u+=1)s=e.get(u),a.push(s.name);const o=[];i.header=new dc.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}]),i.nameIndex=function(e){const t=new dc.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(let i=0;i<e.length;i+=1)t.names.push({name:"name_"+i,type:"NAME",value:e[i]});return t}([t.postScriptName]);let c=Qc(n,o);i.topDictIndex=Jc(c),i.globalSubrIndex=new dc.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}]),i.charsets=function(e,t){const i=new dc.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let r=0;r<e.length;r+=1){const n=Zc(e[r],t);i.fields.push({name:"glyph_"+r,type:"SID",value:n})}return i}(a,o),i.charStringsIndex=function(e){const t=new dc.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let i=0;i<e.length;i+=1){const r=e.get(i),n=el(r);t.charStrings.push({name:r.name,type:"CHARSTRING",value:n})}return t}(e),i.privateDict=function(e,t){const i=new dc.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return i.dict=Yc(Vc,{},t),i}(0,o),i.stringIndex=function(e){const t=new dc.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(let i=0;i<e.length;i+=1)t.strings.push({name:"string_"+i,type:"STRING",value:e[i]});return t}(o);const l=i.header.sizeOf()+i.nameIndex.sizeOf()+i.topDictIndex.sizeOf()+i.stringIndex.sizeOf()+i.globalSubrIndex.sizeOf();return n.charset=l,n.encoding=0,n.charStrings=n.charset+i.charsets.sizeOf(),n.private[1]=n.charStrings+i.charStringsIndex.sizeOf(),c=Qc(n,o),i.topDictIndex=Jc(c),i}},il={parse:function(e,t){const i={},r=new Sc.Parser(e,t);return i.version=r.parseVersion(),i.fontRevision=Math.round(1e3*r.parseFixed())/1e3,i.checkSumAdjustment=r.parseULong(),i.magicNumber=r.parseULong(),Go.argument(1594834165===i.magicNumber,"Font header has wrong magic number."),i.flags=r.parseUShort(),i.unitsPerEm=r.parseUShort(),i.created=r.parseLongDateTime(),i.modified=r.parseLongDateTime(),i.xMin=r.parseShort(),i.yMin=r.parseShort(),i.xMax=r.parseShort(),i.yMax=r.parseShort(),i.macStyle=r.parseUShort(),i.lowestRecPPEM=r.parseUShort(),i.fontDirectionHint=r.parseShort(),i.indexToLocFormat=r.parseShort(),i.glyphDataFormat=r.parseShort(),i},make:function(e){const t=Math.round((new Date).getTime()/1e3)+2082844800;let i=t;return e.createdTimestamp&&(i=e.createdTimestamp+2082844800),new dc.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:i},{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}],e)}},rl={parse:function(e,t){const i={},r=new Sc.Parser(e,t);return i.version=r.parseVersion(),i.ascender=r.parseShort(),i.descender=r.parseShort(),i.lineGap=r.parseShort(),i.advanceWidthMax=r.parseUShort(),i.minLeftSideBearing=r.parseShort(),i.minRightSideBearing=r.parseShort(),i.xMaxExtent=r.parseShort(),i.caretSlopeRise=r.parseShort(),i.caretSlopeRun=r.parseShort(),i.caretOffset=r.parseShort(),r.relativeOffset+=8,i.metricDataFormat=r.parseShort(),i.numberOfHMetrics=r.parseUShort(),i},make:function(e){return new dc.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}],e)}},nl={parse:function(e,t,i,r,n,a,s){s.lowMemory?function(e,t,i,r,n){let a,s;e._hmtxTableData={};const o=new Sc.Parser(t,i);for(let c=0;c<n;c+=1)c<r&&(a=o.parseUShort(),s=o.parseShort()),e._hmtxTableData[c]={advanceWidth:a,leftSideBearing:s}}(e,t,i,r,n):function(e,t,i,r,n){let a,s;const o=new Sc.Parser(e,t);for(let c=0;c<r;c+=1){c<i&&(a=o.parseUShort(),s=o.parseShort());const e=n.get(c);e.advanceWidth=a,e.leftSideBearing=s}}(t,i,r,n,a)},make:function(e){const t=new dc.Table("hmtx",[]);for(let i=0;i<e.length;i+=1){const r=e.get(i),n=r.advanceWidth||0,a=r.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+i,type:"USHORT",value:n}),t.fields.push({name:"leftSideBearing_"+i,type:"SHORT",value:a})}return t}},al={make:function(e){const t=new dc.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]);let i="";const r=12+4*e.length;for(let n=0;n<e.length;++n){let a=i.indexOf(e[n]);a<0&&(a=i.length,i+=e[n]),t.fields.push({name:"offset "+n,type:"USHORT",value:r+a}),t.fields.push({name:"length "+n,type:"USHORT",value:e[n].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:i}),t},parse:function(e,t){const i=new Sc.Parser(e,t),r=i.parseULong();Go.argument(1===r,"Unsupported ltag table version."),i.skip("uLong",1);const n=i.parseULong(),a=[];for(let s=0;s<n;s++){let r="";const n=t+i.parseUShort(),s=i.parseUShort();for(let t=n;t<n+s;++t)r+=String.fromCharCode(e.getInt8(t));a.push(r)}return a}},sl={parse:function(e,t){const i={},r=new Sc.Parser(e,t);return i.version=r.parseVersion(),i.numGlyphs=r.parseUShort(),1===i.version&&(i.maxPoints=r.parseUShort(),i.maxContours=r.parseUShort(),i.maxCompositePoints=r.parseUShort(),i.maxCompositeContours=r.parseUShort(),i.maxZones=r.parseUShort(),i.maxTwilightPoints=r.parseUShort(),i.maxStorage=r.parseUShort(),i.maxFunctionDefs=r.parseUShort(),i.maxInstructionDefs=r.parseUShort(),i.maxStackElements=r.parseUShort(),i.maxSizeOfInstructions=r.parseUShort(),i.maxComponentElements=r.parseUShort(),i.maxComponentDepth=r.parseUShort()),i},make:function(e){return new dc.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}},ol=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],cl={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"},ll={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},ul={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 hl(e,t,i){switch(e){case 0:if(65535===t)return"und";if(i)return i[t];break;case 1:return cl[t];case 3:return ul[t]}}const dl="utf-16",pl={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"},fl={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 gl(e,t,i){switch(e){case 0:return dl;case 1:return fl[i]||pl[t];case 3:if(1===t||10===t)return dl}}function ml(e){const t={};for(let i in e)t[e[i]]=parseInt(i);return t}function bl(e,t,i,r,n,a){return new dc.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:i},{name:"nameID",type:"USHORT",value:r},{name:"length",type:"USHORT",value:n},{name:"offset",type:"USHORT",value:a}])}function yl(e,t){let i=function(e,t){const i=e.length,r=t.length-i+1;e:for(let n=0;n<r;n++)for(;n<r;n++){for(let r=0;r<i;r++)if(t[n+r]!==e[r])continue e;return n}return-1}(e,t);if(i<0){i=t.length;let r=0;const n=e.length;for(;r<n;++r)t.push(e[r])}return i}const vl={parse:function(e,t,i){const r={},n=new Sc.Parser(e,t),a=n.parseUShort(),s=n.parseUShort(),o=n.offset+n.parseUShort();for(let c=0;c<s;c++){const t=n.parseUShort(),a=n.parseUShort(),s=n.parseUShort(),c=n.parseUShort(),l=ol[c]||c,u=n.parseUShort(),h=n.parseUShort(),d=hl(t,s,i),p=gl(t,a,s);if(void 0!==p&&void 0!==d){let t;if(t=p===dl?zo.UTF16(e,o+h,u):zo.MACSTRING(e,o+h,u,p),t){let e=r[l];void 0===e&&(e=r[l]={}),e[d]=t}}}return 1===a&&n.parseUShort(),r},make:function(e,t){let i;const r=[],n={},a=ml(ol);for(let h in e){let t=a[h];if(void 0===t&&(t=h),i=parseInt(t),isNaN(i))throw new Error('Name table entry "'+h+'" does not exist, see nameTableNames for complete list.');n[i]=e[h],r.push(i)}const s=ml(cl),o=ml(ul),c=[],l=[];for(let h=0;h<r.length;h++){i=r[h];const e=n[i];for(let r in e){const n=e[r];let a=1,u=s[r],h=ll[u];const d=gl(a,h,u);let p=Xo.MACSTRING(n,d);void 0===p&&(a=0,u=t.indexOf(r),u<0&&(u=t.length,t.push(r)),h=4,p=Xo.UTF16(n));const f=yl(p,l);c.push(bl(a,h,u,i,p.length,f));const g=o[r];if(void 0!==g){const e=Xo.UTF16(n),t=yl(e,l);c.push(bl(3,1,g,i,e.length,t))}}}c.sort(function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID});const u=new dc.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:c.length},{name:"stringOffset",type:"USHORT",value:6+12*c.length}]);for(let h=0;h<c.length;h++)u.fields.push({name:"record_"+h,type:"RECORD",value:c[h]});return u.fields.push({name:"strings",type:"LITERAL",value:l}),u}},Sl=[{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}],Cl={parse:function(e,t){const i={},r=new Sc.Parser(e,t);i.version=r.parseUShort(),i.xAvgCharWidth=r.parseShort(),i.usWeightClass=r.parseUShort(),i.usWidthClass=r.parseUShort(),i.fsType=r.parseUShort(),i.ySubscriptXSize=r.parseShort(),i.ySubscriptYSize=r.parseShort(),i.ySubscriptXOffset=r.parseShort(),i.ySubscriptYOffset=r.parseShort(),i.ySuperscriptXSize=r.parseShort(),i.ySuperscriptYSize=r.parseShort(),i.ySuperscriptXOffset=r.parseShort(),i.ySuperscriptYOffset=r.parseShort(),i.yStrikeoutSize=r.parseShort(),i.yStrikeoutPosition=r.parseShort(),i.sFamilyClass=r.parseShort(),i.panose=[];for(let n=0;n<10;n++)i.panose[n]=r.parseByte();return i.ulUnicodeRange1=r.parseULong(),i.ulUnicodeRange2=r.parseULong(),i.ulUnicodeRange3=r.parseULong(),i.ulUnicodeRange4=r.parseULong(),i.achVendID=String.fromCharCode(r.parseByte(),r.parseByte(),r.parseByte(),r.parseByte()),i.fsSelection=r.parseUShort(),i.usFirstCharIndex=r.parseUShort(),i.usLastCharIndex=r.parseUShort(),i.sTypoAscender=r.parseShort(),i.sTypoDescender=r.parseShort(),i.sTypoLineGap=r.parseShort(),i.usWinAscent=r.parseUShort(),i.usWinDescent=r.parseUShort(),i.version>=1&&(i.ulCodePageRange1=r.parseULong(),i.ulCodePageRange2=r.parseULong()),i.version>=2&&(i.sxHeight=r.parseShort(),i.sCapHeight=r.parseShort(),i.usDefaultChar=r.parseUShort(),i.usBreakChar=r.parseUShort(),i.usMaxContent=r.parseUShort()),i},make:function(e){return new dc.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)},unicodeRanges:Sl,getUnicodeRange:function(e){for(let t=0;t<Sl.length;t+=1){const i=Sl[t];if(e>=i.begin&&e<i.end)return t}return-1}},xl={parse:function(e,t){const i={},r=new Sc.Parser(e,t);switch(i.version=r.parseVersion(),i.italicAngle=r.parseFixed(),i.underlinePosition=r.parseShort(),i.underlineThickness=r.parseShort(),i.isFixedPitch=r.parseULong(),i.minMemType42=r.parseULong(),i.maxMemType42=r.parseULong(),i.minMemType1=r.parseULong(),i.maxMemType1=r.parseULong(),i.version){case 1:i.names=kc.slice();break;case 2:i.numberOfGlyphs=r.parseUShort(),i.glyphNameIndex=new Array(i.numberOfGlyphs);for(let e=0;e<i.numberOfGlyphs;e++)i.glyphNameIndex[e]=r.parseUShort();i.names=[];for(let e=0;e<i.numberOfGlyphs;e++)if(i.glyphNameIndex[e]>=kc.length){const e=r.parseChar();i.names.push(r.parseString(e))}break;case 2.5:i.numberOfGlyphs=r.parseUShort(),i.offset=new Array(i.numberOfGlyphs);for(let e=0;e<i.numberOfGlyphs;e++)i.offset[e]=r.parseChar()}return i},make:function(){return new dc.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}])}},wl=new Array(9);wl[1]=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(yc.coverage),deltaGlyphId:this.parseUShort()}:2===t?{substFormat:2,coverage:this.parsePointer(yc.coverage),substitute:this.parseOffset16List()}:void Go.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},wl[2]=function(){const e=this.parseUShort();return Go.argument(1===e,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(yc.coverage),sequences:this.parseListOfLists()}},wl[3]=function(){const e=this.parseUShort();return Go.argument(1===e,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(yc.coverage),alternateSets:this.parseListOfLists()}},wl[4]=function(){const e=this.parseUShort();return Go.argument(1===e,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(yc.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};const Al={sequenceIndex:yc.uShort,lookupListIndex:yc.uShort};wl[5]=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{substFormat:t,coverage:this.parsePointer(yc.coverage),ruleSets:this.parseListOfLists(function(){const e=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,Al)}})};if(2===t)return{substFormat:t,coverage:this.parsePointer(yc.coverage),classDef:this.parsePointer(yc.classDef),classSets:this.parseListOfLists(function(){const e=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,Al)}})};if(3===t){const e=this.parseUShort(),i=this.parseUShort();return{substFormat:t,coverages:this.parseList(e,yc.pointer(yc.coverage)),lookupRecords:this.parseRecordList(i,Al)}}Go.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},wl[6]=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(yc.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Al)}})}:2===t?{substFormat:2,coverage:this.parsePointer(yc.coverage),backtrackClassDef:this.parsePointer(yc.classDef),inputClassDef:this.parsePointer(yc.classDef),lookaheadClassDef:this.parsePointer(yc.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Al)}})}:3===t?{substFormat:3,backtrackCoverage:this.parseList(yc.pointer(yc.coverage)),inputCoverage:this.parseList(yc.pointer(yc.coverage)),lookaheadCoverage:this.parseList(yc.pointer(yc.coverage)),lookupRecords:this.parseRecordList(Al)}:void Go.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},wl[7]=function(){const e=this.parseUShort();Go.argument(1===e,"GSUB Extension Substitution subtable identifier-format must be 1");const t=this.parseUShort(),i=new yc(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:wl[t].call(i)}},wl[8]=function(){const e=this.parseUShort();return Go.argument(1===e,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(yc.coverage),backtrackCoverage:this.parseList(yc.pointer(yc.coverage)),lookaheadCoverage:this.parseList(yc.pointer(yc.coverage)),substitutes:this.parseUShortList()}};const El=new Array(9);El[1]=function(e){return 1===e.substFormat?new dc.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new dc.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)}].concat(dc.ushortList("substitute",e.substitute)))},El[2]=function(e){return Go.assert(1===e.substFormat,"Lookup type 2 substFormat must be 1."),new dc.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)}].concat(dc.tableList("seqSet",e.sequences,function(e){return new dc.Table("sequenceSetTable",dc.ushortList("sequence",e))})))},El[3]=function(e){return Go.assert(1===e.substFormat,"Lookup type 3 substFormat must be 1."),new dc.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)}].concat(dc.tableList("altSet",e.alternateSets,function(e){return new dc.Table("alternateSetTable",dc.ushortList("alternate",e))})))},El[4]=function(e){return Go.assert(1===e.substFormat,"Lookup type 4 substFormat must be 1."),new dc.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)}].concat(dc.tableList("ligSet",e.ligatureSets,function(e){return new dc.Table("ligatureSetTable",dc.tableList("ligature",e,function(e){return new dc.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(dc.ushortList("component",e.components,e.components.length+1)))}))})))},El[6]=function(e){if(1===e.substFormat)return new dc.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:e.substFormat},{name:"coverage",type:"TABLE",value:new dc.Coverage(e.coverage)}].concat(dc.tableList("chainRuleSet",e.chainRuleSets,function(e){return new dc.Table("chainRuleSetTable",dc.tableList("chainRule",e,function(e){let t=dc.ushortList("backtrackGlyph",e.backtrack,e.backtrack.length).concat(dc.ushortList("inputGlyph",e.input,e.input.length+1)).concat(dc.ushortList("lookaheadGlyph",e.lookahead,e.lookahead.length)).concat(dc.ushortList("substitution",[],e.lookupRecords.length));return e.lookupRecords.forEach((e,i)=>{t=t.concat({name:"sequenceIndex"+i,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+i,type:"USHORT",value:e.lookupListIndex})}),new dc.Table("chainRuleTable",t)}))})));if(2===e.substFormat)Go.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===e.substFormat){let t=[{name:"substFormat",type:"USHORT",value:e.substFormat}];return t.push({name:"backtrackGlyphCount",type:"USHORT",value:e.backtrackCoverage.length}),e.backtrackCoverage.forEach((e,i)=>{t.push({name:"backtrackCoverage"+i,type:"TABLE",value:new dc.Coverage(e)})}),t.push({name:"inputGlyphCount",type:"USHORT",value:e.inputCoverage.length}),e.inputCoverage.forEach((e,i)=>{t.push({name:"inputCoverage"+i,type:"TABLE",value:new dc.Coverage(e)})}),t.push({name:"lookaheadGlyphCount",type:"USHORT",value:e.lookaheadCoverage.length}),e.lookaheadCoverage.forEach((e,i)=>{t.push({name:"lookaheadCoverage"+i,type:"TABLE",value:new dc.Coverage(e)})}),t.push({name:"substitutionCount",type:"USHORT",value:e.lookupRecords.length}),e.lookupRecords.forEach((e,i)=>{t=t.concat({name:"sequenceIndex"+i,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+i,type:"USHORT",value:e.lookupListIndex})}),new dc.Table("chainContextTable",t)}Go.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};const kl={parse:function(e,t){const i=new yc(e,t=t||0),r=i.parseVersion(1);return Go.argument(1===r||1.1===r,"Unsupported GSUB table version."),1===r?{version:r,scripts:i.parseScriptList(),features:i.parseFeatureList(),lookups:i.parseLookupList(wl)}:{version:r,scripts:i.parseScriptList(),features:i.parseFeatureList(),lookups:i.parseLookupList(wl),variations:i.parseFeatureVariationsList()}},make:function(e){return new dc.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new dc.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new dc.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new dc.LookupList(e.lookups,El)}])}},Il={parse:function(e,t){const i=new Sc.Parser(e,t),r=i.parseULong();Go.argument(1===r,"Unsupported META table version."),i.parseULong(),i.parseULong();const n=i.parseULong(),a={};for(let s=0;s<n;s++){const r=i.parseTag(),n=i.parseULong(),s=i.parseULong(),o=zo.UTF8(e,t+n,s);a[r]=o}return a},make:function(e){const t=Object.keys(e).length;let i="";const r=16+12*t,n=new dc.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:r},{name:"numTags",type:"ULONG",value:t}]);for(let a in e){const t=i.length;i+=e[a],n.fields.push({name:"tag "+a,type:"TAG",value:a}),n.fields.push({name:"offset "+a,type:"ULONG",value:r+t}),n.fields.push({name:"length "+a,type:"ULONG",value:e[a].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:i}),n}};function Tl(e){return Math.log(e)/Math.log(2)|0}function Dl(e){for(;e.length%4!=0;)e.push(0);let t=0;for(let i=0;i<e.length;i+=4)t+=(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3];return t%=Math.pow(2,32),t}function Fl(e,t,i,r){return new dc.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==e?e:""},{name:"checkSum",type:"ULONG",value:void 0!==t?t:0},{name:"offset",type:"ULONG",value:void 0!==i?i:0},{name:"length",type:"ULONG",value:void 0!==r?r:0}])}function Pl(e,t,i){for(let r=0;r<t.length;r+=1){const i=e.charToGlyphIndex(t[r]);if(i>0)return e.glyphs.get(i).getMetrics()}return i}function Bl(e){let t=0;for(let i=0;i<e.length;i+=1)t+=e[i];return t/e.length}const Ol=function(e){const t=[],i=[],r=[],n=[],a=[],s=[],o=[];let c,l=0,u=0,h=0,d=0,p=0;for(let _=0;_<e.glyphs.length;_+=1){const f=e.glyphs.get(_),g=0|f.unicode;if(isNaN(f.advanceWidth))throw new Error("Glyph "+f.name+" ("+_+"): advanceWidth is not a number.");(c>g||void 0===c)&&g>0&&(c=g),l<g&&(l=g);const m=Cl.getUnicodeRange(g);if(m<32)u|=1<<m;else if(m<64)h|=1<<m-32;else if(m<96)d|=1<<m-64;else{if(!(m<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");p|=1<<m-96}if(".notdef"===f.name)continue;const b=f.getMetrics();t.push(b.xMin),i.push(b.yMin),r.push(b.xMax),n.push(b.yMax),s.push(b.leftSideBearing),o.push(b.rightSideBearing),a.push(f.advanceWidth)}const f={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,i),xMax:Math.max.apply(null,r),yMax:Math.max.apply(null,n),advanceWidthMax:Math.max.apply(null,a),advanceWidthAvg:Bl(a),minLeftSideBearing:Math.min.apply(null,s),maxLeftSideBearing:Math.max.apply(null,s),minRightSideBearing:Math.min.apply(null,o)};f.ascender=e.ascender,f.descender=e.descender;const g=il.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:f.xMin,yMin:f.yMin,xMax:f.xMax,yMax:f.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),m=rl.make({ascender:f.ascender,descender:f.descender,advanceWidthMax:f.advanceWidthMax,minLeftSideBearing:f.minLeftSideBearing,minRightSideBearing:f.minRightSideBearing,xMaxExtent:f.maxLeftSideBearing+(f.xMax-f.xMin),numberOfHMetrics:e.glyphs.length}),b=sl.make(e.glyphs.length),y=Cl.make(Object.assign({xAvgCharWidth:Math.round(f.advanceWidthAvg),usFirstCharIndex:c,usLastCharIndex:l,ulUnicodeRange1:u,ulUnicodeRange2:h,ulUnicodeRange3:d,ulUnicodeRange4:p,sTypoAscender:f.ascender,sTypoDescender:f.descender,sTypoLineGap:0,usWinAscent:f.yMax,usWinDescent:Math.abs(f.yMin),ulCodePageRange1:1,sxHeight:Pl(e,"xyvw",{yMax:Math.round(f.ascender/2)}).yMax,sCapHeight:Pl(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",f).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),v=nl.make(e.glyphs),S=xc.make(e.glyphs),C=e.getEnglishName("fontFamily"),x=e.getEnglishName("fontSubfamily"),w=C+" "+x;let A=e.getEnglishName("postScriptName");A||(A=C.replace(/\s/g,"")+"-"+x);const E={};for(let _ in e.names)E[_]=e.names[_];E.uniqueID||(E.uniqueID={en:e.getEnglishName("manufacturer")+":"+w}),E.postScriptName||(E.postScriptName={en:A}),E.preferredFamily||(E.preferredFamily=e.names.fontFamily),E.preferredSubfamily||(E.preferredSubfamily=e.names.fontSubfamily);const k=[],I=vl.make(E,k),T=k.length>0?al.make(k):void 0,D=xl.make(),F=tl.make(e.glyphs,{version:e.getEnglishName("version"),fullName:w,familyName:C,weightName:x,postScriptName:A,unitsPerEm:e.unitsPerEm,fontBBox:[0,f.yMin,f.ascender,f.advanceWidthMax]}),P=e.metas&&Object.keys(e.metas).length>0?Il.make(e.metas):void 0,B=[g,m,b,y,I,S,D,F,v];T&&B.push(T),e.tables.gsub&&B.push(kl.make(e.tables.gsub)),P&&B.push(P);const O=function(e){const t=new dc.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=e,t.numTables=e.length;const i=Math.pow(2,Tl(t.numTables));t.searchRange=16*i,t.entrySelector=Tl(i),t.rangeShift=16*t.numTables-t.searchRange;const r=[],n=[];let a=t.sizeOf()+Fl().sizeOf()*t.numTables;for(;a%4!=0;)a+=1,n.push({name:"padding",type:"BYTE",value:0});for(let s=0;s<e.length;s+=1){const t=e[s];Go.argument(4===t.tableName.length,"Table name"+t.tableName+" is invalid.");const i=t.sizeOf(),o=Fl(t.tableName,Dl(t.encode()),a,i);for(r.push({name:o.tag+" Table Record",type:"RECORD",value:o}),n.push({name:t.tableName+" table",type:"RECORD",value:t}),a+=i,Go.argument(!isNaN(a),"Something went wrong calculating the offset.");a%4!=0;)a+=1,n.push({name:"padding",type:"BYTE",value:0})}return r.sort(function(e,t){return e.value.tag>t.value.tag?1:-1}),t.fields=t.fields.concat(r),t.fields=t.fields.concat(n),t}(B),N=Dl(O.encode()),M=O.fields;let R=!1;for(let _=0;_<M.length;_+=1)if("head table"===M[_].name){M[_].value.checkSumAdjustment=2981146554-N,R=!0;break}if(!R)throw new Error("Could not find head table with checkSum to adjust.");return O};function Nl(e,t){let i=0,r=e.length-1;for(;i<=r;){const n=i+r>>>1,a=e[n].tag;if(a===t)return n;a<t?i=n+1:r=n-1}return-i-1}function Ml(e,t){let i=0,r=e.length-1;for(;i<=r;){const n=i+r>>>1,a=e[n];if(a===t)return n;a<t?i=n+1:r=n-1}return-i-1}function Rl(e,t){let i,r=0,n=e.length-1;for(;r<=n;){const a=r+n>>>1;i=e[a];const s=i.start;if(s===t)return i;s<t?r=a+1:n=a-1}if(r>0)return i=e[r-1],t>i.end?0:i}function _l(e,t){this.font=e,this.tableName=t}_l.prototype={searchTag:Nl,binSearch:Ml,getTable:function(e){let t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){let e=this.getTable();return e?e.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){let e=this.getTable();if(!e)return;let t=!1;for(let i=0;i<e.scripts.length;i++){const r=e.scripts[i].tag;if("DFLT"===r)return r;"latn"===r&&(t=!0)}return t?"latn":void 0},getScriptTable:function(e,t){const i=this.getTable(t);if(i){e=e||"DFLT";const r=i.scripts,n=Nl(i.scripts,e);if(n>=0)return r[n].script;if(t){const t={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return r.splice(-1-n,0,t),t.script}}},getLangSysTable:function(e,t,i){const r=this.getScriptTable(e,i);if(r){if(!t||"dflt"===t||"DFLT"===t)return r.defaultLangSys;const e=Nl(r.langSysRecords,t);if(e>=0)return r.langSysRecords[e].langSys;if(i){const i={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return r.langSysRecords.splice(-1-e,0,i),i.langSys}}},getFeatureTable:function(e,t,i,r){const n=this.getLangSysTable(e,t,r);if(n){let e;const t=n.featureIndexes,a=this.font.tables[this.tableName].features;for(let r=0;r<t.length;r++)if(e=a[t[r]],e.tag===i)return e.feature;if(r){const r=a.length;return Go.assert(0===r||i>=a[r-1].tag,"Features must be added in alphabetical order."),e={tag:i,feature:{params:0,lookupListIndexes:[]}},a.push(e),t.push(r),e.feature}}},getLookupTables:function(e,t,i,r,n){const a=this.getFeatureTable(e,t,i,n),s=[];if(a){let e;const t=a.lookupListIndexes,i=this.font.tables[this.tableName].lookups;for(let n=0;n<t.length;n++)e=i[t[n]],e.lookupType===r&&s.push(e);if(0===s.length&&n){e={lookupType:r,lookupFlag:0,subtables:[],markFilteringSet:void 0};const n=i.length;return i.push(e),t.push(n),[e]}}return s},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph<=t&&t<e.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:const i=Rl(e.ranges,t);return i?i.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:const i=Ml(e.glyphs,t);return i>=0?i:-1;case 2:const r=Rl(e.ranges,t);return r?r.index+t-r.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;{const t=[],i=e.ranges;for(let e=0;e<i.length;e++){const r=i[e],n=r.start,a=r.end;for(let e=n;e<=a;e++)t.push(e)}return t}}};const Ul=_l;function Ll(e){Ul.call(this,e,"gpos")}Ll.prototype=Ul.prototype,Ll.prototype.init=function(){const e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},Ll.prototype.getKerningValue=function(e,t,i){for(let r=0;r<e.length;r++){const n=e[r].subtables;for(let e=0;e<n.length;e++){const r=n[e],a=this.getCoverageIndex(r.coverage,t);if(!(a<0))switch(r.posFormat){case 1:let e=r.pairSets[a];for(let t=0;t<e.length;t++){let r=e[t];if(r.secondGlyph===i)return r.value1&&r.value1.xAdvance||0}break;case 2:const n=this.getGlyphClass(r.classDef1,t),s=this.getGlyphClass(r.classDef2,i),o=r.classRecords[n][s];return o.value1&&o.value1.xAdvance||0}}}return 0},Ll.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)};const Hl=Ll;function jl(e){Ul.call(this,e,"gsub")}function ql(e,t){const i=e.length;if(i!==t.length)return!1;for(let r=0;r<i;r++)if(e[r]!==t[r])return!1;return!0}function Kl(e,t,i){const r=e.subtables;for(let n=0;n<r.length;n++){const e=r[n];if(e.substFormat===t)return e}if(i)return r.push(i),i}jl.prototype=Ul.prototype,jl.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},jl.prototype.getSingle=function(e,t,i){const r=[],n=this.getLookupTables(t,i,e,1);for(let a=0;a<n.length;a++){const e=n[a].subtables;for(let t=0;t<e.length;t++){const i=e[t],n=this.expandCoverage(i.coverage);let a;if(1===i.substFormat){const e=i.deltaGlyphId;for(a=0;a<n.length;a++){const t=n[a];r.push({sub:t,by:t+e})}}else{const e=i.substitute;for(a=0;a<n.length;a++)r.push({sub:n[a],by:e[a]})}}}return r},jl.prototype.getMultiple=function(e,t,i){const r=[],n=this.getLookupTables(t,i,e,2);for(let a=0;a<n.length;a++){const e=n[a].subtables;for(let t=0;t<e.length;t++){const i=e[t],n=this.expandCoverage(i.coverage);let a;for(a=0;a<n.length;a++){const e=n[a],t=i.sequences[a];r.push({sub:e,by:t})}}}return r},jl.prototype.getAlternates=function(e,t,i){const r=[],n=this.getLookupTables(t,i,e,3);for(let a=0;a<n.length;a++){const e=n[a].subtables;for(let t=0;t<e.length;t++){const i=e[t],n=this.expandCoverage(i.coverage),a=i.alternateSets;for(let e=0;e<n.length;e++)r.push({sub:n[e],by:a[e]})}}return r},jl.prototype.getLigatures=function(e,t,i){const r=[],n=this.getLookupTables(t,i,e,4);for(let a=0;a<n.length;a++){const e=n[a].subtables;for(let t=0;t<e.length;t++){const i=e[t],n=this.expandCoverage(i.coverage),a=i.ligatureSets;for(let e=0;e<n.length;e++){const t=n[e],i=a[e];for(let e=0;e<i.length;e++){const n=i[e];r.push({sub:[t].concat(n.components),by:n.ligGlyph})}}}}return r},jl.prototype.addSingle=function(e,t,i,r){const n=Kl(this.getLookupTables(i,r,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});Go.assert(1===n.coverage.format,"Single: unable to modify coverage table format "+n.coverage.format);const a=t.sub;let s=this.binSearch(n.coverage.glyphs,a);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,a),n.substitute.splice(s,0,0)),n.substitute[s]=t.by},jl.prototype.addMultiple=function(e,t,i,r){Go.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');const n=Kl(this.getLookupTables(i,r,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});Go.assert(1===n.coverage.format,"Multiple: unable to modify coverage table format "+n.coverage.format);const a=t.sub;let s=this.binSearch(n.coverage.glyphs,a);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,a),n.sequences.splice(s,0,0)),n.sequences[s]=t.by},jl.prototype.addAlternate=function(e,t,i,r){const n=Kl(this.getLookupTables(i,r,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});Go.assert(1===n.coverage.format,"Alternate: unable to modify coverage table format "+n.coverage.format);const a=t.sub;let s=this.binSearch(n.coverage.glyphs,a);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,a),n.alternateSets.splice(s,0,0)),n.alternateSets[s]=t.by},jl.prototype.addLigature=function(e,t,i,r){const n=this.getLookupTables(i,r,e,4,!0)[0];let a=n.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},n.subtables[0]=a),Go.assert(1===a.coverage.format,"Ligature: unable to modify coverage table format "+a.coverage.format);const s=t.sub[0],o=t.sub.slice(1),c={ligGlyph:t.by,components:o};let l=this.binSearch(a.coverage.glyphs,s);if(l>=0){const e=a.ligatureSets[l];for(let t=0;t<e.length;t++)if(ql(e[t].components,o))return;e.push(c)}else l=-1-l,a.coverage.glyphs.splice(l,0,s),a.ligatureSets.splice(l,0,[c])},jl.prototype.getFeature=function(e,t,i){if(/ss\d\d/.test(e))return this.getSingle(e,t,i);switch(e){case"aalt":case"salt":return this.getSingle(e,t,i).concat(this.getAlternates(e,t,i));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,i);case"ccmp":return this.getMultiple(e,t,i).concat(this.getLigatures(e,t,i));case"stch":return this.getMultiple(e,t,i)}},jl.prototype.add=function(e,t,i,r){if(/ss\d\d/.test(e))return this.addSingle(e,t,i,r);switch(e){case"aalt":case"salt":return"number"==typeof t.by?this.addSingle(e,t,i,r):this.addAlternate(e,t,i,r);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,i,r);case"ccmp":return t.by instanceof Array?this.addMultiple(e,t,i,r):this.addLigature(e,t,i,r)}};const Gl=jl;function Vl(e){const t=new ArrayBuffer(e.length),i=new Uint8Array(t);for(let r=0;r<e.length;++r)i[r]=e[r];return t}function zl(e,t){if(!e)throw t}function Xl(e,t,i,r,n){let a;return(t&r)>0?(a=e.parseByte(),t&n||(a=-a),a=i+a):a=(t&n)>0?i:i+e.parseShort(),a}function Wl(e,t,i){const r=new Sc.Parser(t,i);let n,a;if(e.numberOfContours=r.parseShort(),e._xMin=r.parseShort(),e._yMin=r.parseShort(),e._xMax=r.parseShort(),e._yMax=r.parseShort(),e.numberOfContours>0){const t=e.endPointIndices=[];for(let n=0;n<e.numberOfContours;n+=1)t.push(r.parseUShort());e.instructionLength=r.parseUShort(),e.instructions=[];for(let n=0;n<e.instructionLength;n+=1)e.instructions.push(r.parseByte());const i=t[t.length-1]+1;n=[];for(let e=0;e<i;e+=1)if(a=r.parseByte(),n.push(a),(8&a)>0){const t=r.parseByte();for(let i=0;i<t;i+=1)n.push(a),e+=1}if(Go.argument(n.length===i,"Bad flags."),t.length>0){const s=[];let o;if(i>0){for(let r=0;r<i;r+=1)a=n[r],o={},o.onCurve=!!(1&a),o.lastPointOfContour=t.indexOf(r)>=0,s.push(o);let e=0;for(let t=0;t<i;t+=1)a=n[t],o=s[t],o.x=Xl(r,a,e,2,16),e=o.x;let c=0;for(let t=0;t<i;t+=1)a=n[t],o=s[t],o.y=Xl(r,a,c,4,32),c=o.y}e.points=s}else e.points=[]}else if(0===e.numberOfContours)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];let t=!0;for(;t;){n=r.parseUShort();const i={glyphIndex:r.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&n)>0?(2&n)>0?(i.dx=r.parseShort(),i.dy=r.parseShort()):i.matchedPoints=[r.parseUShort(),r.parseUShort()]:(2&n)>0?(i.dx=r.parseChar(),i.dy=r.parseChar()):i.matchedPoints=[r.parseByte(),r.parseByte()],(8&n)>0?i.xScale=i.yScale=r.parseF2Dot14():(64&n)>0?(i.xScale=r.parseF2Dot14(),i.yScale=r.parseF2Dot14()):(128&n)>0&&(i.xScale=r.parseF2Dot14(),i.scale01=r.parseF2Dot14(),i.scale10=r.parseF2Dot14(),i.yScale=r.parseF2Dot14()),e.components.push(i),t=!!(32&n)}if(256&n){e.instructionLength=r.parseUShort(),e.instructions=[];for(let t=0;t<e.instructionLength;t+=1)e.instructions.push(r.parseByte())}}}function $l(e,t){const i=[];for(let r=0;r<e.length;r+=1){const n=e[r],a={x:t.xScale*n.x+t.scale01*n.y+t.dx,y:t.scale10*n.x+t.yScale*n.y+t.dy,onCurve:n.onCurve,lastPointOfContour:n.lastPointOfContour};i.push(a)}return i}function Zl(e){const t=new jo;if(!e)return t;const i=function(e){const t=[];let i=[];for(let r=0;r<e.length;r+=1){const n=e[r];i.push(n),n.lastPointOfContour&&(t.push(i),i=[])}return Go.argument(0===i.length,"There are still points left in the current contour."),t}(e);for(let r=0;r<i.length;++r){const e=i[r];let n=null,a=e[e.length-1],s=e[0];if(a.onCurve)t.moveTo(a.x,a.y);else if(s.onCurve)t.moveTo(s.x,s.y);else{const e={x:.5*(a.x+s.x),y:.5*(a.y+s.y)};t.moveTo(e.x,e.y)}for(let i=0;i<e.length;++i)if(n=a,a=s,s=e[(i+1)%e.length],a.onCurve)t.lineTo(a.x,a.y);else{let e=s;n.onCurve||(a.x,n.x,a.y,n.y),s.onCurve||(e={x:.5*(a.x+s.x),y:.5*(a.y+s.y)}),t.quadraticCurveTo(a.x,a.y,e.x,e.y)}t.closePath()}return t}function Yl(e,t){if(t.isComposite)for(let i=0;i<t.components.length;i+=1){const r=t.components[i],n=e.get(r.glyphIndex);if(n.getPath(),n.points){let e;if(void 0===r.matchedPoints)e=$l(n.points,r);else{if(r.matchedPoints[0]>t.points.length-1||r.matchedPoints[1]>n.points.length-1)throw Error("Matched points out of range in "+t.name);const i=t.points[r.matchedPoints[0]];let a=n.points[r.matchedPoints[1]];const s={xScale:r.xScale,scale01:r.scale01,scale10:r.scale10,yScale:r.yScale,dx:0,dy:0};a=$l([a],s)[0],s.dx=i.x-a.x,s.dy=i.y-a.y,e=$l(n.points,s)}t.points=t.points.concat(e)}}return Zl(t.points)}const Ql={getPath:Zl,parse:function(e,t,i,r,n){return n.lowMemory?function(e,t,i,r){const n=new Rc.GlyphSet(r);return r._push=function(a){const s=i[a];s!==i[a+1]?n.push(a,Rc.ttfGlyphLoader(r,a,Wl,e,t+s,Yl)):n.push(a,Rc.glyphLoader(r,a))},n}(e,t,i,r):function(e,t,i,r){const n=new Rc.GlyphSet(r);for(let a=0;a<i.length-1;a+=1){const s=i[a];s!==i[a+1]?n.push(a,Rc.ttfGlyphLoader(r,a,Wl,e,t+s,Yl)):n.push(a,Rc.glyphLoader(r,a))}return n}(e,t,i,r)}};let Jl,eu,tu,iu;function ru(e){this.font=e,this.getCommands=function(e){return Ql.getPath(e).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function nu(e){return e}function au(e){return Math.sign(e)*Math.round(Math.abs(e))}function su(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function ou(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function cu(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function lu(e){return Math.sign(e)*Math.floor(Math.abs(e))}const uu=function(e){const t=this.srPeriod;let i=this.srPhase,r=1;return e<0&&(e=-e,r=-1),e+=this.srThreshold-i,e=Math.trunc(e/t)*t,(e+=i)<0?i*r:e*r},hu={x:1,y:0,axis:"x",distance:function(e,t,i,r){return(i?e.xo:e.x)-(r?t.xo:t.x)},interpolate:function(e,t,i,r){let n,a,s,o,c,l,u;if(!r||r===this)return n=e.xo-t.xo,a=e.xo-i.xo,c=t.x-t.xo,l=i.x-i.xo,s=Math.abs(n),o=Math.abs(a),u=s+o,0===u?void(e.x=e.xo+(c+l)/2):void(e.x=e.xo+(c*o+l*s)/u);n=r.distance(e,t,!0,!0),a=r.distance(e,i,!0,!0),c=r.distance(t,t,!1,!0),l=r.distance(i,i,!1,!0),s=Math.abs(n),o=Math.abs(a),u=s+o,0!==u?hu.setRelative(e,e,(c*o+l*s)/u,r,!0):hu.setRelative(e,e,(c+l)/2,r,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(e,t,i,r,n){if(!r||r===this)return void(e.x=(n?t.xo:t.x)+i);const a=n?t.xo:t.x,s=n?t.yo:t.y,o=a+i*r.x,c=s+i*r.y;e.x=o+(e.y-c)/r.normalSlope},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},du={x:0,y:1,axis:"y",distance:function(e,t,i,r){return(i?e.yo:e.y)-(r?t.yo:t.y)},interpolate:function(e,t,i,r){let n,a,s,o,c,l,u;if(!r||r===this)return n=e.yo-t.yo,a=e.yo-i.yo,c=t.y-t.yo,l=i.y-i.yo,s=Math.abs(n),o=Math.abs(a),u=s+o,0===u?void(e.y=e.yo+(c+l)/2):void(e.y=e.yo+(c*o+l*s)/u);n=r.distance(e,t,!0,!0),a=r.distance(e,i,!0,!0),c=r.distance(t,t,!1,!0),l=r.distance(i,i,!1,!0),s=Math.abs(n),o=Math.abs(a),u=s+o,0!==u?du.setRelative(e,e,(c*o+l*s)/u,r,!0):du.setRelative(e,e,(c+l)/2,r,!0)},normalSlope:0,setRelative:function(e,t,i,r,n){if(!r||r===this)return void(e.y=(n?t.yo:t.y)+i);const a=n?t.xo:t.x,s=n?t.yo:t.y,o=a+i*r.x,c=s+i*r.y;e.y=c+r.normalSlope*(e.x-o)},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};function pu(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}function fu(e,t){const i=Math.sqrt(e*e+t*t);return t/=i,1==(e/=i)&&0===t?hu:0===e&&1===t?du:new pu(e,t)}function gu(e,t,i,r){this.x=this.xo=Math.round(64*e)/64,this.y=this.yo=Math.round(64*t)/64,this.lastPointOfContour=i,this.onCurve=r,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(hu),Object.freeze(du),pu.prototype.distance=function(e,t,i,r){return this.x*hu.distance(e,t,i,r)+this.y*du.distance(e,t,i,r)},pu.prototype.interpolate=function(e,t,i,r){let n,a,s,o,c,l,u;s=r.distance(e,t,!0,!0),o=r.distance(e,i,!0,!0),n=r.distance(t,t,!1,!0),a=r.distance(i,i,!1,!0),c=Math.abs(s),l=Math.abs(o),u=c+l,0!==u?this.setRelative(e,e,(n*l+a*c)/u,r,!0):this.setRelative(e,e,(n+a)/2,r,!0)},pu.prototype.setRelative=function(e,t,i,r,n){r=r||this;const a=n?t.xo:t.x,s=n?t.yo:t.y,o=a+i*r.x,c=s+i*r.y,l=r.normalSlope,u=this.slope,h=e.x,d=e.y;e.x=(u*h-l*o+c-d)/(u-l),e.y=u*(e.x-h)+d},pu.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0},gu.prototype.nextTouched=function(e){let t=this.nextPointOnContour;for(;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},gu.prototype.prevTouched=function(e){let t=this.prevPointOnContour;for(;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};const mu=Object.freeze(new gu(0,0)),bu={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function yu(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=hu,this.round=au}}function vu(e){const t=e.tZone=new Array(e.gZone.length);for(let i=0;i<t.length;i++)t[i]=new gu(0,0)}function Su(e,t){const i=e.prog;let r,n=e.ip,a=1;do{if(r=i[++n],88===r)a++;else if(89===r)a--;else if(64===r)n+=i[n+1]+1;else if(65===r)n+=2*i[n+1]+1;else if(r>=176&&r<=183)n+=r-176+1;else if(r>=184&&r<=191)n+=2*(r-184+1);else if(t&&1===a&&27===r)break}while(a>0);e.ip=n}function Cu(e,t){Ae.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function xu(e,t){Ae.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function wu(e,t){Ae.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function Au(e,t){const i=t.stack,r=i.pop(),n=i.pop(),a=t.z2[r],s=t.z1[n];let o,c;Ae.DEBUG&&console.log("SPVTL["+e+"]",r,n),e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.pv=t.dpv=fu(o,c)}function Eu(e,t){const i=t.stack,r=i.pop(),n=i.pop(),a=t.z2[r],s=t.z1[n];let o,c;Ae.DEBUG&&console.log("SFVTL["+e+"]",r,n),e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.fv=fu(o,c)}function ku(e){Ae.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function Iu(e,t){const i=t.stack.pop(),r=t.z0[i],n=t.fv,a=t.pv;Ae.DEBUG&&console.log(t.step,"MDAP["+e+"]",i);let s=a.distance(r,mu);e&&(s=t.round(s)),n.setRelative(r,mu,s,a),n.touch(r),t.rp0=t.rp1=i}function Tu(e,t){const i=t.z2,r=i.length-2;let n,a,s;Ae.DEBUG&&console.log(t.step,"IUP["+e.axis+"]");for(let o=0;o<r;o++)n=i[o],e.touched(n)||(a=n.prevTouched(e),a!==n&&(s=n.nextTouched(e),a===s&&e.setRelative(n,n,e.distance(a,a,!1,!0),e,!0),e.interpolate(n,a,s,e)))}function Du(e,t){const i=t.stack,r=e?t.rp1:t.rp2,n=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv;let o=t.loop;const c=t.z2;for(;o--;){const r=i.pop(),l=c[r],u=s.distance(n,n,!1,!0);a.setRelative(l,l,u,s),a.touch(l),Ae.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-o)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",r)}t.loop=1}function Fu(e,t){const i=t.stack,r=e?t.rp1:t.rp2,n=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv,o=i.pop(),c=t.z2[t.contours[o]];let l=c;Ae.DEBUG&&console.log(t.step,"SHC["+e+"]",o);const u=s.distance(n,n,!1,!0);do{l!==n&&a.setRelative(l,l,u,s),l=l.nextPointOnContour}while(l!==c)}function Pu(e,t){const i=t.stack,r=e?t.rp1:t.rp2,n=(e?t.z0:t.z1)[r],a=t.fv,s=t.pv,o=i.pop();let c,l;switch(Ae.DEBUG&&console.log(t.step,"SHZ["+e+"]",o),o){case 0:c=t.tZone;break;case 1:c=t.gZone;break;default:throw new Error("Invalid zone")}const u=s.distance(n,n,!1,!0),h=c.length-2;for(let d=0;d<h;d++)l=c[d],a.setRelative(l,l,u,s)}function Bu(e,t){const i=t.stack,r=i.pop()/64,n=i.pop(),a=t.z1[n],s=t.z0[t.rp0],o=t.fv,c=t.pv;o.setRelative(a,s,r,c),o.touch(a),Ae.DEBUG&&console.log(t.step,"MSIRP["+e+"]",r,n),t.rp1=t.rp0,t.rp2=n,e&&(t.rp0=n)}function Ou(e,t){const i=t.stack,r=i.pop(),n=i.pop(),a=t.z0[n],s=t.fv,o=t.pv;let c=t.cvt[r];Ae.DEBUG&&console.log(t.step,"MIAP["+e+"]",r,"(",c,")",n);let l=o.distance(a,mu);e&&(Math.abs(l-c)<t.cvCutIn&&(l=c),l=t.round(l)),s.setRelative(a,mu,l,o),0===t.zp0&&(a.xo=a.x,a.yo=a.y),s.touch(a),t.rp0=t.rp1=n}function Nu(e,t){const i=t.stack,r=i.pop(),n=t.z2[r];Ae.DEBUG&&console.log(t.step,"GC["+e+"]",r),i.push(64*t.dpv.distance(n,mu,e,!1))}function Mu(e,t){const i=t.stack,r=i.pop(),n=i.pop(),a=t.z1[r],s=t.z0[n],o=t.dpv.distance(s,a,e,e);Ae.DEBUG&&console.log(t.step,"MD["+e+"]",r,n,"->",o),t.stack.push(Math.round(64*o))}function Ru(e,t){const i=t.stack,r=i.pop(),n=t.fv,a=t.pv,s=t.ppem,o=t.deltaBase+16*(e-1),c=t.deltaShift,l=t.z0;Ae.DEBUG&&console.log(t.step,"DELTAP["+e+"]",r,i);for(let u=0;u<r;u++){const e=i.pop(),r=i.pop();if(o+((240&r)>>4)!==s)continue;let u=(15&r)-8;u>=0&&u++,Ae.DEBUG&&console.log(t.step,"DELTAPFIX",e,"by",u*c);const h=l[e];n.setRelative(h,h,u*c,a)}}function _u(e,t){const i=t.stack,r=i.pop();Ae.DEBUG&&console.log(t.step,"ROUND[]"),i.push(64*t.round(r/64))}function Uu(e,t){const i=t.stack,r=i.pop(),n=t.ppem,a=t.deltaBase+16*(e-1),s=t.deltaShift;Ae.DEBUG&&console.log(t.step,"DELTAC["+e+"]",r,i);for(let o=0;o<r;o++){const e=i.pop(),r=i.pop();if(a+((240&r)>>4)!==n)continue;let o=(15&r)-8;o>=0&&o++;const c=o*s;Ae.DEBUG&&console.log(t.step,"DELTACFIX",e,"by",c),t.cvt[e]+=c}}function Lu(e,t){const i=t.stack,r=i.pop(),n=i.pop(),a=t.z2[r],s=t.z1[n];let o,c;Ae.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",r,n),e?(o=a.y-s.y,c=s.x-a.x):(o=s.x-a.x,c=s.y-a.y),t.dpv=fu(o,c)}function Hu(e,t){const i=t.stack,r=t.prog;let n=t.ip;Ae.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(let a=0;a<e;a++)i.push(r[++n]);t.ip=n}function ju(e,t){let i=t.ip;const r=t.prog,n=t.stack;Ae.DEBUG&&console.log(t.ip,"PUSHW["+e+"]");for(let a=0;a<e;a++){let e=r[++i]<<8|r[++i];32768&e&&(e=-(1+(65535^e))),n.push(e)}t.ip=i}function qu(e,t,i,r,n,a){const s=a.stack,o=e&&s.pop(),c=s.pop(),l=a.rp0,u=a.z0[l],h=a.z1[c],d=a.minDis,p=a.fv,f=a.dpv;let g,m,b,y;m=g=f.distance(h,u,!0,!0),b=m>=0?1:-1,m=Math.abs(m),e&&(y=a.cvt[o],r&&Math.abs(m-y)<a.cvCutIn&&(m=y)),i&&m<d&&(m=d),r&&(m=a.round(m)),p.setRelative(h,u,b*m,f),p.touch(h),Ae.DEBUG&&console.log(a.step,(e?"MIRP[":"MDRP[")+(t?"M":"m")+(i?">":"_")+(r?"R":"_")+(0===n?"Gr":1===n?"Bl":2===n?"Wh":"")+"]",e?o+"("+a.cvt[o]+","+y+")":"",c,"(d =",g,"->",b*m,")"),a.rp1=a.rp0,a.rp2=c,t&&(a.rp0=c)}ru.prototype.exec=function(e,t){if("number"!=typeof t)throw new Error("Point size is not a number!");if(this._errorState>2)return;const i=this.font;let r=this._prepState;if(!r||r.ppem!==t){let e=this._fpgmState;if(!e){yu.prototype=bu,e=this._fpgmState=new yu("fpgm",i.tables.fpgm),e.funcs=[],e.font=i,Ae.DEBUG&&(console.log("---EXEC FPGM---"),e.step=-1);try{eu(e)}catch(n){return console.log("Hinting error in FPGM:"+n),void(this._errorState=3)}}yu.prototype=e,r=this._prepState=new yu("prep",i.tables.prep),r.ppem=t;const a=i.tables.cvt;if(a){const e=r.cvt=new Array(a.length),n=t/i.unitsPerEm;for(let t=0;t<a.length;t++)e[t]=a[t]*n}else r.cvt=[];Ae.DEBUG&&(console.log("---EXEC PREP---"),r.step=-1);try{eu(r)}catch(n){this._errorState<2&&console.log("Hinting error in PREP:"+n),this._errorState=2}}if(!(this._errorState>1))try{return tu(e,r)}catch(a){return this._errorState<1&&(console.log("Hinting error:"+a),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}},tu=function(e,t){const i=t.ppem/t.font.unitsPerEm,r=i;let n,a,s,o=e.components;if(yu.prototype=t,o){const c=t.font;a=[],n=[];for(let e=0;e<o.length;e++){const t=o[e],l=c.glyphs.get(t.glyphIndex);s=new yu("glyf",l.instructions),Ae.DEBUG&&(console.log("---EXEC COMP "+e+"---"),s.step=-1),iu(l,s,i,r);const u=Math.round(t.dx*i),h=Math.round(t.dy*r),d=s.gZone,p=s.contours;for(let e=0;e<d.length;e++){const t=d[e];t.xTouched=t.yTouched=!1,t.xo=t.x=t.x+u,t.yo=t.y=t.y+h}const f=a.length;a.push.apply(a,d);for(let e=0;e<p.length;e++)n.push(p[e]+f)}e.instructions&&!s.inhibitGridFit&&(s=new yu("glyf",e.instructions),s.gZone=s.z0=s.z1=s.z2=a,s.contours=n,a.push(new gu(0,0),new gu(Math.round(e.advanceWidth*i),0)),Ae.DEBUG&&(console.log("---EXEC COMPOSITE---"),s.step=-1),eu(s),a.length-=2)}else s=new yu("glyf",e.instructions),Ae.DEBUG&&(console.log("---EXEC GLYPH---"),s.step=-1),iu(e,s,i,r),a=s.gZone;return a},iu=function(e,t,i,r){const n=e.points||[],a=n.length,s=t.gZone=t.z0=t.z1=t.z2=[],o=t.contours=[];let c,l,u;for(let h=0;h<a;h++)c=n[h],s[h]=new gu(c.x*i,c.y*r,c.lastPointOfContour,c.onCurve);for(let h=0;h<a;h++)c=s[h],l||(l=c,o.push(h)),c.lastPointOfContour?(c.nextPointOnContour=l,l.prevPointOnContour=c,l=void 0):(u=s[h+1],c.nextPointOnContour=u,u.prevPointOnContour=c);if(!t.inhibitGridFit){if(Ae.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(let e=0;e<a;e++)console.log(e,s[e].x,s[e].y)}if(s.push(new gu(0,0),new gu(Math.round(e.advanceWidth*i),0)),eu(t),s.length-=2,Ae.DEBUG){console.log("FINISHED GLYPH",t.stack);for(let e=0;e<a;e++)console.log(e,s[e].x,s[e].y)}}},eu=function(e){let t=e.prog;if(!t)return;const i=t.length;let r;for(e.ip=0;e.ip<i;e.ip++){if(Ae.DEBUG&&e.step++,r=Jl[t[e.ip]],!r)throw new Error("unknown instruction: 0x"+Number(t[e.ip]).toString(16));r(e)}},Jl=[Cu.bind(void 0,du),Cu.bind(void 0,hu),xu.bind(void 0,du),xu.bind(void 0,hu),wu.bind(void 0,du),wu.bind(void 0,hu),Au.bind(void 0,0),Au.bind(void 0,1),Eu.bind(void 0,0),Eu.bind(void 0,1),function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"SPVFS[]",i,r),e.pv=e.dpv=fu(r,i)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"SPVFS[]",i,r),e.fv=fu(r,i)},function(e){const t=e.stack,i=e.pv;Ae.DEBUG&&console.log(e.step,"GPV[]"),t.push(16384*i.x),t.push(16384*i.y)},function(e){const t=e.stack,i=e.fv;Ae.DEBUG&&console.log(e.step,"GFV[]"),t.push(16384*i.x),t.push(16384*i.y)},function(e){e.fv=e.pv,Ae.DEBUG&&console.log(e.step,"SFVTPV[]")},function(e){const t=e.stack,i=t.pop(),r=t.pop(),n=t.pop(),a=t.pop(),s=t.pop(),o=e.z0,c=e.z1,l=o[i],u=o[r],h=c[n],d=c[a],p=e.z2[s];Ae.DEBUG&&console.log("ISECT[], ",i,r,n,a,s);const f=l.x,g=l.y,m=u.x,b=u.y,y=h.x,v=h.y,S=d.x,C=d.y,x=(f-m)*(v-C)-(g-b)*(y-S),w=f*b-g*m,A=y*C-v*S;p.x=(w*(y-S)-A*(f-m))/x,p.y=(w*(v-C)-A*(g-b))/x},function(e){e.rp0=e.stack.pop(),Ae.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)},function(e){e.rp1=e.stack.pop(),Ae.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)},function(e){e.rp2=e.stack.pop(),Ae.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)},function(e){const t=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||vu(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){const t=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||vu(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){const t=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||vu(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){const t=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||vu(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){e.loop=e.stack.pop(),Ae.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)},function(e){Ae.DEBUG&&console.log(e.step,"RTG[]"),e.round=au},function(e){Ae.DEBUG&&console.log(e.step,"RTHG[]"),e.round=ou},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64},function(e){Ae.DEBUG&&console.log(e.step,"ELSE[]"),Su(e,!1)},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64},void 0,void 0,function(e){const t=e.stack;Ae.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])},ku,function(e){Ae.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"SWAP[]"),t.push(i),t.push(r)},function(e){const t=e.stack;Ae.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"CINDEX[]",i),t.push(t[t.length-i])},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"MINDEX[]",i),t.push(t.splice(t.length-i,1)[0])},void 0,void 0,void 0,function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"LOOPCALL[]",i,r);const n=e.ip,a=e.prog;e.prog=e.funcs[i];for(let s=0;s<r;s++)eu(e),Ae.DEBUG&&console.log(++e.step,s+1<r?"next loopcall":"done loopcall",s);e.ip=n,e.prog=a},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"CALL[]",t);const i=e.ip,r=e.prog;e.prog=e.funcs[t],eu(e),e.ip=i,e.prog=r,Ae.DEBUG&&console.log(++e.step,"returning from",t)},function(e){if("fpgm"!==e.env)throw new Error("FDEF not allowed here");const t=e.stack,i=e.prog;let r=e.ip;const n=t.pop(),a=r;for(Ae.DEBUG&&console.log(e.step,"FDEF[]",n);45!==i[++r];);e.ip=r,e.funcs[n]=i.slice(a+1,r)},void 0,Iu.bind(void 0,0),Iu.bind(void 0,1),Tu.bind(void 0,du),Tu.bind(void 0,hu),Du.bind(void 0,0),Du.bind(void 0,1),Fu.bind(void 0,0),Fu.bind(void 0,1),Pu.bind(void 0,0),Pu.bind(void 0,1),function(e){const t=e.stack;let i=e.loop;const r=e.fv,n=t.pop()/64,a=e.z2;for(;i--;){const s=t.pop(),o=a[s];Ae.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"SHPIX[]",s,n),r.setRelative(o,o,n),r.touch(o)}e.loop=1},function(e){const t=e.stack,i=e.rp1,r=e.rp2;let n=e.loop;const a=e.z0[i],s=e.z1[r],o=e.fv,c=e.dpv,l=e.z2;for(;n--;){const u=t.pop(),h=l[u];Ae.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-n)+": ":"")+"IP[]",u,i,"<->",r),o.interpolate(h,a,s,c),o.touch(h)}e.loop=1},Bu.bind(void 0,0),Bu.bind(void 0,1),function(e){const t=e.stack,i=e.rp0,r=e.z0[i];let n=e.loop;const a=e.fv,s=e.pv,o=e.z1;for(;n--;){const i=t.pop(),c=o[i];Ae.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-n)+": ":"")+"ALIGNRP[]",i),a.setRelative(c,r,0,s),a.touch(c)}e.loop=1},function(e){Ae.DEBUG&&console.log(e.step,"RTDG[]"),e.round=su},Ou.bind(void 0,0),Ou.bind(void 0,1),function(e){const t=e.prog;let i=e.ip;const r=e.stack,n=t[++i];Ae.DEBUG&&console.log(e.step,"NPUSHB[]",n);for(let a=0;a<n;a++)r.push(t[++i]);e.ip=i},function(e){let t=e.ip;const i=e.prog,r=e.stack,n=i[++t];Ae.DEBUG&&console.log(e.step,"NPUSHW[]",n);for(let a=0;a<n;a++){let e=i[++t]<<8|i[++t];32768&e&&(e=-(1+(65535^e))),r.push(e)}e.ip=t},function(e){const t=e.stack;let i=e.store;i||(i=e.store=[]);const r=t.pop(),n=t.pop();Ae.DEBUG&&console.log(e.step,"WS",r,n),i[n]=r},function(e){const t=e.stack,i=e.store,r=t.pop();Ae.DEBUG&&console.log(e.step,"RS",r);const n=i&&i[r]||0;t.push(n)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"WCVTP",i,r),e.cvt[r]=i/64},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"RCVT",i),t.push(64*e.cvt[i])},Nu.bind(void 0,0),Nu.bind(void 0,1),void 0,Mu.bind(void 0,0),Mu.bind(void 0,1),function(e){Ae.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)},void 0,function(e){Ae.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0},void 0,void 0,function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"LT[]",i,r),t.push(r<i?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"LTEQ[]",i,r),t.push(r<=i?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"GT[]",i,r),t.push(r>i?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"GTEQ[]",i,r),t.push(r>=i?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"EQ[]",i,r),t.push(i===r?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"NEQ[]",i,r),t.push(i!==r?1:0)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"ODD[]",i),t.push(Math.trunc(i)%2?1:0)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"EVEN[]",i),t.push(Math.trunc(i)%2?0:1)},function(e){let t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"IF[]",t),t||(Su(e,!0),Ae.DEBUG&&console.log(e.step,"EIF[]"))},function(e){Ae.DEBUG&&console.log(e.step,"EIF[]")},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"AND[]",i,r),t.push(i&&r?1:0)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"OR[]",i,r),t.push(i||r?1:0)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"NOT[]",i),t.push(i?0:1)},Ru.bind(void 0,1),function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SDB[]",t),e.deltaBase=t},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SDS[]",t),e.deltaShift=Math.pow(.5,t)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"ADD[]",i,r),t.push(r+i)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"SUB[]",i,r),t.push(r-i)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"DIV[]",i,r),t.push(64*r/i)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"MUL[]",i,r),t.push(r*i/64)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"ABS[]",i),t.push(Math.abs(i))},function(e){const t=e.stack;let i=t.pop();Ae.DEBUG&&console.log(e.step,"NEG[]",i),t.push(-i)},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"FLOOR[]",i),t.push(64*Math.floor(i/64))},function(e){const t=e.stack,i=t.pop();Ae.DEBUG&&console.log(e.step,"CEILING[]",i),t.push(64*Math.ceil(i/64))},_u.bind(void 0,0),_u.bind(void 0,1),_u.bind(void 0,2),_u.bind(void 0,3),void 0,void 0,void 0,void 0,function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"WCVTF[]",i,r),e.cvt[r]=i*e.ppem/e.font.unitsPerEm},Ru.bind(void 0,2),Ru.bind(void 0,3),Uu.bind(void 0,1),Uu.bind(void 0,2),Uu.bind(void 0,3),function(e){let t,i=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"SROUND[]",i),e.round=uu,192&i){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,48&i){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}i&=15,e.srThreshold=0===i?0:(i/8-.5)*t},function(e){let t,i=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"S45ROUND[]",i),e.round=uu,192&i){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&i){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}i&=15,e.srThreshold=0===i?0:(i/8-.5)*t},void 0,void 0,function(e){Ae.DEBUG&&console.log(e.step,"ROFF[]"),e.round=nu},void 0,function(e){Ae.DEBUG&&console.log(e.step,"RUTG[]"),e.round=cu},function(e){Ae.DEBUG&&console.log(e.step,"RDTG[]"),e.round=lu},ku,ku,void 0,void 0,void 0,void 0,void 0,function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SCANCTRL[]",t)},Lu.bind(void 0,0),Lu.bind(void 0,1),function(e){const t=e.stack,i=t.pop();let r=0;Ae.DEBUG&&console.log(e.step,"GETINFO[]",i),1&i&&(r=35),32&i&&(r|=4096),t.push(r)},void 0,function(e){const t=e.stack,i=t.pop(),r=t.pop(),n=t.pop();Ae.DEBUG&&console.log(e.step,"ROLL[]"),t.push(r),t.push(i),t.push(n)},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"MAX[]",i,r),t.push(Math.max(r,i))},function(e){const t=e.stack,i=t.pop(),r=t.pop();Ae.DEBUG&&console.log(e.step,"MIN[]",i,r),t.push(Math.min(r,i))},function(e){const t=e.stack.pop();Ae.DEBUG&&console.log(e.step,"SCANTYPE[]",t)},function(e){const t=e.stack.pop();let i=e.stack.pop();switch(Ae.DEBUG&&console.log(e.step,"INSTCTRL[]",t,i),t){case 1:return void(e.inhibitGridFit=!!i);case 2:return void(e.ignoreCvt=!!i);default:throw new Error("invalid INSTCTRL[] selector")}},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,Hu.bind(void 0,1),Hu.bind(void 0,2),Hu.bind(void 0,3),Hu.bind(void 0,4),Hu.bind(void 0,5),Hu.bind(void 0,6),Hu.bind(void 0,7),Hu.bind(void 0,8),ju.bind(void 0,1),ju.bind(void 0,2),ju.bind(void 0,3),ju.bind(void 0,4),ju.bind(void 0,5),ju.bind(void 0,6),ju.bind(void 0,7),ju.bind(void 0,8),qu.bind(void 0,0,0,0,0,0),qu.bind(void 0,0,0,0,0,1),qu.bind(void 0,0,0,0,0,2),qu.bind(void 0,0,0,0,0,3),qu.bind(void 0,0,0,0,1,0),qu.bind(void 0,0,0,0,1,1),qu.bind(void 0,0,0,0,1,2),qu.bind(void 0,0,0,0,1,3),qu.bind(void 0,0,0,1,0,0),qu.bind(void 0,0,0,1,0,1),qu.bind(void 0,0,0,1,0,2),qu.bind(void 0,0,0,1,0,3),qu.bind(void 0,0,0,1,1,0),qu.bind(void 0,0,0,1,1,1),qu.bind(void 0,0,0,1,1,2),qu.bind(void 0,0,0,1,1,3),qu.bind(void 0,0,1,0,0,0),qu.bind(void 0,0,1,0,0,1),qu.bind(void 0,0,1,0,0,2),qu.bind(void 0,0,1,0,0,3),qu.bind(void 0,0,1,0,1,0),qu.bind(void 0,0,1,0,1,1),qu.bind(void 0,0,1,0,1,2),qu.bind(void 0,0,1,0,1,3),qu.bind(void 0,0,1,1,0,0),qu.bind(void 0,0,1,1,0,1),qu.bind(void 0,0,1,1,0,2),qu.bind(void 0,0,1,1,0,3),qu.bind(void 0,0,1,1,1,0),qu.bind(void 0,0,1,1,1,1),qu.bind(void 0,0,1,1,1,2),qu.bind(void 0,0,1,1,1,3),qu.bind(void 0,1,0,0,0,0),qu.bind(void 0,1,0,0,0,1),qu.bind(void 0,1,0,0,0,2),qu.bind(void 0,1,0,0,0,3),qu.bind(void 0,1,0,0,1,0),qu.bind(void 0,1,0,0,1,1),qu.bind(void 0,1,0,0,1,2),qu.bind(void 0,1,0,0,1,3),qu.bind(void 0,1,0,1,0,0),qu.bind(void 0,1,0,1,0,1),qu.bind(void 0,1,0,1,0,2),qu.bind(void 0,1,0,1,0,3),qu.bind(void 0,1,0,1,1,0),qu.bind(void 0,1,0,1,1,1),qu.bind(void 0,1,0,1,1,2),qu.bind(void 0,1,0,1,1,3),qu.bind(void 0,1,1,0,0,0),qu.bind(void 0,1,1,0,0,1),qu.bind(void 0,1,1,0,0,2),qu.bind(void 0,1,1,0,0,3),qu.bind(void 0,1,1,0,1,0),qu.bind(void 0,1,1,0,1,1),qu.bind(void 0,1,1,0,1,2),qu.bind(void 0,1,1,0,1,3),qu.bind(void 0,1,1,1,0,0),qu.bind(void 0,1,1,1,0,1),qu.bind(void 0,1,1,1,0,2),qu.bind(void 0,1,1,1,0,3),qu.bind(void 0,1,1,1,1,0),qu.bind(void 0,1,1,1,1,1),qu.bind(void 0,1,1,1,1,2),qu.bind(void 0,1,1,1,1,3)];const Ku=ru;function Gu(e){this.char=e,this.state={},this.activeState=null}function Vu(e,t,i){this.contextName=i,this.startIndex=e,this.endOffset=t}function zu(e,t,i){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=i}function Xu(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function Wu(e){this.eventId=e,this.subscribers=[]}function $u(e){const t=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];t.forEach(e=>{Object.defineProperty(this.events,e,{value:new Wu(e)})}),e&&t.forEach(t=>{const i=e[t];"function"==typeof i&&this.events[t].subscribe(i)}),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach(e=>{this.events[e].subscribe(this.updateContextsRanges)})}function Zu(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],$u.call(this,e)}Gu.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},Gu.prototype.getState=function(e){return this.state[e]||null},Zu.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},Zu.prototype.composeRUD=function(e){const t=e.map(e=>this[e[0]].apply(this,e.slice(1).concat(!0))),i=e=>"object"==typeof e&&e.hasOwnProperty("FAIL");if(t.every(i))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:t.filter(i)};this.dispatch("composeRUD",[t.filter(e=>!i(e))])},Zu.prototype.replaceRange=function(e,t,i,r){t=null!==t?t:this.tokens.length;const n=i.every(e=>e instanceof Gu);if(!isNaN(e)&&this.inboundIndex(e)&&n){const n=this.tokens.splice.apply(this.tokens,[e,t].concat(i));return r||this.dispatch("replaceToken",[e,t,i]),[n,i]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Zu.prototype.replaceToken=function(e,t,i){if(!isNaN(e)&&this.inboundIndex(e)&&t instanceof Gu){const r=this.tokens.splice(e,1,t);return i||this.dispatch("replaceToken",[e,t]),[r[0],t]}return{FAIL:"replaceToken: invalid token or index."}},Zu.prototype.removeRange=function(e,t,i){t=isNaN(t)?this.tokens.length:t;const r=this.tokens.splice(e,t);return i||this.dispatch("removeRange",[r,e,t]),r},Zu.prototype.removeToken=function(e,t){if(!isNaN(e)&&this.inboundIndex(e)){const i=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[i,e]),i}return{FAIL:"removeToken: invalid token index."}},Zu.prototype.insertToken=function(e,t,i){return e.every(e=>e instanceof Gu)?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),i||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},Zu.prototype.registerModifier=function(e,t,i){this.events.newToken.subscribe(function(r,n){const a=[r,n],s=[r,n];if(null===t||!0===t.apply(this,a)){let t=i.apply(this,s);r.setState(e,t)}}),this.registeredModifiers.push(e)},Wu.prototype.subscribe=function(e){return"function"==typeof e?this.subscribers.push(e)-1:{FAIL:`invalid '${this.eventId}' event handler`}},Wu.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},Xu.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},Xu.prototype.get=function(e){switch(!0){case 0===e:return this.current;case e<0&&Math.abs(e)<=this.backtrack.length:return this.backtrack.slice(e)[0];case e>0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Zu.prototype.rangeToText=function(e){if(e instanceof Vu)return this.getRangeTokens(e).map(e=>e.char).join("")},Zu.prototype.getText=function(){return this.tokens.map(e=>e.char).join("")},Zu.prototype.getContext=function(e){return this.registeredContexts[e]||null},Zu.prototype.on=function(e,t){const i=this.events[e];return i?i.subscribe(t):null},Zu.prototype.dispatch=function(e,t){const i=this.events[e];i instanceof Wu&&i.subscribers.forEach(e=>{e.apply(this,t||[])})},Zu.prototype.registerContextChecker=function(e,t,i){if(this.getContext(e))return{FAIL:`context name '${e}' is already registered.`};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof i)return{FAIL:"missing context end check."};const r=new zu(e,t,i);return this.registeredContexts[e]=r,this.contextCheckers.push(r),r},Zu.prototype.getRangeTokens=function(e){const t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Zu.prototype.getContextRanges=function(e){const t=this.getContext(e);return t?t.ranges:{FAIL:`context checker '${e}' is not registered.`}},Zu.prototype.resetContextsRanges=function(){const e=this.registeredContexts;for(const t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},Zu.prototype.updateContextsRanges=function(){this.resetContextsRanges();const e=this.tokens.map(e=>e.char);for(let t=0;t<e.length;t++){const i=new Xu(e,t);this.runContextCheck(i)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Zu.prototype.setEndOffset=function(e,t){let i=new Vu(this.getContext(t).openRange.startIndex,e,t);const r=this.getContext(t).ranges;return i.rangeId=`${t}.${r.length}`,r.push(i),this.getContext(t).openRange=null,i},Zu.prototype.runContextCheck=function(e){const t=e.index;this.contextCheckers.forEach(i=>{let r=i.contextName,n=this.getContext(r).openRange;if(!n&&i.checkStart(e)&&(n=new Vu(t,null,r),this.getContext(r).openRange=n,this.dispatch("contextStart",[r,t])),n&&i.checkEnd(e)){const e=t-n.startIndex+1,i=this.setEndOffset(e,r);this.dispatch("contextEnd",[r,i])}})},Zu.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();let t=Array.from(e);this.dispatch("start");for(let i=0;i<t.length;i++){const e=t[i],r=new Xu(t,i);this.dispatch("next",[r]),this.runContextCheck(r);let n=new Gu(e);this.tokens.push(n),this.dispatch("newToken",[n,r])}return this.dispatch("end",[this.tokens]),this.tokens};const Yu=Zu;function Qu(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Ju(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function eh(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function th(e){return/[A-z]/.test(e)}function ih(e){this.font=e,this.features={}}function rh(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function nh(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:let i=t.ranges;for(let t=0;t<i.length;t++){const r=i[t];if(e>=r.start&&e<=r.end){let t=e-r.start;return r.index+t}}break;default:return-1}return-1}function ah(e,t){return-1===nh(e,t.coverage)?null:e+t.deltaGlyphId}function sh(e,t){let i=nh(e,t.coverage);return-1===i?null:t.substitute[i]}function oh(e,t){let i=[];for(let r=0;r<e.length;r++){const n=e[r];let a=t.current;a=Array.isArray(a)?a[0]:a;const s=nh(a,n);-1!==s&&i.push(s)}return i.length!==e.length?-1:i}function ch(e,t){const i=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<i)return[];let r=oh(t.inputCoverage,e);if(-1===r)return[];const n=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];let a=e.lookahead.slice(n);for(;a.length&&eh(a[0].char);)a.shift();const s=new Xu(a,0);let o=oh(t.lookaheadCoverage,s),c=[].concat(e.backtrack);for(c.reverse();c.length&&eh(c[0].char);)c.shift();if(c.length<t.backtrackCoverage.length)return[];const l=new Xu(c,0);let u=oh(t.backtrackCoverage,l),h=[];if(r.length===t.inputCoverage.length&&o.length===t.lookaheadCoverage.length&&u.length===t.backtrackCoverage.length)for(let d=0;d<t.lookupRecords.length;d++){const i=t.lookupRecords[d].lookupListIndex,n=this.getLookupByIndex(i);for(let t=0;t<n.subtables.length;t++){const i=n.subtables[t],a=this.getLookupMethod(n,i);if("12"===this.getSubstitutionType(n,i))for(let t=0;t<r.length;t++){const i=a(e.get(t));i&&h.push(i)}}}return h}function lh(e,t){let i,r=nh(e.current,t.coverage);if(-1===r)return null;let n=t.ligatureSets[r];for(let a=0;a<n.length;a++){i=n[a];for(let t=0;t<i.components.length&&e.lookahead[t]===i.components[t];t++)if(t===i.components.length-1)return i}return null}function uh(e,t){let i=nh(e,t.coverage);return-1===i?null:t.sequences[i]}ih.prototype.getDefaultScriptFeaturesIndexes=function(){const e=this.font.tables.gsub.scripts;for(let t=0;t<e.length;t++){const i=e[t];if("DFLT"===i.tag)return i.script.defaultLangSys.featureIndexes}return[]},ih.prototype.getScriptFeaturesIndexes=function(e){if(!this.font.tables.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();const t=this.font.tables.gsub.scripts;for(let i=0;i<t.length;i++){const r=t[i];if(r.tag===e&&r.script.defaultLangSys)return r.script.defaultLangSys.featureIndexes;{let t=r.langSysRecords;if(t)for(let i=0;i<t.length;i++){const r=t[i];if(r.tag===e)return r.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},ih.prototype.mapTagsToFeatures=function(e,t){let i={};for(let r=0;r<e.length;r++){const t=e[r].tag,n=e[r].feature;i[t]=n}this.features[t].tags=i},ih.prototype.getScriptFeatures=function(e){let t=this.features[e];if(this.features.hasOwnProperty(e))return t;const i=this.getScriptFeaturesIndexes(e);if(!i)return null;const r=this.font.tables.gsub;return t=i.map(e=>r.features[e]),this.features[e]=t,this.mapTagsToFeatures(t,e),t},ih.prototype.getSubstitutionType=function(e,t){return e.lookupType.toString()+t.substFormat.toString()},ih.prototype.getLookupMethod=function(e,t){switch(this.getSubstitutionType(e,t)){case"11":return e=>ah.apply(this,[e,t]);case"12":return e=>sh.apply(this,[e,t]);case"63":return e=>ch.apply(this,[e,t]);case"41":return e=>lh.apply(this,[e,t]);case"21":return e=>uh.apply(this,[e,t]);default:throw new Error(`lookupType: ${e.lookupType} - substFormat: ${t.substFormat} is not yet supported`)}},ih.prototype.lookupFeature=function(e){let t=e.contextParams,i=t.index;const r=this.getFeature({tag:e.tag,script:e.script});if(!r)return new Error(`font '${this.font.names.fullName.en}' doesn't support feature '${e.tag}' for script '${e.script}'.`);const n=this.getFeatureLookups(r),a=[].concat(t.context);for(let s=0;s<n.length;s++){const r=n[s],o=this.getLookupSubtables(r);for(let n=0;n<o.length;n++){const s=o[n],c=this.getSubstitutionType(r,s),l=this.getLookupMethod(r,s);let u;switch(c){case"11":u=l(t.current),u&&a.splice(i,1,new rh({id:11,tag:e.tag,substitution:u}));break;case"12":u=l(t.current),u&&a.splice(i,1,new rh({id:12,tag:e.tag,substitution:u}));break;case"63":u=l(t),Array.isArray(u)&&u.length&&a.splice(i,1,new rh({id:63,tag:e.tag,substitution:u}));break;case"41":u=l(t),u&&a.splice(i,1,new rh({id:41,tag:e.tag,substitution:u}));break;case"21":u=l(t.current),u&&a.splice(i,1,new rh({id:21,tag:e.tag,substitution:u}))}t=new Xu(a,i),Array.isArray(u)&&!u.length||(u=null)}}return a.length?a:null},ih.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);const t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;const i=this.features[e.script].some(t=>t.tag===e.tag);return t&&i},ih.prototype.getLookupSubtables=function(e){return e.subtables||null},ih.prototype.getLookupByIndex=function(e){return this.font.tables.gsub.lookups[e]||null},ih.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},ih.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);const t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:`No feature for script ${e.script}`}};const hh=ih,dh={startCheck:function(e){const t=e.current,i=e.get(-1);return null===i&&Qu(t)||!Qu(i)&&Qu(t)},endCheck:function(e){const t=e.get(1);return null===t||!Qu(t)}},ph={startCheck:function(e){const t=e.current,i=e.get(-1);return(Qu(t)||eh(t))&&!Qu(i)},endCheck:function(e){const t=e.get(1);switch(!0){case null===t:return!0;case!Qu(t)&&!eh(t):const i=/\s/.test(t);if(!i)return!0;if(i){let t=!1;if(t=e.lookahead.some(e=>Qu(e)||eh(e)),!t)return!0}break;default:return!1}}},fh={11:function(e,t,i){t[i].setState(e.tag,e.substitution)},12:function(e,t,i){t[i].setState(e.tag,e.substitution)},63:function(e,t,i){e.substitution.forEach((r,n)=>{t[i+n].setState(e.tag,r)})},41:function(e,t,i){let r=t[i];r.setState(e.tag,e.substitution.ligGlyph);const n=e.substitution.components.length;for(let a=0;a<n;a++)r=t[i+a+1],r.setState("deleted",!0)}},gh=function(e,t,i){e instanceof rh&&fh[e.id]&&fh[e.id](e,t,i)},mh=function(e){const t="arab",i=this.featuresTags[t],r=this.tokenizer.getRangeTokens(e);if(1===r.length)return;let n=new Xu(r.map(e=>e.getState("glyphIndex")),0);const a=new Xu(r.map(e=>e.char),0);r.forEach((e,s)=>{if(eh(e.char))return;n.setCurrentIndex(s),a.setCurrentIndex(s);let o,c=0;switch(function(e){let t=[].concat(e.backtrack);for(let i=t.length-1;i>=0;i--){const e=t[i],r=Ju(e),n=eh(e);if(!r&&!n)return!0;if(r)return!1}return!1}(a)&&(c|=1),function(e){if(Ju(e.current))return!1;for(let t=0;t<e.lookahead.length;t++)if(!eh(e.lookahead[t]))return!0;return!1}(a)&&(c|=2),c){case 1:o="fina";break;case 2:o="init";break;case 3:o="medi"}if(-1===i.indexOf(o))return;let l=this.query.lookupFeature({tag:o,script:t,contextParams:n});if(l instanceof Error)return console.info(l.message);l.forEach((e,t)=>{e instanceof rh&&(gh(e,r,t),n.context[t]=e.substitution)})})};function bh(e,t){return new Xu(e.map(e=>e.activeState.value),0)}const yh=function(e){let t=this.tokenizer.getRangeTokens(e),i=bh(t);i.context.forEach((e,r)=>{i.setCurrentIndex(r);let n=this.query.lookupFeature({tag:"rlig",script:"arab",contextParams:i});n.length&&(n.forEach(e=>gh(e,t,r)),i=bh(t))})},vh={startCheck:function(e){const t=e.current,i=e.get(-1);return null===i&&th(t)||!th(i)&&th(t)},endCheck:function(e){const t=e.get(1);return null===t||!th(t)}};function Sh(e,t){return new Xu(e.map(e=>e.activeState.value),0)}const Ch=function(e){let t=this.tokenizer.getRangeTokens(e),i=Sh(t);i.context.forEach((e,r)=>{i.setCurrentIndex(r);let n=this.query.lookupFeature({tag:"liga",script:"latn",contextParams:i});n.length&&(n.forEach(e=>gh(e,t,r)),i=Sh(t))})};function xh(e){this.baseDir=e||"ltr",this.tokenizer=new Yu,this.featuresTags={}}function wh(e){const t=this.contextChecks[`${e}Check`];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function Ah(){return wh.call(this,"latinWord"),wh.call(this,"arabicWord"),wh.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function Eh(){this.tokenizer.getContextRanges("arabicSentence").forEach(e=>{let t=this.tokenizer.getRangeTokens(e);this.tokenizer.replaceRange(e.startIndex,e.endOffset,t.reverse())})}function kh(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function Ih(){this.featuresTags.hasOwnProperty("arab")&&(kh.call(this),this.tokenizer.getContextRanges("arabicWord").forEach(e=>{mh.call(this,e)}))}function Th(){const e="arab";this.featuresTags.hasOwnProperty(e)&&-1!==this.featuresTags[e].indexOf("rlig")&&(kh.call(this),this.tokenizer.getContextRanges("arabicWord").forEach(e=>{yh.call(this,e)}))}function Dh(){const e="latn";this.featuresTags.hasOwnProperty(e)&&-1!==this.featuresTags[e].indexOf("liga")&&(kh.call(this),this.tokenizer.getContextRanges("latinWord").forEach(e=>{Ch.call(this,e)}))}xh.prototype.setText=function(e){this.text=e},xh.prototype.contextChecks={latinWordCheck:vh,arabicWordCheck:dh,arabicSentenceCheck:ph},xh.prototype.registerFeatures=function(e,t){const i=t.filter(t=>this.query.supports({script:e,tag:t}));this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(i):this.featuresTags[e]=i},xh.prototype.applyFeatures=function(e,t){if(!e)throw new Error("No valid font was provided to apply features");this.query||(this.query=new hh(e));for(let i=0;i<t.length;i++){const e=t[i];this.query.supports({script:e.script})&&this.registerFeatures(e.script,e.tags)}},xh.prototype.registerModifier=function(e,t,i){this.tokenizer.registerModifier(e,t,i)},xh.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},xh.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(Ih.call(this),Th.call(this)),this.checkContextReady("latinWord")&&Dh.call(this),this.checkContextReady("arabicSentence")&&Eh.call(this)},xh.prototype.processText=function(e){this.text&&this.text===e||(this.setText(e),Ah.call(this),this.applyFeaturesToContexts())},xh.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},xh.prototype.getTextGlyphs=function(e){this.processText(e);let t=[];for(let i=0;i<this.tokenizer.tokens.length;i++){const e=this.tokenizer.tokens[i];if(e.state.deleted)continue;const r=e.activeState.value;t.push(Array.isArray(r)?r[0]:r)}return t};const Fh=xh;function Ph(e){(e=e||{}).tables=e.tables||{},e.empty||(zl(e.familyName,"When creating a new Font object, familyName is required."),zl(e.styleName,"When creating a new Font object, styleName is required."),zl(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),zl(e.ascender,"When creating a new Font object, ascender is required."),zl(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new Rc.GlyphSet(this,e.glyphs||[]),this.encoding=new Ic(this),this.position=new Hl(this),this.substitution=new Gl(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new Ku(this):void 0}})}Ph.prototype.hasChar=function(e){return null!==this.encoding.charToGlyphIndex(e)},Ph.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},Ph.prototype.charToGlyph=function(e){const t=this.charToGlyphIndex(e);let i=this.glyphs.get(t);return i||(i=this.glyphs.get(0)),i},Ph.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map(t=>"latn"===t.script?{script:"latn",tags:t.tags.filter(t=>e[t])}:t)},Ph.prototype.stringToGlyphs=function(e,t){const i=new Fh;i.registerModifier("glyphIndex",null,e=>this.charToGlyphIndex(e.char));let r=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;i.applyFeatures(this,r);const n=i.getTextGlyphs(e);let a=n.length;const s=new Array(a),o=this.glyphs.get(0);for(let c=0;c<a;c+=1)s[c]=this.glyphs.get(n[c])||o;return s},Ph.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},Ph.prototype.nameToGlyph=function(e){const t=this.nameToGlyphIndex(e);let i=this.glyphs.get(t);return i||(i=this.glyphs.get(0)),i},Ph.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},Ph.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;const i=this.position.defaultKerningTables;return i?this.position.getKerningValue(i,e,t):this.kerningPairs[e+","+t]||0},Ph.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},Ph.prototype.forEachGlyph=function(e,t,i,r,n,a){t=void 0!==t?t:0,i=void 0!==i?i:0,r=void 0!==r?r:72,n=Object.assign({},this.defaultRenderOptions,n);const s=1/this.unitsPerEm*r,o=this.stringToGlyphs(e,n);let c;if(n.kerning){const e=n.script||this.position.getDefaultScriptName();c=this.position.getKerningTables(e,n.language)}for(let l=0;l<o.length;l+=1){const e=o[l];a.call(this,e,t,i,r,n),e.advanceWidth&&(t+=e.advanceWidth*s),n.kerning&&l<o.length-1&&(t+=(c?this.position.getKerningValue(c,e.index,o[l+1].index):this.getKerningValue(e,o[l+1]))*s),n.letterSpacing?t+=n.letterSpacing*r:n.tracking&&(t+=n.tracking/1e3*r)}return t},Ph.prototype.getPath=function(e,t,i,r,n){const a=new jo;return this.forEachGlyph(e,t,i,r,n,function(e,t,i,r){const s=e.getPath(t,i,r,n,this);a.extend(s)}),a},Ph.prototype.getPaths=function(e,t,i,r,n){const a=[];return this.forEachGlyph(e,t,i,r,n,function(e,t,i,r){const s=e.getPath(t,i,r,n,this);a.push(s)}),a},Ph.prototype.getAdvanceWidth=function(e,t,i){return this.forEachGlyph(e,0,0,t,i,function(){})},Ph.prototype.draw=function(e,t,i,r,n,a){this.getPath(t,i,r,n,a).draw(e)},Ph.prototype.drawPoints=function(e,t,i,r,n,a){this.forEachGlyph(t,i,r,n,a,function(t,i,r,n){t.drawPoints(e,i,r,n)})},Ph.prototype.drawMetrics=function(e,t,i,r,n,a){this.forEachGlyph(t,i,r,n,a,function(t,i,r,n){t.drawMetrics(e,i,r,n)})},Ph.prototype.getEnglishName=function(e){const t=this.names[e];if(t)return t.en},Ph.prototype.validate=function(){const e=this;function t(t){const i=e.getEnglishName(t);i&&i.trim().length}t("fontFamily"),t("weightName"),t("manufacturer"),t("copyright"),t("version"),this.unitsPerEm},Ph.prototype.toTables=function(){return Ol(this)},Ph.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},Ph.prototype.toArrayBuffer=function(){const e=this.toTables().encode(),t=new ArrayBuffer(e.length),i=new Uint8Array(t);for(let r=0;r<e.length;r++)i[r]=e[r];return t},Ph.prototype.download=function(e){const t=this.getEnglishName("fontFamily"),i=this.getEnglishName("fontSubfamily");e=e||t.replace(/\s/g,"")+"-"+i+".otf";const r=this.toArrayBuffer();if("undefined"!=typeof window)if(window.URL=window.URL||window.webkitURL,window.URL){const t=new DataView(r),i=new Blob([t],{type:"font/opentype"});let n=document.createElement("a");n.href=window.URL.createObjectURL(i),n.download=e;let a=document.createEvent("MouseEvents");a.initEvent("click",!0,!1),n.dispatchEvent(a)}else console.warn("Font file could not be downloaded. Try using a different browser.");else!function(e){const t=new Buffer(e.byteLength),i=new Uint8Array(e);for(let r=0;r<t.length;++r)t[r]=i[r]}(r)},Ph.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},Ph.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},Ph.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};const Bh=Ph;function Oh(e,t){const i=JSON.stringify(e);let r=256;for(let n in t){let e=parseInt(n);if(e&&!(e<256)){if(JSON.stringify(t[n])===i)return e;r<=e&&(r=e+1)}}return t[r]=e,r}function Nh(e,t,i){const r=Oh(t.name,i);return[{name:"tag_"+e,type:"TAG",value:t.tag},{name:"minValue_"+e,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+e,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+e,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+e,type:"USHORT",value:0},{name:"nameID_"+e,type:"USHORT",value:r}]}function Mh(e,t,i){const r={},n=new Sc.Parser(e,t);return r.tag=n.parseTag(),r.minValue=n.parseFixed(),r.defaultValue=n.parseFixed(),r.maxValue=n.parseFixed(),n.skip("uShort",1),r.name=i[n.parseUShort()]||{},r}function Rh(e,t,i,r){const n=[{name:"nameID_"+e,type:"USHORT",value:Oh(t.name,r)},{name:"flags_"+e,type:"USHORT",value:0}];for(let a=0;a<i.length;++a){const r=i[a].tag;n.push({name:"axis_"+e+" "+r,type:"FIXED",value:t.coordinates[r]<<16})}return n}function _h(e,t,i,r){const n={},a=new Sc.Parser(e,t);n.name=r[a.parseUShort()]||{},a.skip("uShort",1),n.coordinates={};for(let s=0;s<i.length;++s)n.coordinates[i[s].tag]=a.parseFixed();return n}const Uh={make:function(e,t){const i=new dc.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:e.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:e.instances.length},{name:"instanceSize",type:"USHORT",value:4+4*e.axes.length}]);i.offsetToData=i.sizeOf();for(let r=0;r<e.axes.length;r++)i.fields=i.fields.concat(Nh(r,e.axes[r],t));for(let r=0;r<e.instances.length;r++)i.fields=i.fields.concat(Rh(r,e.instances[r],e.axes,t));return i},parse:function(e,t,i){const r=new Sc.Parser(e,t),n=r.parseULong();Go.argument(65536===n,"Unsupported fvar table version.");const a=r.parseOffset16();r.skip("uShort",1);const s=r.parseUShort(),o=r.parseUShort(),c=r.parseUShort(),l=r.parseUShort(),u=[];for(let p=0;p<s;p++)u.push(Mh(e,t+a+p*o,i));const h=[],d=t+a+s*o;for(let p=0;p<c;p++)h.push(_h(e,d+p*l,u,i));return{axes:u,instances:h}}};var Lh=function(){return{coverage:this.parsePointer(yc.coverage),attachPoints:this.parseList(yc.pointer(yc.uShortList))}},Hh=function(){var e=this.parseUShort();return Go.argument(1===e||2===e||3===e,"Unsupported CaretValue table version."),1===e?{coordinate:this.parseShort()}:2===e?{pointindex:this.parseShort()}:3===e?{coordinate:this.parseShort()}:void 0},jh=function(){return this.parseList(yc.pointer(Hh))},qh=function(){return{coverage:this.parsePointer(yc.coverage),ligGlyphs:this.parseList(yc.pointer(jh))}},Kh=function(){return this.parseUShort(),this.parseList(yc.pointer(yc.coverage))};const Gh={parse:function(e,t){const i=new yc(e,t=t||0),r=i.parseVersion(1);Go.argument(1===r||1.2===r||1.3===r,"Unsupported GDEF table version.");var n={version:r,classDef:i.parsePointer(yc.classDef),attachList:i.parsePointer(Lh),ligCaretList:i.parsePointer(qh),markAttachClassDef:i.parsePointer(yc.classDef)};return r>=1.2&&(n.markGlyphSets=i.parsePointer(Kh)),n}},Vh=new Array(10);Vh[1]=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(yc.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(yc.coverage),values:this.parseValueRecordList()}:void Go.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Vh[2]=function(){const e=this.offset+this.relativeOffset,t=this.parseUShort();Go.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");const i=this.parsePointer(yc.coverage),r=this.parseUShort(),n=this.parseUShort();if(1===t)return{posFormat:t,coverage:i,valueFormat1:r,valueFormat2:n,pairSets:this.parseList(yc.pointer(yc.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(r),value2:this.parseValueRecord(n)}})))};if(2===t){const e=this.parsePointer(yc.classDef),a=this.parsePointer(yc.classDef),s=this.parseUShort(),o=this.parseUShort();return{posFormat:t,coverage:i,valueFormat1:r,valueFormat2:n,classDef1:e,classDef2:a,class1Count:s,class2Count:o,classRecords:this.parseList(s,yc.list(o,function(){return{value1:this.parseValueRecord(r),value2:this.parseValueRecord(n)}}))}}},Vh[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Vh[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Vh[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Vh[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Vh[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Vh[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Vh[9]=function(){return{error:"GPOS Lookup 9 not supported"}};const zh=new Array(10),Xh={parse:function(e,t){const i=new yc(e,t=t||0),r=i.parseVersion(1);return Go.argument(1===r||1.1===r,"Unsupported GPOS table version "+r),1===r?{version:r,scripts:i.parseScriptList(),features:i.parseFeatureList(),lookups:i.parseLookupList(Vh)}:{version:r,scripts:i.parseScriptList(),features:i.parseFeatureList(),lookups:i.parseLookupList(Vh),variations:i.parseFeatureVariationsList()}},make:function(e){return new dc.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new dc.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new dc.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new dc.LookupList(e.lookups,zh)}])}},Wh={parse:function(e,t){const i=new Sc.Parser(e,t),r=i.parseUShort();if(0===r)return function(e){const t={};e.skip("uShort");const i=e.parseUShort();Go.argument(0===i,"Unsupported kern sub-table version."),e.skip("uShort",2);const r=e.parseUShort();e.skip("uShort",3);for(let n=0;n<r;n+=1){const i=e.parseUShort(),r=e.parseUShort(),n=e.parseShort();t[i+","+r]=n}return t}(i);if(1===r)return function(e){const t={};e.skip("uShort"),e.parseULong()>1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");const i=255&e.parseUShort();if(e.skip("uShort"),0===i){const i=e.parseUShort();e.skip("uShort",3);for(let r=0;r<i;r+=1){const i=e.parseUShort(),r=e.parseUShort(),n=e.parseShort();t[i+","+r]=n}}return t}(i);throw new Error("Unsupported kern table version ("+r+").")}},$h={parse:function(e,t,i,r){const n=new Sc.Parser(e,t),a=r?n.parseUShort:n.parseULong,s=[];for(let o=0;o<i+1;o+=1){let e=a.call(n);r&&(e*=2),s.push(e)}return s}};function Zh(e,t){fs.readFile(e,function(e,i){if(e)return t(e.message);t(null,Vl(i))})}function Yh(e,t){const i=[];let r=12;for(let n=0;n<t;n+=1){const t=Sc.getTag(e,r),n=Sc.getULong(e,r+4),a=Sc.getULong(e,r+8),s=Sc.getULong(e,r+12);i.push({tag:t,checksum:n,offset:a,length:s,compression:!1}),r+=16}return i}function Qh(e,t){if("WOFF"===t.compression){const i=new Uint8Array(e.buffer,t.offset+2,t.compressedLength-2),r=new Uint8Array(t.length);if(function(e,t){console.warn("WOFF decompression not supported");for(let i=0;i<Math.min(e.length,t.length);i++)t[i]=e[i]}(i,r),r.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");return{data:new DataView(r.buffer,0),offset:0}}return{data:e,offset:t.offset}}function Jh(e,t){let i,r;t=null==t?{}:t;const n=new Bh({empty:!0}),a=new DataView(e,0);let s,o=[];const c=Sc.getTag(a,0);if(c===String.fromCharCode(0,1,0,0)||"true"===c||"typ1"===c)n.outlinesFormat="truetype",s=Sc.getUShort(a,4),o=Yh(a,s);else if("OTTO"===c)n.outlinesFormat="cff",s=Sc.getUShort(a,4),o=Yh(a,s);else{if("wOFF"!==c)throw new Error("Unsupported OpenType signature "+c);{const e=Sc.getTag(a,4);if(e===String.fromCharCode(0,1,0,0))n.outlinesFormat="truetype";else{if("OTTO"!==e)throw new Error("Unsupported OpenType flavor "+c);n.outlinesFormat="cff"}s=Sc.getUShort(a,12),o=function(e,t){const i=[];let r=44;for(let n=0;n<t;n+=1){const t=Sc.getTag(e,r),n=Sc.getULong(e,r+4),a=Sc.getULong(e,r+8),s=Sc.getULong(e,r+12);let o;o=a<s&&"WOFF",i.push({tag:t,offset:n,compression:o,compressedLength:a,length:s}),r+=20}return i}(a,s)}}let l,u,h,d,p,f,g,m,b,y,v,S;for(let A=0;A<s;A+=1){const e=o[A];let t;switch(e.tag){case"cmap":t=Qh(a,e),n.tables.cmap=xc.parse(t.data,t.offset),n.encoding=new Tc(n.tables.cmap);break;case"cvt ":t=Qh(a,e),S=new Sc.Parser(t.data,t.offset),n.tables.cvt=S.parseShortList(e.length/2);break;case"fvar":u=e;break;case"fpgm":t=Qh(a,e),S=new Sc.Parser(t.data,t.offset),n.tables.fpgm=S.parseByteList(e.length);break;case"head":t=Qh(a,e),n.tables.head=il.parse(t.data,t.offset),n.unitsPerEm=n.tables.head.unitsPerEm,i=n.tables.head.indexToLocFormat;break;case"hhea":t=Qh(a,e),n.tables.hhea=rl.parse(t.data,t.offset),n.ascender=n.tables.hhea.ascender,n.descender=n.tables.hhea.descender,n.numberOfHMetrics=n.tables.hhea.numberOfHMetrics;break;case"hmtx":g=e;break;case"ltag":t=Qh(a,e),r=al.parse(t.data,t.offset);break;case"maxp":t=Qh(a,e),n.tables.maxp=sl.parse(t.data,t.offset),n.numGlyphs=n.tables.maxp.numGlyphs;break;case"name":y=e;break;case"OS/2":t=Qh(a,e),n.tables.os2=Cl.parse(t.data,t.offset);break;case"post":t=Qh(a,e),n.tables.post=xl.parse(t.data,t.offset),n.glyphNames=new Fc(n.tables.post);break;case"prep":t=Qh(a,e),S=new Sc.Parser(t.data,t.offset),n.tables.prep=S.parseByteList(e.length);break;case"glyf":h=e;break;case"loca":b=e;break;case"CFF ":l=e;break;case"kern":m=e;break;case"GDEF":d=e;break;case"GPOS":p=e;break;case"GSUB":f=e;break;case"meta":v=e}}const C=Qh(a,y);if(n.tables.name=vl.parse(C.data,C.offset,r),n.names=n.tables.name,h&&b){const e=0===i,r=Qh(a,b),s=$h.parse(r.data,r.offset,n.numGlyphs,e),o=Qh(a,h);n.glyphs=Ql.parse(o.data,o.offset,s,n,t)}else{if(!l)throw new Error("Font doesn't contain TrueType or CFF outlines.");{const e=Qh(a,l);tl.parse(e.data,e.offset,n,t)}}const x=Qh(a,g);if(nl.parse(n,x.data,x.offset,n.numberOfHMetrics,n.numGlyphs,n.glyphs,t),w=n,t.lowMemory?function(e){e._IndexToUnicodeMap={};const t=e.tables.cmap.glyphIndexMap,i=Object.keys(t);for(let r=0;r<i.length;r+=1){const n=i[r];let a=t[n];void 0===e._IndexToUnicodeMap[a]?e._IndexToUnicodeMap[a]={unicodes:[parseInt(n)]}:e._IndexToUnicodeMap[a].unicodes.push(parseInt(n))}}(w):function(e){let t;const i=e.tables.cmap.glyphIndexMap,r=Object.keys(i);for(let n=0;n<r.length;n+=1){const a=r[n],s=i[a];t=e.glyphs.get(s),t.addUnicode(parseInt(a))}for(let n=0;n<e.glyphs.length;n+=1)t=e.glyphs.get(n),e.cffEncoding?e.isCIDFont?t.name="gid"+n:t.name=e.cffEncoding.charset[n]:e.glyphNames.names&&(t.name=e.glyphNames.glyphIndexToName(n))}(w),m){const e=Qh(a,m);n.kerningPairs=Wh.parse(e.data,e.offset)}else n.kerningPairs={};var w;if(d){const e=Qh(a,d);n.tables.gdef=Gh.parse(e.data,e.offset)}if(p){const e=Qh(a,p);n.tables.gpos=Xh.parse(e.data,e.offset),n.position.init()}if(f){const e=Qh(a,f);n.tables.gsub=kl.parse(e.data,e.offset)}if(u){const e=Qh(a,u);n.tables.fvar=Uh.parse(e.data,e.offset,n.names)}if(v){const e=Qh(a,v);n.tables.meta=Il.parse(e.data,e.offset),n.metas=n.tables.meta}return n}function ed(e,t,i){i=null==i?{}:i;const r=Zh;return new Promise((n,a)=>{r(e,function(e,r){if(e){if(t)return t(e);a(e)}let s;try{s=Jh(r,i)}catch(o){if(t)return t(o,null);a(o)}if(t)return t(null,s);n(s)})})}function td(e,t){return Jh(Vl(fs.readFileSync(e)),t)}const id=L,rd=new Map,nd=new Map,ad=new Map,sd=e=>{const t=e.split("-",1)[0];return t in $t()||/serif/gi.test(t)},od=async(e,t)=>{let i=Ud(t,G.FontName);try{if(console.log("规整后的字体名称",i),dd(i))await pd(i);else{let t=await e.async("uint8array"),r=id.parse(t.buffer,null);nd.set(i,r),console.log("opentype load font",i,r),await(async(e,t)=>{let i=e;const r=(e=>{let t=0,i=Object.create({}),r=!1,n=zt()[e]||e;const a=ii();n in a||(n=sd(e)?"Times-Roman":"Helvetica");const s=a[n];return"number"==typeof s?(t=s,r=!0):i=s(),{defaultWidth:t,monospace:r,widths:i}})(i),n=i.split("-",1)[0],a=(sd(n),r.monospace,Zt()[n],((e,t,i,r,n)=>({baseEncodingName:null,ascent:690,capHeight:690,descent:-209,type:"Type1",name:t,systemFontInfo:null,isSimulatedFlags:!0,flags:4,italicAngle:0,firstChar:0,lastChar:255,xHeight:461,isType3Font:!1,bbox:[-168,-341,1e3,960],hasEncoding:!0,length1:1626,length2:14082,length3:532,fontMatrix:[.001,0,.001,0,0],hasIncludedToUnicodeMap:!1,isInternalFont:!1,loadedName:n,toUnicode:ci,vmetrics:[],defaultEncoding:[""],differences:[null,""],widths:[null,0],defaultWidth:0,defaultVMetrics:null,fontName:""}))(0,i,0,0,e));a.defaultEncoding=si,a.differences=[".notdef","dotaccent","fi","fl","fraction","hungarumlaut","Lslash","lslash","ogonek","ring",".notdef","breve","minus",".notdef","Zcaron","zcaron","caron","dotlessi","dotlessj","ff","ffi","ffl","notequal","infinity","lessequal","greaterequal","partialdiff","summation","product","pi","grave","quotesingle","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",".notdef","Euro","integral","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","Omega","radical","approxequal",".notdef",null,null,"quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","Delta","lozenge","Ydieresis",".notdef","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],a.widths=oi,a.defaultWidth=r.defaultWidth,a.defaultVMetrics=null;let s=new Ro(t,t.length),o=new us(i,s,a),c=(o.data,new Map(Object.entries({Type:{name:"Font"},Subtype:{name:"Type1"},Encoding:{num:976,gen:0},FirstChar:45,LastChar:122,Widths:{num:993,gen:0},BaseFont:{name:"TACTGM+NimbusRomNo9L-Medi"},FontDescriptor:{num:4,gen:0}}))),l=new Oo({loadedName:o.loadedName,font:o,dict:c,evaluatorOptions:{maxImageSize:-1,disableFontFace:!1,ignoreErrors:!0,isEvalSupported:!0,isOffscreenCanvasSupported:!0,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:"../external/bcmaps/",standardFontDataUrl:"../external/standard_fonts/"}});const u=new Mo(l.font,{isEvalSupported:!0,disableFontFace:!1,ignoreErrors:!0,inspectFont:null});let h=new No({loadedName:e}),d=await h.bind(u);console.log("load font res",d)})(i,t),rd.set(i,!0)}}catch(r){console.error("加载字体出错",i,r)}},cd=async()=>{try{if(rd.clear(),!rd.has("SimSun")){const e="./assets/fonts/simsun.ttf";await fd("SimSun",e),rd.set("SimSun",!0)}if(!rd.has("NSimSun")){const e="./assets/fonts/Nsimsun.ttf";await fd("NSimSun",e),rd.set("NSimSun",!0)}if(!rd.has("SimHei")){const e="/assets/fonts/simhei.ttf";await fd("SimHei",e),rd.set("SimHei",!0)}if(!rd.has("SimKai")){const e="/assets/fonts/simkai.ttf";await fd("SimKai",e),rd.set("SimKai",!0)}if(!rd.has("SimFang")){const e="/assets/fonts/SimFang.ttf";await fd("SimFang",e),rd.set("SimFang",!0)}if(!rd.has("Courier")){const e="/assets/fonts/Courier.otf";await fd("Courier",e),rd.set("Courier",!0)}if(!rd.has("Courier-Bold")){const e="/assets/fonts/Courier-Bold.otf";await fd("Courier-Bold",e),rd.set("Courier-Bold",!0)}if(!rd.has("Courier-BoldOblique")){const e="/assets/fonts/Courier-BoldOblique.otf";await fd("Courier-BoldOblique",e),rd.set("Courier-BoldOblique",!0)}if(!rd.has("FangSong_GB2312")){const e="/assets/fonts/FangSong_GB2312.otf";await fd("FangSong_GB2312",e),rd.set("FangSong_GB2312",!0)}if(!rd.has("KaiTi_GB2312")){const e="/assets/fonts/KaiTi_GB2312.ttf";await fd("KaiTi_GB2312",e),rd.set("KaiTi_GB2312",!0)}if(!rd.has("Helvetica-Bold")){const e="/assets/fonts/Helvetica-Bold.otf";await fd("Helvetica-Bold",e),rd.set("Helvetica-Bold",!0)}if(!rd.has("Helvetica")){const e="/assets/fonts/Helvetica.otf";await fd("Helvetica",e),rd.set("Helvetica",!0)}if(!rd.has("Helvetica-Oblique")){const e="/assets/fonts/Helvetica-Oblique.otf";await fd("Helvetica-Oblique",e),rd.set("Helvetica-Oblique",!0)}if(!rd.has("Helvetica-BoldOblique")){const e="/assets/fonts/Helvetica-BoldOblique.ttf";await fd("Helvetica-BoldOblique",e),rd.set("Helvetica-BoldOblique",!0)}if(!rd.has("Times-Roman")){const e="/assets/fonts/Times-Roman.otf";await fd("Times-Roman",e),rd.set("Times-Roman",!0)}if(!rd.has("Times-Bold")){const e="/assets/fonts/Times-Bold.otf";await fd("Times-Bold",e),rd.set("Times-Bold",!0)}if(!rd.has("Times-Italic")){const e="/assets/fonts/Times-Italic.otf";await fd("Times-Italic",e),rd.set("Times-Italic",!0)}if(!rd.has("Times-BoldItalic")){const e="/assets/fonts/Times-BoldItalic.otf";await fd("Times-BoldItalic",e),rd.set("Times-BoldItalic",!0)}if(!rd.has("ZapfDingbats")){const e="/assets/fonts/ZapfDingbats.otf";await fd("ZapfDingbats",e),rd.set("ZapfDingbats",!0)}if(!rd.has("xbst")){const e="/assets/fonts/xbst.ttf";await fd("xbst",e),rd.set("xbst",!0)}if(!rd.has("ArialMT")){const e="/assets/fonts/ArialMT.ttf";await fd("ArialMT",e),rd.set("ArialMT",!0)}if(!rd.has("小标宋体")){const e="/assets/fonts/xiaobiaosongti.ttf";await fd("小标宋体",e),rd.set("小标宋体",!0)}if(!rd.has("仿宋")){const e="/assets/fonts/xiaobiaosongti.otf";await fd("仿宋",e),rd.set("仿宋",!0)}}catch(e){console.error("加载本地字体出错",e)}},ld=new Map([["KaiTi_GB2312","KaiTi_GB2312.ttf"],["FangSong_GB2312","FangSong_GB2312.otf"],["Times-Roman","Times-Roman.otf"],["Times-Bold","Times-Bold.otf"],["Times-Italic","Times-Italic.otf"],["Times-BoldItalic","Times-BoldItalic.otf"],["Helvetica","Helvetica.otf"],["Helvetica-Bold","Helvetica-Bold.otf"],["Helvetica-Oblique","Helvetica-Oblique.otf"],["Helvetica-BoldOblique","Helvetica-BoldOblique.ttf"],["Courier","Courier.otf"],["Courier-Bold","Courier-Bold.otf"],["Courier-Oblique","Courier-Oblique.otf"],["Courier-BoldOblique","Courier-BoldOblique.otf"],["ZapfDingbats","ZapfDingbats.otf"],["SimSun","simsun.ttf"],["NSimSun","Nsimsun.ttf"],["SimHei","simhei.ttf"],["SimKai","simkai.ttf"],["SimFang","SIMFANG.TTF"],["xbst","xbst.ttf"],["ArialMT","ArialMT.ttf"]]),ud=Array.from(ld.keys()),hd=()=>ld,dd=e=>ud.includes(e),pd=async e=>{if(dd(e))try{const t=ld.get(e);if(!t)return void console.error(`未找到字体 ${e} 对应的文件`);const i=`/assets/fonts/${t}`;await gd(e,i)}catch(t){throw console.error(`加载字体 ${e} 时出错:`,t),t}},fd=async(e,t)=>{try{await gd(e,t)}catch(i){console.error(`加载字体 ${e} 时出错:`,i)}};async function gd(e,t){try{const i=await fetch(t);if(!i.ok)return void console.error(`无法加载字体文件: ${e}`);const r=await i.arrayBuffer();let n=id.parse(r,null);nd.set(e,n)}catch(i){throw console.error(`加载字体 ${e} 时出错:`,i),i}}const md=async e=>{let t=new Yd,i=e.files;t.files=i;let r,n=await Od(i,"OFD.xml");if(n){t.ofdXml=n;let e=Nd(n,V.DocRoot);if(e){let n=oe(e.value);r=await Od(i,n),r&&(t.documentData=r)}await bd(t,n,i)}if(r){let e=Nd(r,V.Pages);e&&(t.pages=await Pd(t,e));let n=Nd(r,V.DocumentRes);if(n){let e=`${Ed}/${n.value}`,r=await Od(i,e);r&&(t.documentRes=r)}let a=Nd(r,V.PublicRes);if(a){let e=`${Ed}/${a.value}`,r=await Od(i,e);r&&(t.publicRes=r);let n=Nd(t.publicRes,V.Font);n&&await(async(e,t)=>{if(t&&t.children)for(let i=0;i<t.children.length;i++){let r=t.children[i],n=Ud(r,G.FontName),a=Ud(r,G.FamilyName),s=Ud(r,G.ID),o=Nd(r,V.FontFile);if(ad.set(s,n),console.log("load font res 11",ad,o),o&&o.value){let t=o.value,i=e[oe("/Doc_0/Res/"+t)];i&&await od(i,r)}else{let e=n||a;e=vd(e),console.log("realFontName fontName",e),e&&dd(e)&&await pd(e)}}})(i,n)}let s=Nd(r,V.Outlines);s&&await Bd(t,s);let o=Nd(r,V.Annotations);if(o){let e=`${Ed}/${o.value}`,r=await Od(i,e);t.annots=r,await yd(i,t,r)}}return t},bd=async(e,t,i)=>{let r=Nd(t,V.Signatures);if(r){let t=oe(r.value),n=t.substring(0,t.lastIndexOf("/"));e.signatures=await Od(i,t);let a=Nd(e.signatures,V.Signature);if(a&&a.children.length>0){let t=[];for(let e=0;e<a.children.length;e++){let r=a.children[e],s=Ud(r,G.ID),o=Ud(r,G.BaseLoc);o=oe(o),o.startsWith(n)||(o=`${n}/${o}`);let c=oe(o),l=await Od(i,c);s&&(l.id=s),t.push(l)}e.signatureList=t}}},yd=async(e,t,i)=>{console.log("annoteRes",i,t.pages);let r=Nd(i,V.Page),n=i.fileName.substring(0,i.fileName.lastIndexOf("/"));if(console.log("annot page ",r),r&&r.children.length>0)for(let a=0;a<r.children.length;a++){let i=r.children[a];console.log("page annotObj",i);let s=Ud(i,G.PageID);console.log("pageId",s);let o=Nd(i,V.FileLoc);if(console.log("fileLocObj location",o),o){let i=o.value;i.startsWith(n)||(i=`${n}/${i}`),console.log("annotFilePath",i,s);let r=await Od(e,i);for(let e=0;e<t.pages.length;e++)t.pages[e].id==s&&(t.pages[e].annots=r,console.log("load annotPageObj data",t.pages[e]))}}},vd=e=>{if(rd.has(e))return e;const t={};t[e]&&(e=t[e]);for(const i in t){if(new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}[-_].*$`).test(i))return t[i];if(e.includes(i))return t[i]}return e},Sd=e=>{const t=e.match(/^[A-Z]+\+(.+)$/);if(t&&(e=t[1]),e.includes(",")&&(e=e.split(",")[0].trim()),e.includes(";")&&(e=e.split(";")[0].trim()),["Times-Roman","Times-Bold","Times-Italic","Times-BoldItalic","Helvetica","Helvetica-Bold","Helvetica-Oblique","Helvetica-BoldOblique","Courier","Courier-Bold","Courier-Oblique","Courier-BoldOblique","Symbol","ZapfDingbats"].includes(e))return e;const i=e.split("-");return[...new Set(i)].filter(e=>isNaN(Number(e))).join("-")};var Cd,xd=function(e,t,i,r,n){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,i),i};Cd=new WeakMap;const wd=class{constructor(){Cd.set(this,!1),Object.defineProperty(this,"promise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"resolve",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reject",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.promise=new Promise((e,t)=>{this.resolve=t=>{xd(this,Cd,!0),e(t)},this.reject=e=>{xd(this,Cd,!0),t(e)}})}get settled(){return function(e,t){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}(this,Cd)}};var Ad=r(9);const Ed="Doc_0",kd=async function(e){try{return await q.loadAsync(e)}catch(t){return console.log("jszip unzipfile err",t),null}},Id=async(e,t)=>{let i=new ce.XMLParser({ignoreAttributes:!1,attributesGroupName:!1,trimValues:!1,attributeNamePrefix:"@_",numberParseOptions:{leadingZeros:!0,hex:!0,skipLike:/[0-9]*/}}).parse(e);return Fd(i,t)},Td=e=>z.indexOf(e)>=0,Dd=e=>{let t=new $;for(const i in e){let r=e[i],n=typeof r;if(i.startsWith("@_"))t.attrsMap.set(i,r);else if(i.startsWith("#text"))t.value=e[i];else if("object"===n){!Td(i)||r instanceof Array||(r=[r]);let e=Dd(r);e.tagName=i,t.children.push(e)}else if("string"===n||"boolean"===n||"number"===n){let e=new $;e.value=r+"",e.tagName=i,t.children.push(e)}}return t},Fd=(e,t)=>{let i=Dd(e);return i.fileName=t,i},Pd=async(e,t)=>{let i=e.files,r=e.signatureList,n=Nd(t,V.Page),a=[];if(!n)return a;await(async(e,t)=>{if(!t||0===t.length)return;console.log("开始预解析所有签名数据,共",t.length,"个签名");const i=[];for(let a=0;a<t.length;a++)try{let r=t[a],n=Nd(r,V.SignedValue);if(!n)continue;let s=n.value;s=oe(s),e.parsedSignData.has(s)||i.push({tempSign:r,signPath:s})}catch(n){console.error("收集签名解析任务错误",n)}const r=i.map(async({tempSign:t,signPath:i})=>{try{let r=await e.files[i].async("base64"),n=await function(t){try{let i;return i=Oe.test(t)?he.decode(t):(e=>{let t;if(void 0===Pe){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="= \f\n\r\t \u2028\u2029";for(Pe=[],t=0;t<64;++t)Pe[e.charCodeAt(t)]=t;for(t=0;t<i.length;++t)Pe[i.charCodeAt(t)]=-1;Pe["-".charCodeAt(0)]=Pe["+".charCodeAt(0)],Pe["_".charCodeAt(0)]=Pe["/".charCodeAt(0)]}let i=Be?new Uint8Array(3*e.length>>2):[],r=0,n=0,a=0;for(t=0;t<e.length;++t){let s=e.charCodeAt(t);if(61==s)break;if(s=Pe[s],-1!=s){if(void 0===s)throw"Illegal character at offset "+t;r|=s,++n>=4?(i[a++]=r>>16,i[a++]=r>>8&255,i[a++]=255&r,r=0,n=0):r<<=6}}switch(n){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:i[a++]=r>>10;break;case 3:i[a++]=r>>16,i[a++]=r>>8&255}return Be&&i.length>a&&(i=i.subarray(0,a)),i})(t),((t,i)=>{i=i||0;try{const e=_e(t,i),r=e.toSign.eseal.esealInfo.picture.type;return{ofdArray:e.toSign.eseal.esealInfo.picture.data.byte,type:(r.str||r).toLowerCase(),SES_Signature:e,verifyRet:Te(e)}}catch(e){return console.log(e),{}}})(i,0)}catch(i){return console.log("decode err",i),{}}}(r);if(n){if(e.parsedSignData.set(i,n),"ofd"===n.type)await(async(e,t)=>{let i=e.ofdArray,r=await kd(i),n=await md(r);t.sealData=n,console.log("parse seal ofddocument",n)})(n,t);else if("png"===n.type){let e="data:image/png;base64,"+btoa(String.fromCharCode.apply(null,n.ofdArray));t.sealData=e}t.sealObject=n}}catch(n){console.error("预解析签名错误:",i,n)}});await Promise.all(r),console.log("所有签名数据预解析完成")})(e,r);const s=[];for(let l=0;l<n.children.length;l++){let e=n.children[l];if(!e)continue;let t=Ud(e,G.BaseLoc),i=Ud(e,G.ID),r=`${Ed}/${t}`;s.push({pageID:i,pagePath:r,index:l})}const o=s.map(async({pageID:t,pagePath:n,index:a})=>{try{let s=e.parsedPageData.get(n);if(s?console.log("使用缓存的页面数据:",n):(s=await Od(i,n),s&&e.parsedPageData.set(n,s)),s)return t&&(s.id=t),((e,t,i,r)=>{if(t&&t.length>0)for(let a=0;a<t.length;a++)try{let n=t[a],s=Nd(n,V.SignedValue);if(!s)continue;let o=s.value;o=oe(o);let c=e.parsedSignData.get(o);if(!c)continue;n.sealObject=c;let l=Nd(n,V.StampAnnot);if(!l)continue;for(let e=0;e<l.children.length;e++){let t=l.children[e],a=Ud(t,G.PageRef);console.log("get pagerefid",a,i),a===i&&r.signList.push(n)}}catch(n){console.error("匹配签名到页面错误",n)}})(e,r,t,s),{pageData:s,index:a}}catch(s){console.error("解析页面错误:",n,s)}return null}),c=(await Promise.all(o)).filter(e=>null!==e).sort((e,t)=>e.index-t.index).map(e=>e.pageData);return a.push(...c),a},Bd=async(e,t)=>{if(t&&t.children.length>0){let i=t.children[0];i&&i.children.length>0&&(e.outlines=i)}console.log("parseOFDOutlines",t,e.outlines)},Od=async(e,t)=>{try{let i=Object.keys(e),r=t.toUpperCase();for(const n of i)if(r===n.toString().toLocaleUpperCase()){let i=e[n];if(i){let e=await i.async("string");return await Id(e,t)}return new $}}catch(i){console.log("parse file err",i,t,e)}return new $},Nd=(e,t)=>{if(e){if(e.tagName===t)return e;if(e.children&&e.children.length>0)for(let i=0;i<e.children.length;i++){let r=e.children[i],n=Nd(r,t);if(n)return n}}else console.warn("xmlData 为空,无法查找标签")},Md=(e,t)=>{if(e.tagName===t)return e;if(e.children&&e.children.length>0)for(let i=0;i<e.children.length;i++){let r=e.children[i];if(r.tagName===t)return r}},Rd=(e,t)=>{let i=[];if(e.tagName===t&&i.push(e),e.children&&e.children.length>0)for(let r of e.children)i=i.concat(Rd(r,t));return i},_d=(e,t)=>{if(e.tagName===t)return[e];if(e.children&&e.children.length>0){let i=[];for(let r=0;r<e.children.length;r++){let n=e.children[r],a=Nd(n,t);a&&i.push(a)}return i}return[]},Ud=(e,t)=>{let i=t;i.startsWith("@_")||(i=`@_${t}`);let r=null==e?void 0:e.attrsMap;if(r&&r.size>0)for(let n=0;n<r.size;n++)if(r.has(i))return r.get(i);if((null==e?void 0:e.children)&&e.children.length>0)for(let n=0;n<e.children.length;n++){let t=e.children[n],r=Ud(t,i);if(r)return r}},Ld=(e,t)=>{let i=t;i.startsWith("@_")||(i=`@_${t}`);let r=e.attrsMap;if(r&&r.size>0)for(let n=0;n<r.size;n++)if(r.has(i))return r.get(i)},Hd=(e,t,i)=>{t.startsWith("@_")||(t=`@_${t}`),e.attrsMap.set(t,i)},jd=(e,t,i)=>{if(Ld(i,t)===e)return i;for(let r=0;r<i.children.length;r++){let n=i.children[r],a=jd(e,t,n);if(a)return a}},qd=(e,t,i)=>{for(let r=0;r<i.length;r++){let n=i[r],a=jd(e,t,n);if(a)return a}},Kd=(e,t,i,r)=>{if(Ld(i,t)===e)return i;for(let n=0;n<i.children.length;n++){let a=i.children[n];if(a.tagName===r){let i=jd(e,t,a);if(i)return i}}},Gd=e=>{try{let t=new wd;return e instanceof File||e instanceof ArrayBuffer?Vd(e,t):zd(e,t),t}catch(t){throw console.error("解析文件错误",t),t}},Vd=async(e,t)=>{console.log("parseFileByArrayBuffer",e);const i=e instanceof File?await e.arrayBuffer():e,r=await Xd(i);t.resolve(r)},zd=(e,t)=>{console.log("parseFileByPath",e),Ad.getBinaryContent(e,async(e,i)=>{if(e)t.reject(e);else try{const e=await Xd(i);t.resolve(e)}catch(r){t.reject(r)}})},Xd=async e=>{try{const t=await kd(e);return await md(t)}catch(t){throw console.log("processOfdData err",t),t}};var Wd,$d,Zd=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Yd{constructor(){Wd.add(this),Object.defineProperty(this,"files",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"ofdXml",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"documentData",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"publicRes",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"documentRes",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"rootContainer",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"loadedMediaFile",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"mediaFileList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signatures",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"signatureList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"parsedSignData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parsedPageData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outlines",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"annots",{enumerable:!0,configurable:!0,writable:!0,value:new $}),Object.defineProperty(this,"isTextLayer",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"renderTextLayer",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"supportZoom",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"currentScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),this.loadedMediaFile=new Map,this.parsedSignData=new Map,this.parsedPageData=new Map}getMaxAndMinContentIDByPage(e){let t=9999;if(this.pages&&this.pages.length>e){let i=this.pages[e];Zd(this,Wd,"m",$d).call(this,i,t,-1),console.log("find id max and min",t,-1)}return{min:-1,max:t}}getMinContentID(){}getContentText(e){return null==e?this.getAllContentText():this.getContentTextByPageByIndex(e)}getAllContentText(){let e="";return this.pages.forEach(t=>{e+=this.getContentTextByPageByData(t)}),e}getContentTextByPageByIndex(e){let t=this.pages[e-1];return this.getContentTextByPageByData(t)}getContentTextByPageByData(e){let t="",i=Rd(e,V.TextCode);return console.log("textCodeList",i),i.forEach(e=>{t+=e.value}),t}getMaxId(){}convertToDpi(e){return this.millimetersToPixel(e,25.4*this.currentScale)}millimetersToPixel(e,t){return e*t/25.4}convertToBox(e){let t=e.split(" "),i=parseFloat(t[0]),r=parseFloat(t[1]),n=parseFloat(t[2]),a=parseFloat(t[3]);return{x:this.convertToDpi(i),y:this.convertToDpi(r),width:this.convertToDpi(n),height:this.convertToDpi(a)}}setPageScal(e){this.currentScale=e}}Wd=new WeakSet,$d=function e(t,i,r){let n=Ud(t,G.ID);if(n){let e=parseInt(n);e>i&&(i=e),r>e&&(r=e)}if(t.children&&t.children.length>0)for(let a=0;a<t.children.length;a++){let n=t.children[a];Zd(this,Wd,"m",e).call(this,n,i,r)}};class Qd{}class Jd{}var ep,tp,ip,rp,np,ap,sp,op,cp,lp,up,hp,dp,pp=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class fp extends Jd{constructor(e,t,i=!0){super(),ep.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathSvgStyle",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"svgContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible;"}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,width:0,height:0}}),Object.defineProperty(this,"svgDefs",{enumerable:!0,configurable:!0,writable:!0,value:document.createElementNS("http://www.w3.org/2000/svg","defs")}),Object.defineProperty(this,"pathId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showDefaultStrokeColor",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.ofdDocument=e,this.nodeData=t,this.pathId=Ud(t,G.ID),this.showDefaultStrokeColor=i,this.svgContainer=this.createContainerSvg(),this.svgContainer.setAttribute("style",this.svgContainerStyle)}createContainerSvg(){let e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("version","1.1"),pp(this,ep,"m",hp).call(this,this.nodeData,e),pp(this,ep,"m",tp).call(this,this.nodeData);let t=pp(this,ep,"m",up).call(this,this.nodeData);return e.appendChild(t),e.appendChild(this.svgDefs),e}getContainerSvg(){return this.svgContainer}}ep=new WeakSet,tp=function(e){let t=Ud(e,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t);let e=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.svgContainerStyle+=e}},ip=function(e,t){let i=Md(e,V.AbbreviatedData);if(!i)return;const r=Fe(this.ofdDocument,De(i.value));let n="";for(const a of r)switch("S"!==a.type&&"s"!==a.type||console.log("point",a),a.type){case"B":n+=`C${a.x1} ${a.y1} ${a.x2} ${a.y2} ${a.x3} ${a.y3} `;break;case"M":n+=`M${a.x} ${a.y} `;break;case"m":n+=`m${a.dx} ${a.dy} `;break;case"L":n+=`L${a.x} ${a.y} `;break;case"l":n+=`l${a.dx} ${a.dy} `;break;case"H":n+=`H${a.x} `;break;case"h":n+=`h${a.dx} `;break;case"V":n+=`V${a.y} `;break;case"v":n+=`v${a.dy} `;break;case"C":case"c":n+=`C${a.x1} ${a.y1} ${a.x2} ${a.y2} ${a.x} ${a.y} `;break;case"S":n+="x2"in a&&"y2"in a?`S${a.x2} ${a.y2} ${a.x} ${a.y} `:`S${a.x} ${a.y} `;break;case"s":n+="x2"in a&&"y2"in a?`s${a.x2} ${a.y2} ${a.x} ${a.y} `:`s${a.x} ${a.y} `;break;case"Q":n+=`Q${a.x1} ${a.y1} ${a.x} ${a.y} `;break;case"q":n+=`q${a.dx1} ${a.dy1} ${a.dx} ${a.dy} `;break;case"T":n+=`T${a.x} ${a.y} `;break;case"t":n+=`t${a.dx} ${a.dy} `;break;case"A":n+=`A${a.rx} ${a.ry} ${a.xAxisRotation} ${a.largeArcFlag} ${a.sweepFlag} ${a.x} ${a.y} `;break;case"a":n+=`a${a.rx} ${a.ry} ${a.xAxisRotation} ${a.largeArcFlag} ${a.sweepFlag} ${a.dx} ${a.dy} `;break;case"Z":case"z":n+="Z"}if(n.startsWith("S")){const e=n.match(/^S(\d+(?:\.\d+)?\s+\d+(?:\.\d+)?)/);e&&(n=`M${e[1]} ${n.slice(e[0].length)}`)}else n.startsWith("M")||(n=`M0 0 ${n}`);t.setAttribute("d",n)},rp=function(e){let t="";const i=Ud(e,G.DashPattern);return i&&(t=`stroke-dasharray: ${i.split(" ").map(e=>this.ofdDocument.convertToDpi(parseFloat(e))).join(" ")};`),t},np=function(e){let t="",i=Nd(e,V.FillColor),r=Ud(e,G.Fill),n=i&&Ud(i,G.Value),a=i&&parseInt(Ud(i,G.Alpha))||255;return r?i&&n&&(t+=`fill: ${ne(n,a)};`):n&&(t+=`fill: ${ne(n,a)};`),t||(t+="fill: none;"),t},ap=function(e,t){let i="",r=Ud(e,G.LineWidth);return r&&(i=`stroke-width: ${this.ofdDocument.convertToDpi(parseFloat(r))}px;`),i+=pp(this,ep,"m",sp).call(this,e,t),i},sp=function(e,t){let i="",r=Nd(e,V.StrokeColor),n=Ud(e,G.Stroke),a=r&&Ud(r,G.Value);return n&&JSON.parse(n)?a&&(i+=`stroke: ${re(a)};`):t&&(a?i+=`stroke: ${re(a)};`:this.showDefaultStrokeColor&&(i="stroke: rgb(0, 0, 0);")),i},op=function(e,t){let i=Nd(e,V.Clip);if(i&&i.children&&i.children.length>0){let r=Ud(e,G.ID),n=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),a=`CLIP_PATH_${r}`;n.setAttribute("id",a);for(let t=0;t<i.children.length;t++){let r=i.children[t],a=Nd(r,V.Area);Ud(a,G.CTM);let s=ee(),o=document.createElementNS("http://www.w3.org/2000/svg","path"),c=Nd(r,V.Path),l=Ud(c,G.Fill);if(l&&JSON.parse(l)){let t=Nd(e,V.FillColor),i=t&&Ud(t,G.Value);i?o.setAttribute("fill",re(i)):o.setAttribute("fill","true"===l?"black":"none")}else o.setAttribute("fill","black");pp(this,ep,"m",ip).call(this,c,o),s&&o.setAttribute("transform",s),n.appendChild(o)}t.setAttribute("clip-path",`url(#${a})`),this.svgDefs.appendChild(n)}},cp=function(e,t){let i=J(e);i&&t.setAttribute("transform",i)},lp=function(e,t){let i=Nd(e,V.AxialShd);if(i){let e=Ud(i,G.StartPoint),r=Ud(i,G.EndPoint),n=Nd(i,V.Segment),a=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");if(e&&r){let t=e.split(" "),i=r.split(" "),n=this.ofdDocument.convertToDpi(parseFloat(t[0]))/this.boundaryBox.width*100+"%",s=this.ofdDocument.convertToDpi(parseFloat(t[1]))/this.boundaryBox.height*100+"%",o=this.ofdDocument.convertToDpi(parseFloat(i[0]))/this.boundaryBox.width*100+"%",c=this.ofdDocument.convertToDpi(parseFloat(i[1]))/this.boundaryBox.height*100+"%";a.setAttribute("x1",n),a.setAttribute("y1",s),a.setAttribute("x2",o),a.setAttribute("y2",c)}if(n&&n.children.length>0){let e=n.children;for(let t=0;t<e.length;t++){let i=e[t],r=Ud(i,G.Position),n=Nd(i,V.Color),s=Ud(n,G.Value),o=document.createElementNS("http://www.w3.org/2000/svg","stop"),c=100*parseFloat(r)+"%",l=`stop-color: ${re(s)}; stop-opacity: 1;`;o.setAttribute("style",l),o.setAttribute("offset",c),a.appendChild(o)}}let s=`gradient_${this.pathId}`;return a.setAttribute("id",s),this.svgDefs.appendChild(a),t.setAttribute("fill",`url(#${s})`),!0}return!1},up=function(e){let t=document.createElementNS("http://www.w3.org/2000/svg","path"),i="";pp(this,ep,"m",ip).call(this,e,t),pp(this,ep,"m",cp).call(this,e,t);let r=pp(this,ep,"m",lp).call(this,e,t);return pp(this,ep,"m",op).call(this,e,t),i+=pp(this,ep,"m",rp).call(this,e),i+=pp(this,ep,"m",dp).call(this,e,t),r||(i+=pp(this,ep,"m",np).call(this,e)),i+=pp(this,ep,"m",ap).call(this,e,!0),t.setAttribute("style",i),t},hp=function(e,t){let i=Ud(e,G.ID);i&&(t.setAttribute("SVG_ID",i),this.svgContainerStyle+=`z-index: ${i};`)},dp=function(e,t){let i=Ud(e,G.DrawParam);if(i){let e=jd(i,G.ID,this.ofdDocument.publicRes);if(e){let t="";return t+=pp(this,ep,"m",np).call(this,e),t+=pp(this,ep,"m",ap).call(this,e,!0),t}}return""};var gp,mp,bp,yp,vp,Sp,Cp,xp,wp,Ap,Ep,kp=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Ip extends Jd{constructor(e,t){super(),gp.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible;"}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"imageId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"mediaNodeList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdDocument=e,this.nodeData=t,this.imageId=Ud(t,G.ID),e.mediaFileList?this.mediaNodeList=e.mediaFileList:(this.mediaNodeList=_d(this.ofdDocument.documentRes,V.MultiMedia),e.mediaFileList=this.mediaNodeList),kp(this,gp,"m",xp).call(this)}createContainerSvg(){let e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("version","1.1"),this.svgContainer=e,kp(this,gp,"m",mp).call(this,this.nodeData),kp(this,gp,"m",Sp).call(this,this.nodeData,e),e}getContainerSvg(){return this.svgContainer}}gp=new WeakSet,mp=function(e){let t=Ud(e,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t);let e=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.svgContainerStyle+=e}},bp=function(e,t){let i=Ud(e,G.CTM),r=i.split(" ");i&&(r[0]=this.ofdDocument.convertToDpi(r[0])/this.boundaryBox.width,r[1]=this.ofdDocument.convertToDpi(r[1])/this.boundaryBox.width,r[2]=this.ofdDocument.convertToDpi(r[2])/this.boundaryBox.height,r[3]=this.ofdDocument.convertToDpi(r[3])/this.boundaryBox.height,r[4]=this.ofdDocument.convertToDpi(r[4]),r[5]=this.ofdDocument.convertToDpi(r[5]),t.setAttribute("transform",`matrix(${r[0]} ${r[1]} ${r[2]} ${r[3]} ${r[4]} ${r[5]})`))},yp=function(e,t){e&&(t.setAttribute("xlink:href",e),t.setAttribute("href",e))},vp=async function(e,t){t.setAttribute("preserveAspectRatio","none"),t.setAttribute("width",this.boundaryBox.width+"px"),t.setAttribute("height",this.boundaryBox.height+"px");let i=kp(this,gp,"m",Ep).call(this,e);if(i){let e=await i.promise;e&&kp(this,gp,"m",yp).call(this,e,t)}return t},Sp=async function(e,t){let i=document.createElementNS("http://www.w3.org/2000/svg","image");kp(this,gp,"m",wp).call(this,e,t),kp(this,gp,"m",bp).call(this,this.nodeData,i),kp(this,gp,"m",vp).call(this,e,i),kp(this,gp,"m",Cp).call(this,e,i),t.appendChild(i)},Cp=function(e,t){let i=Ud(e,G.Alpha),r="";i&&parseFloat(i)>0&&(r+=`opacity: ${parseFloat(i)/255};`),t.setAttribute("style",r)},xp=function(){this.createContainerSvg(),this.svgContainer.setAttribute("style",this.svgContainerStyle)},wp=function(e,t){let i=Ud(e,G.ID);i&&(t.setAttribute("SVG_ID",i),this.svgContainerStyle+=`z-index: ${i};`)},Ap=function(e){let t=e.value.toUpperCase(),i=new wd;if(this.ofdDocument.loadedMediaFile.has(t)){let e=this.ofdDocument.loadedMediaFile.get(t);i.resolve(e)}else{let e=Object.keys(this.ofdDocument.files);for(let r=0;r<e.length;r++)if(e[r].toUpperCase().indexOf(t)>=0){this.ofdDocument.files[e[r]].async("base64").then(e=>{const r="data:image/png;base64,"+e;this.ofdDocument.loadedMediaFile.set(t,r),i.resolve(r)}).catch(e=>{i.reject(e)});break}}return i},Ep=function(e){let t=Ud(e,G.ResourceID);if(t){let e=this.mediaNodeList[0];if(e){let i=e.children[0],r=[];r=isNaN(Number(i.tagName))?[e]:e.children;for(let e=0;e<r.length;e++){let i=r[e];if(t===Ud(i,G.ID)){let e=Nd(i,V.MediaFile);if(e)return kp(this,gp,"m",Ap).call(this,e)}}}}return null};class Tp{constructor(){Object.defineProperty(this,"isCanvasRenderer",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"rendererType",{enumerable:!0,configurable:!0,writable:!0,value:"canvas"})}static getInstance(){return Tp.instance||(Tp.instance=new Tp),Tp.instance}setRendererType(e){this.rendererType=e,this.isCanvasRenderer="canvas"===e}getRendererType(){return this.rendererType}isCanvasRender(){return this.isCanvasRenderer}isSvgRender(){return!this.isCanvasRenderer}setCanvasRenderer(e){this.isCanvasRenderer=e,this.rendererType=e?"canvas":"svg"}resetToDefault(){this.isCanvasRenderer=!0,this.rendererType="canvas"}}const Dp=Tp.getInstance(),Fp={"方正小标宋体":"FZXiaoBiaoSong-B05S","小标宋体":"SimSun","宋体":"SimSun","黑体":"SimHei","楷体":"KaiTi","新宋体":"NSimSun","仿宋":"FangSong","微软雅黑":"Microsoft Yahei","微软正黑体":"Microsoft JhengHei","华文黑体":"STHeiti","华文楷体":"STKaiti"};var Pp,Bp,Op,Np,Mp,Rp,_p,Up,Lp,Hp,jp,qp,Kp,Gp,Vp=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class zp{constructor(e,t){Pp.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible;"}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textStyle",{enumerable:!0,configurable:!0,writable:!0,value:""}),this.ofdDocument=e,this.nodeData=t,this.textId=Ud(t,G.ID),Vp(this,Pp,"m",qp).call(this)}createContainerSvg(){let e=document.createElement("div");Vp(this,Pp,"m",Kp).call(this,this.nodeData,e),Vp(this,Pp,"m",Bp).call(this,this.nodeData);let t=Vp(this,Pp,"m",jp).call(this,this.nodeData);return e.appendChild(t),e}getContainerSvg(){return this.svgContainer}}Pp=new WeakSet,Bp=function(e){let t=Ud(e,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t);let e=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.svgContainerStyle+=e}},Op=function(e,t){let i=Ud(e,G.FONT);if(i){let e=Rd(this.ofdDocument.publicRes,V.Font),t=qd(i,G.ID,e);if(Kd(i,G.ID,this.ofdDocument.publicRes,V.Font),t){let e=Ud(t,G.FontName),i=Ud(t,G.FamilyName);if(e){let t=Fp[e];t?this.textStyle+=`font-family: ${t};`:(e=Sd(e),e=vd(e),this.textStyle+=`font-family: ${e};`)}else i&&(i=Sd(i),i=vd(i),this.textStyle+=`font-family: ${i};`);let r=Ud(t,G.Weight);r&&(this.textStyle+=`font-weight: ${r};`),Ud(t,G.Bold)&&(this.textStyle+="font-weight: bold;"),Ud(t,G.Italic)&&(this.textStyle+="font-style: italic;")}}},Np=function(e,t){let i=Vp(this,Pp,"m",Mp).call(this,e);i&&(this.textStyle+=`transform: ${i};`)},Mp=function(e){let t=Ud(e,G.CTM);if(t){let e=t.split(" ");return`matrix(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${this.ofdDocument.convertToDpi(parseFloat(e[4]))}, ${this.ofdDocument.convertToDpi(parseFloat(e[5]))})`}return null},Rp=function(e){let t=Q(this.ofdDocument,e);this.textStyle+=`font-size: ${t}px;`;let i=Ud(e,G.Weight);i&&(this.textStyle+=`font-weight: ${i};`),Vp(this,Pp,"m",Up).call(this,e),Vp(this,Pp,"m",_p).call(this,e);let r=Ud(e,G.Italic);r&&JSON.parse(r)&&(this.textStyle+="font-style: italic;");let n=Ud(e,G.LineWidth);if(n){let e=parseFloat(n);this.textStyle+=`stroke-width: ${this.ofdDocument.convertToDpi(e)}px;`}else this.textStyle+="stroke-width: 0;"},_p=function(e){let t=Nd(e,V.StrokeColor),i=t&&Ud(t,G.Value);if(Dp.isCanvasRender())this.textStyle+="stroke: transparent;";else if(i){let e=re(i);this.textStyle+=`stroke: ${e};`}},Up=function(e){let t=Nd(e,V.FillColor),i=t&&Ud(t,G.Value);if(Dp.isCanvasRender())this.textStyle+="fill: transparent;";else if(i){let e=re(i);this.textStyle+=`fill: ${e};`}},Lp=function(e,t){let i=Nd(e,V.TextCode);Vp(this,Pp,"m",Hp).call(this,e,i,t)},Hp=function(e,t,i){let r="",n=Ud(e,G.HScale),a=Ud(e,G.VScale);(a||n)&&(r+=`transform: scale(${n||1}, ${a||1});`);let s=Ud(t,G.X),o=Ud(t,G.Y),c=Nd(t,V.TextCode),l=null==c?void 0:c.value.toString();l=Y(l);let u=te(l,c,G.DeltaX),h=te(l,c,G.DeltaY),d=Z(this.ofdDocument,l,u,h,s,o);for(let p=0;p<d.length;p++){let e=d[p],t="";t+=r,t+="position: absolute;";let n=document.createElement("span"),a=e.x,s=e.y;t+=`left: ${a}px; bottom: ${this.boundaryBox.height-s}px;`,n.innerHTML=e.text,n.setAttribute("style",t),i.appendChild(n)}},jp=function(e){let t=document.createElement("div");return this.textStyle+=`width: ${this.boundaryBox.width}px; height: ${this.boundaryBox.height}px;`,Vp(this,Pp,"m",Np).call(this,e,t),Vp(this,Pp,"m",Rp).call(this,e),Vp(this,Pp,"m",Gp).call(this,e),Vp(this,Pp,"m",Op).call(this,e,t),Vp(this,Pp,"m",Lp).call(this,e,t),t.setAttribute("style",this.textStyle),t},qp=function(){this.svgContainer=this.createContainerSvg(),this.svgContainer.setAttribute("style",this.svgContainerStyle)},Kp=function(e,t){let i=Ud(e,G.ID);i&&(t.setAttribute("SVG_ID",i),this.svgContainerStyle+=`z-index: ${i};`)},Gp=function(e){let t=Ud(e,G.DrawParam);if(t){let e=jd(t,G.ID,this.ofdDocument.publicRes);if(e){Vp(this,Pp,"m",Up).call(this,e),Vp(this,Pp,"m",_p).call(this,e);let t=Ud(e,G.Weight);t&&(this.textStyle+=`font-weight: ${t};`),Ud(e,G.Bold)&&(this.textStyle+="font-weight: bold;"),Ud(e,G.Italic)&&(this.textStyle+="font-style: italic;")}}};var Xp,Wp,$p,Zp,Yp,Qp,Jp,ef,tf,rf,nf,af,sf,of=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class cf extends Qd{constructor(e,t){super(),Xp.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setDefaultZOrder",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"defaultZorderValue",{enumerable:!0,configurable:!0,writable:!0,value:-1}),this.ofdDocument=e,this.textLayer=t,of(this,Xp,"m",Wp).call(this)}renderWithZOrder(e,t,i){try{this.setDefaultZOrder=!0,this.defaultZorderValue=i,this.render(e,t)}catch(r){return console.log("render page content error",r,e),null}}render(e,t){try{let t=Nd(e,V.Content);t&&(of(this,Xp,"m",Wp).call(this),of(this,Xp,"m",Jp).call(this,t,this.textLayer))}catch(i){return console.log("render page content error",i,e),null}}}Xp=new WeakSet,Wp=function(){},$p=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];of(this,Xp,"m",Zp).call(this,r,t)}},Zp=function(e,t){if(Dp.isCanvasRender())switch(e.tagName){case V.TextObject:of(this,Xp,"m",ef).call(this,e,t);break;case V.PageBlock:of(this,Xp,"m",Yp).call(this,e,t)}else switch(e.tagName){case V.TextObject:of(this,Xp,"m",ef).call(this,e,t);break;case V.PathObject:of(this,Xp,"m",rf).call(this,e,t);break;case V.ImageObject:of(this,Xp,"m",af).call(this,e,t);break;case V.PageBlock:of(this,Xp,"m",Yp).call(this,e,t)}},Yp=function(e,t){if(e.children&&e.children.length>0)for(let i=0;i<e.children.length;i++){const r=e.children[i].children[0];of(this,Xp,"m",Zp).call(this,r,t)}else console.log("PageBlock没有子元素")},Qp=function(e,t){let i=e.children;for(let r=0;r<i.length;r++)of(this,Xp,"m",$p).call(this,i[r],t)},Jp=function(e,t){let i=e.children;for(let r=0;r<i.length;r++){let e=i[r];of(this,Xp,"m",Qp).call(this,e,t)}},ef=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];of(this,Xp,"m",tf).call(this,r,t)}},tf=function(e,t){let i=new zp(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)},rf=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];of(this,Xp,"m",sf).call(this,r,t)}},nf=function(e,t){let i=new Ip(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`;z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)},af=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];of(this,Xp,"m",nf).call(this,r,t)}},sf=function(e,t){let i=new fp(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`;z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)};const lf=JSON.parse('{"renderPages":[],"debug":{"drawTextBoundaryBox":false,"drawPathBoundaryBox":false,"drawImageBoundaryBox":false,"logCTMTransform":false,"logTextRendering":false,"logFontLoading":false,"showFPS":false},"rendering":{"enableAntialiasing":true,"textRenderingOptimization":true,"fontCacheSize":100,"maxCanvasSize":8192},"performance":{"enableLazyLoading":true,"enablePageCaching":true,"maxCachedPages":3},"features":{"enableZoom":true,"enablePan":true,"enableTextSelection":true,"enableAnnotation":false}}');class uf{constructor(){Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.config=this.loadConfig()}static getInstance(){return uf.instance||(uf.instance=new uf),uf.instance}logConfig(){console.log("current config",this.config)}loadConfig(){try{const e=localStorage.getItem("liteofd-config");if(e){const t=JSON.parse(e);return this.mergeConfig(lf,t)}}catch(e){console.warn("Failed to load saved config, using default:",e)}return lf}mergeConfig(e,t){const i={...e};for(const r in t)t.hasOwnProperty(r)&&"object"==typeof t[r]?i[r]={...i[r],...t[r]}:i[r]=t[r];return i}getConfig(){return this.config}getDebugConfig(){return this.config.debug}getRenderingConfig(){return this.config.rendering}getPerformanceConfig(){return this.config.performance}getFeaturesConfig(){return this.config.features}getRenderPagesConfig(){return this.config.renderPages}updateRenderPagesConfig(e){this.config.renderPages=e,this.saveConfig()}updateConfig(e){this.config=this.mergeConfig(this.config,e),this.saveConfig()}updateDebugConfig(e){this.config.debug={...this.config.debug,...e},this.saveConfig()}updateRenderingConfig(e){this.config.rendering={...this.config.rendering,...e},this.saveConfig()}updatePerformanceConfig(e){this.config.performance={...this.config.performance,...e},this.saveConfig()}updateFeaturesConfig(e){this.config.features={...this.config.features,...e},this.saveConfig()}saveConfig(){try{localStorage.setItem("liteofd-config",JSON.stringify(this.config))}catch(e){console.warn("Failed to save config:",e)}}resetToDefault(){this.config=lf,localStorage.removeItem("liteofd-config")}shouldDrawTextBoundaryBox(){return this.config.debug.drawTextBoundaryBox}shouldDrawPathBoundaryBox(){return this.config.debug.drawPathBoundaryBox}shouldDrawImageBoundaryBox(){return this.config.debug.drawImageBoundaryBox}shouldLogCTMTransform(){return this.config.debug.logCTMTransform}shouldLogTextRendering(){return this.config.debug.logTextRendering}shouldLogFontLoading(){return this.config.debug.logFontLoading}}var hf,df,pf,ff,gf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class mf{constructor(e,t){hf.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvasCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"configManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdDocument=e,this.pageCanvasCtx=t,this.configManager=uf.getInstance()}renderTextObject(e,t){console.log("textrender draw text",this.pageCanvasCtx,this.pageCanvasCtx.canvas);const i=this.pageCanvasCtx.canvas,r=window.devicePixelRatio||1,n=i.getBoundingClientRect(),a=n.width/i.width,s=n.height/i.height;console.log("Canvas缩放信息:",{canvasWidth:i.width,canvasHeight:i.height,rectWidth:n.width,rectHeight:n.height,scaleX:a,scaleY:s,devicePixelRatio:r,canvasId:i.id,canvasClass:i.className});for(let o=0;o<e.children.length;o++){let i=e.children[o];this.renderSingleTextObject(i,t)}}renderSingleTextObject(e,t){try{let t=Ud(e,G.FONT),i=Nd(e,V.TextCode);if(Ud(e,G.ID),!i)return void console.error("textCode不存在");this.pageCanvasCtx.save();let r=Ud(e,G.Boundary),n=null;if(r&&(n=this.ofdDocument.convertToBox(r)),n){let r=(null==i?void 0:i.value)||"";r=Y(r),this.configManager.shouldDrawTextBoundaryBox()&&this.drawTextBoundaryBox(n);let a=this.setCanvasFont(e,t);this.setCanvasTextColor(e),gf(this,hf,"m",ff).call(this,e);let s=1,o=1;if(Ud(e,G.CTM)){let t=Ud(e,G.CTM).split(" ");const i=parseFloat(t[0]),r=parseFloat(t[1]),a=parseFloat(t[2]),s=parseFloat(t[3]),o=parseFloat(t[4]),c=parseFloat(t[5]);this.pageCanvasCtx.translate(n.x,n.y),this.pageCanvasCtx.transform(i,r,a,s,o,c),this.pageCanvasCtx.translate(-n.x,-n.y)}else{const t=Ud(e,G.HScale)||1,i=Ud(e,G.VScale)||1;s=parseFloat(t+""),o=parseFloat(i+""),(t||i)&&(this.pageCanvasCtx.translate(n.x,n.y),this.pageCanvasCtx.scale(s,o),this.pageCanvasCtx.translate(-n.x,-n.y))}const c=te(r,i,G.DeltaX),l=te(r,i,G.DeltaY),u=Ud(i,G.X)||"0",h=Ud(i,G.Y)||"0";if(a){let t={kerning:!0,hinting:!1,features:{liga:!0,rlig:!0}};Z(this.ofdDocument,r,c,l,u,h);const i=Q(this.ofdDocument,e),d=this.pageCanvasCtx.fillStyle;let p=n.x+this.ofdDocument.convertToDpi(parseFloat(u)),f=n.y+this.ofdDocument.convertToDpi(parseFloat(h));for(let e=0;e<r.length;e++){const n=r[e],u=a.getPath(n,p,f,i,t);if(u.fill=d,u.draw(this.pageCanvasCtx),e<r.length-1){let t=0;c.length>e&&(t=c[e]);let i=0;l.length>e&&(i=l[e]),p+=this.ofdDocument.convertToDpi(t/s),f+=this.ofdDocument.convertToDpi(i/o)}}this.configManager.shouldLogTextRendering()&&console.log("Canvas opentype 绘制文本",r,"位置:",n.x,n.y,"textobject:",e,n)}else{let e=n.x+this.ofdDocument.convertToDpi(parseFloat(u)),a=n.y+this.ofdDocument.convertToDpi(parseFloat(h));for(let t=0;t<r.length;t++){const i=r[t];if(this.pageCanvasCtx.fillText(i,e,a),t<r.length-1){let i=0;c.length>t&&(i=c[t]);let r=0;l.length>t&&(r=l[t]),e+=this.ofdDocument.convertToDpi(i/s),a+=this.ofdDocument.convertToDpi(r/o)}}this.configManager.shouldLogTextRendering()&&console.log("Canvas 普通 绘制文本",r,"位置:",n.x,n.y,"字体ID:",t,i)}}this.pageCanvasCtx.restore()}catch(i){console.error("render text error",i),this.pageCanvasCtx.restore()}}applyCTMTransform(e,t){const i=Ud(e,G.CTM);if(i){this.configManager.shouldLogCTMTransform()&&console.log("text ctm text",i);const e=i.split(" ");if(e.length>=6){const i=parseFloat(e[0]),n=parseFloat(e[1]),a=parseFloat(e[2]),s=parseFloat(e[3]),o=parseFloat(e[4]),c=parseFloat(e[5]);if(this.configManager.shouldLogCTMTransform()&&console.log("CTM矩阵:",{a:i,b:n,c:a,d:s,e:o,f:c}),Math.abs(i-1)<.001&&Math.abs(n)<.001&&Math.abs(a)<.001&&Math.abs(s-1)<.001&&Math.abs(o)<.001&&Math.abs(c)<.001)this.configManager.shouldLogCTMTransform()&&console.log("CTM为单位矩阵,跳过变换");else if(this.configManager.shouldLogCTMTransform()&&console.log("应用CTM变换"),Math.abs(n)<.001&&Math.abs(a)<.001){const e=i,r=s,n=o,a=c;this.configManager.shouldLogCTMTransform()&&console.log("纯缩放矩阵 - 缩放:",e,r,"平移:",n,a),this.pageCanvasCtx.translate(n,a),this.pageCanvasCtx.translate(t.x,t.y+t.height),this.pageCanvasCtx.scale(e,r),this.pageCanvasCtx.translate(-t.x,-(t.y+t.height))}else{this.configManager.shouldLogCTMTransform()&&console.log("复杂变换矩阵,包含旋转或倾斜");const e=this.decomposeCTM(i,n,a,s,o,c);this.configManager.shouldLogCTMTransform()&&console.log("分解后的变换:",e),this.pageCanvasCtx.save();try{this.pageCanvasCtx.translate(e.translateX,e.translateY),this.pageCanvasCtx.rotate(e.rotation),this.pageCanvasCtx.translate(t.x,t.y+t.height),this.pageCanvasCtx.scale(e.scaleX,e.scaleY),this.pageCanvasCtx.translate(-t.x,-(t.y+t.height))}catch(r){console.error("CTM变换应用失败:",r)}}}}}decomposeCTM(e,t,i,r,n,a){return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(i*i+r*r),rotation:Math.atan2(t,e),translateX:n,translateY:a}}setCanvasFont(e,t){const i=Q(this.ofdDocument,e);let r=i?`${i}px`:"12px";if(t){let e=ad.get(t),n=nd.get(e);if(n)return n;{const e=Rd(this.ofdDocument.publicRes,V.Font),n=qd(t,G.ID,e);if(n){const e=Ud(n,G.FontName),t=Ud(n,G.FamilyName);e?r=`${i||12}px "${e}"`:t&&(r=`${i||12}px "${t}"`);const a=Ud(n,G.Weight);a&&(r=`${a} ${r}`),Ud(n,G.Italic)&&(r=`italic ${r}`)}}this.pageCanvasCtx.font=r}return null}setCanvasTextColor(e){const t=Nd(e,V.FillColor),i=t&&Ud(t,G.Value);if(i){const t=this.parseColorWithColorSpace(i,e);this.pageCanvasCtx.fillStyle=t}else this.pageCanvasCtx.fillStyle="#000000"}parseColorWithColorSpace(e,t){let i=Ud(t,G.ColorSpace);if(!i)return re(e);let r=Nd(this.ofdDocument.publicRes,V.ColorSpaces);if(!r)return console.warn("未找到 ColorSpaces 节点"),re(e);let n=jd(i,G.ID,r);if(!n)return console.warn(`未找到 ColorSpace ID: ${i}`),re(e);let a=Ud(n,G.Type),s=Ud(n,G.BitsPerComponent);if(this.isHexColorFormat(e))return this.parseHexColor(e);switch(a){case"RGB":return this.parseRGBColor(e,s);case"GRAY":return this.parseGrayColor(e,s);case"CMYK":return this.parseCMYKColor(e,s);default:return console.warn(`不支持的 ColorSpace 类型: ${a}`),re(e)}}isHexColorFormat(e){return e.includes("#")}parseHexColor(e){let t=e.split(" ").map(e=>{let t=e.replace("#","").trim();return t?parseInt(t,16):0}).filter(e=>!isNaN(e));if(t.length>=3)return`rgb(${t[0]}, ${t[1]}, ${t[2]})`;if(1===t.length){let e=t[0];return`rgb(${e}, ${e}, ${e})`}return console.warn(`无法解析16进制颜色格式: ${e}`),"rgb(0, 0, 0)"}parseRGBColor(e,t){let i=e.split(" ");if(i.length>=3){let e=parseInt(i[0]),r=parseInt(i[1]),n=parseInt(i[2]);if(t){let i=Math.pow(2,parseInt(t))-1;e=Math.round(e/i*255),r=Math.round(r/i*255),n=Math.round(n/i*255)}return`rgb(${e}, ${r}, ${n})`}return"rgb(0, 0, 0)"}parseGrayColor(e,t){let i=e.split(" ");if(i.length>=1){let e=parseInt(i[0]);if(t){let i=Math.pow(2,parseInt(t))-1;e=Math.round(e/i*255)}return`rgb(${e}, ${e}, ${e})`}return"rgb(0, 0, 0)"}parseCMYKColor(e,t){let i=e.split(" ");if(i.length>=4){let e=parseFloat(i[0]),r=parseFloat(i[1]),n=parseFloat(i[2]),a=parseFloat(i[3]);if(t){let i=Math.pow(2,parseInt(t))-1;e/=i,r/=i,n/=i,a/=i}return`rgb(${Math.round(255*(1-e)*(1-a))}, ${Math.round(255*(1-r)*(1-a))}, ${Math.round(255*(1-n)*(1-a))})`}return"rgb(0, 0, 0)"}drawTextBoundaryBox(e,t=!1){if(!t&&!this.configManager.shouldDrawTextBoundaryBox())return;const i=this.pageCanvasCtx;i.save(),i.strokeStyle="red",i.lineWidth=1,i.setLineDash([2,2]),i.strokeRect(e.x,e.y,e.width,e.height),i.strokeStyle="blue",i.setLineDash([]),i.beginPath(),i.moveTo(e.x,e.y),i.lineTo(e.x+e.width,e.y+e.height),i.moveTo(e.x+e.width,e.y),i.lineTo(e.x,e.y+e.height),i.stroke(),i.fillStyle="green",i.beginPath(),i.arc(e.x+e.width/2,e.y+e.height/2,2,0,2*Math.PI),i.fill(),i.restore(),this.configManager.shouldLogTextRendering()&&console.log("绘制文本边界框:",e)}}hf=new WeakSet,df=function(e){let t=Nd(e,V.StrokeColor),i=t&&Ud(t,G.Value);if(i){let t=this.parseColorWithColorSpace(i,e);this.pageCanvasCtx.strokeStyle=t}},pf=function(e){let t=Nd(e,V.FillColor),i=t&&Ud(t,G.Value);if(i){let t=this.parseColorWithColorSpace(i,e);this.pageCanvasCtx.fillStyle=t}},ff=function(e){let t=Ud(e,G.DrawParam);if(t){let e=jd(t,G.ID,this.ofdDocument.publicRes);if(e){gf(this,hf,"m",pf).call(this,e),gf(this,hf,"m",df).call(this,e);let t=Ud(e,G.Weight);t&&(this.pageCanvasCtx.font+=` ${t} `),Ud(e,G.Bold)&&(this.pageCanvasCtx.font+=" bold "),Ud(e,G.Italic)&&(this.pageCanvasCtx.font+=" italic ")}}};var bf,yf,vf,Sf,Cf,xf,wf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Af{constructor(e,t){bf.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvasCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"configManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"needFillColor",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"needStrokeColor",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"currentFillRule",{enumerable:!0,configurable:!0,writable:!0,value:"nonzero"}),this.ofdDocument=e,this.pageCanvasCtx=t,this.configManager=uf.getInstance()}renderPathObject(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];this.renderSinglePathObject(r,t)}}renderSinglePathObject(e,t){try{this.needStrokeColor=!1,this.needFillColor=!1;let t=Ud(e,G.ID),i=parseInt(t),r=Ud(e,G.Boundary),n=null;r&&(n=this.ofdDocument.convertToBox(r));let a=Md(e,V.AbbreviatedData);if(!a)return;const s=Fe(this.ofdDocument,De(a.value));81==i&&(console.log("ID=81 路径调试信息:"),console.log("- 原始路径数据:",a.value),console.log("- 解析后的点数:",s.length),console.log("- 边界框:",n),console.log("- CTM:",Ud(e,G.CTM)),console.log("- LineWidth:",Ud(e,G.LineWidth)),console.log("- 前5个路径点:",s)),this.pageCanvasCtx.save(),this.applyCTMTransform(e,n),this.setCanvasPathStyle(e),wf(this,bf,"m",yf).call(this,e),this.drawCanvasPath(s,n),this.pageCanvasCtx.restore()}catch(i){console.error("draw path error",i),this.pageCanvasCtx.restore()}}applyCTMTransform(e,t){const i=Ud(e,G.CTM);if(i){const e=i.split(" ");if(e.length>=6){const i=parseFloat(e[0]),r=parseFloat(e[1]),n=parseFloat(e[2]),a=parseFloat(e[3]),s=this.ofdDocument.convertToDpi(parseFloat(e[4])),o=this.ofdDocument.convertToDpi(parseFloat(e[5]));this.pageCanvasCtx.translate(null==t?void 0:t.x,null==t?void 0:t.y),this.pageCanvasCtx.transform(i,r,n,a,s,o),this.pageCanvasCtx.translate(-(null==t?void 0:t.x),-(null==t?void 0:t.y))}}}setCanvasPathStyle(e){const t=this.pageCanvasCtx;let i=Ud(e,G.LineWidth);if(i){let e=this.ofdDocument.convertToDpi(parseFloat(i));t.lineWidth=e}const r=Ud(e,G.DashPattern);if(r){const e=r.split(" ").map(e=>this.ofdDocument.convertToDpi(parseFloat(e)));t.setLineDash(e)}const n=Ud(e,G.Cap);if(n)switch(n){case"Square":t.lineCap="square";break;case"Round":t.lineCap="round";break;default:t.lineCap="butt"}const a=Ud(e,G.Rule);a&&(this.currentFillRule="Even-Odd"===a?"evenodd":"nonzero")}drawCanvasPath(e,t=null){const i=this.pageCanvasCtx;i.beginPath();let r=t?t.x:0,n=t?t.y:0;for(let a=0;a<e.length;a++){const s=e[a];switch(s.type){case"M":t?(i.moveTo(t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):(i.moveTo(s.x,s.y),r=s.x,n=s.y);break;case"L":case"A":t?(i.lineTo(t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):(i.lineTo(s.x,s.y),r=s.x,n=s.y);break;case"H":t?(i.lineTo(t.x+s.x,n),r=t.x+s.x):(i.lineTo(s.x,n),r=s.x);break;case"V":t?(i.lineTo(r,t.y+s.y),n=t.y+s.y):(i.lineTo(r,s.y),n=s.y);break;case"C":case"B":t?(i.bezierCurveTo(t.x+s.x1,t.y+s.y1,t.x+s.x2,t.y+s.y2,t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):(i.bezierCurveTo(s.x1,s.y1,s.x2,s.y2,s.x,s.y),r=s.x,n=s.y);break;case"S":t?("x2"in s&&"y2"in s?i.bezierCurveTo(t.x+s.x2,t.y+s.y2,t.x+s.x2,t.y+s.y2,t.x+s.x,t.y+s.y):i.bezierCurveTo(t.x+s.x,t.y+s.y,t.x+s.x,t.y+s.y,t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):("x2"in s&&"y2"in s?i.bezierCurveTo(s.x2,s.y2,s.x2,s.y2,s.x,s.y):i.bezierCurveTo(s.x,s.y,s.x,s.y,s.x,s.y),r=s.x,n=s.y);break;case"Q":t?(i.quadraticCurveTo(t.x+s.x1,t.y+s.y1,t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):(i.quadraticCurveTo(s.x1,s.y1,s.x,s.y),r=s.x,n=s.y);break;case"T":t?(i.quadraticCurveTo(t.x+s.x,t.y+s.y,t.x+s.x,t.y+s.y),r=t.x+s.x,n=t.y+s.y):(i.quadraticCurveTo(s.x,s.y,s.x,s.y),r=s.x,n=s.y);break;case"Z":case"z":i.closePath()}}this.needFillColor&&this.pageCanvasCtx.fill(this.currentFillRule),this.needStrokeColor||(this.pageCanvasCtx.strokeStyle="black"),this.pageCanvasCtx.stroke()}decomposeCTM(e,t,i,r,n,a){return{scaleX:Math.sqrt(e*e+t*t),scaleY:Math.sqrt(i*i+r*r),rotation:Math.atan2(t,e),translateX:n,translateY:a}}drawPathBoundaryBox(e){const t=this.pageCanvasCtx;t.save(),t.strokeStyle="orange",t.lineWidth=1,t.setLineDash([3,3]),t.strokeRect(e.x,e.y,e.width,e.height),t.fillStyle="purple",t.beginPath(),t.arc(e.x,e.y,3,0,2*Math.PI),t.arc(e.x+e.width,e.y,3,0,2*Math.PI),t.arc(e.x,e.y+e.height,3,0,2*Math.PI),t.arc(e.x+e.width,e.y+e.height,3,0,2*Math.PI),t.fill(),t.restore(),console.log("绘制路径边界框:",e)}parseColorWithColorSpace(e,t){let i=Ud(t,G.ColorSpace);if(!i)return re(e);let r=Nd(this.ofdDocument.publicRes,V.ColorSpaces);if(!r)return console.warn("未找到 ColorSpaces 节点"),re(e);let n=jd(i,G.ID,r);if(!n)return console.warn(`未找到 ColorSpace ID: ${i}`),re(e);let a=Ud(n,G.Type),s=Ud(n,G.BitsPerComponent);if(this.isHexColorFormat(e))return this.parseHexColor(e);switch(a){case"RGB":return this.parseRGBColor(e,s);case"GRAY":return this.parseGrayColor(e,s);case"CMYK":return this.parseCMYKColor(e,s);default:return console.warn(`不支持的 ColorSpace 类型: ${a}`),re(e)}}isHexColorFormat(e){return e.includes("#")}parseHexColor(e){let t=e.split(" ").map(e=>{let t=e.replace("#","").trim();return t?parseInt(t,16):0}).filter(e=>!isNaN(e));if(t.length>=3)return`rgb(${t[0]}, ${t[1]}, ${t[2]})`;if(1===t.length){let e=t[0];return`rgb(${e}, ${e}, ${e})`}return console.warn(`无法解析16进制颜色格式: ${e}`),"rgb(0, 0, 0)"}parseRGBColor(e,t){let i=e.split(" ");if(i.length>=3){let e=parseInt(i[0]),r=parseInt(i[1]),n=parseInt(i[2]);if(t){let i=Math.pow(2,parseInt(t))-1;e=Math.round(e/i*255),r=Math.round(r/i*255),n=Math.round(n/i*255)}return`rgb(${e}, ${r}, ${n})`}return"rgb(0, 0, 0)"}parseGrayColor(e,t){let i=e.split(" ");if(i.length>=1){let e=parseInt(i[0]);if(t){let i=Math.pow(2,parseInt(t))-1;e=Math.round(e/i*255)}return`rgb(${e}, ${e}, ${e})`}return"rgb(0, 0, 0)"}parseCMYKColor(e,t){let i=e.split(" ");if(i.length>=4){let e=parseFloat(i[0]),r=parseFloat(i[1]),n=parseFloat(i[2]),a=parseFloat(i[3]);if(t){let i=Math.pow(2,parseInt(t))-1;e/=i,r/=i,n/=i,a/=i}return`rgb(${Math.round(255*(1-e)*(1-a))}, ${Math.round(255*(1-r)*(1-a))}, ${Math.round(255*(1-n)*(1-a))})`}return"rgb(0, 0, 0)"}}bf=new WeakSet,yf=function(e){let t=Ud(e,G.DrawParam),i=Ud(e,G.Fill),r=Nd(e,V.FillColor);(i&&JSON.parse(i)||r)&&wf(this,bf,"m",Sf).call(this,e,r);let n=Ud(e,G.Stroke),a=Nd(e,V.StrokeColor);if((n&&JSON.parse(n)||a)&&wf(this,bf,"m",vf).call(this,e,a),t){let e=jd(t,G.ID,this.ofdDocument.publicRes);if(e){let t=Nd(e,V.FillColor);t&&wf(this,bf,"m",Sf).call(this,e,t);let i=Nd(e,V.StrokeColor);i&&wf(this,bf,"m",vf).call(this,e,i),wf(this,bf,"m",Cf).call(this,e),wf(this,bf,"m",xf).call(this,e)}}},vf=function(e,t){let i=t&&Ud(t,G.Value);if(i){let t=this.parseColorWithColorSpace(i,e);this.pageCanvasCtx.strokeStyle=t,this.needStrokeColor=!0}},Sf=function(e,t){let i=t&&Ud(t,G.Value);if(i){let t=this.parseColorWithColorSpace(i,e);this.pageCanvasCtx.fillStyle=t,this.needFillColor=!0}},Cf=function(e){let t=Ud(e,G.LineWidth);if(t){let e=this.ofdDocument.convertToDpi(parseFloat(t));this.pageCanvasCtx.lineWidth=e}},xf=function(e){const t=Ud(e,G.DashPattern);if(t){const e=t.split(" ").map(e=>this.ofdDocument.convertToDpi(parseFloat(e)));this.pageCanvasCtx.setLineDash(e)}else this.pageCanvasCtx.setLineDash([])};var Ef,kf,If,Tf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Df{constructor(e,t){Ef.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvasCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"mediaFileList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"configManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdDocument=e,this.pageCanvasCtx=t,this.configManager=uf.getInstance(),e.mediaFileList?this.mediaFileList=e.mediaFileList:(this.mediaFileList=_d(this.ofdDocument.documentRes,V.MultiMedia),e.mediaFileList=this.mediaFileList)}renderImageObject(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];this.renderSingleImageObject(r,t)}}async renderSingleImageObject(e,t){console.log("Canvas绘制图片:",e);let i=Ud(e,G.Boundary),r=null;i&&(r=this.ofdDocument.convertToBox(i)),Ud(e,G.ResourceID)?r&&(this.applyCTMTransform(e,r),this.drawCanvasImage(e,r)):console.error("图片资源ID不存在")}async drawCanvasImage(e,t){var i;let r=await(null==(i=Tf(this,Ef,"m",If).call(this,e))?void 0:i.promise);if(!r)return void console.error("无法获取图片数据:",e);const n=new Image;n.onload=()=>{this.pageCanvasCtx.drawImage(n,t.x,t.y,t.width,t.height)},n.onerror=()=>{console.error("图片加载失败:",e)},n.src=r}getImageData(e){let t=[];if(this.mediaFileList?t=this.mediaFileList:(t=_d(this.ofdDocument.documentRes,V.MultiMedia),this.mediaFileList=t),t&&t.length>0){let i=t[0];if(i&&i.children&&i.children.length>0){let t=i.children[0],r=[];r=isNaN(Number(t.tagName))?[i]:i.children;for(let i=0;i<r.length;i++){let t=r[i];if(e===Ud(t,G.ID)){let e=Nd(t,V.MediaFile);if(e)return this.loadImageSourceData(e)}}}}return null}loadImageSourceData(e){let t=e.value.toUpperCase();if(this.ofdDocument.loadedMediaFile.has(t))return this.ofdDocument.loadedMediaFile.get(t);{let e=Object.keys(this.ofdDocument.files);for(let r=0;r<e.length;r++)if(e[r].toUpperCase().indexOf(t)>=0){let n=this.ofdDocument.files[e[r]];try{const e="data:image/png;base64,"+n.async("base64");return this.ofdDocument.loadedMediaFile.set(t,e),e}catch(i){return console.error("图片加载失败:",i),null}}}return null}applyCTMTransform(e,t){const i=Ud(e,G.CTM);if(i){const e=i.split(" ");if(e.length>=6){const t=parseFloat(e[0]),i=parseFloat(e[1]),r=parseFloat(e[2]),n=parseFloat(e[3]),a=this.ofdDocument.convertToDpi(parseFloat(e[4])),s=this.ofdDocument.convertToDpi(parseFloat(e[5]));this.pageCanvasCtx.save(),this.pageCanvasCtx.setTransform(t,i,r,n,a,s),this.pageCanvasCtx.restore()}}}drawImageBoundaryBox(e){const t=this.pageCanvasCtx;t.save(),t.strokeStyle="green",t.lineWidth=1,t.setLineDash([4,4]),t.strokeRect(e.x,e.y,e.width,e.height),t.fillStyle="red",t.beginPath(),t.arc(e.x,e.y,3,0,2*Math.PI),t.arc(e.x+e.width,e.y,3,0,2*Math.PI),t.arc(e.x,e.y+e.height,3,0,2*Math.PI),t.arc(e.x+e.width,e.y+e.height,3,0,2*Math.PI),t.fill(),t.fillStyle="blue",t.beginPath(),t.arc(e.x+e.width/2,e.y+e.height/2,2,0,2*Math.PI),t.fill(),t.restore(),console.log("绘制图片边界框:",e)}}Ef=new WeakSet,kf=function(e){let t=e.value.toUpperCase(),i=new wd;if(this.ofdDocument.loadedMediaFile.has(t)){let e=this.ofdDocument.loadedMediaFile.get(t);i.resolve(e)}else{let e=Object.keys(this.ofdDocument.files);for(let r=0;r<e.length;r++)if(e[r].toUpperCase().indexOf(t)>=0){this.ofdDocument.files[e[r]].async("base64").then(e=>{const r="data:image/png;base64,"+e;this.ofdDocument.loadedMediaFile.set(t,r),i.resolve(r)}).catch(e=>{i.reject(e)});break}}return i},If=function(e){let t=Ud(e,G.ResourceID);if(t){let e=this.mediaFileList[0];if(e){let i=e.children[0],r=[];r=isNaN(Number(i.tagName))?[e]:e.children;for(let e=0;e<r.length;e++){let i=r[e];if(t===Ud(i,G.ID)){let e=Nd(i,V.MediaFile);if(e)return Tf(this,Ef,"m",kf).call(this,e)}}}}return null};var Ff,Pf,Bf,Of,Nf,Mf,Rf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class _f extends Qd{constructor(e,t,i){super(),Ff.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setDefaultZOrder",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"defaultZorderValue",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"pageCanvas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvasCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textRenderer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathRenderer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"imageRenderer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdDocument=e,this.pageCanvas=i,this.pageContainer=t;const r=this.pageCanvas.getContext("2d");if(!r)return console.error("无法获取canvas上下文"),null;this.pageCanvasCtx=r,this.textRenderer=new mf(this.ofdDocument,this.pageCanvasCtx),this.pathRenderer=new Af(this.ofdDocument,this.pageCanvasCtx),this.imageRenderer=new Df(this.ofdDocument,this.pageCanvasCtx),Rf(this,Ff,"m",Pf).call(this)}render(e,t){try{let i=Nd(e,V.Content);i&&(Rf(this,Ff,"m",Pf).call(this),Rf(this,Ff,"m",Mf).call(this,i,t))}catch(i){return console.error("render page content error",i,e),null}}}Ff=new WeakSet,Pf=function(){},Bf=function(e,t){switch(Ud(e,G.ID),e.tagName){case V.TextObject:this.textRenderer.renderSingleTextObject(e,t);break;case V.PathObject:this.pathRenderer.renderSinglePathObject(e,t);break;case V.ImageObject:this.imageRenderer.renderSingleImageObject(e,t)}},Of=function(e,t){let i=[];for(let r=0;r<e.children.length;r++){let t=e.children[r],n=t.tagName;t.children.forEach(e=>{e.tagName=n,i.push(e)})}i.sort((e,t)=>parseInt(Ud(e,G.ID)||"0")-parseInt(Ud(t,G.ID)||"0")),i.forEach(e=>{Rf(this,Ff,"m",Bf).call(this,e,t)})},Nf=function(e,t){let i=e.children;for(let r=0;r<i.length;r++)Rf(this,Ff,"m",Of).call(this,i[r],t)},Mf=function(e,t){let i=e.children;for(let r=0;r<i.length;r++){let e=i[r];Rf(this,Ff,"m",Nf).call(this,e,t)}};var Uf,Lf,Hf,jf,qf,Kf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Gf{constructor(e,t,i){Uf.add(this),Object.defineProperty(this,"contentLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"canvasContentLayer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"textLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdPage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"renderPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdPage=t,this.ofdDocument=e,this.textLayer=i,this.renderPromise=new wd}render(e,t=null,i){return this.pageContainer=e,this.pageCanvas=i,this.canvasContentLayer=t?new _f(this.ofdDocument,this.pageContainer,this.pageCanvas):t,Kf(this,Uf,"m",jf).call(this),this.renderPromise}}Uf=new WeakSet,Lf=function(e,t,i=0){this.contentLayer=new cf(this.ofdDocument,this.textLayer),i?this.contentLayer.renderWithZOrder(e,t,i):this.contentLayer.render(e,t)},Hf=function(e,t,i=0){var r;null==(r=this.canvasContentLayer)||r.render(e,t)},jf=function(){setTimeout(()=>{try{const e=Array.from(this.ofdPage.children).find(e=>e.tagName===V.Page);if(!e)throw new Error("Page data not found");Kf(this,Uf,"m",qf).call(this,e,this.pageContainer),this.renderPromise.resolve(this.ofdPage)}catch(e){this.renderPromise.reject(e)}},10)},qf=function(e,t){console.log("content render type",Dp.isCanvasRender(),e,t),Kf(this,Uf,"m",Hf).call(this,e,t),this.ofdDocument.isTextLayer&&uf.getInstance().getFeaturesConfig().enableTextSelection&&Kf(this,Uf,"m",Lf).call(this,e,t)};var Vf,zf,Xf,Wf,$f,Zf=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Yf{constructor(e,t,i){Vf.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdPage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible; cursor: pointer;"}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signZIndex",{enumerable:!0,configurable:!0,writable:!0,value:999}),Object.defineProperty(this,"mediaNodeList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sealObject",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdPage=t,this.ofdDocument=e,this.nodeData=i,this.sealObject=i.sealObject,this.sealObject&&(this.initViewContainer(),this.addClickListener())}initViewContainer(){"ofd"===this.sealObject.type?(this.nodeData.sealData.currentScale=this.ofdDocument.currentScale,Zf(this,Vf,"m",zf).call(this,this.nodeData.sealData)):"png"===this.sealObject.type&&Zf(this,Vf,"m",Wf).call(this,this.nodeData)}getContainerSvg(){return this.viewContainer}addClickListener(){this.viewContainer&&this.viewContainer.addEventListener("click",e=>{e.stopPropagation();const t=new CustomEvent("signature-element-click",{detail:{nodeData:this.nodeData,sealObject:this.sealObject,boundaryBox:this.boundaryBox,page:this.ofdPage},bubbles:!0,cancelable:!0});this.viewContainer.dispatchEvent(t)})}}Vf=new WeakSet,zf=function(e){console.log("render signature ",e),e.isTextLayer=!1,this.viewContainer=document.createElement("div"),Zf(this,Vf,"m",$f).call(this),Zf(this,Vf,"m",Xf).call(this,this.nodeData),this.viewContainer.setAttribute("name","seal_img_div"),this.sealObject.SES_Signature,this.sealObject,this.viewContainer.setAttribute("style",this.viewContainerStyle);let t=document.createElement("div");new wg(e).render(t,null),this.viewContainer.appendChild(t)},Xf=function(e){let t=Nd(e,V.StampAnnot);for(let i=0;i<(null==t?void 0:t.children.length);i++){let r=null==t?void 0:t.children[i];if(Ud(r,G.PageRef)===this.ofdPage.id){let t=Ud(r,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t),e.boundaryBox=this.boundaryBox;let i=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.viewContainerStyle+=i}let i=Ud(r,G.Clip);if(i){let e=this.ofdDocument.convertToBox(i),t=`clip: rect(${e.y}px, ${e.width+e.x}px, ${e.height+e.y}px, ${e.x}px);`;this.viewContainerStyle+=t}return}}},Wf=async function(e){this.viewContainer=document.createElementNS("http://www.w3.org/2000/svg","svg"),Zf(this,Vf,"m",$f).call(this),Zf(this,Vf,"m",Xf).call(this,this.nodeData),this.viewContainer.setAttribute("name","seal_img_div"),this.sealObject.SES_Signature,this.sealObject,this.viewContainer.setAttribute("style",this.viewContainerStyle);let t=e.sealData,i=document.createElementNS("http://www.w3.org/2000/svg","image");i.setAttribute("href",t),i.setAttribute("xlink:href",t),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("width",`${this.boundaryBox.width}px`),i.setAttribute("height",`${this.boundaryBox.height}px`),i.setAttribute("opacity","1"),this.viewContainer.appendChild(i)},$f=function(){this.viewContainerStyle+=`z-index: ${this.signZIndex};`};var Qf,Jf,eg,tg,ig=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class rg{constructor(e,t){Qf.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible;"}),Object.defineProperty(this,"pathId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"appearanceData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parameterData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,width:0,height:0}}),Object.defineProperty(this,"zIndex",{enumerable:!0,configurable:!0,writable:!0,value:1}),this.ofdDocument=e,this.nodeData=t,this.pathId=Ud(t,G.ID),this.appearanceData=Nd(t,V.Appearance),this.parameterData=Nd(t,V.Parameters),this.pathContainer=this.createContainerSvg(),this.pathContainer.setAttribute("style",this.pathContainerStyle)}createContainerSvg(){let e=document.createElement("div");if(ig(this,Qf,"m",Jf).call(this),ig(this,Qf,"m",eg).call(this,this.nodeData,e),this.appearanceData&&ig(this,Qf,"m",tg).call(this,this.appearanceData),this.appearanceData){let t=Nd(this.appearanceData,V.PathObject);console.log("pathObjectData list render",t),t&&t.children.length>0&&t.children.forEach(t=>{let i=new fp(this.ofdDocument,t,!1).getContainerSvg();e.appendChild(i)})}return e}getContainerSvg(){return this.pathContainer}}Qf=new WeakSet,Jf=function(){switch(Ud(this.nodeData,G.Subtype)){case W.Path.subType.Watercolor:case W.Path.subType.Fluorescent:case W.Path.subType.Pen:this.zIndex=9999;break;case W.Path.subType.Strikeout:case W.Path.subType.Squiggly:default:this.zIndex=1}},eg=function(e,t){let i=Ud(e,G.ID);i&&(t.setAttribute("SVG_ID",i),this.pathContainerStyle+=`z-index: ${this.zIndex};`)},tg=function(e){let t=Ud(e,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t);let e=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\t\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.pathContainerStyle+=e}};class ng{constructor(e,t,i){Object.defineProperty(this,"annotData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdPage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible; cursor: pointer;"}),Object.defineProperty(this,"viewZIndex",{enumerable:!0,configurable:!0,writable:!0,value:9999}),Object.defineProperty(this,"annotNodeList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.ofdPage=t,this.ofdDocument=e,this.annotData=t.annots,this.viewContainer=i,this.annotData&&(this.initViewContainer(),this.addClickListener())}initViewContainer(){let e=Nd(this.annotData,V.Annot);(null==e?void 0:e.children)&&e.children.length>0&&(this.annotNodeList=e.children)}addClickListener(){}render(){this.annotNodeList.length>0&&this.annotNodeList.forEach((e,t)=>{console.log(`正在渲染第 ${t+1} 个注释`,e),this.renderSingleAnnotation(e)})}renderSingleAnnotation(e){let t=Ud(e,G.Type);switch(t){case W.Path.value:this.renderPathAnnot(e);break;case W.Highlight.value:this.renderHightLightAnnot(e);break;case W.Stamp.value:this.renderStampAnnot(e);break;default:console.log(`未知的注释类型: ${t}`)}}renderStampAnnot(e){let t=Ud(e,G.Subtype);switch(console.log("stamp subtype",t),t){case W.Stamp.subType.Stamp:this.renderStamp(e);break;case W.Stamp.subType.SignatureInFile:this.renderSignatureInFile(e)}}renderSignatureInFile(e){}renderStamp(e){console.log("render stamp",e);let t=Nd(e,V.Appearance),i=Nd(e,V.ImageObject);if(i&&t){let e=Ud(t,G.Boundary);e&&Hd(i,G.Boundary,e);let r=new Ip(this.ofdDocument,i);this.viewContainer.appendChild(r.getContainerSvg())}}renderPathAnnot(e){let t=new rg(this.ofdDocument,e);this.viewContainer.appendChild(t.getContainerSvg())}renderHightLightAnnot(e){let t=new rg(this.ofdDocument,e);this.viewContainer.appendChild(t.getContainerSvg())}}var ag,sg,og,cg,lg,ug,hg,dg,pg,fg,gg,mg,bg=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class yg{constructor(e,t,i){ag.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"canvasContentLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"annotionLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"annotationEditorLayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"canvasWrapper",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageCanvas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pagePhysicBox",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,width:0,height:0}}),this.ofdDocument=e,this.pageData=t}getPageBox(){return this.pagePhysicBox}getPageElement(){return bg(this,ag,"m",hg).call(this,this.pageData),bg(this,ag,"m",pg).call(this,this.pageData,this.pageContainer),this.pageContainer}}ag=new WeakSet,sg=function(e,t,i=0){this.contentLayer=new cf(this.ofdDocument,this.textLayer),i?this.contentLayer.renderWithZOrder(e,t,i):this.contentLayer.render(e,t)},og=function(e,t,i=0){this.canvasContentLayer||(this.canvasContentLayer=new _f(this.ofdDocument,this.pageContainer,this.pageCanvas)),this.canvasContentLayer.render(e,t)},cg=async function(e,t){if(Nd(e,V.Template)){let i=Ud(e,G.TemplateID),r=Ud(e,G.ZOrder);if(i){let n={min:9,max:9999};se(e,n);let a=-1;a="Background"===r?n.min-1:n.max+1;let s=Nd(this.ofdDocument.documentData,V.TemplatePage);if(console.log("render templateObj 2",s),s&&s.children.length>0)for(let e=0;e<s.children.length;e++){let r=s.children[e],n=Ud(r,G.ID);if(console.log("render templateObj with id",n,i),i===n){let e=Ud(r,G.BaseLoc);e=`${Ed}/${e}`;let i=await Od(this.ofdDocument.files,e);if(i&&i instanceof $){let r=Nd(i,V.Page);r&&bg(this,ag,"m",og).call(this,r,t,a),this.ofdDocument.isTextLayer&&this.ofdDocument.renderTextLayer&&r&&bg(this,ag,"m",sg).call(this,r,t,a),console.log("template file data",i,e,this.ofdDocument.files)}}}}}},lg=function(e){let t=Nd(e,V.PhysicalBox);return t||(t=Nd(this.ofdDocument.documentData,V.PhysicalBox)),this.pagePhysicBox=this.ofdDocument.convertToBox(t.value),`width: ${this.pagePhysicBox.width}px; height: ${this.pagePhysicBox.height}px; position: relative;`},ug=function(e){let t=Nd(e,V.PhysicalBox);t||(t=Nd(this.ofdDocument.documentData,V.PhysicalBox));let i=this.ofdDocument.convertToBox(t.value);return`width: ${i.width}px; height: ${i.height}px; position: absolute; left: 0; top: 0`},hg=function(e){let t=document.createElement("div");t.setAttribute("class","page-container");let i=bg(this,ag,"m",lg).call(this,e);t.setAttribute("style",i),this.pageContainer=t;let r=bg(this,ag,"m",ug).call(this,e);this.canvasWrapper=bg(this,ag,"m",dg).call(this,e),this.canvasWrapper.setAttribute("style",r);let n=document.createElement("div");n.setAttribute("style",r),n.setAttribute("class","annotationEditorLayer"),t.appendChild(n),this.annotationEditorLayer=n;let a=document.createElement("div");if(a.setAttribute("style",r),a.setAttribute("class","annotionLayer"),t.appendChild(a),this.annotionLayer=a,this.ofdDocument.isTextLayer&&this.ofdDocument.renderTextLayer){let e=document.createElement("div");e.setAttribute("style",r),e.setAttribute("class","textLayer"),t.appendChild(e),this.textLayer=e}return t},dg=function(e){let t=document.createElement("div");t.setAttribute("class","canvas-wrapper");let i=document.createElement("canvas");const r=Date.now();i.setAttribute("id",`page-canvas-${r}`),i.setAttribute("class","page-canvas");let n=Nd(e,V.PhysicalBox);n||(n=Nd(this.ofdDocument.documentData,V.PhysicalBox));let a=this.ofdDocument.convertToBox(n.value);return i.width=a.width,i.height=a.height,this.pageContainer.appendChild(t),t.appendChild(i),this.pageCanvas=i,t},pg=async function(e,t){let i=new Gf(this.ofdDocument,e,this.textLayer);this.canvasContentLayer||(this.canvasContentLayer=new _f(this.ofdDocument,this.pageContainer,this.pageCanvas)),bg(this,ag,"m",cg).call(this,e,t),bg(this,ag,"m",gg).call(this,e,t),bg(this,ag,"m",mg).call(this,e,t),i.render(t,this.canvasContentLayer,this.pageCanvas).promise.then(e=>{}).catch(e=>{console.log("render page err",e)})},fg=function(e,t){if(console.log("render single stamp anot",e),e.sealObject){let i=new Yf(this.ofdDocument,this.pageData,e).getContainerSvg();i.setAttribute("ID","SIGN_VIEW"),t.appendChild(i)}},gg=function(e,t){let i=e.signList;if(i&&i.length>0)for(let r=0;r<i.length;r++){let e=i[r];bg(this,ag,"m",fg).call(this,e,t)}},mg=function(e,t){e.annots&&(console.log("render annot layer",e),new ng(this.ofdDocument,e,t).render())};var vg,Sg,Cg,xg=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class wg{constructor(e){vg.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scrollContainer",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"rootContainer",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"sealContainer",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"currentPageIndex",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"pagesContainerList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"minWidth",{enumerable:!0,configurable:!0,writable:!0,value:-1}),this.ofdDocument=e,this.pages=this.ofdDocument.pages}renderOfdWithSize(e,t,i=null){const r=document.createElement("div");r.style.cssText=`width: ${e}px;`;let n=((e,t)=>{let i=Nd(e.documentData,V.PhysicalBox);if(console.log("physicalBoxObj",i),i){let r=i.value.split(" "),n=parseFloat(r[2]),a=e.convertToDpi(n);console.log("screen width and ofdWidth",t,n,a,t);let s=t/n;return console.log("current custom page scale",s),s}return 1})(this.ofdDocument,e);return this.ofdDocument.currentScale=n,this.renderOfdWithScale(r,n,i),r}renderOfdWithCustomDiv(e,t=null,i,r){let n=((e,t)=>{let i;i=t&&t>0?t:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;let r=Nd(e.documentData,V.PhysicalBox);if(console.log("physicalBoxObj",r),r){let t=r.value.split(" "),n=parseFloat(t[2]),a=e.convertToDpi(n);console.log("screen width and ofdWidth",i,n,a,i);let s=i/n;return console.log("current page scale",s),s}return 1})(this.ofdDocument,this.minWidth);return this.renderOfdWithScale(e,n,t,i,r),this.scrollContainer}renderOfdWithPageIndexWithScale(e,t,i=null,r){this.ofdDocument.setPageScal(r),this.renderOfdWithPageIndex(e,t,i)}renderOfdWithPageIndex(e,t,i=null){this.pagesContainerList=[],xg(this,vg,"m",Cg).call(this,e,t,i)}changeScale(e){this.ofdDocument.setPageScal(e)}renderOfdWithScale(e,t,i=null,r,n){this.ofdDocument.setPageScal(t),this.ofdDocument.rootContainer=e,this.sealContainer.setAttribute("class","sign-pages-container"),n&&n.appendChild(this.sealContainer),this.render(e,i,r,n)}render(e,t,i,r){this.rootContainer=e,xg(this,vg,"m",Sg).call(this,e,t,i),console.log("render scrolllistener ele",r),r?(this.scrollContainer=r,this.scrollContainer.appendChild(e)):(this.scrollContainer.style.cssText="\n\t\t\toverflow: auto;\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tscroll-behavior: smooth;\n\t\t",this.scrollContainer.appendChild(e),this.pages.length>1&&this.addScrollListener(this.scrollContainer))}getPagesContainerList(){return this.pagesContainerList}zoomIn(){if(this.rootContainer){const e=1.1*parseFloat(this.rootContainer.dataset.scale||"1");this.applyZoom(this.rootContainer,e)}}zoomOut(){if(this.rootContainer){const e=parseFloat(this.rootContainer.dataset.scale||"1"),t=Math.max(.9*e,.1);this.applyZoom(this.rootContainer,t)}}applyZoom(e,t){e&&(e.style.transform=`scale(${t})`,e.style.transformOrigin="center top"),this.sealContainer&&(this.sealContainer.style.transform=`scale(${t})`,this.sealContainer.style.transformOrigin="center top")}adjustContainerAndPosition(e,t,i){if(e&&e.parentElement){const r=e.parentElement,n=t*i,a=e.offsetHeight*i;r.style.width=`${n}px`,r.style.height=`${a}px`;const s=Math.max((r.offsetWidth-n)/2,0),o=Math.max((r.offsetHeight-a)/2,0);e.style.marginLeft=`${s}px`,e.style.marginTop=`${o}px`,r.style.overflow="auto"}}resetZoom(){this.rootContainer&&this.applyZoom(this.rootContainer,1)}getScrollContainer(){return this.scrollContainer}addScrollListener(e){console.log("addScrollListener",e),e.setAttribute(G.ID,"ofd-scroll-container");const t=e.querySelectorAll('[id^="ofd-page-"]');let i;e.addEventListener("scroll",()=>{i&&clearTimeout(i),i=setTimeout(()=>{const i=e.getBoundingClientRect();for(let e=0;e<t.length;e++){const r=t[e],n=r.getBoundingClientRect();if(Math.min(n.bottom,i.bottom)-Math.max(n.top,i.top)>=n.height/5){let t=e+1;if(t!==this.currentPageIndex){this.currentPageIndex=t;const e=new CustomEvent("ofdPageChange",{detail:{pageIndex:t,pageId:r.id}});window.dispatchEvent(e)}break}}},200)})}}vg=new WeakSet,Sg=function(e,t,i){try{if(this.pagesContainerList=[],Array.isArray(i)&&i.length>0)for(const r of i)r>=0&&r<this.pages.length&&xg(this,vg,"m",Cg).call(this,r,e,t);else for(let i=0;i<this.pages.length;i++)xg(this,vg,"m",Cg).call(this,i,e,t)}catch(r){console.log("render error",r)}},Cg=function(e,t,i=null){let r=this.pages[e],n=new yg(this.ofdDocument,r,t);const a=`ofd-page-${e+1}`;let s=n.getPageElement();if(s.setAttribute(G.ID,a),i){let e=s.getAttribute("style")||"";e+=i,s.setAttribute("style",e)}console.log("current page minwidth",n.getPageBox()),console.log("rootContainer minwidth",t.style.minWidth),console.log("pages container",t,t.style);let o=n.getPageBox().width,c=t.style.minWidth;this.minWidth>0?t.style.minWidth=this.minWidth+"px":c?c.replace("px","")<o&&(t.style.minWidth=o+"px"):t.style.minWidth=o+"px",console.log("pages container",t.style.minWidth),t.appendChild(s),this.pagesContainerList.push(s)};const Ag=(e,t=null)=>{let i=e.tagName;isNaN(Number(i))||(i=t?t.tagName:"");let r=e.value,n=`<${i} ${(e=>{let t="";for(const[i,r]of e.entries())t+=`${i.replace("@_","")}="${r}" `;return t})(e.attrsMap)}>`,a="",s="",o=!0;if(e.children&&e.children.length>0){let t=e.children[0],r=e.children,n=Number(t.tagName);if(isNaN(n)){i||(o=!1);for(let t=0;t<r.length;t++){let i=e.children[t];a+=Ag(i,e)}}else{o=!1,i=e.tagName;for(let t=0;t<e.children.length;t++){let i=e.children[t];a+=Ag(i,e)}}}else r&&(a=r);return s=i.startsWith("?xml")?n.replace(">","?>"):o?n+a+`</${i}>`:a,a||(s=s.replace(`></${i}>`,"/>")),s};var Eg,kg,Ig,Tg,Dg,Fg,Pg=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Bg{constructor(e){Eg.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"destPath",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"jsZip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ofdDocument=e,this.jsZip=new(K())}saveTo(e){this.destPath=e,this.convertDocumentToXml(),Pg(this,Eg,"m",Tg).call(this)}saveAs(e,t,i){let r=document.createElement("a"),n=i||"data";r.href=URL.createObjectURL(e),r.download=n+".ofd",r.click()}saveZipBlobToFile(e,t){this.saveAs(e,"zip",t)}convertDocumentToXml(){console.log("save document",this.ofdDocument);let e=Pg(this,Eg,"m",Fg).call(this,this.ofdDocument.ofdXml);Pg(this,Eg,"m",kg).call(this,e,this.ofdDocument.ofdXml.fileName),Pg(this,Eg,"m",Ig).call(this);let t=Pg(this,Eg,"m",Fg).call(this,this.ofdDocument.documentData);Pg(this,Eg,"m",kg).call(this,t,this.ofdDocument.documentData.fileName);let i=Pg(this,Eg,"m",Fg).call(this,this.ofdDocument.documentRes);Pg(this,Eg,"m",kg).call(this,i,this.ofdDocument.documentRes.fileName);let r=Pg(this,Eg,"m",Fg).call(this,this.ofdDocument.publicRes);Pg(this,Eg,"m",kg).call(this,r,this.ofdDocument.publicRes.fileName),Pg(this,Eg,"m",Dg).call(this,this.ofdDocument.pages),Pg(this,Eg,"m",Tg).call(this)}getAttrsMapJson(e){let t={};for(const[i,r]of e.entries())t[i]=r;return t}}Eg=new WeakSet,kg=function(e,t){this.jsZip.file(t,e)},Ig=function(){{let e=Nd(this.ofdDocument.documentData,V.Pages);if(e){let t=e.children[0].children[0];e.children[0].children=[t]}}console.log("editd document data",this.ofdDocument.documentData)},Tg=function(){this.jsZip.generateAsync({type:"blob"}).then(e=>{console.log("save res",e),this.saveZipBlobToFile(e,"test")}).catch(e=>{console.log("save err",e)})},Dg=function(e){for(let t=0;t<e.length;t++){let i=e[t],r=Pg(this,Eg,"m",Fg).call(this,i);Pg(this,Eg,"m",kg).call(this,r,i.fileName)}},Fg=function(e){let t=Ag(e);return console.log("convert xmldata",t),t};class Og{constructor(){Object.defineProperty(this,"configManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"saveSuccessTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),this.configManager=uf.getInstance()}createConfigUI(e){this.container=document.createElement("div"),this.container.className="liteofd-config-ui",this.container.style.cssText="\n\t\t\tposition: fixed;\n\t\t\ttop: 10px;\n\t\t\tright: 10px;\n\t\t\tbackground: white;\n\t\t\tborder: 1px solid #ccc;\n\t\t\tborder-radius: 5px;\n\t\t\tpadding: 15px;\n\t\t\tbox-shadow: 0 2px 10px rgba(0,0,0,0.1);\n\t\t\tz-index: 1000;\n\t\t\tmax-width: 300px;\n\t\t\tfont-family: Arial, sans-serif;\n\t\t\tfont-size: 12px;\n\t\t";const t=document.createElement("h3");t.textContent="LiteOFD 配置",t.style.margin="0 0 10px 0",t.style.fontSize="14px",this.container.appendChild(t),this.createDebugSection(),this.createRenderingSection(),this.createFeaturesSection(),this.createRenderPagesSection(),this.createButtons(),e.appendChild(this.container)}createDebugSection(){const e=document.createElement("div");e.style.marginBottom="15px";const t=document.createElement("h4");t.textContent="调试选项",t.style.margin="0 0 8px 0",t.style.fontSize="12px",e.appendChild(t);const i=this.configManager.getDebugConfig();this.createCheckbox(e,"绘制文本边界框",i.drawTextBoundaryBox,e=>{this.configManager.updateDebugConfig({drawTextBoundaryBox:e}),this.showSaveSuccess()}),this.createCheckbox(e,"绘制路径边界框",i.drawPathBoundaryBox,e=>{this.configManager.updateDebugConfig({drawPathBoundaryBox:e}),this.showSaveSuccess()}),this.createCheckbox(e,"绘制图像边界框",i.drawImageBoundaryBox,e=>{this.configManager.updateDebugConfig({drawImageBoundaryBox:e}),this.showSaveSuccess()}),this.createCheckbox(e,"CTM变换日志",i.logCTMTransform,e=>{this.configManager.updateDebugConfig({logCTMTransform:e}),this.showSaveSuccess()}),this.createCheckbox(e,"文本渲染日志",i.logTextRendering,e=>{this.configManager.updateDebugConfig({logTextRendering:e}),this.showSaveSuccess()}),this.createCheckbox(e,"字体加载日志",i.logFontLoading,e=>{this.configManager.updateDebugConfig({logFontLoading:e}),this.showSaveSuccess()}),this.container.appendChild(e)}createRenderingSection(){const e=document.createElement("div");e.style.marginBottom="15px";const t=document.createElement("h4");t.textContent="渲染选项",t.style.margin="0 0 8px 0",t.style.fontSize="12px",e.appendChild(t);const i=this.configManager.getRenderingConfig();this.createCheckbox(e,"启用抗锯齿",i.enableAntialiasing,e=>{this.configManager.updateRenderingConfig({enableAntialiasing:e}),this.showSaveSuccess()}),this.createCheckbox(e,"文本渲染优化",i.textRenderingOptimization,e=>{this.configManager.updateRenderingConfig({textRenderingOptimization:e}),this.showSaveSuccess()}),this.container.appendChild(e)}createFeaturesSection(){const e=document.createElement("div");e.style.marginBottom="15px";const t=document.createElement("h4");t.textContent="功能选项",t.style.margin="0 0 8px 0",t.style.fontSize="12px",e.appendChild(t);const i=this.configManager.getFeaturesConfig();this.createCheckbox(e,"启用缩放",i.enableZoom,e=>{this.configManager.updateFeaturesConfig({enableZoom:e}),this.showSaveSuccess()}),this.createCheckbox(e,"启用平移",i.enablePan,e=>{this.configManager.updateFeaturesConfig({enablePan:e}),this.showSaveSuccess()}),this.createCheckbox(e,"启用文本选择",i.enableTextSelection,e=>{this.configManager.updateFeaturesConfig({enableTextSelection:e}),this.showSaveSuccess()}),this.container.appendChild(e)}createRenderPagesSection(){const e=document.createElement("div");e.style.marginBottom="15px";const t=document.createElement("h4");t.textContent="渲染页面配置",t.style.margin="0 0 8px 0",t.style.fontSize="12px",e.appendChild(t);const i=document.createElement("div");i.textContent="指定要渲染的页面索引(如:0,2 表示渲染第1和第3页),留空则渲染全部页面",i.style.cssText="\n\t\t\tfont-size: 10px;\n\t\t\tcolor: #666;\n\t\t\tmargin-bottom: 8px;\n\t\t\tline-height: 1.3;\n\t\t",e.appendChild(i);const r=document.createElement("div");r.style.display="flex",r.style.alignItems="center",r.style.marginBottom="5px";const n=document.createElement("label");n.textContent="页面索引:",n.style.cssText="\n\t\t\tfont-size: 11px;\n\t\t\tmargin-right: 5px;\n\t\t\tmin-width: 60px;\n\t\t",r.appendChild(n);const a=document.createElement("input");a.type="text",a.placeholder="如:0,2",a.style.cssText="\n\t\t\tflex: 1;\n\t\t\tpadding: 3px 5px;\n\t\t\tfont-size: 11px;\n\t\t\tborder: 1px solid #ccc;\n\t\t\tborder-radius: 3px;\n\t\t\twidth: 100px;\n\t\t";const s=this.configManager.getRenderPagesConfig();s&&s.length>0&&(a.value=s.join(",")),a.addEventListener("input",e=>{const t=e.target.value.trim();if(""===t)this.configManager.updateRenderPagesConfig(void 0),this.showSaveSuccess();else{const e=t.split(",").map(e=>e.trim()).filter(e=>""!==e).map(e=>parseInt(e)).filter(e=>!isNaN(e));e.length>0&&(this.configManager.updateRenderPagesConfig(e),this.showSaveSuccess())}}),r.appendChild(a),e.appendChild(r),this.container.appendChild(e)}createCheckbox(e,t,i,r){const n=document.createElement("div");n.style.marginBottom="5px",n.style.display="flex",n.style.alignItems="center";const a=document.createElement("input");a.type="checkbox",a.checked=i,a.style.marginRight="5px",a.addEventListener("change",e=>{r(e.target.checked)});const s=document.createElement("label");s.textContent=t,s.style.fontSize="11px",n.appendChild(a),n.appendChild(s),e.appendChild(n)}createButtons(){const e=document.createElement("div");e.style.display="flex",e.style.gap="5px",e.style.marginTop="10px";const t=document.createElement("button");t.textContent="重置",t.style.cssText="\n\t\t\tpadding: 5px 10px;\n\t\t\tfont-size: 11px;\n\t\t\tborder: 1px solid #ccc;\n\t\t\tborder-radius: 3px;\n\t\t\tbackground: #f5f5f5;\n\t\t\tcursor: pointer;\n\t\t",t.addEventListener("click",()=>{this.configManager.resetToDefault(),location.reload()});const i=document.createElement("button");i.textContent="关闭",i.style.cssText="\n\t\t\tpadding: 5px 10px;\n\t\t\tfont-size: 11px;\n\t\t\tborder: 1px solid #ccc;\n\t\t\tborder-radius: 3px;\n\t\t\tbackground: #f5f5f5;\n\t\t\tcursor: pointer;\n\t\t",i.addEventListener("click",()=>{this.hide()}),e.appendChild(t),e.appendChild(i),this.container.appendChild(e)}show(){this.container&&(this.container.style.display="block")}hide(){this.container&&(this.container.style.display="none")}toggle(){this.container&&(this.container.style.display="none"===this.container.style.display?"block":"none")}destroy(){this.container&&this.container.parentNode&&(this.container.parentNode.removeChild(this.container),this.container=null)}showSaveSuccess(){this.saveSuccessTimer&&clearTimeout(this.saveSuccessTimer);const e=document.querySelector(".liteofd-save-toast");e&&e.remove();const t=document.createElement("div");t.className="liteofd-save-toast",t.textContent="配置已保存到本地",t.style.cssText="\n\t\t\tposition: fixed;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%, -50%);\n\t\t\tbackground: #4CAF50;\n\t\t\tcolor: white;\n\t\t\tpadding: 10px 15px;\n\t\t\tborder-radius: 5px;\n\t\t\tfont-size: 12px;\n\t\t\tz-index: 1001;\n\t\t\topacity: 0;\n\t\t\ttransition: opacity 0.3s;\n\t\t",document.body.appendChild(t),setTimeout(()=>{t.style.opacity="1"},10),this.saveSuccessTimer=window.setTimeout(()=>{t.style.opacity="0",setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t)},300)},2e3)}getConfigManager(){return this.configManager}}class Ng{constructor(){Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ofdRender",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"currentScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"configUI",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerDiv",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"renderTextLayer",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"minWidth",{enumerable:!0,configurable:!0,writable:!0,value:-1}),this.ofdDocument=new Yd}render(e,t,i,r){this.ofdRender=new wg(this.ofdDocument),this.minWidth>0&&(this.ofdRender.minWidth=this.minWidth);const n=e||document.createElement("div");return n.setAttribute("class","pages-container"),this.containerDiv=n,this.ofdRender.renderOfdWithCustomDiv(n,t,i,r)}renderWithSize(e,t=200,i=200,r,n,a){this.ofdRender=new wg(this.ofdDocument),this.minWidth>0&&(this.ofdRender.minWidth=this.minWidth);const s=e||document.createElement("div");return s.setAttribute("class","pages-container"),this.containerDiv=s,this.ofdRender.renderOfdWithSize(t,i)}renderWithDocument(e,t,i,r,n){if(!e)throw new Error("OfdDocument 为空");return this.ofdDocument=e,this.render(t,i,r,n)}renderPage(e,t){this.ofdRender=new wg(this.ofdDocument),this.minWidth>0&&(this.ofdRender.minWidth=this.minWidth);const i=document.createElement("div");return this.ofdRender.renderOfdWithPageIndexWithScale(e,i,t,2),i}setPageMinWidth(e){this.minWidth=e}toggleRenderTextLayer(e){this.renderTextLayer=e}get currentPage(){var e;return(null==(e=this.ofdRender)?void 0:e.currentPageIndex)||1}get totalPages(){var e;return(null==(e=this.ofdDocument.pages)?void 0:e.length)||0}goToPage(e){if(!this.ofdRender)return;let t=Math.max(1,Math.min(e,this.totalPages));this.ofdRender.currentPageIndex=t;const i=`ofd-page-${t}`,r=document.getElementById(i);r&&r.scrollIntoView({behavior:"smooth"});const n=new CustomEvent("ofdPageChange",{detail:{pageIndex:e,pageId:i}});window.dispatchEvent(n)}nextPage(){this.goToPage(this.currentPage+1)}prevPage(){this.goToPage(this.currentPage-1)}zoom(e){if(this.ofdRender){const t=Math.max(.1,Math.min(e,5));this.ofdRender.applyZoom(this.ofdRender.rootContainer,t),this.currentScale=t}}zoomIn(e=.1){this.zoom(this.currentScale+e)}zoomOut(e=.1){this.zoom(this.currentScale-e)}resetZoom(){this.currentScale=1,this.zoom(this.currentScale)}async parse(e){try{return this.ofdDocument=await Gd(e).promise,this.ofdDocument.renderTextLayer=this.renderTextLayer,this.ofdDocument}catch(t){throw console.error("解析文件错误",t),t}}save(e){new Bg(this.ofdDocument).saveTo(e)}getContent(e){return this.ofdDocument.getContentText(e||null)}search(e){}executeAction(e){var t,i;console.log("execute action",e),t=this,this.ofdDocument,Ud(i=e,G.Event)===X.CLICK&&((e,t)=>{console.log("执行点击行动");let i=Nd(t,V.Goto);if(i){let r=Ud(t,G.PageNum),n=Ud(t,G.Top),a=e.getOfdDocument().convertToDpi(parseFloat(n));console.log("执行跳转行动",i,n,a),r&&e.goToPage(parseInt(r))}})(t,i)}getOfdDocument(){if(!this.ofdDocument)throw new Error("OFD文档尚未解析,请先调用parse方法");return this.ofdDocument}setOfdDocument(e){if(!e)throw new Error("OfdDocument为空");this.ofdDocument=e}showConfigUI(e){this.configUI?this.configUI.show():(this.configUI=new Og,this.configUI.createConfigUI(e||document.body))}getConfigManager(){return uf.getInstance()}hideConfigUI(){this.configUI&&this.configUI.hide()}toggleConfigUI(e){this.configUI?this.configUI.toggle():this.showConfigUI(e)}getContainer(){return this.containerDiv}getSealContainer(){var e;return null==(e=this.ofdRender)?void 0:e.sealContainer}getPagesContainerList(){var e;return null==(e=this.ofdRender)?void 0:e.getPagesContainerList()}getZoomValue(){var e;return null==(e=this.ofdDocument)?void 0:e.currentScale}destroyConfigUI(){this.configUI&&(this.configUI.destroy(),this.configUI=null)}}var Mg,Rg,_g,Ug,Lg,Hg,jg,qg,Kg,Gg,Vg,zg,Xg=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class Wg extends Jd{constructor(e,t){super(),Mg.add(this),Object.defineProperty(this,"nodeData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgContainerStyle",{enumerable:!0,configurable:!0,writable:!0,value:"position: absolute;overflow: visible;"}),Object.defineProperty(this,"boundaryBox",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textStyle",{enumerable:!0,configurable:!0,writable:!0,value:""}),this.ofdDocument=e,this.nodeData=t,this.textId=Ud(t,G.ID),Xg(this,Mg,"m",Gg).call(this)}createContainerSvg(){let e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("version","1.1"),Xg(this,Mg,"m",Vg).call(this,this.nodeData,e),Xg(this,Mg,"m",Rg).call(this,this.nodeData);let t=Xg(this,Mg,"m",Kg).call(this,this.nodeData);return e.appendChild(t),e}getContainerSvg(){return this.svgContainer}}Mg=new WeakSet,Rg=function(e){let t=Ud(e,G.Boundary);if(t){this.boundaryBox=this.ofdDocument.convertToBox(t);let e=`left: ${this.boundaryBox.x}px;top: ${this.boundaryBox.y}px;\n\twidth: ${this.boundaryBox.width}px;height: ${this.boundaryBox.height}px;`;this.svgContainerStyle+=e}},_g=function(e,t){let i=Ud(e,G.FONT);if(i){let e=Rd(this.ofdDocument.publicRes,V.Font),t=qd(i,G.ID,e);if(Kd(i,G.ID,this.ofdDocument.publicRes,V.Font),t){let e=Ud(t,G.FontName),i=Ud(t,G.FamilyName);if(e){let t=Fp[e];t?this.textStyle+=`font-family: ${t};`:(e=Sd(e),e=vd(e),this.textStyle+=`font-family: ${e};`)}else i&&(i=Sd(i),i=vd(i),this.textStyle+=`font-family: ${i};`);let r=Ud(t,G.Weight);r&&(this.textStyle+=`font-weight: ${r};`),Ud(t,G.Bold)&&(this.textStyle+="font-weight: bold;"),Ud(t,G.Italic)&&(this.textStyle+="font-style: italic;")}}},Ug=function(e,t){let i=J(this.ofdDocument,e);i&&t.setAttribute("transform",i)},Lg=function(e){let t=Q(this.ofdDocument,e);this.textStyle=`font-size: ${t}px;`;let i=Ud(e,G.Weight);i&&(this.textStyle+=`font-weight: ${i};`),Xg(this,Mg,"m",jg).call(this,e),Xg(this,Mg,"m",Hg).call(this,e);let r=Ud(e,G.Italic);r&&JSON.parse(r)&&(this.textStyle+="font-style: italic;");let n=Ud(e,G.LineWidth);if(n){let e=parseFloat(n);this.textStyle+=`stroke-width: ${this.ofdDocument.convertToDpi(e)}px;`}else this.textStyle+="stroke-width: 0;"},Hg=function(e){let t=Nd(e,V.StrokeColor),i=t&&Ud(t,G.Value);if(Dp.isCanvasRender())this.textStyle+="stroke: transparent;";else if(i){let e=re(i);this.textStyle+=`stroke: ${e};`}},jg=function(e){let t=Nd(e,V.FillColor),i=t&&Ud(t,G.Value);if(Dp.isCanvasRender())this.textStyle+="fill: transparent;";else if(i){let e=re(i);this.textStyle+=`fill: ${e};`}},qg=function(e,t){let i=Nd(e,V.TextCode);((e,t,i,r)=>{let n=Ud(t,G.HScale),a=Ud(t,G.VScale);(a||n)&&r.setAttribute("transform",`scale(${n||1}, ${a||1})`);let s=Ud(i,G.X),o=Ud(i,G.Y),c=Nd(i,V.TextCode),l=null==c?void 0:c.value.toString();l=Y(l);let u=te(l,c,G.DeltaX),h=te(l,c,G.DeltaY),d=Z(e,l,u,h,s,o);for(let p=0;p<d.length;p++){let e=d[p],t=document.createElementNS("http://www.w3.org/2000/svg","tspan"),i=e.x;n&&0!=n&&(i/=n);let s=e.y;a&&0!=a&&(s/=a),t.setAttribute("x",i),t.setAttribute("y",s),t.innerHTML=e.text,r.appendChild(t)}})(this.ofdDocument,e,i,t)},Kg=function(e){let t=document.createElementNS("http://www.w3.org/2000/svg","text");return Xg(this,Mg,"m",Ug).call(this,e,t),Xg(this,Mg,"m",Lg).call(this,e),Xg(this,Mg,"m",zg).call(this,e),Xg(this,Mg,"m",_g).call(this,e,t),Xg(this,Mg,"m",qg).call(this,e,t),t.setAttribute("style",this.textStyle),t},Gg=function(){this.svgContainer=this.createContainerSvg(),this.svgContainer.setAttribute("style",this.svgContainerStyle)},Vg=function(e,t){let i=Ud(e,G.ID);i&&(t.setAttribute("SVG_ID",i),this.svgContainerStyle+=`z-index: ${i};`)},zg=function(e){let t=Ud(e,G.DrawParam);if(t){let e=jd(t,G.ID,this.ofdDocument.publicRes);if(e){Xg(this,Mg,"m",jg).call(this,e),Xg(this,Mg,"m",Hg).call(this,e);let t=Ud(e,G.Weight);t&&(this.textStyle+=`font-weight: ${t};`),Ud(e,G.Bold)&&(this.textStyle+="font-weight: bold;"),Ud(e,G.Italic)&&(this.textStyle+="font-style: italic;")}}};var $g,Zg,Yg,Qg,Jg,em,tm,im,rm,nm,am,sm,om,cm=function(e,t,i,r){if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)};class lm extends Qd{constructor(e){super(),$g.add(this),Object.defineProperty(this,"ofdDocument",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setDefaultZOrder",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"defaultZorderValue",{enumerable:!0,configurable:!0,writable:!0,value:-1}),this.ofdDocument=e,cm(this,$g,"m",Zg).call(this)}renderWithZOrder(e,t,i){try{this.setDefaultZOrder=!0,this.defaultZorderValue=i,this.render(e,t)}catch(r){return console.log("render page content error",r,e),null}}render(e,t){try{let i=Nd(e,V.Content);i&&(cm(this,$g,"m",Zg).call(this),cm(this,$g,"m",tm).call(this,i,t))}catch(i){return console.log("render page content error",i,e),null}}}$g=new WeakSet,Zg=function(){},Yg=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];cm(this,$g,"m",Qg).call(this,r,t)}},Qg=function(e,t){switch(e.tagName){case V.TextObject:cm(this,$g,"m",im).call(this,e,t);break;case V.PathObject:cm(this,$g,"m",nm).call(this,e,t);break;case V.ImageObject:cm(this,$g,"m",sm).call(this,e,t);break;case V.PageBlock:cm(this,$g,"m",Jg).call(this,e,t)}},Jg=function(e,t){if(e.children&&e.children.length>0)for(let i=0;i<e.children.length;i++){const r=e.children[i].children[0];cm(this,$g,"m",Qg).call(this,r,t)}else console.log("PageBlock没有子元素")},em=function(e,t){let i=e.children;for(let r=0;r<i.length;r++)cm(this,$g,"m",Yg).call(this,i[r],t)},tm=function(e,t){let i=e.children;for(let r=0;r<i.length;r++){let e=i[r];cm(this,$g,"m",em).call(this,e,t)}},im=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];cm(this,$g,"m",rm).call(this,r,t)}},rm=function(e,t){let i=new Wg(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)},nm=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];cm(this,$g,"m",om).call(this,r,t)}},am=function(e,t){let i=new Ip(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`;z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)},sm=function(e,t){for(let i=0;i<e.children.length;i++){let r=e.children[i];cm(this,$g,"m",am).call(this,r,t)}},om=function(e,t){let i=new fp(this.ofdDocument,e).getContainerSvg();if(this.setDefaultZOrder){let e=i.getAttribute("style")+`;z-index: ${this.defaultZorderValue}`;i.setAttribute("style",e)}t.appendChild(i)}})(),c})())();const Ie=new Set(["ofd:PathObject","ofd:TextObject","ofd:ImageObject"]),Te=new Set(["ofd:Layer","ofd:PageBlock"]);let De=null,Fe=null;const Pe=e=>Array.isArray(null==e?void 0:e.children)?e.children:[],Be=e=>/^[0-9]+$/.test(String(e||"")),Oe=e=>Pe(e).some(e=>(null==e?void 0:e.tagName)&&"?xml"!==e.tagName),Ne=e=>{return!(!e||"object"!=typeof e)&&(!!Be(e.tagName)||(Ie.has(e.tagName)&&Pe(e).length>0?0===((t=e.attrsMap)instanceof Map?t.size:Object.keys(t||{}).length):Pe(e).some(Ne)));var t},Me=e=>{if(!e||"object"!=typeof e)return e;if(!(e.attrsMap instanceof Map)){const t=new Map;(e.attrsMap instanceof Map?Array.from(e.attrsMap.entries()):Object.entries(e.attrsMap||{})).forEach(([e,i])=>{const r=String(e||"").startsWith("@_")?String(e):`@_${e}`;t.set(r,i)}),e.attrsMap=t}const t=e.attrsMap.get("@_Boundary");return e.boundaryBox=(e=>{const t=String(e||"").trim().split(/\s+/).map(e=>Number(e)).filter(e=>Number.isFinite(e));if(4!==t.length)return null;const[i,r,n,a]=t;return{x:i,y:r,width:n,height:a}})(t),e.id=e.attrsMap.get("@_ID")||e.attrsMap.get("@_PageID")||e.id||"",e.signList||(e.signList=[]),e.sealObject??(e.sealObject=null),e.sealData??(e.sealData=null),e.annots??(e.annots=null),Array.isArray(e.children)?e.children=e.children.map(e=>Me(e)):e.children=[],Te.has(e.tagName)&&(e.children=e.children.flatMap(e=>Be(null==e?void 0:e.tagName)?Pe(e):[e])),e},Re=async(e,t,i)=>{var r;const n=Array.isArray(null==t?void 0:t.pages)?t.pages:[],a=Array.isArray(null==(r=null==i?void 0:i.ofdDocument)?void 0:r.pages)?i.ofdDocument.pages:[],s=(a.length>0?a:n).map((e,t)=>{var i;return{fileName:(null==e?void 0:e.fileName)||(null==(i=n[t])?void 0:i.fileName)||"",page:e,parsedPage:n[t]}}).filter(({fileName:e,page:t,parsedPage:i})=>Boolean(e)&&(Ne(t)||Ne(i)));if(0===s.length)return;const o=await ke.parser.unzipOfd(e);await Promise.all(s.map(async({fileName:e,page:t,parsedPage:i})=>{var r;const n=null==(r=null==o?void 0:o.files)?void 0:r[e];if(!n)return;const a=await n.async("string"),s=await(async(e,t="")=>{const i=await ke.parser.parseXmlByXmlString(e,t);return Array.isArray(null==i?void 0:i.children)?i.children.map(e=>Me(e)):[]})(a,e);t.children=s,i&&i!==t&&(i.children=s)}))},_e=(e,t,i)=>{const r=Math.min(2,Math.max(1,Number(window.devicePixelRatio)||1));if(r<=1)return 1;const n=Math.max(1,Number(e)*Number(t)*Math.max(1,Number(i)||1)),a=Math.sqrt(125829120/n);return Math.max(1,(s=Math.min(r,a),Math.round(100*s)/100));var s},Ue=e=>{if("undefined"==typeof HTMLCanvasElement)return()=>{};De||(De=HTMLCanvasElement.prototype.getContext);const t=Symbol("ofd-high-dpi-canvas");Fe=t;const i=new WeakMap;return HTMLCanvasElement.prototype.getContext=function(t,...r){var n;const a=null==De?void 0:De.call(this,t,...r);if("2d"!==t||!a||!(null==(n=this.classList)?void 0:n.contains("page-canvas")))return a;const s=i.get(this);if(null==s?void 0:s.context)return s.context;const o=this.width,c=this.height,l=_e(o,c,e);if(l<=1)return i.set(this,{context:a,pixelRatio:1}),a;this.style.width=`${o}px`,this.style.height=`${c}px`,this.width=Math.max(1,Math.round(o*l)),this.height=Math.max(1,Math.round(c*l)),this.dataset.ofdPixelRatio=String(l);const u=null==De?void 0:De.call(this,t,...r);return u?(u.setTransform(l,0,0,l,0,0),i.set(this,{context:u,pixelRatio:l}),u):(i.set(this,{context:a,pixelRatio:1}),a)},()=>{Fe===t&&De&&(HTMLCanvasElement.prototype.getContext=De,Fe=null)}};class Le{constructor(e="background-color: #fff; margin: 12px auto; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);"){i(this,"instance",null),i(this,"pageStyle"),i(this,"restoreCanvasPatch",null),this.pageStyle=e}get currentPage(){var e;const t=Number(null==(e=this.instance)?void 0:e.currentPage);return Number.isFinite(t)&&t>0?t:1}get totalPages(){var e,t,i,r;const n=Number((null==(e=this.instance)?void 0:e.totalPages)||(null==(r=null==(i=null==(t=this.instance)?void 0:t.ofdDocument)?void 0:i.pages)?void 0:r.length));return Number.isFinite(n)&&n>0?n:1}get currentScale(){var e;const t=Number(null==(e=this.instance)?void 0:e.currentScale);return Number.isFinite(t)&&t>0?t:1}async load(e){var t,i,r,n,a;this.destroy();const s=await v(e),o=new ke.LiteOfd,c=await o.parse(s);try{await Re(s,c,o)}catch(u){console.warn("[jit-viewer] Failed to normalize parsed OFD pages:",u)}(e=>{const t=null==e?void 0:e.ofdDocument;if(!t)return;const i=Me(t.publicRes),r=Me(t.documentRes);i&&(t.publicRes=i),r&&(t.documentRes=r),Oe(i)||!Oe(r)?Oe(i)&&Oe(r)&&i!==r&&(t.publicRes={...i,children:[...Pe(i),...Pe(r)]}):t.publicRes=r})(o),this.restoreCanvasPatch=Ue((null==(i=null==(t=null==o?void 0:o.ofdDocument)?void 0:t.pages)?void 0:i.length)||(null==(r=null==c?void 0:c.pages)?void 0:r.length)||1);let l=null;try{l=o.render(void 0,this.pageStyle)}catch(u){throw null==(n=this.restoreCanvasPatch)||n.call(this),this.restoreCanvasPatch=null,u}if(!l)throw null==(a=this.restoreCanvasPatch)||a.call(this),this.restoreCanvasPatch=null,new Error("OFD 渲染失败,未生成页面内容");return this.instance=o,{buffer:s,current:this.currentPage,currentScale:this.currentScale,parsedDocument:c,rendered:l,total:this.totalPages}}destroy(){var e,t;null==(e=this.restoreCanvasPatch)||e.call(this),this.restoreCanvasPatch=null,"function"==typeof(null==(t=this.instance)?void 0:t.destroy)&&this.instance.destroy(),this.instance=null}}const He={key:0,class:"jv-ofd-error"},je={class:"jv-ofd-loading"},qe=K(c.defineComponent({__name:"OfdRender",props:{source:{},zoom:{default:1}},emits:["error","load","pageChange"],setup(e,{expose:t,emit:i}){const r=e,n=i,a=c.ref(),s=c.ref(),o=c.ref(),l=c.ref(!0),u=c.ref(""),h=c.ref(1),d=c.ref(1),p=c.ref([]);let f=null,g=0,m=null;const b=new Map,y=c.computed(()=>({transform:`scale(${r.zoom})`,transformOrigin:"top center"})),v=(e,t=d.value)=>{const i=Math.max(1,Number(t)||1);return Math.max(1,Math.min(i,Number(e)||1))},S=e=>new Promise(t=>window.setTimeout(t,e)),C=()=>o.value?Array.from(o.value.querySelectorAll(".page-container")):[],x=()=>{null==m||m.disconnect(),m=null,b.clear()},w=(e,t=d.value)=>{const i=Math.max(1,t||1),r=v(e,i);h.value=r,d.value=i,n("pageChange",{current:r,total:i})},A=()=>{if(!p.value.length||!s.value)return h.value;let e=-1,t=0;if(p.value.forEach((i,r)=>{const n=b.get(i)||0;n>t&&(t=n,e=r)}),e>=0)return e+1;const i=s.value.getBoundingClientRect();let r=0,n=Number.POSITIVE_INFINITY;return p.value.forEach((e,t)=>{const a=Math.abs(e.getBoundingClientRect().top-i.top);a<n&&(n=a,r=t)}),r+1},E=(e=1,t=1)=>{p.value=C();const i=Math.max(1,p.value.length||t||1);d.value=i,h.value=v(e,i),x(),s.value&&p.value.length&&"undefined"!=typeof IntersectionObserver?(m=new IntersectionObserver(e=>{e.forEach(e=>{b.set(e.target,e.isIntersecting?e.intersectionRatio:0)}),w(A(),d.value)},{root:s.value,threshold:[0,.1,.25,.5,.75,1]}),p.value.forEach(e=>{null==m||m.observe(e)})):w(A(),d.value),w(h.value,i)},k=()=>{x(),null==f||f.destroy(),f=null,p.value=[],h.value=1,d.value=1,o.value&&(o.value.innerHTML="")};async function I(){if(!o.value)return;const e=++g,t=new Le;k(),l.value=!0,u.value="";try{const i=await t.load(r.source);if(e!==g||!o.value)return void t.destroy();if(o.value.innerHTML="",o.value.appendChild(i.rendered),f=t,await c.nextTick(),await(async e=>{const t=Math.max(1,e||1),i=Date.now()+5e3;for(;Date.now()<i;){const e=C();if(e.length>0&&(t<=1||e.length>=t))return;await S(100)}})(i.total),e!==g)return void t.destroy();E(i.current,i.total),l.value=!1,n("load")}catch(i){if(t.destroy(),e!==g)return;l.value=!1,u.value=i instanceof Error?i.message:"OFD 加载失败",n("error",i)}}function T(e){const t=v(e),i=p.value[t-1];return i&&i.scrollIntoView({behavior:"smooth",block:"start"}),w(t,d.value),{current:h.value,total:d.value}}return t({getPageInfo:function(){return{current:h.value,total:d.value}},gotoPage:T,nextPage:function(){return T(h.value+1)},prevPage:function(){return T(h.value-1)},reload:I}),c.watch(()=>r.source,()=>{I()},{immediate:!1}),c.onMounted(()=>{c.nextTick(async()=>{await I()})}),c.onUnmounted(()=>{g++,k()}),(e,t)=>{return c.openBlock(),c.createElementBlock("div",{ref_key:"containerRef",ref:a,class:"jv-file-render jv-file-render--ofd"},[u.value?(c.openBlock(),c.createElementBlock("div",He,[c.createElementVNode("span",null,c.toDisplayString(u.value),1)])):(c.openBlock(),c.createElementBlock("div",{key:1,ref_key:"scrollRef",ref:s,class:"jv-ofd-scroll"},[c.createElementVNode("div",{class:"jv-ofd-stage",style:c.normalizeStyle(y.value)},[c.createElementVNode("div",{ref_key:"ofdContainer",ref:o,class:"jv-ofd-container"},null,512)],4)],512)),c.withDirectives(c.createElementVNode("div",je,[c.createElementVNode("span",null,c.toDisplayString((i="loading",{loading:"正在加载..."}[i]||i)),1)],512),[[c.vShow,l.value]])],512);var i}}}),[["__scopeId","data-v-36ea2d3f"]]),Ke={key:0,class:"jv-viewer__error"},Ge={class:"jv-error-text"},Ve={key:1,class:"jv-viewer__empty"},ze={class:"jv-empty-text"},Xe={class:"jv-viewer__loading-overlay"},We={class:"jv-loading-text"},$e={key:7,class:"jv-viewer__unsupported"},Ze=c.defineComponent({__name:"Viewer",props:{target:{},file:{},type:{},filename:{},toolbar:{type:[Object,Boolean],default:!0},theme:{default:"light"},locale:{default:"zh-CN"},plugins:{},width:{default:"100%"},height:{default:"100%"},className:{},style:{},onReady:{},onError:{},onLoad:{},onDestroy:{},renderOptions:{}},emits:["ready","load","error","destroy"],setup(e,{expose:t,emit:i}){var r,n;const a=e,s=i,o=c.ref(),l=c.ref(),u=c.ref(null),h=w(),{t:d}=F(a.locale),p=c.computed(()=>o.value||null),{theme:f,setTheme:g}=R(a.theme,p),m=U({initialZoom:(null==(r=a.renderOptions)?void 0:r.zoom)||1,initialRotate:(null==(n=a.renderOptions)?void 0:n.rotate)||0}),{loading:b,error:y,fileType:v,fileSource:S,zoom:C,fullscreen:x,setMounted:E,setLoading:I,setError:T,setFile:D}=m,P=c.computed(()=>{const e=f.value;return"string"==typeof e?e:e.name}),B=c.computed(()=>({width:"number"==typeof a.width?`${a.width}px`:a.width,height:"number"==typeof a.height?`${a.height}px`:a.height,...a.style})),O=c.computed(()=>({transform:`rotate(${m.rotate.value}deg)`})),N=c.computed(()=>!1!==a.toolbar),M=c.computed(()=>{if(!0!==a.toolbar&&void 0!==a.toolbar)return a.toolbar}),_=c.computed(()=>{var e;return"boolean"==typeof a.toolbar?a.toolbar:!1!==(null==(e=a.toolbar)?void 0:e.visible)});function L(){var e;I(!1),s("load"),h.emit("load"),null==(e=a.onLoad)||e.call(a)}function H(e){var t;T(e),s("error",e),h.emit("error",e),null==(t=a.onError)||t.call(a,e)}function j(e){m.setPage(e.current,e.total)}async function q(e,t){try{I(!0),T(null),D(e,t)}catch(i){H(i)}}function K(){var e;E(!1),s("destroy"),h.emit("destroy"),null==(e=a.onDestroy)||e.call(a)}return c.watch(()=>a.theme,g),c.watch(()=>a.file,e=>{e&&q(e,a.filename)}),c.watch(v,function(){"ofd"===v.value?m.setPageController({getPageInfo:()=>{var e,t;return(null==(t=null==(e=u.value)?void 0:e.getPageInfo)?void 0:t.call(e))||null},gotoPage:e=>{var t,i;return null==(i=null==(t=u.value)?void 0:t.gotoPage)?void 0:i.call(t,e)},nextPage:()=>{var e,t;return null==(t=null==(e=u.value)?void 0:e.nextPage)?void 0:t.call(e)},prevPage:()=>{var e,t;return null==(t=null==(e=u.value)?void 0:e.prevPage)?void 0:t.call(e)}}):m.setPageController(null)},{immediate:!0}),c.onMounted(()=>{var e;m.setPrintFn(()=>{const e=l.value||o.value;e&&k(e,m.filename.value)}),E(!0),a.file&&q(a.file,a.filename),s("ready"),h.emit("ready"),null==(e=a.onReady)||e.call(a)}),c.onUnmounted(()=>{m.setPageController(null),K()}),t({mount:async function(e){var t;if(!(e?A(e):o.value))throw new Error("Target element not found");E(!0),a.file&&await q(a.file,a.filename),s("ready"),h.emit("ready"),null==(t=a.onReady)||t.call(a)},destroy:K,setFile:q,getFile:()=>({source:S.value,type:v.value,filename:m.filename.value}),zoom:m.setZoom,rotate:m.setRotate,reset:m.resetTransform,fullscreen:m.setFullscreen,prevPage:m.prevPage,nextPage:m.nextPage,gotoPage:m.gotoPage,getPageInfo:()=>({current:m.currentPage.value,total:m.totalPages.value}),print:()=>{const e=l.value||o.value;e&&k(e,m.filename.value)},download:async()=>{const{downloadFile:e}=await Promise.resolve().then(()=>require("./index-C4cussrg.cjs"));S.value&&await e(S.value,m.filename.value)},setTheme:g,setLocale:e=>{F(e)},setToolbar:e=>{},on:h.on,off:h.off,getState:()=>m.state.value}),(e,t)=>(c.openBlock(),c.createElementBlock("div",{ref_key:"viewerRef",ref:o,class:c.normalizeClass(["jv-viewer",[`jv-viewer--theme-${P.value}`,{"jv-viewer--fullscreen":c.unref(x)}]]),style:c.normalizeStyle(B.value)},[N.value?(c.openBlock(),c.createBlock(ge,{key:0,config:M.value,visible:_.value},null,8,["config","visible"])):c.createCommentVNode("",!0),c.createElementVNode("div",{ref_key:"contentRef",ref:l,class:"jv-viewer__content"},[c.unref(y)?(c.openBlock(),c.createElementBlock("div",Ke,[t[0]||(t[0]=c.createElementVNode("svg",{class:"jv-error-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),c.createElementVNode("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),c.createElementVNode("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})],-1)),c.createElementVNode("span",Ge,c.toDisplayString(c.unref(y).message||c.unref(d)("error.loadFailed")),1)])):c.unref(S)?(c.openBlock(),c.createElementBlock("div",{key:2,class:"jv-viewer__render",style:c.normalizeStyle(O.value)},[c.withDirectives(c.createElementVNode("div",Xe,[t[1]||(t[1]=c.createElementVNode("div",{class:"jv-loading-spinner"},null,-1)),c.createElementVNode("span",We,c.toDisplayString(c.unref(d)("loading")),1)],512),[[c.vShow,c.unref(b)]]),"docx"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(me),{key:0,source:c.unref(S),zoom:c.unref(C),onLoad:L,onError:H},null,8,["source","zoom"])):"xlsx"===c.unref(v)||"xls"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(be),{key:1,source:c.unref(S),zoom:c.unref(C),onLoad:L,onError:H},null,8,["source","zoom"])):"pdf"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(ye),{key:2,source:c.unref(S),zoom:c.unref(C),onLoad:L,onError:H},null,8,["source","zoom"])):"pptx"===c.unref(v)||"ppt"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(ve),{key:3,source:c.unref(S),zoom:c.unref(C),onLoad:L,onError:H},null,8,["source","zoom"])):"txt"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(Ce),{key:4,source:c.unref(S),onLoad:L,onError:H},null,8,["source"])):"md"===c.unref(v)||"markdown"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(we),{key:5,source:c.unref(S),onLoad:L,onError:H},null,8,["source"])):"ofd"===c.unref(v)?(c.openBlock(),c.createBlock(c.unref(qe),{key:6,ref_key:"ofdRenderRef",ref:u,source:c.unref(S),zoom:c.unref(C),onLoad:L,onError:H,onPageChange:j},null,8,["source","zoom"])):(c.openBlock(),c.createElementBlock("div",$e,[c.createElementVNode("span",null,c.toDisplayString(c.unref(d)("error.unsupportedType")),1)]))],4)):(c.openBlock(),c.createElementBlock("div",Ve,[c.createElementVNode("span",ze,c.toDisplayString(c.unref(d)("empty")),1)]))],512)],6))}}),Ye=K(Ze,[["__scopeId","data-v-bd59f5e4"]]);function Qe(e){const t=w();let i=null,r=null,n=null;const a={...e,onReady:()=>{var i;null==(i=e.onReady)||i.call(e),t.emit("ready")},onLoad:()=>{var i;null==(i=e.onLoad)||i.call(e),t.emit("load")},onError:i=>{var r;null==(r=e.onError)||r.call(e,i),t.emit("error",i)},onDestroy:()=>{var i;null==(i=e.onDestroy)||i.call(e),t.emit("destroy")}};return{async mount(t){const s=t?A(t):"string"==typeof e.target?A(e.target):e.target;if(!s)throw new Error("Target element not found");return r=s,i=c.createApp({render:()=>c.h(Ye,{...a,ref:e=>{n=e}})}),i.mount(r),Promise.resolve()},destroy(){i&&(i.unmount(),i=null),n=null,r=null},async setFile(e,t){(null==n?void 0:n.setFile)&&await n.setFile(e,t)},getFile(){var e;return(null==(e=null==n?void 0:n.getFile)?void 0:e.call(n))||null},zoom(e){var t;null==(t=null==n?void 0:n.zoom)||t.call(n,e)},rotate(e){var t;null==(t=null==n?void 0:n.rotate)||t.call(n,e)},reset(){var e;null==(e=null==n?void 0:n.reset)||e.call(n)},fullscreen(e){var t;null==(t=null==n?void 0:n.fullscreen)||t.call(n,e)},prevPage(){var e;null==(e=null==n?void 0:n.prevPage)||e.call(n)},nextPage(){var e;null==(e=null==n?void 0:n.nextPage)||e.call(n)},gotoPage(e){var t;null==(t=null==n?void 0:n.gotoPage)||t.call(n,e)},getPageInfo(){var e;return(null==(e=null==n?void 0:n.getPageInfo)?void 0:e.call(n))||{current:1,total:1}},print(){r&&k(r)},async download(){const e=this.getFile();(null==e?void 0:e.source)&&await x(e.source,e.filename)},setTheme(e){var t;null==(t=null==n?void 0:n.setTheme)||t.call(n,e)},setLocale(e){var t;null==(t=null==n?void 0:n.setLocale)||t.call(n,e)},setToolbar(e){var t;null==(t=null==n?void 0:n.setToolbar)||t.call(n,e)},on(e,i){t.on(e,i)},off(e,i){t.off(e,i)},getState(){var e;return(null==(e=null==n?void 0:n.getState)?void 0:e.call(n))||{mounted:!1,loading:!1,error:null,fileType:"unknown",filename:"",zoom:1,rotate:0,page:{current:1,total:1},fullscreen:!1}}}}const Je={createViewer:Qe,Viewer:Ye};exports.DocxRender=me,exports.ExcelRender=be,exports.MarkdownRender=we,exports.OfdRender=qe,exports.PdfRender=ye,exports.PptxRender=ve,exports.TextRender=Ce,exports.Toolbar=ge,exports.Viewer=Ye,exports.createElement=function(e,t,i){const r=document.createElement(e);return t&&(r.className=t),i&&Object.entries(i).forEach(([e,t])=>{r.setAttribute(e,t)}),r},exports.createEventBus=w,exports.createViewer=Qe,exports.createViewerState=U,exports.debounce=function(e,t){let i=null;return(...r)=>{i&&clearTimeout(i),i=setTimeout(()=>e(...r),t)}},exports.default=Je,exports.detectFileType=b,exports.downloadFile=x,exports.fileToArrayBuffer=v,exports.fileToBlob=S,exports.fileToUrl=C,exports.fullscreen=E,exports.generateCSSVariables=function(e){return Object.entries(e).map(([e,t])=>`${e}: ${t};`).join("\n")},exports.getElement=A,exports.getFileExtension=g,exports.getFilename=y,exports.getFilenameFromUrl=m,exports.isSupportedType=function(e){return"unknown"!==e&&["docx","xlsx","xls","pdf","pptx","ppt","txt","md","markdown","ofd"].includes(e)},exports.printElement=k,exports.throttle=function(e,t){let i=!1;return(...r)=>{i||(e(...r),i=!0,setTimeout(()=>{i=!1},t))}},exports.useLocale=P,exports.useLocaleProvider=F,exports.useTheme=function(){const e=c.inject(N);return e||{theme:c.ref("light"),setTheme:()=>{},getVariables:()=>B.variables}},exports.useThemeProvider=R,exports.useViewerState=L;
|