New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@techandsoftware/teletext

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@techandsoftware/teletext - npm Package Compare versions

Comparing version 0.13.4 to 0.14.0

2

dist/teletext.min.js
// SPDX-FileCopyrightText: (c) 2023 Tech and Software Ltd.
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-uk.ltd.TechAndSoftware-1.0
// LicenseRef-uk.ltd.TechAndSoftware-1.0 refers to https://tech-and-software.ltd.uk/LICENSES/LicenseRef-uk.ltd.TechAndSoftware-1.0.txt
class t{static tt(t,i){const e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-e).join("=")}const n=i(t),r=[];let h=[];for(const t of function*(t){let i=6,e=0;for(const n of t){const t=s(n.charCodeAt(0));for(const s of t)e|=s<<i,i--,i<0&&(yield e,i=6,e=0)}i<6&&(yield e)}(n))h.push(String.fromCharCode(t)),40==h.length&&(r.push(h.join("")),h=[]);return h.length<40&&r.push(h.join("")),r}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(s){const i=[],e=/^OL,(\d{1,2}),(.*)/;for(const n of[...s]){const s=n.match(e);null!=s&&(i[s[1]]=t.st(s[2]))}return i}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}function s(t){let s=[];for(let i=7;i>=0;i--)s.push(t&1<<i?1:0);return s}const i={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmaCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},e="http://www.w3.org/2000/svg";let n,r,h=0;class _{constructor(){}nt(){return this.rt}ht(){this.rt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.rt.removeAttribute(s):this.rt.setAttribute(s,t[s]);else{if(void 0===s)return this.rt.getAttribute(t);null==s?this.rt.removeAttribute(t):this.rt.setAttribute(t,s)}return this}ot(t){if(!this.lt(t)){const s=this.At();s.push(t),this.rt.setAttribute("class",s.join(" "))}return this}lt(t){return-1!==this.At().indexOf(t)}At(){const t=this.rt.getAttribute("class");return null==t?[]:t.split(" ")}gt(t){return this.lt(t)&&this.rt.setAttribute("class",this.At().filter((s=>s!==t)).join(" ")),this}ct(t){return this.lt(t)?this.gt(t):this.ot(t),this}ut(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.rt.dataset[s]:this.rt.dataset[s]=t[s];else{if(void 0===s)return this.rt.dataset[t];null==s?delete this.rt.dataset[t]:this.rt.dataset[t]=s}return this}}class o extends _{constructor(t){return super(),n=t,r=n.document,this.rt=r.createElementNS(e,"svg"),this.rt.setAttribute("xmlns",e),this}Ct(t){const s=r.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.rt),this}Et(t){return this.rt.setAttribute("viewBox",t),this}It(t,s){return this.rt.setAttribute("width",t),this.rt.setAttribute("height",s),this}Bt(t){const s=r.createElementNS(e,"style");return s.append(t),this.rt.append(s),this}ft(){const t=new l;return this.rt.append(t.nt()),t}Qt(){return this.rt.clientWidth}dt(){return this.rt.clientHeight}bt(t){const s=new c(t);return this.rt.append(s.nt()),s}}class l extends _{constructor(){return super(),this.rt=r.createElementNS(e,"g"),this.yt=[],this}ft(){const t=new l;return this.rt.append(t.nt()),this.yt.push(t),t}wt(t){const s=new u(t);return this.rt.append(s.nt()),this.yt.push(s),s}xt(){const t=new C;return this.rt.append(t.nt()),t}St(t,s){const i=new I(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}vt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}kt(t){return this.rt.setAttribute("clip-path",`url("#${t.nt().id}")`),this}Rt(){return this.rt.removeAttribute("clip-path"),this}Dt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,i,e){const n=new B(t,s,i,e);return this.rt.append(n.nt()),this.yt.push(n),n}Gt(t){const s=new g(t);return this.rt.append(s.nt()),this.yt.push(s),s}Lt(t,s){const i=new A(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}Ht(t,s){const i=new a(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}}class a extends _{constructor(){return super(),this.rt=r.createElementNS(e,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.nt()}}class A extends _{constructor(t,s){return super(),this.rt=r.createElementNS(e,"image"),this.rt.setAttribute("width",parseInt(t)),this.rt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class g extends _{constructor(t){return super(),this.rt=r.createElementNS(e,"use"),this.rt.setAttribute("href","#"+t),this}Nt(t){return this.rt.setAttribute("fill",t),this}jt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}}class c extends _{constructor(t){return super(),this.rt=r.createElementNS(e,"symbol"),this.rt.setAttribute("id",t),this}St(t,s){const i=new I(t,s);return this.rt.append(i.nt()),i}}class u extends _{constructor(t){return super(),this.rt=r.createElementNS(e,"text"),this.rt.append(t),this}wt(t){return this.rt.textContent=t,this}Nt(t){return this.rt.setAttribute("fill",t),this}}class C extends _{constructor(){return super(),this.rt=r.createElementNS(e,"defs"),this}Ot(){const t=new E;return this.rt.append(t.nt()),t}Pt(t){return[...this.rt.querySelectorAll(t)].map(f)}St(t,s){const i=new I(t,s);return this.rt.append(i.nt()),i}}class E extends _{constructor(){return super(),this.rt=r.createElementNS(e,"clipPath"),this.rt.setAttribute("id","clipPath-"+h),h++,this}Ut(){return[...this.rt.children].map(f)}qt(t){this.rt.appendChild(t.nt())}}class I extends _{constructor(t,s){if(super(),t instanceof n.SVGElement)return this.rt=t,this;const i=t;return this.rt=r.createElementNS(e,"rect"),this.rt.setAttribute("width",parseInt(i)),this.rt.setAttribute("height",parseInt(s)),this}Nt(t){return this.rt.setAttribute("fill",t),this}jt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}Qt(t){return void 0===t?parseInt(this.rt.getAttribute("width")):(this.rt.setAttribute("width",parseInt(t)),this)}dt(t){return void 0===t?parseInt(this.rt.getAttribute("height")):(this.rt.setAttribute("height",parseInt(t)),this)}Dt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null}}class B extends _{constructor(t,s,i,n){return super(),this.rt=r.createElementNS(e,"line"),this.rt.setAttribute("x1",t),this.rt.setAttribute("y1",s),this.rt.setAttribute("x2",i),this.rt.setAttribute("y2",n),this}}function f(t){let s;if("SVGRectElement"!==t.constructor.name)throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name);return s=new I(t),s}const Q={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(Q);const d={Mt:Symbol(),Tt:Symbol(),zt:Symbol(),Jt:Symbol()};Object.freeze(d);const p={Vt:Symbol(),Yt:Symbol(),Kt:Symbol(),Zt:Symbol()};Object.freeze(p);class b{static charFromTextColour(t){if(t in v)return v[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in U)return U[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in k)return k[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function y(t){return m[t]}b.TEXT_COLOUR=d.Mt,b.MOSAIC_COLOUR=Symbol(),b.NEW_BACKGROUND=Symbol(),b.BLACK_BACKGROUND=Symbol(),b.CONTIGUOUS_GRAPHICS=d.Tt,b.SEPARATED_GRAPHICS=d.zt,b.ESC=Symbol(),b.FLASH=Symbol(),b.STEADY=Symbol(),b.NORMAL_SIZE=p.Vt,b.DOUBLE_HEIGHT=p.Yt,b.DOUBLE_WIDTH=p.Kt,b.DOUBLE_SIZE=p.Zt,b.CONCEAL=Symbol(),b.HOLD_MOSAICS=Symbol(),b.RELEASE_MOSAICS=Symbol(),b.START_BOX=Symbol(),b.END_BOX=Symbol(),b.Xt=Symbol();const m={[Q.BLACK]:"#000",[Q.RED]:"#f00",[Q.GREEN]:"#0f0",[Q.YELLOW]:"#ff0",[Q.BLUE]:"#00f",[Q.MAGENTA]:"#f0f",[Q.CYAN]:"#0ff",[Q.WHITE]:"#fff"};Object.freeze(m);const w={"\0":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(w);const x={"":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(x);const S={"\b":b.FLASH,"\t":b.STEADY,"\n":b.END_BOX,"\v":b.START_BOX,"\f":b.NORMAL_SIZE,"\r":b.DOUBLE_HEIGHT,"":b.DOUBLE_WIDTH,"":b.DOUBLE_SIZE,"":b.CONCEAL,"":b.CONTIGUOUS_GRAPHICS,"":b.SEPARATED_GRAPHICS,"":b.ESC,"":b.BLACK_BACKGROUND,"":b.NEW_BACKGROUND,"":b.HOLD_MOSAICS,"":b.RELEASE_MOSAICS},v={};for(const t in w)v[w[t]]=t,S[t]=w[t];Object.freeze(v);const U={};for(const t in x)U[x[t]]=t,S[t]=x[t];Object.freeze(U),Object.freeze(S);const k={};for(const t in S)k[S[t]]=t;Object.freeze(k);const R={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(R);const D={};D[R[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],D[R[1]]=[...D[R[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),D[R[1.5]]=[...D[R[1]]].concat([0,16]),D[R[2.5]]=[...D[R[1.5]]].concat([14,15]),Object.freeze(D);const F=10,G=10,L={Wt:{$t:10.4,ts:-5.2},ss:{$t:G,ts:-4.5}};Object.freeze(L);class H{constructor(t,s){this.es=new o(s).Et("0 0 400 250").It(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).Bt("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.es.ft()._t("class","conceal_concealed flash_flashing"),this.ns=1.2,this.rs(),this.hs(),this._s=null,this.os=t,this.ls=this.os.gs.As((()=>this.cs())),this.us=!1,this.Cs=!1,this.Es=!1,this.Is={}}Ct(t){this.es.Ct(t)}Bs(){this.os.gs.Bs(this.ls),this.ls=null}cs(){let t=!1,s=!1;this.Es=!1,this.d.gt("flash_flashing"),this.fs.forEach(((i,e)=>{let n=!1;if(this.Qs(e),t)return t=!1,void this.ds(i,e);const r=this.os.ps(e);let h,_;i.forEach(((t,i)=>{if(n)return n=!1,this.bs(t),this.ys(e),void(_&&this.ws());const o=r.xs(i),l=y(o.Ss),a=o.vs(),A=y(o.Us),g=this.ks(o.Rs,a,o.et);this.Ds(t,o,g,A,i,e,a),o.Fs&&(_?this.ws():this.Gs(e,i),this.Es=!0),h==l?this.ys(e):this.Ls(e,i,l),o.It!=p.Kt&&o.It!=p.Zt||(n=!0),h=l,_=o.Fs,o.Hs&&(s=!0)})),r.Ns?(this.js(e),this.Os(),t=!0):t=!1,this.Ps(e)})),"qs"in this.Is&&this.Is.qs(this.es.Qt(),this.es.dt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}Qs(t){this.Ts(t),this.zs(t)}ds(t,s){"Js"in this.Is&&this.Is.Js(t.length,s),t.forEach((t=>this.bs(t)))}bs(t){t.wt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Ds(t,s,i,e,n,r,h){this.Vs(t,s,i,e,n,r),s.Rs==d.Tt&&h||s.Rs==d.Jt?t.ot("mosaic"):s.Rs==d.zt&&h&&t.ot("mosaic_separated")}Vs(t,s,i,e,n,r){t.wt(s.Ys)._t(i).Nt(e),s.It==p.Yt?t._t("transform",`translate(0 ${M(r)}) scale(1 2)`):s.It==p.Kt?t._t("transform",`translate(${T(n)} 0) scale(2 1)`):s.It==p.Zt&&t._t("transform",`translate(${T(n)} ${M(r)}) scale(2 2)`),s.Hs&&t.ot("flash"),s.Ks&&t.ot("conceal")}Zs(){this.d.ct("conceal_concealed")}Xs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.es._t("style","font-family: "+s)}Ws(){this._s?(this._s.Dt(),this._s=null):this.$s()}ti(){this.Cs?(this.Cs=!1,this.si._t("opacity",null).Rt()):(this.Cs=!0,this.ii())}ei(t){this.ns=t,this.ni(this.es.dt())}ni(t){this.es.It("natural"==this.ns?1.6*t:t*this.ns,t)}ii(){this.us&&this.Es?this.si._t("opacity",.3):this.Es?this.si.kt(this.ri)._t("opacity",.3):this.si._t("opacity",0)}Ms(){this.Cs&&this.ii()}hi(){this.us?(this.d.Rt(),this.us=!1):(this.d.kt(this.ri),this.us=!0),this.Ms()}$s(){this._s=this.d.ft();for(let t=0;t<25;t++)this._s.Ft(0,t*F,399,t*F)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this._s.Ft(t*G,0,t*G,249)._t({stroke:"#555","stroke-width":.5})}hs(){this._i=this.d.xt(),this.oi=null,this.ri=this._i.Ot()}rs(){this.li(),this.ai()}li(){const t=this.d.ft();t._t({"shape-rendering":"crispEdges",id:"background"}),this.Ai=[],this.si=t}ai(){const t=[],s=this.d.ft()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.wt(String.fromCharCode(32+95*Math.random()))._t({x:t*G+5,y:i*F+8}));t.push(e)}this.fs=t,this.gi=s}zs(t){this.ri.Ut().filter((s=>s.ut("r")==t)).forEach((t=>t.Dt()))}Ts(t){this.Ai[t]&&this.Ai[t].Dt(),this.Ai[t]=this.si.ft()}ys(t){const s=this.Ai[t].vt(),i=s.Qt();s.Qt(i+G)}Ls(t,s,i){const e=s*G,n=t*F;this.Ai[t].St(G,F).Nt(i).jt(e,n)}ws(){const t=this.oi.Qt();this.oi.Qt(t+G)}js(t){this.Ai[t].Ut().forEach((t=>t._t("height",20)))}Os(){this._i.Pt("[data-boxbuffer]").forEach((t=>t.dt(20)))}Gs(t,s){const i=s*G,e=t*F;this.oi=this._i.St(G,F).ut("boxbuffer",!0).jt(i,e)}Ps(t){this._i.Pt("[data-boxbuffer]").forEach((s=>{s.ut({r:t,boxbuffer:null}),this.ri.qt(s)}))}ks(t,s,i){return t==d.Tt&&s||t==d.Jt?{dx:L.Wt.ts,dy:-.15,textLength:L.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==d.zt&&s?{dx:L.ss.ts,dy:null,textLength:L.ss.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?G:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Is.ci=s.renderBackground),"renderMosaic"in s&&(this.Is.ui=s.renderMosaic),"endOfPageUpdate"in s&&(this.Is.qs=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Is.Js=s.clearCellsForRow),{lookupColour:N,isDoubleHeight:j,isDoubleWidth:O,isDoubleSize:P,isSeparatedMosaic:q,createImageOverlay:this.Ci.bind(this),createSVGOverlay:this.Ei.bind(this)}}Ci(){const t=this.d.Lt(400,250);return t._t("preserveAspectRatio","none"),t}Ei(){const t=this.d.Ht();return t._t("preserveAspectRatio","none"),t}}H.Ii=G,H.Bi=F,H.fi=20,H.Qi=20,H.di=400,H.pi=250,H.bi=L,H.ROWS=25,H.COLS=40;const N=t=>y(t),j=t=>t==p.Yt,O=t=>t==p.Kt,P=t=>t==p.Zt,q=t=>t==d.zt,M=t=>0-t*F,T=t=>0-t*G,z={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{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:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",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:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",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:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",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:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",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:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",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:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",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:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{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:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{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:"","{":"","|":"","}":"","~":"","":""},g3:{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:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},J={};class V{constructor(t){this.type=t.Rs,this.flashing=t.Hs,this.concealed=t.Ks,this.size=t.It,this.sextants=t.yi()}}class Y{constructor(){this.mi=" ",this.wi=" ",this.xi=Q.WHITE,this.Si=Q.BLACK,this.vi=d.Mt,this.Ui=!1,this.ki=p.Vt,this.Ri=!1,this.Di=!1,this.Fi=null,this.Gi=!1,this.Li=null,this.Hi=null}set Ni(t){this.mi=t}get Ni(){return this.mi}set Us(t){this.xi=t}get Us(){return this.xi}set Ss(t){this.Si=t}get Ss(){return this.Si}get et(){return this.Gi}ji(s){const i=this.vi==d.Tt||this.vi==d.zt;this.vi==d.Mt||0==(32&this.mi.charCodeAt(0))&&i?(this.wi=Z(this.mi,s),this.Li>0&&(this.wi+=z.g2_latin[String.fromCharCode(this.Li+64)]),this.Gi=!1,"g0_arabic"!=s&&"g2_arabic"!=s||(this.Gi=t.et(this.wi))):this.vi==d.Tt?this.wi=Z(this.mi,"g1_block_mosaic_to_unicode__legacy_computing"):this.vi==d.zt?this.wi=Z(this.mi,"g1_block_mosaic_to_unicode__unscii_separated"):this.vi==d.Jt&&(this.wi=Z(this.mi,"g3")),this.Fi=null}Oi(t){if(this.vi!=d.Tt&&this.vi!=d.zt||!t.Pi)this.Fi=null,this.wi=" ";else{this.Fi=t.Ys,this.vi=t.Rs;let s="g1_block_mosaic_to_unicode__legacy_computing";this.vi==d.zt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.wi=Z(t.Ys,s)}}get Ys(){return this.wi}get Rs(){return this.vi}set Rs(t){this.vi=t}set Hs(t){this.Ui=t}get Hs(){return this.Ui}get It(){return this.ki}set It(t){this.ki=t}set Ks(t){this.Ri=t}get Ks(){return this.Ri}set Fs(t){this.Di=t}get Fs(){return this.Di}vs(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.mi.charCodeAt(0);return t<=127&&32==(32&t)}qi(){const t=this.mi.charCodeAt(0);return(this.vi==d.Tt||this.vi==d.zt)&&t<=127&&32==(32&t)}yi(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.mi.charCodeAt(0);if(t>127)return null;if(t in J)return J[t];const s=t>=96?t-64:t-32,i=[];for(let t=0;t<6;t++)i.push(s&1<<t?"1":"0");return J[t]=i,i}}class K extends Y{constructor(t){super(),Object.assign(this,t)}set Mi(t){this.Li=t}get Mi(){return this.Li}set Ti(t){this.Hi=t}get Ys(){return null==this.Hi?this.wi:this.Hi}}function Z(t,s){if(!(s in z))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in z[s])return z[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in z[e])return z[s][t]=z[e][t],z[e][t]}return t}class X extends H{constructor(t,s,i){super(t,i),this.zi=s,this.Ji=new Set}rs(){super.rs(),this.Vi=[],this.Yi=this.d.ft()}Qs(t){super.Qs(t),this.Ki(t)}Ds(t,s,i,e,n,r,h){"ci"in this.Is&&this.Is.ci(r,n,s.It,s.Ss),s.Rs!=d.Mt&&s.Rs!=d.Jt&&h?h&&(t.wt(" ")._t(i),this.Zi(r,n,s,e)):(this.Vs(t,s,i,e,n,r),s.Rs==d.Jt&&t.ot("mosaic"))}Zi(t,s,i,e){if("ui"in this.Is){const n=new V(i);if(this.Is.ui(t,s,n,e))return}const n=i.yi();if(!n.includes("1"))return;let r=i.Rs==d.Tt?"c":"s";r+=n.join("");let h,_=H.Ii,o=H.Bi;if(i.Rs==d.Tt&&(_=H.Ii+.3,o=H.Bi+.2),!this.Ji.has(r)){this.Ji.add(r);const t=this.es.bt(r);if(i.Rs==d.Tt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.St(6,6).jt(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.St(4,4).jt(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.Rs==d.Tt?this.Vi[t].Gt(r).jt(s*H.Ii-.15,t*H.Bi-.1).Nt(e):this.Vi[t].Gt(r).jt(s*H.Ii,t*H.Bi).Nt(e),this.zi&&h._t({width:_,height:o}),i.It!=p.Yt&&i.It!=p.Zt||h._t("height",H.Qi),i.It!=p.Kt&&i.It!=p.Zt||h._t("width",H.fi),i.Hs&&h.ot("flash"),i.Ks&&h.ot("conceal")}Ki(t){this.Vi[t]&&this.Vi[t].Dt(),this.Vi[t]=this.Yi.ft()}ks(t,s,i){return t==d.Jt?{dx:H.bi.Wt.ts,dy:-.15,textLength:H.bi.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?H.Ii:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class W{constructor(t){this.os=t,this.Xi=0,this.Wi=0,this.$i=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Xi=t,this.Wi=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g0",Ys:t,Mi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g1",Ys:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g2",Ys:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g3",Ys:t}),this}putAt(){return this.$i.push({te:this.Xi,se:this.Wi,Rs:"char",Ys:"@"}),this}end(){return this.os.ie(this.$i),this.os.ee(),this}}class $ extends H{}const tt=["SPLASH","ENGINEERING","ADVERT","UK"];class st{constructor(t,s){if(this.ne=null,"object"==typeof window&&(this.ne=window),this.re={he:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.re.he=!1),"dom"in s&&(this.ne=s.dom)),null==this.ne)throw Error("TeletextController E24: No window dom object available");this._e=new X(t,this.re.he,this.ne),this.os=t,this.oe=1,this.le=0,this.ae(),this.Ae=null,this.ge=null,this.ce=0,this.ue=0,this.Ce=null}setRowFromOutputLine(s,i){const e=t.st(i);this.os.Ee(s,e)}setRow(t,s){this.os.Ee(t,s)}setPageFromOutputLines(s,i){const e=t.it(s);void 0!==i&&(e[0]=this.Ie(i)),this.setPageRows(e)}setPageRows(t){this.os.Be(),this.os.fe(t)}Ie(s){return(s=t.st(s)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(i[tt[this.le]]),this.le++,4==this.le&&(this.le=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(s,i){const e=t.tt(s,this.ne.atob);void 0!==i&&(e[0]=this.Ie(i)),this.setPageRows(e)}ae(){this.ne.addEventListener("ttx.reveal",(()=>this._e.Zs())),this.ne.addEventListener("ttx.mix",(()=>this._e.ti())),this.ne.addEventListener("ttx.subtitlemode",(()=>this._e.hi()))}toggleReveal(){this._e.Zs()}toggleMixMode(){this._e.ti()}toggleBoxMode(){this._e.hi()}toggleGrid(){this._e.Ws()}setLevel(t){this.os.Qe(t)}addTo(t){this.de=t,this._e.Ct(t)}setFont(t){this.Ce=t,this._e.Xs(t)}clearScreen(t){this.os.Be(),this.os.pe(t)}setAspectRatio(t){if("natural"==t)return void this._e.ei(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this._e.ei(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this._e.ni(s),this.ge=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this.os.be(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this.os.ye(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this.os.me(t,s)}remove(){if(this._e.Bs(),this.de){const t=document.querySelector(this.de);t&&t.removeChild(t.firstChild)}this._e=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this._e=new $(this.os,this.ne);break;case"classic__graphic-for-mosaic":this._e=new X(this.os,this.re.he,this.ne);break;default:throw Error("setView E126: bad view name:"+t)}this.ge&&this._e.ni(this.ge),this.Ce&&this._e.Xs(this.Ce),this.de&&this._e.Ct(this.de),this.os.ee()}registerViewPlugin(t){t.registerWithView(this._e),this.os.ee()}enhance(){return new W(this.os)}writeBytes(t,s,i){this.os.we(t,s,i)}getBytes(){return this.os.xe()}}class it{constructor(t){this.Se=t,this.ve=[]}As(t){return this.ve.push(t),this.ve.length-1}ee(t){this.ve.forEach((s=>null!=s&&s(this.Se,t)))}Bs(t){this.ve[t]=null}}class et{constructor(){this.Ue=!1,this.ke=[]}get Ns(){return this.Ue}set Ns(t){this.Ue=t}Re(t){this.ke.push(t)}xs(t){if(t>=this.ke.length)throw Error("RowModel.getCell E20 bad cell index");return this.ke[t]}}const nt=25,rt=40,ht=[R[1.5],R[2.5]],_t=new class{constructor(){this.De=[];for(let t=0;t<nt;t++){const t=[];for(let s=0;s<rt;s++)t.push(new Y);this.De.push(t)}this.Fe="g0_latin",this.Ge=null,this.Le="g2_latin",this.He=b.charFromAttribute(b.START_BOX),this.Ne=b.charFromAttribute(b.END_BOX),this.je=R[1],this.Oe=[],this.gs=new it(this)}ee(){this.gs.ee()}Ee(t,s){if(t>=nt)throw Error("PageModel E29 bad row number");this.Pe(t,s),this.gs.ee()}fe(t){(t=t.slice(0,nt)).forEach(((t,s)=>{this.Pe(s,t)})),this.gs.ee()}we(t,s,i){for(let e=s,n=0;e<nt&&n<i.length;e++,n++){const s=[...i[n]].slice(0,rt-t);for(let i=t,n=0;i<rt;i++,n++)this.De[e][i].Ni=s[n]}this.gs.ee()}Pe(t,s){let i=[...s];if(i=i.slice(0,rt),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.De[t][i].Ni=s})),i.length<rt)for(let s=i.length;s<rt;s++)this.De[t][s].Ni=" "}Qe(t){this.je=t,this.gs.ee()}pe(t){if(void 0===t||t){const t=[];for(let s=0;s<nt;s++)t.push("");this.fe(t)}else for(let t=0;t<nt;t++)this.Pe(t,"")}be(t,s){this.Fe=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in z?this.Le=t:"hebrew"==i[1]&&(this.Le="g2_arabic")}s&&this.gs.ee()}ye(t,s){this.Ge=t,s&&this.gs.ee()}me(t,s){this.Le=t,s&&this.gs.ee()}ps(t){if(t>=nt)throw Error("PageModel.getRow E42 bad rowNum");const s=new et;let i,e,n=d.Mt,r=Q.WHITE,h=!1,_=p.Vt,o=!1,l=!1,a=!1,A=!1,g=Q.BLACK,c=d.Tt,u={Pi:!1,Ys:" ",Rs:d.Tt},C=[];return ht.includes(this.je)&&(C=this.Oe.filter((s=>s.se==t))),this.De[t].forEach(((E,I)=>{const B=E.Ni,f=((t,s)=>{let i=null,e=null;return s in S&&D[t].includes(s.charCodeAt(0))?s in w?(i=b.TEXT_COLOUR,e=S[s]):s in x?(i=b.MOSAIC_COLOUR,e=S[s]):i=S[s]:s.charCodeAt(0)<=31&&(i=b.Xt),{qe:i,Me:e}})(this.je,B);switch(i=r,E.Rs=n,E.Fs=A,e=o,f.qe!=b.STEADY&&(E.Hs=h),f.qe!=b.NORMAL_SIZE&&(E.It=_),f.qe!=b.CONCEAL&&(E.Ks=l),a&&(f.qe!=b.HOLD_MOSAICS&&(u.Pi=!1,u.Ys=" "),a=!1),f.qe){case b.TEXT_COLOUR:n=d.Mt,r=f.Me,l=!1,E.Oi(u);break;case b.MOSAIC_COLOUR:n=c,r=f.Me,l=!1,E.Oi(u);break;case b.NEW_BACKGROUND:g=i,E.Oi(u);break;case b.BLACK_BACKGROUND:g=Q.BLACK,E.Oi(u);break;case b.CONTIGUOUS_GRAPHICS:c=d.Tt,E.Rs==d.zt&&(E.Rs=d.Tt),n==d.zt&&(n=d.Tt),E.Oi(u);break;case b.SEPARATED_GRAPHICS:c=d.zt,E.Rs==d.Tt&&(E.Rs=d.zt),n==d.Tt&&(n=d.zt),E.Oi(u);break;case b.ESC:this.Ge&&(o=!e),E.Oi(u);break;case b.FLASH:h=!0,E.Oi(u);break;case b.STEADY:E.Hs=!1,h=!1,E.Oi(u);break;case b.NORMAL_SIZE:E.It=p.Vt,_=p.Vt,E.Oi(u);break;case b.DOUBLE_HEIGHT:_=p.Yt,s.Ns=!0,E.Oi(u);break;case b.DOUBLE_WIDTH:_=p.Kt,E.Oi(u);break;case b.DOUBLE_SIZE:_=p.Zt,s.Ns=!0,E.Oi(u);break;case b.CONCEAL:E.Ks=!0,l=!0,E.Oi(u);break;case b.HOLD_MOSAICS:u.Pi=!0,E.Oi(u);break;case b.RELEASE_MOSAICS:a=!0,E.Oi(u);break;case b.START_BOX:I>=1&&this.De[t][I-1].Ni==this.He&&(E.Fs=!0,A=!0),E.Oi(u);break;case b.END_BOX:I+1<rt&&this.De[t][I+1].Ni==this.Ne&&(A=!1),E.Oi(u);break;case b.Xt:E.Oi(u);break;default:E.ji(e?this.Ge:this.Fe),E.qi()&&(u.Ys=B,u.Rs=E.Rs)}E.Us=i,E.Ss=g,C.filter((t=>t.te==I)).forEach((t=>{const s=new K(E);E=s,"g0"==t.Rs?(E.Ni=t.Ys,E.Mi=t.Mi,E.Rs=d.Mt,E.ji(e?this.Ge:this.Fe)):"g1"==t.Rs?this.je==R[2.5]&&(E.Ni=t.Ys,E.Rs=c,E.ji()):"g2"==t.Rs?(E.Ni=t.Ys,E.Rs=d.Mt,E.ji(this.Le)):"g3"==t.Rs?(this.je!=R[1.5]||-1!="Q[\\]".indexOf(t.Ys))&&(E.Ni=t.Ys,E.Rs=d.Jt,E.ji()):"char"==t.Rs&&(E.Ti=t.Ys,E.Rs=d.Mt)})),s.Re(E)})),s}ie(t){this.Oe=t}Be(){this.Oe=[]}xe(){const t=new Uint8Array(1e3);return this.De.forEach(((s,i)=>{s.forEach(((s,e)=>{t[i*rt+e]=s.Ni.charCodeAt(0)}))})),t}};function ot(t){return new st(_t,t)}export{b as Attributes,Q as Colour,R as Level,ot as Teletext};//# sourceMappingURL=teletext.min.js.map
class t{static tt(t,i){const e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-e).join("=")}const r=i(t),n=[];let _=[];for(const t of function*(t){let i=6,e=0;for(const r of t){const t=s(r.charCodeAt(0));for(const s of t)e|=s<<i,i--,i<0&&(yield e,i=6,e=0)}i<6&&(yield e)}(r))_.push(String.fromCharCode(t)),40==_.length&&(n.push(_.join("")),_=[]);return _.length<40&&n.push(_.join("")),n}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(s){const i=[],e=/^OL,(\d{1,2}),(.*)/;for(const r of[...s]){const s=r.match(e);null!=s&&(i[s[1]]=t.st(s[2]))}return i}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}function s(t){let s=[];for(let i=7;i>=0;i--)s.push(t&1<<i?1:0);return s}const i={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmaCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},e="http://www.w3.org/2000/svg";let r,n,_=0;class h{constructor(){}rt(){return this.nt}_t(){this.nt=null}ht(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.nt.removeAttribute(s):this.nt.setAttribute(s,t[s]);else{if(void 0===s)return this.nt.getAttribute(t);null==s?this.nt.removeAttribute(t):this.nt.setAttribute(t,s)}return this}ot(t){if(!this.lt(t)){const s=this.At();s.push(t),this.nt.setAttribute("class",s.join(" "))}return this}lt(t){return-1!==this.At().indexOf(t)}At(){const t=this.nt.getAttribute("class");return null==t?[]:t.split(" ")}gt(t){return this.lt(t)&&this.nt.setAttribute("class",this.At().filter((s=>s!==t)).join(" ")),this}ct(t){return this.lt(t)?this.gt(t):this.ot(t),this}ut(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.nt.dataset[s]:this.nt.dataset[s]=t[s];else{if(void 0===s)return this.nt.dataset[t];null==s?delete this.nt.dataset[t]:this.nt.dataset[t]=s}return this}}class o extends h{constructor(t){return super(),r=t,n=r.document,this.nt=n.createElementNS(e,"svg"),this.nt.setAttribute("xmlns",e),this}Ct(t){const s=n.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.nt),this}Et(t){return this.nt.setAttribute("viewBox",t),this}It(t,s){return this.nt.setAttribute("width",t),this.nt.setAttribute("height",s),this}Bt(t){const s=n.createElementNS(e,"style");return s.append(t),this.nt.append(s),this}ft(){const t=new l;return this.nt.append(t.rt()),t}dt(){return this.nt.clientWidth}Qt(){return this.nt.clientHeight}bt(t){const s=new c(t);return this.nt.append(s.rt()),s}}class l extends h{constructor(){return super(),this.nt=n.createElementNS(e,"g"),this.yt=[],this}ft(){const t=new l;return this.nt.append(t.rt()),this.yt.push(t),t}wt(t){const s=new u(t);return this.nt.append(s.rt()),this.yt.push(s),s}St(){const t=new C;return this.nt.append(t.rt()),t}xt(t,s){const i=new I(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}vt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}Rt(t){return this.nt.setAttribute("clip-path",`url("#${t.rt().id}")`),this}Dt(){return this.nt.removeAttribute("clip-path"),this}kt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null,this.yt.forEach((t=>t._t())),this.yt=[]}Lt(t,s,i,e){const r=new B(t,s,i,e);return this.nt.append(r.rt()),this.yt.push(r),r}Gt(t){const s=new g(t);return this.nt.append(s.rt()),this.yt.push(s),s}Ft(t,s){const i=new a(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}Ot(t,s){const i=new A(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}}class A extends h{constructor(){return super(),this.nt=n.createElementNS(e,"svg"),this}attr(...t){return this.ht(...t)}get node(){return this.rt()}}class a extends h{constructor(t,s){return super(),this.nt=n.createElementNS(e,"image"),this.nt.setAttribute("width",parseInt(t)),this.nt.setAttribute("height",parseInt(s)),this}attr(...t){return this.ht(...t)}}class g extends h{constructor(t){return super(),this.nt=n.createElementNS(e,"use"),this.nt.setAttribute("href","#"+t),this}Ht(t){return this.nt.setAttribute("fill",t),this}Nt(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}}class c extends h{constructor(t){return super(),this.nt=n.createElementNS(e,"symbol"),this.nt.setAttribute("id",t),this}xt(t,s){const i=new I(t,s);return this.nt.append(i.rt()),i}}class u extends h{constructor(t){return super(),this.nt=n.createElementNS(e,"text"),this.nt.append(t),this}wt(t){return this.nt.textContent=t,this}Ht(t){return this.nt.setAttribute("fill",t),this}}class C extends h{constructor(){return super(),this.nt=n.createElementNS(e,"defs"),this}jt(){const t=new E;return this.nt.append(t.rt()),t}Pt(t){return[...this.nt.querySelectorAll(t)].map(f)}xt(t,s){const i=new I(t,s);return this.nt.append(i.rt()),i}}class E extends h{constructor(){return super(),this.nt=n.createElementNS(e,"clipPath"),this.nt.setAttribute("id","clipPath-"+_),_++,this}Ut(){return[...this.nt.children].map(f)}Tt(t){this.nt.appendChild(t.rt())}}class I extends h{constructor(t,s){if(super(),t instanceof r.SVGElement)return this.nt=t,this;const i=t;return this.nt=n.createElementNS(e,"rect"),this.nt.setAttribute("width",parseInt(i)),this.nt.setAttribute("height",parseInt(s)),this}Ht(t){return this.nt.setAttribute("fill",t),this}Nt(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}dt(t){return void 0===t?parseInt(this.nt.getAttribute("width")):(this.nt.setAttribute("width",parseInt(t)),this)}Qt(t){return void 0===t?parseInt(this.nt.getAttribute("height")):(this.nt.setAttribute("height",parseInt(t)),this)}kt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null}}class B extends h{constructor(t,s,i,r){return super(),this.nt=n.createElementNS(e,"line"),this.nt.setAttribute("x1",t),this.nt.setAttribute("y1",s),this.nt.setAttribute("x2",i),this.nt.setAttribute("y2",r),this}}function f(t){let s;if("SVGRectElement"!==t.constructor.name)throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name);return s=new I(t),s}const d={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(d);const Q={Mt:Symbol(),qt:Symbol(),zt:Symbol(),Jt:Symbol()};Object.freeze(Q);const p={Vt:Symbol(),Yt:Symbol(),Kt:Symbol(),Zt:Symbol()};Object.freeze(p);const b={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(b);class y{static charFromTextColour(t){if(t in x)return x[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in U)return U[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in D)return D[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function m(t){return w[t]}Object.assign(y,{TEXT_COLOUR:Q.ALPHA,MOSAIC_COLOUR:Symbol(),NEW_BACKGROUND:Symbol(),BLACK_BACKGROUND:Symbol(),CONTIGUOUS_GRAPHICS:Q.qt,SEPARATED_GRAPHICS:Q.zt,ESC:Symbol(),FLASH:Symbol(),STEADY:Symbol(),NORMAL_SIZE:p.Vt,DOUBLE_HEIGHT:p.Yt,DOUBLE_WIDTH:p.Kt,DOUBLE_SIZE:p.Zt,CONCEAL:Symbol(),HOLD_MOSAICS:Symbol(),RELEASE_MOSAICS:Symbol(),START_BOX:Symbol(),END_BOX:Symbol(),Xt:Symbol()});const w={[d.BLACK]:"#000",[d.RED]:"#f00",[d.GREEN]:"#0f0",[d.YELLOW]:"#ff0",[d.BLUE]:"#00f",[d.MAGENTA]:"#f0f",[d.CYAN]:"#0ff",[d.WHITE]:"#fff"};Object.freeze(w);const S={"\0":d.BLACK,"":d.RED,"":d.GREEN,"":d.YELLOW,"":d.BLUE,"":d.MAGENTA,"":d.CYAN,"":d.WHITE};Object.freeze(S);const x=L(S),v={"":d.BLACK,"":d.RED,"":d.GREEN,"":d.YELLOW,"":d.BLUE,"":d.MAGENTA,"":d.CYAN,"":d.WHITE};Object.freeze(v);const U=L(v),R={"\b":y.FLASH,"\t":y.STEADY,"\n":y.END_BOX,"\v":y.START_BOX,"\f":y.NORMAL_SIZE,"\r":y.DOUBLE_HEIGHT,"":y.DOUBLE_WIDTH,"":y.DOUBLE_SIZE,"":y.CONCEAL,"":y.CONTIGUOUS_GRAPHICS,"":y.SEPARATED_GRAPHICS,"":y.ESC,"":y.BLACK_BACKGROUND,"":y.NEW_BACKGROUND,"":y.HOLD_MOSAICS,"":y.RELEASE_MOSAICS};Object.assign(R,S),Object.assign(R,v),Object.freeze(R);const D=L(R),k={[b[0]]:[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23]};function L(t){const s={};for(const i in t)s[t[i]]=i;return Object.freeze(s)}k[b[1]]=[...k[b[0]],10,11,12,13,24,25,26,27,28,29,30,31],k[b[1.5]]=[...k[b[1]],0,16],k[b[2.5]]=[...k[b[1.5]],14,15],Object.freeze(k);const G=10,F=10,O={Wt:{$t:10.4,ts:-5.2},ss:{$t:F,ts:-4.5}};Object.freeze(O);class H{constructor(t,s){this.es=new o(s).Et("0 0 400 250").It(600,500).ht({preserveAspectRatio:"none",style:"font-family: sans-serif"}).Bt("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.es.ft().ht("class","conceal_concealed flash_flashing"),this.rs=1.2,this.ns(),this._s(),this.hs=null,this.os=t,this.ls=this.os.gs.As((()=>this.cs())),this.us=!1,this.Cs=!1,this.Es=!1,this.Is={}}Ct(t){this.es.Ct(t)}Bs(){this.os.gs.Bs(this.ls),this.ls=null}cs(){let t=!1,s=!1;this.Es=!1,this.d.gt("flash_flashing"),this.fs.forEach(((i,e)=>{let r=!1;if(this.ds(e),t)return t=!1,void this.Qs(i,e);const n=this.os.ps(e);let _,h;i.forEach(((t,i)=>{if(r)return r=!1,this.bs(t),this.ys(e),void(h&&this.ws());const o=n.Ss(i),l=m(o.xs),A=o.vs(),a=m(o.Us),g=this.Rs(o.Ds,A,o.et);this.ks(t,o,g,a,i,e,A),o.Ls&&(h?this.ws():this.Gs(e,i),this.Es=!0),_==l?this.ys(e):this.Fs(e,i,l),o.It!=p.Kt&&o.It!=p.Zt||(r=!0),_=l,h=o.Ls,o.Os&&(s=!0)})),n.Hs?(this.Ns(e),this.js(),t=!0):t=!1,this.Ps(e)})),"Ts"in this.Is&&this.Is.Ts(this.es.dt(),this.es.Qt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}ds(t){this.qs(t),this.zs(t)}Qs(t,s){"Js"in this.Is&&this.Is.Js(t.length,s),t.forEach((t=>this.bs(t)))}bs(t){t.wt(" ").ht({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}ks(t,s,i,e,r,n,_){this.Vs(t,s,i,e,r,n),s.Ds==Q.qt&&_||s.Ds==Q.Jt?t.ot("mosaic"):s.Ds==Q.zt&&_&&t.ot("mosaic_separated")}Vs(t,s,i,e,r,n){t.wt(s.Ys).ht(i).Ht(e),s.It==p.Yt?t.ht("transform",`translate(0 ${q(n)}) scale(1 2)`):s.It==p.Kt?t.ht("transform",`translate(${z(r)} 0) scale(2 1)`):s.It==p.Zt&&t.ht("transform",`translate(${z(r)} ${q(n)}) scale(2 2)`),s.Os&&t.ot("flash"),s.Ks&&t.ot("conceal")}Zs(){this.d.ct("conceal_concealed")}Xs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.es.ht("style","font-family: "+s)}Ws(){this.hs?(this.hs.kt(),this.hs=null):this.$s()}ti(){this.Cs?(this.Cs=!1,this.si.ht("opacity",null).Dt()):(this.Cs=!0,this.ii())}ei(t){this.rs=t,this.ri(this.es.Qt())}ri(t){this.es.It("natural"==this.rs?1.6*t:t*this.rs,t)}ii(){this.us&&this.Es?this.si.ht("opacity",.3):this.Es?this.si.Rt(this.ni).ht("opacity",.3):this.si.ht("opacity",0)}Ms(){this.Cs&&this.ii()}_i(){this.us?(this.d.Dt(),this.us=!1):(this.d.Rt(this.ni),this.us=!0),this.Ms()}hi(){return this.es.rt().outerHTML}$s(){this.hs=this.d.ft();for(let t=0;t<25;t++)this.hs.Lt(0,t*G,399,t*G).ht({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this.hs.Lt(t*F,0,t*F,249).ht({stroke:"#555","stroke-width":.5})}_s(){this.oi=this.d.St(),this.li=null,this.ni=this.oi.jt()}ns(){this.Ai(),this.ai()}Ai(){const t=this.d.ft();t.ht({"shape-rendering":"crispEdges",id:"background"}),this.gi=[],this.si=t}ai(){const t=[],s=this.d.ft().ht({"text-anchor":"middle",fill:"#fff"}).ht("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.wt(String.fromCharCode(32+95*Math.random())).ht({x:t*F+5,y:i*G+8}));t.push(e)}this.fs=t,this.ci=s}zs(t){this.ni.Ut().filter((s=>s.ut("r")==t)).forEach((t=>t.kt()))}qs(t){this.gi[t]&&this.gi[t].kt(),this.gi[t]=this.si.ft()}ys(t){const s=this.gi[t].vt(),i=s.dt();s.dt(i+F)}Fs(t,s,i){const e=s*F,r=t*G;this.gi[t].xt(F,G).Ht(i).Nt(e,r)}ws(){const t=this.li.dt();this.li.dt(t+F)}Ns(t){this.gi[t].Ut().forEach((t=>t.ht("height",20)))}js(){this.oi.Pt("[data-boxbuffer]").forEach((t=>t.Qt(20)))}Gs(t,s){const i=s*F,e=t*G;this.li=this.oi.xt(F,G).ut("boxbuffer",!0).Nt(i,e)}Ps(t){this.oi.Pt("[data-boxbuffer]").forEach((s=>{s.ut({r:t,boxbuffer:null}),this.ni.Tt(s)}))}Rs(t,s,i){return t==Q.qt&&s||t==Q.Jt?{dx:O.Wt.ts,dy:-.15,textLength:O.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==Q.zt&&s?{dx:O.ss.ts,dy:null,textLength:O.ss.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?F:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Is.ui=s.renderBackground),"renderMosaic"in s&&(this.Is.Ci=s.renderMosaic),"endOfPageUpdate"in s&&(this.Is.Ts=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Is.Js=s.clearCellsForRow),{lookupColour:N,isDoubleHeight:j,isDoubleWidth:P,isDoubleSize:T,isSeparatedMosaic:M,createImageOverlay:this.Ei.bind(this),createSVGOverlay:this.Ii.bind(this)}}Ei(){const t=this.d.Ft(400,250);return t.ht("preserveAspectRatio","none"),t}Ii(){const t=this.d.Ot();return t.ht("preserveAspectRatio","none"),t}}H.Bi=F,H.fi=G,H.di=20,H.Qi=20,H.pi=400,H.bi=250,H.yi=O,H.ROWS=25,H.COLS=40;const N=t=>m(t),j=t=>t==p.Yt,P=t=>t==p.Kt,T=t=>t==p.Zt,M=t=>t==Q.zt,q=t=>0-t*G,z=t=>0-t*F,J={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{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:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",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:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",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:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",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:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",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:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",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:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",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:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{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:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{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:"","{":"","|":"","}":"","~":"","":""},g3:{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:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},V={};class Y{constructor(t){this.type=t.Ds,this.flashing=t.Os,this.concealed=t.Ks,this.size=t.It,this.sextants=t.mi()}}class K{constructor(){this.wi=" ",this.Si=" ",this.xi=d.WHITE,this.vi=d.BLACK,this.Ui=Q.Mt,this.Ri=!1,this.Di=p.Vt,this.ki=!1,this.Li=!1,this.Gi=null,this.Fi=!1,this.Oi=null,this.Hi=null}set Ni(t){this.wi=t}get Ni(){return this.wi}set Us(t){this.xi=t}get Us(){return this.xi}set xs(t){this.vi=t}get xs(){return this.vi}get et(){return this.Fi}ji(s){const i=this.Ui==Q.qt||this.Ui==Q.zt;this.Ui==Q.Mt||0==(32&this.wi.charCodeAt(0))&&i?(this.Si=X(this.wi,s),this.Oi>0&&(this.Si+=J.g2_latin[String.fromCharCode(this.Oi+64)]),this.Fi=!1,"g0_arabic"!=s&&"g2_arabic"!=s||(this.Fi=t.et(this.Si))):this.Ui==Q.qt?this.Si=X(this.wi,"g1_block_mosaic_to_unicode__legacy_computing"):this.Ui==Q.zt?this.Si=X(this.wi,"g1_block_mosaic_to_unicode__unscii_separated"):this.Ui==Q.Jt&&(this.Si=X(this.wi,"g3")),this.Gi=null}Pi(t){if(this.Ui!=Q.qt&&this.Ui!=Q.zt||!t.Ti)this.Gi=null,this.Si=" ";else{this.Gi=t.Ys,this.Ui=t.Ds;let s="g1_block_mosaic_to_unicode__legacy_computing";this.Ui==Q.zt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.Si=X(t.Ys,s)}}get Ys(){return this.Si}get Ds(){return this.Ui}set Ds(t){this.Ui=t}set Os(t){this.Ri=t}get Os(){return this.Ri}get It(){return this.Di}set It(t){this.Di=t}set Ks(t){this.ki=t}get Ks(){return this.ki}set Ls(t){this.Li=t}get Ls(){return this.Li}vs(){const t=null!=this.Gi?this.Gi.charCodeAt(0):this.wi.charCodeAt(0);return t<=127&&32==(32&t)}Mi(){const t=this.wi.charCodeAt(0);return(this.Ui==Q.qt||this.Ui==Q.zt)&&t<=127&&32==(32&t)}mi(){const t=null!=this.Gi?this.Gi.charCodeAt(0):this.wi.charCodeAt(0);if(t>127)return null;if(t in V)return V[t];const s=t>=96?t-64:t-32,i=[];for(let t=0;t<6;t++)i.push(s&1<<t?"1":"0");return V[t]=i,i}}class Z extends K{constructor(t){super(),Object.assign(this,t)}set qi(t){this.Oi=t}get qi(){return this.Oi}set zi(t){this.Hi=t}get Ys(){return null==this.Hi?this.Si:this.Hi}}function X(t,s){if(!(s in J))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in J[s])return J[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in J[e])return J[s][t]=J[e][t],J[e][t]}return t}class W extends H{constructor(t,s,i){super(t,i),this.Ji=s,this.Vi=new Set}ns(){super.ns(),this.Yi=[],this.Ki=this.d.ft()}ds(t){super.ds(t),this.Zi(t)}ks(t,s,i,e,r,n,_){"ui"in this.Is&&this.Is.ui(n,r,s.It,s.xs),s.Ds!=Q.Mt&&s.Ds!=Q.Jt&&_?_&&(t.wt(" ").ht(i),this.Xi(n,r,s,e)):(this.Vs(t,s,i,e,r,n),s.Ds==Q.Jt&&t.ot("mosaic"))}Xi(t,s,i,e){if("Ci"in this.Is){const r=new Y(i);if(this.Is.Ci(t,s,r,e))return}const r=i.mi();if(!r.includes("1"))return;const n=(i.Ds==Q.qt?"c":"s")+r.join("");let _,h=H.Bi,o=H.fi;if(i.Ds==Q.qt&&(h=H.Bi+.3,o=H.fi+.2),!this.Vi.has(n)){this.Vi.add(n);const t=this.es.bt(n);if(i.Ds==Q.qt){t.ht({preserveAspectRatio:"none",width:h,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.xt(6,6).Nt(s%2*6,6*Math.floor(s/2))}else{t.ht({preserveAspectRatio:"none",width:h,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.xt(4,4).Nt(s%2*6+1,6*Math.floor(s/2)+2)}}_=i.Ds==Q.qt?this.Yi[t].Gt(n).Nt(s*H.Bi-.15,t*H.fi-.1).Ht(e):this.Yi[t].Gt(n).Nt(s*H.Bi,t*H.fi).Ht(e),this.Ji&&_.ht({width:h,height:o}),i.It!=p.Yt&&i.It!=p.Zt||_.ht("height",H.Qi),i.It!=p.Kt&&i.It!=p.Zt||_.ht("width",H.di),i.Os&&_.ot("flash"),i.Ks&&_.ot("conceal")}Zi(t){this.Yi[t]&&this.Yi[t].kt(),this.Yi[t]=this.Ki.ft()}Rs(t,s,i){return t==Q.Jt?{dx:H.yi.Wt.ts,dy:-.15,textLength:H.yi.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?H.Bi:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class ${constructor(t){this.os=t,this.Wi=0,this.$i=0,this.te=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Wi=t,this.$i=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g0",Ys:t,qi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.te.push({se:this.Wi,ie:this.$i,Ds:"g1",Ys:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g2",Ys:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g3",Ys:t}),this}putAt(){return this.te.push({se:this.Wi,ie:this.$i,Ds:"char",Ys:"@"}),this}end(){return this.os.ee(this.te),this.os.re(),this}}class tt extends H{}const st=["SPLASH","ENGINEERING","ADVERT","UK"];class it{constructor(t,s){if(this.ne=null,"object"==typeof window&&(this.ne=window),this._e={he:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this._e.he=!1),"dom"in s&&(this.ne=s.dom)),null==this.ne)throw Error("TeletextController E24: No window dom object available");this.oe=new W(t,this._e.he,this.ne),this.os=t,this.le=1,this.Ae=0,this.ae(),this.ge=null,this.ce=null,this.ue=0,this.Ce=0,this.Ee=null}setRowFromOutputLine(s,i){const e=t.st(i);this.os.Ie(s,e)}setRow(t,s){this.os.Ie(t,s)}setPageFromOutputLines(s,i){const e=t.it(s);void 0!==i&&(e[0]=this.Be(i)),this.setPageRows(e)}setPageRows(t){this.os.fe(),this.os.de(t)}Be(s){return(s=t.st(s)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(i[st[this.Ae]]),this.Ae++,4==this.Ae&&(this.Ae=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(s,i){const e=t.tt(s,this.ne.atob);void 0!==i&&(e[0]=this.Be(i)),this.setPageRows(e)}ae(){this.ne.addEventListener("ttx.reveal",(()=>this.oe.Zs())),this.ne.addEventListener("ttx.mix",(()=>this.oe.ti())),this.ne.addEventListener("ttx.subtitlemode",(()=>this.oe._i()))}toggleReveal(){this.oe.Zs()}toggleMixMode(){this.oe.ti()}toggleBoxMode(){this.oe._i()}toggleGrid(){this.oe.Ws()}setLevel(t){this.os.Qe(t)}addTo(t){this.pe=t,this.oe.Ct(t)}setFont(t){this.Ee=t,this.oe.Xs(t)}clearScreen(t){this.os.fe(),this.os.be(t)}setAspectRatio(t){if("natural"==t)return void this.oe.ei(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.oe.ei(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.oe.ri(s),this.ce=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this.os.ye(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this.os.me(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this.os.we(t,s)}remove(){if(this.oe.Bs(),this.pe){const t=document.querySelector(this.pe);t&&t.removeChild(t.firstChild)}this.oe=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.oe=new tt(this.os,this.ne);break;case"classic__graphic-for-mosaic":this.oe=new W(this.os,this._e.he,this.ne);break;default:throw Error("setView E126: bad view name:"+t)}this.ce&&this.oe.ri(this.ce),this.Ee&&this.oe.Xs(this.Ee),this.pe&&this.oe.Ct(this.pe),this.os.re()}registerViewPlugin(t){t.registerWithView(this.oe),this.os.re()}enhance(){return new $(this.os)}writeBytes(t,s,i){this.os.Se(t,s,i)}writeByte(t,s,i,e){this.os.xe(t,s,i,e)}plot(t,s){this.os.ve(t,s)}plotPoints(t,s,i,e){this.os.Ue(t,s,i,e)}getBytes(){return this.os.Re()}getScreenImage(){return this.oe.hi()}updateDisplay(){this.os.re()}}class et{constructor(t){this.De=t,this.ke=[]}As(t){return this.ke.push(t),this.ke.length-1}re(t){this.ke.forEach((s=>null!=s&&s(this.De,t)))}Bs(t){this.ke[t]=null}}class rt{constructor(){this.Le=!1,this.Ge=[]}get Hs(){return this.Le}set Hs(t){this.Le=t}Fe(t){this.Ge.push(t)}Ss(t){if(t>=this.Ge.length)throw Error("RowModel.getCell E20 bad cell index");return this.Ge[t]}}const nt=25,_t=40,ht=[b[1.5],b[2.5]],ot=new class{constructor(){this.Oe=[];for(let t=0;t<nt;t++){const t=[];for(let s=0;s<_t;s++)t.push(new K);this.Oe.push(t)}this.He="g0_latin",this.Ne=null,this.je="g2_latin",this.Pe=y.charFromAttribute(y.START_BOX),this.Te=y.charFromAttribute(y.END_BOX),this.Me=b[1],this.qe=[],this.gs=new et(this)}re(){this.gs.re()}Ie(t,s){if(t>=nt)throw Error("PageModel E29 bad row number");this.ze(t,s),this.gs.re()}de(t){(t=t.slice(0,nt)).forEach(((t,s)=>{this.ze(s,t)})),this.gs.re()}Se(t,s,i){for(let e=s,r=0;e<nt&&r<i.length;e++,r++){const s=[...i[r]].slice(0,_t-t);for(let i=t,r=0;i<_t&&r<s.length;i++,r++)this.Oe[e][i].Ni=s[r]}this.gs.re()}xe(t,s,i,e){t>=0&&t<_t&&s>=0&&s<nt&&(this.Oe[s][t].Ni=i),void 0!==e&&e&&this.gs.re()}ve(t,s,i){const e=Math.floor(s/3),r=Math.floor(t/2),n=this.Oe[e][r].wi.charCodeAt(0);if(n<32)return;if(i?32==n:255==n)return;const _=t-2*r+2*(s-3*e);let h=0;n<64?h=n-32:n>=96&&(h=n-64),i?h&=~(1<<_):h|=1<<_,this.Oe[e][r].wi=String.fromCharCode(h>=32?h+64:h+32)}Ue(t,s,i,e){let r=0,n=0;for(let _=0;_<e.length&&s+r<75;_++)t+n<80&&(255==e[r*i+n]?this.ve(t+n,s+r):this.ve(t+n,s+r,!0)),n++,n==i&&(r++,n=0)}ze(t,s){let i=[...s];if(i=i.slice(0,_t),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.Oe[t][i].Ni=s})),i.length<_t)for(let s=i.length;s<_t;s++)this.Oe[t][s].Ni=" "}Qe(t){this.Me=t,this.gs.re()}be(t){if(void 0===t||t){const t=[];for(let s=0;s<nt;s++)t.push("");this.de(t)}else for(let t=0;t<nt;t++)this.ze(t,"")}ye(t,s){this.He=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in J?this.je=t:"hebrew"==i[1]&&(this.je="g2_arabic")}s&&this.gs.re()}me(t,s){this.Ne=t,s&&this.gs.re()}we(t,s){this.je=t,s&&this.gs.re()}ps(t){if(t>=nt)throw Error("PageModel.getRow E42 bad rowNum");const s=new rt;let i,e,r=Q.Mt,n=d.WHITE,_=!1,h=p.Vt,o=!1,l=!1,A=!1,a=!1,g=d.BLACK,c=Q.qt,u={Ti:!1,Ys:" ",Ds:Q.qt},C=[];return ht.includes(this.Me)&&(C=this.qe.filter((s=>s.ie==t))),this.Oe[t].forEach(((E,I)=>{const B=E.Ni,f=((t,s)=>{let i=null,e=null;return s in R&&k[t].includes(s.charCodeAt(0))?s in S?(i=y.TEXT_COLOUR,e=R[s]):s in v?(i=y.MOSAIC_COLOUR,e=R[s]):i=R[s]:s.charCodeAt(0)<=31&&(i=y.Xt),{Je:i,Ve:e}})(this.Me,B);switch(i=n,E.Ds=r,E.Ls=a,e=o,f.Je!=y.STEADY&&(E.Os=_),f.Je!=y.NORMAL_SIZE&&(E.It=h),f.Je!=y.CONCEAL&&(E.Ks=l),A&&(f.Je!=y.HOLD_MOSAICS&&(u.Ti=!1,u.Ys=" "),A=!1),f.Je){case y.TEXT_COLOUR:r=Q.Mt,n=f.Ve,l=!1,E.Pi(u);break;case y.MOSAIC_COLOUR:r=c,n=f.Ve,l=!1,E.Pi(u);break;case y.NEW_BACKGROUND:g=i,E.Pi(u);break;case y.BLACK_BACKGROUND:g=d.BLACK,E.Pi(u);break;case y.CONTIGUOUS_GRAPHICS:c=Q.qt,E.Ds==Q.zt&&(E.Ds=Q.qt),r==Q.zt&&(r=Q.qt),E.Pi(u);break;case y.SEPARATED_GRAPHICS:c=Q.zt,E.Ds==Q.qt&&(E.Ds=Q.zt),r==Q.qt&&(r=Q.zt),E.Pi(u);break;case y.ESC:this.Ne&&(o=!e),E.Pi(u);break;case y.FLASH:_=!0,E.Pi(u);break;case y.STEADY:E.Os=!1,_=!1,E.Pi(u);break;case y.NORMAL_SIZE:E.It=p.Vt,h=p.Vt,E.Pi(u);break;case y.DOUBLE_HEIGHT:h=p.Yt,s.Hs=!0,E.Pi(u);break;case y.DOUBLE_WIDTH:h=p.Kt,E.Pi(u);break;case y.DOUBLE_SIZE:h=p.Zt,s.Hs=!0,E.Pi(u);break;case y.CONCEAL:E.Ks=!0,l=!0,E.Pi(u);break;case y.HOLD_MOSAICS:u.Ti=!0,E.Pi(u);break;case y.RELEASE_MOSAICS:A=!0,E.Pi(u);break;case y.START_BOX:I>=1&&this.Oe[t][I-1].Ni==this.Pe&&(E.Ls=!0,a=!0),E.Pi(u);break;case y.END_BOX:I+1<_t&&this.Oe[t][I+1].Ni==this.Te&&(a=!1),E.Pi(u);break;case y.Xt:E.Pi(u);break;default:E.ji(e?this.Ne:this.He),E.Mi()&&(u.Ys=B,u.Ds=E.Ds)}E.Us=i,E.xs=g,C.filter((t=>t.se==I)).forEach((t=>{const s=new Z(E);E=s,"g0"==t.Ds?(E.Ni=t.Ys,E.qi=t.qi,E.Ds=Q.Mt,E.ji(e?this.Ne:this.He)):"g1"==t.Ds?this.Me==b[2.5]&&(E.Ni=t.Ys,E.Ds=c,E.ji()):"g2"==t.Ds?(E.Ni=t.Ys,E.Ds=Q.Mt,E.ji(this.je)):"g3"==t.Ds?this.Ye(t.Ys)&&(E.Ni=t.Ys,E.Ds=Q.Jt,E.ji()):"char"==t.Ds&&(E.zi=t.Ys,E.Ds=Q.Mt)})),s.Fe(E)})),s}ee(t){this.qe=t}fe(){this.qe=[]}Re(){const t=new Uint8Array(1e3);return this.Oe.forEach(((s,i)=>{s.forEach(((s,e)=>{t[i*_t+e]=s.Ni.charCodeAt(0)}))})),t}Ye(t){return this.Me!=b[1.5]||-1!="Q[\\]".indexOf(t)}};function lt(t){return new it(ot,t)}export{y as Attributes,d as Colour,b as Level,lt as Teletext};//# sourceMappingURL=teletext.min.js.map
// SPDX-FileCopyrightText: (c) 2023 Tech and Software Ltd.
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-uk.ltd.TechAndSoftware-1.0
// LicenseRef-uk.ltd.TechAndSoftware-1.0 refers to https://tech-and-software.ltd.uk/LICENSES/LicenseRef-uk.ltd.TechAndSoftware-1.0.txt
var t,s;t=this,s=function(t){"use strict";class s{static tt(t,s){const e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-e).join("=")}const n=s(t),r=[];let h=[];for(const t of function*(t){let s=6,e=0;for(const n of t){const t=i(n.charCodeAt(0));for(const i of t)e|=i<<s,s--,s<0&&(yield e,s=6,e=0)}s<6&&(yield e)}(n))h.push(String.fromCharCode(t)),40==h.length&&(r.push(h.join("")),h=[]);return h.length<40&&r.push(h.join("")),r}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(t){const i=[],e=/^OL,(\d{1,2}),(.*)/;for(const n of[...t]){const t=n.match(e);null!=t&&(i[t[1]]=s.st(t[2]))}return i}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}function i(t){let s=[];for(let i=7;i>=0;i--)s.push(t&1<<i?1:0);return s}const e={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmaCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},n="http://www.w3.org/2000/svg";let r,h,_=0;class o{constructor(){}nt(){return this.rt}ht(){this.rt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.rt.removeAttribute(s):this.rt.setAttribute(s,t[s]);else{if(void 0===s)return this.rt.getAttribute(t);null==s?this.rt.removeAttribute(t):this.rt.setAttribute(t,s)}return this}ot(t){if(!this.lt(t)){const s=this.At();s.push(t),this.rt.setAttribute("class",s.join(" "))}return this}lt(t){return-1!==this.At().indexOf(t)}At(){const t=this.rt.getAttribute("class");return null==t?[]:t.split(" ")}gt(t){return this.lt(t)&&this.rt.setAttribute("class",this.At().filter((s=>s!==t)).join(" ")),this}ct(t){return this.lt(t)?this.gt(t):this.ot(t),this}ut(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.rt.dataset[s]:this.rt.dataset[s]=t[s];else{if(void 0===s)return this.rt.dataset[t];null==s?delete this.rt.dataset[t]:this.rt.dataset[t]=s}return this}}class l extends o{constructor(t){return super(),r=t,h=r.document,this.rt=h.createElementNS(n,"svg"),this.rt.setAttribute("xmlns",n),this}Ct(t){const s=h.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.rt),this}Et(t){return this.rt.setAttribute("viewBox",t),this}It(t,s){return this.rt.setAttribute("width",t),this.rt.setAttribute("height",s),this}ft(t){const s=h.createElementNS(n,"style");return s.append(t),this.rt.append(s),this}Bt(){const t=new a;return this.rt.append(t.nt()),t}dt(){return this.rt.clientWidth}Qt(){return this.rt.clientHeight}bt(t){const s=new u(t);return this.rt.append(s.nt()),s}}class a extends o{constructor(){return super(),this.rt=h.createElementNS(n,"g"),this.yt=[],this}Bt(){const t=new a;return this.rt.append(t.nt()),this.yt.push(t),t}wt(t){const s=new C(t);return this.rt.append(s.nt()),this.yt.push(s),s}xt(){const t=new E;return this.rt.append(t.nt()),t}St(t,s){const i=new f(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}vt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}kt(t){return this.rt.setAttribute("clip-path",`url("#${t.nt().id}")`),this}Rt(){return this.rt.removeAttribute("clip-path"),this}Dt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,i,e){const n=new B(t,s,i,e);return this.rt.append(n.nt()),this.yt.push(n),n}Gt(t){const s=new c(t);return this.rt.append(s.nt()),this.yt.push(s),s}Lt(t,s){const i=new g(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}Ht(t,s){const i=new A(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}}class A extends o{constructor(){return super(),this.rt=h.createElementNS(n,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.nt()}}class g extends o{constructor(t,s){return super(),this.rt=h.createElementNS(n,"image"),this.rt.setAttribute("width",parseInt(t)),this.rt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class c extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"use"),this.rt.setAttribute("href","#"+t),this}jt(t){return this.rt.setAttribute("fill",t),this}Nt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}}class u extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"symbol"),this.rt.setAttribute("id",t),this}St(t,s){const i=new f(t,s);return this.rt.append(i.nt()),i}}class C extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"text"),this.rt.append(t),this}wt(t){return this.rt.textContent=t,this}jt(t){return this.rt.setAttribute("fill",t),this}}class E extends o{constructor(){return super(),this.rt=h.createElementNS(n,"defs"),this}Ot(){const t=new I;return this.rt.append(t.nt()),t}Pt(t){return[...this.rt.querySelectorAll(t)].map(d)}St(t,s){const i=new f(t,s);return this.rt.append(i.nt()),i}}class I extends o{constructor(){return super(),this.rt=h.createElementNS(n,"clipPath"),this.rt.setAttribute("id","clipPath-"+_),_++,this}Ut(){return[...this.rt.children].map(d)}qt(t){this.rt.appendChild(t.nt())}}class f extends o{constructor(t,s){if(super(),t instanceof r.SVGElement)return this.rt=t,this;const i=t;return this.rt=h.createElementNS(n,"rect"),this.rt.setAttribute("width",parseInt(i)),this.rt.setAttribute("height",parseInt(s)),this}jt(t){return this.rt.setAttribute("fill",t),this}Nt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}dt(t){return void 0===t?parseInt(this.rt.getAttribute("width")):(this.rt.setAttribute("width",parseInt(t)),this)}Qt(t){return void 0===t?parseInt(this.rt.getAttribute("height")):(this.rt.setAttribute("height",parseInt(t)),this)}Dt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null}}class B extends o{constructor(t,s,i,e){return super(),this.rt=h.createElementNS(n,"line"),this.rt.setAttribute("x1",t),this.rt.setAttribute("y1",s),this.rt.setAttribute("x2",i),this.rt.setAttribute("y2",e),this}}function d(t){let s;if("SVGRectElement"!==t.constructor.name)throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name);return s=new f(t),s}const Q={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(Q);const p={Mt:Symbol(),Tt:Symbol(),zt:Symbol(),Jt:Symbol()};Object.freeze(p);const b={Vt:Symbol(),Yt:Symbol(),Kt:Symbol(),Zt:Symbol()};Object.freeze(b);class y{static charFromTextColour(t){if(t in U)return U[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in k)return k[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in R)return R[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function m(t){return w[t]}y.TEXT_COLOUR=p.Mt,y.MOSAIC_COLOUR=Symbol(),y.NEW_BACKGROUND=Symbol(),y.BLACK_BACKGROUND=Symbol(),y.CONTIGUOUS_GRAPHICS=p.Tt,y.SEPARATED_GRAPHICS=p.zt,y.ESC=Symbol(),y.FLASH=Symbol(),y.STEADY=Symbol(),y.NORMAL_SIZE=b.Vt,y.DOUBLE_HEIGHT=b.Yt,y.DOUBLE_WIDTH=b.Kt,y.DOUBLE_SIZE=b.Zt,y.CONCEAL=Symbol(),y.HOLD_MOSAICS=Symbol(),y.RELEASE_MOSAICS=Symbol(),y.START_BOX=Symbol(),y.END_BOX=Symbol(),y.Xt=Symbol();const w={[Q.BLACK]:"#000",[Q.RED]:"#f00",[Q.GREEN]:"#0f0",[Q.YELLOW]:"#ff0",[Q.BLUE]:"#00f",[Q.MAGENTA]:"#f0f",[Q.CYAN]:"#0ff",[Q.WHITE]:"#fff"};Object.freeze(w);const x={"\0":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(x);const S={"":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(S);const v={"\b":y.FLASH,"\t":y.STEADY,"\n":y.END_BOX,"\v":y.START_BOX,"\f":y.NORMAL_SIZE,"\r":y.DOUBLE_HEIGHT,"":y.DOUBLE_WIDTH,"":y.DOUBLE_SIZE,"":y.CONCEAL,"":y.CONTIGUOUS_GRAPHICS,"":y.SEPARATED_GRAPHICS,"":y.ESC,"":y.BLACK_BACKGROUND,"":y.NEW_BACKGROUND,"":y.HOLD_MOSAICS,"":y.RELEASE_MOSAICS},U={};for(const t in x)U[x[t]]=t,v[t]=x[t];Object.freeze(U);const k={};for(const t in S)k[S[t]]=t,v[t]=S[t];Object.freeze(k),Object.freeze(v);const R={};for(const t in v)R[v[t]]=t;Object.freeze(R);const D={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(D);const F={};F[D[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],F[D[1]]=[...F[D[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),F[D[1.5]]=[...F[D[1]]].concat([0,16]),F[D[2.5]]=[...F[D[1.5]]].concat([14,15]),Object.freeze(F);const G=10,L=10,H={Wt:{$t:10.4,ts:-5.2},ss:{$t:L,ts:-4.5}};Object.freeze(H);class j{constructor(t,s){this.es=new l(s).Et("0 0 400 250").It(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).ft("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.es.Bt()._t("class","conceal_concealed flash_flashing"),this.ns=1.2,this.rs(),this.hs(),this._s=null,this.os=t,this.ls=this.os.gs.As((()=>this.cs())),this.us=!1,this.Cs=!1,this.Es=!1,this.Is={}}Ct(t){this.es.Ct(t)}fs(){this.os.gs.fs(this.ls),this.ls=null}cs(){let t=!1,s=!1;this.Es=!1,this.d.gt("flash_flashing"),this.Bs.forEach(((i,e)=>{let n=!1;if(this.ds(e),t)return t=!1,void this.Qs(i,e);const r=this.os.ps(e);let h,_;i.forEach(((t,i)=>{if(n)return n=!1,this.bs(t),this.ys(e),void(_&&this.ws());const o=r.xs(i),l=m(o.Ss),a=o.vs(),A=m(o.Us),g=this.ks(o.Rs,a,o.et);this.Ds(t,o,g,A,i,e,a),o.Fs&&(_?this.ws():this.Gs(e,i),this.Es=!0),h==l?this.ys(e):this.Ls(e,i,l),o.It!=b.Kt&&o.It!=b.Zt||(n=!0),h=l,_=o.Fs,o.Hs&&(s=!0)})),r.js?(this.Ns(e),this.Os(),t=!0):t=!1,this.Ps(e)})),"qs"in this.Is&&this.Is.qs(this.es.dt(),this.es.Qt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}ds(t){this.Ts(t),this.zs(t)}Qs(t,s){"Js"in this.Is&&this.Is.Js(t.length,s),t.forEach((t=>this.bs(t)))}bs(t){t.wt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Ds(t,s,i,e,n,r,h){this.Vs(t,s,i,e,n,r),s.Rs==p.Tt&&h||s.Rs==p.Jt?t.ot("mosaic"):s.Rs==p.zt&&h&&t.ot("mosaic_separated")}Vs(t,s,i,e,n,r){t.wt(s.Ys)._t(i).jt(e),s.It==b.Yt?t._t("transform",`translate(0 ${T(r)}) scale(1 2)`):s.It==b.Kt?t._t("transform",`translate(${z(n)} 0) scale(2 1)`):s.It==b.Zt&&t._t("transform",`translate(${z(n)} ${T(r)}) scale(2 2)`),s.Hs&&t.ot("flash"),s.Ks&&t.ot("conceal")}Zs(){this.d.ct("conceal_concealed")}Xs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.es._t("style","font-family: "+s)}Ws(){this._s?(this._s.Dt(),this._s=null):this.$s()}ti(){this.Cs?(this.Cs=!1,this.si._t("opacity",null).Rt()):(this.Cs=!0,this.ii())}ei(t){this.ns=t,this.ni(this.es.Qt())}ni(t){this.es.It("natural"==this.ns?1.6*t:t*this.ns,t)}ii(){this.us&&this.Es?this.si._t("opacity",.3):this.Es?this.si.kt(this.ri)._t("opacity",.3):this.si._t("opacity",0)}Ms(){this.Cs&&this.ii()}hi(){this.us?(this.d.Rt(),this.us=!1):(this.d.kt(this.ri),this.us=!0),this.Ms()}$s(){this._s=this.d.Bt();for(let t=0;t<25;t++)this._s.Ft(0,t*G,399,t*G)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this._s.Ft(t*L,0,t*L,249)._t({stroke:"#555","stroke-width":.5})}hs(){this._i=this.d.xt(),this.oi=null,this.ri=this._i.Ot()}rs(){this.li(),this.ai()}li(){const t=this.d.Bt();t._t({"shape-rendering":"crispEdges",id:"background"}),this.Ai=[],this.si=t}ai(){const t=[],s=this.d.Bt()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.wt(String.fromCharCode(32+95*Math.random()))._t({x:t*L+5,y:i*G+8}));t.push(e)}this.Bs=t,this.gi=s}zs(t){this.ri.Ut().filter((s=>s.ut("r")==t)).forEach((t=>t.Dt()))}Ts(t){this.Ai[t]&&this.Ai[t].Dt(),this.Ai[t]=this.si.Bt()}ys(t){const s=this.Ai[t].vt(),i=s.dt();s.dt(i+L)}Ls(t,s,i){const e=s*L,n=t*G;this.Ai[t].St(L,G).jt(i).Nt(e,n)}ws(){const t=this.oi.dt();this.oi.dt(t+L)}Ns(t){this.Ai[t].Ut().forEach((t=>t._t("height",20)))}Os(){this._i.Pt("[data-boxbuffer]").forEach((t=>t.Qt(20)))}Gs(t,s){const i=s*L,e=t*G;this.oi=this._i.St(L,G).ut("boxbuffer",!0).Nt(i,e)}Ps(t){this._i.Pt("[data-boxbuffer]").forEach((s=>{s.ut({r:t,boxbuffer:null}),this.ri.qt(s)}))}ks(t,s,i){return t==p.Tt&&s||t==p.Jt?{dx:H.Wt.ts,dy:-.15,textLength:H.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==p.zt&&s?{dx:H.ss.ts,dy:null,textLength:H.ss.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?L:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Is.ci=s.renderBackground),"renderMosaic"in s&&(this.Is.ui=s.renderMosaic),"endOfPageUpdate"in s&&(this.Is.qs=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Is.Js=s.clearCellsForRow),{lookupColour:N,isDoubleHeight:O,isDoubleWidth:P,isDoubleSize:q,isSeparatedMosaic:M,createImageOverlay:this.Ci.bind(this),createSVGOverlay:this.Ei.bind(this)}}Ci(){const t=this.d.Lt(400,250);return t._t("preserveAspectRatio","none"),t}Ei(){const t=this.d.Ht();return t._t("preserveAspectRatio","none"),t}}j.Ii=L,j.fi=G,j.Bi=20,j.di=20,j.Qi=400,j.pi=250,j.bi=H,j.ROWS=25,j.COLS=40;const N=t=>m(t),O=t=>t==b.Yt,P=t=>t==b.Kt,q=t=>t==b.Zt,M=t=>t==p.zt,T=t=>0-t*G,z=t=>0-t*L,J={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{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:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",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:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",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:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",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:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",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:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",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:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",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:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{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:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{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:"","{":"","|":"","}":"","~":"","":""},g3:{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:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},V={};class Y{constructor(t){this.type=t.Rs,this.flashing=t.Hs,this.concealed=t.Ks,this.size=t.It,this.sextants=t.yi()}}class K{constructor(){this.mi=" ",this.wi=" ",this.xi=Q.WHITE,this.Si=Q.BLACK,this.vi=p.Mt,this.Ui=!1,this.ki=b.Vt,this.Ri=!1,this.Di=!1,this.Fi=null,this.Gi=!1,this.Li=null,this.Hi=null}set ji(t){this.mi=t}get ji(){return this.mi}set Us(t){this.xi=t}get Us(){return this.xi}set Ss(t){this.Si=t}get Ss(){return this.Si}get et(){return this.Gi}Ni(t){const i=this.vi==p.Tt||this.vi==p.zt;this.vi==p.Mt||0==(32&this.mi.charCodeAt(0))&&i?(this.wi=X(this.mi,t),this.Li>0&&(this.wi+=J.g2_latin[String.fromCharCode(this.Li+64)]),this.Gi=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Gi=s.et(this.wi))):this.vi==p.Tt?this.wi=X(this.mi,"g1_block_mosaic_to_unicode__legacy_computing"):this.vi==p.zt?this.wi=X(this.mi,"g1_block_mosaic_to_unicode__unscii_separated"):this.vi==p.Jt&&(this.wi=X(this.mi,"g3")),this.Fi=null}Oi(t){if(this.vi!=p.Tt&&this.vi!=p.zt||!t.Pi)this.Fi=null,this.wi=" ";else{this.Fi=t.Ys,this.vi=t.Rs;let s="g1_block_mosaic_to_unicode__legacy_computing";this.vi==p.zt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.wi=X(t.Ys,s)}}get Ys(){return this.wi}get Rs(){return this.vi}set Rs(t){this.vi=t}set Hs(t){this.Ui=t}get Hs(){return this.Ui}get It(){return this.ki}set It(t){this.ki=t}set Ks(t){this.Ri=t}get Ks(){return this.Ri}set Fs(t){this.Di=t}get Fs(){return this.Di}vs(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.mi.charCodeAt(0);return t<=127&&32==(32&t)}qi(){const t=this.mi.charCodeAt(0);return(this.vi==p.Tt||this.vi==p.zt)&&t<=127&&32==(32&t)}yi(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.mi.charCodeAt(0);if(t>127)return null;if(t in V)return V[t];const s=t>=96?t-64:t-32,i=[];for(let t=0;t<6;t++)i.push(s&1<<t?"1":"0");return V[t]=i,i}}class Z extends K{constructor(t){super(),Object.assign(this,t)}set Mi(t){this.Li=t}get Mi(){return this.Li}set Ti(t){this.Hi=t}get Ys(){return null==this.Hi?this.wi:this.Hi}}function X(t,s){if(!(s in J))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in J[s])return J[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in J[e])return J[s][t]=J[e][t],J[e][t]}return t}class W extends j{constructor(t,s,i){super(t,i),this.zi=s,this.Ji=new Set}rs(){super.rs(),this.Vi=[],this.Yi=this.d.Bt()}ds(t){super.ds(t),this.Ki(t)}Ds(t,s,i,e,n,r,h){"ci"in this.Is&&this.Is.ci(r,n,s.It,s.Ss),s.Rs!=p.Mt&&s.Rs!=p.Jt&&h?h&&(t.wt(" ")._t(i),this.Zi(r,n,s,e)):(this.Vs(t,s,i,e,n,r),s.Rs==p.Jt&&t.ot("mosaic"))}Zi(t,s,i,e){if("ui"in this.Is){const n=new Y(i);if(this.Is.ui(t,s,n,e))return}const n=i.yi();if(!n.includes("1"))return;let r=i.Rs==p.Tt?"c":"s";r+=n.join("");let h,_=j.Ii,o=j.fi;if(i.Rs==p.Tt&&(_=j.Ii+.3,o=j.fi+.2),!this.Ji.has(r)){this.Ji.add(r);const t=this.es.bt(r);if(i.Rs==p.Tt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.St(6,6).Nt(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.St(4,4).Nt(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.Rs==p.Tt?this.Vi[t].Gt(r).Nt(s*j.Ii-.15,t*j.fi-.1).jt(e):this.Vi[t].Gt(r).Nt(s*j.Ii,t*j.fi).jt(e),this.zi&&h._t({width:_,height:o}),i.It!=b.Yt&&i.It!=b.Zt||h._t("height",j.di),i.It!=b.Kt&&i.It!=b.Zt||h._t("width",j.Bi),i.Hs&&h.ot("flash"),i.Ks&&h.ot("conceal")}Ki(t){this.Vi[t]&&this.Vi[t].Dt(),this.Vi[t]=this.Yi.Bt()}ks(t,s,i){return t==p.Jt?{dx:j.bi.Wt.ts,dy:-.15,textLength:j.bi.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?j.Ii:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class ${constructor(t){this.os=t,this.Xi=0,this.Wi=0,this.$i=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Xi=t,this.Wi=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g0",Ys:t,Mi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g1",Ys:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g2",Ys:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.$i.push({te:this.Xi,se:this.Wi,Rs:"g3",Ys:t}),this}putAt(){return this.$i.push({te:this.Xi,se:this.Wi,Rs:"char",Ys:"@"}),this}end(){return this.os.ie(this.$i),this.os.ee(),this}}class tt extends j{}const st=["SPLASH","ENGINEERING","ADVERT","UK"];class it{constructor(t,s){if(this.ne=null,"object"==typeof window&&(this.ne=window),this.re={he:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.re.he=!1),"dom"in s&&(this.ne=s.dom)),null==this.ne)throw Error("TeletextController E24: No window dom object available");this._e=new W(t,this.re.he,this.ne),this.os=t,this.oe=1,this.le=0,this.ae(),this.Ae=null,this.ge=null,this.ce=0,this.ue=0,this.Ce=null}setRowFromOutputLine(t,i){const e=s.st(i);this.os.Ee(t,e)}setRow(t,s){this.os.Ee(t,s)}setPageFromOutputLines(t,i){const e=s.it(t);void 0!==i&&(e[0]=this.Ie(i)),this.setPageRows(e)}setPageRows(t){this.os.fe(),this.os.Be(t)}Ie(t){return(t=s.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(e[st[this.le]]),this.le++,4==this.le&&(this.le=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,i){const e=s.tt(t,this.ne.atob);void 0!==i&&(e[0]=this.Ie(i)),this.setPageRows(e)}ae(){this.ne.addEventListener("ttx.reveal",(()=>this._e.Zs())),this.ne.addEventListener("ttx.mix",(()=>this._e.ti())),this.ne.addEventListener("ttx.subtitlemode",(()=>this._e.hi()))}toggleReveal(){this._e.Zs()}toggleMixMode(){this._e.ti()}toggleBoxMode(){this._e.hi()}toggleGrid(){this._e.Ws()}setLevel(t){this.os.de(t)}addTo(t){this.Qe=t,this._e.Ct(t)}setFont(t){this.Ce=t,this._e.Xs(t)}clearScreen(t){this.os.fe(),this.os.pe(t)}setAspectRatio(t){if("natural"==t)return void this._e.ei(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this._e.ei(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this._e.ni(s),this.ge=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this.os.be(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this.os.ye(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this.os.me(t,s)}remove(){if(this._e.fs(),this.Qe){const t=document.querySelector(this.Qe);t&&t.removeChild(t.firstChild)}this._e=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this._e=new tt(this.os,this.ne);break;case"classic__graphic-for-mosaic":this._e=new W(this.os,this.re.he,this.ne);break;default:throw Error("setView E126: bad view name:"+t)}this.ge&&this._e.ni(this.ge),this.Ce&&this._e.Xs(this.Ce),this.Qe&&this._e.Ct(this.Qe),this.os.ee()}registerViewPlugin(t){t.registerWithView(this._e),this.os.ee()}enhance(){return new $(this.os)}writeBytes(t,s,i){this.os.we(t,s,i)}getBytes(){return this.os.xe()}}class et{constructor(t){this.Se=t,this.ve=[]}As(t){return this.ve.push(t),this.ve.length-1}ee(t){this.ve.forEach((s=>null!=s&&s(this.Se,t)))}fs(t){this.ve[t]=null}}class nt{constructor(){this.Ue=!1,this.ke=[]}get js(){return this.Ue}set js(t){this.Ue=t}Re(t){this.ke.push(t)}xs(t){if(t>=this.ke.length)throw Error("RowModel.getCell E20 bad cell index");return this.ke[t]}}const rt=25,ht=40,_t=[D[1.5],D[2.5]],ot=new class{constructor(){this.De=[];for(let t=0;t<rt;t++){const t=[];for(let s=0;s<ht;s++)t.push(new K);this.De.push(t)}this.Fe="g0_latin",this.Ge=null,this.Le="g2_latin",this.He=y.charFromAttribute(y.START_BOX),this.je=y.charFromAttribute(y.END_BOX),this.Ne=D[1],this.Oe=[],this.gs=new et(this)}ee(){this.gs.ee()}Ee(t,s){if(t>=rt)throw Error("PageModel E29 bad row number");this.Pe(t,s),this.gs.ee()}Be(t){(t=t.slice(0,rt)).forEach(((t,s)=>{this.Pe(s,t)})),this.gs.ee()}we(t,s,i){for(let e=s,n=0;e<rt&&n<i.length;e++,n++){const s=[...i[n]].slice(0,ht-t);for(let i=t,n=0;i<ht;i++,n++)this.De[e][i].ji=s[n]}this.gs.ee()}Pe(t,s){let i=[...s];if(i=i.slice(0,ht),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.De[t][i].ji=s})),i.length<ht)for(let s=i.length;s<ht;s++)this.De[t][s].ji=" "}de(t){this.Ne=t,this.gs.ee()}pe(t){if(void 0===t||t){const t=[];for(let s=0;s<rt;s++)t.push("");this.Be(t)}else for(let t=0;t<rt;t++)this.Pe(t,"")}be(t,s){this.Fe=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in J?this.Le=t:"hebrew"==i[1]&&(this.Le="g2_arabic")}s&&this.gs.ee()}ye(t,s){this.Ge=t,s&&this.gs.ee()}me(t,s){this.Le=t,s&&this.gs.ee()}ps(t){if(t>=rt)throw Error("PageModel.getRow E42 bad rowNum");const s=new nt;let i,e,n=p.Mt,r=Q.WHITE,h=!1,_=b.Vt,o=!1,l=!1,a=!1,A=!1,g=Q.BLACK,c=p.Tt,u={Pi:!1,Ys:" ",Rs:p.Tt},C=[];return _t.includes(this.Ne)&&(C=this.Oe.filter((s=>s.se==t))),this.De[t].forEach(((E,I)=>{const f=E.ji,B=((t,s)=>{let i=null,e=null;return s in v&&F[this.Ne].includes(s.charCodeAt(0))?s in x?(i=y.TEXT_COLOUR,e=v[s]):s in S?(i=y.MOSAIC_COLOUR,e=v[s]):i=v[s]:s.charCodeAt(0)<=31&&(i=y.Xt),{qe:i,Me:e}})(0,f);switch(i=r,E.Rs=n,E.Fs=A,e=o,B.qe!=y.STEADY&&(E.Hs=h),B.qe!=y.NORMAL_SIZE&&(E.It=_),B.qe!=y.CONCEAL&&(E.Ks=l),a&&(B.qe!=y.HOLD_MOSAICS&&(u.Pi=!1,u.Ys=" "),a=!1),B.qe){case y.TEXT_COLOUR:n=p.Mt,r=B.Me,l=!1,E.Oi(u);break;case y.MOSAIC_COLOUR:n=c,r=B.Me,l=!1,E.Oi(u);break;case y.NEW_BACKGROUND:g=i,E.Oi(u);break;case y.BLACK_BACKGROUND:g=Q.BLACK,E.Oi(u);break;case y.CONTIGUOUS_GRAPHICS:c=p.Tt,E.Rs==p.zt&&(E.Rs=p.Tt),n==p.zt&&(n=p.Tt),E.Oi(u);break;case y.SEPARATED_GRAPHICS:c=p.zt,E.Rs==p.Tt&&(E.Rs=p.zt),n==p.Tt&&(n=p.zt),E.Oi(u);break;case y.ESC:this.Ge&&(o=!e),E.Oi(u);break;case y.FLASH:h=!0,E.Oi(u);break;case y.STEADY:E.Hs=!1,h=!1,E.Oi(u);break;case y.NORMAL_SIZE:E.It=b.Vt,_=b.Vt,E.Oi(u);break;case y.DOUBLE_HEIGHT:_=b.Yt,s.js=!0,E.Oi(u);break;case y.DOUBLE_WIDTH:_=b.Kt,E.Oi(u);break;case y.DOUBLE_SIZE:_=b.Zt,s.js=!0,E.Oi(u);break;case y.CONCEAL:E.Ks=!0,l=!0,E.Oi(u);break;case y.HOLD_MOSAICS:u.Pi=!0,E.Oi(u);break;case y.RELEASE_MOSAICS:a=!0,E.Oi(u);break;case y.START_BOX:I>=1&&this.De[t][I-1].ji==this.He&&(E.Fs=!0,A=!0),E.Oi(u);break;case y.END_BOX:I+1<ht&&this.De[t][I+1].ji==this.je&&(A=!1),E.Oi(u);break;case y.Xt:E.Oi(u);break;default:E.Ni(e?this.Ge:this.Fe),E.qi()&&(u.Ys=f,u.Rs=E.Rs)}E.Us=i,E.Ss=g,C.filter((t=>t.te==I)).forEach((t=>{const s=new Z(E);E=s,"g0"==t.Rs?(E.ji=t.Ys,E.Mi=t.Mi,E.Rs=p.Mt,E.Ni(e?this.Ge:this.Fe)):"g1"==t.Rs?this.Ne==D[2.5]&&(E.ji=t.Ys,E.Rs=c,E.Ni()):"g2"==t.Rs?(E.ji=t.Ys,E.Rs=p.Mt,E.Ni(this.Le)):"g3"==t.Rs?(this.Ne!=D[1.5]||-1!="Q[\\]".indexOf(t.Ys))&&(E.ji=t.Ys,E.Rs=p.Jt,E.Ni()):"char"==t.Rs&&(E.Ti=t.Ys,E.Rs=p.Mt)})),s.Re(E)})),s}ie(t){this.Oe=t}fe(){this.Oe=[]}xe(){const t=new Uint8Array(1e3);return this.De.forEach(((s,i)=>{s.forEach(((s,e)=>{t[i*ht+e]=s.ji.charCodeAt(0)}))})),t}};t.Attributes=y,t.Colour=Q,t.Level=D,t.Teletext=t=>new it(ot,t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ttx={});//# sourceMappingURL=teletext.umd.min.js.map
var t,s;t=this,s=function(t){"use strict";class s{static tt(t,s){const e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-e).join("=")}const n=s(t),r=[];let h=[];for(const t of function*(t){let s=6,e=0;for(const n of t){const t=i(n.charCodeAt(0));for(const i of t)e|=i<<s,s--,s<0&&(yield e,s=6,e=0)}s<6&&(yield e)}(n))h.push(String.fromCharCode(t)),40==h.length&&(r.push(h.join("")),h=[]);return h.length<40&&r.push(h.join("")),r}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(t){const i=[],e=/^OL,(\d{1,2}),(.*)/;for(const n of[...t]){const t=n.match(e);null!=t&&(i[t[1]]=s.st(t[2]))}return i}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}function i(t){let s=[];for(let i=7;i>=0;i--)s.push(t&1<<i?1:0);return s}const e={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmaCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},n="http://www.w3.org/2000/svg";let r,h,_=0;class o{constructor(){}nt(){return this.rt}ht(){this.rt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.rt.removeAttribute(s):this.rt.setAttribute(s,t[s]);else{if(void 0===s)return this.rt.getAttribute(t);null==s?this.rt.removeAttribute(t):this.rt.setAttribute(t,s)}return this}ot(t){if(!this.lt(t)){const s=this.At();s.push(t),this.rt.setAttribute("class",s.join(" "))}return this}lt(t){return-1!==this.At().indexOf(t)}At(){const t=this.rt.getAttribute("class");return null==t?[]:t.split(" ")}gt(t){return this.lt(t)&&this.rt.setAttribute("class",this.At().filter((s=>s!==t)).join(" ")),this}ct(t){return this.lt(t)?this.gt(t):this.ot(t),this}ut(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.rt.dataset[s]:this.rt.dataset[s]=t[s];else{if(void 0===s)return this.rt.dataset[t];null==s?delete this.rt.dataset[t]:this.rt.dataset[t]=s}return this}}class l extends o{constructor(t){return super(),r=t,h=r.document,this.rt=h.createElementNS(n,"svg"),this.rt.setAttribute("xmlns",n),this}Ct(t){const s=h.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.rt),this}Et(t){return this.rt.setAttribute("viewBox",t),this}It(t,s){return this.rt.setAttribute("width",t),this.rt.setAttribute("height",s),this}Bt(t){const s=h.createElementNS(n,"style");return s.append(t),this.rt.append(s),this}ft(){const t=new A;return this.rt.append(t.nt()),t}dt(){return this.rt.clientWidth}Qt(){return this.rt.clientHeight}bt(t){const s=new u(t);return this.rt.append(s.nt()),s}}class A extends o{constructor(){return super(),this.rt=h.createElementNS(n,"g"),this.yt=[],this}ft(){const t=new A;return this.rt.append(t.nt()),this.yt.push(t),t}wt(t){const s=new C(t);return this.rt.append(s.nt()),this.yt.push(s),s}St(){const t=new E;return this.rt.append(t.nt()),t}xt(t,s){const i=new B(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}vt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}Rt(t){return this.rt.setAttribute("clip-path",`url("#${t.nt().id}")`),this}Dt(){return this.rt.removeAttribute("clip-path"),this}kt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Lt(t,s,i,e){const n=new f(t,s,i,e);return this.rt.append(n.nt()),this.yt.push(n),n}Gt(t){const s=new c(t);return this.rt.append(s.nt()),this.yt.push(s),s}Ft(t,s){const i=new g(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}Ot(t,s){const i=new a(t,s);return this.rt.append(i.nt()),this.yt.push(i),i}}class a extends o{constructor(){return super(),this.rt=h.createElementNS(n,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.nt()}}class g extends o{constructor(t,s){return super(),this.rt=h.createElementNS(n,"image"),this.rt.setAttribute("width",parseInt(t)),this.rt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class c extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"use"),this.rt.setAttribute("href","#"+t),this}Ht(t){return this.rt.setAttribute("fill",t),this}Nt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}}class u extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"symbol"),this.rt.setAttribute("id",t),this}xt(t,s){const i=new B(t,s);return this.rt.append(i.nt()),i}}class C extends o{constructor(t){return super(),this.rt=h.createElementNS(n,"text"),this.rt.append(t),this}wt(t){return this.rt.textContent=t,this}Ht(t){return this.rt.setAttribute("fill",t),this}}class E extends o{constructor(){return super(),this.rt=h.createElementNS(n,"defs"),this}jt(){const t=new I;return this.rt.append(t.nt()),t}Pt(t){return[...this.rt.querySelectorAll(t)].map(d)}xt(t,s){const i=new B(t,s);return this.rt.append(i.nt()),i}}class I extends o{constructor(){return super(),this.rt=h.createElementNS(n,"clipPath"),this.rt.setAttribute("id","clipPath-"+_),_++,this}Ut(){return[...this.rt.children].map(d)}Tt(t){this.rt.appendChild(t.nt())}}class B extends o{constructor(t,s){if(super(),t instanceof r.SVGElement)return this.rt=t,this;const i=t;return this.rt=h.createElementNS(n,"rect"),this.rt.setAttribute("width",parseInt(i)),this.rt.setAttribute("height",parseInt(s)),this}Ht(t){return this.rt.setAttribute("fill",t),this}Nt(t,s){return this.rt.setAttribute("x",t),this.rt.setAttribute("y",s),this}dt(t){return void 0===t?parseInt(this.rt.getAttribute("width")):(this.rt.setAttribute("width",parseInt(t)),this)}Qt(t){return void 0===t?parseInt(this.rt.getAttribute("height")):(this.rt.setAttribute("height",parseInt(t)),this)}kt(){this.rt.parentNode&&this.rt.parentNode.removeChild(this.rt),this.rt=null}}class f extends o{constructor(t,s,i,e){return super(),this.rt=h.createElementNS(n,"line"),this.rt.setAttribute("x1",t),this.rt.setAttribute("y1",s),this.rt.setAttribute("x2",i),this.rt.setAttribute("y2",e),this}}function d(t){let s;if("SVGRectElement"!==t.constructor.name)throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name);return s=new B(t),s}const Q={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(Q);const p={Mt:Symbol(),qt:Symbol(),zt:Symbol(),Jt:Symbol()};Object.freeze(p);const b={Vt:Symbol(),Yt:Symbol(),Kt:Symbol(),Zt:Symbol()};Object.freeze(b);const y={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(y);class m{static charFromTextColour(t){if(t in v)return v[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in R)return R[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in k)return k[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function w(t){return S[t]}Object.assign(m,{TEXT_COLOUR:p.ALPHA,MOSAIC_COLOUR:Symbol(),NEW_BACKGROUND:Symbol(),BLACK_BACKGROUND:Symbol(),CONTIGUOUS_GRAPHICS:p.qt,SEPARATED_GRAPHICS:p.zt,ESC:Symbol(),FLASH:Symbol(),STEADY:Symbol(),NORMAL_SIZE:b.Vt,DOUBLE_HEIGHT:b.Yt,DOUBLE_WIDTH:b.Kt,DOUBLE_SIZE:b.Zt,CONCEAL:Symbol(),HOLD_MOSAICS:Symbol(),RELEASE_MOSAICS:Symbol(),START_BOX:Symbol(),END_BOX:Symbol(),Xt:Symbol()});const S={[Q.BLACK]:"#000",[Q.RED]:"#f00",[Q.GREEN]:"#0f0",[Q.YELLOW]:"#ff0",[Q.BLUE]:"#00f",[Q.MAGENTA]:"#f0f",[Q.CYAN]:"#0ff",[Q.WHITE]:"#fff"};Object.freeze(S);const x={"\0":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(x);const v=G(x),U={"":Q.BLACK,"":Q.RED,"":Q.GREEN,"":Q.YELLOW,"":Q.BLUE,"":Q.MAGENTA,"":Q.CYAN,"":Q.WHITE};Object.freeze(U);const R=G(U),D={"\b":m.FLASH,"\t":m.STEADY,"\n":m.END_BOX,"\v":m.START_BOX,"\f":m.NORMAL_SIZE,"\r":m.DOUBLE_HEIGHT,"":m.DOUBLE_WIDTH,"":m.DOUBLE_SIZE,"":m.CONCEAL,"":m.CONTIGUOUS_GRAPHICS,"":m.SEPARATED_GRAPHICS,"":m.ESC,"":m.BLACK_BACKGROUND,"":m.NEW_BACKGROUND,"":m.HOLD_MOSAICS,"":m.RELEASE_MOSAICS};Object.assign(D,x),Object.assign(D,U),Object.freeze(D);const k=G(D),L={[y[0]]:[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23]};function G(t){const s={};for(const i in t)s[t[i]]=i;return Object.freeze(s)}L[y[1]]=[...L[y[0]],10,11,12,13,24,25,26,27,28,29,30,31],L[y[1.5]]=[...L[y[1]],0,16],L[y[2.5]]=[...L[y[1.5]],14,15],Object.freeze(L);const F=10,O=10,H={Wt:{$t:10.4,ts:-5.2},ss:{$t:O,ts:-4.5}};Object.freeze(H);class N{constructor(t,s){this.es=new l(s).Et("0 0 400 250").It(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).Bt("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.es.ft()._t("class","conceal_concealed flash_flashing"),this.ns=1.2,this.rs(),this.hs(),this._s=null,this.os=t,this.ls=this.os.gs.As((()=>this.cs())),this.us=!1,this.Cs=!1,this.Es=!1,this.Is={}}Ct(t){this.es.Ct(t)}Bs(){this.os.gs.Bs(this.ls),this.ls=null}cs(){let t=!1,s=!1;this.Es=!1,this.d.gt("flash_flashing"),this.fs.forEach(((i,e)=>{let n=!1;if(this.ds(e),t)return t=!1,void this.Qs(i,e);const r=this.os.ps(e);let h,_;i.forEach(((t,i)=>{if(n)return n=!1,this.bs(t),this.ys(e),void(_&&this.ws());const o=r.Ss(i),l=w(o.xs),A=o.vs(),a=w(o.Us),g=this.Rs(o.Ds,A,o.et);this.ks(t,o,g,a,i,e,A),o.Ls&&(_?this.ws():this.Gs(e,i),this.Es=!0),h==l?this.ys(e):this.Fs(e,i,l),o.It!=b.Kt&&o.It!=b.Zt||(n=!0),h=l,_=o.Ls,o.Os&&(s=!0)})),r.Hs?(this.Ns(e),this.js(),t=!0):t=!1,this.Ps(e)})),"Ts"in this.Is&&this.Is.Ts(this.es.dt(),this.es.Qt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}ds(t){this.qs(t),this.zs(t)}Qs(t,s){"Js"in this.Is&&this.Is.Js(t.length,s),t.forEach((t=>this.bs(t)))}bs(t){t.wt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}ks(t,s,i,e,n,r,h){this.Vs(t,s,i,e,n,r),s.Ds==p.qt&&h||s.Ds==p.Jt?t.ot("mosaic"):s.Ds==p.zt&&h&&t.ot("mosaic_separated")}Vs(t,s,i,e,n,r){t.wt(s.Ys)._t(i).Ht(e),s.It==b.Yt?t._t("transform",`translate(0 ${z(r)}) scale(1 2)`):s.It==b.Kt?t._t("transform",`translate(${J(n)} 0) scale(2 1)`):s.It==b.Zt&&t._t("transform",`translate(${J(n)} ${z(r)}) scale(2 2)`),s.Os&&t.ot("flash"),s.Ks&&t.ot("conceal")}Zs(){this.d.ct("conceal_concealed")}Xs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.es._t("style","font-family: "+s)}Ws(){this._s?(this._s.kt(),this._s=null):this.$s()}ti(){this.Cs?(this.Cs=!1,this.si._t("opacity",null).Dt()):(this.Cs=!0,this.ii())}ei(t){this.ns=t,this.ni(this.es.Qt())}ni(t){this.es.It("natural"==this.ns?1.6*t:t*this.ns,t)}ii(){this.us&&this.Es?this.si._t("opacity",.3):this.Es?this.si.Rt(this.ri)._t("opacity",.3):this.si._t("opacity",0)}Ms(){this.Cs&&this.ii()}hi(){this.us?(this.d.Dt(),this.us=!1):(this.d.Rt(this.ri),this.us=!0),this.Ms()}_i(){return this.es.nt().outerHTML}$s(){this._s=this.d.ft();for(let t=0;t<25;t++)this._s.Lt(0,t*F,399,t*F)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this._s.Lt(t*O,0,t*O,249)._t({stroke:"#555","stroke-width":.5})}hs(){this.oi=this.d.St(),this.li=null,this.ri=this.oi.jt()}rs(){this.Ai(),this.ai()}Ai(){const t=this.d.ft();t._t({"shape-rendering":"crispEdges",id:"background"}),this.gi=[],this.si=t}ai(){const t=[],s=this.d.ft()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.wt(String.fromCharCode(32+95*Math.random()))._t({x:t*O+5,y:i*F+8}));t.push(e)}this.fs=t,this.ci=s}zs(t){this.ri.Ut().filter((s=>s.ut("r")==t)).forEach((t=>t.kt()))}qs(t){this.gi[t]&&this.gi[t].kt(),this.gi[t]=this.si.ft()}ys(t){const s=this.gi[t].vt(),i=s.dt();s.dt(i+O)}Fs(t,s,i){const e=s*O,n=t*F;this.gi[t].xt(O,F).Ht(i).Nt(e,n)}ws(){const t=this.li.dt();this.li.dt(t+O)}Ns(t){this.gi[t].Ut().forEach((t=>t._t("height",20)))}js(){this.oi.Pt("[data-boxbuffer]").forEach((t=>t.Qt(20)))}Gs(t,s){const i=s*O,e=t*F;this.li=this.oi.xt(O,F).ut("boxbuffer",!0).Nt(i,e)}Ps(t){this.oi.Pt("[data-boxbuffer]").forEach((s=>{s.ut({r:t,boxbuffer:null}),this.ri.Tt(s)}))}Rs(t,s,i){return t==p.qt&&s||t==p.Jt?{dx:H.Wt.ts,dy:-.15,textLength:H.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==p.zt&&s?{dx:H.ss.ts,dy:null,textLength:H.ss.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?O:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Is.ui=s.renderBackground),"renderMosaic"in s&&(this.Is.Ci=s.renderMosaic),"endOfPageUpdate"in s&&(this.Is.Ts=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Is.Js=s.clearCellsForRow),{lookupColour:j,isDoubleHeight:P,isDoubleWidth:T,isDoubleSize:M,isSeparatedMosaic:q,createImageOverlay:this.Ei.bind(this),createSVGOverlay:this.Ii.bind(this)}}Ei(){const t=this.d.Ft(400,250);return t._t("preserveAspectRatio","none"),t}Ii(){const t=this.d.Ot();return t._t("preserveAspectRatio","none"),t}}N.Bi=O,N.fi=F,N.di=20,N.Qi=20,N.pi=400,N.bi=250,N.yi=H,N.ROWS=25,N.COLS=40;const j=t=>w(t),P=t=>t==b.Yt,T=t=>t==b.Kt,M=t=>t==b.Zt,q=t=>t==p.zt,z=t=>0-t*F,J=t=>0-t*O,V={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{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:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",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:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",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:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",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:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",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:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",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:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",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:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{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:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{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:"","{":"","|":"","}":"","~":"","":""},g3:{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:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},Y={};class K{constructor(t){this.type=t.Ds,this.flashing=t.Os,this.concealed=t.Ks,this.size=t.It,this.sextants=t.mi()}}class Z{constructor(){this.wi=" ",this.Si=" ",this.xi=Q.WHITE,this.vi=Q.BLACK,this.Ui=p.Mt,this.Ri=!1,this.Di=b.Vt,this.ki=!1,this.Li=!1,this.Gi=null,this.Fi=!1,this.Oi=null,this.Hi=null}set Ni(t){this.wi=t}get Ni(){return this.wi}set Us(t){this.xi=t}get Us(){return this.xi}set xs(t){this.vi=t}get xs(){return this.vi}get et(){return this.Fi}ji(t){const i=this.Ui==p.qt||this.Ui==p.zt;this.Ui==p.Mt||0==(32&this.wi.charCodeAt(0))&&i?(this.Si=W(this.wi,t),this.Oi>0&&(this.Si+=V.g2_latin[String.fromCharCode(this.Oi+64)]),this.Fi=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Fi=s.et(this.Si))):this.Ui==p.qt?this.Si=W(this.wi,"g1_block_mosaic_to_unicode__legacy_computing"):this.Ui==p.zt?this.Si=W(this.wi,"g1_block_mosaic_to_unicode__unscii_separated"):this.Ui==p.Jt&&(this.Si=W(this.wi,"g3")),this.Gi=null}Pi(t){if(this.Ui!=p.qt&&this.Ui!=p.zt||!t.Ti)this.Gi=null,this.Si=" ";else{this.Gi=t.Ys,this.Ui=t.Ds;let s="g1_block_mosaic_to_unicode__legacy_computing";this.Ui==p.zt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.Si=W(t.Ys,s)}}get Ys(){return this.Si}get Ds(){return this.Ui}set Ds(t){this.Ui=t}set Os(t){this.Ri=t}get Os(){return this.Ri}get It(){return this.Di}set It(t){this.Di=t}set Ks(t){this.ki=t}get Ks(){return this.ki}set Ls(t){this.Li=t}get Ls(){return this.Li}vs(){const t=null!=this.Gi?this.Gi.charCodeAt(0):this.wi.charCodeAt(0);return t<=127&&32==(32&t)}Mi(){const t=this.wi.charCodeAt(0);return(this.Ui==p.qt||this.Ui==p.zt)&&t<=127&&32==(32&t)}mi(){const t=null!=this.Gi?this.Gi.charCodeAt(0):this.wi.charCodeAt(0);if(t>127)return null;if(t in Y)return Y[t];const s=t>=96?t-64:t-32,i=[];for(let t=0;t<6;t++)i.push(s&1<<t?"1":"0");return Y[t]=i,i}}class X extends Z{constructor(t){super(),Object.assign(this,t)}set qi(t){this.Oi=t}get qi(){return this.Oi}set zi(t){this.Hi=t}get Ys(){return null==this.Hi?this.Si:this.Hi}}function W(t,s){if(!(s in V))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in V[s])return V[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in V[e])return V[s][t]=V[e][t],V[e][t]}return t}class $ extends N{constructor(t,s,i){super(t,i),this.Ji=s,this.Vi=new Set}rs(){super.rs(),this.Yi=[],this.Ki=this.d.ft()}ds(t){super.ds(t),this.Zi(t)}ks(t,s,i,e,n,r,h){"ui"in this.Is&&this.Is.ui(r,n,s.It,s.xs),s.Ds!=p.Mt&&s.Ds!=p.Jt&&h?h&&(t.wt(" ")._t(i),this.Xi(r,n,s,e)):(this.Vs(t,s,i,e,n,r),s.Ds==p.Jt&&t.ot("mosaic"))}Xi(t,s,i,e){if("Ci"in this.Is){const n=new K(i);if(this.Is.Ci(t,s,n,e))return}const n=i.mi();if(!n.includes("1"))return;const r=(i.Ds==p.qt?"c":"s")+n.join("");let h,_=N.Bi,o=N.fi;if(i.Ds==p.qt&&(_=N.Bi+.3,o=N.fi+.2),!this.Vi.has(r)){this.Vi.add(r);const t=this.es.bt(r);if(i.Ds==p.qt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.xt(6,6).Nt(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==n[s]&&t.xt(4,4).Nt(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.Ds==p.qt?this.Yi[t].Gt(r).Nt(s*N.Bi-.15,t*N.fi-.1).Ht(e):this.Yi[t].Gt(r).Nt(s*N.Bi,t*N.fi).Ht(e),this.Ji&&h._t({width:_,height:o}),i.It!=b.Yt&&i.It!=b.Zt||h._t("height",N.Qi),i.It!=b.Kt&&i.It!=b.Zt||h._t("width",N.di),i.Os&&h.ot("flash"),i.Ks&&h.ot("conceal")}Zi(t){this.Yi[t]&&this.Yi[t].kt(),this.Yi[t]=this.Ki.ft()}Rs(t,s,i){return t==p.Jt?{dx:N.yi.Wt.ts,dy:-.15,textLength:N.yi.Wt.$t,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?N.Bi:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class tt{constructor(t){this.os=t,this.Wi=0,this.$i=0,this.te=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Wi=t,this.$i=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g0",Ys:t,qi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.te.push({se:this.Wi,ie:this.$i,Ds:"g1",Ys:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g2",Ys:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.te.push({se:this.Wi,ie:this.$i,Ds:"g3",Ys:t}),this}putAt(){return this.te.push({se:this.Wi,ie:this.$i,Ds:"char",Ys:"@"}),this}end(){return this.os.ee(this.te),this.os.ne(),this}}class st extends N{}const it=["SPLASH","ENGINEERING","ADVERT","UK"];class et{constructor(t,s){if(this.re=null,"object"==typeof window&&(this.re=window),this.he={_e:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.he._e=!1),"dom"in s&&(this.re=s.dom)),null==this.re)throw Error("TeletextController E24: No window dom object available");this.oe=new $(t,this.he._e,this.re),this.os=t,this.le=1,this.Ae=0,this.ae(),this.ge=null,this.ce=null,this.ue=0,this.Ce=0,this.Ee=null}setRowFromOutputLine(t,i){const e=s.st(i);this.os.Ie(t,e)}setRow(t,s){this.os.Ie(t,s)}setPageFromOutputLines(t,i){const e=s.it(t);void 0!==i&&(e[0]=this.Be(i)),this.setPageRows(e)}setPageRows(t){this.os.fe(),this.os.de(t)}Be(t){return(t=s.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(e[it[this.Ae]]),this.Ae++,4==this.Ae&&(this.Ae=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,i){const e=s.tt(t,this.re.atob);void 0!==i&&(e[0]=this.Be(i)),this.setPageRows(e)}ae(){this.re.addEventListener("ttx.reveal",(()=>this.oe.Zs())),this.re.addEventListener("ttx.mix",(()=>this.oe.ti())),this.re.addEventListener("ttx.subtitlemode",(()=>this.oe.hi()))}toggleReveal(){this.oe.Zs()}toggleMixMode(){this.oe.ti()}toggleBoxMode(){this.oe.hi()}toggleGrid(){this.oe.Ws()}setLevel(t){this.os.Qe(t)}addTo(t){this.pe=t,this.oe.Ct(t)}setFont(t){this.Ee=t,this.oe.Xs(t)}clearScreen(t){this.os.fe(),this.os.be(t)}setAspectRatio(t){if("natural"==t)return void this.oe.ei(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.oe.ei(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.oe.ni(s),this.ce=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this.os.ye(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this.os.me(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this.os.we(t,s)}remove(){if(this.oe.Bs(),this.pe){const t=document.querySelector(this.pe);t&&t.removeChild(t.firstChild)}this.oe=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.oe=new st(this.os,this.re);break;case"classic__graphic-for-mosaic":this.oe=new $(this.os,this.he._e,this.re);break;default:throw Error("setView E126: bad view name:"+t)}this.ce&&this.oe.ni(this.ce),this.Ee&&this.oe.Xs(this.Ee),this.pe&&this.oe.Ct(this.pe),this.os.ne()}registerViewPlugin(t){t.registerWithView(this.oe),this.os.ne()}enhance(){return new tt(this.os)}writeBytes(t,s,i){this.os.Se(t,s,i)}writeByte(t,s,i,e){this.os.xe(t,s,i,e)}plot(t,s){this.os.ve(t,s)}plotPoints(t,s,i,e){this.os.Ue(t,s,i,e)}getBytes(){return this.os.Re()}getScreenImage(){return this.oe._i()}updateDisplay(){this.os.ne()}}class nt{constructor(t){this.De=t,this.ke=[]}As(t){return this.ke.push(t),this.ke.length-1}ne(t){this.ke.forEach((s=>null!=s&&s(this.De,t)))}Bs(t){this.ke[t]=null}}class rt{constructor(){this.Le=!1,this.Ge=[]}get Hs(){return this.Le}set Hs(t){this.Le=t}Fe(t){this.Ge.push(t)}Ss(t){if(t>=this.Ge.length)throw Error("RowModel.getCell E20 bad cell index");return this.Ge[t]}}const ht=25,_t=40,ot=[y[1.5],y[2.5]],lt=new class{constructor(){this.Oe=[];for(let t=0;t<ht;t++){const t=[];for(let s=0;s<_t;s++)t.push(new Z);this.Oe.push(t)}this.He="g0_latin",this.Ne=null,this.je="g2_latin",this.Pe=m.charFromAttribute(m.START_BOX),this.Te=m.charFromAttribute(m.END_BOX),this.Me=y[1],this.qe=[],this.gs=new nt(this)}ne(){this.gs.ne()}Ie(t,s){if(t>=ht)throw Error("PageModel E29 bad row number");this.ze(t,s),this.gs.ne()}de(t){(t=t.slice(0,ht)).forEach(((t,s)=>{this.ze(s,t)})),this.gs.ne()}Se(t,s,i){for(let e=s,n=0;e<ht&&n<i.length;e++,n++){const s=[...i[n]].slice(0,_t-t);for(let i=t,n=0;i<_t&&n<s.length;i++,n++)this.Oe[e][i].Ni=s[n]}this.gs.ne()}xe(t,s,i,e){t>=0&&t<_t&&s>=0&&s<ht&&(this.Oe[s][t].Ni=i),void 0!==e&&e&&this.gs.ne()}ve(t,s,i){const e=Math.floor(s/3),n=Math.floor(t/2),r=this.Oe[e][n].wi.charCodeAt(0);if(r<32)return;if(i?32==r:255==r)return;const h=t-2*n+2*(s-3*e);let _=0;r<64?_=r-32:r>=96&&(_=r-64),i?_&=~(1<<h):_|=1<<h,this.Oe[e][n].wi=String.fromCharCode(_>=32?_+64:_+32)}Ue(t,s,i,e){let n=0,r=0;for(let h=0;h<e.length&&s+n<75;h++)t+r<80&&(255==e[n*i+r]?this.ve(t+r,s+n):this.ve(t+r,s+n,!0)),r++,r==i&&(n++,r=0)}ze(t,s){let i=[...s];if(i=i.slice(0,_t),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.Oe[t][i].Ni=s})),i.length<_t)for(let s=i.length;s<_t;s++)this.Oe[t][s].Ni=" "}Qe(t){this.Me=t,this.gs.ne()}be(t){if(void 0===t||t){const t=[];for(let s=0;s<ht;s++)t.push("");this.de(t)}else for(let t=0;t<ht;t++)this.ze(t,"")}ye(t,s){this.He=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in V?this.je=t:"hebrew"==i[1]&&(this.je="g2_arabic")}s&&this.gs.ne()}me(t,s){this.Ne=t,s&&this.gs.ne()}we(t,s){this.je=t,s&&this.gs.ne()}ps(t){if(t>=ht)throw Error("PageModel.getRow E42 bad rowNum");const s=new rt;let i,e,n=p.Mt,r=Q.WHITE,h=!1,_=b.Vt,o=!1,l=!1,A=!1,a=!1,g=Q.BLACK,c=p.qt,u={Ti:!1,Ys:" ",Ds:p.qt},C=[];return ot.includes(this.Me)&&(C=this.qe.filter((s=>s.ie==t))),this.Oe[t].forEach(((E,I)=>{const B=E.Ni,f=((t,s)=>{let i=null,e=null;return s in D&&L[this.Me].includes(s.charCodeAt(0))?s in x?(i=m.TEXT_COLOUR,e=D[s]):s in U?(i=m.MOSAIC_COLOUR,e=D[s]):i=D[s]:s.charCodeAt(0)<=31&&(i=m.Xt),{Je:i,Ve:e}})(0,B);switch(i=r,E.Ds=n,E.Ls=a,e=o,f.Je!=m.STEADY&&(E.Os=h),f.Je!=m.NORMAL_SIZE&&(E.It=_),f.Je!=m.CONCEAL&&(E.Ks=l),A&&(f.Je!=m.HOLD_MOSAICS&&(u.Ti=!1,u.Ys=" "),A=!1),f.Je){case m.TEXT_COLOUR:n=p.Mt,r=f.Ve,l=!1,E.Pi(u);break;case m.MOSAIC_COLOUR:n=c,r=f.Ve,l=!1,E.Pi(u);break;case m.NEW_BACKGROUND:g=i,E.Pi(u);break;case m.BLACK_BACKGROUND:g=Q.BLACK,E.Pi(u);break;case m.CONTIGUOUS_GRAPHICS:c=p.qt,E.Ds==p.zt&&(E.Ds=p.qt),n==p.zt&&(n=p.qt),E.Pi(u);break;case m.SEPARATED_GRAPHICS:c=p.zt,E.Ds==p.qt&&(E.Ds=p.zt),n==p.qt&&(n=p.zt),E.Pi(u);break;case m.ESC:this.Ne&&(o=!e),E.Pi(u);break;case m.FLASH:h=!0,E.Pi(u);break;case m.STEADY:E.Os=!1,h=!1,E.Pi(u);break;case m.NORMAL_SIZE:E.It=b.Vt,_=b.Vt,E.Pi(u);break;case m.DOUBLE_HEIGHT:_=b.Yt,s.Hs=!0,E.Pi(u);break;case m.DOUBLE_WIDTH:_=b.Kt,E.Pi(u);break;case m.DOUBLE_SIZE:_=b.Zt,s.Hs=!0,E.Pi(u);break;case m.CONCEAL:E.Ks=!0,l=!0,E.Pi(u);break;case m.HOLD_MOSAICS:u.Ti=!0,E.Pi(u);break;case m.RELEASE_MOSAICS:A=!0,E.Pi(u);break;case m.START_BOX:I>=1&&this.Oe[t][I-1].Ni==this.Pe&&(E.Ls=!0,a=!0),E.Pi(u);break;case m.END_BOX:I+1<_t&&this.Oe[t][I+1].Ni==this.Te&&(a=!1),E.Pi(u);break;case m.Xt:E.Pi(u);break;default:E.ji(e?this.Ne:this.He),E.Mi()&&(u.Ys=B,u.Ds=E.Ds)}E.Us=i,E.xs=g,C.filter((t=>t.se==I)).forEach((t=>{const s=new X(E);E=s,"g0"==t.Ds?(E.Ni=t.Ys,E.qi=t.qi,E.Ds=p.Mt,E.ji(e?this.Ne:this.He)):"g1"==t.Ds?this.Me==y[2.5]&&(E.Ni=t.Ys,E.Ds=c,E.ji()):"g2"==t.Ds?(E.Ni=t.Ys,E.Ds=p.Mt,E.ji(this.je)):"g3"==t.Ds?this.Ye(t.Ys)&&(E.Ni=t.Ys,E.Ds=p.Jt,E.ji()):"char"==t.Ds&&(E.zi=t.Ys,E.Ds=p.Mt)})),s.Fe(E)})),s}ee(t){this.qe=t}fe(){this.qe=[]}Re(){const t=new Uint8Array(1e3);return this.Oe.forEach(((s,i)=>{s.forEach(((s,e)=>{t[i*_t+e]=s.Ni.charCodeAt(0)}))})),t}Ye(t){return this.Me!=y[1.5]||-1!="Q[\\]".indexOf(t)}};t.Attributes=m,t.Colour=Q,t.Level=y,t.Teletext=t=>new et(lt,t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ttx={});//# sourceMappingURL=teletext.umd.min.js.map
{
"name": "@techandsoftware/teletext",
"version": "0.13.4",
"version": "0.14.0",
"description": "API to render teletext pages using vector graphics in the browser DOM",

@@ -5,0 +5,0 @@ "browser": "dist/teletext.umd.min.js",

@@ -22,3 +22,3 @@ <!--

* Screen size of 40 x 25 characters
* 6 colour foreground text or mosaic characters (also called semigraphics or sextets)
* 6 colour foreground text or mosaic characters (also called [semigraphics](https://en.wikipedia.org/wiki/Semigraphics) or [sextants](https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing))
* 7 colour background

@@ -31,3 +31,3 @@ * Text displayed using the G0 character sets

* Held mosaic characters, to replace the display of a spacing attributes with the last held graphic
* Newsflash page display mode
* Newsflash / subtitles page display mode
* Mix display mode, which isn't part of the teletext spec but is normal on TVs

@@ -175,10 +175,10 @@ * Level 1.5

- At level 1.5, diacritics can be placed atop G0 characters as enhancements, from 15 available diacritical marks
- Use: `loadPageFromEncodedString()`, `setRows()`, `setRow()`, `setPageFromOutputLines()`, `setRowFromOutputLine()` to write G0 characters to the base page, with attribute characters to switch between G0 and G1. `enhance().putG0()` writes enhancements with or without diacritics. `setDefaultG0Charset()` and `setSecondG0Charset()` select the G0 sets in use. `Attributes.ESC` switches between the primary and secondary sets, if `setSecondG0Charset()` was called.
- Use: `loadPageFromEncodedString()`, `setPageRows()`, `setRow()`, `setPageFromOutputLines()`, `setRowFromOutputLine()` to write G0 characters to the base page, with attribute characters to switch between G0 and G1. `enhance().putG0()` writes enhancements with or without diacritics. `setDefaultG0Charset()` and `setSecondG0Charset()` select the G0 sets in use. `Attributes.ESC` switches between the primary and secondary sets, if `setSecondG0Charset()` was called.
## G1 "Block Mosaic set"
- Used on base page for block mosaic graphics. (Unicode refers to these as sextets; Wikipedia as semigraphics)
- Used on base page for block mosaic graphics. (Unicode refers to these as sextants; Wikipedia as semigraphics)
- Mosaic characters are at codes 0x20 to 0x3f and 0x60 to 0x7f. Characters 0x40 to 0x5f in G1 instead show the corresponding characters in the G0 set that's currently selected
- At level 2.5, can be placed using enhancements
- Use: `loadPageFromEncodedString()`, `setRows()`, `setRow()`, `setPageFromOutputLines()`, `setRowFromOutputLine()` write G1 characters to the base page, with attribute characters to switch between G0 and G1. `enhance().putG1()` writes enhancements.
- Use: `loadPageFromEncodedString()`, `setPageRows()`, `setRow()`, `setPageFromOutputLines()`, `setRowFromOutputLine()` write G1 characters to the base page, with attribute characters to switch between G0 and G1. `enhance().putG1()` writes enhancements.

@@ -211,5 +211,7 @@ ## G2 "Supplementary Sets"

The `options` parameter object is optional, with properties:
* `webkitCompat`: boolean (optional)
* `true` (default) - the generated SVG is compatible with Safari/Webkit browsers (all browsers on iOS), but it's bigger
* `false` - uses SVG2 features which work in most browsers but not Safari or any browser on iOS, as they fail to render the graphics properly unless you use `setView` to switch the view to `classic__font-for-mosaic` (documented below)
* `false` - uses SVG2 features which work in most browsers but not Safari or any browser on iOS, as they fail to render the graphics properly ([see this bug](https://bugs.webkit.org/show_bug.cgi?id=182172)), unless you use `setView` to switch the view to `classic__font-for-mosaic` (documented below)
* `dom`: object (optional)

@@ -220,2 +222,3 @@ * if running in nodejs you need to pass in a window dom object. See the example above

## addTo(selector)

@@ -310,2 +313,30 @@

## writeBytes(colNum, rowNum, [lines])
Writes each line in the array to the screen starting from `colNum`, `rowNum`. This allows you to place a block of text on the screen without affecting existing characters. `colNum` is from 0 to 39, `rowNum` from 0 to 24.
## writeByte(colNum, rowNum, byte, withUpdate)
Writes the byte to the `colNum`, `rowNum`. `colNum` is from 0 to 39, `rowNum` from 0 to 24. The `byte` should have a character code of 0x0 to 0x127. The byte won't display literally, as the display uses the active G0 character set and spacing attributes to work out what to show.
`withUpdate` is an optional boolean, default is `false`. When true, the page display is updated.
## plot(graphcolNun, graphicRowNum)
Plots a pixel. The coordinates are from (0, 0) to (79, 74). The origin is the top-left. Note this uses a different coordinate scheme than methods like `writeBytes()`, which refer to the character cell rows and columns. For performance, there is no range checking, so the display will crash if you try to set outside of the range. The page display is not updated. You can force an update with `updateDisplay()`.
This generates a 2x3 mosaic (sextant) charater corresponding to the character cell in the page model that you're plotting to. Existing mosaics in the cell are modified to plot the pixel. If characters with codes 0x0 to 0x1f are in the target cell, these are unchanged so that spacing atributes are preserved, and the plot has no effect. If characters with codes 0x40 to 0x5f are at the character position you're plotting to, this is cleared first.
To use this, you will first need to set graphics mode for the text row by writing a graphic spacing attribute, for example by using `writeByte()` and `Attributes.charfromGraphicColour(colour)`.
## plotPoints(graphicColNum, graphicRowNum, numPixelsPerRow, pixelsArray)
Plots multiple pixels, with the top left origin of (`graphicColNum`, `graphicRowNum`) and `numPixelsPerRow`. This internally calls `plot()`. The top-left coordinates are (0, 0) to (79, 74). As with `plot()`, existing spacing attributes are not overridden, and the display is not updated. You can force an update ewith `updateDisplay()`. Unlike `plot()`, `plotPoints()` does range checking to ensure the plotted pixels fit on the display.
`numPixelsPerRow` is the number of pixels for each row in the `pixelsArray`.
`pixelsArray` is an array of bytes. Each byte represents a pixel. If its value is 255 then a point is plotted. If it's not 255, the point is unplotted. (This is intended to be easy to generate from some other bitmap pixel source).
To use this, you will first need to set graphics mode for each text row by writing a graphic spacing attribute, for example by using `writeByte()` and `Attributes.charfromGraphicColour(colour)`.
## clearScreen(withUpdate)

@@ -321,3 +352,3 @@

3 test pages are built-in. This displays a test page, rotating between the 3 every time this is called. The test pages were kindly supplied by https://archive.teletextarchaeologist.org/
4 test pages are built-in. This displays a test page, rotating through these every time this is called. The test pages were kindly supplied by https://archive.teletextarchaeologist.org/

@@ -340,3 +371,3 @@ ## toggleGrid()

Sets the screen height to the number of pixels you passed in. The aspect ratio is maintained. You could set the screen to fill the available window height using `document.documentElement.clientHeight` as the value.
Sets the screen height to the number of pixels you passed in. The aspect ratio is maintained. You could set the screen to fill the available window height using `document.documentElement.clientHeight` as the value. If you use CSS for layout you probably don't need to use this.

@@ -369,2 +400,6 @@ ## setFont(font)

## updateDisplay()
Force an update of the display. This is useful in certain cases where the page model has been updated and the display is not automatically updated, for example with `plot()`.
## enhance()

@@ -380,3 +415,3 @@

Updates the *position* to the `col` and `row`. The *position* is only updated when this function is called. The initial position is 0, 0.
Updates the *position* to the `col` and `row`. The *position* is only updated when this function is called. The initial position is 0, 0, which is the top left.

@@ -469,2 +504,6 @@ ### putG0(char, diacriticCode)

## getScreenImage()
Gets a static image of the screen. This returns SVG markup.
## Event API

@@ -532,3 +571,3 @@

| Attributes.START_BOX | starts boxed characters (used for subtitles, newsflash). Two adjacent start box characters need to be used, with the box starting between the two. For use with `toggleBoxMode()` |
| Attributes.END_BOX | ends boxed characters |
| Attributes.END_BOX | ends boxed characters. Two adjacent end box characters need to be used, with the box ending between the two. |
| Attributes.ESC | switch between the default G0 character set and the second G0 character set. This requires the second G0 character set to have been set with `setSecondG0Charset`. If this hasn't been set, the attribute has no effect |

@@ -535,0 +574,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc